인터넷 제어 메시지 프로토콜

두 번째 네트워크 레벨 프로토콜은 인터넷 제어 메시지 프로토콜(ICMP)입니다. ICMP는 모든 IP 구현의 필수 부분입니다. ICMP는 오류를 처리하고 IP 메시지를 제어합니다.

이 프로토콜은 사용하여 게이트웨이와 호스트는 패킷을 전송하는 시스템에 문제점 보고서를 전송할 수 있습니다. ICMP는 다음을 수행합니다.

  • 대상이 활성 상태이고 도달 가능한지 여부 테스트
  • 데이터그램 헤더의 매개변수 문제점 보고
  • 클럭 동기화 및 통과 시간 예상 수행
  • 인터넷 주소 및 서브넷 마스크 확보
참고: ICMP는 상위 레벨 프로토콜인 것처럼 IP의 기본 지원을 사용합니다. 그러나 ICMP는 실제로 IP의 정수 파트이며 모든 IP 모듈에서 구현해야 합니다.

ICMP는 통신 환경의 문제점에 관한 피드백을 제공하지만 IP가 신뢰 가능하도록 만들지는 않습니다. 즉, ICMPIP 패킷이 확실하게 전달된다거나 IP 패킷이 전달되지 않을 때 또는 올바르지 않게 전달될 때 ICMP 메시지가 소스 호스트로 리턴된다고 보장하지 않습니다.

ICMP 메시지는 다음 경우에 전송될 수 있습니다.

  • 패킷이 대상에 도달할 수 없을 때
  • 게이트웨이 호스트에 패킷을 전달할 버퍼링 용량이 없을 때
  • 게이트웨이가 호스트에 보다 짧은 라우트로 트래픽을 전송하도록 지시할 수 있을 때

TCP/IP는 몇 개의 ICMP 메시지 유형을 전송하고 수신합니다(인터넷 제어 메시지 프로토콜 메시지 유형 참조). ICMP는 커널에 임베드되며 이 프로토콜에는 API(application programming interface)가 제공되지 않습니다.