一、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} up ifconfig eth1 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 选项为通知操作系统不能私自更改该数据包大小
使用英文操作系统时的提示为:Packet needs to be fragmented but DF set .
以上就是linux服务器修改mtu值优化cpu的详细内容,更多请关注抖狐科技其它相关文章!
-
优酷会员怎么与他人共享
优酷会员可以通过开通家庭会员、添加家庭成员和设置观影权限来共享:1. 开通家庭会员;2. 添加家庭成员;3. 设置观影权限。家庭成员可以共享主账号购买的 vip 内容,但不能购买或赠送 vip 会员。...
-
steam手机版一打开就黑屏怎么办
解决steam手机版一打开就黑屏的方法:1. 检查设备兼容性;2. 更新steam客户端;3. 更新手机系统;4. 检查网络连接;5. 清除缓存文件;6. 重启设备;7. 卸载并重新安装steam;8...
-
小猿口算怎么设置54制
小猿口算的 54 制设置步骤:1. 打开 app;2. 点击菜单;3. 选择设置;4. 找到小猿口算;5. 点击更多;6. 选择 54 制。如何设置小猿口算的 54 制? 步骤 1: 打开小猿口算 A...
-
vivox100pro+长焦多少倍
vivox100pro+手机应该正在等待发布,大家对它表示无比的好奇。当然好奇的疑问是全方面的,我们一一来解答大家的问题。从重点关注问题入手吧,长焦镜头一定是要点。那么你们知道,vivox100pro...
-
C++ 如何正确指定函数返回类型以满足接口要求
在 c++++ 中,函数返回类型必须与接口定义中指定的一致,以确保接口兼容性和正确的实现。具体而言:接口定义指定返回类型。实现类必须正确指定函数返回类型,包括使用 override 关键字。正确的返回...