原生 Windows 7 出现数据包丢失,但 Mac、Linux、WinXP 或 VM'd Win7 上没有出现数据包丢失。怎么回事?

原生 Windows 7 出现数据包丢失,但 Mac、Linux、WinXP 或 VM'd Win7 上没有出现数据包丢失。怎么回事?

我管理着几台较新的戴尔笔记本电脑和台式机,它们使用类似的以太网硬件——台式机使用 Intel I217-LM,笔记本电脑使用 Intel I218-LM。它们都在 Windows 7 中运行相同的英特尔驱动程序,当前为“Intel(R) PROSet 版本:18.1.59.00”,或驱动程序版本为“12.11.77.0, 2/11/2014”(不确定这两个版本的用途,但无论如何)。

这些机器在将数据包丢到我们本地校园网中几跳之外的服务器时遇到了问题。我针对这些问题的诊断工具每次运行ping -t -l 3500 targetserver01几个小时,并将丢包数量与控制数量进行比较。

我发现这些新机器每小时会丢掉几十个数据包,而隔壁的一台老旧台式机几乎不会丢掉任何数据包。我上次进行的试验显示,这台老旧台式机在 2.5 小时内丢掉了 14 个数据包,而所有新机器在相同时间段内丢掉了 110 到 130 个数据包。即使在 wifi 上运行相同的笔记本电脑,它们丢掉的数据包也比使用以太网时少。我还控制了网络基础设施——我目前 100% 确定(+/- 10%)与此问题同时出现的变量是 Windows 上的 Intel 以太网驱动程序,这一点可以通过将其中一台笔记本电脑启动到 USB 上的 Ubuntu 来证明。在完全相同的 Intel 芯片组上运行默认的 Ubuntu 驱动程序时,问题消失,数据包丢失率又回到了“老旧台式机”控制范围内。

我尝试了设备管理器中驱动程序设置中所有我能找到的设置,但都无济于事。这些机器需要运行 Windows 软件,所以我不能在所有机器上都安装 Linux。目前我最好的解决方法是为所有这些机器购买 USB 以太网适配器,以代替内置接口,但我想一定有更好的方法,因为问题出在驱动程序软件上,而不是接口本身。

我发现了这个问题,这似乎表明我不会找到该英特尔芯片组的“通用”驱动程序:

WINDOWS 通用以太网驱动程序

那么,我有什么选择?这是否值得进一步研究,也许可以在受影响的机器上运行 WireShark?英特尔会接受用户反馈吗?

编辑:

新驱动程序没有造成任何影响。目前我访问的所有 Windows 7 计算机都受到影响,除了在 iMac 上运行的虚拟机。虚拟机没有遇到约 1% 的数据包丢失问题。

下一步是同时测试 ping 该办公室和服务器之间的每个路由器(只有 2 个),了解如何使用 NTttcp,并找到另一台使用不同芯片组的原生 Windows 7 机器。我会报告的。

哦,我还用 USB 以太网适配器做了试验,结果发现数据包丢失率也大约为 1%。所以现在我感到很奇怪。

新问题:我怎样才能阻止自己慢慢陷入疯狂?


第二次编辑:

毕竟,这终于开始看起来像是网络问题了。仍然没有机会探索一些建议的分析工具(但谢谢你),但过去 24 小时内,以前未受影响的机器的性能已经开始下降——现在我的测试已经将问题缩小到路由中第一个交换机之后的任何设备——ping 到同一交换机上同一办公室的机器成功,数据包丢失率为 0%。

答案1

如果网络人员没有发现交换机上有任何错误,您可能需要查看您自己的端口上的网络错误...不幸的是,在一场让一切都变得“用户友好”的竞赛中,微软将该信息埋得太深了,您需要使用 Regedit 才能看到一些东西。

以下是我发现的在 Windows 7 中启用以太网错误报告的方法:

Show errors in addition to the amount of sent/recieved packets.

As you probably know, the Network Connection Status window shows the number of packets received and sent via the adapter. However, you can perform a registry hack to show the amount of errors as well, which can help alert you of network problems. To do this, add the following key and value:

Hive: HKEY_LOCAL_MACHINE

Key: SYSTEM\CurrentControlSet\Control\Network\Connections\StatMon

Value Name: ShowLanErrors

DWORD Value: 0 = default, 1 = enable error count

答案2

您是否在 Linux 系统上安装了英特尔驱动程序?因为如果您安装了,那么是什么版本?因为当我在 Google 上搜索英特尔 I218-LM 时,我发现了 4 月份发布的新驱动程序。所以您可能需要研究一下。(在英特尔网站上) https://downloadcenter.intel.com/SearchResult.aspx?lang=eng&ProductFamily=Ethernet+Components&ProductLine=Ethernet+Controllers&ProductProduct=Intel%C2%AE+Ethernet+Connection+I218-LM

如果没有,那么您应该尝试一下以获取更多信息。

我们能获得更多关于您使用的戴尔笔记本电脑和台式机的信息吗?或者只是有关一般设置的更多信息...(我建议从戴尔网站获取特定于您的台式机和笔记本电脑的网络驱动程序,而不是去英特尔...)

为了获得有关该问题的更多信息,我建议带一台您知道没有任何问题的 Windows 7 计算机,然后将其连接到网络。

编辑:是的,英特尔确实有一个支持中心,你可以联系他们,而且他们似乎也有一个论坛(不太确定最后一个)

答案3

自四月份以来,英特尔推出了更新的驱动程序:版本 19.1,你可以尝试一下。

还可以在事件查看器中查找丢帧的计算机。

答案4

关闭所有烦人的电源管理设置或完全禁用网络接口上的 IPV6。这两种方法都可以解决此网卡的大部分问题。

http://en.community.dell.com/support-forums/desktop/f/3514/t/19523337.aspx

相关内容