MTU

MTU 概念

MTU( Maximum Transmission Unit),最大传输单元。用来设置 一个数据包的大小 。相当于一个最高阀值,不能超过它。
比如我们要通过 ftp 传输一段视频 viedo.avi 。
put viedo.avi ,此时,这个数据,从网络模型至上而下历经了
应用层的ftp 到 传输层的 TCP ,此时看到 MTU 为 1500 (不一定是这个数字),于是将数据按照每个包 1500 bytes 分包,以便后续发送出去。

MTU 系统有默认值

MTU 平时我们并不需要设置。数据太大,系统会自动帮你按照默认值分包发送,不需要手动设置。但你可以查询这个值。

查询 windows 本机使用 MTU

命令:ping -f -l 1473  192.168.0.1

正在 Ping 192.168.0.1 具有 1473 字节的数据:
需要拆分数据包但是设置 DF。
需要拆分数据包但是设置 DF。

命令:ping -f -l 1472  192.168.0.1

正在 Ping 192.168.0.1 具有 1472 字节的数据:
来自 192.168.0.1 的回复: 字节=1472 时间=6ms TTL=64
来自 192.168.0.1 的回复: 字节=1472 时间=10ms TTL=64

ping 的参数

-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。 //意思就是按照 -l 给的数值分包。
-l 发送缓冲区大小。//设置一个数据包要多大

系统本身 MTU 默认值是 1472 .
第一次命令的意思是每个包 1473 大小,不分包!你看着办吧。系统回复:一个包我最多放 1472 ,放不下 1473 个字节,干不了!
第二次则将 MTU 值设置为 1472 ,还是不分包,但是系统可以接受这个数值,觉得 ok 了。
说明系统能发送的最大数据包是 1472 (其实最后发送前,还要加上一些身份信息 28 byte,实际上应为 1500 )。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容