FCoE帧头包含以太网帧封装代码java:FCoE版本号、控制信息
FC帧头包含:FC帧源/目的地址 , FC的帧内容即是 SCSI指令 、数据和状态信息单元
通常情况下一个普通以太网帧是1500字节,但是一个典型的FC帧最大约为2112字节 。如果这样发送就需要切片发送,到对端在重组,这不仅消耗资源,切片重组有可能造成数据不一致等问题 。于是乎FCoE巨型以太网帧诞生 。它允许以太网帧最大9KB 。不过相对的,如果使用此FCoE帧,要求所有以太网交换机和终端设备都要支持该类型帧的格式 。
以太网的以太网帧格式 下面主要介绍了四种不同格式的以太网帧格式 。
在每种格式的以太网帧的开始处都有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个字节的“类型”字段用来标识以太网帧所携带的上层数据类型 。
- nodejs mongodb封装 mongodb封装和使用
- redis实现类 redisc封装类
- mongodb内嵌文档查询 封装mongodb查询条件
- redis single redis封装类如何使用
- mongodb容器 mongodb封装类
- redis缓存场景 redis缓存封装
- redistemplate泛型封装 redis工具类封装
- redis界面工具 redis工具封装图片
- python redis封装 redis常用封装
- mysql函数定义 mysql函数封装教程
