以编程方式在C中设置MTU
-
29-10-2019 - |
题
客户要求MTU限制应为1492。
在源代码(用C语言编写的程序)中是否可以做到这一点?
一般还有其他方法吗?(ifconfig?)
为什么有人需要将MTU修改为特定限制?有什么好处?而最 重要:通过更改MTU,是否有破解代码的风险?
解决方案
这与速度不直接相关;通过增加MTU,您可以减少开销,开销是负责正确交付软件包的数据,但最终用户无法使用。这可以提高速度,但仅适用于交通繁忙;
此外,如果您增加MTU,则倾向于增加丢弃的数据包的数量(因为您有固定的误码率和数据包中的更多位),最终导致重发数据包的性能下降,等等...这是开销与数据完整性之间的折衷;
我猜想它更多是一种接口配置,而不是您通过程序控制的东西。因此,最好坚持使用“ ifconfig”命令或为Windows找到等效的解决方案。
其他提示
使用C的编程方式: 通用标签
它至少在Ubuntu上有效,请参见 man netdevice
设置接口参数的现代方法是通过SYSFS
sudo sh -c 'echo 1492 > /sys/class/net/tun/mtu'
.
通过c,只打开并写作文件
不隶属于 StackOverflow