真实世界中的 PMTUD

💡 原文中文,约35800字,阅读约需86分钟。
📝

内容提要

本文讨论了在MSS协商失败的情况下,为什么curl https://x.com可以访问,但是curl https://accounts.google.com不可以。作者通过实验发现,这些网站可能实现了PMTUD(Path MTU Discovery),即在TCP握手时根据本地网卡信息协商MSS。作者还尝试了在虚拟机中模拟MTU最大为800的环境,并通过iptables丢弃超过800字节的包。实验结果显示,对于accounts.google.com,服务器一直尝试发送大小为1400的包,但被丢弃并重发,最终发送成功。作者还尝试了发送ICMP消息,但结果与之前相同。作者推测可能是公网发送ICMP消息的问题。

➡️

继续阅读