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

安全奶龙 2024-07-13 11:07:02 阅读 100

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

(3)输入以下命令修改某个网络接口的MTU值。网络接口名称和要配置的MTU值请自行修改

netsh interface ipv4 set subinterface "以太网 2" mtu=1200 store=persistent

输入命令后回车,会提示“确定”,此时网络接口的MTU已经修改好了。上层应用对于系统MTU好像有延迟,如果抓包发现传输层数据包MTU还是没有变化的话可以等待一分钟左右。

 

0x02 Linux修改网卡MTU

 (1)通过ifconfig查看网卡当前MTU。

(2)通过以下命令可以修改指定网卡的MTU值,注意按照个人情况自行修改。

sudo ifconfig eth0 mtu 1200

0x03 注意事项

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。