以太网协议介绍

目录​​​​​​​

一. 以太网主要协议关系介绍

二. 协议介绍及帧结构

2.1 媒体访问控制子层协议MAC

2.2 地址解析协议ARP

2.2.1ARP帧结构

2.2.2 ARP协议工作原理

2.3 网际互连协议IP

2.3.1 IP协议帧

2.3.2 IP数据报分片重组

2.4 互联网控制消息协议ICMP

2.5 用户数据报协议UDP

2.6 传输控制协议TCP


一. 以太网主要协议关系介绍

  网络结构可以分为五层,自底向上依次为:物理层、数据链路层、网络层、传输层、应用层,每一层都有相应的协议。网络协议种类众多,但最为主要的几种协议为:多点接入载波监听/冲突检测CSMA/CD、媒体访问控制子层协议MAC、地址解析协议ARP、互联网控制消息协议ICMP、网际互连协议IP、用户数据报协议UDP、传输控制协议TCP,他们的关系结构如下:

     在以太网(Ethernet)通信中,CSMA/CD协议一般直接使用PHY芯片(物理接口收发器PHY),因此主要关注的为上面几层的协议。

      以太网帧(MAC帧)处于数据链路层,可以直接交付给PHY芯片,从而转化为比特流在物理通路上传输,由于PHY实现了CSMA/CD的部分功能,会自己进行碰撞检测。MAC帧数据段的内容可以填充为ARP数据报或者IP数据报,ARP协议主要用于获取MAC地址(IP-MAC地址映射),IP协议大家就比较了解了,用于传输各种数据。

  IP数据报的数据段可以填充为ICMP报文、TCP报文、UDP报文。其中ICMP协议用于进行网络诊断、时间戳校验等,尽管ICMP是基于IP协议进行工作的,但一般认为它是网络层协议;TCP、UDP协议则是我们传送数据的主要手段。

  TCP/UDP协议上层就是各种应用层协议了,如DNS、HTTP、FTP等等,如果是在高速数据采集系统里,TCP/UDP包的数据段可以直接就是数据。

二. 协议介绍及帧结构

2.1 媒体访问控制子层协议MAC

      在物理层传输的是比特流,为了识别一MAC帧的起始(比特同步),会在每一MAC帧前加入7个字节的前导码Preamble以及1个字节的帧起始界定符SFD。从比特流来看,前导码固定为10101010,SFD固定为10101011,当收到11,表明后续数据属于MAC帧。由于我们使用GMII接口或者RGMII接口将数据送入PHY进行并串转换,字节流转换为比特流,该转换过程为小端传输,因此当在MAC帧前插入前导码和SFD时,字节流分别为0x55…0x55、0xd5。注意,尽管很多资料上说物理层传输MAC帧时会在前面加上前导码和SFD,但其实前导码和帧起始界定符都是在MAC层加上去的。在两个连续的MAC帧之间,也必须有一段间隔,也就是帧间隙IFG,帧间隙不小于12Byte,值全1。这个帧间隙是CSMA/CD的特性决定的。

  MAC层及以上,传输的都是字节流,下面也都基于此进行说明。

  MAC帧由MAC帧头、数据段、帧校验序列FSC(MAC帧尾)组成。MAC帧头包括三个字段:目的MAC地址、源MAC地址、长度/类型字段。目的、源MAC地址为长度6Byte,唯一确定了硬件的身份。长度/类型字段,当值小于1536(0x0600)时,表示MAC帧数据段的长度,单位Byte,否则表示数据段所使用的上层子协议类型,如0x0800为表示上层子协议为IP协议,0x0806则表示为ARP协议。

  MAC帧数据段长度限制为46 ∼ \sim∼ 1500Byte,对应MAC帧长64 ∼ \sim∼ 1518 Byte,太长或太短的MAC帧都会被认为是无效帧,直接丢弃。64Byte长度是由CSMA/CD的争用期(即以太网端到端传输时间的两倍2t,也称碰撞窗口)决定的,感兴趣的同学可以了解下CSMA/CD碰撞检测,我这里就不介绍了。MAC帧数据段最大长度限制为1500,称为最大传输单元MTU,在不同的网络中由于数据链路和传输介质不同,可能存在差异,但最大是1500,这是为了避免某一帧过长而导致其他MAC帧等待时间过长而进行的限制。当传输到某网络的MAC帧长度大于其MTU时,会进行分片。

  在MAC帧的最后要加上帧校验序列FSC,最常用的校验算法为循环冗余校验CRC-32。

2.2 地址解析协议ARP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值