以太网帧格式
来源:互联网 发布:国际数据公司 收购 编辑:程序博客网 时间:2024/06/08 09:51
转自:http://blog.sina.com.cn/s/blog_5ce2ac4d0100jzf0.html
具体总体的封装请参考本博客TCP/IP中的IP封装一章,一下使具体详解:因为以太包的类型不同,格式也不尽相同:但大体上格式统一
Etherne II
报头8
报头:8个字节,前7个0,1交替的字节(10101010)用来同步接收站,一个1010101011字节指出帧的开始位置。报头提供接收器同步和帧定界服务。
目标地址:6个字节,单播、多播或者广播。单播地址也叫个人、物理、硬件或MAC地址。广播地址全为1,0xFF FF FF FF。
源地址:6个字节。指出发送节点的单点广播地址。
以太类型:2个字节,用来指出以太网帧内所含的上层协议。即帧格式的协议标识符。对于IP报文来说,该字段值是0x0800。对于ARP信息来说,以太类型字段的值是0x0806。
有效负载:由一个上层协议的协议数据单元PDU构成。可以发送的最大有效负载是1500字节。由于以太网的冲突检测特性,有效负载至少是46个字节。如果上层协议数据单元长度少于46个字节,必须增补到46个字节。
帧检验序列:4个字节。验证比特完整性。
IEEE 802.3
根据IEEE802.2 和802.3标准创建的,由一个IEEE802.3报头和报尾以及一个802.2LLC报头组成。
报头7
-----------802.3报头--------------§---802.2报头----§
IEEE802.3报头和报尾
报头:7个字节,同步接收站。位序列10101010
起始限定符:1个字节,帧开始位置的位序列10101011。
报头+起始限定符=Ethernet II的报头
目标地址:同Ethernet II。也可以为2个字节,很少用。
源地址:同Ethernet II。也可以为2个字节,很少用。
长度:2个字节。
帧检验序列:4个字节。
IEEE802.2 LLC报头
DSAP:1个字节,指出帧的目标节点的上层协议。Destination Service Access Point
SSAP:1个字节,指出帧的源节点的上层协议。Source Service Access Point
DSAP和SSAP相当于IEEE802.3帧格式的协议标识符。为IP定义的DSAP和SSAP字段值是0x06。但一般使用SNAP报头。
控件:1-2个字节。取决于封装的是LLC数据报(Type1 LLC)还是LLC通话的一部分(Type2 LLC)。
Type1 LLC:1个字节的控件字段,是一种无连接,不可靠的LLC数据报。无编号信息,UI帧,0x03。
Type2 LLC:2个字节的控件字段,是一种面向连接,可靠的LLC对话。
对IP和ARP,从不使用可靠的LLC服务。所以,都只用Type1 LLC,控件字段设为0x03。
区分两种帧
根据源地址段后的前两个字节的类型不同。
如果值大于1500(0x05DC),说明是以太网类型字段,EthernetII帧格式。值小于等于1500,说明是长度字段,IEEE802.3帧格式。因为类型字段值最小的是0x0600。而长度最大为1500。
IEEE802.3 SNAP
虽然为IP定义的SAP是0x06,但业内并不使用该值。RFC1042规定在IEEE802.3, 802.4, 802.5网络上发送的IP数据报和ARP帧必须使用SNAP(Sub Network Access Prototol)封装格式。
报头7
----IEEE802.3报头-----------§IEEE8023 LLC报头---§--SNAP报头----§