Các header mở rộng của IPv6

Một phần của tài liệu Giao thức định tuyến OSPF cho IPv6 (Trang 48 - 55)

CHƯƠNG II : GIỚI THIỆU VỀ IPv6

2.2 Địa chỉ IPv6

2.2.4.2 Các header mở rộng của IPv6

IPv4 header bao gồm tất cả các option. Trường Options này được sử dụng để thêm các thông tin về dịch vụ tùy chọn khác nhau. Vì vậy, chiều dài IPv4 header thay đổi tùy theo tình trạng. Do sự thay đổi đó, mỗi router trung gian phải kiểm tra tình trạng

của các option và xử lý khi chúng hiện diện. Điều này có thể làm giảm khả năng vận chuyển các gói IPv4. Với IPv6, việc phân phát và vận chuyển các option được rời đến các header mở rộng. Header mở rộng duy nhất được xử lý tại mỗi router trung gian là header mở rộng Hop-by-Hop Options. Điều này làm tăng tốc độ xử lý IPv6 header và cải tiến quá trình chuyển tải các gói IPv6. Các header mở rộng được đặt giữa IPv6 header và header của các giao thức lớp trên, được sử dụng để mang thông tin tùy chọn ở lớp internet trong gói. Header mở rộng được chia thành nhiều loại tùy thuộc vào dạng và chức năng chúng phục vụ. Khi nhiều dịch vụ thêm vào được sử dụng, header mở rộng tương ứng với từng loại dịch vụ khác nhau được đặt nối tiếp nhau. Một gói IPv6 có thể chứa một hay nhiều header mở rộng. Các header mở rộng của IPv6 bao gồm:

• Hop-by-Hop Options header

• Destination Options header

• Routing header

• Fragment header

• Authentication header

• Encapsulating Security Payload header

Hop-by-Hop Options header: được dùng để xác định các tham số vận chuyển tại mỗi hop trên đường truyền tới đích, nó xác định một chu trình mà cần được thực hiện mỗi lần gói đi qua một router. Nó được định dạng bởi giá trị 0 trong trường Next header của IPv6 header.

Hình 2.13 Cấu trúc Hop-by-Hop Options Header

Destination Optons Header: được dùng để định rõ những tham số vận chuyển gói cho các đích trung gian hoặc các đích cuối cùng. Header này được định dạng bởi giá trị 60 trong trường next header của header trước đó. Destination Options header có cấu trúc giống như cấu trúc của Hop-by-Hop Options header.

Destination Option header được sử dụng trong hai trường hợp sau: Next header Hdr Ext Len

Options variable length

8 8 16

Nếu một Routing header hiện diện, nó định rõ các tùy chọn vận chuyển hay tùy chọn xử lý tại mỗi đích trung gian. Trong trường hợp này, Destination Option header xuất hiện trước Routing header

Nếu khơng có Routing header hiện diện, hay nếu header này xuất hiện sau routing header, header này định rõ các tùy chọn vận chuyển hay tùy chọn xử lý tại đích cuối cùng.

Routing Header: được sử dụng để xác định đường dẫn định tuyến.Các node nguồn IPv6 có thể sử dụng routing header để xác định đích đến, bằng cách liệt kêt một danh sách các đích trung gian để chuyển gói tới đích cuối cùng. Routing header được định dạng bởi giá trị 43 trong trường Next header của Header trước đó. Cấu trúc của Routing header:

Hình 2.14 Cấu trúc Routing Header

Routing header gồm có một trường Next header, một trường Header Extension Length, một trường Routing Type, một trường segments left biểu thị số lượng các đích trung gian vẫn được kiểm tra, và dữ liệu routing type-specific.

RFC 2460 định nghĩa Routing Type 0, dùng để định tuyến nguồn chưa xác định. Cấu trúc của Routing header loại 0.

Next Header Hdr Ext Len Routing Type Segments Left Type-specific data

variable length

8 8 8 8

Hình 2.15 Cấu trúc Routing Header loại 0

Trong Routing Type 0, Routing type-specific data bao gồm một trường dự trữ 32 bit và một danh sách các địa chỉ đích trung gian, bao gồm cả địa chỉ đích cuối cùng. Khi gói được gửi đi lần đầu, địa chỉ đích được thiết lập là địa chỉ đích đầu tiên, và routing type-specific data là danh sách các đích trung gian thêm vào và đích cuối cùng. Trường Segment Left được thiết lập là tổng số địa chỉ trong routing type-specific data.

Khi gói IPv6 đi tới một đích trung gian, routing header được xử lý và:

- Địa chỉ đích hiện tại và địa chỉ đích ở vị trí(N - segments left + 1) trong danh sách các địa chỉ được trao đổi.

- Trường Segments Left được giảm bớt. - Gói được truyền tải.

Tại thời điểm gói tới đích cuối cùng, segments left được thiết lập là 0 và danh sách các địa chỉ trung gian trong đường dẫn tới đích được ghi vào routing header.

Fragment header: được sử dụng cho các dịch vụ lắp ráp và phân mảnh IPv6. Header này được định dạng bởi giá trị 44 trong trường Next header của header trước đó. Cấu trúc của Fragment header được chỉ ra như hình sau:

Next Header Hdr Ext Len Routing Type Segment Left Reserved Address [1] Address [N] 8 8 8 8 32 Bits

Next Header Reserved Fragment Offset Res M Identification

8 8 13 2 1

Hình 2.16 Cấu trúc Fragment Header

Fragment header bao gồm một trường Next header, một trường Fragment Offset 13 bit, một cờ More Fragments và một trường Identification 32 bit. Các trường Fragment Offset, cờ More Fragment, và trường Identification được sử dụng giống như trong các trường tương ứng trong IPv4 header.

Trong IPv6, chỉ node nguồn có thể phân mảnh tải tin. Nếu tải tin kiểm tra bởi giao thức lớp trên lớn hơn link hay path MTU, khi đó IPv6 sẽ phân mảnh tải tin tại nguồn và sử dụng Fragment header để cung cấp thông tin tổng hợp. Một router IPv6 sẽ không bao giờ phân mảnh một gói IPv6 đang được vận chuyển.

Q trình phân mảnh IPv6: Khi một gói IPv6 được phân mảnh, đầu tiên nó được chia thành những phần không phân mảnh và những phần phân mảnh:

Phần khơng phân mảnh của gói IPv6 nguồn phải được xử lý bởi các node trung gian giữa node phân mảnh và đích. Phần này bao gồm IPv6 header, Hop-by-Hop Options header, Destination Options header cho các đích trung gian, và Routing header.

Phần phân mảnh của gói IPv6 nguồn chỉ được xử lý tại node đích cuối cùng. Phần này bao gồm Authencation header, ESP header, Destination Options header cho đích cuối cùng, và PDU lớp trên.

Tiếp theo, các gói phân mảnh IPv6 được định dạng. Mỗi gói phân mảnh bao gồm phần khơng phân mảnh, một header phân mảnh, và một phần chia của phần phân mảnh. Hình dưới chỉ ra quá trình phân mảnh IPv6 cho một gói IPv6.

Phần khơng phân mảnh Phần phân mảnh Gói IPv6 gốc Phần khơng phân mảnh Tiêu đề mảnh Mảnh 1 Phần không phân mảnh Tiêu đề mảnh Mảnh 2 Phần không phân mảnh Tiêu đề mảnh Mảnh cuối cùng Các mảnh

Hình 2.17 Quá trình phân mảnh gỏi IPv6

Trong mỗi mảnh, trường Next Header trong Fragment header biểu thị header đầu tiên hay giao thức lớp trên trong phần phân mảnh gốc. Trường Fragment Offset trong Fragment header biểu thị offset, trong 8 byte đơn vị, được gọi là các khối phân mảnh. Cờ More Fragment được thiết lập trên tất cả các gói phân mảnh trừ gói phân mảnh cuối cùng. Tất cả các gói phân mảnh tạo ra từ các gói IPv6 giống nhau phải chứa giá trị trường Identification như nhau.

Authencation header: Cung cấp tính tồn vẹn và tính nhận thực của dữ liệu. Authecation header là một phần của cấu trúc bảo mật cho IP. Authencation header được định dạng bởi giá trị 51 của trường next header của header trước đó. Nó có cấu trúc như sau:

Hình 2.18 Cấu trúc Authencation Header

Authencation header bao gồm một trường Next header, một trường Payload Length, một trường dự trữ (Reserved), một trường Security Paramaters Index (SPI), một trường Sequence Number cung cấp bảo vệ anti-replay, và một trường Authencation Data bao gồm kiểm tra giá trị toàn vẹn (ICV). ICV cung cấp xác thực và toàn vẹn dữ liệu.

Authentication header không cung cấp các dịch vụ dữ liệu tin cậy cho PDU lớp trên bằng cách mật mã dữ liệu để nó khơng thể hiển thị mà khơng có khóa mã hóa. Để đạt được tính xác thực và tồn vẹn dữ liệu của tồn bộ gói IPv6 và tính bảo mật dữ liệu

Next Header Payload Length Reserved Security Parameters Index (SPI)

Sequence Number Field Authencation Data variable

8 8 16

cho PDU lớp trên, chúng ta có thể sử dụng cả Authentication header và Encapsulating Security Payload header và trailer.

Encapsulating Security Payload (ESP)Header và Trailer

ESP header và trailer cung cấp tính xác thực, tồn vẹn, bảo mật dữ liệu và các dịch vụ bảo vệ trễ để đóng gói tải tin. ESP header không cung cấp các dịch vụ bảo mật cho IPv6 header hay các header mở rộng xuất hiện trước ESP header. ESP header và trailer được định dạng bởi giá trị 50 trong trường next header của header trước đó.

Hình 2.19 Cấu trúc ESP Header và Trailer

Như trong hình 2.19, ESP header bao gồm một trường SPI giúp nhận dạng IPSec SA, và một trường Sequence Number cung cấp phương pháp anti-replay. ESP trailer bao gồm các trường Padding, Padding Length, Next header, và Authentication Data. Trường Padding sử dụng để bảo đảm 4 byte biên cho tải tin ESP và giành riêng các khối dữ liệu biên cho thuật toán mã hóa. Trường Padding Lengh biểu thị kích thước trường Padding trong các byte. Trường Authencation Data bao gồm ICV.

Security Parameters Index (SPI) Sequence Number Payload Data (variable) Padding (0 – 255 bytes)

Pad Length Next header

Authencation data (variable) 32 Bits E nc ty pt ed au th en ti ca te d

Một phần của tài liệu Giao thức định tuyến OSPF cho IPv6 (Trang 48 - 55)