我找到了很多资料来说明这种情况,但是,我真的在寻找这背后的原因。为什么有必要?有必要吗?
答案1
DF 标志指示路由器(这些路由器通常会因为数据包太大而无法达到链路的 MTU 而对其进行分段,并且可能会因为分段而导致数据包乱序传输),改为丢弃该数据包并返回 ICMP 需要分段数据包,从而允许发送主机考虑到到达目标主机的路径上的较低 MTU。此过程称为“路径 MTU 发现“。
通常,最好不要管 PMTUD,让它自己工作,而不是让您的 TCP 堆栈处理无序的碎片。但是,在某些情况下(主要是当必要的 ICMP 被阻止时),PMTUD 不起作用,连接会中断。
当 PMTUD 无法正常运行并导致连接问题时,您就会想要取消设置 DF 标志。