我想知道是否有任何方法可以调整(在 linux 系统上)给定套接字的 MTU。(使 IP 层分成比实际设备 MTU 更小的块)。
当我说给定套接字时,我并不是指以编程方式在拥有该套接字的应用程序的代码中,而是在外部,例如通过 sysfs 条目。
如果目前没有办法做到这一点,您对在 linux 内核中的何处挂钩/修补以实现这种可能性有任何想法吗?
谢谢。
编辑:我到底为什么要这样做?
我正在做一些Layer3-in-Layer4(例如:通过TCP隧道隧道IP及以上)隧道。与类似 VPN 的解决方案不同,我没有使用虚拟接口来实现这一点。我正在使用 iptables 捕获数据包,以正常方式丢弃它们并将它们写入隧道套接字。
考虑一个大文件传输的情况,所有数据包都被填充到 MTU 大小。当我隧道它们时,我增加了一些开销,导致每个原始数据包产生两个隧道数据包,它不是最佳的。