調整を使用する場合 MSS

調整を使用する場合 MSS

120756
Created On 10/15/19 09:43 AM - Last Modified 03/26/21 17:49 PM


Symptom


TCP 転送は、しばらくすると失敗/タイムアウトします。 
たとえば、クライアント PC が Web サイトにアクセスしようとしていて、Web ページがロードされず、タイムアウトが発生したり、部分的にしか読み込まれない場合があります。
ブラウザは、"ERR_CONNECTION_TIMED_OUT" を提供したり、Web ページの一部だけを読み込んだりすることがあります。
Web ページがブラウザーに完全に読み込まれるには、非常に長い時間がかかる場合があります。


Environment


任意 TCP のベース転送。 
Web サイトへのアクセスに関する問題については、このドキュメントで説明しています。


Cause


初期チェック :
ブラウザのエラーまたは状態を最初にチェックして、問題がサーバーの問題によって発生していないかどうかを確認する必要があります。
500 または 400 シリーズの http エラー コードが表示される場合、サーバーまたは承認関連の問題が考えられます。
このようなエラー コードがなく、 PC が解決できる場合は URL 、パス上の問題が原因である可能性があります MTU 。

わかりやすく、わかりやすくするために、このドキュメントでは以下のトポロジをセットアップと見なします。

トポロジ:


ユーザー追加イメージ


仮定:
MTUR1 ルータの eth1/1 インターフェイスの設定は 1400 バイトです。
10.10.40.1 は、abcd.com の Web サイトをホストする Web サーバーです。
クライアント上の abcd.com は PC 10.10.40.1 に解決します
Web サイトはクライアントにロードされません PC 。
 


Resolution


どのように低く MTU通信に影響 TCP を与える :
この場合、ルータ MTU R1 の eth1/1 インターフェイスは 1400 バイトに設定されているため、1400 バイト以上のサイズのパケットは、このインターフェイスから送信する前にフラグメント化する必要があります。
パケットのヘッダーに Don't Fragment ( DF ) フラグが設定されている IP 場合、Router R1 はパケットをドロップし、"フラグメンテーションは必要だが DF ビットセット" (タイプ 3、コード 4) ICMP のエラー コードをソースに送信する必要があります。
ほとんどの TCP ベースアプリケーションでは、 DF ヘッダーにビットが設定 IP されます。
サーバー 10.10.40.1 からサイズ 1500 バイトのデータ パケットがクライアント 10.10.10.1 に送信されているとします。
DFこのパケットのフラグが設定されるため、ルータ R1 はイーサネット 1/1 インターフェイスから送信しようとするとパケットをドロップします。
これにより、1400 バイト以上のサイズのすべてのパケットがドロップされ、Web ページがクライアントに読み込まれません。
SSL( HTTPS ) 接続が使用されている場合、サーバー証明書を持つパケットは通常、ドロップされて SSL / TLS ハンドシェークが失敗する大きなパケットになります。

検索 MTU 方法問題と最適 MSS :
設定を確認するためにパス内のすべてのホストにアクセスできるとは限りません MTU
A PC MTU 。
Ping を実行する際には、次のパラメータを設定する必要があります。
1. ビットをフラグメント化しない (-f)
2. サイズ (-l)
以下の出力は Windows から取得されます PC 。 異なる を実行しているコンピューターで、それぞれのコマンドを使用する必要があります OS 。
上記のセクションで説明したように MTU 、R1 ルータの eth1/1 のルータのは 1400 バイトに設定されているため、クライアントでの ping テストは以下の結果を示します。

C:\Users\skadmin>ping 10.10.40.1 -f -l 1472
Pinging 10.10.40.1 with 1472 bytes of data:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
最初のテストのサイズとして 1472 バイトを選択する理由は、完全なパケットが 1500 バイトになるからです。
完全なパケット = 20B( IP ヘッダー) + 8B( ICMP ヘッダ) + 1472B(ペイロード) = 1500 バイト。 
ICMP「フラグメンテーションが必要だが DF 、ビットセットが必要です」というメッセージが返ってくることがわかります。 
そこで、このような Ping テストを複数回実行して、フラグメントを取得せずにサーバーに到達し、戻ることができるパケットの最大サイズを調べます。
C:\Users\admin>ping 10.10.40.1 -f -l 1440
Pinging 10.10.40.1 with 1440 bytes of data:
Packet needs to be fragmented but DF set.

C:\Users\admin>ping 10.10.40.1 -f -l 1350
Pinging 10.10.40.1 with 1350 bytes of data:
Reply from 10.10.40.1: bytes=1350 time=447ms TTL=58

C:\Users\skadmin>ping 10.10.40.1 -f -l 1380
Pinging 10.10.40.1 with 1380 bytes of data:
Packet needs to be fragmented but DF set.

C:\Users\admin>ping 10.10.40.1 -f -l 1372
Pinging 10.10.40.1 with 1372 bytes of data:
Reply from 10.10.40.1: bytes=1372 time=438ms TTL=58

C:\Users\admin>ping 10.10.40.1 -f -l 1373
Pinging 10.10.40.1 with 1373 bytes of data:
Packet needs to be fragmented but DF set.
分割と征服の方法は、ping が成功した最大値を見つけるために使用されています。 
上記のテスト出力に基づいて、サイズが1372バイトの場合にpingが機能し、1373バイトの場合に失敗することが分かる。 
つまり 、1400 バイト のパケットだけが、フラグメント化されることなくサーバーに到達し、戻ることができます。
1372 バイト + ICMP ヘッダー 8 バイト + ヘッダー IP 20 バイト = 1400 バイト。 

使用できる 最適 MSS を決定するには、上記のテストの結果である1400バイトを取り、潜在的な TCP ヘッダーとヘッダー値を差し引 IP きます。 
1400 バイト - ( IP ヘッダー 20 バイト + TCP ヘッダー 20 バイト) = 1360 バイト。 
したがって、 MSS 使用できる最適なサイズは 1360 バイトです。 

この最適な使用方法 MSS :
ほとんどのファイアウォールとルーターは、接続の値を調整 MSS TCP する機能を備えています。
MSS SYN SYN ACK クライアントとサーバーの間で交換される パケットとの値を書き換えることができます。
この機能を使用すると、 MSS クライアント MSS とサーバーの両方がそのサイズにだけセグメントを構築するように、計算された最適値 1360 バイトに値を設定できます。
TCP IP ヘッダーとヘッダーが追加されると、パケット全体のサイズは 1400 バイト (断片化せずに通過できるパケットの最大サイズ) になります。 
セグメント 1360 バイト + TCP ヘッダー 20 バイト + IP ヘッダー 20 バイト = 1400 バイト。


したがって、パス上の断片化の問題は接続を回避 TCP でき、パケットドロップは回避できます。
値を調整すると問題が解決しても MSS PA firewall 、問題は Firewall .
この問題は、パス内の他のホストの設定が低い場合に発生 MTU します。

PA firewall値を MSS 1360 バイトに調整するには、調整サイズを 140 バイトとして構成する必要があります。
1500 - 1360 = 140 バイト

調整値を設定するには、以下のリンクを参照してください MSS 。 
MSSサイズ調整の構成


Additional Information


その他の有用なリンク :
TCP MSS IPSEC ファイアウォール上のトンネル上 PA のトラフィックに対して自動的に調整が行われる方法
HOW THE PALO ALTO NETWORK FIREWALL HANDLES PACKETS THAT EXCEEDTHE MTU
HOW TO CONFIGURE MTU AND MSS SETTINGS FROM THE CLI



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000PN0gCAG&lang=ja&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language