以太网数据帧的格式分析比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、 以太网数据帧的格式分析

大家都知道我们目前的局域网大多数是以太网,但以太网有多种标准,其数据帧有多种格式,恐怕有许多人不是太清楚,本文的目的就是通过帧格式和Sniffer捕捉的数据包解码来区别它们。

以太网这个术语一般是指数字设备公司(Digital Equipment)、英特尔公司(Intel)和施乐公司(Xerox)在1982年联合公布的一个标准(实际上它是第二版本,第一版本早在1972年就在施乐公司帕洛阿尔托研究中心PARC里产生了)。它是目前TCP/IP网络采用的主要的局域网技术。它采用一种称作CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense, Multiple Access with Collision Detection)。它的速率为10 Mb/s,地址为48 bit。

1985年,IEEE(电子电气工程师协会) 802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。这三者的共同特性由802.2标准来定义,那就是802网络共有的逻辑链路控制(LLC)。不幸的是,802.2和802.3定义了一个与以太网不同的帧格式,加上1983年Novell为其Netware 开发的私有帧,这些给以太网造成了一定的混乱,也给我们学习以太网带来了一定的影响。

1、通用基础

注:* VLAN Tag帧和Gigabit Jumbo帧可能会超过这个限制值

图1-1

图1-1中,数据链路层头(Header)是数据链路层的控制信息的长度不是固定的,根据

以太网数据帧的格式的不同而不同,那么判断IEEE802.3、IEEE802.3 SNAP、Ethernet Version2、Netware 802.3 “Raw”这些数据帧的最主要依据也源于Header的变化。

从该图中也可以看出,Sniffer捕捉数据包的时候是掐头去尾的,不要前面的前导码,也丢弃后面的CRC校验(注意它只是不在Decode里显示该区域,但并不代表它不去做数据包CRC校验),这就是很多人困惑为什么Sniffer捕捉到的数据包长度跟实际长度不相符的原因。那么,Sniffer是如何来判断这些不同类型的以太网格式呢?

通过图1-2的逻辑结构,Sniffer就可以判断出不同的以太网格式,这里需要注意的是,Sniffer在数据包解码时有自己的格式,所以有Offset之说,图1-2中的offset ØE是指在Sniffer Hex解码窗口中从左向右第15位的数值。大家如果看这幅图有点发懵的话,没有关系,看完后面的格式分析后再来看这幅图,相信一定能够明白☺

下面我们通过一些具体的图示和数据包来说明各种以太网格式的具体区别。

2、Ethernet Version2

以太网版本2是先于IEEE标准的以太网版本。

从图2-1中可以看出,Ethernet V2通过在DLC 头中2个字节的类型(Type )字段来辨别接收处理。类型字段是用来指定上层协议的(如0800指示IP 、0806指示ARP 等),它的值一定是大于05FF 的,它提供无连接服务的,本身不控制数据(DATA )的长度,它要求网络层来确保数据字段的最小包长度(46字节)。

图2-2 是Sniffer 捕获的Ethernet V2帧的解码,可以看到在DLC 层,源DLC 地址后紧跟着就是以太网类型(Etehertype )值0800,代表上层封装的是IP 报文,0800大于05FF ,因而我们可以断定它是Ethernet V2的帧。

图2-2

3、IEEE802.3

图2-1

从图3-1可以看出,IEEE802.3把DLC 层分隔成明显的两个子层:MAC 层和LLC 层,其中MAC 层主要是指示硬件目的地址和源地址。LLC 层用来提供一些服务:

– 通过SAP 地址来辨别接收和发送方法 – 兼容无连接和面向连接服务

– 提供子网访问协议(Sub-network Access Protocol ,SNAP ),类型字段即由它

的首部给出。

MAC 层要保证最小帧长度不小于64字节,如果数据不满足64字节长度就必须进行填充。

图3-2是Sniffer 捕获的IEEE802.3帧的解码,可以看到在DLC 层源地址后紧跟着就是802.3的长度(Length )字段0026,它小于05FF ,可以肯定它不是Ethernet V2的帧,而接下来的Offset 0E 处的值“4242”(代表DSAP 和SSAP ),既不是Novell 802.3 “Raw”的特征值“FFFF ”,也不是IEEE 802.3 SNAP 的特征值“AAAA ”,因此它肯定是一个IEEE802.3的帧。

SFD :开始定界符 DSAP :目标服务访问点 SSAP :源服务访问点 Control :控制信息

图3-1

图3-2

4、IEEE802.3 SNAP

SNAP (Sub-Network Access Protocol)子网访问协议,是逻辑链路控制(Logical Link Control )的一个子集,它允许协议不用通过服务访问点(SAP )即可实现IEEE 兼容的MAC 层功能,因此它在DSAP 和SSAP 域里的值是固定的(AAAA )。也正源于此,它需要额外提供5个字节的头来指定接收方法,3个字节标识厂商代码,2个字节标识上层协议。

其MAC 层保证数据帧长度不小于64字节,不足的话需要进行数据填充。

图4-2是Sniffer 捕获的IEEE802.3 SNAP 帧的解码,可以看到在DLC 层源地址后紧跟着就是802.3的长度(Length )字段0175,它小于05FF ,可以肯定它不是Ethernet V2的帧,而接下来的Offset 0E 处的值“AAAA ”(代表DSAP 和SSAP ),这是IEEE 802.3 SNAP 的特征值“AAAA ”,因此可以断定它是一个IEEE802.3 SNAP 的帧。

Code

1010 (10101011)

图4-1

相关文档
最新文档