关于以太网帧格式的那点事儿
关于以太网帧格式的那点事儿 以太网帧格式
目前,有四种不同格式的以太网帧在使用,它们分别是:
, lEthernet II即DIX2.0:Xerox与DEC、Intel在1982年制定的以太网
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
帧格式。Cisco名称为:ARPA。
, lEthernet 802.3 raw:Novell在1983年公布的专用以太网标准帧格式。Cisco名称为:Novell-Ether。
, lEthernet 802.3 SAP:IEEE在1985年公布的Ethernet 802.3的SAP版本以太网帧格式。Cisco名称为:SAP。
, lEthernet 802.3 SNAP:IEEE在1985年公布的Ethernet 802.3的SNAP版本以太网帧格式。Cisco名称为:SNAP。
在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,如图3所示。其中,前7个字节称为前同步码(Preamble),内容是16进制数0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。
[attachment=2744]
除此之外,不同格式的以太网帧的各字段定义都不相同,彼此也不兼容。
Ethernet II帧格式
如图所示,是Ethernet II类型以太网帧格式。
在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,如图3所示。其中,前7个字节称为前同步码(Preamble),内容是16进制数0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。 6字节 6字节 2字节 46-150
0字
个人自传范文3000字为中华之崛起而读书的故事100字新时代好少年事迹1500字绑架的故事5000字个人自传范文2000字
节 4字节 目标地址 源地址 类型 数据 FCS
Ethernet II类型以太网帧的最小长度为64字节(6,6,2,46,4),最大长度为1518字节(6,6
,2,1500,4)。其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。
接下来的2个字节标识出以太网帧所携带的上层数据类型,如16进制数0x0800代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
IP
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
数据,16进制数0x809B代表AppleTalk协议数据,16进制数0x8138代表Novell类型协议数据等。
在不定长的数据字段后是4个字节的帧校验序列(Frame Check Sequence,FCS),采用32位CRC循环冗余校验对从"目标MAC地址"字段到"数据"字段的数据进行校验。
Ethernet 802.3 raw帧格式
如图5所示,是Ethernet 802.3 raw类型以太网帧格式。
6字节 6字节 2字节 2字节 44-1498字节 4字节 目标MAC地址源 MAC地址 总长度 0xFFFF 数据 FCS
在Ethernet 802.3 raw类型以太网帧中,原来Ethernet II类型以太网帧中的类型字段被"总长度"
字段所取代,它指明其后数据域的长度,其取值范围为:46-1500。
接下来的2个字节是固定不变的16进制数0xFFFF,它标识此帧为Novell以太类型数据帧。
Ethernet 802.3 SAP帧格式
如图6所示,是Ethernet 802. 3 SAP类型以太网帧格式。
6字节 6字节 2字节 1字节 1字节 1字节 43-1497字节 4字节 目标MAC地址源 MAC地址 总长度 DSAP SSAP 控制 数据 FCS
图6 Ethernet 802. 3 SAP帧格式
从图中可以看出,在Ethernet 802.3 SAP帧中,将原Ethernet 802.3 raw帧中2个字节的0xFFFF变为各1个字节的DSAP和SSAP,同时增加了1个字节的"控制"字段,构成了802.2逻辑链路控制(LLC)的首部。LLC提供了无连接(LLC类型1)和面向连接(LLC类型2)的网络服务。LLC1是应用于以太网中,而LLC2应用在IBM SNA网络环境中。
新增的802.2 LLC首部包括两个服务访问点:源服务访问点(SSAP)和目标服务访问点(DSAP)。它们用于标识以太网帧所携带的上层数据类型,如16进制数0x06代表IP协议数据,16进制数0xE0代表Novell类型协议数据,16进制数0xF0代表IBM NetBIOS类型协议数据等。
至于1个字节的"控制"字段,则基本不使用(一般被设为0x03,指明采用无连接服务的802.2无编号数据格式)。
Ethernet 802.3 SNAP帧格式
如图7所示,是Ethernet 802. 3 SNAP类型以太网帧格式。
6字节 6字节 2字节 1字节 1字节 1字节 3字节 2字节 38 -1492字节 4 字节 目标地源地址 总长度 0xAA 0xAA 0x03 OUI ID 类型 数据 FCS 址
图7 Ethernet 802. 3 SNAP帧格式
Ethernet 802. 3 SNAP类型以太网帧格式和Ethernet 802. 3 SAP类型以太网帧格式的主要区别在于:
?2个字节的DSAP和SSAP字段内容被固定下来,其值为16进制数0xAA。 ?1个字节的"控制"字段内容被固定下来,其值为16进制数0x03。
?增加了SNAP字段,由下面两项组成:
新增了3个字节的组织唯一标识符(Organizationally Unique Identifier,OUI ID)字段, ?
其值通常等于MAC地址的前3字节,即网络适配器厂商代码。
?2个字节的"类型"字段用来标识以太网帧所携带的上层数据类型。
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 II帧格式中Ethertype字段
顺便提供一下各种Ethertype(以太网类型):
知名协议已经分配了 EtherType 值,下面表格中列出了 EtherType 字段中常用值及其对应的协议:
Ethertype ( 十六进协议 制 )
0x0000 - 0x05DC IEEE 802.3 长度
0x0101 – 0x01FF 实验
0x0600 XEROX NS IDP
0x0660 DLOG
0x0661
0x0800 网际协议(IP)
0x0801 X.75 Internet
0x0802 NBS Internet
0x0803 ECMA Internet
0x0804 Chaosnet
0x0805 X.25 Level 3
0x0806 地址解析协议(ARP : Address Resolution Protocol) 0x0808 帧中继 ARP (Frame Relay ARP) [RFC1701]
0x6559 原始帧中继(Raw Frame Relay) [RFC1701]
动态 DARP (DRARP:Dynamic RARP) 0x8035 反向地址解析协议(RARP:Reverse Address Resolution Protocol) 0x8037 Novell Netware IPX
0x809B EtherTalk
0x80D5 IBM SNA Services over Ethernet
0x 80F 3 AppleTalk 地址解析协议(AARP:AppleTalk Address Resolution Protocol) 0x8100 以太网自动保护开关(EAPS:Ethernet Automatic Protection Switching) 0x8137 因特网包交换(IPX:Internet Packet Exchange)
0x 814C 简单网络管理协议(SNMP:Simple Network Management Protocol) 0x86DD 网际协议v6 (IPv6,Internet Protocol version 6) 0x880B 点对点协议(PPP:Point-to-Point Protocol)
0x 880C 通用交换管理协议(GSMP:General Switch Management Protocol) 0x8847 多协议标签交换(单播) MPLS:Multi-Protocol Label Switching
) 0x8848 多协议标签交换(组播)(MPLS, Multi-Protocol Label Switching ) 0x8863 以太网上的 PPP(发现阶段)(PPPoE:PPP Over Ethernet )
以太网上的 PPP(PPP 会话阶段) (PPPoE,PPP Over Ethernet)
0x88BB 轻量级访问点协议(LWAPP:Light Weight Access Point Protocol) 0x88CC 链接层发现协议(LLDP:Link Layer Discovery Protocol) 0x8E88 局域网上的 EAP(EAPOL:EAP over LAN)
0x9000 配置测试协议(Loopback)
0x9100 VLAN 标签协议标识符(VLAN Tag Protocol Identifier) 0x9200 VLAN 标签协议标识符(VLAN Tag Protocol Identifier) 0xFFFF 保留