特定のソケットのMTUを(Linuxシステムで)調整する方法があるかどうか疑問に思いました。(IPレイヤーを実際のデバイスのMTUよりも小さいチャンクにフラグメント化するため)。
特定のソケットについて言うとき、私はそのソケットを所有するアプリケーションのコードでプログラム的に意味するのではなく、外部、たとえばsysfsエントリを介して意味します。
現在それを行う方法がない場合、そのような可能性を実装するためにLinuxカーネルのどこにフック/パッチを適用するかについて何かアイデアはありますか?
ありがとう。
編集:なぜ私はそれをしたいのですか?
Layer3-in-Layer4(例:TCPトンネルを介したIP以上のトンネリング)トンネリングを実行しています。VPNのようなソリューションとは異なり、私はそれを実現するために仮想インターフェイスを使用していません。iptablesを使用してパケットをキャプチャし、通常の方法でドロップして、トンネルソケットに書き込みます。
大きなファイル転送の場合を考えてみてください。すべてのパケットはMTUサイズまでいっぱいになります。それらをトンネリングするとき、オーバーヘッドを追加し、すべての元のパケットをリードして2つのトンネリングされたパケットを生成します。これは最適ではありません。