VPNFAQ009. VPN Server の仮想 HUB を TCP パケットが通過するとき、Max Segment Size (MSS) の値が変更される

    目次
     
    質問
    TCP パケットが VPN Server の仮想 HUB を通過すると、TCP の SYN パケットにおける Max Segment Size (MSS) の値が変化します。これはどのような条件で発生しますか ?
     

    回答

    デフォルトでは、VPN Server の仮想 HUB は、内部を流れる TCP パケットのペイロードのサイズを最適値に縮小する処理を行ないます。これは、VPN 通信を物理的に行なうパケットが物理的なネットワークを流れるときに、パケットが分割 (フラグメンテント化) されることによる効率の低下を防止するために自動的に行なわれます。MSS の値の調整は、自動的に行なわれますので、通常はユーザーがこれに気付くことはありません。また、これは透過的な処理であるため、通常のアプリケーションの動作に影響を与えることはありません。MSS の値の調整は、物理的な ISP の回線が PPPoE (PPP over Ethernet) を使用し、かつ ISP が L2TP を用いてトンネリングを行なっている場合でも TCP パケットのフラグメンテーションが発生しないように考慮されて決定されています。
     
    しかし、何らかの理由で MSS の自動調整可能を無効化したい場合もあります。この場合、仮想 HUB ごとに MSS の自動調整機能を無効化できます。仮想 HUB 拡張オプションの「DisableAdjustTcpMss」の値を「1」にセットすれば、この機能は直ちに無効になります。
     
    また、「DisableAdjustTcpMss」が「0」 (デフォルト値) の場合に、「AdjustTcpMssValue」の値を好きな数値 (たとえば、1000) に設定すると、すべての TCP パケットの MSS はここで設定された値に設定されます。これは、特殊な回線 (たとえば、物理レイヤにおける最大 IP パケット長が通常の回線よりも短い場合) を使用しているときに便利です。