
正文
以太网帧封装代码java 以太网的数据帧封装如下图所示
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java实现以太网帧的封装
以太网帧格式以太网帧封装代码java,即在以太网帧头、帧尾中用于实现以太网功能的域。
在以太网的帧头和帧尾中有几个用于实现以太网功能的域以太网帧封装代码java,每个域也称为字段以太网帧封装代码java,有其特定的名称和目的。
IEEE802.3以太帧头如图所示:
扩展:以太网帧格式多达5种以太网帧封装代码java,这是由历史原因造成的。事实上,今天的大多数TCP/IP应用都是用Ethernet V2帧格式(IEEE802.3-1997改回了对这一格式的兼容),而交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3/LLC的帧,VLAN Trunk协议如802.1Q和Cisco的CDP(思科发现协议)等则是采用IEEE802.3SNAP的帧。
前导码(7字节)、帧起始定界符(1字节)、目的MAC地址(6字节)、源MAC地址(6字节)、类型/长度(2字节)、数据(46~1500字节)、帧校验序列(4字节)[MAC地址可以用2-6字节来表示,原则上是这样,实际都是6字节]
相关问答
Q1: FCoE=IP SAN +FC SAN
FCoE(以太网光纤通道)是由美国国家标准委员会定义的一种 融合 网络技术。
FCoE是将FC的帧封装到以太网帧中以太网帧封装代码java,实现在以太网基础设施上传输光纤通道信号的功能。
通常情况下业务前端用的是以太网络提供服务,后端有可能是IP SAN或者是FC SAN。由于前后端的接口有可能不一致,例如以太网的NIC和光纤通道的HBA。数据中心服务器需要为每种专门的网络专门配置一块或多块HBA卡,每种网络需要部署专用的交换机、线缆等其他设备。从维护角度来说并不容易。此外,前后端分离这种方案难以充分利用以太网的扩展性的同时保留光纤通道的高可靠性传输。同时相隔甚远的两个局域网内的存储网络也难以通讯。
上图中LAN网中的主机如果现在需要连接FC SAN网络,所需要的步骤是先关机,加FC HBA卡,部署FC交换机。同时还要购买光纤,复杂成本还高。
结果不用多说,显而易见的简单。
LAN和SAN分开部署需要以下材料
以太网卡、以太网线缆、以太网交换机、FC HBA卡、FC线缆、FC交换机
FCoE部署需要
FCoE卡、FCoE交换机、以太网 线缆
可以看到FCoE交换机可以为LAN主机提供以太网流量,在存储内部可以提供FC流量,为后端主机还可以提供FCoE流量,简直全能。
扩展性
FCoE技术将FC帧封装到了以太网帧中,这就达到一个目的,有IP的网络,我的存储网络便可达。
可靠性
FC协议不允许丢包,但是以太网是允许的。如果FC协议借用一般的以太网来传输那么肯定会造成丢包的现象。于是乎 融合增强型以太网(CEE) 就作为了FCoE网络传输的架构。最终实现无丢包
基于优先级的流量控制(PFC)
我们把CEE传输看作是一个大管道,最外层是以太网数据帧。里面可以存在多个小的管道(虚拟链路)。PFC可以在一条以太网物理链路中创建多个独立的虚拟链路,并且允许暂停和重启其中任何一条虚拟链路。通过对单个虚拟链路上 创建无丢包类别的服务 以供FCoE使用。
增强传输选择
通过对不同的管道(业务流)设定优先级,保证了热点业务的带宽。同时,也允许低优先级业务使用高优先级业务的闲置带宽,避免资源浪费。
拥塞通告
当网络中某个管道发起拥塞,拥塞点会向数据源发送指示来限制引起拥塞的流量。当拥塞消失时,同样也会给一个信号让数据源取消限制。
以太网帧头包含以太网帧封装代码java:源/目的MAC、以太网帧类型和FCoE的VLAN信息
FCoE帧头包含以太网帧封装代码java:FCoE版本号、控制信息
FC帧头包含:FC帧源/目的地址,FC的帧内容即是 SCSI指令 、数据和状态信息单元
通常情况下一个普通以太网帧是1500字节,但是一个典型的FC帧最大约为2112字节。如果这样发送就需要切片发送,到对端在重组,这不仅消耗资源,切片重组有可能造成数据不一致等问题。于是乎FCoE巨型以太网帧诞生。它允许以太网帧最大9KB。不过相对的,如果使用此FCoE帧,要求所有以太网交换机和终端设备都要支持该类型帧的格式。
Q2: 以太网的以太网帧格式
下面主要介绍了四种不同格式的以太网帧格式。
在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,如图1所示。其中,前7个字节称为前同步码(Preamble),内容是16进制数0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。
图1 以太网帧前导字符
除此之外,不同格式的以太网帧的各字段定义都不相同,彼此也不兼容。下面分别介绍下各自的帧格式。 即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式,如图2所示。
图2 Ethernet 802.3 raw帧格式
Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)。
接下来的2个字节标识出以太网帧所携带的上层数据类型,如16进制数0x0800代表IP协议数据,16进制数0x809B代表AppleTalk协议数据,16进制数0x8138代表Novell类型协议数据等。
在不定长的数据字段后是4个字节的帧校验序列(Frame Check Sequence,FCS),采用32位CRC循环冗余校验对从目标MAC地址字段到数据字段的数据进行校验。 Novell在1983年公布的专用以太网标准帧格式,如图3所示。
图3 Ethernet 802.3 raw帧格式
在Ethernet 802.3 raw类型以太网帧中,原来Ethernet II类型以太网帧中的类型字段被“总长度”字段所取代,它指明其后数据域的长度,其取值范围为:46~1500。
接下来的2个字节是固定不变的16进制数0xFFFF,它标识此帧为Novell以太类型数据帧。 IEEE在1985年公布的Ethernet 802.3的SAP版本以太网帧格式,如图4所示。
图4 Ethernet 802. 3 SAP帧格式
从图4中可以看出,在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无编号数据格式)。 IEEE在1985年公布的Ethernet 802.3的SNAP版本以太网帧格式,如图5所示。
图5 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个字节的“类型”字段用来标识以太网帧所携带的上层数据类型。
Q3: 描述以太网帧的结构及各字段的作用
一、
典型帧结构: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。
Q4: 以太网帧格式
以太网数据帧格式由于技术发展的历史原因有5种格式,归类整理,以便学习工作使用。
1、Ethernet II 的以太网帧格式(RFC 894 1984): 以太网Ⅱ Ethernet II RFC 894 1984
帧间隙
每个以太帧之间都要有帧间隙(Interframe Gap),即每发完一个帧后要等待一段时间才能再发另外一个帧,以便让帧接收者对接收的帧作必要的处理(如调整缓存的指针、更新计数、通知对报文进行处理等)。 在以太网标准中规定最小帧间隙是12个字节,其数据为全1 。对于个别的接口,可减少到64(GE)或40比特(10GE),其他的接口都不应该小于12字节。
前导码 (7B)
以太网标准中规定前导码为10101010 10101010 10101010 10101010 10101010 10101010 10101010(二进制),共7字节;
帧开始定界符目 (1B)
帧开始定界符为10101011,共1字节。
目的MAC (6B)
源MAC (6B)
协议类型
负荷
PAD
FCS
注意:
如果PIC卡实际收到的帧间隙、前导码、帧开始界定符,如果跟协议规定的不一样,是不是这个数据帧也会被丢弃?答案是,PIC卡在处理帧间隙时,帧间隙一般可以容忍跟协议规定的不一样(比如不是全1);但前导码、帧开始界定符必须符合协议规定的值,否则当做帧间隙处理,也就是帧被丢弃了。
以太网标准中规定如下帧为无效帧:
a.帧的长度不是整数个字节;
b.用收到的帧检验序列FCS(Frame Check Sequence)查出有错误;
c.收到的帧的负荷长度不在46~1500字节之间。
对于检查出的无效帧就简单的丢弃,以太网不负责重传丢弃的帧。而这些检查,是在接口卡上执行的。
8 0 2 . 3标准定义的帧和以太网的帧都有最小长度要求。 8 0 2 . 3规定数据部分必须至少为3 8字节,而对于以太网,则要求最少要有 4 6字节。(卷一.p16)
Ethernet II以太网帧无LLC子层。
2、Ethernet 802.3 raw帧格式:1983
1983年Novell以当时尚未正式发布的802.3标准为基础,发布其划时代的Netware/86网络套件时采用的私有以太网帧格式;
当两年以后IEEE正式发布802.3标准时情况发生了变化—IEEE在802.3帧头中又加入了802.2 LLC(Logical Link Control)头,这使得Novell的RAW 802.3格式跟正式的IEEE 802.3标准互不兼容;
在Novell的RAW 802.3帧结构中没有标志协议类型的字段,而只有Length 字段(2bytes,取值为0000-05dc,即十进制的0-1500),因此RAW 802.3帧只支持IPX/SPX一种协议;
Ethernet 802.3 raw帧格式 (NOVELL Ethernet 802.3):
目标MAC 6字节
源MAC 6字节
总长度 2字节
0xFFFF 2字节
数据 44-1498字节
FCS 4字节
最小帧长:6+6+2+2+44+4 = 64
最大帧长:6+6+2+2+1498+4 = 1518。
3. Ethernet 802.3 SAP帧格式(IEEE 802.3/802.2 LLC帧格式):1985
这是IEEE 正式的802.3标准,它由Ethernet V2发展而来。它将Ethernet V2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十进制的1500 );并加入802.2 LLC头用以标志上层协议,LLC头中包含DSAP,SSAP以及Crontrol字段;
802.2SAP
为了区别802.3数据帧中所封装的数据类型, IEEE引入了802.2SAP和SNAP的标准。它们工作在数据链路层的LLC(逻辑链路控制)子层。
通过在802.3帧的数据字段中划分出被称为服务访问点(SAP)的新区域来解决识别上层协议的问题,这就是802.2SAP。
LLC标准
LLC标准包括两个服务访问点,源服务访问点(SSAP)和目标服务访问点(DSAP)。每个SAP只有1字节长,而其中仅保留了6比特用于标识上层协议,所能标识的协议数有限。因此,又开发出另外一种解决方案,在802.2SAP的基础上又新添加了一个2字节长的类型域(同时将SAP的值置为AA),使其可以标识更多的上层协议类型,这就是802.2SNAP。
常见SAP值
0:Null LSAP[IEEE]
4:SNA Path Control[IEEE]
6:DOD IP[79,JBP]
AA:SNAP[IEEE]
FE:ISO DIS 8473[52,JXJ]
FF:Global DSAP[IEEE]
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网络环境中。
目MAC 6字节
源MAC 6字节
总长 2字节
DSAP 1字节
SSAP 1字节
控制 1字节
数据 43-1497字节
FCS 4字节
最小帧长:6+6+2+1+1+1+43+4 = 64。
最大帧长:6+6+2+1+1+1+1497+4 = 1518。
4、802.3标准的以太网帧格式 (RFC1042 1988):
协议标准802.3 SNAP
长度:包含他之后除了CRC的部分。
DSAP:0XAA (固定值)
SSAP:0XAA (固定值)
control:全0 (固定值)
type:上层协议类型
Ethernet 802.3 SNAP帧格式: 标准以太网 802.3 RFC 1042 1988
目标MAC 源MAC 总长 0xAA 0xAA 0x03 OUI_ID 类型 数据 FCS
6字节 6字节 2字节 1字节 1字节 1字节 3字节 2字节 38-1492字节 4字节
最小:6+6+2+1+1+1+3+2+38+4 = 64
最大:6+6+2+1+1+1+3+2+1492+4 = 1518
Ethernet V2 比 IEEE802.3 更适合于传输大量的数据,但Ethernet V2缺乏数据链路层的控制,不利于传输需要严格传输控制的数据,这也正是IEEE802.3的优势所在,越需要严格传输控制的应用,越需要用 IEEE802.3或SNAP来封装,但IEEE802.3也不可避免的带来数据装载量的损失,因此该格式的封装往往用在较少数据量承载但又需要严格控制传输的应用中。
在实际应用中,我们会发现,大多数应用的以太网数据包是EthernetV2的帧(如HTTP、FTP、SMTP、POP3等应用),而交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3的帧,VLANTrunk协议如802.1Q和Cisco的CDP(思科发现协议)等则是采用IEEE802.3 SNAP的帧。如STP对应的帧如下,抓包格式为IEEE 802.3,LLC中的DSAP=SSAP=0X42普通的TCP报文如下,抓包显示为ETHERNET II格式,其实LLC中DSAP=0X06
5、Ethernet 1 帧格式和EthernetⅡ是一样的。只是EthernetⅡ物理接口和电器特性在EthernetⅠ上有所更改。
以太网历史:
对于以太网的帧格式种类多达5中有其历史原因:
1980 DEC,Intel,Xerox制订了Ethernet I的标准
1982 DEC,Intel,Xerox又制订了Ehternet II的标准 以太网事实上的标准帧格式
1982 IEEE开始研究Ethernet的国际标准802.3
1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式 802.3 RAW
1985 IEEE推出IEEE 802.3规范SAP后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式。
DATE 2019-06-13
以太网帧封装代码java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于以太网的数据帧封装如下图所示、以太网帧封装代码java的信息别忘了在本站进行查找喔。








