linux下修改mtu值

发布时间:2020-08-10 14:33:25 作者:不一样的天空w
来源:ITPUB博客 阅读:264

一、jumbo frames 相关

1、什么是jumbo frames

Jumbo frames  是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;Jumbo frame 在full-duplex 的Ethernet网络上运行;Jumbo frame定义了一个“link negotiation”协议,来和对端的设备协商,是否对端设备支持使用Jumbo frames;标准的以太网IP报文大小是:1500 bit,不包含以太网头和FCS的18 bit(6+6+2+4),如果包含以太网头和FCS,则为1518 bit;Jumbo frame 一般指的是二层封装三层IP报文的值大于9000bit的报文。

Jumbo frames的提出背景:在1998年,Alteon Networks 公司提出把Data Link Layer最大能传输的数据从1500 bit 增加到9000 bit,这个提议虽然没有得到IEEE 802.3 Working Group的同意,但是大多数设备厂商都已经支持。

2、使用jumbo frames的优点

在数据传输时,由于IEEE的规定最大的帧规定为1,500比特(主机在早期的半双功网络中),所以需要数传输需要经过 数据的切要 --- 传输 ---数据组合 的过程。而使用的最大帧越小,传输包的量就越大,计算量相应会多,而产生的后果是:

a:增加主机的计算量,消耗CPU资源;

b:影响网络传输的速度。

而使用大帧优点自然也不言而喻 ———— 降低CPU计算量、加快数据传输。

二、修改MTU值

上面啰嗦了一大堆,修改帧大小实际需要的操作就是修改MTU(Maximum Transmission Unit)值,即修改最大传输单元。修改方法如下:

1、ifconfig命令修改

ifconfig ${Interface} mtu ${SIZE} upifconfig eth2 mtu 9000 up

这个是最通用的方法,对所有的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

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

从理论上计算,4 bit的CRC最大支持12000 bit大小的字节,超过了就没有办法检查了。另外还有其他一些协议如NFS等的限制。

最后需要注意的是,在经过交换网络设备时,仅仅修改主机端的MTU值是不行的,还需要交换网络设备上开启jumbo frames功能。

四、MTU测试

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

linux下修改mtu值

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


推荐阅读:
  1. Android 中怎么修改MTU值
  2. 合理设置操作系统网卡的MTU值

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux mtu 修改

上一篇:WIP PERIOD BALANCE

下一篇:服务器常见问题:远程登录不上

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》