Header mở rộng

Một phần của tài liệu triển khai IPV6 VA UNG DUNG trong thực tế tại viẹt nam (Trang 28 - 33)

1.4. Cấu trúc của gói tin IPv6

1.4.2. Header mở rộng

Header mở rộng (extension header) là đặc tính mới trong thế hệ địa chỉ IPv6, có thể theo sau header cơ bản của IPv6. Một gói tin IPv6 có thể khơng có, có một hoặc là nhiều extension headers. Khi có nhiều extension headers cùng được sử dụng trong gói tin IPv6, thì chúng được tạo thành một chuỗi các danh sách headers và được xác định bởi trường Next header của header trước nó. Extension header được sử dụng để mang các thông tin tuỳ chọn ở các lớp internet trong gói tin.

Trong IPv4, thơng tin liên quan đến những dịch vụ thêm vào được cung cấp tại tầng IP được hợp nhất trong trường Options của header. Vì vậy, chiều dài header thay đổi tuỳ theo tình trạng.

Khác thế, địa chỉ IPv6 phân biệt rõ ràng giữa header mở rộng và header cơ bản, và đặt phần header mở rộng sau phần header cơ bản. Header cơ bản có chiều dài cố định 40 byte, mọi gói tin IPv6 đều có header này. Header mở rộng là tuỳ chọn. Nó sẽ khơng được gắn thêm vào nếu các dịch vụ thêm vào không được sử dụng. Các thiết bị xử lý gói tin (ví dụ router), cần phải xử lý header cơ bản trước, song ngoại trừ một số trường hợp đặc biệt, chúng không phải xử lý header mở rộng. Router có thể xử lý gói tin hiệu quả hơn vì chúng biết chỉ cần nhìn vào phần header cơ bản với chiều dài như nhau.

Header mở rộng được chia thành nhiều loại tuỳ 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, phần header mở rộng tương ứng với từng loại dịch vụ khác nhau được đặt tiếp nối theo nhau.

Trong cấu trúc header IPv6, có thể thấy 8 bít của trường Next Header. Trường này sẽ xác định xem extension header có tồn tại hay không, khi mà header mở rộng không được sử dụng, header cơ bản chứa mọi thông tin tầng IP. Nó sẽ được theo sau bởi header của tầng cao hơn, tức hoặc là header của TCP hay UDP, và trường Next Header chỉ ra loại header sẽ theo sau.

Mỗi header mở rộng (extension header) cũng chứa trường Next Header và xác định header mở rộng nào sẽ theo sau nó. Node đầu cuối khi nhận được gói tin chứa extension header sẽ xử lý các extension header này theo thứ tự được sắp xếp của chúng.

Có 6 loại của extension header: + Hop-by-Hop Options header + Destination Options header + Routing header

+ Fragment header + Authentication header

+ ESP (Encrypted Security Payload) header

Nếu có nhiều hơn một Header được sử dụng trong một gói thì thứ tự các Header như sau:

+ IPv6 header

+ Hop-by-Hop Options header

+ Destination Options header ( được xử lý bởi đích đầu tiên xuất hiện trong trường địa chỉ đích)

+ Routing header + Fragment header + Authentication header

+ ESP (Encrypted Security Payload) header

+ Destination Options header (được xử lý bởi đích cuối cùng) + Upper layer header

1. Hop by hop option:

Mang thông tin lựa chọn được kiểm tra bởi tất cả các node trên đường truyền của gói. Nếu khơng có Header mở rộng hop by hop thì router biết rằng không cần phải xử lý thông tin định tuyến riêng mà chỉ cần định tuyến gói trực tiếp tới đích cuối cùng. Ngược lại, router chỉ cần kiểm tra trong Header này và khơng cần tìm kiếm thêm trong gói.

Hình 1.13. Định dạng Header hop-by-hop option

Byte đầu tiên của trường option là trường option type, nó mang thơng tin trong trường hợp các node xử lý không nhận ra option thì option này phải được đối xử như thế nào.

Giá trị của 2 bits đầu tiên chỉ ra hành động cần thực hiện: + 00: bỏ qua và tiếp tục xử lý

+ 01: loại bỏ packet

+ 10: loại bỏ packet và gửi bản tin ICMP lỗi tham số, code 2 tới địa chỉ nguồn của gói, chỉ ra loại option khơng được nhận ra.

+ 11: khi đích khơng phải là muticast thì loại bỏ packet và gửi bản tin ICMP lỗi tham số, code 2.

Bit thứ 3 chỉ ra thông tin lựa chọn thay đổi (giá trị 01) hoặc khơng thay đổi (giá trị 00) trên tồn tuyến hay không.

2. Routing header:

Xác định đường dẫn định tuyến, node nguồn sử dụng routing header để liệt kê địa chỉ các router mà gói tin sẽ đi qua trên đường truyền tới đích.

Hình 1.14. Định dạng Header Routing

Nếu node đang xử lý không nhận dạng được giá trị của routing type, hành động của nó phụ thuộc vào nội dung của trường segment left.

Nếu trường segment left khơng chứa node nào thì node bỏ qua Header routing và xử lý Header tiếp theo trong packet, được xác định bởi giá trị của trường Next header. Nếu trường segment left khác không, node loại bỏ packet và gửi bản tin ICMP lỗi tham số, code 0 tới địa chỉ nguồn của packet, chỉ ra loại routing không được nhận ra. Nếu node chuuyển tiếp không xử lý packet do kích thước MTU của link tiếp theo quá nhỏ, nó sẽ loại bỏ packet và gửi bản tin ICMP gói quá lớn trở lại nguồn của packet.

Loại định tuyến duy nhất được mô tả trong RFC 2460 là Header định tuyến loại Zero. Node đầu tiên xử lý Header định tuyến là node được đánh địa chỉ bởi trường địa chỉ đích trong Header IPv6. Node này giảm trường segment left đi một và chèn trường địa chỉ tiếp theo từ trong Header định tuyến vào trong trường địa chỉ đích của Header IPv6. Sau đó packet được chuyển tiếp tới hop tiếp theo và quá trình xử lý giống như trên cho tới khi đạt tới đích cuối cùng. Đích cuối cùng là địa chỉ cuối cùng trong trường dữ liệu Header định tuyến.

3. Fragment header:

Khi một host muốn gửi một packet tới host đích thì nó sẽ sử dụng thuật tốn path MTU discovery để xác định kích thước lớn nhất của các gói mà có thể được truyền trên đường truyền tới đích. Nếu gói có kích thước lớn hơn MTU được hỗ trợ trên mạng thì host nguồn sẽ phân đoạn gói đó thành các gói nhỏ hơn, đích sẽ tập hợp các segment và sắp xếp chúng lại. Khi đó Header fragment được sử dụng. Các segment phải có địa chỉ nguồn và đích nhận dạng và có cùng giá trị nhận dạng để được sắp xếp hợp lý.

Hình 1.15. Định dạng Header Fragment

M-flag = 0: chỉ ra fragment cuối cùng M-flag = 1: chỉ ra còn nhiều fragment

Trường identification hoạt động như một bộ đếm, tăng lên 1 cho mỗi packet cần được phân đoạn bởi node nguồn

4. Destination option header:

Mang thông tin lựa chọn chỉ được xác định bởi node đích

5. Authentication và ESP:

Ipsec là phương thức bảo mật bắt buộc được sử dụng tại tầng IP. Mọi node IPV6 phải thực thi Ipsec. Tuy nhiên, thực thi và tận dụng lại là khác nhau, và Ipsec có thực sự được sử dụng trong giao tiếp hay không phụ thuộc vào thời gian và từng trường hợp. Khi Ipsec được sử dụng, Authentication header sẽ được sử dụng cho xác thực và bảo mật tính đồng nhất của dữ liệu, ESP header sử dụng để xác định những thơng tin liên quan đến mã hố dữ liệu, được tổ hợp lại thành extension header. Trong IPV4, khi có sử dụng đến Ipsec, thơng tin được đặt trong trường Options.

Một phần của tài liệu triển khai IPV6 VA UNG DUNG trong thực tế tại viẹt nam (Trang 28 - 33)

Tải bản đầy đủ (DOC)

(93 trang)
w