内容包括以太网、互联网、IP地址、子网掩码、网关、MAC地址的介绍等。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易!
目录:
一、简述
二、以太网与互联网
1、互连网、以太网、局域网、因特网
1)互联网   2)TCP/IP   3)以太网(Ethernet)
2、以太网物理层编码技术
、IP地址(IP子网划分
、子网掩码
、网关
六、MAC地址
1、MAC地址详述
2、如何修改MAC地址
------------------------------------------------------------------------------------------------------------------------
一、简述
最近公司的智能配电终端(以下简称终端)要加以太网功能,故将一些基础知识作一个收录。首先,很核心的一点,设置IP地址、子网掩码、默认网关、DNS服务器、MAC地址的目的是什么?设置这些就是为了使能能够实现通讯,不管是计算机和计算机,还是设备和计算机。
------------------------------------------------------------------------------------------------------------------------
二、以太网与互联网
1、互连网、以太网、局域网、因特网
要形成互联就要用到网络,下面讲一下以太网与互联网的区别。
先讲一下计算机网络(network),就是将一台以上的计算机互连起来,互连的计算机之间可以实现通信,实现信息共享,这就是网络。
------------------------------
1)互联网
英文是internet(inter- pref.表示“在一起,交互”之义;),它的意思是“网络的网络”,是一个通用名词,泛指有多个计算机网络互连而成的网络,这些网络之间的通信协议(即通信规则)是可以任意的。
因特网即 Internet,记住它与 internet 之间绝对不能使用等于号,因为 Internet 是一个专有名词,它是指当前全球最大的、开放的、有众多网络互相连接而成的特定的计算机网络,它采用TCP/IP 协议族作为通信的规则,其前身是美国的 ARPNET。
------------------------------
2)TCP/IP
英文Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议。它是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
TCP/IP协议的组成:
TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。 TCP/IP协议是Internet最基本的协议。
(1)应用层的主要协议有FTP、SMTP、HTTP、Telnet等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;直接为应用进程提供服务。
对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,文件传输FTP协议、邮件传输SMTP协议、万维网(World Wide Web)HTTP协议、远程登录服务Telnet协议。
应用层还能加密、解密、格式化数据。
应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。

(2)传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;
(3)网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等,进行网络连接的建立和终止以及IP地址的寻找等;
(4)网络访问层,也叫网路接口层或数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。

通信过程及相关协议:
在网络通信的过程中,将发出数据的主机称为源主机,接收数据的主机称为目的主机。当源主机发出数据时,数据在源主机中从上层向下层传送。源主机中的应用进程先将数据交给应用层,应用层加上必要的控制信息就成了报文流,向下传给传输层。传输层将收到的数据单元加上本层的控制信息,形成报文段、数据报,再交给网际层。网际层加上本层的控制信息,形成IP数据报,传给网络接口层。网络接口层将网际层交下来的IP数据报组装成帧,并以比特流的形式传给网络硬件(即物理层),数据就离开源主机。
(1)链路层
以太网协议规定,接入网络的设备都必须安装网络适配器,即网卡,数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址,有了MAC地址以后,以太网采用广播形式,把数据包发给该子网内所有主机,子网内每台主机在接收到这个包以后,都会读取首部里的目标MAC地址,然后和自己的MAC地址进行对比,如果相同就做下一步处理,如果不同,就丢弃这个包。
链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。
----------------
(2)网络层
IP协议
网络层引入了IP协议,制定了一套新地址,使得我们能够区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的IP地址。IP协议将这个32位的地址分为两部分,前面部分代表网络地址,后面部分表示该主机在局域网中的地址。如果两个IP地址在同一个子网内,则网络地址一定相同。为了判断IP地址中的网络地址,IP协议还引入了子网掩码,IP地址和子网掩码通过按位与运算后就可以得到网络地址。
ARP协议
即地址解析协议,是根据IP地址获取MAC地址的一个网络层协议。其工作原理如下:ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,最终由以太网广播给子网内的所有主机,每一台主机都会接收到这个数据包,并取出标头里的IP地址,然后和自己的IP地址进行比较,如果相同就返回自己的MAC地址,如果不同就丢弃该数据包。ARP接收返回消息,以此确定目标机的MAC地址;与此同时,ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
路由协议
首先通过IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包;如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行路由。网关是互联网上子网与子网之间的桥梁,所以网关会进行多次转发,最终将该数据包转发到目标IP所在的子网中,然后再通过ARP获取目标机MAC,最终也是通过广播形式将数据包发送给接收方。而完成这个路由协议的物理设备就是路由器,路由器扮演着交通枢纽的角色,它会根据信道情况,选择并设定路由,以最佳路径来转发数据包。
网络层的主要工作是定义网络地址、区分网段、子网内MAC寻址、对于不同子网的数据包进行路由。
----------------
(3)传输层
链路层定义了主机的身份,即MAC地址;而网络层定义了IP地址,明确了主机所在的网段,有了这两个地址,数据包就从可以从一个主机发送到另一台主机。但实际上数据包是从一个主机的某个应用程序发出,然后由对方主机的应用程序接收。而每台电脑都有可能同时运行着很多个应用程序,所以当数据包被发送到主机上以后,是无法确定哪个应用程序要接收这个包。因此传输层引入了UDP协议来解决这个问题,为了给每个应用程序标识身份。
UDP协议
UDP协议定义了端口,同一个主机上的每个应用程序都需要指定唯一的端口号,并且规定网络中传输的数据包必须加上端口信息,当数据包到达主机以后,就可以根据端口号找到对应的应用程序了。UDP协议比较简单,实现容易,但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性较差,为了解决这个问题,提高网络可靠性,TCP协议就诞生了。
TCP协议
TCP即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。为了保证传输的可靠性,TCP协议在UDP基础之上建立了三次对话的确认机制(WireShark抓包使用方法),即在正式收发数据前,必须和对方建立可靠的连接。TCP数据包和UDP一样,都是由首部和数据两部分组成,唯一不同的是,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。
----------------
(4)应用层
理论上讲,有了以上三层协议的支持,数据已经可以从一个主机上的应用程序传输到另一台主机的应用程序了,但此时传过来的数据是字节流,不能很好的被程序识别,操作性差,因此,应用层定义了各种各样的协议来规范数据格式,常见的有HTTP,FTP,SMTP等,在请求Header中,分别定义了请求数据格式Accept和响应数据格式Content-Type,有了这个规范以后,当对方接收到请求以后就知道该用什么格式来解析,然后对请求进行处理,最后按照请求方要求的格式将数据返回,请求端接收到响应后,就按照规定的格式进行解读。
应用层的主要工作就是定义数据格式并按照对应的格式解读数据。

------------------------------
3)以太网(Ethernet)
当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率(仅指标准以太网的速率而已)运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似。
以太网可以说是局域网的一种,但是目前局域网大多数都是使用以太网标准,故可认为以太网就是局域网。然后,局域网之间的通信协议必须是相同的,即局域网内计算机(或计算机网络)只允许使用同一种通信规则进行通信。而不同的局域网之间,又可以通过其他任意的通信规则进行通信(内部只用一种通信规则),这就构成了互联网。
(1)基于W5500方案的以太网
WIZnet网络芯片的使用
 
HR911105A网口第1脚,W5500 TXP、TXN波形:

HR911105A网口顶视图与PCB封装图:

HR911105A网口内部结构图:

W5500 RXP、RXN波形:

----------------
(2)10M以太网曼彻斯特编码规则:

------------------------------
所以:以太网 <= 局域网 <= 互联网 != 因特网。
----------------------------------------------------------
2、以太网物理层编码技术
1)传统以太网(10M)在无数据发送时发送NLP(一般链路脉冲),这种脉冲每隔16ms发送一个,每个宽100ns 峰值 1V。
2)快速以太网(100M)采用4B5B块编码,没有数据发送时就发送字符IDLE。IDLE的5B编码就是“11111”,也就是持续全“1”,但是要注意,100BASE-TX的线路编码是多电平三级码(MLT-3),编码规则是“1变0不变,正负交替出现”,所以画出波形图来是正、负、零交替出现的了。
此外如果端口是AUTO的,未成功之前,就会发送FLP,NLP是16ms一个,FLP是16ms一串9(17个,之中夹带着协商页),脉宽10ns。
3)GBIT以太网(1000M)采用8B10B块编码,没有数据发送时也是发送字符IDLE。IDLE的10B编码就是“1111111111”,但是要注意,100BASE-TX的线路编码是NRZ。
------------------------------------------------------------------------------------------------------------------------
、IP地址(IP子网划分
IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的。IP地址=网络地址+主机地址,根据网络地址的长度不同,有三种IP地址的组成形式,A类、B类、C类,A类前8位是(0+7位网络地址),B类前16位是(10+14位网络地址),C类前24位是(110+21位网络地址)。局域网里,同样也需要IP地址,一般内网的IP地址是以192.168开头的,这样很容易区分公网和内网的ip地址,这也就是PLC与计算机或终端与计算机相连时,为什么常常采用192.168的形式。
------------------------------------------------------------------------------------------------------------------------
四、子网掩码
子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的IP地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。子网掩码的作用是设定网段范围的。255.255.255.0是一标准的C类地址的子掩码,255.255.0.0是一个标准的B类地址子掩码。它们两个限定了完全不同的IP地址范围。C类的子掩码每个网段最大可以有256个IP地址,其中254个可用,B类子掩码每个网段最大可以有65536个IP地址,其中65534个是可用IP。对上面这段话的理解为,C类的话,前24位是网络号,所以用都是1去做与,最后8位用0去跟IP做与,这样得到的结果是如果两个IP前24位一样,那么与的结果也就一样,也就是在同一网段,即可以通讯。内网通讯时,如上面所说,一般都用 192.168的形式,所以子网掩码一般采用255.255.*.*的形式。
------------------------------------------------------------------------------------------------------------------------
五、网关
网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络A向网络B转发数据包的过程。
1)默认网关:
如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。默认网关一般填写192.168.x.1,默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。
2)DNS服务器:
相对于前几个都是关于联网的基本概念,DNS服务器处理的事情不同,DNS是指域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器 。举个例子没有IP地址就不能上网,计算机没设DNS,竟然能上QQ,却不能打开网页,QQ不需要有DNS(QQ只是一个客户端程序,用不到DNS),只有浏览网页(需输入网址时)才用到DNS,在地址栏中你要能记住IP地址就直接输入IP也是可以的。
------------------------------------------------------------------------------------------------------------------------
六、MAC地址
1、MAC地址详述
MAC(Medium/Media Access Control,介质访问控制)MAC地址是收录在NetworkInterfaceCard(网卡NIC)里的.MAC地址,也叫硬件地址,是由48比特/bit长(6字节/byte,1byte=8bits),16进制的数字组成。前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是识别LAN(局域网)节点的标识。后24位是由厂家自己分配。网卡的物理地址通常是由网卡生产厂家烧入网卡EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一定是全球唯一的。在OSI(Open System Interconnection,开放系统互连)7层网络协议(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)参考模型中,MAC对应于第二层数据链路层(Data Link),而IP对应于网络层。
那么,说到现在,大家一定会疑惑,有了IP地址还要MAC地址干嘛,有了MAC地址还要IP地址干嘛?
MAC地址与IP地址的区别:
有人曾这么比喻,你已经有了手机号,为什么还要一个身份证号呢? 你的身份证号是你唯一标识号,只要有这个号码就能找的到你。但是你的朋友为什么不用身份证找你而是用手机号呢?方便不是。但是你要是犯了罪,警察用你手机号找你,你换了号怎么办?那不就得用你的身份证号才能逮到你?
通过以下几点再来看一下需要两者的配合才能实现数据交换:
(1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓朴位置基础上,这种方案是不可行的。
(2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。
(3)无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。
说到这里,还想再说一下,为什么要对网络通讯进行分层,如OSI,分层的好处:
那就是当你使用比较高层、远离物理层的协议,例如IP协议、TCP协议和其他机器通信时,你不需要关心,也不需要担心对方在哪里,会通过哪些不同类型的网络。而如果你在物理层编程,就要关心更多东西,比如不同的网络包的转换、最大传输单元等等。
----------------------------------------------------------
2、如何修改MAC地址

------------------------------------------------------------------------------------------------------------------------

网络知识汇总(基于W5500以太网)相关推荐

  1. 网络知识汇总(1)-朗文和牛津英语词典网址

    朗文:http://www.ldoceonline.com/ 牛津:http://www.oxfordadvancedlearnersdictionary.com/ http://pan.baidu. ...

  2. 基于W5500的实时远程温湿度监控系统

    概述 工具:物联网云平台Yeelink  DHT11温湿度传感器   W5500EVB 编译环境:Keil4 目的:通过以太网实时监控远程某个位置的温度和湿度 在W5500EVB端连接DHT11温湿度 ...

  3. Linux 系统日常运维九大技能和运维网络知识总结

    一.Linux 系统日常运维九大技能 1.安装部署 方式:U盘,光盘和网络安装 其中网络安装已经成为了目前批量部署的首选方式:主要工具有Cobbler和PXE+kickstart 可以参考如下链接内容 ...

  4. 基于stm32之w5500以太网应用

    基于stm32之w5500以太网应用 强调一下前半段为基础知识普及(这段还是很重要的.不管用什么工具开发精通协议才是王道),后半段为实战代码干货. 如上图所示,最底下的一层叫做"物理层&qu ...

  5. 网络基础知识汇总学习

    一.网线(双绞线)连接线的制作 双绞线制作有 568A 和 568B 两个标准,日常以 568B 标准较常用. 568B 标准按颜色排序为: 1- 橙白. 2- 橙.3- 绿白.4- 蓝. 5- 蓝白 ...

  6. 网络知识入门,什么是以太网包,TCP/IP包,MAC头部,IP头部以及TCP头部(六)

    目录 一.以太网包 二.协议栈中IP模块的工作方式 1.TCP委托IP模块 2.IP模块的工作方式 三.mac头部 四.何为以太网 1.以太网的定义 2.如何收发以太网包 3.以太网接收网络包详细 4 ...

  7. 基于W5500的嵌入式SNMP代理端实现

     一 实验背景 最近一个做焊接设备的朋友想在焊机上添加监控的新功能,实时获取焊机的温度.功耗等参数,还可简单控制,实现对集群焊接设备的网络化管理.而这个朋友不想在开发管理系统上花太多精力,想找一个 ...

  8. Serdes基础知识汇总

    Serdes基础知识汇总 从知乎https://zhuanlan.zhihu.com/p/423321485转载 在开始了解高速接口的时候,必然会涉及到SerDes.serdes的知识点实际上非常多, ...

  9. 拉勾网《32个Java面试必考点》学习笔记之二------操作系统与网络知识

    本文为拉勾网<32个Java面试必考点>学习笔记.只是对视频内容进行简单整理,详细内容还请自行观看视频<32个Java面试必考点>.若本文侵犯了相关所有者的权益,请联系:txz ...

  10. 网络知识和交换机的基本配置知识培训

    网络知识和交换机的基本配置知识培训 一.培训目的: 我中心维护维修人员了解基本网络知识,交换机.路由器的基本配置知识. 二.培训人员: 信息处职员. 三.培训方式.方法: 集中现场培训.交换机模拟配置 ...

最新文章

  1. poj-1384 Piggy-Bank
  2. Mac上配置 Sublime Text 使其使用 Python3
  3. Altium designer中元器件重新编号,会残留之前的编号,浅色有括号——消除办法
  4. 【Spring学习】Spring的AOP模块应用详解
  5. python-类的装饰器
  6. 考验程序员的一个FLASH游戏(Light-Bot)
  7. clickhouse原理解析与应用实践 pdf_阿里专家分享内部绝密RocketMQ核心原理与最佳实践PDF...
  8. Ubuntu 20.10 代号 Groovy Gorilla,第二个以猿类命名版本,将于 10 月 22 日发布
  9. 射频微电子学_射频人的双十二,应该这样过……
  10. 九大ICT企业年中业绩大比拼
  11. 【原文件】辞海(第六版彩图本) pdf
  12. 问题:虚拟机安装Ubuntu时,显示PXE-MOF:Exiting Intel PXE ROM.Operating Systen not found
  13. r语言如何计算t分布临界值_第十二讲 R-配对样本t检验
  14. echarts柱状图图例设置
  15. 那些好玩的生成器网站(三)
  16. linuxi下的做图工具——gnuplot安装
  17. 智能家居蓝海 如何才能破解“外热内冷”的尴尬?
  18. python中seek是什么意思_python中seek怎么用
  19. 使用pytest 出现collected 0 items解决
  20. 渝粤题库 国家开放大学 学前儿童语言教育 期末考试复习资料

热门文章

  1. eclipse添加约束文件
  2. Centos禁止屏幕虚拟键盘弹出
  3. 模二多项式环 及 BCH码 的纯python实现和一些问题
  4. c语言入门自学课件ppt,C语言从初学到精通中文ppt版
  5. log4j.xml配置文件详解
  6. RS485通讯与RS232通讯的区别
  7. ZigBee协议栈(一)--协议栈介绍
  8. cocos2d-x 源码分析 总目录
  9. 海湾汉字编码表全部_海湾5000标准汉字码表设备类型表.xls
  10. 指数函数及其性质教学设计