我曾经听到这么一个故事: 一个年轻的程序员问一个老程序员(一个比较牛逼的公司的CTO) 年轻程序员: 你为什么这么牛X., 就好像没有你不会的。老程序员: 积累的。年轻程序员: 怎么才能积累到您的程度呢。我每天都在积累。但是似乎都没有感觉到进步。老程序员: 我从20岁开始做到了一件事情,直到今天,而且尽可能地保证不间断。年轻程序员: 到底是什么? 老程序员: 我每天保证自己有2个小时在学习新的东西。

Jumbo frames

上一篇 / 下一篇  2012-08-03 15:07:39 / 个人分类:network

From:

http://en.wikipedia.org/wiki/Jumbo_frame

http://blog.csdn.net/leolinux/article/details/6946843


Incomputer networking,jumbo framesareEthernet frameswith more than 1500 bytes of payload. Conventionally, jumbo frames can carry up to 9000 bytes of payload, but variations exist and some care must be taken when using the term. ManyGigabit Ethernetswitches and Gigabit Ethernet network interface cards support jumbo frames. SomeFast Ethernetswitches and Fast Ethernet network interface cards also support jumbo frames.[1]Most national research and education networks (such asInternet2/NLR,ESnet,GÉANT, andAARNet) support jumbo frames, but most commercial Internet service providers do not.[citation needed]

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等有关系


TAG:

 

评分:0

我来说两句

Open Toolbar