假设我正在向 IP 地址为 x 的笔记本电脑发送数据,但在数据到达目的地之前,笔记本电脑已移动到另一个网络,现在其 IP 地址变为 Y。
接收器是否仍会以某种方式接收数据或数据包会丢失?
假设我正在向 IP 地址为 x 的笔记本电脑发送数据,但在数据到达目的地之前,笔记本电脑已移动到另一个网络,现在其 IP 地址变为 Y。
接收器是否仍会以某种方式接收数据或数据包会丢失?
数据会丢失。最迟,链中的最后一个路由器将发送一个“谁有 X”的 ARP 请求,但没有得到任何答复,因此它将无法传递数据包。或者,如果它的 ARP 缓存中仍然有 MAC 地址,它会将帧发送到网络上不再存在的 MAC 地址,并且该帧最终会被所有设备忽略。
或者,其他设备同时被分配了IP地址X,所以该设备会应答,路由器会将数据包发送给设备,设备会因为不知道如何处理而将其丢弃。(例如,在 TCP 的情况下,没有与源 IP 和端口匹配的套接字,即使出于某种奇迹,有一个匹配的套接字,序列号也会关闭。)
有一些协议允许设备通信不断变化的 IP 地址,还有一些其他协议允许设备在多个网络中保持 IP 地址,但这些都没有被广泛部署,无论如何,这将改变问题的前提。