menu

秋梦无痕

一场秋雨无梦痕,春夜清风冻煞人。冬来冷水寒似铁,夏至京北蟑满城。

Avatar

IP报文丢失

分片后的IP包,如果没有下一跳的MAC地址就会100%丢的原因:
在Stevens的TCP/IP Illustrated Volume 1(e文版 p157 11.9)描述了这样一种情况:当你发送一个大数据报(需要分片,该书中举例需分6片)而数据报的下一条的mac地址不在你的arp缓存中时,会发生什么情况?
数据报分片后的第一片被发送时,由于发送主机的arp缓存中没有下一跳主机的mac地址,将导致链路层发送arp请求报文。在arp reply到达之前该数据报的后续分片也将发送,每次发送时又将导致产生一次arp request。假设所有的数据报分片都在主机收到arp reply之前被发送,那将只有数据报的最后一个分片被发送到目的主机。其余分片都并没有被缓存而是直接discard了。书中原文:Most implementations keep only the last packet sent to a given destination while waiting for an ARP reply.

评论已关闭