最近发现,我的 ISP 目前正在使用 PPPoA 来验证我的 ADSL 连接。
我想知道此连接使用的最佳 MTU 大小?
答案1
MTU 和 Windows 和默认值:Windows 默认 MTU 为 1500,对于外部网络则为 576。1500 是可以的,除非您正在运行 PPPoE、想要使用 IPSec(安全 VPN)或两者兼而有之,否则它太大了。576 太小,对于宽带互联网来说效率低下!
查找最佳 MTU 的步骤:如果您的 MTU 当前设置得太低,例如 576,则以下步骤将无法检测您是否已找到“最佳 MTU 大小”。首先将设备的 MTU 设置重置为 1500,即其可能的最大大小。对于 PPPoE,您的最大 MTU 不应超过 1492,以便为 8 字节 PPPoE“包装器”留出空间。1492 + 8 = 1500。从那里可以进行实验并找到最佳 MTU 值。对于 PPPoE,风险很高:如果您的 MTU 错误,您可能不仅仅是次优的,上传文件或网页加载等事情可能会停滞,或根本不起作用!我们将要进行的 ping 测试不包括 28 字节的 IP/ICMP 标头。1500 – 28 = 1472。如果您的 ISP 使用 PPPoE,请包括 8 字节 PPPoE 包装器,您将得到 1500 – 28 – 8 = 1464。这些数字的原因很快就会显现出来。要找出您的数据包是否被碎片化,我们使用命令提示符中的 Ping 命令。MTU 的最佳值是您的数据包被碎片化之前的值碎片化。将不会导致数据包碎片化的最大数据包大小加上 28(因为 ping 命令指定了 ping 数据包大小,不包括 28 字节的 IP/ICMP 标头),这就是您的最大 MTU 设置。
以下是具体做法:
Windows 用户:
转到开始/程序/附件/命令提示符并键入(或复制和粘贴)以下内容:
如果您使用 PPPoE 连接到您的 ISP:ping -f -l 1464 www.dslreports.com 如果您没有通过 PPPoE 连接到您的 ISP:ping -f -l 1472 www.dslreports.com(这是破折号小写“L”,而不是破折号“1”。另请注意各部分之间的空格。)
Linux 用户:
如果您使用 PPPoE 连接到 ISP:ping -s 1464 www.dslreports.com 如果您没有通过 PPPoE 连接到 ISP:ping -s 1472 www.dslreports.com
OS X 用户:
如果您使用 PPPoE 连接到 ISP:ping -D -s 1464 www.dslreports.com 如果您没有通过 PPPoE 连接到 ISP:ping -D -s 1472 www.dslreports.com
Linux 和 OS X 命令区分大小写。
下一步:按 Enter。如果您收到“数据包需要分片”错误消息,则将初始的 1464 / 1472 减少 10,直到不再收到“数据包需要分片”错误消息。然后将设置增加 1,直到距离再次收到“数据包需要分片”错误消息只有 1(小于)。如果您可以使用 1464(对于 PPPoE)/ 1472(对于非 PPPoE)的数字进行 ping,并且没有错误消息,则您已完成!停止。将 28 添加到没有错误的最高 ping 数字(对于 PPPoE 和非 PPPoE),该总和就是您的最大 MTU 设置。在您的路由器或 PC(如果您的 PC 直接连接到调制解调器)中使用该(计算的总和)最大 MTU 设置。
参考:
答案2
嗯,我有一个 PPPoA ADSL 连接。
我在下载文件时遇到了麻烦,我打电话给路由器制造商,我们进入了路由器配置页面,当时是 1500,他说把它改成 1400,我们照做了,问题就解决了。也许如果它大一点,例如 1410 或 1420 或更大,效率会更高,而且不会有问题。它肯定不会超过 1500。
我不是专家,但如果规模较大但不是太大,则可能会更有效率。
有一个很棒的网页讨论了如何找到最佳 MTU(如果您遇到问题,可能更相关) http://www.dslreports.com/faq/5793