ICMP(Internet Control Message Protocol) 이란?
인터넷 제어 메세지 프로토콜으로써 정보들을 전달하거나 컨트롤 하는 프로토콜 이다.
ICMP(Internet Control Message Protocol) 용도
👉 패킷 전송이 실패했을 때 에러가 났음을 알림과 동시에 해결 가능한 힌트를 제공함
👉 ping, traceroute 명령 등 진단과 정보전달한다.
But, 종단간 데이터 수송 역할은 전혀 아니다.
ICMP 패킷 헤더 구조
① ICMP TYPE : ICMP의 메세지를 구별
② ICMP CODE : 메세지 내용에 대한 추가 상세정보
③ ICMP Cehcksum : ICMP의 값이 변조 여부를 확인함
④ ICMP 메세지1, 메세지2 : ICMP TYPE에 따라 내용이 가변적으로 들어가는 내용
ICMP 응답이 정상적인 경우
Type 0, Code 0, Checksum 정상일 경우 ICMP 응답도 정상입니다.
ICMP 응답이 비정상적인 경우
패킷(데이터 단위) 정상적으로 도달하지 못할 경우에는 이에 대한 Unreachable 응답 메세지를 보냅니다.
차이점은 메세지 2에 대한 실패한 패킷의 정보(IPV4, ICMP)가 담겨있습니다.
👉 ICMP 프로토콜은 Network 계층에 속하여 IP 프로토콜과 같이 사용됩니다.