ICMP(Internet Control Message Protocol)에 대해

clean·2024년 4월 30일
0
post-thumbnail

ICMP란?

ICMP(인터넷 제어 메시지 프로토콜)은 디바이스가 네트워크에서 데이터 전송 오류를 전달하는 데 사용하는 통신 규칙 집합니다. 발신자와 수신자 간에 메시지를 교환할 때 예기치 못한 오류가 발생할 수 있는데(예를 들면 메시지가 너무 길거나 데이터 패킷이 순서에 맞지 않게 도착하여 수신자가 메시지를 조합하지 못하는 경우 등등), 이럴 때 수신자는 ICMP를 사용하여 발신자에게 오류 메시지를 알리고 메시지 재전송을 요청합니다.

라우터와 엔드포인트 디바이스를 비롯하여 네트워크에 연결된 모든 디바이스가 ICMP 메시지를 처리할 수 있고, IPv4, IPv6 모두에서 작동됩니다.

ICMP의 용도

  • 인터넷/통신 상에서 발생한 일반적인 상황에 대한 보고
  • 인터넷/통신 상에서 발생한 오류에 대한 보고
  • 위험한 상황에 대한 경보

ICMP의 기능

  • IP 프로토콜을 이용하여 ICMP 메세지 전달
  • 네트워크 계층(3계층)에 속하여 네트워크 관리 프로토콜의 역할 수행 (TCP 또는 UDP와 함께 동작)

ICMP와 TCP의 차이점
TCP는 신뢰할 수 있고 오류 검사가 적용되는 데이터 전송을 위한 연결 지향 프로토콜입니다. 일반적으로 웹 브라우징, 이메일, 원격 로그인 및 파일 전송 애플리케이션에서 사용됩니다.
TCP에는 발신자와 수신자 간에 트러스트와 인증을 설정하는 일련의 메시지인 핸드셰이킹이 필요합니다. TCP는 메시지 전송을 보장합니다.
반면 ICMP는 비연결 프로토콜입니다. 이 프로토콜은 메시지 전송을 보장하지 않습니다. ICMP는 오류 보고에만 사용되므로 ICMP 메시지도 TCP 패킷보다 작습니다.

ICMP 사용(활용) 명령어

  • Ping 명령어: 상대방 호스트의 작동 여부 및 응답 시간을 측정할 때 사용됩티다.
  • Tracert 명령어: 목적지까지의 라우팅 경로 추적을 하기 위해 사용됩니다.

ICMP 패킷 헤더 구조

  • ICMP Type: ICMP의 메시지 구별

  • ICMP Code: 메시지 내용에 대한 추가 정보

  • ICMP Checksum: ICMP의 값이 변조되었는지 확인

  • ICMP 메시지1, 2 : ICMP 타입에 따라서 가변적으로 들어가는 내용

    • 메시지 1: 3(DETINATION UNREACHABLE), 11(TIME EXCEEDED) 타입등에서는 사용되지 않아 0이 채워집니다.

    • 메시지 2: 8(ECHO REQUEST), 0(ECHO REPLY) 등에서는 특정값이 주어집니다.

      ICMP의 타입

    Reference

  • https://aws.amazon.com/ko/what-is/icmp/

  • https://run-it.tistory.com/31

profile
블로그 이전하려고 합니다! 👉 https://onfonf.tistory.com 🍀

0개의 댓글