Ethernet的帧格式和结构概述

     用过NetXray之类的抓包软件的人,可能经常会被一些   不同的Frame Header搞糊涂,为何用的Frame的Header
是这样的,而另外的又不一样。这是因为在Ethernet   中存在几种不同的帧格式,下面我就简单介绍一下几种
不同的帧格式及他们的差异。

一。Ethernet帧格式的发展

1980 DEC,Intel,Xerox制订了Ethernet I的标准
1982 DEC,Intel,Xerox又制订了Ehternet II的标准
1982 IEEE开始研究Ethernet的国际标准802.3
1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式
1985 IEEE推出IEEE 802.3规范
       后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式

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

二.各种不同的帧格式
下面介绍一下各个帧格式  

  • Ethernet II
        就是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这个Frame、里面数据的类型)以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)
  • Novell Ethernet
        它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF
        用于标示这个帧是Novell Ether类型的Frame 由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。
  • IEEE 802.3/802.2
        802.3的Frame Header和Ethernet II的帧头有所不同EthernetII类型域变成了长度域。其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由DSAP(Destination Service Access Point)
        1 byte,SSAP(Source SAP),一个控制域--1 byte!
        SAP用于标示帧的上层协议
  • Ethernet SNAP
        SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID其中前面3个byte通常与源mac地址的前三个bytes相同为厂商代码!有时也可设为0,后2 bytes 与Ethernet II的类型域相同。。。


三.如何区分不同的帧格式
   
    Ethernet中存在这四种Frame那些网络设备又是如何识别的呢? 如何区分EthernetII与其他三种格式的Frame 如果帧头跟随source mac地址的2 bytes的值大于1500 则此Frame为EthernetII格式的。
    
    接着比较紧接着的两bytes如果为0xFFFF则为Novell Ether 类型的Frame
    如果为0xAAAA则为Ethernet SNAP格式的Frame ,如果都不是则为Ethernet 802.3/802.2格式的帧

以太网帧结构概述

  以太网帧是OSI参考模型数据链路层的封装,网络层的数据包被加上帧头和帧尾,构成可由数据链路层识别的数据帧。虽然帧头和帧尾所用的字节数是固定不变的,但根据被封装数据包大小的不同,以太网帧的长度也随之变化,变化的范围是64-1518字节(不包括8字节的前导字)。

一、典型帧结构:Ethernet_II

  Ethernet_II中所包含的字段:
  前导码:包括同步码(用来使局域网中的所有节点同步,7字节长)和侦标志(帧的起始标志7,1字节)两部分;
  目的地址:接收端的MAC地址,6字节长;
  源地址:发送端的MAC地址,6字节长;
  类型:数据包的类型(即上层协议的类型),2字节长;
  数据:被封装的数据包,46-1500字节长;
  校验码:错误检验,4字节长。
  Ethernet_II的主要特点是通过类型域标识了封装在帧里的数据包所采用的协议,类型域是一个有效的指针,通过它,数据链路层就可以承载多个上层(网络层)协议。但是,Ethernet_II的缺点是没有标识帧长度的字段。

二、原始的802.3

  原始的802.3帧是早期的Novell NetWare网络的默认封装。它使用802.3的帧类型,但没有LLC域。同Ethernet_II的区别:将类型域改为长度域,解决了原先存在的问题。但是由于缺省了类型域,因此不能区分不同的上层协议。

三、802.2SAP/SNAP:

  为了区别802.3数据帧中所封装的数据类型, IEEE引入了802.2SAP和SNAP的标准。它们工作在数据链路层的LLC(逻辑链路控制)子层。通过在802.3帧的数据字段中划分出被称为服务访问点(SAP)的新区域来解决识别上层协议的问题,这就是802.2SAP。LLC标准包括两个服务访问点,源服务访问点(SSAP)和目标服务访问点(DSAP)。每个SAP只有1字节长,而其中仅保留了6比特用于标识上层协议,所能标识的协议数有限。因此,又开发出另外一种解决方案,在802.2SAP的基础上又新添加了一个2字节长的类型域(同时将SAP的值置为AA),使其可以标识更多的上层协议类型,这就是802.2SNAP。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值