위로 아래

ICMP

ICMP (Internet Control Message Protocol)

  1. 설명
    1. OSI 3계층 (Network 계층)의 UP 프로토콜은 전송 상태에 대한 관리가 없는 신뢰할 수 없는 프로토콜. 이를 보완하기 위한 프로토콜이 ICMP 프로토콜
    2. 송신측 상황과 목적지 노드의 상황을 진당
  2. 구성
    1. Type 필드 : 메시지의 유형 정보 내포
    2. Code 필드 : 메시지 유형별 세부내용 정보 내포
  3. 기능
    1. Error-Reporting Message : 전송 중 오류 발생 시 에러 메시지를 생성하여 응답
    2. Query Message : 네트워크 상태를 진단하기 위한 쿼리 요청 및 응답메시지 생성

 

 

 

 

ICMP 프로토콜 구조

ICMP 프로토콜 구조

  1. Type of message : 메시지 유형 (8bit)
  2. Code : 메시지 유형의 세부 내역 (8bit)
  3. Checksum : ICMP 메시지 오류 검사 (16bit)
  4. Quench : Type과 Code에 따라 추가되는 헤더 (Rest of the header)
  5. Data : 데이터가 위치하는 여역

 

 

주요 ICMP 메시지

Error Reporting 메시지

  1. Destination Unreachable (Type 3) : 해당 목적지에 도달할 수 없음. 
    1. Code 1 : Host Unreachable. 최종 단계의 라우터가 목적지 호스트로 패킷 전송에 실패한 경우 출력
    2. Code 2 : Protocol Unreachable. 목적지 호스트에서 특정 프로토콜을 사용할 수 없을 경우 출력
    3. Code 3 : Port Unreachable : 목적지 호스트에 해당 UDP 포트가 열려 있지 않은 경우 출력 (TCP의 경우엔 포트가 얼려 있지 않으면 TCP RST 패킷을 반환)
    4. Code 4 : Fragmentation needed and don't fragment was set. IP 패킷의 단편화가 반드시 필요하지만, IP 헤더의 Don't  fragment 플래그가 설정되어 단편화할 수 없는 경우 라우터에 의해 반환
  2. Redirection (Type 5) : 라우팅 경로가 잘못되어 새로운 경로를 이전 경유지 또는 호스트에게 알려주는 메시지
  3. Time Exceeded (Type 11) : 타임아웃이 발생하여 IP 패킷이 폐기됨.
    1. Code 0 : Time To Live Exceeded In Transit : IP 패킷이 최종 목적지에 도달하기 전에 TTL 값이 0이 되어 해당 패킷이 폐기됨
    2. Code 1 : Fragment reassembly time exceeded : IP 패킷 재조합 과정에서 타임아웃이 발생하여 해당IP 데이터그램이 모두 폐기됨

 

Query 메시지

  1. Echo Request (Type 8) / Echo Reply (Type 0) : ping 테스트에 사용되는 메시지. 노드 간에 네트워크 및 호스트 상태 진단을 목적으로 사용

 

 


ping

ping (Packet Internet Groper)

  1. 가장 간단한 네트워크 도구
  2. 패킷이 호스트에 도달할 수 있는지 여부 확인
  3. ping 명령어는 ICMP 프로토콜을 사용한다
  4. Echo Request (Type 8) 패킷을 타겟 호스트로 전송하고, Echo Reply (Type 0) 응답을 기다린다.