Phần này giới thiệu về hoạt động của các trạm sử dụng giao thức IPv6 có hỗ trợ khả năng di động (còn được gọi là Mobile IPv6). Với mục đích tìm hiểu về nguyên lý hoạt động và các đặc trưng cở bản của giao thức Mobile IPv6, các bản tin điều khiển và các cấu trúc dữ liệu sẽ không được đề cập chi tiết.
Một trong những đặc điểm nổi bật của giao thưc IPv6 là mở rộng cấu trúc địa chỉ. Với thiết kế mới, IPv6 cho phép tăng chiều dài một địa chỉ từ 32 bit lên 128 bit. Đồng nghĩa với việc tăng không gian địa chỉ lên con số vô cùng lớn. Do vậy khắc phục được hạn chế về số lượng địa chỉ của IPv4. Những thay đổi từ IPv4 lên IPv6 bao gồm các phần cơ bản sau:
Đơn giản hoá việc xử lý các gói tin và tạo khả năng mở rộng sau này, IPv6 đã đưa các thông tin tuỳ chọn vào các tiêu đề mở rộng. Dưới đây là một số tiêu đề mở rộng hay được sử dụng trong IPv6:
Mỗi gói tin IPv6 có thể có 0, 1, hoặc nhiều mở rộng. Mỗi mở rộng có kích thước là bội số của 8 octet (64 bit). Các mở rộng phải được xử lý theo thứ tự mà chúng xuất hiện trong gói tin. Hầu hết các tiêu đề mở rộng được xử lý bởi trạm đích (ví dụ các mở rộng liên quan đến bảo mật), do đó chúng không làm ảnh hưởng đến tính năng của các bộ định tuyến. Chỉ duy nhất một kiểu mở rộng được xử lý bởi tất cả các trạm trên đường đi của gói tin, đó là tiêu đề “Hop – by – Hop Options”.
a. Các đặc tính của Mobile IPv6
Khả năng hỗ trợ tính động trong Mobile IPv6 (Mobile IPv6) được xây dựng dựa trên các kinh nghiệm có được từ giao thức Mobile IPv4 cùng với những cải tiến của IPv6. Bởi vậy, Mobile IPv6 sẽ có nhiều đặc trưng giống với Mobile IPv4. Tuy nhiên giao thức này được tích hợp hoàn toàn trong IPv6 và được tăng cường thêm nhiều tính năng mới. Dưới đây là một số sự khác nhau cơ bản giữa Mobile IPv6 và Mobile IPv4:
Khi chuyển đến tuyến mới, trạm di động sẽ nhận được địa chỉ care – of nhờ việc nhận các bản tin quảng cáo của bộ định tuyến (trường hợp sử dụng phương pháp cấu hình địa chỉ tự động phi trạng thái – stateless address autoconfiguration). Các gói tin IPv6 gửi tới địa chỉ gốc của trạm di động sẽ được định tuyến một cách trong suốt đến địa chỉ care –of của nó. Giao thức cũng cho phép các trạm IPv6 lưu lại (cache) mối liên kết giữa địa chỉ gốc và địa chỉ care – of của trạm di động, để sau đó chúng có thể gửi trực tiếp các gói tin đến trạm di động tại địa chỉ này.
Tất cả các bản tin dùng trong Mobile IPv6 đều được định nghĩa dưới dạng các tuỳ chọn đích của giao thức IPv6. Mobile IP định nghĩa ba kiểu cấu trúc dữ liệu để lưu trữ các thông tin cần thiết phục vụ cho quá trình trao đổi thông tin động.
Cập nhật liên kết:
Bản tin cập nhật liên kết được sử dụng bởi trạm di động để thông báo cho đại lý gốc hoặc bất kỳ trạm tương đương nào khác về địa chỉ care – of hiện thời của nó. Bất kỳ gói tin nào có chứa bản tin cập nhật liên kết cần được gửi đi với phần địa chỉ nguồn là địa chỉ care – of của trạm di động.
Xác nhận liên kết:
Bản tin xác nhận liên kết được sử dụng để xác nhận việc đồng ý cập nhật liên kết. Nếu một trạm nhận được gói tin chứa bản tin cập nhật liên kết với bit A được thiết lập thì nó phải trả lời bằng một bản tin xác nhận liên kết. Bản tin xác nhận liên kết được gửi đến địa chỉ nguồn của bản tin cập nhật liên kết.
Yêu cầu liên kết:
Bản tin yêu cầu liên kết có thể được sử dụng bởi bất kỳ trạm nào để yêu cầu liên kết của một trạm di động. Một gói tin chứa bản tin yêu cầu liên kết phải được gửi đến trạm di động giống như gửi một gói tin bất kỳ.
Địa chỉ gốc:
Tuỳ chọn địa chỉ gốc được sử dụng trong mỗi gói tin gửi đi từ trạm di động để thông báo cho nơi nhận về địa chỉ gốc của nó.
Đặc tả Mobile IPv6 giới thiệu 3 cấu trúc dữ liệu sau:
Kho chứa liên kết:
Tất cả các trạm IPv6 đều có một kho chứa liên kết, được sử dụng để lưu liên kết đến các trạm di động. Khi một trạm di động nhận được một bản tin cập nhật liên kết, nó sẽ bổ xung liên kết này vào kho chứa. Mỗi lần gửi đi một gói tin, kho chứa sẽ được sử dụng để tìm ra phần tử liên kết thích hợp. Nếu tìm thấy một phần tử, gói tin sẽ được gửi đến địa chỉ care –of của trạm di động bằng cách sử dụng tiêu đề định tuyến.
Danh sách cập nhật liên kết:
Tất cả các trạm di động đều có một danh sách cập nhật liên kết, được sử dụng để lưu thông tin về từng bản tin cập nhật liên kết được gửi đi từ trạm này mà trong đó thời gian tồn tại còn lại (lifetime) của liên kết vẫn chưa hết hạn. Danh sách cập nhật liên kết bao gồm các liên kết được gửi đi từ trạm di động: Các liên kết gửi đến các trạm tương đương, các liên kết gửi đến đại lý gốc của trạm di động, và các liên kết gửi đến một đại lý gốc trên tuyến ngoại mà trạm di động đã viếng thăm trước đó (tương ứng với địa chỉ care – of trước đó của trạm di động.
Danh sách đại lý gốc:
Trên tuyến gốc, một trạm (thường là bộ định tuyến) có thể hoạt động với tư cách là một đại lý gốc và nó sẽ tạo ra một danh sách lưu trữ thông tin về tất cả các đại lý gốc khác trên tuyến. Thông tin này được nhận từ những bản tin quảng cáo bộ định tuyến, được gửi đi từ các đại lý gốc (bit “đại lý gốc” được thiết lập) trên tuyến đó. Nếu trạm này được kết nối đến nhiều tuyến, nó sẽ duy trì một danh sách đại lý gốc trên mỗi tuyến mà nó đóng vai trò của một đại lý gốc.
Trạm di động có thể lấy thông tin về các đại lý gốc bằng cách sử dụng cơ chế “phát hiện đại lý gốc động”. Nhờ đó trạm di động có thể thông báo cho đại lý gốc trên tuyến gốc hoặc trên tuyến mà nó đã viếng thăm trước đó việc di chuyển sang một tuyến mới.
Một trạm di động có thể sử dụng kết hợp các cơ chế để phát hiện ra khi nào nó di chuyển đến một tuyến mới. Một khả năng đó là đợi các bản tin quảng cáo bộ định tuyến được phát đi theo định kỳ. Sau khi tìm được một bộ định tuyến mặc định, trạm di động vẫn tiếp tục nhận các bản tin quảng cáo gửi đến từ bộ định tuyến này. Nếu trạm di động không nhận được một bản tin quảng cáo nào trong một khoảng thời gian nhất định, nó sẽ cho rằng bộ định tuyến mặc định này là không thể với tới được và quyết định chuyển sang một bộ định tuyến khác mà hiện tại nó đã nhận được các bản tin quảng cáo. Dựa vào phần tiền tố mạng con trong trường địa chỉ của bản tin quảng cáo, trạm di động có thể nhận biết được nó đã chuyển sang tuyến khác hay chưa.
Ngay khi phát hiện đã di chuyển sang tuyến mới và tìm được một bộ định tuyến mặc định, trạm di động sẽ thực thi quá trình cấu hình địa chỉ tự động phi trạng thái (stateless) hoặc có trạng thái (stateful), và sử dụng địa chỉ mới này làm địa chỉ care – of. Tiền tố của địa chỉ care – of chính là tiền tố của tuyến mà trạm di động đang kết nối đến. Mọi gói tin gửi đến địa chỉ care – of này sẽ được chuyển đến trạm di động trên tuyến hiện thời.
Trạm di động phải đăng ký địa chỉ care – of mới của nó với một đại lý trên tuyến gốc bằng cách gửi đi một gói tin chứa bản tin cập nhật liên kết đến đại lý gốc. Đại lý gốc đăng ký liên kết này và gửi trở lại một gói tin chứa bản tin xác nhận liên kết tới trạm di động.
Kể từ lúc này, đại lý gốc sẽ đứng ra nhận tất cả các gói tin gửi đến địa chỉ gốc của trạm di động. Do đó nó sẽ sử dụng cơ chế “proxy Neighbor Discovery”. Nghĩa là đại lý gốc sẽ đại diện cho trạm di động phát quảng bá các bản tin quảng cáo của trạm (Neighbor Advertisement), chứa địa chỉ gốc của trạm di động, trên tuyến gốc. Đại lý gốc cũng đại diện cho trạm di động nhận và gửi lời đáp cho các bản tin tìm kiếm trạm (Neighbor Solicitation). Mỗi gói tin bị chặn lại sẽ được đóng gói vào một gói tin IPv6 mới và chuyển đến địa chỉ care – of mà trạm di động đã đăng ký.
Nếu một trạm di động gửi các gói tin đến bất kỳ trạm nào khác, nó sẽ gửi trực tiếp đến trạm đó. Trạm di động sẽ đặt phần địa chỉ nguồn của gói tin này là địa chỉ care – of hiện thời và gửi kèm theo một tuỳ chọn “Home Address”. Bởi địa chỉ gốc là cố định (còn địa chỉ care – of là hiện thời), việc sử dụng địa chỉ care – of là hoàn toàn trong suốt đối với các lớp trên lớp IP ở trạm tương đương. Các lớp trên bao gồm cả lớp ứng dụng, không nhận ra địa chỉ care – of, chúng chỉ nhận ra địa chỉ gốc của trạm di động.
Khi ở ngoài tuyến gốc, nếu trạm di động trao đổi thông tin với một trạm tương đương, các gói tin sẽ được định tuyến từ trạm tương đương tới đại lý gốc, từ đại lý gốc chuyển đến trạm di động và từ trạm di động gửi trực tiếp tới trạm tương đương. Quá trình này được gọi là định tuyến tam giác.
Để tránh việc định tuyến tam giác, trạm di động cần phải gửi các bản tin cập nhật liên kết đến trạm tương đương. Trạm tương đương sẽ lưu địa chỉ care – of hiện thời của trạm di động vào kho chứa liên kết. Từ lúc này nó sẽ gửi các gói tin trực tiếp đến trạm di động.
Bất kỳ trạm IPv6 nào, trước khi truyền một gói tin, đều tìm trong kho chứa liên kết địa chỉ đích của gói tin này. Nếu tìm thấy một phần tử, nó sẽ gửi gói tin tới trạm di động bằng cách dùng tiêu đề định tuyến (chứ không dùng phương pháp đóng gói IP – trong – IP). Nếu không tìm thấy phần tử nào trong kho chứa liên kết, gói tin sẽ được định tuyến tới tuyến gốc của trạm đi động. Tại đây gói tin sẽ được nhận bởi đại lý gốc, được đóng gói vào một gói tin IP khác và được chuyển đến trạm di động.
Sau khi cấu hình một địa chỉ care –of mới, trạm di động phải đăng ký địa chỉ mới này với đại lý gốc và với các trạm tương đương (các trạm mà đã được thông báo về liên kết của trạm di động). Để thực hiện điều này trạm di động gửi một bản tin cập nhật liên kết có chứa liên kết mới của nó. Nó có thể yêu cầu nơi nhận gửi một bản tin xác nhận cập nhật liên kết. Sau khi nhận được bản tin trả lời, nó thiết lập bit ACK trong bản tin cập nhật liên kếtvà tiếp tục phát đi bản tin này theo định kỳ.
Trường hợp trạm di động nhận được gói tin từ một trạm tương đương. Nó có khả năng phát hiện ra trạm gửi đó đã có một phần tử trong kho chứa liên kết hay chưa. Cụ thể, nếu trạm tương đương đã có một phần tử chứa liên kết của trạm di động, trạm tương đương sẽ gửi trực tiếp gói tin đến địa chỉ care – of của trạm di động. Nếu không gói tin này sẽ được gửi đến đại lý gốc của trạm di động và được chuyển đến đích. Trong trường hợp này, trạm di động sẽ nhận được một gói chuyển tiếp. Nó có thể quyết định gửi một bản tin cập nhật liên kết đến trạm tương đương để cho phép trạm này gửi trực tiếp các gói tin bằng cách sử dụng tiêu đề định tuyến, không cần thông qua đại lý gốc.
Trạm di động cần phải được thiết lập bit ACK trong các bản tin cập nhật liên kết gửi đến đại lý gốc. Nó cũng có thể thiết lập bit này khi gửi các bản tin cập nhật liên kết đến các trạm tương đương. Trạm tương đương có thể không nhận được bản tin cập nhật liên kết nào, và trạm di động sẽ phát hiện ra điều này khi nó vẫn tiếp tục nhận được các gói tin chuyển tiếp từ đại lý gốc.
Trước khi một phần tử trong kho chứa liên kết hết hạn, trạm tương đương phải khởi tạo quá trình “làm tươi” liên kết bằng cách gửi đi một bản tin yêu cầu liên kết đến trạm di động. Nhận được yêu cầu này trạm di động phải trả lời bằng một bản tin cập nhật liên kết.
Tại một thời điểm, trạm di động có thể có nhiều hơn một địa chỉ care – of. Mặc dù vậy chỉ có một địa chỉ care – of được đăng ký với đại lý gốc, gọi là địa chỉ care –of cơ sở. Đại lý gốc sẽ chuyển tiếp tất cả các gói tin gửi cho trạm di động trên tuyến gốc, đến địa chỉ care – of được đăng ký. Tuy nhiên trạm di động sẽ chấp nhận các gói tin mà nó nhận được tại bất kỳ địa chỉ care – of nào mà nó đang có. Điều đặc biệt có lợi cho quá trình chuyển giao (handoff) khi trạm di động di chuyển từ một tuyến không dây sang một tuyến không dây khác. Nếu mỗi tuyến trong các tuyến này được kết nối với Internet qua một trạm gốc riêng biệt thì trạm di động có thể duy trì kết nối tới đồng thời hai tuyến. Vùng truyền dẫn vô tuyến giữa hai tuyến này được gọi là “vùng chống lấn”. Trong trường hợp này khi chuyển sang tuyến mới, trạm di động sẽ nhận được một địa chỉ care – of mới trước khi ra khỏi “vùng chống lấn” và huỷ kết nối với tuyến cũ. Do đó, trạm di động vẫn có thể nhận được các gói tin tại địa chỉ care – of cũ trong khi thực hiện cập nhật liên kết mới với đại lý gốc và các trạm tương đương.
Nhờ có kho chứa liên kết tại các trạm tương đương, các gói tin xuất phát từ các trạm này sẽ được định tuyến trực tiếp đến địa chỉ care – of của trạm di động. Do vậy sẽ giảm bớt được các công việc xử lý tại đại lý gốc. Đây chính là cơ sở đảm bảo cho sự ổn định, độ tin cậy, và giảm thiểu lượng tải trên toàn bộ mạng.
f. Cơ chế phát hiện đại lý gốc
Trường hợp trạm di động không biết địa chỉ của đại lý gốc, Mobile IPv6 cung cấp một cơ chế cho phép trạm di động có thể tự phát hiện địa chỉ của một đại lý gốc trên tuyến gốc và có thể đăng ký địa chỉ care –of của nó với đại lý này khi ra ngoài tuyến gốc.
Trước tiên, trạm di động gửi một bản tin cập nhật liên kết đến địa chỉ anycast gồm các đại lý trên tuyến gốc, do đó sẽ tìm được một trong số các bộ định tuyến hiện đang hoạt động như một đại lý gốc. Đại lý gốc này từ chối cập nhật liên kết của trạm di động và gửi trở lại một danh sách gồm tất cả các đại lý trên tuyến gốc. Danh sách này được duy trì bởi mọi đại lý trên tuyến gốc và nhận được bằng cách học từ các bản tin quảng cáo bộ định tuyến, được quảng bá theo định kỳ.
Địa chỉ IP của đại lý gốc trong danh sách này được sắp xếp theo thứ tự giảm dần của giá trị ưu tiên. Trạm di động sẽ gửi tiếp một bản tin cập nhật liên kết đến một trong các địa chỉ trong danh sách và đợi để nhận được bản tin xác nhận liên kết tương ứng. Nếu không nhận được bản tin xác nhận liên kết hoặc bị từ chối cập nhật liên kết, trạm di động có thể thử đăng ký với một đại lý khác trong danh sách. Nó sẽ thử với từng địa chỉ IP theo đúng thứ tự liệt kê trong danh sách, bởi địa chỉ đầu tiên bao giờ cũng là đại lý thích hợp nhất và địa chỉ cuối cùng là đại lý kém thích hợp nhất.
Toàn bộ cơ chế hoạt động của Mobile IPv6 được mô tả ở hình dưới:
9.6 So sánh Mobile IPv4 và Mobile IPv6
Khả năng hỗ trợ tính di động trong Mobile IPv6 được xây dựng trên các kinh nghiệm có từ giao thức mobile IPv4 cùng với những cải tiến của IPv6. Bởi vậy Mobile IPv6 sẽ có nhiều đặc trưng giống với Mobile IPv4. Tuy nhiên giao thức này được tích hợp hoàn toàn vào trong IPv6 và được tăng cường thêm nhiều tính năng mới. Sau đây là một số điểm khác nhau cơ bản giữa Mobile IPv4 và Mobile IPv6: