在收到 ping 之前无法通过 LAN ping

eri*_*oco 9 networking unix local-area-network mac-osx ping

我在本地子网上有两台 OSX 机器。从机器A ping 机器B 一直超时,直到机器B ping 机器A。B ping A 后,A 可以成功ping B,但这种成功是暂时的;如果两台机器之间有半小时左右没有通信,从 A 到 B 的 ping 再次开始超时(直到 B 再次 ping A)。

如何确保始终可以从 A 访问 B,而不必先从 B ping A 来“启动”连接?

小智 12

当您说相同的子网时,您是否清楚子网的行业定义,因为它是一个经常被误用的巴洛克术语。

我想澄清一下,您是说两个 OSx 盒子没有被连接这些盒子所在的两个地址方案的路由器(防火墙是有态度的路由器)分开。

您所描述的是由于不存在或配置错误的ARP 修剪计划而遗漏过时 ARP 记录的死机。ARP 是以太网的寻址方法,TCP/IP 地址共同依赖于正确的操作。

您正在详细说明一个系统无法找到另一个系统,直到它首先被同一台计算机找到它才找到,直到它首先被丢失的计算机更新。

如果这是一个 ARP 修剪问题,那么丢失的必须进行第二次 ping 的计算机正在使用其新的 ARP/IP 组合更新您的第一台和错误的计算机,如果它们都在不同的子网上,则是工业级交换机,例如 Cisco 或 NetGear与未配备此类设备的网络相比,专业设备将无缝管理这些记录并防止这种情况频繁发生。

一个很好的问题,机器 B 是配备了更激进的电源管理策略还是不经常使用并被允许挂起/休眠?因为这样做并不是一个完美的事件,Windows 社区在试图节省电费但尚未升级其网络基础设施的大型小型公司网络上存在此问题。因此,PC 出局,他们的 IP 地址被租给其他人或返回地址池并保持未分配状态。您的机器 A 仍然坚持机器 B 必须在这个特定的 IP 地址上,因为它很久以前就被从该地址驱逐了。

通过防止两台机器挂起或关闭它们的 NIC 以节省电力来确认这一点。WiFi 网卡通常使用更多功率并且更积极地管理,因此如果这些是 WiFi 盒,请检查两台机器中的所有电源管理设置,以确保它们保持活动和供电。

TCP/IP 命令比 Mac/Windows 中使用的其他命令共享更多公共部分,在 Win 端,我们arp -a用来转储 IP 和 ARP 的列表,下次您的 B 框无法访问并假设您可以访问它,请访问它首先,在确定其当前 IP 地址之前,不要 ping 任何东西以唤醒任何东西。

然后从A机再次确认找不到B机并执行等价arp -a命令,比较A机的IP(B直到B宣布自己才发现的框),如果IP与A的缓存和B的物理检查不同...您遇到了 ARP 修剪问题,您应该感谢我提供的详细答案。