ICMP(Internet Control Messages Protocol) 프로토콜 (도구 ping)
본문 바로가기

ICMP(Internet Control Messages Protocol) 프로토콜 (도구 ping)

액트 2019. 5. 23.

IP 를 도와주는 Protocol - ARP, ICMP, IGMP

 

version : 4

Type of Service : 우선예약

-> 5가지 (비용, 보완, 처리량, 신뢰성, 지연) 를 고려하여 데이터가 나중에 들어와도 ㅍ먼저 처리 해 주는 기능.

Header Length :data를 제외한 IP 길이

Total Length : 3계층 전체 길이

 

- 같은 곳에서 동시에 여러 data를 보낼때 -

Identifier : 식별자 역할 ( data 구별역할 -> 메신저는 메신져대로, 게임은 게임대로)

Fragmentation Flags : 첫번째bit : 0으로 고정(예약 bit), 가운데 bit : Segment 여부 확인(0:분열,1:분열x) -> Segment 되어 있는 data를 받을 때 처리를 고려하기 위해서.(segment 되어 있는데 기다리지 않고 바로 처리 하면 오류. segment 되어 있지 않다면 즉 01 로 되어 있다면 바로 처리하게 된다) , 마지막 bit : 마지막 data 여부를 파악 (0:마지막, 1:남은 data있음)

ex) 001 : 남은 데이터 있음, 000 : 끝났으니깐 처리, 010 : segment 되어 있지 않은 data 바로 처리. 

Fragment Offset : 순서번호-> 순서대로 들어오지 않고 잘못 들어온 경우를 확인

Time To Live : 라우터 갯수(hop count)

                        ex) 128 개의 라우터를 거칠 수 있다 128개를 넘으면 버려진다.

                         이 갯수는 OS에 의해 결정. windows : 128, linux : 64, unix : 255

                        확인) ping ipaddres

                         위 사진에서 TTL=126 인것은 두개의 라우터를 지났기 때문.

=> ICMP Protocol 이 한다.

  IP는 신뢰성을 보장하지 않는다. 따라서 네트워크 장애나 중계 라우터 등의 에러에 대처 할 수 없다. 이런 경우 수신측에서 송신측으로 데이터의 사고에 대한 내용을 전달할 필요가 있다. ICMP는 이와 같은 오류 정보를 발견 송신측에 메시지를 전달하는 기능을 한다.

 

-> IP의 비서라고 생각하면 된다.

IP가 주소를 설정하고 ICMP가 확인하고 보고서(메세지)를 작성한다. IP에게 넘겨준다. IP는 이를보고 판단하여 데이터의 전송 여부를 결정한다.

 

가장 보편적으로 ICMP를 사용하는 도구는 Ping이다.

Ping 도구는 ICMP Echo Request 메시지를 전송하여 목적지 시스템으로 부터 ICMP Echo Reply 메시지로 응답을 받는데 걸린 시간을 측정함으로써 네트워크 연결을 검사할 수 있다.

댓글