« NetScreen-SAの設定ファイルバックアップ方法 | トップページ | bashのhistoryを削除する方法 »

NetScreenにおけるMSS調整コマンド

NetScreenでのMSS調整方法について記載する

■ "set flow tcp-mss" と "set flow all-tcp-mss"

  どちらもNetScreenを通過するトラフィックのMSS値を
 変更・修正するために使用される。
 また、all-tcp-mssのコマンドはtcp-mssのコマンドを上書きしない。
  tcp-mssコマンドはVPNトラフィック
  all-tcp-mssは平文の通過トラフィックのみに適用される。

■ set flow all-tcp-mss

  NetScreen自身のTCP/IPスタックに適用されNetScreenへの通信と
  NetScreenからの通信に使用される。
 NetScreenを通過する平文(clear-text)のTCPトラフィックに適用される
  (this command is for Clear TCP Traffic)
 透過モード(トランスペアレントモード)ではサポートされず
 ルートモードのみでサポートされる。

■ set flow tcp-mss

 NetScreenを通過するVPNトラフィック(TCP)のみに適用される
(this command is for VPN TCP traffic)

■ set flow all-tcp-mssについて

 set flow all-tcp-mssのコマンドは
 パケットのフラグメント化が原因でパフォーマンスに影響を及ぼすような
 ケースで利用される。このコマンドによりパケットのフラグメント化が
 発生しないよう、最大伝送単位(MTU)以下に最大のセグメント・サイズ(MSS)
 を十分に低く修正する事ができる。

 全てのオーバーヘッドを足したパケットのペイロードサイズはMTUを超過してはいけな い。そうでなければフラグメントが発生するだろう。
 オーバーヘッドはmacヘッダー、ethernetヘッダー、CRC、暗号化およびPPPoEを含む。
 尚、set flow all-tcp-mssは平文(clear-text)のトラフィックに適用され、
 set flow tcp-mssはVPNトラフィックのみに適用される。

 PPPoEは大量のオーバーヘッドを追加し、set flow all-tcp-mssが有効になっていない
 場合にはフラグメントが発生するため、set flow all-tcp-mssはPPPoE接続環境で
 必要になる。
 又、経路上のルーターがフラグメントパケットを適切に扱っていないようないくつかの
 実例もある。これらの例では、set flow all-tcp-mssは問題解決の助けになるかもしれ ない。例えば、あるウェブサイトへアクセスするが全ての画像イメージが表示されない
 ような場合、これはフラグメントの問題が発生している可能性がある。
 set flow all-tcp-mssの適用はこの問題を解決するために利用できる。

■ TCP-MSSのデフォルト設定

ScreenOS ≫ 5.1.x ≫ 5.1.0
ScreenOS ≫ 5.0.x ≫ 5.0.0

・全てのNetScreen-5XP, NetScreen-5XT, NetScreen-5GT
  tcp-mss 1400がデフォルトで設定されている

・それ以外の全てのNetScreenでは
  tcp-mssはデフォルトで設定されていない

・PPPoEの設定を行った場合

  set flow tcp-mss 1392
  set flow all-tcp-mss 1304
  
  PPPoEインスタンスをインターフェースにバインドした場合、
  事前にset flow all-tcp-mssコマンドが設定されていなければ自動的に
  set flow all-tcp-mss 1304の設定が追加される。
  また、少なくともNetScreen-5GTでPPPoEを有効にした場合
  set flow tcp-mss 1392の設定がコンフィグに現れる事を確認している。
  これはデフォルトのtcp-mss 1400からPPPoEオーバーヘッドの
  8バイトを差し引いた値と考えられる。

■ set flow all-tcp-mssは透過モードでもサポートされますか?

ScreenOS ≫ 4.0.x ≫ 4.0.0
ScreenOS ≫ 5.0.x ≫ 5.0.0
ScreenOS ≫ 4.0.x ≫ 4.0.3
ScreenOS ≫ 4.0.x ≫ 4.0.2

set flow all-tcp-mssのコマンドはトランスペアレント(透過)モードでは
サポートされません。このコマンドはルートモードでのみ適用されます。

■ NetScreenは設定されたMMS値より小さいMSSが定義された
   パケットのMSS値を書き換えますか?(LAN間VPN)

ScreenOS ≫ 3.0.x
ScreenOS ≫ 3.1.x
ScreenOS ≫ 4.0.x
ScreenOS ≫ 5.0.x
ScreenOS ≫ 5.1.x

環境:
 LAN間VPN
 ローカル側のMTUより遠隔地側のほうが小さなMTUを持っている場合

いいえ。設定された値より提案されたサイズが大きい場合のみ、NetScreenは
MSSを修正します。MSSが設定された値より小さい場合、MSSの修正はされません。

参考:

What does set flow all-tcp-mss do?
http://kb.juniper.net/KB6346

Does set flow all-tcp-mss override set flow tcp-mss ?
http://kb.juniper.net/KB7952

Default Settings for TCP-MSS
http://kb.juniper.net/KB7361

TCP-MSS Default Settings
http://kb.juniper.net/KB4586

Is "set flow all-tcp-mss" supported in Transparent Mode?
http://kb.juniper.net/KB6961

Does NetScreen re-write the Maximum Segment Size (MSS)?
http://kb.juniper.net/KB3910

|

« NetScreen-SAの設定ファイルバックアップ方法 | トップページ | bashのhistoryを削除する方法 »

「NetScreen」カテゴリの記事

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/153537/5071904

この記事へのトラックバック一覧です: NetScreenにおけるMSS調整コマンド:

« NetScreen-SAの設定ファイルバックアップ方法 | トップページ | bashのhistoryを削除する方法 »