1. Định tuyến trên máy trạm
Một trong những nguyên lý của thiết kế IPv6 là các trạm phải hoạt động chính xác ngay cả khi nó biết rất ít thông tin về mạng. Trên thực tế, các trạm không giống router, không lưu giữ bảng định tuyến và thường không có cấu hình cố định. Điều đó có nghĩa là khi khởi động, trạm phải tự cấu hình, biết được thông tin nhỏ nhất về các đích mà nó trao đổi gói tin. Các thông tin này được lưu giữ trong bộ nhớ bằng các cấu trúc dữ liệu nhỏ gọi là cache. Về kỹ thuật, đây thực chất là các mảng của bản ghi. Thông tin mỗi mục có khoảng thời gian tồn tại giới hạn và các mục mà quá hạn sẽ được loại bỏ định kỳ để giới hạn kích thước các bộ đệm cache.
– Bộ đệm hàng xóm (Neighbor Cache)
NC chứa một chỉ mục ứng với một nút neighbor mà nút mạng mới vừa gửi dữ liệu đến. Mỗi mục chứa một địa chỉ IPv6 unicast trên liên kết, địa chỉ liên kết dữ liệu tương ứng, một cờ hiệu xác định nút neighbor có phải là router không và một con trỏ trỏ tới các gói tin đang được truyền. Ngoài ra, mỗi mục chứa thông tin trạng thái sử dụng bởi thuật toán Discovery không đến được các nút neighbor như trạng thái không đến được, số lượng các thông điệp không có trả lời và thời điểm tiếp theo để thực hiện thuật toán.
– Bộ đệm đích (Destination cache)
Cache đích chứa một chỉ mục ứng với một nút đích mà nút mạng vừa gửi dữ liệu gần đây. Mỗi mục chứa một địa chỉ unicast IPv6 và một con trỏ tới một mục trong cache neighbor chứa địa chỉ nút mạng tiếp theo để chuyển gói tin tới đích. Các mục trong cache đích được cập nhật bởi các thông điệp định hướng lại (redirect) phát bởi router. Ngoài ra, nút mạng có thể lưu thông tin bổ sung như giá trị MTU của tuyến đường Path MTU. Khác nhau cơ bản giữa hai loại cache là Distilation cache chứa chỉ mục cho mỗi nút đích kể cả trên cùng một liên kết hay không cùng liên kết trực tiếp trong khi neighbor cache chỉ chứa các mục tương ứng với các địa chỉ thuộc cùng liên kết.
– Danh sách tiền tố (Prefix List)
Danh sách tiền tố chứa các mục tương ứng với các tiền tố của liên kết, được dùng để phát hiện một địa chỉ là thuộc cùng liên kết hay ở ngoài liên kết. Danh sách tiền tố được tạo ra từ các thông tin được quảng bá bởi router. Các thông điệp này đồng thời cũng chỉ ra thời gian tồn tại của tiền tố là giới hạn hay không giới hạn. Giá trị này được dùng để xác định các tiền tố không còn hợp lệ và loại bỏ. Tiền tố cục bộ liên kết nằm trong danh sách tiền tố với thời gian tồn tại không giới hạn.
– Danh sách các router mặc định (router list)
Danh sách các router mặc định chứa một chỉ mục ứng với một router có thể dùng làm router mặc định. Các mục trong danh sách các router mặc định chứa con trỏ tới các mục trong cache neighbor chứa địa chỉ IPv6 và địa chỉ tầng liên kết của router và các cờ trạng thái. Thuật toán lựa chọn router mặc định chọn trong số các router mà trạng thái còn duy trì kết nối. Danh sách này cũng lưu giữ các giá trị thời gian tồn tại trích từ quảng bá router để loại bỏ các router sau một thời gian nhất định không có quảng bá thông điệp.
2. Định tuyến trên các Router
Nếu như việc định tuyến ở các máy trạm được thiết kế sao cho các máy trạm có thể tự động cấu hình thì việc định tuyến IPv6 trên các router về nguyên lý không thay đổi: router sẽ dựa vào địa chỉ IP đích của gói tin và bảng định tuyến để ra quyết định gửi gói tin tới đâu.
Cấu trúc điển hình của bảng định tuyến IPv6 gồm nhiều hàng, mỗi hàng là một tuyến, mỗi tuyến bao gồm các trường sau:
– Địa chỉ IPv6 đích (Destination IPv6 address):
iểu diễn dạng IPv6- address/ prefix- length. Địa chỉ này có thể là địa chỉ đầy đủ của 1 host (nếu độ dài tiền tố prefix- length bằng 128) hay cũng có thể là địa chỉ của một mạng (nếu độ dài tiền tốprefix- length nhỏ hơn 128)
– Địa chỉ IPv6 của chặng tiếp theo (next- hop address):
Đây là địa chỉ IPv6 của một trạm hay router mà gói cần phải chuyển tới để tới đích.
– Giao diện (Interface):
Trường giao diện này cho biết gói tin sẽ được chuyển qua giao diện nào có thể tới chặng tiếp theo của đã xác định trên.
Nguyên tắc tìm kiếm trong bảng định tuyến: Khi cần gửi đi một gói IP, router sẽ dựa vào địa chỉ đích của gói để tìm tuyến phù hợp trong bảng định tuyến. Phương pháp tìm kiếm tuyến phù hợp trong bảng định tuyến là phương pháp “longest prefix match” (tuyến đường có chiều dài prefix lớn nhất sẽ được chọn). Trong trường hợp không tìm thấy, router sẽ sử dụng tuyến mặc định.
Trong nguyên lý định tuyến IP, phần quan trọng nhất chính là các bảng định tuyến được thiết lập và duy trì thế nào cho đúng. Có 2 cách thức được sử dụng là: Định tuyến tĩnh và định tuyến động.
* Định tuyến tĩnh
Các tuyến trong bảng định tuyến ở các trạm và các router được nhập vào bằng tay và không thể thay đổi tự động theo tình trạng mạng được, nếu một tuyến trong bảng định tuyến bị sự cố thì router vẫn không thể biết và vẫn phép cho các gói của mình đi qua tuyến này tới đích (cho tới khi người quản lý biết được điều này và nhập một tuyến mới). Các tuyến trong bảng được nhập từ đầu và không thay đổi tự động. Rõ ràng việc sử dụng kỹ thuật định tuyến tĩnh cho một mạng lưới lớn là khó khăn và không hiệu quả. Tuy nhiên định tuyến tĩnh vẫn được sử dụng trong các trường hợp yêu cầu tính bảo mật cao. Đối với IPv6, tuyến mặc định không cần thiết được quản lý bởi người quản trị. Thông tin về tuyến này được xác định tự động thông qua giao thức ND. Thao tác trực tiếp với bảng định tuyến thường thông qua các chương trình như router, netsat. Các chương trình này hoạt động với cả IPv4 và IPv6.
* Định tuyến động
Định tuyến động: Các tuyến trong bảng định tuyến được tính toán một cách tự động do đó khi một tuyến nào đó gặp sự cố thì một tuyến mới khác được tính toán và đưa vào bảng một cách tự động. Trong trường hợp một tuyến mới tối ưu hơn (tới cùng một đích) được tìm thấy, nó cũng sẽ được cập nhật vào bảng tự động. Để làm được điều này, các router cần phải trao đổi với nhau các thông tin định tuyến. Các thông tin này có thể là sự thay đổi của các liên kết hay thông tin trong bảng định tuyến. Dựa vào các thông tin có được, các router sẽ tính toán lại bảng định tuyến cho phù hợp một cách tự động. Để thực hiện định tuyến động như vậy, các router phải chạy cùng một giao thức định tuyến.
Mỗi giao thức định tuyến sẽ chọn một tiêu chuẩn để so sánh các tuyến đường và sử dụng thuật toán định tuyến riêng để tính toán tuyến đường tối ưu.
* Hệ thống tự trị
Mạng Internet ngày nay và mạng Internet IPv6 được tổ chức thành tập hợp các hệ thống tự trị autonomous system (AS). Mỗi AS được điều hành bởi 1 đơn vị hay tổ chưc riêng biệt. Ví dụ một công ty hay một trường đại học có thể thành lập AS của riêng mình. Cách tổ chức phân cấp này làm cho mạng Internet được quản lý dễ dàng hơn. Mỗi hệ thống có thể sử dụng phương pháp định tuyến riêng: Có thể định tuyến động hoặc tĩnh. Mỗi hệ thống có thể sử dụng giao định thức tuyến phù hợp với tiêu chuẩn lựa chọn tuyến đường tối ưu riêng.
Với khai niệm hệ thống tự trị trên, việc định tuyến trên mạng internet trở thành định tuyến phân cấp. Gói tin đi từ nguồn tới đích sẽ trải qua ba giai đoạn: Định tuyến bên trong hệ thống (Intra-AS routing): Gói tin được các router bên trong hệ thống chuyển tới router ở biên của hệ thống nối tới các hệ thống khác. Định tuyến giữa các hệ thống (Inter-AS routing): router ở biên của hệ thống quyết định việc chuyển gói tới hệ thống nào để tới được hệ thống đích.
Gói tin được router biên của hệ thống đích chuyển tới nguồn bên trong hệ thống đích.
Nguyễn Hồng Khanh – VnPro
Một trong những nguyên lý của thiết kế IPv6 là các trạm phải hoạt động chính xác ngay cả khi nó biết rất ít thông tin về mạng. Trên thực tế, các trạm không giống router, không lưu giữ bảng định tuyến và thường không có cấu hình cố định. Điều đó có nghĩa là khi khởi động, trạm phải tự cấu hình, biết được thông tin nhỏ nhất về các đích mà nó trao đổi gói tin. Các thông tin này được lưu giữ trong bộ nhớ bằng các cấu trúc dữ liệu nhỏ gọi là cache. Về kỹ thuật, đây thực chất là các mảng của bản ghi. Thông tin mỗi mục có khoảng thời gian tồn tại giới hạn và các mục mà quá hạn sẽ được loại bỏ định kỳ để giới hạn kích thước các bộ đệm cache.
– Bộ đệm hàng xóm (Neighbor Cache)
NC chứa một chỉ mục ứng với một nút neighbor mà nút mạng mới vừa gửi dữ liệu đến. Mỗi mục chứa một địa chỉ IPv6 unicast trên liên kết, địa chỉ liên kết dữ liệu tương ứng, một cờ hiệu xác định nút neighbor có phải là router không và một con trỏ trỏ tới các gói tin đang được truyền. Ngoài ra, mỗi mục chứa thông tin trạng thái sử dụng bởi thuật toán Discovery không đến được các nút neighbor như trạng thái không đến được, số lượng các thông điệp không có trả lời và thời điểm tiếp theo để thực hiện thuật toán.
– Bộ đệm đích (Destination cache)
Cache đích chứa một chỉ mục ứng với một nút đích mà nút mạng vừa gửi dữ liệu gần đây. Mỗi mục chứa một địa chỉ unicast IPv6 và một con trỏ tới một mục trong cache neighbor chứa địa chỉ nút mạng tiếp theo để chuyển gói tin tới đích. Các mục trong cache đích được cập nhật bởi các thông điệp định hướng lại (redirect) phát bởi router. Ngoài ra, nút mạng có thể lưu thông tin bổ sung như giá trị MTU của tuyến đường Path MTU. Khác nhau cơ bản giữa hai loại cache là Distilation cache chứa chỉ mục cho mỗi nút đích kể cả trên cùng một liên kết hay không cùng liên kết trực tiếp trong khi neighbor cache chỉ chứa các mục tương ứng với các địa chỉ thuộc cùng liên kết.
– Danh sách tiền tố (Prefix List)
Danh sách tiền tố chứa các mục tương ứng với các tiền tố của liên kết, được dùng để phát hiện một địa chỉ là thuộc cùng liên kết hay ở ngoài liên kết. Danh sách tiền tố được tạo ra từ các thông tin được quảng bá bởi router. Các thông điệp này đồng thời cũng chỉ ra thời gian tồn tại của tiền tố là giới hạn hay không giới hạn. Giá trị này được dùng để xác định các tiền tố không còn hợp lệ và loại bỏ. Tiền tố cục bộ liên kết nằm trong danh sách tiền tố với thời gian tồn tại không giới hạn.
– Danh sách các router mặc định (router list)
Danh sách các router mặc định chứa một chỉ mục ứng với một router có thể dùng làm router mặc định. Các mục trong danh sách các router mặc định chứa con trỏ tới các mục trong cache neighbor chứa địa chỉ IPv6 và địa chỉ tầng liên kết của router và các cờ trạng thái. Thuật toán lựa chọn router mặc định chọn trong số các router mà trạng thái còn duy trì kết nối. Danh sách này cũng lưu giữ các giá trị thời gian tồn tại trích từ quảng bá router để loại bỏ các router sau một thời gian nhất định không có quảng bá thông điệp.
2. Định tuyến trên các Router
Nếu như việc định tuyến ở các máy trạm được thiết kế sao cho các máy trạm có thể tự động cấu hình thì việc định tuyến IPv6 trên các router về nguyên lý không thay đổi: router sẽ dựa vào địa chỉ IP đích của gói tin và bảng định tuyến để ra quyết định gửi gói tin tới đâu.
Cấu trúc điển hình của bảng định tuyến IPv6 gồm nhiều hàng, mỗi hàng là một tuyến, mỗi tuyến bao gồm các trường sau:
– Địa chỉ IPv6 đích (Destination IPv6 address):
iểu diễn dạng IPv6- address/ prefix- length. Địa chỉ này có thể là địa chỉ đầy đủ của 1 host (nếu độ dài tiền tố prefix- length bằng 128) hay cũng có thể là địa chỉ của một mạng (nếu độ dài tiền tốprefix- length nhỏ hơn 128)
– Địa chỉ IPv6 của chặng tiếp theo (next- hop address):
Đây là địa chỉ IPv6 của một trạm hay router mà gói cần phải chuyển tới để tới đích.
– Giao diện (Interface):
Trường giao diện này cho biết gói tin sẽ được chuyển qua giao diện nào có thể tới chặng tiếp theo của đã xác định trên.
Nguyên tắc tìm kiếm trong bảng định tuyến: Khi cần gửi đi một gói IP, router sẽ dựa vào địa chỉ đích của gói để tìm tuyến phù hợp trong bảng định tuyến. Phương pháp tìm kiếm tuyến phù hợp trong bảng định tuyến là phương pháp “longest prefix match” (tuyến đường có chiều dài prefix lớn nhất sẽ được chọn). Trong trường hợp không tìm thấy, router sẽ sử dụng tuyến mặc định.
Trong nguyên lý định tuyến IP, phần quan trọng nhất chính là các bảng định tuyến được thiết lập và duy trì thế nào cho đúng. Có 2 cách thức được sử dụng là: Định tuyến tĩnh và định tuyến động.
* Định tuyến tĩnh
Các tuyến trong bảng định tuyến ở các trạm và các router được nhập vào bằng tay và không thể thay đổi tự động theo tình trạng mạng được, nếu một tuyến trong bảng định tuyến bị sự cố thì router vẫn không thể biết và vẫn phép cho các gói của mình đi qua tuyến này tới đích (cho tới khi người quản lý biết được điều này và nhập một tuyến mới). Các tuyến trong bảng được nhập từ đầu và không thay đổi tự động. Rõ ràng việc sử dụng kỹ thuật định tuyến tĩnh cho một mạng lưới lớn là khó khăn và không hiệu quả. Tuy nhiên định tuyến tĩnh vẫn được sử dụng trong các trường hợp yêu cầu tính bảo mật cao. Đối với IPv6, tuyến mặc định không cần thiết được quản lý bởi người quản trị. Thông tin về tuyến này được xác định tự động thông qua giao thức ND. Thao tác trực tiếp với bảng định tuyến thường thông qua các chương trình như router, netsat. Các chương trình này hoạt động với cả IPv4 và IPv6.
* Định tuyến động
Định tuyến động: Các tuyến trong bảng định tuyến được tính toán một cách tự động do đó khi một tuyến nào đó gặp sự cố thì một tuyến mới khác được tính toán và đưa vào bảng một cách tự động. Trong trường hợp một tuyến mới tối ưu hơn (tới cùng một đích) được tìm thấy, nó cũng sẽ được cập nhật vào bảng tự động. Để làm được điều này, các router cần phải trao đổi với nhau các thông tin định tuyến. Các thông tin này có thể là sự thay đổi của các liên kết hay thông tin trong bảng định tuyến. Dựa vào các thông tin có được, các router sẽ tính toán lại bảng định tuyến cho phù hợp một cách tự động. Để thực hiện định tuyến động như vậy, các router phải chạy cùng một giao thức định tuyến.
Mỗi giao thức định tuyến sẽ chọn một tiêu chuẩn để so sánh các tuyến đường và sử dụng thuật toán định tuyến riêng để tính toán tuyến đường tối ưu.
* Hệ thống tự trị
Mạng Internet ngày nay và mạng Internet IPv6 được tổ chức thành tập hợp các hệ thống tự trị autonomous system (AS). Mỗi AS được điều hành bởi 1 đơn vị hay tổ chưc riêng biệt. Ví dụ một công ty hay một trường đại học có thể thành lập AS của riêng mình. Cách tổ chức phân cấp này làm cho mạng Internet được quản lý dễ dàng hơn. Mỗi hệ thống có thể sử dụng phương pháp định tuyến riêng: Có thể định tuyến động hoặc tĩnh. Mỗi hệ thống có thể sử dụng giao định thức tuyến phù hợp với tiêu chuẩn lựa chọn tuyến đường tối ưu riêng.
Với khai niệm hệ thống tự trị trên, việc định tuyến trên mạng internet trở thành định tuyến phân cấp. Gói tin đi từ nguồn tới đích sẽ trải qua ba giai đoạn: Định tuyến bên trong hệ thống (Intra-AS routing): Gói tin được các router bên trong hệ thống chuyển tới router ở biên của hệ thống nối tới các hệ thống khác. Định tuyến giữa các hệ thống (Inter-AS routing): router ở biên của hệ thống quyết định việc chuyển gói tới hệ thống nào để tới được hệ thống đích.
Gói tin được router biên của hệ thống đích chuyển tới nguồn bên trong hệ thống đích.
Nguyễn Hồng Khanh – VnPro