浅谈Ethernet的帧格式

浅谈Ethernet的帧格式(转)
资料来源: http://www.cnpaf.net/Class/Ethernet/200512/10646.html,中国协议分析网

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

 一。Ethernet帧格式的发展

 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、里面数据的类型)以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)
  • Novell Ethernet
       它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF
       用于标示这个帧是Novell Ether类型的Frame 由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。
  • IEEE 802.3/802.2
       802.3的Frame Header和Ethernet II的帧头有所不同EthernetII类型域变成了长度域。其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由 DSAP(Destination Service Access Point)
       1 byte,SSAP(Source SAP),一个控制域--1 byte!
       SAP用于标示帧的上层协议
  • Ethernet SNAP
       SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID其中前面3个byte通常与源mac地址的前三个bytes相同为厂商代码!有时也可设为0,后2 bytes 与Ethernet II的类型域相同。。。

 
 三.如何区分不同的帧格式
  
   Ethernet中存在这四种Frame那些网络设备又是如何识别的呢? 如何区分EthernetII与其他三种格式的Frame 如果帧头跟随source mac地址的2 bytes的值大于1500 则此Frame为EthernetII格式的。
   
   接着比较紧接着的两bytes如果为0xFFFF则为Novell Ether 类型的Frame
   如果为0xAAAA则为Ethernet SNAP格式的Frame ,如果都不是则为Ethernet 802.3/802.2格式的帧

你可能感兴趣的:(浅谈Ethernet的帧格式)