admin管理员组文章数量:1530842
2024年6月19日发(作者:)
以太网数据格式与各种报文格式
一、数据封装
当我们应用程序用TCP传输数据的时候,数据被送入协议栈中,然后逐个通过每
一层,知道最后到物理层数据转换成比特流,送入网络。而再这个过程中,每一层都
会对要发送的数据加一些首部信息。整个过程如下图。
如图可以看出,每一层数据是由上一层数据+本层首部信息组成的,其中每一层
的数据 ,称为本层的协议数据单元 ,即PDU.
应用层数据在传输层添加TCP报头后得到的PDU被称为 Segment(数据段 ),
图示为TCP段
传输层的数据(TCP段)传给网络层,网络层添加IP报头得到的PDU被称为
Packet(数据包); 图示为IP数据包
网络层数据报(IP数据包)被传递到数据链路层,封装数据链路层报头得到的
PDU被称为Frame(数据帧),图示为以太网帧。
最后,帧被转换为比特,通过网络介质传输。这种协议栈逐层向下传递数据,并添加
报头和报尾的过程称为封装。
二、数据格式
需要注意的是,这里所说的以太网帧,与我们常说的以太网是不一样的。下面我
们就来介绍每一层数据的 首部信息 内容。
首先我们知道世界上有个协会叫作IEEE,即电子工程师协会,里面有个分会,
叫作IEEE802委员会,是专门来制定局域网各种标准的。而802下面还有个分部,叫
作802.3.就是我们经常提到的 IEEE802.3,这个部门制定的规范叫以太网规范,这个
以太网规范中就定义了上面提到的“以太网首部”,这个以太网规范,实际只定义了
数据链路层中的MAC层和物理层规范。(注意数据链路层包括MAC子层和LLC子
层两个子层,而LLC子层是在IEEE802.2中规范的)。
以太网帧格式:
以太网常用帧格式有两种,一种是Ethernet II,另一种是IEEE 802.3 格式。这
两种格式区别是:Ethernet II中包含一个Type字 段,。其中Type字段描述了,以太
网首部 后面所跟数据包的类型,例如Type为0x8000时为IP协议包,Type为
8060时,后面为ARP协议包。以太网中多数数据帧使用的是Ethernet II帧格式。
Ethernet II帧格式:
前导码:Ethernet II是由8个8‘b10101010构成,IEEE802.3由7个
8‘b10101010+1个字节SFD..
目的地址:目的设备的MAC物理地址。
源 地址 :发送设备的MAC物理地址。
类型(Ethernet II):以太网首部 后面所跟数据包的类型,例如Type为0x8000
时为IP协议包,Type为8060时,后面为ARP协议包。
长度(IEEE802.3):当长度小于1500时,说明该帧为IEEE802.3帧格式,大于
1500时,说明该帧为Ethernet II帧格式。
数据:数据长度最小为46字节,不足46字节时,填充至46字节。因为最小帧
长度是64字节,所以,46+6+6+2+4=64。(不算前导码)
FCS: 就是CRC校验值
以太网首部:
版权声明:本文标题:帧格式及IP,TCP,UDP,ICMP报文格式 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1718731713a717905.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论