四种格式的以太网帧结构

用过NetXray之类的抓包软件的人,可能经常会被一些不同的FrameHeader搞糊涂,为何用的FrameHeader是这样的,而另外的又不一样。这是因为在Ethernet中存在几种不同的帧格式,下面我就简单介绍一下几种不同的帧格式及他们的差异。

一、Ethernet帧格式的发展

1980DEC,Intel,Xerox制订了EthernetI的标准;

1982DEC,Intel,Xerox又制订了EhternetII的标准;

1982IEEE开始研究Ethernet的国际标准802.3

1983迫不及待的Novell基于IEEE802.3的原始版开发了专用的Ethernet帧格式;

1985IEEE推出IEEE802.3规范;

后来为解决EthernetII802.3帧格式的兼容问题推出折衷的EthernetSNAP格式。

(其中早期的EthernetI已经完全被其他帧格式取代了所以现在Ethernet只能见到后面几种Ethernet的帧格式现在大部分的网络设备都支持这几种Ethernet的帧格式如:cisco的路由器在设定Ethernet接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novell-ether)

二、各种不同的帧格式

下面介绍一下各个帧格式

  • EthernetII

DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于表示装在这个Frame、里面数据的类型),以上为FrameHeader,接下来是46--1500字节的数据,和4字节的帧校验)

四种格式的以太网帧结构_休闲

  • NovellEthernet

它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF用于标示这个帧是NovellEther类型的Frame,由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。

四种格式的以太网帧结构_以太网帧_02

  • IEEE802.3/802.2

802.3FrameHeaderEthernetII的帧头有所不同,它把EthernetII类型域变成了长度域(NovellEthernet相同)。其中又引入802.2协议(LLC)802.3帧头后面添加了一个LLC首部,DSAP(DestinationServiceAccessPoint)1byte,SSAP(SourceSAP)1byte,一个控制域1byte!SAP用于表示帧的上层协议。

四种格式的以太网帧结构_休闲_03

  • EthernetSNAP

EthernetSNAPFrame802.3/802.2Frame的最大区别是增加了一个5BytesSNAPID,其中前面3byte通常与源mac地址的前三个bytes相同,为厂商代码!有时也可设为0。后2bytesEthernetII的类型域相同。

四种格式的以太网帧结构_休闲_04
附上三种帧抓包图片:
EthernetII:
四种格式的以太网帧结构_职场_05
IEEE802.3SAP:
四种格式的以太网帧结构_休闲_06
IEEE802.3SNAP:
四种格式的以太网帧结构_职场_07
EthernetIIIEEE802.3是局域网里最常见的帧:

EthernetII可以装载的数据长度是46---1500;

IEEE802.3SAP可以装装的数据长度是43---1497;

IEEE802.3SNAP可以装载的数据长度是38---1492.

EthernetII不提供MAC层的数据填充功能;

IEEE802.3SAPSNAP都提供数据填充功能.

因些,我们可以得出这样的结论:

EthernetIIIEEE802.3SAPSNAP更适合于传输大量的数据,EthernetII缺乏对数据链路层的控制,不利于传输需要严格传输控制的数据.

实际中,我们会发现,大多数应用程序的以太网数据包都是EthernetII帧的(HTTP/Telnet/FTP/SMTP/POP3等应用),而交换机之间的BPDU是采用IEEE802.3SAP,VLANTrunk协议802.1QCiscoCDP都是采用IEEE802.3SNAP.

顺便提供一下各种Ethertype(以太网类型)和SAPs(服务访问点):

EthertypeSAPs

Netware8137Netware10,E0

XNS0600,0807XNS80

IP0800IP06

ARP0806NetBIOSF0

RARP8035BPDU42

IP(Wines)0BAD,80C4SNA04,05,08,0C

DRP6003X.257E

LAT6004ISO20,34,EC,FE,14,54

LAVC6007SNAPAA

ARP(AppleTalk)80F3