728x90
반응형

IP Protocol은 송신 시스템과 수신 시스템 사이의 패킷을 최적의 경로를 통해 전달하는것이 주된 목적이다. (단편화 시켜서 전달)

IP Protocol은 신뢰성이 없고 오류 발생 가능성이 높은 비연결성 Protocol이다. 

에러 발생 원인이나 진단 기능 및 상황 정보를 지원하지 않는데 이런 IP Protocol의 단점을 보완한 것이 ICMP Protocol이다.

 

즉, ICMP Protocol은 TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜이다.

 

IP에는 오로지 패킷을 목적지에 도달시키기 위한 내용들로만 구성되어 있다. 따라서 정상적으로 목적지 호스트에 도달하는 경우에는 IP에서 통신이 성공하고 종료되므로 아무런 문제가 없다.

그러나, 만일 전달해야 할 호스트가 꺼져 있거나, 선이 단절된 경우와 같은 비정상적인 경우에 이 패킷전달을 의뢰한 출발지호스트에 이러한 사실을 알려야하지만, IP에는 그러한 에러에 대한 처리 방법이 명시되어있지 않다.

이러한 IP의 부족한 점을 메꾸기 위하여 사용되는 것이 바로 ICMP 이다

ICMP는 해당 호스트가 없거나, 해당 포트에 대기중에 서버프로그램이 없는 등의 에러상황이 발생할 경우 IP헤더에 기록되어 있는 출발지 호스트로 이러한 에러에 대한 상황을 보내주는 역할을 수행하게 된다.

(인터넷/통신 상에서 발생한 일반적인 상황에 대한 보고, 인터넷/통신 상에서 발생한 오류에 대한 보고)

물론 이 외에도 메시지를 제어하는 추가적인 기능들이 있다.

 

 

ICMP Layer

ICMP 프로토콜은 Network 계층에 속하며 IP 프토콜과 같이 사용한다.

 

 

ICMP 사용 명령어

 

1. Ping 명령 : 상대방 호스트의 작동 여부 및 응답시간 측정하는데 사용

  • Echo Request (ICMP 질의메시지 요청)

  • Echo Rely (ICMP 응답메시지 요청)

2. Tracert 명령 : 목적지까지의 라우팅 경로 추적을 하기위해 사용

  • Time Exceeded 확인 기능

 

 

 

ICMP 패킷 헤더 구조

 

 

ICMP는 기본적으로 4개의 헤더로 구성되어 있다.

  • ICMP Type : ICMP의 메시지를 구별

  • ICMP Code : 메세지 내용에 대한 추가 정보 (즉, ICMP Type에 대한 상세 정보)

  • ICMP CheckSum : ICMP의 값이 변조 여부를 확인

  • ICMP 메시지1, 메시지2 : ICMP Type에 따라 내용이 가변적으로 들어가는 내용

 

 

ICMP Type 

 

 

 

 

ICMP Test

 

ICMP TYPE - Request

 

ICMP구조에 따라 Type 8, Code 0, Checksum, Data를 확인 할 수 있음.

type이 Request 이기 때문에 메세지 1(data)에 특정값(abcdefg .. 이하 생략)이 채워져 있다.

 

 

 

 

ICMP TYPE - Reply  [응답이 정상적인 경우]

 

Type 0, Code 0, Checksum 도 정상적이다.

또 동일하게  Reply 이기 때문에 메세지 1(data)에 특정값으로 채워져 있는 것을 확인할 수 있다

 

 

 

ICMP TYPE - Destination Unreachable [응답이 비정상적인경우]

 

어떠한 이유로 인해 패킷이 정상적으로 도달하지 못하는 경우 이에 대한 응답메세지를 보내는데, Unreachable도 그 중 하나이다.

Type 3, Code 13, Checksum 도 정상적인데, 차이점은 메세지 2(data)에 실패한 패킷의 정보(IPV4, ICMP)가 담겨있는 것을 볼 수 있음.

 

 

참고 URL

https://m.blog.naver.com/PostView.nhn?blogId=lookie77&logNo=70024036178&proxyReferer=https:%2F%2Fwww.google.com%2F

http://www.firewall.cx/networking-topics/protocols/icmp-protocol/156-icmp-time-exceeded.html

http://www.firewall.cx/networking-topics/protocols/icmp-protocol/155-icmp-redirect-message.html

http://www.firewall.cx/networking-topics/protocols/icmp-protocol/152-icmp-echo-ping.html

https://run-it.tistory.com/31

 

반응형

'Network' 카테고리의 다른 글

Load Balancing  (0) 2018.12.28
Forward Proxy and Reverse Proxy  (0) 2018.12.19
라우터 초기화 방법  (0) 2018.08.14
NAT와 NAPT  (0) 2018.08.14
IP Masquerade (IP 마스커레이드)  (0) 2018.08.14

+ Recent posts