Jumbo Frames
1. 背景:在1998年,Alteon Networks 公司提出把Data Link Layer最大能传输的数据从1500 bytes 增加到9000 bytes,这个提议虽然没有得到IEEE 802.3 Working Group的同意,但是大多数设备厂商都已经支持 1500bytes 不包含18字节(14+4CRC)。
2. 产生原因:
早在以太网还是处于半双工的网络时,最大的帧规定为1,500比特,这是为了确保任一节点不独占整个网络的带宽。但问题是现在的主机服务器操作系统从硬盘读写的单位为一簇4KB,甚至于更大。如果帧传送的大小不能超过1,500b时,那么iSCSI数据就必然需要成倍的提高发送频率才能满足需要。然而这又导致了TCP/IP协议栈占用CPU过高情况的发生,因为数据的分割、校检、组合等过程处理的帧大大增加。小数据包也导致了带宽易被占用的情况,因为更多的时间花在了帧之间的间隔上,并且帧报头的处理和校检也需要时间。
因此,Jumbo Frame主要是为了提高网络的吞吐率和效率(小的数据报文封装二层信息 时,效率不高),同时减少设备CPU的负担(对于小的报文,CPU花费大量的时间来分片和重组报文)。
3. 定义:Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bytes大的frames
1) Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准
2) Jumbo frame 在full-duplex 的Ethernet网络上运行
3) Jumbo frame定义了一个“link negotiation”协议,来和对端的设备协商,是否对端设备支持使用Jumbo frames
4) 标准的以太网IP报文大小是:1500 bytes,不包含以太网头和FCS的18 bytes(6+6+2+4),如果包含以太网头和FCS,则为1518 bytes
5) Jumbo frame 一般指的是二层封装三层IP报文的值大于9000bytes的报文
4. Cisco 在Gigabit Ethernet上采用的是Supervisor III/IV(引擎),所以支持Jumbo Frames,但是在Ethernet/Fast Ethernet由于采用的Supervisor I/II,所以不支持Jumbo Frame.---因为一般的Cisco设备Supervisor I/II 都是采用的是ASIC的芯片,没有办法支持
5. 为什么是最大为9000 bytes:
1) 4 bytes的CRC最大支持12000 bytes大小的字节,超过了就没有办法检查了
2) 其它的因数可能和NFS等有关系