MTU理解

来源:互联网 发布:exo小说软件下载 编辑:程序博客网 时间:2024/06/06 20:45
如何查看MTU?
答: 能看网卡信息一般就能看到MTU,比如ifconfig, ip link list, netstat -in


如何设置MTU?
答: 在windows下可以通过修改注册表搞定。在linux下,


方法一 (已验证)
ifconfig eth0 mtu 768


方法二  (已验证)
ip link set dev eth0 mtu 1024


以上两个方法修改时,系统会做检查,超过1500都是无效参数。并且一重启就没了。


方法三(通过修改配置文件,未验证):


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


service network restart eth0


方法四(通过修改配置文件,未验证): 
gedit /etc/network/interfaces
内容如下:
auto eth0 
iface eth0 inet static 
address 192.168.0.2 
netmask 255.255.255.0 
gateway 192.168.0.1 
mtu 1450 


方法五:网络连接(网卡被激活时)自动设置 mtu 值 (未验证)


在/etc/network/if-up.d目录下新建一个脚本文件,比如 setmtu


$ sudo vi /etc/network/if-up.d/setmtu


将下面的代码加入setmtu 脚 本中


#!/bin/sh
ifconfig "$IFACE" mtu 1492


保存退出,然后给这个脚本中可执行权限


$ sudo chmod a+x /etc/network/if-up.d/setmtu


其中 “$IFACE” 是一个变量,返回的是当前激活的网卡名称 比如 eth0 eth1 。
这样即使你有多张网卡,有网卡被激活时就自动运行这个个脚本 设置mtu值为1492了






是否可以发送MTU大于1500的包?
答:以前王忠刚说可以。
昨晚用pcap_sendpacket和libnet_write发送大于1500字节的包时都是失败的,看现象这完全和设置的MTU相关,只要小于等于MTU的都可以成功。
又没有办法让MTU大于1500呢,答案是可能的,比如在公司的网卡通过在属性中开启巨型帧就可以让MTU为9014,而我的台式机的网卡则最大可到8K,而无线网卡缺没找到地方设置,看来MTU具体是和硬件相关的。
听邓小榕说VIP在智能网卡上也可以设置MTU大于1500的,安闻说他设置并发包成功过。























原创粉丝点击