<span id='tdri9'></span>

        <fieldset id='tdri9'></fieldset>

      1. <tr id='tdri9'><strong id='tdri9'></strong><small id='tdri9'></small><button id='tdri9'></button><li id='tdri9'><noscript id='tdri9'><big id='tdri9'></big><dt id='tdri9'></dt></noscript></li></tr><ol id='tdri9'><table id='tdri9'><blockquote id='tdri9'><tbody id='tdri9'></tbody></blockquote></table></ol><u id='tdri9'></u><kbd id='tdri9'><kbd id='tdri9'></kbd></kbd>
        <i id='tdri9'></i>
        <acronym id='tdri9'><em id='tdri9'></em><td id='tdri9'><div id='tdri9'></div></td></acronym><address id='tdri9'><big id='tdri9'><big id='tdri9'></big><legend id='tdri9'></legend></big></address>

        <i id='tdri9'><div id='tdri9'><ins id='tdri9'></ins></div></i>

        <code id='tdri9'><strong id='tdri9'></strong></code>
        <dl id='tdri9'></dl>
          <ins id='tdri9'></ins>

          Linux系统下修改最大传输单元MTU的方法

          • 时间:
          • 浏览:12
          • 来源:124软件资讯网

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

              因特网协议允许IP分片  ,这样就可以将数据报分成足够小的片断以通过那些最大传输单元小于该数据报原始巨细的链路了  。这一分片历程发生在IP层(OSI模子的第三层 ,即网络层)  ,它使用的是将分组发送到链路上的网络接口的最大传输单元的值  。原始分组的分片都被加上了标志 ,这样目的主机的IP层就能将分组重组成原始的数据报了  。

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

              RFC 1191形貌了“路径最大传输单元发现要领”  ,这是一种确定两个IP主机之间路径最大传输单元的手艺  ,其目的是为了制止IP分片 。在这项手艺中  ,源地址将数据报的DF(Don't Fragment  ,不要分片)位置位  ,再逐渐增大发送的数据报的巨细——路径上任何需要将分组举行分片的装备都市将这种数据报抛弃并返回一个“数据报过大”的ICMP响应到源地址——这样  ,源主机就“学习”到了不用举行分片就能通过这条路径的最大的最大传输单元了  。

              不幸的是  ,越来越多的网络封杀了ICMP的传输(譬如说为了提防DOS攻击)——这使得路径最大传输单元发现要领不能正常事情  ,其常见体现就是一个毗连在低数据流量的情形下可以正常事情 ,但一旦有大量数据同时发送 ,就会立刻挂起(例如在使用IRC的时间 ,客户会发现在发送了一个克制IP诱骗的ping之后就得不到任何响应了  ,这是由于该毗连被大量的接待新闻堵塞了) 。而且  ,在一个使用因特网协议的网络中  ,从源地址到目的地址的“路径”经常会为了响应种种各样的事务(负载平衡、拥塞、断电等等)而被动态地修改——这可能导致路径最大传输单元在传输历程中发生改变——有时甚至是重复的改变  。其效果是  ,在主机寻找新的可以宁静事情的最大传输单元的同时  ,更多的分组被丢失掉了  。

              对于时下大多数使用以太网的局域网来说 ,最大传输单元的值是1500字节  。可是像PPPoE这样的系统会减小这个数值 ,这就使得在使用最大传输单元发现要领时可能会发生这样的效果:一些处于设置不妥的防火墙之后的站点变得不行达了  。对于这种情形  ,照旧可能找到变通的要领的  ,但这取决于你控制的是网络的哪一部门  。这些要领包罗改变用来在防火墙一端建设TCP毗连的第一个分组的MSS(Maximum Segment Size  ,最大分段巨细)  。

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

              MTU的修改要领如下:

              1、ifconfig下令修改

              [/code]

              ifconfig ${Interface} mtu ${SIZE} up

              ifconfig eth1 mtu 9000 up

              [/code]

              这个是最通用的要领 ,对所有的linux 刊行版本都有用 。弱点就是重启后失效  ,需要在开机项中加载  。

              2、修改设置文件

              CentOS / RHEL / Fedora Linux下

              代码如下:

              # vi /etc/sysconfig/network-scripts/ifcfg-eth0

              #增添如下内容

              MTU="9000"

              #生存后重启网卡生效

              # service network restart

              #启用IPv6地址的 ,修改IPv6 mtu的参数为

              IPV6_MTU="1280"

              Debian / Ubuntu Linux下

              代码如下:

              # vi /etc/network/interfaces

              #增添如下值

              mtu 9000

              #生存后  ,重启网络生效

              # /etc/init.d/networking restart

              3、为什么MTU最大值为9000字节

              从理论上盘算  ,4 bytes的CRC最大支持12000 bytes巨细的字节  ,凌驾了就没有措施检查了  。另外另有其他一些协议如NFS等的限制  。

              最后需要注重的是  ,在经由交流网络装备时  ,仅仅修改主机端的MTU值是不行的  ,还需要交流网络装备上开启jumbo frames功效  。

              4、MTU测试

              使用ping下令  ,-l 指定包巨细  ,-f 选项为通知操作系统不能私自更改该数据包巨细

              使用英文操作系统时的提醒为:Packet needs to be fragmented but DF set