TCP MSS 調整の設定

TCP MSS 調整に関する情報

トランスミッション コントロール プロトコル(TCP)最大セグメントサイズ(MSS)調整機能では、ルータを通過する一時的なパケット(特に SYN ビットが設定された TCP セグメント)の最大セグメントサイズを設定することができるようになります。切り捨てを回避するために、SYN パケットの中間ルータで MSS 値を指定するには、インターフェイス コンフィギュレーション モードで ip tcp adjust-mss コマンドを使用します。

ホスト(通常は PC)がサーバと TCP セッションを開始するときは、TCP SYN パケットの MSS オプション フィールドを使って IP セグメント サイズをネゴシエートします。MSS フィールドの値は、ホスト上の MTU 設定によって決まります。PC のデフォルト MSS 値は 1500 バイトです。

PPP over Ethernet(PPPoE)標準は、1,492 バイトのみの MTU をサポートします。ホストと PPPoE での MTU サイズの不一致は、ホストとサーバの間にあるルータで 1500 バイトのパケットが損失し、PPPoE を介した TCP セッションが終了する原因となる場合があります。ホストでパス MTU(パス全体で正しい MTU を検出)が有効になっていても、システム管理者がパス MTU を機能させるためにホストからリレーする必要がある ICMP エラーメッセージを無効にすることがあるため、セッションがドロップされることがあります。

ip tcp adjust-mss コマンドで TCP SYN パケットの MSS 値を調整すると、TCP セッション損失防止の役に立ちます。

ip tcp adjust-mss コマンドは、ルータを通過する TCP 接続に対してのみ有効です。

ほとんどの場合、ip tcp adjust-mss コマンドの max-segment-size 引数の最適値は 1,452 バイトです。この値に、20 バイトの IP ヘッダー、20 バイトの TCP ヘッダー、および 8 バイトの PPPoE ヘッダーが追加されて、イーサネット リンクの MTU サイズと同じ 1500 バイトのパケットになります。

サポートされるインターフェイス

TCP MSS 調整は、次のインターフェイスでのみサポートされます。

  • 物理層 3 インターフェイス

  • SVI

  • レイヤ 3 ポートチャネル

  • レイヤ 3 GRE トンネル


(注)  

サブインターフェイスは TCP MSS 調整をサポートしません。


一時的な TCP SYN パケットの MSS 値の設定

始める前に

ルータを通過する一時的なパケット(特に SYN ビットが設定された TCP セグメント)の MSS を設定するには、この作業を実行します。

シスコでは、次のコマンドと値を使用することをお勧めしています。

  • ip tcp adjust-mss 1452

手順の概要

  1. enable
  2. configure terminal
  3. interfacetype number
  4. ip tcp adjust-mssmax-segment-size
  5. end

手順の詳細

  コマンドまたはアクション 目的
ステップ 1

enable

例:

Device>enable

特権 EXEC モードをイネーブルにします。

  • プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

例:

Device#config terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

interfacetype number

例:

Device(config)#interface GigabitEthernet 1/0/0

インターフェイス タイプを設定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

ip tcp adjust-mssmax-segment-size

例:

Device(config-if)#ip tcp adjust-mss 1452

ルータを通過する TCP SYN パケットの MSS 値を調整します。

  • max-segment-size 引数には、MSS をバイト単位で指定します。範囲は 500 ~ 1460 です。

ステップ 5

end

例:

Device(config-if)#end

グローバル コンフィギュレーション モードに戻ります。

IPv6 トラフィックの MSS 値の設定

手順の概要

  1. enable
  2. configure terminal
  3. interfacetype number
  4. ipv6 tcp adjust-mssmax-segment-size
  5. end

手順の詳細

  コマンドまたはアクション 目的
ステップ 1

enable

例:

Device>enable

特権 EXEC モードをイネーブルにします。

  • プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

例:

Device#config terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

interfacetype number

例:

Device(config)#interface GigabitEthernet 1/0/0

インターフェイス タイプを設定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

ipv6 tcp adjust-mssmax-segment-size

例:

Device(config-if)#ipv6 tcp adjust-mss 1440

デバイスを通過する TCP DF パケットの MSS 値を調整します。

  • max-segment-size 引数には、MSS をバイト単位で指定します。指定できる範囲は 40 ~ 1440 です。

ステップ 5

end

例:

Device(config-if)#end

インターフェイス コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。

例:IPv6 トラフィックの TCP MSS 調整の設定

Device>enable
Device#configure terminal
Device(config)#interface GigabitEthernet 0/0/0
Device(config)#ipv6 tcp adjust-mss 1440
Device(config)#end

TCP MSS 調整の機能履歴と情報

次の表に、このモジュールで説明した機能に関するリリース情報を示します。この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェア リリースだけを示しています。その機能は、特に断りがない限り、それ以降の一連のソフトウェア リリースでもサポートされます。

機能名

リリース

機能説明

トランスミッション コントロール プロトコル(TCP)最大セグメントサイズ(MSS)調整

Cisco IOS XE Fuji 16.9.1

TCP MSS 調整機能では、ルータを通過する一時的なパケット(特に SYN ビットが設定された TCP セグメント)の最大セグメントサイズを設定することができるようになります。この機能は、TCP SYN パケットの MSS 値を調整することで TCP セッション損失防止の役に立ちます。