[CS Study] 5주차(4) - ICMP와 네트워크 진단 활용

bagt13·2025년 5월 4일
0

CS

목록 보기
27/27

🛰 ICMP (Internet Control Message Protocol)

IP 프로토콜의 보조 역할을 하는 제어 메시지용 프로토콜이다.

  • ICMP는 IP 네트워크에서 문제가 생겼을 때 진단하거나 알리기 위한 용도이다.

  • 데이터를 전송하지 않고 오류/상태 메시지를 주고받는 데 사용된다.

  • ICMP는 IP 패킷의 한 종류로 작동한다 (즉, IP 위에서 동작함)


🛠 주요 ICMP 메시지 종류

타입(Type)메시지 이름설명
0Echo Reply응답 메시지 (핑 응답)
3Destination Unreachable목적지에 도달할 수 없음
5Redirect라우터 경로 변경 안내
8Echo Request요청 메시지 (핑 요청)
11Time ExceededTTL 초과로 폐기됨 (Traceroute 사용 시 활용)


📚 네트워크 진단 도구에서의 ICMP 활용

1. Ping

가장 널리 사용되는 ICMP 기반 진단 도구이다.

  • ex) ICMP Echo Request(8)를 보내고, Echo Reply(0)를 받는지 확인한다.

  • 이후, 응답 시간(ms)이나 손실 여부로 통신 가능성을 판단할 수 있다.

  • 실패할 경우 네트워크 끊김, 방화벽 차단, DNS 등 문제 가능성이 존재한다는 뜻이다.

사용 예시

ping google.com

2. Traceroute (Windows: tracert)

목적지까지 가는 경로를 추적하는 도구이다. (ICMP 기반 사용)

  • ex) 패킷의 TTL 값을 1부터 증가시키며 전송한다.

  • TTL이 0이 되면 ICMP Time Exceeded(11) 메시지를 수신

  • 이 메시지를 통해 중간 라우터의 IP를 하나씩 확인할 수 있다.

사용 예시

traceroute google.com      # Linux/macOS
tracert google.com         # Windows


❗️ ICMP의 한계 및 주의사항

  • 보안상의 이유로 일부 네트워크에서는 ICMP 패킷을 차단한다. (Ping 막힘)

  • ICMP는 암호화되지 않으며, DoS 공격 등에 악용될 수 있다.

  • 하지만 문제 발생 시 네트워크 문제 원인을 빠르게 확인하는 데 매우 유용하다.

profile
백엔드 개발자입니다😄

0개의 댓글