MTU

最大传输单元(MaximumTransmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。

MTU分二层MTU和三层MTU,二层MTU不能改变,三层MTU可以改。

Router#sh ip int f0/0

FastEthernet0/0is up, line protocol is up

Internetaddress is 10.1.1.1/24

Broadcastaddress is 255.255.255.255

Address determined by setup command

MTU is 1500 bytes  #三层MTU

Router#sh int f0/0

FastEthernet0/0is administratively down, line protocol is down

Hardware is AmdFE, address is c800.17d4.0000 (bia c800.17d4.0000)

MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec         #二层MTU

因特网协议允许IP分片,这样就可以将数据包分成足够小的片段以通过那些最大传输单元小于该数据包原始大小的链路了。这一分片过程发生在网络层(OSI 模型的第三层),第四层为传输层,传输层是 OSI 模型中最重要的一层,这里是根据窗口控制传输,而非MTU。传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。例如,以太网无法接收大于1500字节的数据包。发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组,该过程即被称为排序。它使用的是将分组发送到链路上的网络接口的最大传输单元的值。原始分组的分片都被加上了标记,这样目的主机的TCP层就能将分组重组成原始的数据包了。

在因特网协议中,一条因特网传输路径的“路径最大传输单元”被定义为从源地址到目的地址所经过“路径”上的所有IP跳的最大传输单元的最小值。或者从另外一个角度来看,就是无需进一步分片就能穿过这条“路径”的传输单元的最大值。

RFC 1191描述了“路径最大传输单元发现方法”,这是一种确定两个IP主机之间路径最大传输单元的技术,其目的是为了避免IP分片。在这项技术中,源地址将数据报的DF(Don't Fragment,不要分片)位置位,再逐渐增大发送的数据报的大小——路径上任何需要将分组进行分片的设备都会将这种数据报丢弃并返回一个“数据报过大”的ICMP响应到源地址——这样,源主机就“学习”到了不用进行分片就能通过这条路径的最大的最大传输单元了。

不幸的是,越来越多的网络封杀了ICMP的传输(譬如说为了防范DDOS***)——这使得路径最大传输单元发现方法不能正常工作,其常见表现就是一个连接在低数据流量的情况下可以正常工作,但一旦有大量数据同时发送,就会立即挂起(例如在使用IRC的时候,客户会发现在发送了一个禁止IP欺骗的ping之后就得不到任何响应了,这是因为该连接被大量的欢迎消息堵塞了)。而且,在一个使用因特网协议的网络中,从源地址到目的地址的“路径”常常会为了响应各种各样的事件(负载均衡、拥塞、断电等等)而被动态地修改——这可能导致路径最大传输单元在传输过程中发生改变——有时甚至是反复的改变。其结果是,在主机寻找新的可以安全工作的最大传输单元的同时,更多的分组被丢失掉了。

对于时下大多数使用以太网的局域网来说,最大传输单元的值是1500字节。但是像PPPoE这样的系统会减小这个数值,这就使得在使用最大传输单元发现方法时可能会产生这样的结果:一些处于配置不当的防火墙之后的站点变得不可达了。对于这种情况,还是可能找到变通的方法的,但这取决于你控制的是网络的哪一部分。这些方法包括改变用来在防火墙一端建立TCP连接的第一个分组的MSS(Maximum Segment Size,最大分段大小)。

对于一些支持老版本以太网协议的IBM系统(例如XSeries),可能只有在把最大传输单元设为1492之后才能在当下常见的局域网上进行运作。

普通媒体的MTU表

如何检测网关的MTU

在本机打开dos窗口,执行: ping -f -l 1472 192.168.0.1 其中192.168.0.1是网关IP地址,1472是数据包的长度。请注意,上面的参数是“-l”(小写的L),而不是“-1”。如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。如果出现: Packet needs to be fragmented but DF set. 表示数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。从1400到1472之间多试几次,就能找到合适的数据包长度了。把数据包长度加上数据包头28字节,就得到MTU的值。如果检测到网关的MTU值是1500,不需要修改。如果网关有防火墙ping不通,可以试试直接把MTU设为1400。

如何修改本机的MTU

修改方法如下:

Windows平台下

1、运行regedit

2、打开:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

3、Interfaces下有多个子项,每个子项对应一个网卡。请按如下方法选择网卡:

A、确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;

B、用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;

C、如果IPAddress的键值与A中的IP相同,即192.168.0.19,则该子项就是要找的网卡。

4、进入该子项,在右边的窗口里按鼠标右键,选择“新建”->“DWORD 值”,输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口,填入MTU的值(一般为十进制的1480)。

填写前请先把基数设为十进制。设置好后,需要重启机器才能生效。

Windows 7(XP、Vista未实测)

1、使用管理员权限运行cmd

2、使用netsh interfaceipv4 show subinterfaces命令看看MTU以及本地连接名称。

3、使用netsh interfaceipv4 set subinterface "本地连接" mtu=1000 store=persistent

(注:这里的连接名是你使用上面命令看到的MTU值对应的这个连接名,他在右边显示。)

附:1、此方法不用重启;2、如是ipv6就将上面的ipv4改成ipv6

Linux下可使用如下命令修改 需要root权限

ifconfig网卡MTU值

如 ifconfig eth0 mtu 1460

MaxMTU是最大的TCP/IP传输单元,在TCP/IP协议中,将要传输的数据分成较小的组进行传输,每个组的大小为576字节。Windows默认的字节为1500,这是以太网的分组标准。ADSL使用的 PPPoE略小于这个数值,一般为1492。而某些网站采用的MaxMTU大于1492,所以,可能导致某些网页不能访问。修改Windows默认的MaxMTU可以解决这个问题。不论是 PC机上安装的PPPoE软件或者是内置在Modem的 PPPoE软件,在使用中都有可能遇到这个问题。如果使用路由器出现此种情况, 请在防火墙配置 => 基本设定里, 将MTU改为手工, 设置为 1492 即可. 那如何确定路由器从ISP获得的 MTU 为 1500, 请见附件圈出的位置.

网络中一些常见链路层协议MTU的缺省数值如下:

FDDI协议:4352字节

以太网(Ethernet)协议:1500字节

PPPoE(ADSL)协议:1492字节

X.25协议(Dial Up/Modem):576字节

Point-to-Point:4470字节

如果在IP层要传输一个数据报比链路层的MTU还大,那么IP层就会对这个数据报进行分片。一个数据报会被分为若干片,每个分片的大小都小于或者等于链路层的MTU值。当同一网络上的主机互相进行通信时,该网络的MTU对通信双方非常重要。但当主机间要通过很多网络才能通信时,对通信双方最重要的是通信路径中最小的MTU,因为在通信路径上不同网络的链路层MTU不同。通信路径中最小的MTU被称为路径MTU。

---------------------------------------------------------------------------------------------------------------------------------------------

转载于:https://blog.51cto.com/luost/1687299

MTU(最大传输单元)相关推荐

  1. 【网络协议】TCP分段与UDP/IP分片 (MTU最大传输单元,MSS最大分段大小)

    我们在学习TCP/IP协议时都知道,TCP报文段如果很长的话,会在发送时发生分段,在接受时进行重组,同样IP数据报在长度超过一定值时也会发生分片,在接收端再将分片重组. 我们先来看两个与TCP报文段分 ...

  2. 关于MTU最大传输单元的百科

    通信术语 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位).最大传输单元这个参数通常与通信接口有关(网络接 ...

  3. 【网络】什么是最大传输单元 ( MTU)|MTU 优化

    目录 最大传输单元MTU 最大传输单元 (MTU) IP 分段(IP Fragmentation) Path MTU Discovery 关于网络编程中MTU.TCP.UDP优化配置的一些总结 TCP ...

  4. 【网络】什么是MTU|MTU 优化|最大传输单元

    目录 最大传输单元MTU 最大传输单元 (MTU) IP 分段(IP Fragmentation) Path MTU Discovery 关于网络编程中MTU.TCP.UDP优化配置的一些总结 TCP ...

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

    最大传输单元,是一个数据链路层的概念,它限制了其上层协议的最大载荷: 以太网是 1500字节 一个标准的以太网帧长度: 14字节(头部信息) + 4字节(CRC检验) + 1500字节(MTU) = ...

  6. 最大传输单元(MTU)

    最大传输单元 维基百科,自由的百科全书 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位).最大传输单元这个 ...

  7. 什么是最大传输单元(MTU)?什么又是最大分段大小(MSS)以及如何计算?

    目录 什么是最大传输单元(MTU)? 什么是 MTU(最大传输单元)? 什么是MSS(最大分段大小)以及如何计算? TCP最大段大小(MSS)以及与IP数据报大小的关系 什么是最大传输单元(MTU)? ...

  8. 【Windows MTU】Windows上最大传输单元MTU值的查看和设置

    Win11 22000.120 IPv6 MTU 值怎么是 1472,Win10 中却是 1500 ? 以管理员 cmd 输入: netsh interface ipv4 show subinterf ...

  9. 最大可传输单元 MTU 对 UDP/TCP 包的大小限制

    目录 一.MTU 简述 - 分包后数据包最大长度 1.定义 2.网络中 MTU 值的由来: 1>.最大值: 2>.最佳值的推导: 3>.最佳值: 4>.最小值: 5>.碎 ...

最新文章

  1. UIWebView滚动监听
  2. 重磅:国家正式出台学术不端行为界定
  3. 关于 automation服务器对象不能创建
  4. 在tensorflow中的网格图问题--np.mgrid()
  5. java hashmap扩容大小_HashMap的扩容机制以及默认大小为何是2次幂
  6. Ubuntu 16.04 UUID 开机自动挂载硬盘
  7. springboot配置文件加载顺序_「SpringBoot系列」配置文件加载优先级解析
  8. JavaScript:自封装函数利用内置Date对象输出格式化“YYYY-MM-dd hh:mm:ss”时间
  9. 阶段3 2.Spring_08.面向切面编程 AOP_4 spring基于XML的AOP-配置步骤
  10. win7安装iis错误解决方法汇总
  11. 操作系统微内核架构研究
  12. javascript简易的动画效果
  13. 通过银行卡号查询银行卡信息
  14. 去掉office标题前的黑点
  15. 旅行青蛙服务器维护时间,旅行青蛙多久出门一次?青蛙旅行出门时间一览
  16. iOS keyChain 研究
  17. YTU OJ 3094: 善良的小乌龟
  18. vue 图片跨域问题解决
  19. 基于Keras的LSTM多变量时间序列预测(北京PM2.5数据集pollution.csv)
  20. SuperMap iClient3D for WebGL中加载地方天地图

热门文章

  1. 美国服务机器人技术路线图
  2. 透视世界人工智能发展
  3. Cell Stem Cell:研究人员开发出大脑类器官用于研究认知障碍!
  4. 全文解析:面向基于区块链的「机器人经济学」概念中,如何验证自主智能体的行为?...
  5. 2018年,这些信息通信技术将大红大紫
  6. 程序员学历低,该被歧视吗? | 每日趣闻
  7. Node.js 指南(Docker化Node.js Web应用程序)
  8. leecode---46---数组,dfs---求出数组的所有组合
  9. FFMPEG视音频编解码学习(1)
  10. 详解MariaDB数据库的触发器