最大セグメントサイズ (サイダイセグメントサイズ) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

最大セグメントサイズ (サイダイセグメントサイズ) の読み方

日本語表記

最大セグメントサイズ (サイダイセグメントサイズ)

英語表記

Maximum Segment Size (マキシマム セグメント サイズ)

最大セグメントサイズ (サイダイセグメントサイズ) の意味や用語解説

最大セグメントサイズ(MSS: Maximum Segment Size)は、TCP/IPプロトコルを用いた通信において、一度に送信できるTCPデータの最大量を示す値である。これは、通信の効率性と安定性を確保するために非常に重要な役割を担うパラメータだ。TCPは、アプリケーションから受け取った大きなデータを、ネットワークで送信しやすいように小さな塊に分割して送信する。この分割されたデータの単位を「セグメント」と呼び、MSSは一つのセグメントに含めることができるペイロード、つまり実際のアプリケーションデータの最大サイズをバイト単位で定義するものである。TCPヘッダ自体はこのサイズに含まれない。MSSの主な目的は、ネットワーク上でデータがさらに細かく分割される「IPフラグメンテーション」という現象を未然に防ぐことにある。IPフラグメンテーションが発生すると、通信効率の低下や通信の不安定化を招く可能性があるため、MSSを適切に設定することで、円滑なデータ転送を実現する。この値は、通信を開始する際の初期ネゴシエーション、すなわちTCPの3ウェイハンドシェイクの過程で、通信を行う双方のコンピュータ(クライアントとサーバ)間で決定される。 MSSをより深く理解するためには、TCP/IPの階層構造と、関連する別のパラメータであるMTU(Maximum Transmission Unit)との関係を把握することが不可欠である。コンピュータネットワークの通信は、複数の層(レイヤ)が連携して行われる。アプリケーションが作成したデータは、まずトランスポート層のTCPによってセグメントに分割され、各セグメントにTCPヘッダが付与される。次に、このTCPセグメント全体がネットワーク層のIPによってカプセル化され、IPヘッダが付与されて「IPパケット」という単位になる。そして、このIPパケットがデータリンク層(例えばイーサネット)で転送される。ここで重要になるのがMTUである。MTUは、データリンク層が一度に転送できるIPパケットの最大サイズを定義する値だ。一般的なイーサネット環境では、MTUは1500バイトに設定されている。MSSは、このMTUのサイズを超えないように、IPパケット内のTCPデータ部分の最大サイズを規定する。具体的には、MSSの値はMTUの値からIPヘッダのサイズとTCPヘッダのサイズを差し引いて算出される。IPヘッダとTCPヘッダは、それぞれ通常20バイトであるため、MTUが1500バイトの場合、MSSの理論上の最大値は「1500 - 20 - 20 = 1460バイト」となる。 MSSの値が実際にどのように決まるかというと、TCPコネクションを確立する際に行われる3ウェイハンドシェイクのプロセスが関わってくる。通信を開始したいクライアントは、最初のSYNパケットをサーバに送信する。このとき、クライアントは自身のネットワークインターフェースのMTUに基づいて計算したMSSの値を、SYNパケットのTCPオプションフィールドに含めてサーバに通知する。SYNパケットを受け取ったサーバは、自身のMTUから算出したMSSの値と、クライアントから通知されたMSSの値を比較する。そして、サーバはSYN/ACKパケットをクライアントに返信するが、その際には自身が使用するMSSの値をTCPオプションに含める。最終的に、クライアントとサーバは、互いに通知されたMSSの値のうち、より小さい方をそのTCPコネクションにおける共通のMSSとして採用する。これにより、通信経路の途中でMTUが異なる機器が存在する場合でも、より制約の厳しい側に合わせることができ、IPフラグメンテーションのリスクを低減させることが可能となる。 IPフラグメンテーションの回避がMSSの重要な役割である理由は、その発生がもたらすデメリットにある。もしTCPセグメントにヘッダを付与した結果生成されたIPパケットのサイズが、通信経路上のルータなどが持つMTUを超えてしまった場合、そのルータはIPパケットを自身のMTUに合わせて複数の小さなパケットに断片化する。この断片化されたパケットは、最終的な宛先である受信側で元のIPパケットに再構成される必要がある。この再構成処理は受信側のコンピュータに余計なCPU負荷をかける。さらに、断片化されたパケットのうち一つでもネットワーク上で失われると、IPパケット全体を再構成できなくなり、結果として送信元はTCPレベルでの再送を行わなければならなくなる。これは通信遅延の増大とスループットの低下に直結する。MSSを適切に設定し、生成されるIPパケットが経路上のどのMTUも超えないようにすることで、こうした非効率なフラグメンテーションを根本的に防ぎ、信頼性の高い効率的な通信を維持することができる。このように、最大セグメントサイズは、TCP通信のパフォーマンスを支える基本的ながらも極めて重要な概念であり、システムエンジニアはネットワークの設計やトラブルシューティングにおいて、この仕組みを正しく理解しておく必要がある。

最大セグメントサイズ (サイダイセグメントサイズ) とは | 意味や読み方など丁寧でわかりやすい用語解説