5 ICMP
OSI 계층의 네트워크 계층에 해당하는 프로토콜입니다.
개요
- 데이터가 목적지에 도달하는지 여부를 확인하기 위해 사용됩니다.
- 주요 목적은 오류 보고입니다. 연결을 실패하는 경우 오류를 생성하여 두 장치에 공유합니다.
- 보조 용도는 네트워크 진단입니다. 터미널 유틸인
traceRoute와ping은 모두ICMP를 사용하여 작동합니다.traceRoute: 요청과 응답 사이의 라우팅 경로를 표시하는 데 사용됩니다.- 라우팅 경로는 요청이 대상에 도달하기 전 통과해야 하는 연결된 라우티의 실제 물리적 경로입니다.
traceRoute는 라우팅 중 각 홉에 필요한 시간을 보고합니다. 네트워크 지연 원인 파악에 사용됩니다. Hob: 한 라우터와 다른 라우터 간의 여정을 '홉'이라고 합니다.
- 라우팅 경로는 요청이 대상에 도달하기 전 통과해야 하는 연결된 라우티의 실제 물리적 경로입니다.
ping:traceRoute의 단순화 버전입니다.- 두 장치간의 연결 속도를 테스트
- 데이터 패킷이 대상에 도달하고 발신지로 돌아오는 데 걸리는 시간을 측정하는 메트릭입니다.
ICMP에코 요청 및 에코 응답 메시지는 일반적으로ping을 수행하기 위해 사용됩니다.
원리
IP와 달리ICMP는TCP,UDP와 같은 **전송 계층 프로토콜 (Transport Layer, OSI L4)**과 연결되지 않습니다.ICMP는 연결이 없는 프로토콜이므로 메시지를 보내기 전 다른 장치와의 연결을 수행하지 않습니다.- 즉
TCP handshake수행하여 통신 양측의 수신 준비를 확인하지 않습니다.
- 즉
- 장치의 특정 포트를 대상으로 하는 것을 허용하지 않습니다.
- 이러한
ICMP의 속성을 이용해ICMP flood attack,Ping of death공격을 수행합니다.