tin IPv6
Mạng, quy mô lớn hay nhỏ, bao gồm các đƣờng kết nối vật lý khác nhau. Mỗi đƣờng kết nối có một giá trị giới hạn về kích thƣớc cực đại của gói tin mà host có thể gửi trên đƣờng kết nối, đƣợc gọi là MTU (Maximum Transmition Unit). Trong hoạt động của thế hệ địa chỉ IPv4, trong quá trình chuyển tiếp gói tin, nếu IPv4 router nhận đƣợc gói tin lớn hơn giá trị MTU của đƣờng kết nối, router sẽ thực hiện phân mảnh gói tin (fragment) thành những gói tin nhỏ hơn. Sau quá trình truyền tải, gói tin đƣợc xây dựng lại nhờ những thông tin trong header. Địa chỉ IPv6 áp dụng một mô hình khác để phân mảnh gói tin. Mọi IPv6 router không tiến hành phân mảnh gói tin, nhờ đó tăng hiệu quả, giảm thời gian xử lý gói tin. Việc phân mảnh gói tin đƣợc thực hiện tại host nguồn, nơi gửi gói tin. Do vậy, trong header cơ bản IPv6, các trƣờng hỗ trợ cho việc phân mảnh và kết cấu lại gói tin (tƣơng ứng IPv4 header) đã đƣợc bỏ đi. Những thông tin trợ giúp cho việc phân mảnh và tái tạo gói tin IPv6 đƣợc để trong một header mở rộng của gói tin IPv6 (gọi là Fragment Header)45
.
Giá trị MTU tối thiểu mặc định trên đƣờng kết nối IPv6 là 1280 byte. Tuy nhiên, để đến đƣợc đích, gói tin sẽ đi qua nhiều đƣờng kết nối có giá trị MTU khác nhau, việc phân mảnh gói tin đƣợc thực hiện tại host nguồn, không thực hiện bởi các router trên đƣờng truyền tải. Do vậy, host nguồn cần biết đƣợc giá trị MTU nhỏ nhất trên toàn bộ đƣờng truyền từ nguồn tới đích để điều chỉnh kích thƣớc gói tin phù hợp.
Có hai khái niệm về giá trị MTU trong IPv6, đó là:
LinkMTU: Là giá trị MTU trên đƣờng kết nối trực tiếp của host
PathMTU: Là giá trị MTU nhỏ nhất trên toàn bộ một đƣờng truyền từ nguồn tới đích.
Host nguồn sẽ sử dụng quy trình có tên gọi Path MTU Discovery để tìm ra giá trị MTU nhỏ nhất trên đƣờng dẫn từ nguồn đến đích. Khi tìm đƣợc, nó sẽ lƣu giữ (cache) giá trị này để sử dụng trong giao tiếp.
Quy trình tìm kiếm Path MTU đƣợc thực hiện nhờ thông điệp Packet Too Big phản hồi từ router.
Để tìm PathMTU, host nguồn gửi gói tin sử dụng giá trị MTU mặc định trên đƣờng kết nối trực tiêpc của mình. Nếu trên đƣờng truyền, kích thƣớc gói tin vƣợt quá giá trị MTU của một đƣờng link nào đó, router của đƣờng link phải hủy bỏ gói tin và gửi thông điệp Packet Too Big thông báo, trong gói tin có chứa giá trị MTU của đƣờng kết nối mà router phụ trách. Khi nhận đƣợc thông tin này, host sẽ sử dụng giá trị MTU này để gửi lại gói tin. Cứ nhƣ vậy cho đến khi gói tin tới đƣợc đích và host sẽ lƣu giữ lại thông tin về giá trị MTU nhỏ nhất đã dùng (PathMTU) để thực hiện gửi lần sau.
Nguồn Đích MTU=1500 MTU=1500 MTU=1400 MTU=1300
Gửi gói tin MTU=1500
ICMP error: packet too big / Sử dụng MTU 1400 Gửi gói tin MTU=1400
ICMP error: packet too big / Sử dụng MTU 1300 Gửi gói tin MTU=1300
Nhận đƣợc gói tin
Path MTU=1300
Host nguồn cache thông tin Path MTU
Thực hiện phân mảnh gói tin
Cấu trúc lại gói tin đã bị phân mảnh Nguồn Đích MTU=1500 MTU=1500 MTU=1400 MTU=1300 Nguồn Đích MTU=1500 MTU=1500 MTU=1400 MTU=1300
Gửi gói tin MTU=1500
ICMP error: packet too big / Sử dụng MTU 1400 Gửi gói tin MTU=1400
ICMP error: packet too big / Sử dụng MTU 1300 Gửi gói tin MTU=1300
Nhận đƣợc gói tin
Path MTU=1300
Host nguồn cache thông tin Path MTU
Thực hiện phân mảnh gói tin
Cấu trúc lại gói tin đã bị phân mảnh