コンテンツへスキップ
uencoder

TCP Cork

TCP Cork (TCP_CORK) とは、完全な MSS が蓄積されるかソケットが明示的に解除されるまで送信を保留し、データをまとめてパケット数を削減する機能である。

目的

複数の小さな書き込みを 1 つの TCP セグメントへ統合すべき場面で、パケットごとのヘッダーオーバーヘッドを削減する。

メカニズム

TCP_CORK=1 を設定すると、カーネルは以後の書き込みをバッファし、データが MSS を満たすかソケットが解除されるまで送信しない。TCP_NODELAY とは排他的であり、HTTP ヘッダーとボディをまとめて一括送信する用途に使われる。

ユースケース

  • HTTP レスポンスのバッチ送信
  • TCP セグメント数の削減
  • データの一括送信

関連ツール

References