1. ICMP ( Internet Control Message Protocol )
- IP는 패킷을 목적지에 도달시키기 위한 내용들만으로 구성 돼, 도착지 호스트가 꺼져 있거나 선이 단절된 경우와 같이 패킷 전달이
정상적으로 이뤄지지 않는 경우 출발지 호스트에 알리는 방법이 명시 되지 않는다. 이를 보완하기 위한 것이 ICMP 프로토콜 이다.
- ICMP는 IP 패킷 전송 중 에러 발생 시 에러 발생 원인을 출발지 호스트에 보내주는 역할을 한다.
2. 주요 ICMP Error Message
1) Destination Unreachable ( ICMPv4 : Type 3 / ICMPv6 : type 1 )
- 도달 할 수 없는 목적지에 계속하여 패킷을 보내지 않도록 송신 측에 주의를 줌
code 1 | 최종 단계의 라우터가 목적지 호스트로 패킷 전송에 실패한 경우 |
code 2 | 목적지 호스트에서 특정 프로토콜을 사용할 수 없는 경우 |
code 3 | 목적지 호스트에 해당 UDP 포트가 열려있지 않는 경우 |
code 4 | IP 패킷의 단편화가 반드시 필요하지만 IP 헤더의 Don't fragment 플래그가 설정돼 단편화 할 수 없는 경우 |
2) Source Quench ( ICMPv4 : type 4 )
- 폭주가 발생한 상황을 송신 측에 알려서 전송을 잠시 중단하거나 전송률을 줄이는 등의 조치를 취하도록 알림
3) Redirect ( ICMPv4 : type5 / ICMPv6 : type 137 )
- 송신측으로부터 패킷을 수신 받은 라우터가 특정 목적지로 가는 더 짧은 경로가 있음을 알림
- 동일 서브넷에 여러 라우터가 존재하고 디폴트 라우터가 잘못 설정된 경우에 사용 됨
4) Time Exceeded ( ICMPv4 : type11 / ICMPv6 : type3 )
- 타임 아웃이 발생해 IP 패킷이 폐기됐음을 알림
code 0 | 목적지 시스템에 도달하기 이전에 TTL 값이 0에 이르렀음 |
code 1 | Fragement된 데이터그램을 목적지 시스템이 주어진 시간에 모든 조각을 수신하지 못함 ( 조각 분실 ) 따라서, 해당 IP 데이터그램이 모두 폐기됨을 알려줌 |
3. 사용
- 통신 유무를 확인하기 위해 사용하는 Ping 명령어의 경우 ICMP을 이용한다.
- 출발지 컴퓨터 (A)에서 ping [ 도착지 IP / DNS ]를 입력하면 ICMP 프로토콜을 이용해 상대방 (B) 컴퓨터로 보내게 된다.
ping google.com
🙋♂️ 궁금한 점이나 잘못된 내용을 댓글로 적어주시면 감사하겠습니다 !!
'Infra > Network' 카테고리의 다른 글
# [Network] 허브 ( Hub ) (0) | 2023.06.27 |
---|---|
# [Network] 스위치 ( Switch ) (0) | 2023.05.22 |
# [Network] 게이트웨이 (Gateway) (0) | 2023.03.28 |
# [Network] Quorum (0) | 2022.12.09 |
# [Network] 스플릿 브레인 ( Splite-Brain ) (0) | 2022.12.08 |