即使拔掉电缆后,Windows IP地址也会被缓存?


4

我有一台通过有线和无线连接到网络的PC。当然,它有2个IP地址:192.168.5.111192.168.5.112。(子网掩码255.255.255.0)

像往常一样,PC选择有线IP(192.168.5.111)作为其主IP,无线IP几乎被“ 禁用 ”。这意味着:

1/ No other PC could ping to the wireless IP
2/ No other PC could make a TCP connection to wireless IP.
3/ When I broadcast to "192.168.5.255" or send any UDP packet, the recipients never 
see that sender's address as the wireless IP

这是预期的行为。奇怪的是,当我拔下电缆去掉有线网络时。

1/ Other PCs could now ping my wireless IP
2/ Other PCs could now make TCP connection to wireless IP
3/ BUT : When I broadcasted to "192.168.5.255", no other PC in LAN received my packet.
When other PCs broadcasted to "192.168.5.255", my PC received nothing as well.

我尝试播放“255.255.255.255”,事情按预期工作。但是,收件人将我的IP视为192.168.5.111(未插入的IP而不是 192.168.5.112(我的无线IP)。另一方面,我知道很多专家推荐的“255.255.255.255”广播并不是一个好的解决方案。

当我打开网络设备并禁用“以太网(有线)”设备时,我已经走了一步。之后我可以做No.3 /并按预期工作。

所以我的问题是:我的有线连接是否缓存在我的PC中,如果没有禁用有线设备,我无法通过无线IP正常广播?有没有解决方法来解决这个问题?


实用数据:

当我启用网络适配器(有线和无线)时,这是routeTable:

===========================================================================
Interface List
 11...5c ff 35 0b d8 34 ......Atheros AR8131 PCI-E Gigabit Ethernet Controller
 14...00 26 82 a5 62 82 ......Broadcom 802.11n Network Adapter
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 13...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.5.1    192.168.5.102     30
          0.0.0.0          0.0.0.0      192.168.5.1    192.168.5.104     20
        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.5.0    255.255.255.0         On-link     192.168.5.102    286
      192.168.5.0    255.255.255.0         On-link     192.168.5.104    276
    192.168.5.102  255.255.255.255         On-link     192.168.5.102    286
    192.168.5.104  255.255.255.255         On-link     192.168.5.104    276
    192.168.5.255  255.255.255.255         On-link     192.168.5.102    286
    192.168.5.255  255.255.255.255         On-link     192.168.5.104    276
        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.5.102    286
        224.0.0.0        240.0.0.0         On-link     192.168.5.104    276
  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.5.102    286
  255.255.255.255  255.255.255.255         On-link     192.168.5.104    276
===========================================================================

当我拔下有线网络的电缆时,这是routeTable:

===========================================================================
Interface List
 11...5c ff 35 0b d8 34 ......Atheros AR8131 PCI-E Gigabit Ethernet Controller
 14...00 26 82 a5 62 82 ......Broadcom 802.11n Network Adapter
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 13...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.5.1    192.168.5.102     30
        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.5.0    255.255.255.0         On-link     192.168.5.102    286
    192.168.5.102  255.255.255.255         On-link     192.168.5.102    286
    192.168.5.255  255.255.255.255         On-link     192.168.5.102    286
        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.5.102    286
  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.5.102    286
===========================================================================

是的,DHCP租约只要有效就会被缓存。请查看路由表(route print),以便在拔下插头时检查它是否看起来不正确。此外,通过以太网连接时“禁用”的WiFi绝不是正常的。
丹尼尔B

如果您在写入“(路由打印)以检查它是否看起来不正确”时,您的意思是“缓存的IP仍在路由表中”,那么我确信在拔下电缆时它永远不存在。也许它在路由器中,可能不是吗?
vantrung -cuncon

路由器不能知道它是同一个设备,所以它不是路由器。它也不是Windows,因为它对我来说很好。
Daniel B

Answers:


2

从Windows 7开始,同时有线和无线适配器都处于活动状态存在问题。让我感到惊讶的是,你可以通过并行激活两个适配器来完成更多工作。

根据我的经验,唯一的铸铁解决方案是启用一个适配器而另一个禁用。当另一个适配器接管时,这显然可以清除剩下的任何信息,因此一切都按预期工作。你已经发现了同样的事实。

我确信这是Windows中的一个错误,不允许从一个适配器顺利地转移到另一个适配器。路由表可能没有被清理(您可以使用route命令验证)。唯一干净的解决方案是不要让两个适配器同时处于活动状态。

4章“启用本地连接时自动禁用无线网络连接的 方法”介绍了自动执行此操作的四种方法:在以太网可用时禁用无线适配器,反之亦然。它链接到执行该操作的Visual Basic脚本,这似乎是四者中的最佳解决方案,并描述了如何使该脚本在启动时自动运行。

在HP EliteBook上检测到以太网连接时,在无线无线中描述了另一种解决方案 。在最好的答案包含由任务调度当网络出现故障运行.bat文件。


这似乎是一个稳定但不是全球解决方案,因为一些客户需要同时进行所有连接。例如:用于互联网的wifi和用于打印机,扫描仪甚至其他工作组等的有线电缆。而且,在几乎情况下,有线连接速度更快。因此,通过禁用它,我们消除了客户对速度的便利。
vantrung -cuncon

在这种情况下,Microsoft实现多个网络适配器会产生一些限制/错误。您可以在插入电缆和拔下电源插头进行分析时为您的帖子添加路由表的打印输出。
harrymc 2014年

1
看起来Windows只是复制了两个接口的所有路由条目,其中有线的指标为2x或2xx,无线3x或3xx。但是,当电缆拔出时,我看到广播255.255.255.255条目,公制286保持不变,可能是问题所在。启用/禁用网卡将导致请求来自路由器的所有路由,因此也会清除此剩余路由。另一种方法是运行ipconfig /release然后ipconfig /renew恢复路由表。如果这还不够,请先使用route -f(如果出现问题则重新启动)。
harrymc 2014年

我相信这是几乎所有版本的windows7和windows8的全球性问题。我已经测试了3台具有相同结果的PC。而且我认为您可以使用PC重现它。因此,您可以直接自己更改路由表,看看会发生什么。
vantrung -cuncon

我的计算机上没有两个网络适配器,因此我需要依赖于您的结果。
harrymc 2014年

-1

计算机会记住它所提供的IP,因为它在发送消息时使用它。

当连接落在计算机和路由器之间时,路由器会假定计算机处于脱机状态,并重新使用该IP地址。您的计算机不知道这一点,并开始使用之前给出的相同IP地址。

这种情况非常普遍,无论是wifi还是有线,打开睡眠模式的笔记本电脑。其他人打开他们的笔记本电脑和爱抚板,并取得数字。

解决方法是ipconfig /renew从命令提示符或图标运行。这告诉计算机它需要从路由器获取新号码。


调用“ipconfig / renew”大约需要10秒钟才能执行。你知道IP缓存的确切位置然后我可以在0.1秒内删除它吗?
vantrung -cuncon 2014年

我倾向于认为路由器花费这么长时间的错误。理论上,ipconfig /renew应该直接清除本地缓存,并且路由器需要被抚摸。有时我必须关闭并打开系统的Wifi以正确地做它的事情。
wendy.krieger 2014年

是的,暂时禁用和重新启用适配器似乎是我最好的解决方案。感谢您的回答,帮助我了解有关情况的更多信息。
vantrung -cuncon 2014年

我有一个偶尔会丢失所有无线连接的Surface,因此需要重新启动。iPad也失去了方向,需要以正确的方式进行调整。网络对我来说仍然是神奇的,但ipconfig / renew完全符合它的说法。
wendy.krieger 2014年

2
这绝对不是真的。Windows不会在不验证它们仍然可用的情况下重用缓存的DHCP租约。此外,/renew不清除任何缓存。这是什么/release
Daniel B
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.