以前收集的一些资料给你参考一下
__________________________
原帖由 liangliang777 于 2006-2-3 19:15 发表
双机互联,1台是10M/100M自适应网卡,一台集成10M/100M/1000M自适应网卡,连接后显示连接速度是100M,那传输速度不是应该是每秒12.5M左右吗?? 是 我 的 传 输 速 度 只 有 大 约 每 秒 4M,比如1G的文件要4分多 ...
你的测试有问题,你的网卡工作在物理层和数据链路层,可是你却在应用层作测试,这个测试本身就是可笑的!
你的测试应该说是一个对整个计算机应用系统在特定网络环境下进行的一次压力测试,绝对不是对网卡的测试。
网卡的最大数据吞吐率是100兆/秒,但是他是物理层的速度,她要包括7个字节的前同步码、1个字节的桢开始界定副,还有数据链路层:6个字节的目的地址、6个字节的原地址、2个字节的类型(如果802.3则是长度),如果有llc子层还要包括3个字节,还有数据链路层的4个字节的crc32的校验和;还有网络层,应该是IP协议吧?ip包头固定最小20字节....还有tcp头最小20字节。。还有他们的FCS字段。。。。还有微软自己复杂的应用层协议要增加大量的头部数据,他们都要分享你的带宽...
tcp的握手、确认等等都要消耗掉大量的数据传输
而且你的网卡工作于一个基于共享的pci总线.....
你网卡的IRQ中断不可能被cpu完全做到立刻相应。。。
你的硬盘的工作速度....
网线和其他的电磁兼容性问题导致物理层的数据丢失、变形而被丢弃,2层、3层都不进行主动的数据重传,要到tcp甚至如果使用udp要到应用层才有可能因为数据超时导致重传.... 这也等于降低了速度
非常多的理由导致你的网卡不可能像你想象的那么快速
你的网卡现在实际工作于全双工状态,他每个方向都有100兆的速度。