Ethernet的帧格式
2015-03-05 16:26
543 查看
Ethernet的帧格式
2009-10-04 23:54
一、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个字节,帧校验不变。(0xFF即一个字节长,格式标注上有误)
IEEE 802.3/802.2
802.3的Frame Header和Ethernet II的帧头有所不同,它把EthernetII类型域变成了长度域(与Novell Ethernet相同)。其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由DSAP(Destination Service Access Point) 1 byte,SSAP(Source SAP) 1 byte,一个控制域ctrl 1 byte,SAP用于表示帧的上层协议。
Ethernet SNAP
Ethernet SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID,其中前面3个byte通常与源mac地址的前三个bytes相同,为厂商代码,有时也可设为0。后2 bytes 与Ethernet II的类型域相同。
附上三种帧抓包图片:
Ethernet II:
IEEE 802.3 SAP:
IEEE 802.3 SNAP:
Ethernet II和IEEE802.3是局域网里最常见的帧:
Ethernet II可以装载的数据长度是46---1500;
IEEE802.3 SAP可以装装的数据长度是43---1497;
IEEE 802.3 SNAP可以装载的数据长度是38---1492.
Ethernet II不提供MAC层的数据填充功能;
IEEE802.3 SAP和SNAP都提供数据填充功能.
因些,我们可以得出这样的结论:
Ethernet II比IEEE802.3 SAP和SNAP更适合于传输大量的数据,但Ethernet II缺乏对数据链路层的控制,不利于传输需要严格传输控制的数据.
实际中,我们会发现,大多数应用程序的以太网数据包都是Ethernet II帧的(如HTTP/Telnet/FTP/SMTP/POP3等应用),而交换机之间的BPDU是采用IEEE802.3 SAP帧,VLAN Trunk协议802.1Q和Cisco CDP都是采用IEEE802.3 SNAP帧.
顺便提供一下各种Ethertype(以太网类型)和SAPs(服务访问点):
Ethertype 值 SAPs 值
Netware 8137 Netware 10,E0
XNS 0600,0807 XNS 80
IP 0800 IP 06
ARP 0806 NetBIOS F0
RARP 8035 BPDU 42
IP(Wines) 0BAD,4 SNA 04,05,08,
DRP 6003 X.25 7E
LAT 6004 ISO 20,34,EC,FE,14,54
LAVC 6007 SNAP AA
ARP(AppleTalk) 3
2009-10-04 23:54
一、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),一个控制域(1 byte)组成。 SAP用于标示帧的上层协议 Ethernet SNAP SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID其中前面3个byte通常与源mac地址的前三个bytes相同为厂商代码(即OUI)!有时也可设为0,后2 bytes 与Ethernet II的类型域相同。 三.如何区分不同的帧格式 Ethernet中存在这四种Frame,那网络设备又是如何识别的呢? 如何区分Ethernet II 与其他三种格式的Frame:如果帧头跟随source mac地址的2 bytes的值大于1500 则此Frame为EthernetII格式。 接着比较紧接着的两bytes如果为0xFFFF则为Novell Ether 类型的Frame 如果为0xAAAA则为Ethernet SNAP格式的Frame ,如果都不是则为Ethernet 802.3/802.2格式的帧。 1 Ethernet II 1.1 Ethernet II 协议简介 以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网中采用的电缆类型和信号处理方法。Ethernet II 由DEC,Intel和Xerox在1982年公布其标准,Etherent II 主要更改了Ethernet I 的电气特性和物理接口,在帧格式上并无变化。Etherent II 采用CSMA/CD的媒体接入和广播机制。 1.2 Ethernet II报头详解 Ethernet II协议报头结构 每个字段的详细解释如下: ★目标地址:此数据包的目标MAC地址。 ★源地址:此数据包的源MAC地址。 ★协议类型:上层协议,表示网络层使用的协议。 ★数据:高层协议、数据和填充符,范围在46~1500字节。 ★FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。 1.3 数据包解码 下面我们就通过实际解码来学习Ethernet II 协议。 以下是对该数据包解码的详细介绍: ★目标地址:00:00:59:AA:93:0D。 ★源地址:00:00:41:26:3F:9E。 ★协议类型:0x0800表示网络层使用的是IP协议。 ★数据:传输层和应用层的数据(UDP和QQ)。 ★FCS:数据帧校验序列。 2 Ethernet 802.2 2.1 Ethernet 802.2协议简介 Ethernet 802.2协议是IEEE正式的802.3标准,它由Ethernet II 发展而来。Ethernet 802.2将Ethernet II 帧头的协议类型字段替换为帧长度字段,并加入LLC-802.2头,用以标记上层协议。LLC头包含目的服务访问点(DSAP)、源服务访问点 (SSAP)和控制(Control)字段。 2.2 Ethernet 802.2协议报详解 Ethernet 802.2协议报头结构 每个字段的详细解释如下: ★目标地址:此数据包的目标mac地址; ★源地址:此数据包的源mac地址; ★长度:帧包含的数据量必须小于或等于1500(16进制的05DC); ★DSAP:目标服务存取点(Destination Service Access Point); ★SSAP:源服务存取点(Source Service Access Point); ★控制:无连接或面向连接的LLC; ★数据:高层协议、数据和填充符; ★FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。 2.3 Ethernet 802.2协议解码 Ethernet 802.2协议的解码视图: 以下是对该数据包解码的详细介绍: ★目标地址:01:80:C2:00:00:00; ★源地址:00:04:0C:38:CD:C9; ★长度:数包含的数量为38; ★目标服务存取点:0x42; ★源服务存取点:0x42; ★控制:3; 注意:服务存取点标识的功能类似于以太网类型或TCP/IP传输协议中的端口号,为高协议提供相应的接口。 3 Ethernet 802.3(这里实际是指[b]Novell Ethernet) [/b] 3.1 Ethernet 802.3协议简介 Ethernet 802.3(Novell Ethernet)是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(Novell Ethernet)只支持IPX/SPX协议(这也就是为什么没有类型字段的原因),是目前所用的最普通的一种帧格式,在802.2之前是IPX网络事实上的标准帧类型。 3.2 Ethernet 802.3协议报详解 Ethernet 802.3协议报头结构 每个字段的详细解释如下: ★目标地址:此数据包的目标MAC地址。 ★源地址:此数据包的源MAC地址。 ★长度:帧包含的数数据必须小于或等于1500;>=46。 ★数据:高层协议(IPX/SPX)、数据和填充符,范围在46~1500字节。 ★FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。 有关IPX/SPX协议可参看http://hi.baidu.com/embedtec/blog/item/bc76924e342c320db3de05f8.html 3.3 Ethernet 802.3协议(Novell Ethernet)解码 下面我们就通过实际解码来学习Ethernet 802.3协议. 下面我们对Ethernet 802.3的解码进行详细的介绍: ★目标地址:FF:FF:FF:FF:FF:FF; ★源地址:00:E0:4C:50:6B:2E; ★长度:协议长度为40(请留意还有16字节额外数据); ★数据:Ethernet 802.3只支持IPX/SPX协议; ★FCS:数据帧校验序列,用于确定数据包在传输过程中是否损坏。 注意:从这里就能看出Etherent II 和Ethernet 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协议报头结构. 4.3 Ethernet SNAP解码 下面我们通过解码视图来学习Ethernet SNAP协议 以下是对该数据包解码的详细介绍: ★目标地址:01:00:81:00:01:01 ★源地址:00:04:0C:38:CD:C9; ★长度:协议长度为19; ★目标服务存取点:0xAA; ★源服务存取点:0xAA; ★厂商代码:129; ★协议类型:417; 前面我们分别介绍了以太网标准中定义的四种不同的帧类型,即Ethernet II、Ethernet802.3(Novell Ethernet)、Ethernet SNAP和Ethernet 802.2,这每一种帧类型都由不同的实体为不同的目的而设计。它们可以共存于一个网络中,但互不兼容,当用不同封装类型的工作站要交换信息时,必须通过支持的路由器来通信。 关于Ethernet 帧格式 (3) 2008年09月30日 星期二 10:48
四种格式的以太网帧结构 出处 http://cvgcv6666.blog.51cto.com/713624/267028 用过NetXray之类的抓包软件的人,可能经常会被一些不同的Frame Header搞糊涂,为何用的Frame的Header是这样的,而另外的又不一样。这是因为在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个字节,帧校验不变。(0xFF即一个字节长,格式标注上有误)
IEEE 802.3/802.2
802.3的Frame Header和Ethernet II的帧头有所不同,它把EthernetII类型域变成了长度域(与Novell Ethernet相同)。其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由DSAP(Destination Service Access Point) 1 byte,SSAP(Source SAP) 1 byte,一个控制域ctrl 1 byte,SAP用于表示帧的上层协议。
Ethernet SNAP
Ethernet SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID,其中前面3个byte通常与源mac地址的前三个bytes相同,为厂商代码,有时也可设为0。后2 bytes 与Ethernet II的类型域相同。
附上三种帧抓包图片:
Ethernet II:
IEEE 802.3 SAP:
IEEE 802.3 SNAP:
Ethernet II和IEEE802.3是局域网里最常见的帧:
Ethernet II可以装载的数据长度是46---1500;
IEEE802.3 SAP可以装装的数据长度是43---1497;
IEEE 802.3 SNAP可以装载的数据长度是38---1492.
Ethernet II不提供MAC层的数据填充功能;
IEEE802.3 SAP和SNAP都提供数据填充功能.
因些,我们可以得出这样的结论:
Ethernet II比IEEE802.3 SAP和SNAP更适合于传输大量的数据,但Ethernet II缺乏对数据链路层的控制,不利于传输需要严格传输控制的数据.
实际中,我们会发现,大多数应用程序的以太网数据包都是Ethernet II帧的(如HTTP/Telnet/FTP/SMTP/POP3等应用),而交换机之间的BPDU是采用IEEE802.3 SAP帧,VLAN Trunk协议802.1Q和Cisco CDP都是采用IEEE802.3 SNAP帧.
顺便提供一下各种Ethertype(以太网类型)和SAPs(服务访问点):
Ethertype 值 SAPs 值
Netware 8137 Netware 10,E0
XNS 0600,0807 XNS 80
IP 0800 IP 06
ARP 0806 NetBIOS F0
RARP 8035 BPDU 42
IP(Wines) 0BAD,4 SNA 04,05,08,
DRP 6003 X.25 7E
LAT 6004 ISO 20,34,EC,FE,14,54
LAVC 6007 SNAP AA
ARP(AppleTalk) 3
相关文章推荐
- Ethernet的帧格式
- Ethernet的帧格式
- Ethernet的帧格式 (转)
- Ethernet的帧格式 (转)
- 浅谈Ethernet的帧格式
- PPPoE工作原理与帧格式 推荐
- 以太网(Ethernet) Internet 万维网 区别
- Cisco ADSL PPPOE over Ethernet
- Ethernet、Tcp、Udp等协议的数据包格式
- freescale i.mx23平台上移植android2.2-froyo - ethernet移植
- Ethernet802.3中的关键要素
- 移植 ethernet 到 android2.3.5
- Android2.2下实现Ethernet
- Ethernet 802.3X Full Duplex Protocol
- Ethernet Communication Interface for the FPGA
- 冲突域、广播域、Ethernet802.3
- Vendor/Ethernet/Bluetooth MAC Address Lookup
- 以太网(ethernet.h)
- Android中设置Ethernet为默认网络类型
- android ethernet dhcp概率性获取不到ip的解决方法