Hoạt động của đường hầm

Một phần của tài liệu Nghiên cứu triển khai mô hình mạng ứng dụng IP version 6 (Trang 98 - 101)

Đường hầm thường được sử dụng trên một mạng để mang các giao thức không tương thích hoặc dữ liệu riêng biệt trên một mạng đã có sẵn. Ví dụ, Các đường hầm giao thức định tuyến Multicast véc tơ khoảng cách (DVMRP) mang các gói tin multicast trên các mạng unicast. IPSec trong cơ chế đường hầm, giao thức đường hầm lớp 2 (L2TP), và các cơ chế mạng riêng ảo khác (VPN) truyền dữ liệu nhạy cảm trên các mạng IP công cộng sử dụng các giao thức đường hầm bảo mật.

Để triển khai IPv6 trong phạm vi cơ sở hạ tầng mạng IPv4 đang có ở bất cứ chỗ nào trên mạng, đường hầm cung cấp một phương pháp cơ bản cho các host IPv6 hoặc các vùng mạng tạo bởi các host IPv6, các server, và các router có thể liên lạc được với các vùng mạng IPv6 khác, và các mạng IPv6 này sử dụng các miền định tuyến IPv4 như là lớp vận chuyển. Như trình bày trong hình 5.6, một đường hầm được triển khai giữa hai vùng tạo bởi các nút IPv6 trên một mạng IPv4 thuần túy (chẳng hạn như Internet). Các router biên tại biên của các vùng mạng IPv6 và Internet có thể đóng gói các gói tin IPv6 vào trong IPv4 và gửi đi trên đường hầm.

Khi một gói tin IPv6 được đóng trong IPv4, tiêu đề gốc của nó và phần dữ liệu không bị thay đổi. Một tiêu đề IPv4 được chèn vào đằng trước gói tin IPv6. Vì vậy, tiêu đề bên trong chứa địa chỉ nguồn và đích của phiên kết nối IPv6 từ đầu cuối đến đầu cuối, và tiêu đề bên ngoài chứa địa chỉ nguồn và đích của hai đầu đường hầm. Tại mỗi đầu đường hầm, quá trình đóng gói và gỡ gói được thực hiện. Các thiết bị tại mỗi đầu đường hầm phải hỗ trợ cả hai loại giao thức IPv4 và IPv6 (dual-stack) để đóng và gỡ các gói tin IPv6 trong IPv4.

Hình 5.6 – Đường hầm được thiết lập trên mạng IPv4 giữa hai vùng mạng IPv6

Như trình bày trong hình 5.7, host IPv6 A biết địa chỉ đích IPv6 của host IPv6 B, muốn thiết lập một phiên kết nối tới host B. Cả hai mạng IPv6 bị cách ly, nhưng chúng được kết nối sử dụng một mạng IPv4. Một đường hầm mang các gói tin IPv6 trong IPv4 được thực hiện giữa router R1 và R2. Để bắt đầu một phiên kết nối, host A gửi gói tin IPv6 đầu tiên, tạo bởi một tiêu đề IPv6 và dữ liệu của nó, tới địa chỉ IPv6 của host B như là địa chỉ đích. Bởi vì host đích nằm trên một miền định tuyến IPv6 khác, gói tin được truyền trên IPv6 tới router biên R1, hoạt động như điểm đầu vào của đường hầm. Vì vậy, router R1 đóng gói gói tin IPv6 trong gói tin IPv4 bằng việc chèn một tiêu đề IPv4 vào. Sau đó nó gửi gói tin IPv4 mới này tới R2 trên mạng IPv4. Sau khi nhận được gói tin IPv4, router R2, hoạt động như điểm đầu ra của đường hầm, thực hiện việc gỡ gói và gửi gói tin IPv6 trên mạng IPv6 tới host đích B. Có thể thấy rằng tiêu đề và dữ liệu của gói tin IPv6 không hề bị thay đổi trong khi truyền.

Hình 5.7 – Quá trình đóng gói và gửi đi trên đường hầm

Hình 5.8 trình bày quá trình đóng gói một gói tin IPv6 trong một gói tin IPv4. Các trường trong tiêu đề IPv4 bao gồm: Trường Total Length trong tiêu đề IPv4 chứa độ dài của tiêu đề IPv4 cộng với chiều dài của gói tin IPv6 (ở đây gói tin IPv6 bây giờ được đối xử như phần dữ liệu). Nếu gói tin được đóng gói phải phân mảnh, sẽ có các giá trị tương ứng trong trường Flags và Fragment Offset. Giá trị trường Time to Live (TTL) tùy thuộc vào quá trình thực hiện. Số giao thức được đặt

bằng 41, giá trị được gán cho IPv6. Địa chỉ nguồn IPv4 thường là địa chỉ của giao diện ra của điểm đầu vào đường hầm. Địa chỉ đích IPv4 là địa chỉ IPv4 của điểm đầu ra đường hầm. Đường hầm IPv6-over-IPv4 được xem như một hop đơn. Trường Hop Limit trong tiêu đề IPv6 vì vậy bị giảm đi một.

Hình 5.8 – Quá trình đóng gói

Khi điểm đầu ra đường hầm nhận được một gói tin IPv4 với giá trị giao thức bằng 41, nó biết rằng gói tin này đã được đóng gói. Trước khi forward gói tin IPv6 đã được gỡ bỏ, điểm đầu ra đường hầm phải kiểm tra xem địa chỉ nguồn của đường hầm là có thể chấp nhận được không. Nếu đường hầm được cấu hình là một đường hầm hai chiều, thì quá trình kiểm tra này được thực hiện bằng việc so sánh địa chỉ nguồn của gói tin được đóng gói với địa chỉ được cấu hình ở đầu kia của đường hầm. Đối với các đường hầm được cấu hình một chiều, thì phải được cấu hình với một danh sách các tiền tố địa chỉ IPv4 nguồn mà có thể chấp nhận được. Theo mặc định, danh sách này là trống, điều này có nghĩa là điểm đầu ra đường hầm phải được cấu hình rõ ràng để cho phép truyền các gói tin đã được tháo gỡ. Trong trường hợp phân mảnh, nó lắp ghép các gói lại và loại bỏ tiêu đề IPv4. Trước khi chuyển gói tin IPv6 tới đích cuối cùng, nó kiểm tra xem địa chỉ IPv6 nguồn có thích hợp không. Các địa chỉ nguồn dưới đây được xem là không hợp lệ.

 Tất cả các địa chỉ multicast (FF00::/8)

 Địa chỉ loopback (::1)

 Tất cả các địa chỉ IPv6 tương thích với IPv4 (::/96), loại trừ địa chỉ

unspecified để phát hiện sự trùng lặp địa chỉ (::/128)

 Tất cả các địa chỉ IPv6 được ánh xạ từ IPv4 (::ffff:0:0/96)

Cả hai đầu của đường hầm cần có một địa chỉ IPv6 link-local. Địa chỉ IPv4 của cùng giao diện đó có thể là trường nhận dạng giao diện trong địa chỉ IPv6. Ví dụ, một host với một địa chỉ IPv4 192.168.0.2 có thể có một địa chỉ IPv6 link-local là FE80::192.168.0.2/64.

Host to Host: Các host hai ngăn xếp bị cách ly trên mạng IPv4 có thể thiết lập một đường hầm với các host hai ngăn xếp khác. Cấu trúc này chỉ cho phép thiết lập các phiên kết nối IPv6 giữa các host với nhau.

Host to Router: Các host hai ngăn xếp bị cách ly trên một mạng IPv4 có thể thiết lập một đường hầm với các router hai ngăn xếp. Router có thể có khả năng kết nối chỉ một loại giao thức trên một giao diện khác. Cấu trúc này cho phép thiết lập các phiên kết nối IPv6 giữa bất kỳ host đích IPv6 nào thông qua một router.

Router to Router: Các router với hai ngăn xếp trên một mạng IPv4 có thể thiết lập một đường hầm với các router hai ngăn xếp khác. Các router có thể được sử dụng để liên kết các vùng IPv6 khác nhau. Vì vậy, bất kỳ host nào có thể thiết lập các phiên kết nối IPv6 với các host khác.

Trong hình 5.9, ví dụ A trình bày một đường hầm được triển khai giữa hai host hai ngăn xếp. Ví dụ B là một đường hầm được thiết lập giữa một host hai ngăn xếp và một router hai ngăn xếp; trong ví dụ này, router được kết nối tới một mạng IPv6 thuần túy. Cuối cùng, ví dụ C trình bày một đường hầm được thiết lập giữa hai router hai ngăn xếp; mỗi router được kết nối với một mạng IPv6 thuần túy.

Hình 5.9 – Các kiểu tunnel IPv6 trong IPv4

Một phần của tài liệu Nghiên cứu triển khai mô hình mạng ứng dụng IP version 6 (Trang 98 - 101)