06. 番外篇 什么是MTU为什么MTU值普遍都是1500

06. 番外篇 什么是MTU为什么MTU值普遍都是1500,第1张

大学那会我玩魔兽世界,我的职业是法师,然后经常有朋友找我我带小号,带小号的方式是冲到血色副本里面把所有怪拉到一起,然后一起用AOE技能瞬间杀掉,在学校玩的时候没什么问题,但是放假在家的时候,我发现每次我拉好怪,放技能AOE的那个瞬间,很大概率会掉线,也不是网速问题,当时很多人也遇到同样的问题,看到个帖子说,把自己的MTU改成1480就行了,当时也不知道啥是MTU,就改了,发现还真的可以,就愉快地打游戏去了,多年以后我才知道MTU的重要性。

Maximum Transmission Unit,缩写MTU,中文名是:最大传输单元。

从下面这个表格中可以看到,在7层网络协议中,MTU是数据链路层的概念。MTU限制的是数据链路层的payload,也就是上层协议的大小,例如IP,ICMP等。

举一个最简单的场景,你在家用自己的笔记本上网,用的是路由器,路由器连接电信网络,然后访问了 >

含义:指一种通信协议的某一层上面所能通过的最大数据包大小,最大传输单元这个参数通常与通信接口有关。

协议数据单元的包头和包尾的长度是固定的,MTU越大,则一个协议数据单元的承载的有效数据就越长,通信效率也越高,MTU越大,传送相同的用户数据所需的数据包个数也越低。

MTU也不是越大越好,因为MTU越大,传送一个数据包的延迟也越大,并且MTU越大,数据包中bit位发生错误的概率也越大,MTU越大,通信效率越高而传输延迟增大,所以要权衡通信效率和传输延迟选择合适的MTU。

实验拓扑如下,linux向R2发送IP分片,并在R2接口上抓包。

  ICMP包校验和是连通头部信息加数据本身一起进行校验(ip包只需要校验头部信息)而Scapy自动添加ICMP校验和时只会计算第一分片的数据,当三个分片到达目标主机进行重组后校验不通过,将重组后的数据包丢弃;因此在手动设置IP分片时,需要手动将校验和添加入ICMP首部中。

由于手动计算校验和过程较复杂,可通过wireshark抓包,可以获取到正确的校验和。

抓包结果如下,由于单个数据包长度超过MTU,系统自动将ICMP request包分片发送,同样的ICMP reply系统也进行了分片。

  当主机发送分组的长度超过MTU又不可以分片(IP flags位DF置1),则这个分组丢弃,并用ICMP差错报文向主机报告。

参考:( >

以上就是关于06. 番外篇 什么是MTU为什么MTU值普遍都是1500全部的内容,包括:06. 番外篇 什么是MTU为什么MTU值普遍都是1500、网络校验网MTU值是什么、网络技术术语MTU是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9657800.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存