2.2.2 数据帧格式
数据帧是以太网在M AC层的基本传输单位。由于历史发展的原因,实际的以太网数据帧格式或者说封装格式有多种,它们都相互兼容,分别是Ethernet_II格式、Raw Ethernet格式、802.3/802.2格式和SNAP格式等。
1.Ethernet-II格式
Ethernet-II格式是指以太网版本2.0的格式,与IEEE 802.3规范相互兼容,可直接用在TCP/IP网络中,具体格式如图2-4所示。
图2-4 以太网数据帧格式(Ethernet-II)
前导码由交替的1和0构成位序列,如果以10Mbps的速率传输,前导数据会形成一个频率为5MHz的位流,使接收端可以据此同步到来的位流。
帧首定界符表明数据信息的开始,是一个10101011的二进制序列。
目的地址,即接收站点的地址,共有48位。当接收方的M AC接收到数据帧时,判断此字段数据是否与自己的站点地址一致,来决定是否应该接收。目的地址的类型有三种:
①单站地址,即源站发送的数据帧只有一个目的站点;
②组地址,如果目的地址段的第一位是1,则表明数据帧有多个目的站点;
③广播地址,如果目的地址段的所有位都为1,则表明源站发送的数据帧向网段内所有站点广播。
(4)源地址,即发送数据帧站点的地址,共48位。
(5)FCS是整个数据帧的循环冗余校验码(CRC)。数据帧的范围包括目的地址、源地址、类型、数据。它处在帧尾,共占32位。接收站从DA开始边接收边逐位进行CRC检验。最后接收站形成的检验和若与帧的检验码相同,则表示总线上传输的帧未被破坏;反之,接收站认为帧已被破坏,并可通过一定的机制要求发送站重发该帧。
(6)类型域占2个字节,说明使用以太网的高层所使用的协议,例如可能是IP协议,也可能是NOVELL的IPX协议。其他的以太网格式在此域上有不同的定义。
(7)数据域的长度在46字节至1500字节之间,用于传输高层协议的数据分组。46字节保证了最小帧长度要求,能够使总线上所有的站点都能检测到该帧不是碎片。如果高层协议的分组小于46个字节,则由媒体接入控制层填充该域到46字节最小帧长度。
2.IEEE 802.3/802.2格式
严格地讲,这种封装格式应称为不带有子网访问协议(SNAP)的802.3/802.2格式,如图2-5所示。
图2-5 802.3/802.2数据帧格式
由于高层协议采用逻辑链路控制子层,即IEEE 802.2标准,因此在IEEE 802.3的帧格式中由LLC协议数据单元(LLC-PDU)取代以太网帧格式的DATA段。在以太网的DATA段中直接放置网络层的协议数据。
在IEEE 802.3帧格式中另一不同处是长度字段(L)取代了以太网帧格式中的类型字段。L表示了LLC-PDU的字节数,它的取值范围也在46~1500字节内。如果LLC-PDU的长度小于46字节,则发送站点也要自动填充代码。LLC-PDU中的某些字段用来说明携带的网络层的数据类型。
为了使以太网和IEEE 802.3两种帧能兼容,即接收站能识别这两种帧,使得在同一个网上的站能正常发送和接收帧,需要一个能够处理类型和长度的机制。解决的办法是:当长度字段位置上的值大于最大帧长度(即1 518字节)时,就认为该帧为以太网帧,应该按以太网帧结构来处理,该段表示为类型段,该段的值仅用来说明后继的DATA是何种网络层协议的分组;反之则认为该帧是IEEE 802.3帧结构,应该按IEEE 802.3帧结构来处理。实际的做法是取0600H(十进制1 536)作为界限,大于或等于0600H,认为是以太网帧,此段按类型段处理,例IP分组为0800。否则,认为是IEEE 802.3帧,该段为长度值。
两种帧结构另外的区别是:以太网帧的DA段上的最高位有特定的意义,用来区分是单址还是多址。而IEEE 802.3帧除了最高位外还定义了次高位,次高位为“0”表示全局管理地址,为“1”表示局部管理地址。一般来说地址总是全局管理,因此该位总设置为“0”。对于广播地址来说,两种帧结构中DA的次高位均设置为“1”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。