1. Introduction to Traceroute
- Traceroute는 ICMP Time Exceeded(TTL Expired)를 이용하는 애플리케이션
- Traceroute는 D-IP로의 전달 경로와 각 홉마다의 전송 지연 시간을 표시
- Traceroute에서 사용하는 프로토콜은 OS마다 상이
- Windows : ICMP
- Cisco, Juniper Nokia : UDP
- Linux : ICMP, UDP, TCP(Option으로 선택 가능)
2. Traceroute 동작 과정
- 아래 글은 'traceroute' 입력 시, ICMP Request 패킷을 전송하는 것으로 설명하였지만 EVE-NG의 VPC 특성으로 Wireshark는 UDP로 Capture하여 첨부
- PC1→PC2로 Traceroute를 실행
- PC1은 D-IP가 PC2인 192.3.1.2이고 TTL이 1인 ICMP Request를 생성하여 게이트웨이로 전송
- ICMP Request가 전송되는 경로 중, 스위치가 있어도 라우팅을 하지 않으므로 TTL 값이 감소되지 않고 처리
- R1은 ICMP Request를 수신하고 D-IP를 확인하고 라우팅하여 패킷을 전달하기 전에 TTL 1을 감소하여 0이 되므로 ICMP Request를 Discard하고 ICMP Request의 S-IP인 192.1.1.2를 D-IP로, 해당 패킷을 수신한 Interface IP인 192.1.1.1을 S-IP로 설정하고 Type 11, Code 0인 ICMP Time Exceeded(TTL Expired) 패킷을 전송
- PC1은 TTL Expired 패킷을 수신하고 해당 패킷을 전송한 S-IP인 192.1.1.1과 TTL Expired 패킷이 도착하는데 걸리는 시간을 표시
- PC1은 D-IP가 PC2인 192.3.1.2이고 TTL이 2인 ICMP Request를 생성하여 게이트웨이로 전송
- R1은 ICMP Request를 수신하고 D-IP를 확인하고 라우팅하여 패킷을 전달하기 전에 TTL 1을 감소하여 Next-Hop으로 전달
- R2는 ICMP Requset를 수신하고 D-IP를 확인하고 라우팅하여 패킷을 전달하기 전에 TTL 1을 감소하여 0이 되므로 ICMP Request를 Discard하고 ICMP Request의 S-IP인 192.1.1.2를 D-IP로, 해당 패킷을 수신한 Interface IP인 1.1.1.2를 S-IP로 설정하고 Type 11, Code 0인 ICMP Time Exceeded(TTL Expired) 패킷을 전송
- PC1은 TTL Expired 패킷을 수신하고 해당 패킷을 전송한 S-IP인 1.1.2.2와 TTL Expired 패킷이 도착하는데 걸리는 시간을 표시
- PC1은 D-IP가 PC2인 192.3.1.2이고 TTL이 3인 ICMP Request를 생성하여 게이트웨이로 전송하고 위와 같이 동일한 동작을 반복
- PC1은 D-IP가 PC2인 192.3.1.2이고 TTL이 4인 ICMP Request를 생성하여 게이트웨이로 전송
- PC1은 PC2로부터 TTL Expired가 아닌 ICMP Reply를 수신하고 해당 패킷을 전송한 S-IP인 192.3.1.2와 ICMP Reply 패킷이 도착하는데 걸리는 시간을 표시하고 Traceroute를 종료
- UDP와 TCP를 사용하는 방식도 중간단계에서는 TTL Expired 원리를 사용하는 것은 동일하고 ICMP Request를 사용하는 Traceroute에서 최종 목적지 네트워크 장비가 회신하는 패킷이 ICMP Reply인 것처럼 UDP에서는 ICMP Port Unreachable, TCP Syn에서는 TCP Syn/Ack을 수신하면 Traceroute 동작을 종료
3. Traceroute 결과 예시
- 5번째 홉에서 Traceroute가 더 이상 진행하지 못하고 경로 추적 제한 횟수인 30을 넘어서 Traceroute를 멈춘 것을 의미
- 4번째 라우터에 접속하여 통신이 안 되는 원인을 파악
- 5번째 홉에서만 응답이 없고 이후에는 계속 진행되는 것으로 5번째 홉인 네트워크 장비가 Traceroute에 응답하지 않는 설정이 되어 있으며 최종 목적지와 통신이 이상 없음을 의미
- 5번째와 6번째 홉의 네트워크 장비에서 D-IP에 대한 라우팅 테이블 설정이 서로 마주 보게 설정되어 있어서 라우팅 루프가 발생하고 추적 제한 횟수인 30을 넘어서 Traceroute가 멈춘 것의 의미
- 5번째와 6번째 라우터에 접속하여 라우팅 테이블 점검 필요
'Network > ARP, ICMP' 카테고리의 다른 글
[Casts] Broadcast 동작 방식 (2) | 2024.12.20 |
---|---|
[Casts] Multicast 동작 방식 (0) | 2024.12.18 |
[Casts] Unicast 동작 방식 (0) | 2024.12.16 |
ICMP Redirect (1) | 2024.12.12 |
ICMP Time Exceeded (0) | 2024.12.10 |
ICMP Destination Unreachable (0) | 2024.12.08 |
ICMP Request and Reply (0) | 2024.12.06 |
Introduction to ICMP and Header (0) | 2024.12.04 |