인터넷 제어 메시지 프로토콜 ICMP(Internet Control Message Protocol)

I. 인터넷 제어 메시지 프로토콜(ICMP, Internet Control Message Protocol)이란?

– 디바이스가 네트워크에서 데이터 전송 오류를 전달하는데 사용하는 통신 규칙 집합이다. 발신자-수신자간 메시지를 교환할 때 예상치 못한 오류가 발생할 수 있다.
예를 들어 메시지가 너무 길거나 데이터 패킷이 순서에 맞지 않게 도착하여 수신자가 메시지를 조합하지 못할 수 있다. 이러한 경우 수신자는 ICMP를 사용하여 발신자에게 오류 메시지를 알리고 메시지 재전송을 요청한다.

 

II. ICMP 작동원리

인터넷 제어 메시지 프로토콜(ICMP)은 일반적으로 TCP/IP 또는 사용자 데이터그램 프로토콜(UDP) 같은 다른 네트워크 프로토콜과 함께 작동한다.
호스트와 라우터는 특정 네트워크 이벤트가 발생할 때 ICMP 메시지 또는 ICMP 패킷을 교환한다.

가. ICMP 패킷 헤더

패킷 유형, 코드, 체크섬 및 식별자에 대한 정보 포함되어 있다. ICMP 패킷이 전송되면 메시지 수신자가 헤더 정보를 읽는다. 패킷의 유형에 따라 적절한 작업을 수행한다.

예) 패킷 유형-에코 요청인 경우 동일한 데이터를 에코 응답으로 보낸다.

 

나. ICMP 데이터 섹션

대상의 IP 주소 또는 장애 원인과 같은 정보, 오류를 식별하는 오류 코드 또는 숫자 코드가 포함되어 있다.

 

III. ICMP 사용 사례

오류 보고

연결할 수 없는 대상, 시간초과 또는 조각화 문제와 같은 네트워킹 오류를 보고한다. 이 메시지는 비연결 통신 모델을 사용하는 사용자 데이터그램 프로토콜(UDP)에서 특히 중요하다.

UDP는 안정적이고 순차적인 패킷 전송을 제공하지 않는다. UDP 패킷이 전송된 경우 패킷이 손실되었거나, 체크섬 오류 같은 오류와 함께 전송된 것일 수 있다. 이 경우 ICMP 오류 보고 메시지를 발신자에게 다시 보내 문제를 알린다.

 

네트워크 진단

ping 및 traceroute 명령에 가장 많이 사용된다.

  • ping 명령은 ICMP 에코 요청 패킷을 대상 디바이스에 전송하여 네트워크 디바이스의 연결 가능 여부를 테스트한다. 디바이스에 연결할 수 있는 경우 ICMP 에코 응답을 반환한다.
  • traceroute 명령은 소스에서 대상까지 패킷이 이동하는 경로를 추적한다.
    에코 요청에는 패킷이 라우터를 통과할 때마다 1씩 감소하는 Time to Live(TTL) 값이 포함된다. TTL이 0인 라우터에 패킷이 도달하면, 해당 라우터는 ICMP 메시지를 소스로 다시 보낸다.
    패킷의 이동경로에 대한 정보가 들어있다. 네트워크 성능에 대한 인사이트를 얻을 수 있다.

 

네트워크 보안

무단 네트워크 트래픽, 비정상적인 트래픽 패턴을 탐지하고, 정상 트래픽인 네트워크를 통해 전송되도록 허용할 수 있다. 방화벽은 ICMP를 사용하여 특정 유형의 트래픽을 허용하거나 차단한다. 또한 네트워크 관리자는 ICMP 모니터링 도구를 사용하여 네트워크 디바이스의 상태와 연결을 추적하고 알 수 없는 디바이스를 탐지한다.

Leave a Comment