MTU最大传输单元

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MTU最大传输单元相关的知识,希望对你有一定的参考价值。

参考技术A 英文名是:Maximum Transmission Unit    中文名是:最大传输单元。

MTU,即Maximum Transmission Unit(最大传输单元),此值设定TCP/IP协议传输数据报时的最大传输单元。

设置多大的MTU值取决于你的上网方式,不同的上网方式支持不同的MTU,这些是一些上网方式的MTU值: EtherNet(一般上网方式,默认值):1500、PPPoE/ADSL:1492、Dial Up/Modem:576。

如何寻找适合自己的mtu值呢?打开命令提示符窗口中输入“ping www.163.ccom -f -l 1472”然后回车。(-l mtU 数值)

为什么要加28个字节。

这个个28字节的大小,其实就是 【ICMP的包头8字节】+【IP包头的20字节】,最后再加上实际的数据大小,就是MTU的大小了。

MTU有什么用?

举一个最简单的场景,你在家用自己的笔记本上网,用的是路由器,路由器连接电信网络,然后访问了www.163.com,从你的笔记本出发的一个以太网数据帧总共经过了以下路径:

笔记本 -> 路由器 -> 电信机房 -> 服务器        其中,每个节点都有一个MTU值,如下:  1500        1500          1500                              笔记本 -> 路由器 -> 电信机房  -> 服务器

标准的以太网数据帧大小是:1518,头信息有14字节,尾部校验和FCS占了4字节,所以真正留给上层协议传输数据的大小就是:1518 - 14 - 5=1500。

PPoE协议头信息为: | VER(4bit) | TYPE(4bit) | CODE(8bit) | SESSION-ID(16bit) | LENGTH(16bit) |                    这里总共是48位,也就是6个字节,那么另外2个字节是什么呢?答案是PPP协议的ID号,占用两个字节,所以在PPPoE环境下,最佳MTU值应该是:1500 - 6 - 2 = 1492。

那么如何设置电脑的mtu值呢。在管理员模式下运行命令指示符,输入netsh interface ipv4 show subinterfaces 可查看本机MTU。

确定要修改的连接,输入命令:

netsh interface ipv4 set subinterface "本地连接" mtu=1000 store=persistent

注:" "内为你想改的连接名称

以上是关于MTU最大传输单元的主要内容,如果未能解决你的问题,请参考以下文章

MTU(Maximum Transmission Unit),最大传输单元

XP系统怎么修改“MTU”值?

MTU & TTL & RTT

MTU的概念,什么是路径MTU? MTU发现机制,TraceRoute(了解)

TCP 协议中MSS的理解

tcp/ip的一些概念