본문 바로가기
System/Network

ICMP란? ICMP 코드 확인법

by Opendoors. 2021. 8. 27.
반응형

ICMP는 쉽게 이야기 하자면 상대방 네크워크 주소까지의 연결상태를 점검해 알려주는 프로토콜 이라고 할 수 있습니다. 예시로는 Ping으로 네트워크 연결상태를 확인할때 바로 ICMP를 사용합니다.

Ping 예시


ICMP란?

ICMP Internet Control Message Protocol(RFC792)의 약자이며 오류 및 정보 메시지를 교환하는 데 사용됩니다.

오류 메시지 : 프레임을 전달할 때 오류 또는 매개변수 문제가 발생했음을 IP 프레임의 발신자에게 알립니다.

정보 메시지 : 시간 측정, 주소 마스크, 대상의 도달 가능성 또는 라우터 찾기에 대한 정보를 포함할 수 있습니다.

시간 측정, 주소 마스크, 대상의 도달 가능성 또는 라우터 찾기에 대한 정보를 포함할 수 있습니다.


ICMP 패킷 유형

총 32비트로 구성되며, 오류보고와 질의 메시지로 구성된다고 볼 수 있습니다.

0 4 8 12 16 20 24 28 31
ICMP package type
Type of message
Code
Further details of the message
Checksum
Data

 

대표적인 ICMP 패킷 유형은 다음과 같습니다.

[대표적 패킷 유형]

Redirect : 라우터는 서브넷 중 하나의 호스트에 대상에 더 나은 경로가 있음을 알립니다. ICMP 패킷 유형은 다음 설명에서 더 자세히 다룹니다.

Destination Unreachable : IP 프레임을 전달할 수 없습니다.

Time Exceeded : 시간 제한 초과

Echo-Request : ping으로 더 잘 알려진 에코 요청.

 

그리고 Checksum은 송신된 자료의 무결성(정확성)을 검증하기 위한 데이터로 계산하는 방법은 RFC 1071을 참고할 수 있습니다.

 

http://www.faqs.org/rfcs/rfc1071.html

 

RFC 1071 - Computing the Internet checksum (RFC1071)

Network Working Group R. Braden Request for Comments: 1071 ISI D. Borman Cray Research C. Partridge BBN Laboratories September 1988 Computing the Internet Checksum Status of This Memo This memo summarizes techniques and algorithms for efficiently computing

www.faqs.org

[Checksum기본방식]

모든 데이터를 WORD(16비트 정수)로 처리하고 수행을 기록하는 동안 모든 데이터를 합산합니다. 체크섬이 끝나면 누적된 모든 캐리 아웃을 다시 추가합니다(데이터의 16비트 청크 이상인 것처럼). 캐리가 처리되지 않은 다른 수행을 일으키지 않도록 이 작업을 한 번 더 수행합니다. 마지막으로 결과의 1의 보수를 취하면(모든 비트 반전) 완료됩니다.

 

 

추가로 ICMP 패킷 유형에 대한 추가적인 정보는 아래 링크를 통해 확인 할 수 있습니다.

http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml

 

Internet Control Message Protocol (ICMP) Parameters

[1] It is only appropriate to use these values in explicitly- configured experiments; they MUST NOT be shipped as defaults in implementations. See RFC 3692 for details.

www.iana.org

Redirect 검색

반응형

댓글