TCP MSS 調整の設定

TCP MSS 調整の制約事項

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

  • TCP MSS 調整は、レイヤ 3 GRE トンネルでの TCP ストリームの入力パケットキャプチャでのみ機能し、出力パケットキャプチャでは機能しません。

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 MSS 調整の設定情報について説明します。

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

始める前に

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

ip tcp adjust-mss 1452 コマンドを使用することを推奨します。

手順

  コマンドまたはアクション 目的

ステップ 1

enable

例:

Device>enable

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

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

ステップ 2

configure terminal

例:

Device#config terminal

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

ステップ 3

interface type number

例:

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

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

ステップ 4

ip tcp adjust-mss max-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

例:

Device>enable

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

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

ステップ 2

configure terminal

例:

Device#config terminal

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

ステップ 3

interface type number

例:

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

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

ステップ 4

ipv6 tcp adjust-mss max-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 モードに戻ります。

TCP MSS 調整の設定例

ここでは、TCP MSS 調整の設定例を示します。

例:TCP MSS 調整の設定

Device(config)#vpdn enable 
Device(config)#no vpdn logging
Device(config)#vpdn-group 1
Device(config-vpdn)#request-dialin 
Device(config-vpdn-req-in)#protocol pppoe 
Device(config-vpdn-req-in)#exit
Device(config-vpdn)#exit
Device(config)#interface GigabitEthernet 0/0/0
Device(config-if)#ip address 192.168.100.1.255.255.255.0
Device(config-if)#ip tcp adjust-mss 1452
Device(config-if)#ip nat inside
Device(config-if)#exit

例: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 調整の機能履歴

次の表に、このモジュールで説明する機能のリリースおよび関連情報を示します。

これらの機能は、特に明記されていない限り、導入されたリリース以降のすべてのリリースで使用できます。

リリース

機能

機能情報

Cisco IOS XE Fuji 16.8.1a

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

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

Cisco Feature Navigator を使用すると、プラットフォームおよびソフトウェアイメージのサポート情報を検索できます。Cisco Feature Navigator には、http://www.cisco.com/go/cfn [英語] からアクセスします。