ICMPv6

nhỏ
Internet Control Message Protocol version 6 (ICMPv6) là phiên bản được biến đổi và nâng cấp của Internet Control Message Protocol (ICMP) cho giao thức liên mạng thế hệ 6 (IPv6). ICMPv6 được định nghĩa trong RFC 4443.RFC 4443, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification ICMPv6 là một phần gắn liền với IPv6 và thực hiện thông báo lỗi mạng và chức năng chẩn đoán (ví dụ, ping), và có một khuôn khổ cho các phần mở rộng để thực hiện những thay đổi trong tương lai.

Một số phần mở rộng đã được công bố, xác định các loại thông điệp ICMPv6 mới cũng như tùy chọn mới với nhiều loại thông điệp có ở ICMPv6. Giao thức Neighbor Discovery (NDP) là một giao thức phát hiện các nút trong IPv6 thay thế và mở rộng các chức năng của ARP.RFC 3315, § 3Secure Neighbor Discovery (SEND) là một phần mở rộng của NDP thêm những chức năng an ninh. Multicast Listener Discovery (MLD) được sử dụng bởi các bộ định tuyến IPv6 để khám phá multicast listener trên một đường kết nối trực tiếp, giống như Internet Group Management Protocol (IGMP) được sử dụng trong IPv4. Multicast Router Discovery (ĐBSCL) cho phép phát hiện các multicast router.

Chi tiết kỹ thuật 
Cũng như ICMP, các thông điệp ICMPv6 được chia ra làm hai loại: thông điệp lỗi và thông điệp thông tin. Các thông điệp ICMPv6 được các gói IPv6 chuyên chở trong đó giá trị của Next Header cho ICMPv6 là 58.

Gói tin ICMPv6
Gói tin ICMPv6 bao gồm phần header và phần thông điệp. ICMPv6 header bao gồm ba trường: Type (8 bít), Code (8 bít) và Checksum (16 bít). 
 type xác định loại thông điệp. Giá trị từ 0 tới 127 (bít đầu tiên là 0) chỉ thông điệp lỗi, từ 128 tới 255 (bít đầu tiên là 1) thông điệp thông tin. 
 code phân dạng sâu hơn gói tin ICMPv6, định rõ đây là gói tin dạng gì trong từng loại thông điệp ICMPv6. 
 checksum cung cấp giá trị sử dụng để kiểm tra lỗi cho toàn bộ gói tin ICMPv6.

+ Gói tin ICMPv6  Bit offset  0–7  8–15  16–31  0  Type  Code  Checksum 32  Thông điệp

Loại thông điệp
 Type Code Giá trị  Nghĩa  Giá trị  Nghĩa Thông điệp lỗi ICMPv6 1  Destination Unreachable 0 no route to destination 1 communication with destination administratively prohibited 2 beyond scope of source address 3 address unreachable 4 port unreachable 5 source address failed ingress/egress policy 6 reject route to destination 7 Error in Source Routing Header 2  Packet Too Big  0 3 Time Exceeded 0 hop limit exceeded in transit 1 fragment reassembly time exceeded 4 Parameter Problem 0 erroneous header field encountered 1 unrecognized Next Header type encountered 2 unrecognized IPv6 option encountered 100  Private experimentation   101  Private experimentation   127  Reserved for expansion of ICMPv6 error messages   Thông điệp thông tin ICMPv6  128  Echo Request  0  129  Echo Reply  0  130  Multicast Listener Query (MLD)  0 Có hai dạng thông điệp Multicast Listener Query: Truy vấn thông thường tới mọi node và Truy vấn gắn với địa chỉ multicast cụ thể. 131  Multicast Listener Report (MLD)  0  132  Multicast Listener Done (MLD)  0  133  Router Solicitation (NDP)  0  134  Router Advertisement (NDP)  0  135  Neighbor Solicitation (NDP)  0  136  Neighbor Advertisement (NDP)  0  137  Redirect Message (NDP)  0  138 Router Renumbering 0 Router Renumbering Command 1 Router Renumbering Result 255 Sequence Number Reset 139 ICMP Node Information Query 0 The Data field contains an IPv6 address which is the Subject of this Query. 1 The Data field contains a name which is the Subject of this Query, or is empty, as in the case of a NOOP. 2 The Data field contains an IPv4 address which is the Subject of this Query. 140 ICMP Node Information Response 0 A successful reply. The Reply Data field may or may not be empty. 1 The Responder refuses to supply the answer. The Reply Data field will be empty. 2 The Qtype of the Query is unknown to the Responder. The Reply Data field will be empty. 141  Inverse Neighbor Discovery Solicitation Message  0  142  Inverse Neighbor Discovery Advertisement Message  0  143  Multicast Listener Discovery (MLDv2) reports (RFC 3810)   144  Home Agent Address Discovery Request Message  0  145  Home Agent Address Discovery Reply Message  0  146  Mobile Prefix Solicitation  0  147  Mobile Prefix Advertisement  0  148  Certification Path Solicitation (SEND)   149  Certification Path Advertisement (SEND)   151  Multicast Router Advertisement (MRD)   152  Multicast Router Solicitation (MRD)   153  Multicast Router Termination (MRD)   155  RPL Control Message   200  Private experimentation   201  Private experimentation   255  Reserved for expansion of ICMPv6 informational messages  

Chú ý là bản trên không đầy đủ. Danh sách toàn bộ hiện tại có thể xem tại: IANA: ICMPv6 Parameters.

Thông điệp thông tin
Thông điệp thông tin ICMPv6 chia thành hai nhóm: Thông điệp thông tin cơ bản và Thông điệp thông tin mở rộng.

 Thông điệp thông tin cơ bản: Bao gồm "Echo request" và "Echo reply". Hai dạng thông điệp này được sử dụng trong các chương trình dò tìm như ping, traceroute, thực hiện chức năng chẩn đoán mạng.
 Thông điệp thông tin mở rộng: Là những thông điệp ICMPv6 được sử dụng bởi thủ tục thực hiện chức năng giao tiếp giữa các node lân cận trong một đường kết nối Neighbor Discovery - ND và thủ tục quản lý quan hệ thành viên nhóm multicast Multicast Listener Discovery - MLD, phục vụ cho các quy trình hoạt động cốt yếu của địa chỉ IPv6.

Xử lý thông điệp
Khi một nút ICMPv6 nhận một gói tin, nó phải thực hiện những hành động tùy thuộc vào loại thông điệp. Giao thức ICMPv6 phải hạn chế số lượng các thông điệp lỗi gửi đến cùng một điểm đến để tránh quá tải mạng. Ví dụ, nếu một nút tiếp tục chuyển các gói tin lỗi, ICMP sẽ báo hiệu lỗi tới gói đầu tiên và sau đó làm như vậy theo định kỳ, với thời gian tối thiểu cố định hoặc với tải trọng mạng tối đa cố định. Một thông điệp lỗi ICMP không bao giờ được gửi để đáp ứng với một thông điệp lỗi ICMP khác.

 Tham khảo 

 Liên kết ngoài 

 IANA: ICMPv6 Parameters
 RFC 2894, Router Renumbering for IPv6

Thể loại:Giao thức Internet
Thể loại:Giao thức tầng mạng
Thể loại:IPv6