一つのフロー、四つの境界:最後のパケットを見つける
パケット報告には、管理された一つのフローと比較可能な観測点が必要です。キャプチャの欠落や口頭の確認では、パケットが失われるホップを特定できません。
一方はトラフィックを送ったと言い、もう一方はどこにも届かなかったと言う。この二つの主張は矛盾のように聞こえますが、通常は単なる二つの異なる測定です。パケット数、ファイアウォールログ、キャプチャは異なる層を表します。これらをラベルなしで比較すると、位置ではなく容疑者が出てきます。一つのフローとその観測点を中心に報告書を組み立ててください。
文脈のないカウンターはほとんど証明しない
送信バイト数を報告するゲートウェイは、遠端が特定の要求を受け取った証拠ではありません。カウンターには他のフロー、別の時刻、別のカプセル化層が含まれる可能性があります。宛先に何も見えないのに増えるカウンターも、別の問いを測ったのだから正しいことがあります。何かを比較する前に、フロー、ウィンドウ、層を固定してください。
異なる層の二つの数値は、正直に食い違うことがあります。その食い違いは調査の始まりであり、結論ではありません。
すべての観測点にラベルを付ける
観測ごとに、デバイス、インターフェースまたはフック、方向、クロック参照、そして内部トラフィックか外部トランスポートかを記録します。ホスト上のファイアウォールログとアップリンク上のキャプチャは、数秒しか違わなくても別の証拠です。ラベルがあるからこそ、別のエンジニアがその見え方を再現できます。
クロックの問題を可視化したままにしてください。クロックはずれるため、あるホストで取ったタイムスタンプが別のホストのものと直接比較できるとは限りません。ホストを同期できない場合は、両方のタイムスタンプで試行を囲み、絶対値ではなく順序を使ってください。時刻を黙って調整するのではなく、測定したオフセットを記録してください。
その地点が実際に公開するフィールドを突き合わせる
実際に公開している地点で、アドレスとプロトコルフィールドを比較します。意図的な変換を考慮してください。書き換えられたタプルも同じ会話です。許可された IPv4 Echo テストでは、RFC 792 の定義が要求と応答の照合に役立つ識別子とシーケンスのフィールドを与えます。アドレスとウィンドウも保持してください。シーケンス値だけでは一意の識別にはなりません。
tcpdump -ni eth0 -c 20 'host 198.51.100.20 and icmp'
tcpdump -ni tun0 -c 20 'host 10.90.0.5 and tcp port 443'
外側の脚が暗号化されている場合は、ピアとの会話とその方向を別の記録に残します。内側の Echo 識別子が外側で同じ形のまま残るとは期待すべきではありません。外側と内側のカウントは、表現を明示せずに比較してはいけません。
疑わしい相手ではなく、欠けている区間を報告する
欠けている観測は限定的な証拠であり、そのデバイスでのドロップの証明ではありません。フィルタ、キャプチャの配置、失われたキャプチャデータ、試行を逃したウィンドウは、いずれも不完全な記録を生みます。何が欠けていて、どの境界の間なのかを述べてください。不在には有効期限も必要なので、どれだけ観測したか、何が現れるはずだったかを示してください。
相手方がトラフィックを転送したという主張は文脈であり、決して観測ではありません。フロー、タイムスタンプ、ラベル付きの境界、そして一つの狭い例を渡してください。要求された観測が目立つよう、報告書は十分短く保ってください。そうすれば次の要求は非難ではなく正確な測定になります。
求められた測定を一文にしてください。そして書くのをやめてください。