본문 바로가기

[Network] Beginner

ICMP (Internet Control Message Protocol)

ICMP (Internet Control Messege Protocol)

 

ICMP 인터넷 프로토콜의 주요 프로토콜 하나로서, 통신의 연결성을 확인하고 에러 메시지를 받을 사용되는 프로토콜이다4계층의 TCP/UDP와는 다르게 데이터를 주고받을 때나 사용자 어플리케이션을 위해 사용되지 않는다.

 

신뢰성이 없는 IP프로토콜을 대신하여 연결성을 확인하는데 사용하고, 문제가 생긴 구간의 원인을 파악하기 위해 에러 메시지를 체크하기 위해 사용하기도 한다. 또한 패킷이 전달되는 경로를 추적하여 라우팅 경로를 확인하는 용도로 사용할 있다.

 

 

 

ICMP 구조

 

Type

ICMP type (Control messages 참조)

Code

ICMP subtype 나타냄 (Control messages 참조)

Checksum

헤더와 데이터를 계산하여 데이터의 에러를 체크.

Rest of Header

ICMP type code 바탕으로 분류된 컨텐츠

Data

IPv4헤더의 전반적인 부분을 담은 ICMP 에러 메시지 데이터와 에러를 발생시킨 IPv4 패킷 데이터의 8byte

 

 

Control messages

Type

Code

Description

0 Echo Reply

0

Echo reply (used to ping)

1 and 2

 

Reserved

3 Destination Unreachable

0

Destination network unreachable

 

1

Destination host unreachable

 

2

Destination protocol unreachable

 

3

Destination port unreachable

 

4

Fragmentation required, and DF flag set

 

5

Source route failed

 

6

Destination network unknown

 

7

Destination host unknown

 

8

Source host isolated

 

9

Network administratively prohibited

 

10

Host administratively prohibited

 

11

Network unreachable for TOS

 

12

Host unreachable for TOS

 

13

Communication administratively prohibited

 

14

Host Precedence Violation

 

15

Precedence cutoff in effect

4 Source Quench

0

Source quench (congestion control)

5 Redirect Message

0

Redirect Datagram for the Network

 

1

Redirect Datagram for the Host

 

2

Redirect Datagram for the TOS & network

 

3

Redirect Datagram for the TOS & host

6

 

Alternate Host Address

7

 

Reserved

8 Echo Request

0

Echo request (used to ping)

9 Router Advertisement

0

Router Advertisement

10 Router Solicitation

0

Router discovery/selection/solicitation

11 Time Exceeded

0

TTL expired in transit

 

1

Fragment reassembly time exceeded

12 Parameter Problem: Bad IP header

0

Pointer indicates the error

 

1

Missing a required option

 

2

Bad length

13 Timestamp

0

Timestamp

14 Timestamp Reply

0

Timestamp reply

15 Information Request

0

Information Request

16 Information Reply

0

Information Reply

17 Address Mask Request

0

Address Mask Request

18 Address Mask Reply

0

Address Mask Reply

19

 

Reserved for security

20 through 29

 

Reserved for robustness experiment

30 Traceroute

0

Information Request

31

 

Datagram Conversion Error

32

 

Mobile Host Redirect

33

 

Where-Are-You (originally meant for IPv6)

34

 

Here-I-Am (originally meant for IPv6)

35

 

Mobile Registration Request

36

 

Mobile Registration Reply

37

 

Domain Name Request

38

 

Domain Name Reply

39

 

SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol

40

 

Photuris, Security failures

41

 

ICMP for experimental mobility protocols such as Seamoby [RFC4065]

42 through 255

 

Reserved

 

출처: <http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol>

'[Network] Beginner' 카테고리의 다른 글

4계층(Transport) 세부설명  (8) 2019.08.20
ARP (주소결정프로토콜)  (5) 2014.08.07
Wildcard-Mask (와일드카드 마스크)  (6) 2014.07.26
서브넷팅 (Subnetting)  (5) 2014.07.22
Subnet-Mask (서브넷 마스크)  (0) 2014.07.21