TCP再送とIPsecリプレイ破棄を比べる:各層で読む
再送フラグ、重複ACK、ESPリプレイ破棄のカウンタは、それぞれ別の層で別の事象を数えます。それぞれが生成される層で読み取ってください。
三つの異なるツールが三つの異なる重複を報告しますが、そのうち行動できるネットワーク事象は一つだけです。TCP再送は送信側がある範囲を再度送ることであり、重複ACKは受信側がある確認応答を繰り返すことであり、ESPリプレイ破棄はセキュリティアソシエーションがすでに受け入れたシーケンス番号を拒否することです。三つのどれも他のどれかを意味しません。それらを一つの物語にまとめる前に、各カウンタをそれが生成される層で読んでください。
同じ事象を決して測らない三つのカウンタ
TCP再送の注記は、送信側があるシーケンス範囲を再び回線に載せたことを意味します。損失はその理由の一つであり、手元のキャプチャは元のパケットやタイミングを説明する確認応答を単に欠いている可能性があります。重複ACKは、TCPの回復規則に従って受信側が累積確認応答を繰り返すことであり、アプリケーションの重複書き込みでもデータの二つ目のコピーでもありません。
ESPは独自のシーケンス空間で動作します。各セキュリティアソシエーションは送信するパケットに番号を付け、受信側はすでに受け入れた番号のウィンドウを保持するため、二回届いたESPパケットはそれだけの理由で破棄されます。したがって再送されたTCPセグメントは新しいシーケンス番号を持つ新しいESPパケットで運ばれ、これは両方の層で正しい動作です。同じバイトが一方のカウンタでは新しく、他方では古く見えることがあり、どちらの層も嘘をついていません。
アナライザが見えることと見えないこと
アナライザの語彙から始めてください。フィルタ名はエンドポイントの内部ではなく観測を表し、ツールが使うのと同じ名前で数えることで、実際に何が測定されたかについて正直でいられます。不完全なキャプチャからの数は、回線上で起きたことではなく、生き残ったものの数です。
tshark -r trace.pcap -Y "tcp.analysis.retransmission" | wc -l
tshark -r trace.pcap -Y "tcp.analysis.duplicate_ack" | wc -l
それらの数字の横にあるエキスパート情報を読んでください。チェックサムと順序についての警告は、その数字がどれだけの重みに値するかを変え、二つのセンサーからの統合されたトレースは一つのフレームを二回示すことがあり、両方のコピーを数えると、決して起きなかった回復事象を作り出します。
ESPカウンタはカーネル状態に住む
ESPのシーケンス番号はTCPストリームではなくセキュリティアソシエーションに属するため、尋ねる場所はゲートウェイです。状態一覧は、どのキャプチャも再構成できないアソシエーションごとのパケットとエラーのカウンタを報告します。
ip -s xfrm state
tshark -r trace.pcap -Y "esp" -T fields -e esp.seq | head
RFC 4303はシーケンス番号とそれを消費するリプレイ防止ウィンドウを定義しており、何も問題がないときでもカウンタが増えるのはそのためです。対応するTCPの異常がない単調な外側のシーケンス番号は、再送の嵐ではなく別の送信側や重複した経路を指します。暗号化されたトンネルの外側のキャプチャは通常、内側のTCPシーケンス番号を隠すため、内側のスタックが何をしたかを証明できません。ポリシーが許す場所でのみトンネルの内側でキャプチャし、無関係な警告を黙らせるためにリプレイ防止を決して無効にしないでください。
観測点が答えを変える場所
エスカレーションする前に、キャプチャがどう取得されたか、つまりインターフェース、キャプチャ処理がドロップを報告したかどうか、タイムスタンプがセンサー間で比較可能かどうかを書き留めてください。一つの観測点は経路の両端を見ることができないため、受信側の挙動についてのどんな記述も測定ではなく推論です。ゲートウェイで取ったトレースとホストで取ったトレースは、負荷時の順序について食い違い、その食い違いは通常トンネルではなくキャプチャに属します。二つの見方を相関させることが、数を証拠に変えます。
許可されたアプリケーションフローの一つを使い、同じ瞬間にキャプチャの数と並べてエンドポイントのカウンタを記録してください。数字が食い違う場合は、その事象を所有する層を信頼し、反証されるまで他方を観測の産物として扱ってください。その規則はトンネルの設定に触れずに、こうしたチケットのほとんどを解決します。
数字を正しい順序で読む
質問が問われた層から始めて、TCPの警告にはTCPのキャプチャから答え、ESPの破棄にはゲートウェイ上のセキュリティアソシエーションのカウンタから答えます。そのうえで初めて、二つの見方が同じパケットを記述しているかを問います。両方の層を必要とする結論はTCPの注記だけに依拠したトンネルについての主張は推測にすぎないため、両方を名指しすべきです。
各発見について層、カウンタ、観測点を記録すれば、次の読み手は三つの事象を一つの架空の故障に混ぜません。その三つの項目でエスカレーションすれば、修正は通常一つ目から導かれます。