1. ICMP
ㅇ TCP/IP의 IP 계층에서 추가적으로 필요한 기능들을 수행하기위한 프로토콜
- IP 패킷을 처리할 때 발생되는 문제를 알리거나, 그와같은 문제의 진단 등
ㅇ IP(Internet Protocol)와 하나의 쌍을 이루며 동작
2. ICMP의 계층 위치
ㅇ ICMP는 IP의 상위계층의 프로토콜 처럼 행동하나, 그림에서 보면, 결국 ICMP는
IP 계층의 일부이며 IP 데이터그램의 데이터 부분에 포함되어 전달
3. IP 패킷에 캡슐화된 ICMP 메세지 구성 ☞ IP 헤더, IPv4 헤더, IPv6 헤더, 프로토콜번호
ㅇ 한편, ICMPv6은 ICMPv4 와는 달리,
- 기존의 `ICMP 기능`에다가, `IGMP 기능`, `ARP 기능`까지도 모두 포괄하도록 만들어짐
- 따라서, 모든 IPv6 패킷 제어 기능이 ICMPv6에 통합 수용됨
4. ICMP 메세지의 일반적인 포멧 ☞ ICMP 메세지 포멧
5. ICMP 메세지의 유형 분류 ☞ ICMP 메세지 종류
ㅇ 오류 보고 메세지 (Error Reporting Message) ☞ ICMP 에러메세지
- IP 패킷 전달 오류의 보고
. ICMPv4 例 : 목적지 도달불가(3), 리다이렉트(5), 시간초과(11), 매개변수 문제(12)
. ICMPv6 例 : 목적지 도달불가(1), 패킷길이초과(2), 시간초과(3), 매개변수 문제(4)
ㅇ 정보성 메세지(Informational Message) / 질의 메세지(Query Message) ☞ ICMP 질의메세지
- 네트워크 상태조사를 위한 질의 요청 및 응답
. ICMPv4 例 : {에코 요청(8), 에코 응답(0)}, {라우터 광고(9), 라우터 간청(10)} 등
. ICMPv6 例 : {에코 요청(128), 에코 응답(129)}, {라우터 광고(134), 라우터 간청(133)} 등
※ [참고] ☞ IANA ICMPv4 Parameters
6. ICMP 메세지의 통지 및 처리의 원칙
ㅇ IP를 구현하는 모든 호스트 및 라우터는,
- 오류 또는 상태 보고에 대한 ICMP 메세지의 수신 및 발생 기능을 가지고 있어야 함
ㅇ 한편, 각 장비에서 발견한 오류 등에 대한 통지는,
- 그러한 패킷을 발생시킨 송신측에게 보내는 것이 원칙임
7. ICMP를 활용하는 대표적인 응용
ㅇ Ping 명령어
- 이는 반향 요청(Echo Request), 반향 응답(Echo Reply)을 활용
ㅇ traceroute 명령어
- 이는 Time Exceeded을 활용
8. 관련 주요 표준
ㅇ ICMPv4 : RFC 792, 1122, 1812
ㅇ ICMPv6 : RFC 2461, 2894, 3122, 3810, 4443, 4620