天空闲话 发表于 2024-6-11 12:35:35

Windows和Linux修改/设置本地网络MTU的方法

0x00 题目形貌

MTU(Maximum Transmission Unit,最大传输单位)是指在网络通信中,数据链路层(如以太网)上一次可以传输的最大数据包大小,以字节为单位。MTU 的大小是由网络设备(如路由器、互换机)和网络协议(如以太网、PPP、IPv4、IPv6)共同决定的。以太网的标准 MTU 大小是 1500 字节。
然而最近在做网络协议相关的实验,了解到终端会使用PMTUD甚至DPLPMTUD(加强的PMTUD)技术来进行路径上MTU的探测,因此想要模拟一下路径MTU较小时终端动态调整TCP包大小的场景。
正常来说,端点网卡的MTU设置的都是标准以太网MTU大小(1500字节),路径中设备可能存在较小MTU的配置,但是我们无法获得中间设备的控制权,此时设置我们本身电脑的MTU也能实现需要的效果。下面简单记载一下实际可行的Windows体系和Linux体系修改网卡MTU的方法。
0x01 Windows修改网卡MTU

(1)使用管理员身份打开命令行工具。可以右键点击Win图标,然后选择Windows终端(管理员)。
(2)输入以下命令查看设备所有网络接口的详细信息,其中包括了MTU信息。
netsh interface ipv4 show subinterface https://img-blog.csdnimg.cn/direct/123a1136dfa84697a44d9b1cfb1ee1c3.png
(3)输入以下命令修改某个网络接口的MTU值。网络接口名称和要配置的MTU值请自行修改。
netsh interface ipv4 set subinterface "以太网 2" mtu=1200 store=persistent 输入命令后回车,会提示“确定”,此时网络接口的MTU已经修改好了。上层应用对于体系MTU好像有延迟,如果抓包发现传输层数据包MTU还是没有厘革的话可以等待一分钟左右。
 https://img-blog.csdnimg.cn/direct/ae426be74cc2490ea3f126d8b80410c7.png
0x02 Linux修改网卡MTU

 (1)通过ifconfig查看网卡当前MTU。
https://img-blog.csdnimg.cn/direct/e0ee8b3fc4cf47548f8d5015b2471c3d.png
(2)通过以下命令可以修改指定网卡的MTU值,注意按照个人环境自行修改。
sudo ifconfig eth0 mtu 1200 https://img-blog.csdnimg.cn/direct/095745e6a89a4659919ddfa5cff73603.png
0x03 注意事项

较小的 MTU 可能导致数据包数量增加,从而增加了网络传输的开销,可能会降低带宽利用率和吞吐量。因此做完实验后推荐将网卡MTU大小还原为标准以太网MTU大小1500字节。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Windows和Linux修改/设置本地网络MTU的方法