Các tiêu đề mở rộng của IPv6 là các tiêu đề tùy chọn mà có thể theo sau tiêu đề IPv6 cơ bản. Một vài kiểu tiêu đề mở rộng được định nghĩa trong RFC 2460. Một gói tin IPv6 có thể bao gồm 0, 1 hoặc nhiều tiêu đề mở rộng. Như trình bày trong hình 2.5, khi nhiều tiêu đề mở rộng được sử dụng trong một gói tin IPv6, chúng tạo ra một chuỗi các tiêu đề được chỉ ra bởi trường Next Header của tiêu đề trước đó.
Hình 2.5 – Tiêu đề mở rộng và mối quan hệ với trường next header
Đối với các ứng dụng IPv6 đặc biệt, tiêu đề cuối cùng của chuỗi là giao thức lớp cao hơn mang dữ liệu của gói tin. Giao thức lớp cao hơn có thể là TCP, UDP, hoặc là một gói tin ICMP.
Dƣới đây là các tiêu đề mở rộng của IPv6 đƣợc định nghĩa:
Hop-by-Hop Options (giao thức 0) – Trường này được đọc và được xử lý bởi
mỗi node và router trên đường truyền. Tiêu đề Hop-by-Hop được sử dụng cho các gói tin có kích thước lớn và cảnh báo với router. Một ví dụ của việc áp dụng tiêu đề Hop- by-Hop là giao thức dự trữ nguồn tài nguyên (RSVP) bởi vì mỗi router cần xem nó.
- IPv6 có thể gửi các gói tin lớn hơn 65.535 octet, đặc biệt trên một mạng mà có giá trị MTU lớn. Như được định nghĩa trong RFC 2675, các gói tin này được gọi là Jumbograms. IPv4 không thể gửi các gói tin lớn hơn 65.535 octet bởi vì trường Total Length có giá trị 16 bit. Về cơ bản, tiêu đề IPv6 cũng bị giới hạn bởi con số 65.535 liên quan đến trường Payload Length. Tuy nhiên, bằng việc sử dụng trường tiêu đề mở rộng Hop-by-Hop 32 bit, nên một gói tin Jumbogram có thể dài tối đa 4.294.967.295 octet.
- Khi một node nguồn gửi một gói tin IPv6 tới node đích sử dụng tiêu đề mở rộng, các router trung gian trên đường truyền không phải đọc và xử lý các tiêu đề mở rộng. Tuy nhiên, như định nghĩa trong RFC 2711, tính năng cảnh báo Router trong tiêu
đề Hop-by-Hop có thể được sử dụng khi một gói tin mà được gửi tới một đích cụ thể yêu cầu xử lý đặc biệt bởi các router trung gian trên đường truyền.
Destination Options (giao thức 60) – Tiêu đề này mang thông tin tùy ý mà
được gắn riêng cho địa chỉ đích của gói tin. Trong giao thức IPv6 cho Mobile sử dụng tiêu đề này để trao đổi các bản tin đăng kí giữa các node di động và trạm trung gian. Mobile IP là một giao thức cho phép các node di động giữ một địa chỉ IP cố định ngay cả khi chúng thay đổi vị trí giao tiếp.
Routing (giao thức 43) – Tiêu đề này có thể được sử dụng bởi node nguồn
IPv6 để ép một gói tin đi qua các router trên đường tới đích của nó. Một danh sách các router trung gian có thể được chỉ ra trong tiêu đề Routing khi trường Routing Type được đặt giá trị bằng 0. Chức năng này giống như tùy chọn Loose Source Routing trong IPv4.
Chi tiết về tiêu đề Routing Header:
So sánh với IPv4, cách sử dụng Loose Source Routing thì khác trong IPv6. Ngay khi danh sách các router trung gian IPv6 được liệt kê, trước khi gửi gói tin IPv6, node nguồn sẽ thực hiện các bước sau đây:
Bước 1: Lấy địa chỉ đích là địa chỉ của router trung gian đầu tiên đặt vào tiêu đề IPv6 cơ bản.
Bước 2: Lấy địa chỉ IPv6 của đích muốn đến làm địa chỉ của router trung gian cuối cùng trong danh sách.
Bước 3: Giảm trường Segments Left của tiêu đề Routing đi 1 khi gói tin đi qua mỗi router. Trường này như là một con trỏ chứa số còn lại của các router segments tới đích cuối cùng.
Sau đó tại mỗi router trung gian, các bước sau sẽ xảy ra:
- Router trung gian thay đổi địa chỉ đích của tiêu đề IPv6 cơ bản thành địa chỉ đích là router kế tiếp trong danh sách.
- Router giảm giá trị trường Segments Left trong tiêu đề Routing đi 1 đơn vị. - Router đặt địa chỉ riêng của nó vào danh sách các router trung gian trong tiêu đề Routing ngay trước router tiếp theo (cách để ghi lại route).
Nếu router là router trung gian cuối cùng, nó thay đổi địa chỉ IPv6 đích của tiêu đề IPv6 cơ bản thành node đích cuối cùng, địa chỉ đích cuối cùng mà gói tin muốn đến.
Node đích sau khi đã nhận được gói tin với tiêu đề Routing, có thể nhìn thấy danh sách các router trung gian được ghi trong tiêu đề Routing. Sau đó, node đích cũng có thể gửi gói tin trả lời tới node nguồn sử dụng một tiêu đề Routing và có thể sử dụng cùng danh sách các router đó nhưng theo thứ tự ngược lại.
Như minh họa trong hình 2.6, node nguồn A gửi một gói tin tới node đích B bằng cách ép gói tin đi qua một loạt các router trung gian được chỉ ra trong tiêu đề Routing. Router R2 và sau đó là router R4 được chỉ ra trong danh sách các router trung gian để chuyển gói tin đến node đích B. Đầu tiên node A gửi gói tin tới R2. Gói tin này sử dụng R2 như là địa chỉ đích trong tiêu đề IPv6 cơ bản. Địa chỉ tiếp theo của danh sách các router trung gian là R4, và địa chỉ cuối cùng của danh sách là node đích B. Sau khi nhận được gói tin, router R2 gửi gói tin tới R4. Gói tin sử dụng router R4 như là địa chỉ đích trong tiêu đề cơ sở gói tin IPv6. Địa chỉ tiếp theo của danh sách bây giờ là node đích B, địa chỉ đích thực sự của gói tin. Cuối cùng, sau khi nhận gói tin, router R4 gửi gói tin của nó tới node đích B thông qua R6 thay vì qua R7 (vì quãng đường ngắn hơn). Bởi vì router R6 không nằm trong danh sách các router trung gian, gói tin được forward bình thường bởi router R4. Gói tin sử dụng node đích B như là địa chỉ đích, và tiêu đề Routing chứa danh sách các router trung gian (R2, R4) mà thuộc về đường này.
Chỉ một vài ứng dụng tồn tại sử dụng tiêu đề Routing trong IPv6. Mobile IPv6 là một ví dụ của giao thức mà sử dụng tiêu đề này khi mà một node luôn luôn ở cách xa trạm trung gian.
Fragment header (giao thức 44) – Trong IPv6, cơ chế PMTUD được khuyến
cáo đối với tất cả các node IPv6. Khi một node IPv6 không hỗ trợ PMTUD và nó phải gửi một gói tin lớn hơn MTU lớn nhất trên đường truyền, tiêu đề Fragment được sử dụng. Khi điều này xảy ra, node sẽ phân mảnh gói tin và gửi mỗi mảnh sử dụng các tiêu đề Fragment. Sau đó node đích sẽ khôi phục lại gói tin ban đầu bằng cách nối các mảnh lại với nhau.
Trong IPv6, sự phân mảnh thì không được ưa thích. Khi cần thiết, sự phân mảnh được thực hiện với các node nguồn, không phải tại các router trên đường truyền. Trong IPv4, sự phân mảnh được thực hiện tại node đầu tiên cũng như tại các router trung gian.
Hình 2.6 – Gói tin đi qua một loạt các router trung gian trước khi tới đích
Authentication header (giao thức 51) – Trường này được sử dụng trong IPv6
để cung cấp sự xác thực, tính toàn vẹn dữ liệu. Nó cũng đảm bảo sự bảo vệ của một vài trường trong tiêu đề cơ sở IPv6. Tiêu đề này được sử dụng trong cả IPv4 và IPv6.
Encapsulating Security Payload header (giao thức 50) – Tiêu đề này cũng
được sử dụng trong IPSec để cung cấp sự xác thực, tính toàn vẹn dữ liệu, và tính bảo mật của gói tin IPv6. Tương tự như AH, tiêu đề này được sử dụng trong cả IPv4 và IPv6.
Các tiêu đề mở rộng:
Khi có nhiều tiêu đề mở rộng được sử dụng trong gói tin IPv6, thứ tự của chúng phải như sau:
1. Tiêu đề cơ sở IPv6
2. Tiêu đề tùy chọn Hop-by-Hop
3. Tiêu đề Destination Options (nếu tiêu đề Routing được sử dụng) 4. Tiêu đề Routing
5. Tiêu đề Fragment 6. Tiêu đề Authentication
7. Tiêu đề Encapsulating Security payload 8. Tiêu đề Destination Options
Gói tin bao gồm một vài tiêu đề mở rộng phải được xử lý một cách nghiêm khắc bởi các node đích theo thứ tự chúng xuất hiện trong gói tin IPv6. Node mà nhận gói tin thì không phải xử lý.