[네트워크] IP 계층(IP Layer) - ICMP

최지수·2022년 4월 12일
0

네트워크

목록 보기
7/7
post-thumbnail

ICMP(Internet Control Message Protocol)

인터넷 제어 메시지 프로토콜이에요. IP 통신은 목적지에 패킷을 전달하는 방법은 있어요. 하지만 에러가 발생 시 처리가 불가능해요.

그래서 나온게 ICMP에요. ICMP는 IP 통신 에러 상황을 출발지로부터 전달하고 메시지를 제어하는 역할을 해요.

ICMP 구조

ICMP는 IP 패킷에 포함되어 있어요.

구조별 설명
1. Type : ICMP 메시지 종류
2. Code : 메시지 Type 별 세부 코드 정보
3. Checksum : ICMP 헤더 손상 여부를 확인해요

Type

Type은 0~254까지 정의되어 있어요. 주로 쓰이는 Type오류 보고정보성으로 나뉘어요.

  • 정보용 : 0, 8, 9, 10
  • 오류 보고 : 3, 5, 11, 12

정보성 Type

대표적인 메시지를 설명드리자면, 8, 0Echo Request & Reply에요. 네트워크 문제를 진단할 때 사용하고, 출발지에서 목적지 IP로 ICMP Echo Request 메시지를 보내면 목적지는 ICMP Echo Request로 응답해요. 목적지 도달 여부는 RTT(Round-trip Delay Time), Hop Count로 확인해요. cmd에서 ping {IP}를 치면 볼 수 있는 내용이에요.

그리고 9, 10은 라우터 광고Broadcast 및 정보를 요청하는 메시지에요. 자신이 라우터임을 응답하면서 네트워크를 진입할 때 정보를 요청해요. 구조는 아래와 같아요(참고로 맨 아래가 오타인데 10, 라우터 정보 요청 메시지에요.

오류 보고 Type

그 다음으로 설명드릴 것은 오류 보고에요.

3 - Destination Unreachable : 라우터가 IP패킷을 라우팅하지 못하는 경우에요.
5 - Redirect : 로컬 네트워크에 2개 이상의 경로가 있으면 더 좋은 경로를 알려주는 경우에요.

그리고 상세 정보를 Code를 통해 알 수 있어요.

3, 5 Code 목록

  • 0 : Net Unreachable
  • 1 : Host Unreachable
  • 2 : Protocol Unreachable
  • 3 : Port Unreachable
  • 4 : Fragmentation Needed and DF set
  • 5 : Source Route Failed

11 - Time Exceeded : 시간 초과로 TTL 값이 0이 되면 출발지에 시간이 초과되었음을 알려요.

11 Code 목록

  • 0 : Time to LiveTTL Exceeded
  • 1 : Framentation Reassembly Time Exceed, 나머지 fragment가 오기 전에 TTL이 만료된 경우에요

    IP Fragmentation
    IP 패킷을 작은 패킷으로 나눠 전송하고 목적지에서 재조합

    Maximum Transimission UnitMTU
    IP 패킷을 전송할 수 있는 최대 크기

12 - Parameter Problem : IP 옵션을 잘못 사용하여 라우터에서 패킷이 폐기된 경우에요.

profile
#행복 #도전 #지속성

0개의 댓글