-
ICMP(Internet Control Message Protocol) 정리Network 2019. 5. 14. 13:36
ICMP(Internet Control Message Protocol) 정리
1. ICMP(Internet Control Message Protocol) 이란?
- 인터넷 제어 메시지 프로토콜로, 네트워크 계층에서 동작함
- 송신 측의 상황과 목적지 노드의 상황(Health Check)을 진단하기 위한 용도로 사용됨
- 인터넷 프로토콜의 주요 구성원 중 하나로 인터넷 프로토콜에 의존하여 작업을 수행
2. ICMP 포맷 (IPv4 기준)
1) ICMP 공통 헤더(4byte)
type(1byte), code(1byte), Checksum(2byte)라는 3개의 필드로 시작됨
① type(8 bit) : 메세지 유형
- 8bit이므로, 256개 메세지 유형이 가능
. 일반적으로, 0 ~ 127 : ICMP 오류 보고 메세지, 128 ~ 255 : ICMP 정보성 메세지
② code(8 bit) : 각 메세지 유형 마다 추가적인 세부정보
③ Checksum(16 bit) : 검사합(16bit)2) 1. ICMPv4 주요 메세지 구분 ☞ 참고) IANA ICMPv4 Parameters
① ICMP 오류 메세지(Error Reporting Message)
- 목적지도달불가(Destination Unreachable) : Type 3
. Network Unreachable : Code 0
. Host Unreachable : Code 1
. Protocol Unreachable : Code 2
. Port Unreachable : Code 3
- 발신 억제(Source Quench) : Type 4 (표준에서 제외됨)
- 재지정(Redirect) : Type 5
- 시간 초과(Time Exceeded) : Type 11
. 패킷이 루프를 돌거나, 과밀 발생, 타이머 값이 너무 낮게 설정된 경우
- 매개변수 문제(Parameter Problem) : Type 12
② ICMP 정보성 메세지(Informational Message) / 질의 메세지(Query Message)
- 호스트 간에 연결성 검사 확인(Ping 명령어 확인 등)
. 에코 응답(Echo Reply) : Type 0
→ Ping Echo 응답, 데이터를 다시 리턴해 줌
. 에코 요청(Echo Request) : Type 8
→ Ping Echo 요청, 옵션 데이터 가능
- 라우터 광고(Router Advertisement) : Type 9
- 라우터 간청(Router Solicitation) : Type 103. ICMP 포맷 확인(IPv4 기준)
ICMP 포맷 확인을 위해 명령 프롬프트(CMD)를 이용하여 구글 DNS(8.8.8.8)에 ping 명령어 전송 시 송신되는 패킷을 Wireshark 프로그램을 통해 확인하였다.
아래 그림을 통해 출발지(Source)에서 목적지(8.8.8.8)로 전송되는 Echo (ping) request 패킷을 확인해보면, 공통헤더인 type(1byte), code(1byte), Checksum(2byte) 필드와 나머지 헤더(4byte), Type과 Code에 따라 가변적으로 변경되는 메시지 필드1(4byte)과 메시지 필드2를 확인할 수 있다.
① Type : ICMP 메시지 종류
② Code : 각 타입에 대한 코드 값
③ Checksum : ICMP 메시지 자체(헤더 + 데이터)에 대한 오류를 검사하는 필드
④ 메시지 필드1 : Type과 Code에 따라 가변적으로 변경되는 필드
⑤ 메시지 필드2 : Type과 Code에 따라 가변적으로 변경되는 필드
'Network' 카테고리의 다른 글
3-Way Handshake 확인 실습 (0) 2019.05.14 IPv6의 이해 (0) 2019.05.14 네트워크 장비 아이콘(ICON) 다운로드 경로 (0) 2019.05.14