以太网:无限延伸

ZDNet软件频道 时间:2003-06-17 作者:翻译:javaresearch.org-Abel_Cao |  我要评论()
本文关键词:embedded
嵌入式软件开发者不能与最新的网络技术同步是一种遗憾。但是现在,嵌入式系统已经可以支持10-Mbps的以太网传输速率,甚至支持 100-Mbps (高速以太网) 和1,000-Mbps (吉比特以太网) 接口。
本文译自Builder.com,未经许可请勿转载 嵌入式软件开发者不能与最新的网络技术同步是一种遗憾。但是现在,嵌入式系统已经可以支持10-Mbps的以太网传输速率,甚至支持 100-Mbps (高速以太网) 和1,000-Mbps (吉比特以太网) 接口。10-Gigabit以太网接口也已经露面了。

问题是高速以太网和吉比特以太网以高速率传输1,518-byte 标准以太网数据包。吉比特以太网每秒钟可以收发50,000个包。即使是该速率中的一个小片断,同样需要以太网控制器的中断开销,网络协议开销,而且原始传输速率远大于处理器的能力。

如何使能力不够强大的处理器和软件与这些新的接口匹配呢?答案很简单:很困难。但幸运的事,最新的PCI以太网控制其提供了硬件支持,从而分担了CPU的负荷。

让我们来看一下该控制器的一些特性,对嵌入式系统的网络支持和TCP/IP驱动程序的开发是有益的。

联合中断

不是每个数据包都产生一个中断,而是让控制器每一组数据包才产生一个中断。这样可以减少中断频率,从而减少CPU的开销并提高其吞吐量。

大型数据包

增加以太网数据包的大小相当于减少了每个包的开销。当以太网的误码率高的时候,才采用标准的1,518-byte 数据包。现在,物理层组件和电缆提供了更好的性能,允许大型数据包。

尽管需要特别的驱动程序和路由器的支持,现在通常使用9,000 bytes 的大型数据包。9,000-byte 的限制主要有以下几个原因: 它在12,000-byte 门限一下, 再高的话,32-bit 以太网数据包的CRC 就不那么有效了,另外,他还要与UNIX 网络文件系统(NFS) 的8,192-byte 块加上包头相适应。.

硬件效验的产生与验证

以太网数据包需要CRC 效验,而且大多数以太网控制器将自动产生和验证CRC 效验。

现代的控制器更进一步:你能够只是它们产生和验证IP, UDP, and TCP的头效验,以及包的数据净荷。这就分担了CPU的大量工作,极大的改善了性能。

TCP 的分割

TCP的分割使进一步处理数据包的内容。它允许CPU 给控制器一大块数据,并告诉它自动分割成多个TCP/IP 数据包来传输。

现在使用10-, 100-, or 1,000-Mbps PCI 以太网芯片组来支持全部和部分特性的设备有Broadcom, Intel, 和 National Semiconductors。

对于高速以太网和吉比特以太网的更高级特性,就需要你来改善与10-Mbps以太网的连接了。

即使你不需要使用这些设备,当你需要针对高速网络接口设计网络驱动和TCP/IP协议栈的时候,了解他们还是很有价值的。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134