위로
아래
ICMP
ICMP (Internet Control Message Protocol)
- 설명
- OSI 3계층 (Network 계층)의 UP 프로토콜은 전송 상태에 대한 관리가 없는 신뢰할 수 없는 프로토콜. 이를 보완하기 위한 프로토콜이 ICMP 프로토콜
- 송신측 상황과 목적지 노드의 상황을 진당
- 구성
- Type 필드 : 메시지의 유형 정보 내포
- Code 필드 : 메시지 유형별 세부내용 정보 내포
- 기능
- Error-Reporting Message : 전송 중 오류 발생 시 에러 메시지를 생성하여 응답
- Query Message : 네트워크 상태를 진단하기 위한 쿼리 요청 및 응답메시지 생성
ICMP 프로토콜 구조
ICMP 프로토콜 구조
- Type of message : 메시지 유형 (8bit)
- Code : 메시지 유형의 세부 내역 (8bit)
- Checksum : ICMP 메시지 오류 검사 (16bit)
- Quench : Type과 Code에 따라 추가되는 헤더 (Rest of the header)
- Data : 데이터가 위치하는 여역
주요 ICMP 메시지
Error Reporting 메시지
- Destination Unreachable (Type 3) : 해당 목적지에 도달할 수 없음.
- Code 1 : Host Unreachable. 최종 단계의 라우터가 목적지 호스트로 패킷 전송에 실패한 경우 출력
- Code 2 : Protocol Unreachable. 목적지 호스트에서 특정 프로토콜을 사용할 수 없을 경우 출력
- Code 3 : Port Unreachable : 목적지 호스트에 해당 UDP 포트가 열려 있지 않은 경우 출력 (TCP의 경우엔 포트가 얼려 있지 않으면 TCP RST 패킷을 반환)
- Code 4 : Fragmentation needed and don't fragment was set. IP 패킷의 단편화가 반드시 필요하지만, IP 헤더의 Don't fragment 플래그가 설정되어 단편화할 수 없는 경우 라우터에 의해 반환
- Redirection (Type 5) : 라우팅 경로가 잘못되어 새로운 경로를 이전 경유지 또는 호스트에게 알려주는 메시지
- Time Exceeded (Type 11) : 타임아웃이 발생하여 IP 패킷이 폐기됨.
- Code 0 : Time To Live Exceeded In Transit : IP 패킷이 최종 목적지에 도달하기 전에 TTL 값이 0이 되어 해당 패킷이 폐기됨
- Code 1 : Fragment reassembly time exceeded : IP 패킷 재조합 과정에서 타임아웃이 발생하여 해당IP 데이터그램이 모두 폐기됨
Query 메시지
- Echo Request (Type 8) / Echo Reply (Type 0) : ping 테스트에 사용되는 메시지. 노드 간에 네트워크 및 호스트 상태 진단을 목적으로 사용
ping
ping (Packet Internet Groper)
- 가장 간단한 네트워크 도구
- 패킷이 호스트에 도달할 수 있는지 여부 확인
- ping 명령어는 ICMP 프로토콜을 사용한다
- Echo Request (Type 8) 패킷을 타겟 호스트로 전송하고, Echo Reply (Type 0) 응답을 기다린다.