浅谈Ethernet的帧格式

发表于:2007-06-23来源:作者:点击数: 标签:
用过NetXray之类的抓包软件的人,可能经常会被一些不同的Frame Header搞糊涂,为何用的Frame的Header 是这样的,而另外的又不一样。这是因为在Ethe .net 中存在几种不同的帧格式,下面我就简单介绍一下几种 不同的帧格式及他们的差异。 一。Ethernet帧格式的

   

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

 不同的帧格式及他们的差异。

 一。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 Aclearcase/" target="_blank" >ccess 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格式的帧

原文转自:http://www.ltesting.net