Network - ICMP
ICMP ( Internet Control Message Protocol : 인터넷 제어 메시지 프로토콜 )
ICMP는 네트워크 컴퓨터 위에서 돌아가는 운영체제 오류 메시지를 전송 받는데 주로 쓰이며 인터넷 프로토콜의
주요 구성원 중 하나로 인터넷 프로토콜에 의존하여 작업을 수행한다.
ICMP - 주요특징
- 프로토콜 번호는 1번이다. ( TCP:6, UDP:16 )
- TCP/IP에서 IP패킷을 처리할 때 발생되는 문제를 알리거나, 진단 등과 같이 IP 계층에서 필요한 기타
기능들을 수행하기위해 사용되는 프로토콜 이다.
- IP( Internet Protocol )와 하나의 쌍을 이루며 동작
↑ ICMP는 IP의 상위계층처럼 보이지만, 결국, ICMP는 IP계층의 일부이며, IP데이터그램의 데이터 부분에 포함되어 전달된다.
ICMP - 형태
↑ ICMP 메시지의 구성
↑ ICMP 메시지의 일반적인 포멧, ICMPv4형태
1. 오류 보고 메세지 ( Error Reporting Message )
- IP 패킷 전달 오류의 보고
- IP 계층에서 IP데이터 그램의 전달상의 문제가 발생했을때 그 에러의 유형을 송신측 ( 데이터그램의 근원지 )에게
보고하기 위한 일련의 메시지들이다.
- 발신측에 오류 상황을 보다 많이 알리기위해 본문의 일부가 포함되어 전달된다.
- ICMP 헤더 및 원래 IP 데이터 그램의 일부가 채워진다.
# IPv4 : 원본 IPv4 헤더 + 데이터부분의 첫 8바이트
데이터 그램의 IP헤더 및 TCP,UDP헤더 내 포트주소, 순서번호가 덧 붙는다.
- 생성 위치 및 규칙
- 대부분의 경우에 ICMP 에러메시지는 라우터로부터 발생한다.
- ICMP 메시지 전달과정에 발생된 오류 메세지에 대해서는 또다시 생성하지 않는다.
- 단편화된 IP 데이터 그램중 첫번째 것을 제외한 나머지 단편들에 대해 생성되지 않는다.
- 수신 주소가 브로드 캐스트, 멀티 캐스트 주소인 경우에는 생성되지 않는다.
- 발신 주소가 무의미할 경우 ( 제로주소, 루프백 주소, 브로드캐스트주소, ..) 생성되지 않는다.
- 타입 및 설명
- Destination Unreachable 에러 메세지 ( ICMPv4 : type 3 )
# 도달할 수 없는 목적지에 계속하여 패킷을 보낼때 경고 해주는 역활
- Source Quench 에러 메세지 ( ICMPv4 : type 4 )
# 수신 측 서버가 불안정하거나 폭주했을때 상황을 송신측에 알려서 송신측이 전송을 잠시 중단하거나 전송률을 줄이는 등의
조치를 취하도록 알리는 역활
- Redirect 에러 메세지 ( ICMPv4 : type 5 )
# 송신측으로부터 패킷을 수신 받은 라우터가 특정 목적지로 가는 더 짧은 경로가 있음을 알리고자할 때 사용하는 역활
- Time Exceeded 에러 메세지 ( ICMPv4 : type 11 )
# 목적지 시스템에 도달하기 이전에 TTL값이 0에 이르렀음을 알리는 역활
2. 질의/조회/정보성 메세지
- 네트워크 상태조사를 위한 질의 요청 및 응답
- ICMP 에러메시지 처럼 송신측에 에러를 보고하는 역활과 다르다.
# 송수신간에 양방향으로 질의-응답의 형태를 띤다.
# 네트워크의 상태를 요청하고 응답 받는 메세지
- 정의된 질의메세지 중 대부분이 다른 프로토콜에 의해 대체 된다.
- 질의/정보 메세지의 주요 종류
- Echo Request ( type : 8 ) 및 Echo Reply( type:0 )
# Ping 명령어가 이 두개를 조합하여 활용
# 추가필드 구성 : Identifier ( 2Bytes ) , Sequence number ( 2Bytes ), Optional data( 가변적 )
- Timstamp Request( type :13 ) 및 Timestamp Reply ( type: 14 )
# ICMP 질의 메세지가 두 시스템간에 왕복하는데 소요된 시간 또는 시간차를 파악
- Address Mask Request ( type : 17 ) 및 Address Mask Reply ( type : 18 )
# 서브넷 마스트를 얻는데 사용
ICMP - 대표적인 응용
- Ping 명령어
# Echo Request, Echo Reply를 활용
- tracerouter 명령어
# Time Exceeded를 활용
참고 자료
↑ ICMP Control Messages 참고, 위키백과
FTP 통신 동작과정 및 기본 원리 (0) | 2017.05.01 |
---|---|
DHCP 프로토콜 통신과정 및 기본 원리 (0) | 2017.04.24 |
TCP/IP 3 Way-Handshaking (1) | 2017.04.11 |
Network - OSI Layer 7 (0) | 2017.04.07 |
Network - LAN 과 WAN (0) | 2017.04.07 |
좀 알려주세요 현기증 난단 말이에요..