Các phần trước đã nêu ra một số chức năng giúp cho một node IPv6 tìm kiếm các thông tin cần thiết để chuyển tiếp một gói tin đến một neighbor. Bây giờ vấn đề định tuyến sẽ được đề cập, chỉ ra các cách khác nhau để một gói tin IPv6 có thể được định tuyến đến một mạng lớn.
1. Định tuyến tĩnh (static route)
Với các router sử dụng giao thức này các gói tin sẽ được chuyển tiếp dựa vào thông tin định tuyến được cấu hình bằng tay. Tất cả các tuyến đường có trong bảng định tuyến đều được nhập tĩnh, định dạng một tuyến cố định nào đó giữa 2 thiết bị mạng.
Định tuyến tĩnh thường được sử dụng trong các mạng nhỏ vì số lượng route ít. Định tuyến tĩnh tốn băng thông, CPU để tính toán đường đi. Điểm bất lợi của loại cấu hình này là phải cấu hình lại khi có sự thay đổi trong cấu trúc liên kết mạng.
2. Định tuyến động (dynamic route)
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 định tuyến 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ập nhật tự động vào bảng định tuyến.
Để 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á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.
Để 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 một 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. Sau đây chúng ta sẽ đề cập đến một số giao thức định tuyến động được sử dụng trong IPv6.
2.1. RIPng
Ripnext generation là thế hệ tiếp theo của RIP version 2, sử dụng giao thức định tuyến động dựa trên thuật toán Distance-vector hay còn gọi là thuật toán Bellman-Ford. Nhìn chung RIPng cũng giống như RIPv2, không có sự thay đổi phương thức hoạt động, timers, hay những chức năng cố định.
RIPng là RIPv2 được sửa đổi để hỗ trợ địa chỉ IP lớn hơn và nhiều địa chỉ hơn trên mỗi interface IPv6. RIPng sử dụng UDP port là 512. RIPng không hỗ trợ đồng thời IPv4 và IPv6 nên không có sự tương thích ngược với RIPv2. Định dạng tin nhắn của RIPng.
- Command: Loại thông điệp. 0x01 là thông điệp Request, 0x02 là thông điệp Response.
- Version: Phiên bản của RIPng. Hiện tại chỉ là 0x01.
- Route table entry (RTE): giá trị bảng định tuyến. Mỗi RIPv2 chứa một trường NextHop liên kết với nó, cho biết địa chỉ của một Next-Hop tốt hơn địa chỉ của router quảng cáo. Địa chỉ IPv6 là rất lớn do đó kích thước của RTE phải tăng gấp đôi. RIPng cho biết một RTE next-hop duy nhất được áp dụng cho tất cả các RTE theo sau cho đến hết bản tin hoặc cho đến khi tồn tại một RTE next-hop khác. Giá trị 0:0:0:0:0:0:0:0 trong trường địa chỉ cho biết rằng next-hop chính là chủ của bản tin đó.
Nguyễn Ngọc Tân – VnPro
1. Định tuyến tĩnh (static route)
Với các router sử dụng giao thức này các gói tin sẽ được chuyển tiếp dựa vào thông tin định tuyến được cấu hình bằng tay. Tất cả các tuyến đường có trong bảng định tuyến đều được nhập tĩnh, định dạng một tuyến cố định nào đó giữa 2 thiết bị mạng.
Định tuyến tĩnh thường được sử dụng trong các mạng nhỏ vì số lượng route ít. Định tuyến tĩnh tốn băng thông, CPU để tính toán đường đi. Điểm bất lợi của loại cấu hình này là phải cấu hình lại khi có sự thay đổi trong cấu trúc liên kết mạng.
2. Định tuyến động (dynamic route)
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 định tuyến 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ập nhật tự động vào bảng định tuyến.
Để 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á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.
Để 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 một 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. Sau đây chúng ta sẽ đề cập đến một số giao thức định tuyến động được sử dụng trong IPv6.
2.1. RIPng
Ripnext generation là thế hệ tiếp theo của RIP version 2, sử dụng giao thức định tuyến động dựa trên thuật toán Distance-vector hay còn gọi là thuật toán Bellman-Ford. Nhìn chung RIPng cũng giống như RIPv2, không có sự thay đổi phương thức hoạt động, timers, hay những chức năng cố định.
RIPng là RIPv2 được sửa đổi để hỗ trợ địa chỉ IP lớn hơn và nhiều địa chỉ hơn trên mỗi interface IPv6. RIPng sử dụng UDP port là 512. RIPng không hỗ trợ đồng thời IPv4 và IPv6 nên không có sự tương thích ngược với RIPv2. Định dạng tin nhắn của RIPng.
Định dạng tin nhắn của RIPng
- Command: Loại thông điệp. 0x01 là thông điệp Request, 0x02 là thông điệp Response.
- Version: Phiên bản của RIPng. Hiện tại chỉ là 0x01.
- Route table entry (RTE): giá trị bảng định tuyến. Mỗi RIPv2 chứa một trường NextHop liên kết với nó, cho biết địa chỉ của một Next-Hop tốt hơn địa chỉ của router quảng cáo. Địa chỉ IPv6 là rất lớn do đó kích thước của RTE phải tăng gấp đôi. RIPng cho biết một RTE next-hop duy nhất được áp dụng cho tất cả các RTE theo sau cho đến hết bản tin hoặc cho đến khi tồn tại một RTE next-hop khác. Giá trị 0:0:0:0:0:0:0:0 trong trường địa chỉ cho biết rằng next-hop chính là chủ của bản tin đó.
Next-Hop của RTE
Nguyễn Ngọc Tân – VnPro