我用一台笔记本进行千兆GE以太网数据的捕获,流量还是很高的。这种情况下会由于网卡丢包捕获不准确么?普通笔记本电脑的GE网卡如果丢包,那么会是什么问题?如何解决?驱动、硬件性能?

解决方案 »

  1.   


    网卡硬件,可靠的网卡驱动,这种丢包的可能性接近于0;
    协议本身是不是可靠的。例如 UDP 数据包,可能在传输的路途中被路由器丢弃了。
      

  2.   

    是这样的。比如我通过我的笔记本电脑网卡采集以太网数据进行数据协议分析,如果网络流量很高,我的疑问是会不会由于我的网卡本身的硬件以及其驱动问题而产生丢包?比如使用wireshark或者其他的抓包工具进行抓包,那么这里面都会有一个抓包性能可靠性问题。我的疑问是如果出现丢包,会出现在什么环节,如果处在电脑网卡这里,那么我一点办法没有,如果处在应用程序这里,比如wireshark等,那么可以通过软件开发实现不丢包。所以我才有此疑问,到底丢包是不是由于网卡及其驱动造成的?或者是应用软件处理性能不行造成的?
      

  3.   

    我觉得有可能IO操作的速度会跟不上,1000M的话,理论上是125M字节每秒,很少有硬盘会有这个速度,有可能使buffer不够而丢包,而且还要经过内存处理,复制之类的,抓取时丢包的可能就更大。
      

  4.   

    当然,楼上所说的确如此。如果GE的网卡线速捕获,那么磁盘IO必然就是瓶颈,而事实上根本达不到IO的瓶颈就已经出现丢包了。所以基本上不用考虑IO的问题,现在的15000rps的硬盘IO能力应该已经非常不错了。我现在想验证的是如果网络流量达到500mpbs流量,那么这个时候会不会由于网卡及其驱动导致丢包?一直对这个地方很是没底。如果是由于应用程序处理性能问题丢包,那么问题就清晰了,可以说明网卡硬件及其底层驱动没有问题!如果,问题出在网卡及其驱动,那么就严重了,根本没有办法解决!
      

  5.   

    我有同样的疑问,还没有找到答案,想用winpcap抓包,想知道数据到内核缓冲之前是否又丢包,担心自己写的测试程序不好,所以用wareshark,因为wareshark也是用winpcap写的,可是现在的问题是,如果丢包是网络传过来时已经丢包了还是wareshark抓包能力不行导致的丢包呢