通常人们都认为Jumbo Frame(巨型帧)是*个相对简单的技术,应该被广泛的应用在局域网中,但是情况并非如此。
应该说Jumbo 帧在*些领域里是非常有用的,它是有意设计为加速大文件传输服务的。以太网标准定义的*大帧长度为1518字节,这样*个大的文件就需要被切碎成为若干块,放到多个以太网帧中。而每个数据块传输的时候都会引入帧头和尾的开销。倘若能够用*个大的帧完成文件的传输,则会减少很多帧的开销,提高网络的利用率和传输速率。通常人们认为,这*技术*大的应用瓶颈是在于至今没有标准化。
但是,有些人不这么看,许多人提出了超长帧的以下缺点:它们可能会成为融合网络的障碍。如果人们在网络上传送语音或其他对延迟敏感的内容,不需要有妨碍这些对延迟敏感数据的超长帧传输。有人举例说,超长帧会造成延迟,*旦*个‘大家伙’在线路上传送,它会较长时间占用线路,阻止其他人使用线路,从而造成延迟。
另*位读者提到超长帧可以在*条与其他网络隔离的网络中使用,因此它们不会妨碍其他传输流。存储区域网也许就是这样的*个例子。
但是**,使用超长帧可能不再是*种*势。来自大学的两位用户说,为了了解超长帧是否能实际提高性能,他们测试了超长帧。*位用户谈道:“经过全面的测试后,我们得到的结论是:在使用现代的PC和千兆网卡时,性能提高得很少。超长帧在过去年代里的主要*势是减小高中断率对计算机的影响。但是,3-GHz CPU具有处理千兆流量的充足能力,网卡和驱动程序不再需要每*个数据包都中断*次。我们认为超长帧理论上看是*个不错的想法,但是在实际中它在千兆位时用处不大。10G以太网可能是另*个问题。
另*位用户谈道:“我们发现降低性能的原因不是协议处理开销,而是CPU与网卡缓冲区之间数据移动所产生的延迟和影响。由于DMA(直接存储器存取)尺寸越大,CPU花在设置DMA和其他东西的时间就越少,时延也减少了。随着CPU速度的增加,协议处理开销就变得越来越无足轻重。我们的结论是,如果标准的商品化网卡允许超长DMA传输,你就可以获得更大的性能增益。同时,你不必修改MTU(*大传输单元)大小,打破标准。”
*后,*位来自厂商的人提到了使用巨型帧的几个缺点。**,帧越长意味着如果丢失*帧数据,则是*次更为严重的网络事件,而重新传送丢失的数据包成为更为耗费时间的工作。其次,网络中的每种东西都必须支持超长帧,超长帧才能使用。第三,Internet连接不支持超长帧:*个长度超过Internet连接所支持长度的帧将在发送前被分段,从而大大降低了Internet连接的性能和可靠性。这导致需要每*个工作站都必须知道哪个数据包传送到本地网络,哪个数据包传送到Internet。为了检测线路上的*大数据包长度,IP执行MTU路由发现算法,但是,这不是标准化的作法,并且,由于拒绝服务攻击,许多防火墙不允许与这种算法有关的ICMP数据包通过。因此,超长帧不能在与Internet连接的网络中使用。
=====================================================
国内关于Jumbo帧的讨论并不多,国内*些有识之士,对其应用持肯定态度,但对使用方法提出建议。
Fluke公司蔡昌信*生的看法非常有意思。他对Jumbo帧的看法有两点。**是,他认为帧大小的选择,实际上体现的是数据通信过程中对链路可靠性的*种控制。如果说链路是非常干净的并且很少出现差错,那么这条链路上可以传输非常大的帧,而不必为此付出任何系统开销。但是问题是,人们是否认为他们的链路状况足够好,信任他们的链路状况。
另*方面是,在*条链路上究竟有什么样的数据在传输。如果在*个链路上同时有实时应用的数据和对延迟并不敏感的数据在传输,那么Jumbo帧的使用,会*大地影响到实时应用(蔡*生在此用到了“kill"这个词)。他认为Jumbo帧对于*些比较纯粹的大文件传输是非常有用的,比如说SAN这样的应用。但是如果在*个多种应用混合传输的环境中,并且没有端到端的QoS策略、带宽分配设置,广泛的使用Jumbo帧是非常不理智的事情。
另*位来自厂商的朋友也表达了自己的意见,他认为如果想享用Jumbo帧所带来的好处,就需要*个能够端到端支持Jumbo帧的环境,否则的话在*些地方需要重新切帧,同样会引入更多的开销。
另*方面,支持Jumbo帧需要新的硬件,但是这同样是*个令人非常头痛的事情。这也导致了今天Jumbo帧现在仅仅在*些特殊环境使用,比如在服务器场用于数据的传输。
他个人认为,从长远的角度看Jumbo帧是有好处的,而且不仅IP存储,很多应用都会从中获益。而且,新设备中支持Jumbo帧的越来越多,端到端支持是有希望的。他特别强调要端到端使用才有意义。
另外,他还表示,在1000米的距离上,我们计算传输9K字节长的帧的时间,在高速网络上,并不像*些人担心的那样,会引入巨大的延迟。