공든탑앱 열기

ICMP와 IGMP

네트워크관리사 2급 · IP 보조 프로토콜과 라우팅 · 약 13분

쉽게 말하면

ICMP는 네트워크의 '상태 알림 쪽지'예요. "살아 있니?"(ping) 하고 물으면 "응, 살아 있어" 하고 답하고, 길을 못 찾거나 너무 멀리 돌면 "여기서 막혔어요"라고 알려 줘요. tracert는 이 쪽지를 이용해 목적지까지 어떤 길을 지나는지 한 칸씩 알아내요. IGMP는 '단체 방송(멀티캐스트) 구독 신청서'예요.

시험용 정의

ICMP(Internet Control Message Protocol)는 IP 통신 중 생긴 오류를 알리고 상태를 진단하는 3계층 프로토콜이다. 포트 번호가 없고 IP 헤더의 프로토콜 번호 1로 실린다. ping은 Echo Request/Reply로, tracert(traceroute)는 TTL을 1씩 늘려 보내며 돌아오는 Time Exceeded로 경로를 알아낸다. IGMP는 호스트가 멀티캐스트 그룹에 가입·탈퇴를 라우터에 알리는 프로토콜이다.

비유로 이해하기

ICMP는 택배 회사의 안내 문자다. "배송지 없음"(Destination Unreachable), "보관 기간 만료로 폐기"(Time Exceeded), "수령 확인"(Echo Reply) 같은 알림이 온다.

자세히

먼저 알아 둘 말

말뜻
TypeICMP 메시지 종류 번호
RTT왕복 시간. ping 결과의 시간=ms
홉라우터 하나를 지나는 것
멀티캐스트가입한 그룹에게만 보내는 단체 전송. 224.0.0.0 ~ 239.255.255.255

주요 ICMP 메시지

Type이름뜻
0Echo Replyping 응답
3Destination Unreachable목적지(네트워크·호스트·포트)에 갈 수 없음
5Redirect더 좋은 경로(라우터)가 있다고 알림
8Echo Requestping 요청
11Time ExceededTTL이 0이 되어 버림 (tracert가 이용)

ping과 tracert 읽기

  • ping: 시간=32ms TTL=54는 왕복 32ms, 돌아온 패킷의 남은 TTL 54. 응답이 없다고 꼭 꺼진 것은 아니다(방화벽이 ICMP를 막을 수 있다)
  • 윈도우 ping -t는 멈출 때까지 계속, -n 횟수, -l 크기. 리눅스는 -c 횟수
  • tracert(윈도우)·traceroute(리눅스): TTL 1, 2, 3…으로 보내 각 라우터가 돌려주는 Time Exceeded로 경로를 그린다. *는 그 홉이 응답하지 않은 것
  • pathping: tracert + 구간별 손실률 통계 (윈도우)

IGMP

호스트가 "나 이 멀티캐스트 그룹(예: 239.1.1.1) 받을래요"라고 라우터에 가입·탈퇴를 알리는 프로토콜이다. 라우터는 이를 보고 가입자가 있는 쪽으로만 멀티캐스트를 보낸다. IP 프로토콜 번호 2, 인터넷 계층.

시험에 이렇게 나와요

확인 문제

Q1. ping 명령이 상대에게 보내는 ICMP 메시지와 받는 메시지는?

  1. Destination Unreachable → Redirect
  2. Time Exceeded → Echo Reply
  3. Echo Request → Echo Reply
  4. SYN → SYN+ACK
정답 보기

3번 Echo Request → Echo Reply

ping은 ICMP Echo Request(Type 8)를 보내고 Echo Reply(Type 0)를 받아 도달 여부와 왕복 시간을 잰다.

Q2. tracert가 경로를 알아내는 데 이용하는 ICMP 메시지는?

  1. Time Exceeded
  2. Redirect
  3. Source Quench
  4. Echo Reply
정답 보기

1번 Time Exceeded

TTL을 1씩 늘려 보내고 각 라우터의 Time Exceeded를 받는다.

Q3. 호스트가 멀티캐스트 그룹 가입을 라우터에 알리는 프로토콜은?

  1. ICMP
  2. IGMP
  3. ARP
  4. SNMP
정답 보기

2번 IGMP

IGMP다. ICMP는 오류 보고와 진단(ping), ARP는 IP로 MAC 주소 찾기, SNMP는 네트워크 관리다.

Q4. 목적지 포트에서 서비스가 동작하지 않을 때 돌아오는 ICMP 메시지 유형은?

  1. Destination Unreachable
  2. Time Exceeded
  3. Redirect
  4. Echo Reply
정답 보기

1번 Destination Unreachable

Type 3, Port Unreachable 코드.

Q5. ping이 보내는 ICMP 메시지 유형(Type) 번호는?

  1. 0
  2. 3
  3. 8
  4. 11
정답 보기

3번 8

8 Echo Request를 보내고 0 Echo Reply를 받는다. 3은 목적지 도달 불가, 11은 시간 초과.

Q6. ICMP의 역할로 옳은 것은?

  1. 오류가 난 패킷을 고쳐 준다
  2. 오류와 상황을 보고한다
  3. IP 주소를 자동으로 나눠 준다
  4. 도메인 이름을 IP로 바꾼다
정답 보기

2번 오류와 상황을 보고한다

ICMP는 알려 줄 뿐 고치지 않는다. 주소 할당은 DHCP, 이름 변환은 DNS.

헷갈리기 쉬운 O·X

ICMP는 4계층 프로토콜이라 포트 번호를 쓴다.

정답 보기

X 3계층이고 포트가 없다.

ping에 응답이 없으면 그 서버는 반드시 꺼져 있다.

정답 보기

X 방화벽이 ICMP를 막았을 수도 있다.

ping의 요청은 Echo Request(Type 8), 응답은 Echo Reply(Type 0)다.

정답 보기

O 번호까지 자주 나온다. 요청 8, 응답 0.

함께 보면 좋은 개념