【转】以太网的帧

来源:互联网 发布:搜狐邮箱 imap 端口 编辑:程序博客网 时间:2024/06/06 03:32
特别说明:本文内容整理自网络,参考资料见文尾。
一、Ethernet帧格式的发展
二、几种以太网帧简介2.1 Ethernet I2.2 Ethernet II(ARPA)2.3 RAW 802.32.4 802.3/802.2 LLC2.5 802.3/802.2 SNAP三、以太网帧报头结构及解码3.1 Ethernet II3.1.1 Ethernet II协议简介3.1.2 Ethernet II报头详解3.1.3 Ethernet II协议解码3.2 Ethernet 802.3/802.2 LLC3.2.1 Ethernet 802.3/802.2 LLC协议简介3.2.2 Ethernet 802.3/802.2 LLC报头详解3.2.3 Ethernet 802.3/802.2 LLC协议解码3.3 Ethernet 802.3 RAW3.3.1 Ethernet 802.3 RAW协议简介3.3.2 Ethernet 802.3 RAW报头详解3.3.3 Ethernet 802.3 RAW协议解码3.4 Ethernet 802.3/802.2 SNAP3.4.1 Ethernet 802.3/802.2 SNAP协议简介3.4.2 Ethernet 802.3/802.2 SNAP报头详解3.4.3 Ethernet 802.3/802.2 SNAP协议解码四、如何区分不同的帧格式五、参考资料

一、Ethernet帧格式的发展

1980 DEC,Intel,Xerox制订了Ethernet I的标准

1982 DEC,Intel,Xerox又制订了EhternetII的标准

1982 IEEE开始研究Ethernet的国际标准802.3

1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式

1985 IEEE推出IEEE 802.3规范,后来为解决EthernetII与802.3帧格式的兼容问题,推出折衷的EthernetSNAP格式

        其中早期的Ethernet I已经完全被其他帧格式取代了 ,所以现在Ethernet只能见到后面几种Ethernet的帧格式,现在大部分的网络设备都支持这几种Ethernet的帧格式,如:cisco的路由器再设定Ethernet接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novell-ether。

         不同厂商对这几种帧格式通常有不同的叫法,比如:

Frame Type-------------Novel-------------Cisco Ethernet Version 2-----Ethernet_II-------arpa 802.3 Raw--------------Ethernet_802.3----novell_etherIEEE 802.3/802.2 LLC---Ethernet_802.2----sap IEEE 802.3/802.2 SNAP--ETHERNET_SNAP-----snap

二、几种以太网帧简介

         历史上以太网帧格式有五种:

 2.1 Ethernet I

        这是最原始的一种格式,是由Xerox PARC提出的3Mbps CSMA/CD以太网标准的封装格式,后来在1980年由DEC,Intel和Xerox标准化形成Ethernet I标准;

 2.2 Ethernet II(ARPA)

        这是最常见的一种以太网帧格式,也是今天以太网的事实标准,由DEC,Intel和Xerox在1982年公布其标准,主要更改了Ethernet V1的电气特性和物理接口,在帧格式上并无变化;Ethernet II出现后迅速取代Ethernet I成为以太网事实标准;Ethernet II帧头结构为6bytes的源地址+6bytes的目标地址+2Bytes的协议类型字段+数据。

常见协议类型如下:

0800      IP

0806      ARP

0807      RARP

8137      Novell IPX

809b      Apple Talk

        如果协议类型字段取值为0000-05dc(十进制的0-1500),则该帧就不是Ethernet II(ARPA)类型了,而是下面讲到的三种802.3帧类型之一;Ethernet可以支持TCP/IP,Novell IPX/SPX,Apple Talk Phase I等协议;RFC 894定义了IP报文在Ethernet II上的封装格式;

 2.3 RAW 802.3

        这是1983年Novell发布其划时代的Netware/86网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的802.3标准为基础;但是当两年以后IEEE正式发布802.3标准时情况发生了变化—IEEE在802.3帧头中又加入了802.2 LLC(Logical Link Control)头,这使得Novell的RAW 802.3格式跟正式的IEEE802.3标准互不兼容;可以看到在Novell的RAW 802.3帧结构中并没有标志协议类型的字段,而只有Length字段(2bytes,取值为0000-05dc,即十进制的0-1500),因为RAW 802.3帧只支持IPX/SPX一种协议;

 2.4 802.3/802.2 LLC

        这是IEEE 正式的802.3标准,它由Ethernet V2发展而来。它将Ethernet V2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十进制的1500);并加入802.2 LLC头用以标志上层协议,LLC头中包含DSAP,SSAP以及Crontrol字段;

常见SAP值:

0    Null LSAP          [IEEE]4    SNA Path Control   [IEEE]6    DOD IP             [79,JBP]AA   SNAP               [IEEE]FE   Global DSAP        [IEEE]

        SAP值用以标志上层应用,但是每个SAP字段只有8bits长,而且其中仅保留了6比特用于标识上层协议,因此所能标识的协议数有限(不超过32种);并且IEEE拒绝为某些重要的协议比如ARP协议定义SAP值(奇怪的是同时他们却定义了IP的SAP值);因此802.3/802.2 LLC的使用有很大局限性;

 2.5 802.3/802.2 SNAP

        这是IEEE为保证在802.2 LLC上支持更多的上层协议同时更好的支持IP协议而发布的标准,与802.3/802.2 LLC一样802.3/802.2 SNAP也带有LLC头,但是扩展了LLC属性,新添加了一个2Bytes的协议类型域(同时将SAP的值置为AA),从而使其可以标识更多的上层协议类型;另外添加了一个3Bytes的OUI字段用于代表不同的组织,RFC 1042定义了IP报文在802.2网络中的封装方法和ARP协议在802.2 SANP中的实现;

三、以太网帧报头结构及解码

 3.1 Ethernet II

 3.1.1 Ethernet II协议简介

         以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网中采用的电缆类型和信号处理方法。Ethernet II由DEC,Intel和Xerox在1982年公布其标准,Etherent II主要更改了Ethernet I的电气特性和物理接口,在帧格式上并无变化。Etherent II采用CSMA/CD的媒体接入和广播机制。

 3.1.2 Ethernet II报头详解

         Ethernet II协议报头结构


Ethernet帧格式每个字段的详细解释如下:

目标地址:此数据包的目标MAC地址。

源地址:此数据包的源MAC地址。

协议类型:上层协议,表示网络层使用的协议。

数据:高层协议、数据和填充符,范围在46~1500字节。

FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

 3.1.3 Ethernet II 协议解码

        下面我们就通过实际解码来学习Ethernet II协议。


以下是对该数据包解码的详细介绍:

目标地址:00:00:59:AA:93:0D。

源地址:00:00:41:26:3F:9E。

协议类型:0x0800表示网络层使用的是IP协议。

数据:传输层和应用层的数据(UDP和QQ)。

FCS:数据帧校验序列。

 3.2 Ethernet 802.3/802.2 LLC

 3.2.1 Ethernet 802.3/802.2 LLC协议简介

         Ethernet 802.2协议是IEEE正式的802.3标准,它由EthernetII发展而来。Ethernet 802.2将Ethernet II帧头的协议类型字段替换为帧长度字段,并加入LLC-802.2头,用以标记上层协议。LLC头包含目的服务访问点(DSAP)、源服务访问点(SSAP)和控制(Control)字段。

3.2.2 Ethernet 802.3/802.2 LLC报头详解

        Ethernet 802.3/802.2 LLC协议报头结构


每个字段的详细解释如下:

目标地址:此数据包的目标mac地址;

源地址:此数据包的源mac地址;

长度:帧包含的数据量必须小于或等于1500(16进制的05DC);

DSAP:目标服务存取点(DestinationlService Access Point);

SSAP:源服务存取点(SourceService Accessl Point);

控制:无连接或面向连接的LLC;

数据:高层协议、数据和填充符;

FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

 3.2.3 Ethernet 802.3/802.2 LLC协议解码

        Ethernet 802.2协议的解码视图:


以下是对该数据包解码的详细介绍:

目标地址:01:80:C2:00:00:00;

源地址:00:04:0C:38:CD:C9;

长度:数包含的数量为38;

目标服务存取点:0x42;

源服务存取点:0x42;

控制:3;

 注意:服务存取点标识的功能类似于以太网类型或TCP/IP传输协议中的端口号,为高协议提供相应的接口。

 3.3 Ethernet 802.3 RAW

 3.3.1 Ethernet 802.3 RAW协议简介

        Ethernet 802.3是1983年Novell发布其Netware/86网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的IEEE802.3标准为基础;但是当两年以后IEEE正式发布802.3标准时情况发生了变化(IEEE在802.3帧头中又加入了802.2 LLC头),这使得Novell的Ethernet 802.3协议与正式的IEEE 802.3标准互不兼容;Ethernet 802.3只支持IPX/SPX协议,是目前所用的最普通的一种帧格式,在802.2之前是IPX网络事实上的标准帧类型。

 3.3.2 Ethernet 802.3 RAW报头详解

 Ethernet 802.3 RAW协议报头结构


每个字段的详细解释如下:

目标地址:此数据包的目标MAC地址。

源地址:此数据包的源MAC地址。

长度:帧包含的数量必须或等于1500。

数据:高层协议(IPX/SPX)、数据和填充符,范围在46~1500字节。

FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

 3.3.3 Ethernet 802.3 RAW协议解码

        下面我们就通过实际解码来学习Ethernet 802.3协议.


下面我们对解码进行详细的介绍:

目标地址:FF:FF:FF:FF:FF:FF;

源地址:00:E0:4C:50:6B:2E;

长度:协议长度为40;

数据:Ethernetl 802.3只支持IPX/SPX协议;

FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。

 3.4 Ethernet 802.3/802.2 SNAP

 3.4.1 Ethernet 802.3/802.2 SNAP协议简介

        Ethernet SNAP协议是IEEE为保证在802.2 LLC上支持更多的上层协议的同时更好地支持IP协议而发布的标准,与802.3/802.2 LLC一样802.3/802.2 SNAP也带有LLC头,但是扩展了LLC属性,新添加了一个2字节的协议类型域(同时将SAP的值置为AA),从而使其可以标识更多的上层协议类型;另外添加了一个3字节的厂商代码字段用于标记不同的组织。RFC 1042定义了IP报文在802.2网络中的封装方法和ARP协议在802.2 SANP中的实现方法。

 3.4.2 Ethernet 802.3/802.2 SNAP报头详解

        Ethernet 802.3/802.2 SNAP协议报头结构.


3.4.3 Ethernet 802.3/802.2 SNAP协议解码

        下面我们通过解码视图来学习Ethernet 802.3/802.2 SNAP协议


以下是对该数据包解码的详细介绍:

目标地址:01:00:81:00:01:01;

源地址:00:04:0C:38:CD:C9;

长度:协议长度为19;

目标服务存取点:0xAA;

源服务存取点:0xAA;

厂商代码:129;

协议类型:417;

 四、如何区分不同的帧格式

         Ethernet中存在这四种Frame那些网络设备又是如何识别的呢? 

        如果帧头跟随sourcemac地址的2 bytes的值大于1500,则此Frame为EthernetII格式的。接着比较紧接着的两bytes如果为0xFFFF则为NovellEther类型的Frame,如果为0xAAAA则为Ethernet SNAP格式的Frame ,如果都不是则为Ethernet 802.3/802.2格式的帧

 

五、参考资料

http://blog.chinaunix.net/uid-9967220-id-1995597.html

http://cvgcv6666.blog.51cto.com/713624/267028

0 0