IPv6용 인터넷 제어 메시지 프로토콜

Internet Control Message Protocol for IPv6

Internet Control Message Protocol version 6(ICMPv6)은 Internet Protocol version 6(IPv6)[1]Internet Control Message Protocol(ICMP)의 구현입니다.ICMPv6 는 IPv6 에 불가결한 부분이며, 에러 리포트 기능과 진단 기능을 실행합니다.

ICMPv6에는 새로운 기능을 구현하기 위한 확장 프레임워크가 있습니다.새로운 ICMPv6 메시지유형 및 기존 ICMPv6 메시지유형의 새로운 옵션을 정의하는 몇 가지 확장기능이 공개되어 있습니다.예를 들어 NDP(Neighbor Discovery Protocol)는 ICMPv6 기반의 노드 디스커버리 프로토콜로 ARP의 [2]기능을 대체하고 확장합니다.Secure Neighbor Discovery(SEND)는 보안이 강화된 NDP 확장입니다.Multicast Listener Discovery(MLD)는 IPv4에서 Internet Group Management Protocol(IGMP)이 사용되는 것과 마찬가지로 직접 연결된 링크 상의 멀티캐스트청취자를 검출하기 위해 IPv6 라우터에 의해 사용됩니다.Multicast Router Discovery(MRD; 멀티캐스트라우터 디스커버리)를 사용하면 멀티캐스트라우터를 검출할 수 있습니다.

메시지 유형 및 형식

ICMPv6 메시지는 오류 메시지 및 정보 메시지로 분류할 수 있습니다.ICMPv6 메시지는, ICMPv6 의 IPv6 Next Header 값이 값 58 로 설정된 IPv6 패킷에 의해서 전송 됩니다.

ICMPv6 메시지는 헤더와 프로토콜 페이로드로 구성됩니다.헤더에는 유형(8비트), 코드(8비트) 체크섬(16비트)의 3가지 필드만 포함됩니다.type은 메시지의 유형을 지정합니다.0 ~ 127(상위 비트는 0) 범위의 값은 오류 메시지를 나타내고 128 ~255(상위 비트는 1) 범위의 값은 정보 메시지를 나타냅니다.코드 필드 값은 메시지유형에 따라 달라지며 메시지의 세분화 수준을 높입니다.체크섬 필드는 ICMP 메시지에 대한 최소한의 무결성 검증을 제공합니다.

ICMPv6 패킷
비트 오프셋 0–7 8–15 16–31
0 유형 코드 체크섬
32 메시지 본문

종류들

제어 메시지는 type 필드의 값으로 식별됩니다.코드 필드에는 메시지의 추가 컨텍스트 정보가 표시됩니다.일부 메시지는 대응하는 이름 있는 ICMP 메시지유형과 같은 목적으로 기능합니다.

유형 코드
가치 의미. 가치 의미.
ICMPv6 오류 메시지
1 수신처에 도달할 수 없음 0 수신처에 대한 경로 없음
1 관리상 금지된 대상과의 통신
2 송신원주소의 범위를 벗어나서
3 주소 도달 불능
4 포트 도달 불능
5 소스 주소가 입력/출력 정책에 실패했습니다.
6 수신처에 대한 경로 거부
7 소스 라우팅 헤더 오류
2 패킷이 너무 크다 0
3 시간 초과 0 전송 중 홉 제한을 초과했습니다.
1 조각 재구성 시간을 초과했습니다.
4 파라미터 문제 0 잘못된 헤더 필드가 발견되었습니다.
1 인식할 수 없는 다음 헤더 유형이 발견되었습니다.
2 인식할 수 없는 IPv6 옵션이 발견되었습니다.
100 비공개 실험
101 비공개 실험
127 ICMPv6 오류 메시지 확장을 위해 예약됨
ICMPv6 정보 메시지
128 에코 요구 0
129 에코 응답 0
130 Multicast Listener Query(MLD; 멀티캐스트청취자 쿼리) 0

Multicast Listener Query 메시지에는 다음 두 가지 서브타입이 있습니다.

  • General Query: 연결된 링크에 청취자가 있는 멀티캐스트주소를 학습하기 위해 사용됩니다.
  • Multicast-Address-Specific Query 특정 멀티캐스트주소에 연결된 링크에 청취자가 있는지 여부를 학습하기 위해 사용됩니다.

이들 2개의 서브타입은 RFC 2710 섹션 3.6에서 설명한 바와 같이 [Multicast Address]필드의 내용에 따라 구별됩니다.

131 Multicast Listener Report(MLD; 멀티캐스트청취자 보고서) 0
132 멀티캐스트 리스너 완료(MLD) 0
133 라우터 요청(NDP) 0
134 라우터 애드버타이즈먼트(NDP) 0
135 네이버 요청(NDP) 0
136 네이버 애드버타이즈먼트(NDP) 0
137 리다이렉트 메시지(NDP) 0
138 라우터 번호 변경 0 라우터 번호 변경 명령어
1 라우터 번호 변경 결과
255 시퀀스 번호 리셋
139 ICMP 노드 정보 쿼리 0 데이터 필드에는 이 쿼리의 제목인 IPv6 주소가 포함됩니다.
1 데이터 필드에는 NOP와 같이 이 쿼리의 제목인 이름이 포함되어 있거나 비어 있습니다.
2 데이터 필드에는 이 쿼리의 제목인 IPv4 주소가 포함됩니다.
140 ICMP 노드 정보 응답 0 응답 성공.[ Reply Data ]필드는 공백일 수도 있고 공백일 수도 있습니다.
1 응답자가 답변을 거부합니다.[ Reply Data ]필드는 비어 있습니다.
2 쿼리의 Qtype을 Responder가 인식할 수 없습니다.[ Reply Data ]필드는 비어 있습니다.
141 Inverse Neighbor Discovery 요청 메시지 0
142 Inverse Neighbor Discovery 애드버타이즈먼트메시지 0
143 Multicast Listener Discovery(MLDv2) 보고서(RFC 3810)
144 Home Agent 주소 검색 요청 메시지 0
145 Home Agent 주소 검색 응답 메시지 0
146 모바일 프리픽스 요청 0
147 모바일 프리픽스애드버타이즈먼트 0
148 인증 경로 요청(SEND)
149 인증 경로 애드버타이즈먼트(SEND)
151 멀티캐스트 라우터 애드버타이즈먼트(MRD)
152 멀티캐스트 라우터 요청(MRD)
153 멀티캐스트 라우터 종단(MRD)
155 RPL 제어 메시지
200 비공개 실험
201 비공개 실험
255 ICMPv6 정보 메시지 확장을 위해 예약됨

위의 표는 포괄적이지 않습니다.할당된 ICMPv6 유형의 현재 전체 목록은 IANA: ICMPv6 Parameters 링크에서 확인할 수 있습니다.

체크섬

ICMPv6는 헤더에 16비트체크섬을 포함시킴으로써 최소한의 메시지 무결성 검증을 제공합니다.체크섬은, 송신원주소와 행선지 주소, 패킷 길이, 및 다음의 헤더 필드로 이루어진 IPv6 규격에 [3]따라서, IPv6 헤더 필드의 의사 헤더로부터 개시해, 후자가 값 58 로 설정된다.이 의사 헤더에 이어 체크섬은 ICMPv6 메시지로 계속됩니다.체크섬 계산은 16비트 1개의 보완 합계를 사용하여 인터넷 프로토콜 표준에 따라 수행되며, 최종 1개의 체크섬 자체의 보완을 사용하여 체크섬 [4]필드에 삽입합니다.이것은, ICMP 의 IPv4 의 계산 방법과는 다르지만, TCP 의 계산과 비슷합니다.

ICMPv6 의사 헤더
비트 오프셋 0 – 7 8–15 16–23 24–31
0 송신원주소
32
64
96
128 수신처 주소
160
192
224
256 ICMPv6 길이
288 제로 다음 헤더

포맷

메시지 처리

ICMPv6 노드는 패킷을 수신하면 메시지 유형에 따라 액션을 수행해야 합니다.ICMPv6 프로토콜은 네트워크 오버로드를 방지하기 위해 동일한 대상으로 전송되는 오류 메시지 수를 제한해야 합니다.예를 들어 노드가 계속해서 잘못된 패킷을 전송하면 ICMP는 첫 번째 패킷에 오류를 시그널링한 후 고정 최소 기간 또는 고정 네트워크 최대 부하로 정기적으로 전송합니다.ICMP 오류 메시지는 다른 ICMP 오류 메시지에 대한 응답으로 전송해서는 안 됩니다.

레퍼런스

  1. ^ RFC 4443: IPv6(Internet Protocol Version 6) 사양용 ICMPv6(Internet Control Message Protocol(Internet Control Message Protocol)
  2. ^ RFC 3315, § 3
  3. ^ RFC 2460, Internet Protocol, Version 6 (IPv6) 사양, 섹션 8.1 (상층 체크섬), S. Deering, R. Hinden (1998년 12월)
  4. ^ RFC 1071 "Computing the Internet Checksum, R. Braden, D.보먼, C. 파트리지(1988년 9월)

외부 링크