计算机网络奖励:查找小于 1500 的 MTU

计算机网络奖励:查找小于 1500 的 MTU

这是我的网络课上的一道加分题:我必须找到一个路径 MTU < 1500 字节的目的地。

例如使用命令

traceroute -F www.uwaterloo.ca 1500有效,但traceroute -F www.uwaterloo.ca 1501无效。

所以我需要找到一个在 1500 以下会失败的目的地(而且它不能是私人网络,那样就是作弊了)。

我怀疑这是一个诡计,因为几乎所有以太网 IP 实现都使用支持 1500 MTU 的以太网 V2 帧格式。

有任何想法吗?

答案1

你有多少时间?你可以暴力破解它。例如像这个 bash 脚本:

while [ 1 ]
do
    ip=`expr $RANDOM \* $RANDOM`;
    traceroute -F -I $i 1472 2>/dev/null >/dev/null
    if [ $? -ne 0 ]
    then
        echo Traceroute with 1472 bytes failed for $i
        exit
    fi
done

注意事项:此消息将 IP 显示为整数,您必须将其转换为以点分隔的八进制格式。另请注意,traceroute 默认使用 ICMP。在这种情况下,您需要将数据大小设置为 1472 字节(1472 + 8 字节 ICMP 标头 + 20 字节 IP 标头)= 1500 字节。

答案2

在互联网上搜索分配给 ADSL 调制解调器的 IP(大多数调制解调器使用 PPPoE 或 PPPoA)。在 ping 测试期间运行tcpdump icmp并注意 ICMP Fragmentation Needed(类型 3,代码 4)。如果您看到,则您找到了目标。

相关内容