以太网帧格式

耗尽温柔 提交于 2020-01-29 12:24:20

原文地址:
http://hi.baidu.com/wudengyong/blog/item/0c8388451591df34879473c1.html 

  目前,有四种不同格式的以太网帧在使用,它们分别是:
  
  ●Ethernet II即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式。Cisco名称为:ARPA。
  
  ●Ethernet 802.3 raw:Novell在1983年公布的专用以太网标准帧格式。Cisco名称为:Novell-Ether。
  
  ●Ethernet 802.3 SAP:IEEE在1985年公布的Ethernet 802.3的SAP版本以太网帧格式。Cisco名称为:SAP。
  
  ●Ethernet 802.3 SNAP:IEEE在1985年公布的Ethernet 802.3的SNAP版本以太网帧格式。Cisco名称为:SNAP。
  
  在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,如图3所示。其中,前7个字节称为前同步码(Preamble),内容是16进制数 0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。
  

  以太网帧格式 - Xmo0 - 红烧绿豆沙

  
图3  以太网帧前导字符

  
  除此之外,不同格式的以太网帧的各字段定义都不相同,彼此也不兼容。
  
  3.1 Ethernet II帧格式
  
  如图4所示,是Ethernet II类型以太网帧格式。
  
  以太网帧格式 - Xmo0 - 红烧绿豆沙

  
图4  Ethernet II帧格式
  Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6
+2+1500+4)。其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地
址。  
  接下来的2个字节标识出以太网帧所携带的上层数据类型,如16进制数0x0800代表IP协议数据,16进制数0x809B代表AppleTalk协议数据,16进制数0x8138代表Novell类型协议数据等。
 
 
      区分两种帧 
  根据源地址段后的前两个字节的类型不同。 
  如果值大于1500(0x05DC),说明是以太网类型字段,EthernetII帧格式。值小于等于1500,说明是长度字段,IEEE802.3帧格式。因为类型字段值最小的是0x0600。而长度最大为1500。
 

  在不定长的数据字段后是4个字节的帧校验序列(Frame Check Sequence,FCS),采用32位CRC循环冗余校验对从"目标MAC地址"字段到"数据"字段的数据进行校验。
  
  3.2 Ethernet 802.3 raw帧格式
  如图5所示,是Ethernet 802.3 raw类型以太网帧格式。
  
  以太网帧格式 - Xmo0 - 红烧绿豆沙

  
图5  Ethernet 802.3 raw帧格式  
  在Ethernet 802.3 raw类型以太网帧中,原来Ethernet II类型以太网帧中的类型字段被"总长度"
字段所取代,它指明其后数据域的长度,其取值范围为:46-1500。
  接下来的2个字节是固定不变的16进制数0xFFFF,它标识此帧为Novell以太类型数据帧。
 
  3.3 Ethernet 802.3 SAP帧格式
  
  如图6所示,是Ethernet 802. 3 SAP类型以太网帧格式。
  
  以太网帧格式 - Xmo0 - 红烧绿豆沙

  
图6  Ethernet 802. 3 SAP帧格式
  

  从图中可以看出,在Ethernet 802.3 SAP帧中,将原Ethernet 802.3 raw帧中2个字节的0xFFFF变为各1个字节的DSAP和SSAP,同时增加了1个字节的"控制"字段,构成了802.2逻辑链路控制(LLC)的首 部。LLC提供了无连接(LLC类型1)和面向连接(LLC类型2)的网络服务。LLC1是应用于以太网中,而LLC2应用在IBM SNA网络环境中。
  
  新增的802.2 LLC首部包括两个服务访问点:源服务访问点(SSAP)和目标服务访问点(DSAP)。它们用于标识以太网帧所携带的上层数据类型,如16进制数 0x06代表IP协议数据,16进制数0xE0代表Novell类型协议数据,16进制数0xF0代表IBM NetBIOS类型协议数据等。
  
  至于1个字节的"控制"字段,则基本不使用(一般被设为0x03,指明采用无连接服务的802.2无编号数据格式)。
  3.4 Ethernet 802.3 SNAP帧格式
  
  如图7所示,是Ethernet 802. 3 SNAP类型以太网帧格式。
  
以太网帧格式 - Xmo0 - 红烧绿豆沙

  
图7  Ethernet 802. 3 SNAP帧格式

  
  Ethernet 802. 3 SNAP类型以太网帧格式和Ethernet 802. 3 SAP类型以太网帧格式的主要区别在于:
  ●2个字节的DSAP和SSAP字段内容被固定下来,其值为16进制数0xAA。
  ●1个字节的"控制"字段内容被固定下来,其值为16进制数0x03。
  ●增加了SNAP字段,由下面两项组成:
  
  ◆新增了3个字节的组织唯一标识符(Organizationally Unique Identifier,OUI ID)字段,其值通常等于MAC地址的前3字节,即网络适配器厂商代码。
  ◆2个字节的"类型"字段用来标识以太网帧所携带的上层数据类型。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!