본문 바로가기

Network

ICMP

ICMP( Internet Control Message Protocol )

ICMP 라우터, 중간 장치 또는 호스트 업데이트 또는 오류 정보를 다른 라우터, 중간 장치 또는 호스트 통신하는 데 사용됩니다. 
네트워크가 혼잡하거나 호스트에 이상이 발생하여 목적지까지 패킷이 도달하지 않을경우 라우터와같은 중간장치들은 ICMP를 이용하여 통지합니다.

ICMP는 목적을 정의하고 메세지를 제공하는데있어 세가지의 필드로 구성되어 있습니다.
'종류'는 필드를 식별하는데 사용되며, 'CODE'는 필드에 연결된 'TYPE'에대한 추가적인 정보( ex : 타입별 코드 ) 제공합니다.
'CHECKSUM'은 메세지의 무결성( 헤더의 손상정보 )을 확인하는데 사용됩니다.

IP  HEADER

 TYPE
( 8 bit )

CODE
( 8 bit )

 CHECKSUM 
( 16bit )

 가변길이

                                              빨간색 ICMP 공통 헤더



- ICMP 메세지 타입

 

 
TYPE Description
---- -----------
0 Echo Reply
3 Destination Unreachable
4 Source Quench
5 Redirect Message
8 Echo Request
11 Time Exceeded
12 Parameter Problem
13 Timestamp Request
14 Timestamp Reply
15 Information Request (No Longer Used)
16 Information Reply (No Longer Used)
17 Address Mask Request
18 Address Mask Reply


Type 0. 에코 요청 / Type 8. 에코 응답
 ; ICMP를 IP연결 테스트용으로 사용
   'PING'은
       요청 TYPE = 8, CODE = 0
       응답 TYPE = 0, CODE = 0

Type 3. 대상에 연결 할 수 없음 ; 연결 할 수 없는 대상. 즉 ICMP 패킷을 배송 할수 없을경우

 Type 3 Code
 Value Description
 ----- -----------
 0 Network Unreachable
 1 Host Unreachable
 2 Protocol Unreachable
 3 Port Unreachable
 4 Fragmentation needed and DF (Don't Fragment) set
 5 Source route failed
 6 Destination Network unknown
 7 Destination Host unknown
 8 Source Host isolated
 9 Communication with Destination Network Administratively Prohibited
 10 Communication with Destination Host Administratively Prohibited
 11 Network Unreachable for Type Of Service
 12 Host Unreachable for Type Of Service
 13 Communication Administratively Prohibited by Filtering
 14 Host Precedence Violation
 15 Precedence Cutoff in Effect

Type : 3 / Code : 0 to 15



Type 4. 발신억제
; 빠르게 트래픽을 처리할 수 없을 때.
 이 메세지를 수신한 호스트는 회선 어딘가에 트래픽이 걸려있음을 알고 처리하게 됩니다.


Type 5. 메세지 재지정
 : 라우터는 호스트에서 최적이 아닌 경로를 사용하고 있는 경우 메세지를 발송하게 됩니다.
해당 메세지에는 최적 경로에 대한 정보와 원래 데이터그램의 정보를 가집니다.
 Type : 5 / Code : 0 to 3 


Type 11. 시간초과
 ; IP 의 생존시간인 TTL(Time to Live)이 0이되면 해당 메세지를 통하여 송신처에 되보내어 패킷이 파기되었음을 알림
  Type : 11 / Code 0 : TTL=0, 데이터 그램 파기
  or Type : 11 / Code 1 : 지정된 시간 내 도착하지 않음. 재조립 실패


Type 12. 매개변수 오류
 ; 매개변수가 누락 또는 에러가 존재하는 경우
 
  Type : 12 / Code 0 :  필드에서 발생한 오류
    or Type : 12 / Code 1 : 옵션의 요구사항 누락


주 내용을 위주로 다루다 보니 내용이 많이 빠져 있습니다. 정리하면 다음과 같습니다.

  
  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 Error Message) : Type 5

     - 시간 초과(Time Exceeded) : Type 11
        패킷이 루프를 돌거나, 과밀 발생,
        타이머 값이 너무 낮게 설정된 경우

     - 매개변수 문제(Parameter Problem) : Type 12


   ICMP 정보성 메세지(Informational Message) 
       / 질의 메세지(Query Message)

     - 에코 응답(Echo Reply) : Type 0

        Ping Echo 응답, 데이터를 다시 리턴해 줌

     - 에코 요청(Echo Request) : Type 8

        Ping Echo 요청, 옵션 데이터 가능

     - 라우터 광고(Router Advertisement) : Type 9

     - 라우터 간청(Router Solicitation) : Type 10


 출처 : http://www.ktword.co.kr/

 - 끗 -


'Network' 카테고리의 다른 글

TELNET  (0) 2014.10.10
UDP  (0) 2014.10.08
well-known port  (0) 2014.10.08
3-way Handshaking  (0) 2014.10.07
NetBIOS, NetBEUI  (0) 2014.10.06