客户要求MTU限制应为1492。

在源代码(用C语言编写的程序)中是否可以做到这一点?

一般还有其他方法吗?(ifconfig?)

为什么有人需要将MTU修改为特定限制?有什么好处?而最 重要:通过更改MTU,是否有破解代码的风险?

有帮助吗?

解决方案

这与速度不直接相关;通过增加MTU,您可以减少开销,开销是负责正确交付软件包的数据,但最终用户无法使用。这可以提高速度,但仅适用于交通繁忙;

此外,如果您增加MTU,则倾向于增加丢弃的数据包的数量(因为您有固定的误码率和数据包中的更多位),最终导致重发数据包的性能下降,等等...这是开销与数据完整性之间的折衷;

我猜想它更多是一种接口配置,而不是您通过程序控制的东西。因此,最好坚持使用“ ifconfig”命令或为Windows找到等效的解决方案。

其他提示

使用C的编程方式: 通用标签

它至少在Ubuntu上有效,请参见 man netdevice

MTU 是一个数字,用于定义每个数据包的最大传输单位。它越大,数据发送速度越快。假设您可以发送nsize的mpackets,如果m增长,m*n也增长。

我认为您的客户需要该MTU,因为它具有网络设备(也许是以太网802.3)。有些设备会比其他设备处理最大的镜架尺寸。

您可以将 ifconfig mtuto选项一起使用更改其值:ifconfig eth0 mtu 1492

设置接口参数的现代方法是通过SYSFS

sudo sh -c 'echo 1492 > /sys/class/net/tun/mtu'
.

通过c,只打开并写作文件

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top