以太网的几种标准



下图给出了4种链路层协议:



参考:

http://blog.163.com/fbn2580@126/blog/static/165500085201412095658190/

http://blog.csdn.net/guoshaobei/article/details/4768514


一.Ethernet帧格式的发历史沿革
1980 DEC,Intel,Xerox
制订了Ethernet I的标准
1982 DEC,Intel,Xerox
又制订了Ehternet II的标准 
1982 IEEE
开始研究Ethernet的国际标准802.3 
1983 
迫不及待的Novell基于IEEE802.3的原始版开发了专用的Ethernet帧格式,此时802.3尚未正式发布 
1985 IEEE
推出IEEE 802.3规范 
后来为解决EthernetII802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式

 (其中早期的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_ether
IEEE 802.3/802.2                  Ethernet_802.2            sap 
IEEE 802.3/802.2 SNAP        ETHERNET_SNAP        snap


1.Ethernet V1

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


2.Ethernet II 
就是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这个Frame、里面数据的类型)以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)。

支持的协议类型如下:
0800       IP
0806       ARP
8137       Novell IPX
809b       Apple Talk
如果协议类型字段取值为0000-05dc(十进制的0-1500),则该帧就不是Ethernet V2(ARPA)类型了,而是下面讲到的三种802.3帧类型之一。
Ethernet可以支持TCP/IP,Novell IPX/SPX,Apple Talk Phase I等协议;

RFC 894定义了IP报文在Ethernet V2上的封装格式;本身不控制数据(DATA)的长度,它要求网络层来确保数据字段的最小包长度(46字节)。

今天的实际环境中大多数TCP/IP设备都使用Ethernet V2格式的帧。
这是因为第一种大规模使用的TCP/IP系统(4.2/3 BSD UNIX)的出现时间介于RFC 894和RFC 1042之间,
它为了避免不能和别的主机互操作的风险而采用了RFC 894的实现;
也由于大家都抱着这种想法,所以802.3标准并没有如预期那样得到普及;

3.Novell Ethernet 
它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF 用于标示这个帧是Novell Ether类型的Frame 由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。他不需要上层协议类型这个部分,因为他只支持一种上层协议:即Novell IPX/SPX


4.IEEE 802.3/802.2 
802.3
Frame HeaderEthernet II的帧头有所不同EthernetII类型域变成了长度域。其中又引入802.2协议(LLC)802.3帧头后面添加了一个LLC首部,DSAP(Destination Service Access Point) 1--byte, SSAP(Source SAP)--1byte, 一个控制域--1 byte。 SAP用于标示帧的上层协议。常见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的使用有很大局限性;


5.Ethernet SNAP 
SNAP Frame
802.3/802.2 Frame的最大区别是增加了一个5 BytesSNAP ID其中前面3byte通常与源mac地址的前三个bytes相同为厂商代码!有时也可设为0,2 bytes Ethernet II的类型域相同

常见协议类型如下:
0800       IP
0806       ARP
8137       Novell IPX
809b       Apple Talk
如果协议类型字段取值为0000-05dc(十进制的0-1500),则该帧就不是Ethernet V2(ARPA)类型了,而是下面讲到的三种802.3帧类型之一;
Ethernet可以支持TCP/IP,Novell IPX/SPX,Apple Talk Phase I等协议;RFC 894定义了IP报文在Ethernet V2上的封装格式;SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID,其中前面3个byte通常与源mac地址 的前三个bytes相同为厂商代码!
有时也可设为0,后2 bytes与Ethernet II的类型域相同。。。 


二、 Ethernet V2帧与IEEE 802.3帧的比较

因为这两种帧是我们在现在的局域网里最常见的两种帧,因此,我们对它们进行一些比较。

Ethernet V2可以装载的最大数据长度是1500字节,而IEEE 802.3可以装载的最大数据是1492字节(SNAP)或是1497字节; Ethernet V2不提供MAC层的数据填充功能,而IEEE 802.3不仅提供该功能,还具备服务访问点(SAP)和SNAP层,能够提供更有效的数据链路层控制和更好的传输保证。那么我们可以得出这样的结 论:Ethernet V2比IEEE802.3更适合于传输大量的数据,但Ethernet V2缺乏数据链路层的控制,不利于传输需要严格传输控制的数据,这也正是IEEE802.3的优势所在,越需要严格传输控制的应用,越需要用 IEEE802.3或SNAP来封装,但IEEE802.3也不可避免的带来数据装载量的损失,因此该格式的封装往往用在较少数据量承载但又需要严格控制 传输的应用中。

在实际应用中,我们会发现,大多数应用的以太网数据包是Ethernet V2的帧(如HTTP、FTP、SMTP、POP3等应用),而交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3的帧,VLAN Trunk协议如802.1Q和Cisco的CDP(思科发现协议)等则是采用IEEE802.3 SNAP的帧。大家有兴趣的话,可以利用Sniffer等协议分析工具去捕捉数据包,然后解码查看是不是这样的。



如何区分不同的帧格式 
Ethernet
中存在这四种Frame那些网络设备又是如何识别的呢如何区分EthernetII与其他三种格式的Frame? IEEE没有分配1500以下(十六进制数0x05DC)的数为协议类型代码。如果帧头跟随source mac地址的2 bytes的值大于等于1536 则此FrameEthernetII格式的,如果小于1500则为Ethernet 802.3格式。 
接着比较紧接着的两bytes如果为0xFFFF则为Novell Ether 类型的Frame ;如果为0xAAAA则为Ethernet SNAP格式的Frame;如果都不是则为Ethernet 802.3/802.2格式的帧.

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

 目标地址源地址  协议类型 数据 FCS
 6字节 6字节 2字节 46~1500字节 4字节


Ethernet II
协议报头结构每个字段的详细解释如下:

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

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

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

l  数据:高层协议、数据和填充符,范围在461500字节。

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

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

Ethernet的帧格式  (转) - JOE - 野feng+的博客


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

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

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

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

l  数据:传输层和应用层的数据(UDPQQ)。 

l  FCS:数据帧校验序列。

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


2.2 Ethernet 802.2
协议报详解
Ethernet 802.2
协议报头结构

Ethernet的帧格式  (转) - JOE - 野feng+的博客


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

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

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

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

l  DSAP:目标服务存取点(Destination Service Access Point);

l  SSAP:源服务存取点(Source Service Access Point);

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

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

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

2.3 Ethernet 802.2协议解码
Ethernet 802.2
协议的解码视图:

Ethernet的帧格式  (转) - JOE - 野feng+的博客


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

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

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

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

l  目标服务存取点:0x42

l  源服务存取点:0x42

l  控制:3

注意:服务存取点标识的功能类似于以太网类型或TCP/IP传输协议中的端口号,为高协议提供相应的接口。
3 Ethernet 802.3
3.1 Ethernet 802.3
协议简介
Ethernet 802.3
1983Novell发布其Netware/86网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的IEEE802.3标准为基础;但是当两年以后IEEE正式发布802.3标准时情况发生了变化(IEEE802.3帧头中又加入了802.2 LLC头),这使得NovellEthernet 802.3协议与正式的IEEE 802.3标准互不兼容;Ethernet 802.3只支持IPX/SPX协议,是目前所用的最普通的一种帧格式,在802.2之前是IPX网络事实上的标准帧类型。
3.2 Ethernet 802.3
协议报详解
Ethernet 802.3
协议报头结构

Ethernet的帧格式  (转) - JOE - 野feng+的博客


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

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

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

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

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

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

有关IPX/SPX协议可参看:

http://hi.baidu.com/embedtec/blog/item/bc76924e342c320db3de05f8.html


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

Ethernet的帧格式  (转) - JOE - 野feng+的博客


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

l  目标地址:FF:FF:FF:FF:FF:FF

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

l  长度:协议长度为40

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

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

注意:从这里就能看出Etherent IIEthernet 802.3的区别,即协议类型和协议长度。
4 Ethernet SNAP
4.1 Ethernet 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中的实现方法。


4.2 Ethernet SNAP
协议报头详解
Ethernet SNAP
协议报头结构.

Ethernet的帧格式  (转) - JOE - 野feng+的博客


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

Ethernet的帧格式  (转) - JOE - 野feng+的博客


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

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

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

l  长度:协议长度为19

l  目标服务存取点:0xAA

l  源服务存取点:0xAA

l  厂商代码:129

l  协议类型:417

前面我们分别介绍了以太网标准中定义的四种不同的帧类型,即Ethernet IIEthernet802.3Ethernet SNAPEthernet 802.2,这每一种帧类型都由不同的实体为不同的目的而设计。它们可以共存于一个网络中,但互不兼容,当用不同封装类型的工作站要交换信息时,必须通过支持的路由器来通信。                                          

 

 


  • 6
    点赞
  • 9
    评论
  • 15
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值