我管理着几个 Web 服务器,它们的 MTU 设置默认设置为 1500。有些机器的 MTU 设置为 576。我读过很多关于 MTU 的文章,我觉得我理解得很好,但我对路由器和用户 PC 之间的当前硬件状态没有很好的了解。1500 是在公共 Web 服务器上运行的合理 MTU,还是会给某些用户带来问题?谢谢!fz
我管理着几个 Web 服务器,它们的 MTU 设置默认设置为 1500。有些机器的 MTU 设置为 576。我读过很多关于 MTU 的文章,我觉得我理解得很好,但我对路由器和用户 PC 之间的当前硬件状态没有很好的了解。1500 是在公共 Web 服务器上运行的合理 MTU,还是会给某些用户带来问题?谢谢!fz
简短的回答:“这取决于”。
更长的答案:
通常 TCP 实现路径 MTU 发现算法(RFC1191)。
但是,问题在于中间盒有时会丢弃用于此目的的 ICMP 消息“需要分段,设置 DF 位”。也就是说,它通常不常见——所以你应该对默认的 MTU 1500 没问题——假设你的一方没有不必要地过滤 ICMP,连接失败将是由客户端的错误配置引起的。
如果主机未实现路径 MTU 发现(如果您明确禁用它),则假定 MTU 为 576。这将导致连接性能降低,因此最好不要触摸它。
因此,通常 1500 应该是在绝大多数情况下运行的合理 MTU - 除非您身边的防火墙管理员过分热心地阻止 ICMP并且远程客户端通过具有中间链接的路径连接的非常特殊的情况较小的 MTU。但是,这种情况最好通过重新配置防火墙来解决,所以 1500 应该没问题。
当然,1500 是一个合理的值。
最好的价值确实需要您了解您使用的大量硬件和协议以及它们的工作原理。1500是一个非常合理的起点。
我自己没有使用过,但建议使用SG TCP Optimizer来帮助您调查您的系统。
话虽如此,“这取决于”的答案是非常正确的,如果我试图优化我的网络服务器的速度,我会从我可以更好地控制的东西开始。
弗兰克扎帕 本文准确回答了您的问题,快速阅读:
ftp://ftp.cup.hp.com/dist/networking/briefs/WebMTU.ps