1. Gói tin ICMPv6
Gói tin ICMPv6 bắt đầu sau Header cơ bản hoặc một Header mở rộng của IPv6 và đƣợc xác định bởi giá trị 58 của trƣờng Next-Header trong Header cơ bản. Gói tin ICMPv6 bao gồm 2 phần:ICMPv6 header và phần thông điệp (ICMPv6 message).
ICMPv6 header bao gồm ba trƣờng : Trƣờng Type 8 bit, trƣờng Code 8 bit và trƣờng Checksum 16 bit. Hai trƣờng Type và Code trong ICMPv6 header đƣợc sử dụng để phân loại thông điệp ICMPv6 .
Type: Giá trị bit đầu tiên của trƣờng Type sẽ xác định đây là thông điệp lỗi, hay thông điệp thông tin .
Code: 8 bit trƣờng Code sẽ phân dạng sâu hơn gói tin ICMPv6 ,định rõ đây là gói tin 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.
Hình 4.1: Cấu trúc gói tin ICMPv6
Cũng nhƣ ICMPv4,ICMPv6 đƣợc sử dụng để trao đổi các thông điệp điều khiển,bao gồm những thông điệp đảm nhiệm báo cáo tình trạng hoạt động của mạng ,báo cáo lỗi, hỗ trợ chuẩn đoán mạng . Tuy nhiên ,nhằm phục vụ thực hiện những quy trình hoạt động cơ bản của địa chỉ IPv6, ICMPv6 còn bao gồm những dạng thông điệp mới, phục vụ cho các thủ tục và những quy trình giao tiếp của các node IPv6. Các thông điệp ICMPv6 đƣợc phân làm hai loại:Thông điệp lỗi và Thông điệp thông tin.
2. Thông điệp lỗi
Các thông điệp lỗi đƣợc sử dụng để báo lỗi trong quá trình chuyển tiếp và phân phối gói tin IPv6, thực hiện bởi node đích hoặc router đang xử lý gói tin. Các thông điệp này có giá trị 8 bit của trƣờng Type từ 0 đến 127 (bit đầu tiên đƣợc đặt giá trị 0). Các thông điệp lỗi bao gồm :Destination Unreachable (Không tới đƣợc đích), Packet Too Big (Gói tin quá lớn), Time Exceeded (Quá thời gian cho phép), và Parameter Problem (Có vấn đề về tham số ).
Type Mô tả Giá trị trƣờng Code 1 Destination Unreachable
(Không tới đƣợc đích)
0 - Không có tuyến tới đích 1 - Giao tiếp tới đích bị cấm 2 - Chƣa gán
3 - Địa chỉ không kết nối đƣợc 4 - port không kết nối đƣợc
2 Packet Too Big (Gói tin quá lớn)
0
3 Time Exceeded (Quá thời gian cho phép
0 - Vƣợt quá giới hạn(hop limit) 1 -Thời gian tạo lại gói tin vƣợt quá giới hạn cho phép
4 Parameter Problem (Có vấn đề về tham số)
0 - Lỗi Header
1- Không nhận dạng đƣợc Header tiếp theo
2 - Không nhận ra tùy chọn IPv6
Bảng 4.1:Các lỗi thông điệp
Thông điệp lỗi “Không tới đƣợc đích ”đƣợc gửi khi một node không thể chuyển tiếp gói tin vì một số lí do nào đó(không phải do tắc nghẽn mạng).Node gửi thông báo lỗi về nguồn của gói tin, trƣờng Code sẽ chỉ định nguyên nhân, nhƣ trong bảng 4.1 .
Node gửi thông điệp lỗi “Gói tin quá lớn ” khi kích thƣớc gói tin vƣợt quá giá trị MTU của đƣờng kết nối. Trong IPv6, việc phân mảnh không đƣợc thực hiện bởi router (bộ định tuyến),chỉ có node nguồn thực hiện phân mảnh.Thông điệp“Gói tin quá lớn” còn đƣợc sử dụng trong quy trình tìm kiếm giá trị MTU nhỏ nhất (PathMTU) trên toàn bộ đƣờng truyền dẫn của IPv6, là một quy trình do thủ tục Neighbor Discovery đảm nhiệm.
Thông điệp lỗi “Có vấn đề về tham số ”đƣợc gửi nếu một node nhận thấy có vấn đề trong Header , hoặc trong một Header mở rộng của gói tin IPv6. Dạng lỗi đƣợc chỉ định bằng giá trị trƣờng Code, nhƣ trong bảng 4.1.
3. 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 .Trƣờng Type của gói tin thông điệp thông tin ICMPv6 có giá trị trong khoảng 128 - 255(bit đầu tiên đƣợc thiết lập giá trị 1 ).
Thông điệp thông tin cơ bản: Bao gồm “Echo request(Yêu cầu phản hồi)” và “Echo reply (Phản hồi)”.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 ,trace route,thực hiện chức năng chuẩn đoán mạng .
Type Mô tả Code
128 Echo request (Yêu cầu phản
hồi)
0
129 Echo reply (Phản hồi) 0
Bảng 4.2: Thông điệp thông tin cơ bản
Thông điệp thông tin mở rộng : Là những thông điệp ICMPv6 phục vụ cho các 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, sử dụng cho các quy trình hoạt động cốt yếu của IPv6.
Những thông điệp này đƣợc liệt kê trong bảng 4.2 .Trong đó có các thông điệp: Multicast Listener Query(Truy vấn đối tƣợng nghe lƣu lƣợng Multicast), Multicast Listener Report (Báo cáo đối tƣợng nghe lƣu lƣợng Multicast), Multicast Listener Done (Kết thúc nghe lƣu lƣợng multicast) phục vụ cho thủ tục MLD, Router Solicitation (Dò tìm router),Router Advertisement (Quảng bá của router), NeighborSolicitation(Dò tìm node lân cận),Neighbor Advertisement (Quảng bá của node lân cận) và Redirect phục vụ cho thủ tục ND .
Type Mô tả Code 130 Multicast Listener Query(Truy vấn đối
tƣợng nghe lƣu lƣợng Multicast)
0
131 Multicast Listener Report (Báo cáo đối tƣợng nghe lƣu lƣợng Multicast)
0
132 Multicast Listener Done (Kết thúc nghe lƣu lƣợng multicast)
0
133 Router Solicitation (Dò tìm router) 0
134 Router Advertisement (Quảng bá của router)
0
135 Neighbor Solicitation(Dò tìm node lân cận)
0
136 Neighbor Advertisement (Quảng bá của node lân cận)
0
137 Redirect 0
Bảng 4.3: Thông điệp thông tin mở rộng