阅读:1742回复:7
高速网卡驱动
NDIS的效率应该还是不错的,有测试报告称千兆以太网的实际传输率可以达到700Mbps,这可真是个了不起的数字。但是支持高速网卡的驱动都得有Task Offload的功能,通常还需要Jumbo Frame,否则速度快不了。如果没有这些特性,能达到20M字节每秒就很不容易了,以以太网为例,每帧数据长度是1500字节,如果系统每秒传输30M字节,也就有20000帧,也就有两万次中断,这个数字恐怕是系统难以承受的。因此,开发高速网卡的驱动程序看来需要一些特殊的技巧
哪位大侠有高速(实际传输率至少100Mbps以上)网卡驱动方面的经验,不知可否介绍一下。 |
|
沙发#
发布于:2002-06-24 12:02
不是每个包都会产生中断的.开个大点的BUFFER,收上十个八个包再中断就行了嘛.
|
|
|
板凳#
发布于:2004-04-27 15:33
NDIS的效率应该还是不错的,有测试报告称千兆以太网的实际传输率可以达到700Mbps,这可真是个了不起的数字。但是支持高速网卡的驱动都得有Task Offload的功能,通常还需要Jumbo Frame,否则速度快不了。如果没有这些特性,能达到20M字节每秒就很不容易了,以以太网为例,每帧数据长度是1500字节,如果系统每秒传输30M字节,也就有20000帧,也就有两万次中断,这个数字恐怕是系统难以承受的。因此,开发高速网卡的驱动程序看来需要一些特殊的技巧 你能否再详细说明一下Task Offload和Jumbo Frame或相关资料连接,谢了!! 哪位大侠有高速(实际传输率至少100Mbps以上)网卡驱动方面的经验,不知可否介绍一下。 [编辑 - 5/12/04 by flyhobo] |
|
|
地板#
发布于:2004-05-12 17:01
再次关注
顶 |
|
|
地下室#
发布于:2004-05-12 17:16
NDIS的效率应该还是不错的,有测试报告称千兆以太网的实际传输率可以达到700Mbps,这可真是个了不起的数字。但是支持高速网卡的驱动都得有Task Offload的功能,通常还需要Jumbo Frame,否则速度快不了。如果没有这些特性,能达到20M字节每秒就很不容易了,以以太网为例,每帧数据长度是1500字节,如果系统每秒传输30M字节,也就有20000帧,也就有两万次中断,这个数字恐怕是系统难以承受的。因此,开发高速网卡的驱动程序看来需要一些特殊的技巧 Jumbo Frame是没有意义的,因为如果接收端的网卡不支持Jumbo Frame那样就收不到这个包,一般Jumbo Frame只用在局域网中同一类型的卡上(如网卡对连)。 高速网卡一般都支持中断均衡,即可以指定在连续多少个包(中断)之后才出发一个中断,或者支持定时器,所以中断也不是问题 |
|
5楼#
发布于:2004-05-16 10:56
应该不是每一帧中断一次吧,
高速网卡是不都该有一个高速缓存,可以设定在有多少空闲缓存的时候就中断一次,让你可以及时写入等待发送的数据?接收也是相同的情况,我都是猜的哈! |
|
6楼#
发布于:2004-05-19 13:31
我的理解:可以开大的buffer,一次接受到数个包之后来一次中断。驱动将这些包拷贝到系统内存中再由上层协议处理。
我们这里做的高速板卡是由DSP和FPGA实现数据包的拆封和收发,而驱动程序可以跟DSP交互进而对收发包进行控制,避免频繁中断。 |
|
7楼#
发布于:2004-05-19 13:38
我们这里做的高速板卡是由DSP和FPGA实现数据包的拆封和收发,而驱动程序可以跟DSP交互进而对收发包进行控制,避免频繁中断。
你能详细说说驱动程序怎么和DSP交互嘛? |
|
|