세 가지 서로 다른 도구가 서로 다른 세 가지 중복을 보고하며, 그중 조치할 수 있는 네트워크 사건은 하나뿐입니다. 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 표시만으로 터널을 주장하는 것은 추측이기 때문에 둘 다 이름을 붙여야 합니다.

각 발견에 대해 계층, 카운터, 관측 지점을 기록하면 다음 독자는 세 사건을 하나의 상상 속 고장으로 합치지 않을 것입니다. 그 세 항목으로 에스컬레이션하면 수정은 보통 첫 번째에서 나옵니다.

관련 글