以太网帧格式总结
以太网帧格式
以太网帧发展
1980 DEC,Intel,Xerox制订了Ethernet I的标准;
1982 DEC,Intel,Xerox又制订了Ehternet II的标准;
1982 IEEE开始研究Ethernet的国际标准802.3;
1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式;
1985 IEEE推出IEEE 802.3规范;
后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式 。(其中早期的Ethernet I已经完全被其他帧格式取代了所以现在Ethernet只能见到后面几种Ethernet的帧格式现在大部分的网络设备都支持这几种Ethernet的帧格式如:cisco的路由器在设定Ethernet接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novell-ether)。
各种不同的帧格式
Ethernet II
该帧格式是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于表示装在这个Frame里面数据的类型),接下来是46--1500 字节的数据,和4字节的帧校验)
Novell Ethernet
它的帧头与Ethernet II有所不同,其中Ethernet II帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF用于标示这个帧是Novell Ether类型的帧,由于前面的0xFFFF占掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。
IEEE 802.3 SAP
802.3的Frame Header和Ethernet II的帧头有所不同,它把EthernetII类型域变成了长度域(与Novell Ethernet相同)。并且引入802.2协议(LLC),该协议在802.3帧头后面添加了一个LLC首部。LLC由1个字节的DSAP(Destination Service Access Point) 、1字节的SSAP(Source SAP) 以及一个字节的控制域,SAP用于表示帧的上层协议。
IEEE 802.3 SNAP
Ethernet SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5字节的SNAP ID,其中前面3个字节通常与源mac地址的前三个字节相同,为厂商代码。后2字节与Ethernet II的类型域相同。
各格式帧抓包结果
-
Ethernet II:
-
IEEE 802.3 SAP:
-
IEEE 802.3 SNAP:
总结
帧格式汇总
Ethernet II和IEEE802.3是局域网里最常见的帧,每种帧所能装载的帧长度分别为:
Ethernet II可以装载的数据长度是46---1500
IEEE802.3 SAP可以装装的数据长度是43---1497
IEEE 802.3 SNAP可以装载的数据长度是38---1492
以太网帧最小长度为64字节,那么帧承载的数据加上帧头如果不够64字节就会发生数据填充,但是在协议之间是有区别的。
Ethernet II不提供MAC层的数据填充功能
IEEE802.3 SAP和SNAP都提供数据填充功能
因些,Ethernet II比IEEE802.3 SAP和SNAP更适合于传输大量的数据,但Ethernet II缺乏对数据链路层的控制,不利于传输需要严格传输控制的数据。实际中,大多数应用程序的以太网数据包都是Ethernet II帧的(HTTP/Telnet/FTP/SMTP/PO P3等应用),而交换机之间的BPDU是采用IEEE802.3 SAP帧,VLAN Trunk协议802.1Q和Cisco CDP都是采用IEEE802.3 SNAP帧。**
参考
https://www.cnblogs.com/mylinux/p/5553242.html
https://blog.csdn.net/marywang56/article/details/78295406