인터넷 제어 메시지 프로토콜이란 무엇입니까?
ICMP (Internet Control Message Protocol)는 컴퓨터 네트워크에서 오류보고 및 진단 목적으로 사용되는 유틸리티입니다. ICMP는 인터넷 프로토콜 (IP) 제품군의 일부이며 다양한 목적으로 미리 정의 된 메시지로 구성됩니다. 인터넷 제어 메시지 프로토콜의 대부분의 측면은 최종 사용자에게는 눈에 띄지 않지만 traceroute 및 ping과 같은 일부 네트워크 도구는 해당 기능을 위해 ICMP 메시지에 의존합니다.
인터넷과 소규모 컴퓨터 네트워크의 핵심은 IP Suite로 알려진 프로토콜 모음입니다. 이 프로토콜은 네트워킹 장치간에 교환되는 메시지의 형식을 지정하고 해당 메시지의 송수신 방법에 대한 규칙을 설정합니다. 프로토콜은 계층화되며 각 계층은 그 아래의 계층에 의존합니다. ICMP는 두 번째로 높은 계층 인 인터넷 계층의 일부입니다. 이 계층은 하나 이상의 네트워크를 통해 패킷이라고하는 개별 데이터 그룹 전송을 담당하는 잘 알려진 인터넷 프로토콜을 포함합니다.
ICMP는 인터넷 프로토콜을 사용하여 장치 또는 호스트간에 오류 메시지 또는 진단 정보를 보내는 데 사용됩니다. ICMP 메시지는 사전 정의되며 이름 또는 유형 번호로 참조 될 수 있습니다. 이러한 메시지는 대부분 서로 다른 유형의 오류보고를위한 것입니다. 예를 들어, 특정 호스트에 도달 할 수없는 경우 데이터 전송을 방해하는 특정 문제를 나타내는 ICMP 메시지가 종종 생성됩니다. 패킷이 손상되거나 네트워크의 라우터 또는 호스트가 정체 된 경우 다른 유형의 메시지가 전송됩니다.
패킷의 최대 크기는 미리 정의되어 있지 않지만 특정 네트워크 링크의 MTU (Maximum Transmission Unit)에 의해 결정됩니다. 다른 링크는 다른 MTU를 가질 수 있지만, 경로를 완료하려면 패킷이 주어진 경로를 따라 가장 작은 MTU보다 작아야합니다. PMTUD (Path MTU Discovery)라고하는 기술은 ICMP 메시지를 사용하여 특정 경로 세그먼트에 비해 패킷이 너무 큰 경우 발신자에게 알립니다.
IRDP (ICMP Router Discovery Protocol)라고하는 관련 프로토콜은이를 지원하는 호스트의 자동 네트워크 구성을 용이하게합니다. IRDP는 두 가지 유형의 인터넷 제어 메시지 프로토콜 (Internet Control Message Protocol) 메시지를 사용하여 근처의 라우터, 즉 둘 이상의 네트워크를 연결하는 호스트를 알리고 검색합니다. IRDP를 지원하는 라우터는 주기적으로 ICMP 라우터 알림 메시지를 호스트에게 브로드 캐스트합니다. 호스트는 근처의 모든 라우터에게 자신을 식별하도록 요청하는 요청 메시지를 보낼 수도 있습니다.
널리 사용되는 일부 네트워크 유틸리티는 인터넷 제어 메시지 프로토콜에 의존합니다. traceroute 도구 중 하나는 패킷이 만료되거나 "TTL (Time to Live)"을 초과 할 때 생성 된 ICMP 메시지를 활용합니다. 패킷에 의도적으로 낮은 TTL 값을 설정하면 traceroute는 패킷이 만료되기 전에 마지막으로 도달 한 라우터로부터 ICMP 시간 초과 메시지를받습니다. 이 프로세스를 반복하고 TTL 값을 늘리면 이론적으로 패킷이 이동하는 모든 호스트 목록이 생성됩니다.
ping이라는 다른 도구는 ICMP Echo Reply 메시지로 응답하는 ICMP Echo Request 메시지에 의존합니다. 불행하게도, 해커가 위조 된 발신자 정보와 함께 에코 요청을 보내면 다른 많은 시스템에서 응답하는 이른바 "스머프 공격"에서 핑이 남용 될 수 있습니다. 이는 서비스 거부로 알려진 합법적 인 패킷이 통과 할 수없는 지점까지 네트워크를 정체시킬 수 있습니다.