为什么尽管有路由指标,Windows 仍会使用较慢的网络接口?

为什么尽管有路由指标,Windows 仍会使用较慢的网络接口?

在我之前的笔记本上,戴尔/Broadcom 无线适配器有一个选项,当有线网络连接时,可以自动禁用无线,所以我从来没有处理过多个活动接口。我当前的系统有一个英特尔无线适配器,他们显然还没有弄清楚如何在有线连接时关闭它。除非我明确记得在对接时禁用无线,否则连接是活动的。

这不应该是个问题(理论上),因为路由度量将导致流量通过最快的网络(由路由表中的最低度量表示)。

显然不是——当连接了完好的千兆以太网接口时,我正在运行备份并看到吞吐量为 25Mbps 左右(与 802.11g 一致)。

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254    192.168.1.104     10
          0.0.0.0          0.0.0.0    192.168.1.254    192.168.1.109     25
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306

Windows 已正确识别以太网接口 (.104) 并为其分配了较低 (首选) 度量。因此以太网接口应该被独占使用,对吗?

为什么以太网连接未被使用?还涉及哪些其他因素?(如果存在差异,则这是 Windows 7 的问题)

“route print”命令的完整输出(参见下面的注释):

    C:\>route print
===========================================================================
Interface List
 11...00 18 de 3e 53 82 ......Intel(R) PRO/Wireless 3945ABG Network Connection
 10...00 15 c5 af 80 0e ......Broadcom NetXtreme 57xx Gigabit Controller
  1...........................Software Loopback Interface 1
 17...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 12...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254    192.168.1.104     10
          0.0.0.0          0.0.0.0    192.168.1.254    192.168.1.109     25
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.1.0    255.255.255.0         On-link     192.168.1.104    266
      192.168.1.0    255.255.255.0         On-link     192.168.1.109    281
    192.168.1.104  255.255.255.255         On-link     192.168.1.104    266
    192.168.1.109  255.255.255.255         On-link     192.168.1.109    281
    192.168.1.255  255.255.255.255         On-link     192.168.1.104    266
    192.168.1.255  255.255.255.255         On-link     192.168.1.109    281
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.1.104    266
        224.0.0.0        240.0.0.0         On-link     192.168.1.109    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.1.104    266
  255.255.255.255  255.255.255.255         On-link     192.168.1.109    281
===========================================================================
Persistent Routes:
  None

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
 12     58 ::/0                     On-link
  1    306 ::1/128                  On-link
 12     58 2001::/32                On-link
 12    306 2001:0:4137:9e76:3005:82a:b3a3:1099/128
                                    On-link
 10    266 fe80::/64                On-link
 11    281 fe80::/64                On-link
 12    306 fe80::/64                On-link
 11    281 fe80::11ad:fcef:18ff:97a9/128
                                    On-link
 12    306 fe80::3005:82a:b3a3:1099/128
                                    On-link
 10    266 fe80::9524:5f90:dd0:86fb/128
                                    On-link
  1    306 ff00::/8                 On-link
 12    306 ff00::/8                 On-link
 10    266 ff00::/8                 On-link
 11    281 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None

答案1

现在我们看到了网络路由,您的路由表看起来不错。这应该涵盖不会试图影响网络堆栈的流量。但有些应用程序会尝试自己选择一个接口,通常,这些应用程序会选择它们找到的第一个合适的接口。

因此,让我们确保你的有线接口领先于无线接口。为此,请ncpa.cpl从运行栏运行。在 下Advanced,选择Advanced Settings。在顶部窗格中,找到您的有线接口并选择它。点击右侧的绿色向上箭头将该接口移至顶部。您需要重新启动以确保所有正在运行的程序都看到新的顺序。

(尽管 KB 文章针对的是不同的操作系统,但方法和概念是相同的。)

答案2

这可能会有帮助:http://support.microsoft.com/kb/299540 这意味着指标是专门为您描述的场景分配的。

...除非你的情况是这样的,否则它不起作用。如果无法访问源代码或来自 Microsoft 的确切信息,很难判断 Windows 为何在你的情况下会这样。

我唯一的“猜测”是,也许您的无线接口首先出现,Windows 开始与某些远程机器通信 - 并且这些连接坚持使用它们开始使用的接口,以防止在已建立的对话期间 IP 更改(这会中断连接)。然后您将笔记本电脑插入千兆以太网,Windows 不会将已建立的流量转移到该连接,以避免断开这些连接。

测试方法之一是通过以太网插入,关闭无线,然后验证您是否具有快速连接。然后重新打开无线,看看您是否保持更快的连接。

答案3

这是一个长远的打算,但是如果你正在将备份运行到 LAN 上的另一个本地主机,那么也许情况会以某种方式发生改变。

任何 TCP/IP 堆栈都可以推断,如果网络适配器设置为 192.168.111.1 子网 255.255.255.0,那么它只需从该接口发送流量即可到达 192.168.111.2 至 192.168.111.255 的任何地址。它不会触及默认网关,事实上,Windows 可能出于某种原因“短路”,而懒得查阅直接连接子网的路由表。

也可能是因为 NetBIOS 在两个接口上都发出了广播,然后 Windows 首先通过无线方式收到了来自您机器的回复,因此它继续使用该接口进行进一步的通信。这种可能性很小,我对 NetBIOS 的内部原理了解不多。

相关内容