我有一台笔记本电脑和一台台式电脑,每次旅行等,我都需要将大量文件同步到笔记本电脑并返回。我将一根 LAN 电缆连接到台式机的一个额外端口,然后将其插入笔记本电脑,这样我就可以获得千兆文件传输,而不是无线 G。它们连接得很好。
例如,如果我使用 LAN IP 地址进行 FTP 传输,速度约为 40MB/s,这是应该的。但是,当我使用资源管理器和本机 Windows 文件共享复制文件时,它会通过名称而不是 IP(例如\\DESKTOP-PC\
而不是\\192.168.0.100\
)检测另一台计算机,并且始终通过其无线 IP 地址而不是更快的 LAN 地址连接到它。
两台电脑都运行的是 Windows 7。我尝试在高级设置中编辑适配器的优先级,并将 LAN 适配器置于 wifi 适配器之上,但这没有任何效果
nbtstat -c 的结果:(在桌面上)
Node IpAddress: [192.168.56.1] Scope Id: []
No names in cache
Local Area Connection: (lan connection, using *.*.1.*)
Node IpAddress: [192.168.1.180] Scope Id: []
No names in cache
Wireless Connection: (wifi connection, using *.*.0.*)
Node IpAddress: [192.168.0.180] Scope Id: []
No names in cache
Hamachi:
Node IpAddress: [0.0.0.0] Scope Id: []
No names in cache
VMware Network Adapter VMnet1:
Node IpAddress: [192.168.126.1] Scope Id: []
No names in cache
VMware Network Adapter VMnet8:
Node IpAddress: [192.168.101.1] Scope Id: []
No names in cache
Local Area Connection 2:
Node IpAddress: [0.0.0.0] Scope Id: []
No names in cache
运行 nbtstat -R 后没有任何变化
答案1
Netbios 缓存名称,因此如果它已经绑定了 IP,它将使用它。要清除缓存,您需要nbtstat -R
在笔记本电脑上发出。如果您在清除缓存后尝试连接,netbios 将在所有接口上发出查询(假设没有打开桌面会话,因此您也需要关闭这些会话),然后名称将绑定到第一个响应,这是不确定的 - 但是在我的小型“实验室”中,它总是“正确”绑定到有线适配器。
假设桌面上的有线连接 IP 是静态的,您也可以使用 LMHOSTS 在笔记本电脑上进行静态绑定。您需要启用 LMHOST 查找(在 TCP/IP 的高级属性中完成),然后在 LMHOSTS 中放入一行(通常位于:C:\Windows\System32\drivers\etc\
,如果您从未使用过它,则只有 LMHOSTS.sam,您需要重命名它或只需创建空的 LMHOSTS:
your.desktop.ip.address your_desktop_computer_name
这仍然需要清除/重新加载 netbios 缓存才能正常工作
编辑:此外,您还可以查看此文档:http://support.microsoft.com/kb/166159因为它似乎提供了一种始终绑定到主适配器的方法,但我还没有测试它是否/如何工作。
与多宿主计算机之间的 TCP 连接 如果连接是使用重定向器的基于 NetBIOS 的连接,则在应用程序级别上可用的路由信息很少。NetBIOS 接口支持通过各种协议进行的连接,并且不了解 IP。相反,重定向器会调用与其绑定的所有传输。如果计算机中有两个接口,并且安装了一种协议,则重定向器可以使用两种传输。调用会同时调用这两种传输。NetBT 使用每个接口的 IP 地址向堆栈提交连接请求。两种调用都可能成功。如果成功,重定向器会取消其中之一。选择取消哪一个取决于重定向器的 IgnoreBindingOrder 注册表值。如果注册表值为 0,则由绑定顺序确定的主传输是首选传输。重定向器会等待主传输超时,然后再接受辅助传输上的连接。如果此值为 1,则忽略绑定顺序。重定向器接受第一个成功连接并取消其他连接。
答案2
迄今为止最可靠的方法是使用目标的以太网 IP 地址进行连接。
有文章建议你使用路由表上的度量来解决这个问题。这是不正确的,也不是一种可靠的方法。