II, CÁC GIAO THỨC ĐỊNH TUYẾN TRÊN IPV6 2.1 RIPng cho IP
2.1.2 Hoạt động RIPng
Bởi định kỳ Router RIPng thông báo những con đường thích hợp trong bảng định tuyến của nó cho các interface enable RIPng . Và tất cả các neighbor Router đều gửi trả lời ( Response) nội dung của bảng định tuyến, và những thông tin hồi âm qua lại sẽ giúp xây dựng bảng định tuyến. Các gói tin đều được đóng gói trong các gói tin IPv6 . Hai router được coi là neighbor nếu cùng chia sẻ một liên kết. Có một khoảng thời gian để router “học” thông tin định tuyến, gọi là thời gian hội tụ. Mặc định là 3 phút.
Giao thức RIPng sử dụng địa chỉ nguồn của gói tin IPv6 là địa chỉ unicast liên kết cục bộ (Link-Local) của giao diện sẽ quảng bá thông tin định tuyến tới địa chỉ multicats trong phạm vi link, được định nghĩa dành riêng cho giao thức RIPng, đó là địa chỉ FF02::9. Cổng UDP sử dụng là cổng RIPng 521. Đặc biệt, trường Hop Limit trong gói tin bằng 1, giới hạn số Node mà một bản tin sẽ đi qua là 1, do đó phạm vi mà các bản tin RIPng có thể tới chỉ là các Router Neighbor. Tất cả các Router RIPng đương nhiên cũng luôn sẵn sang lắng nghe để nhận các bản tin RIPng ở địa chỉ FF02::9, cổng UDP 521. RIPng sử dụng phương pháp Triggered Updates để gửi tới các Neighbor thông tin về một con đường ngay khi trạng thái của con đường đó thay đổi. Như vậy thì thời gian hội tụ nhanh hơn. Khi nhận được một bản tin định tuyến từ Neighbor Router , tính hợp lệ của gói tin IPv6 và tính hợp lệ của bản tin RIPng được kiểm tra chặt chẽ. Sau đó nếu mỗi khối RTE(Route Table Entry) trong bản tin lần lượt được sử dụng. Mỗi khối RTE thực chất là một tuyến (route) trong bảng định tuyến của router Neighbor, thông tin về tuyến gồm tiền tố mạng đích, độ dài tiền tố mạng đích và giá trị Metric của tuyến. Nếu RTE chưa thông tin về 1 tuyến mà bảng định tuyến chưa có thì router sẽ đưa tuyến mới này vào bảng định tuyến của mình:
• Thiết lập một tiền tố đích cùng độ dài tiền tố vào bảng
• Giá trị độ của tuyến bằng giá trị độ đo trong RTE cộng thêm giá trị liên trọn số liên kết giữa router và router neighbor đã phát bản tin chứa RTE này. Công thức tính giá trị metric của tuyến là :
Metric = min[(metric1+cost),16]
Trong đó :
Metric 1: là độ đo trong RTE gửi đến từ neighbor
Cost : Trọng số liên kết từ router tới router neighbor , trong trường hợp thông thường thì Cost này bằng 1.
Giá trị NextHop trong bảng được đặt bằng địa chỉ Link-Local của router
neighbor đã phát bản tin. Địa chỉ này nằm trong trường địa chỉ nguồn của gói
tin IPv6 đã mang bản tin.
• Đặt biến thời gian đi cùng với tuyến
Trong trường hợp RTE nhận được nhưng lại mang thông tin về một tuyến khác đã tồn tại trong bảng với metric mới hoặc từ một neighbor khác thì tuyến này sẽ được tính toán lại cho phù hợp. Khi nhận được thông tin về cùng một tuyến từ các neighbor khác nhau gửi đến, router sẽ chọn chặng tiếp theo là neighbor đã gửi thông tin về tuyến mà có giá trị độ đo là nhỏ nhất.
Trong quá trình vận hành, cập nhật bảng định tuyến từ router neighbor, mỗi tuyến trong bảng luôn được điều khiển bởi các biến thời gian. Sự thay đổi của các biến thời gian này tương xứng với sự biến đổi trạng thái của tuyến, điều này quyết định sự ứng xử của
router với tuyến. Một tuyến trong bảng định tuyến có thể có các trạng thái sau:
• UP : Một tuyến được xem là UP nếu có giá trị độ đo của nó nhỏ hơn 16. Chỉ tuyến nào có độ đo nhỏ hơn 16 mới được sử dụng để định tuyến cho giao thông mạng. Mỗi tuyến sẽ tồn tại ở trạng thái UP trong 1 khoảng thời gian(thường bằng 6 lần chu kì cập nhật) 180s, thời gian này gọi là định thời của tuyến (route timer), timer này được thiết lập lại mỗi khi tuyến được cập nhật và sửa đổi lại. Khi hết thời gian này tuyến sẽ chuyển sang trạng thái Garabage-collection
• Garabage-collection : Sau khi hết thời gian route timer, tuyến sẽ chuyển sang trạng thái Garabage-collection và tồn tại ở trạngthái này trong khoảng thời gian Garabage-collection timer, thời gian này bằng 4 lần chu kì cập nhật (120s). Nếu hết thời gian này mà tuyến không được cập nhật thì nó bị xóa khỏi bảng, nếu nó được cập nhật thì nó lại trở về trạng thái UP với giá trị độ đo hoặc chặng tiếp theo đã được cập nhật.
• Hold-Down Timer : Như đã trình bày ở mục thuật ngữ, đây là khoảng thời gian mà tuyến sẽ ở trong trạng thái Hold-Down để tránh cập nhật sai bảng định tuyến khi mà các router còn chưa đủ thời gian để thống nhất với nhau về bảng định tuyến.
Một tuyến sẽ tồn tại ở trạng thái Garabage-collection quá thời hạn sẽ bị đánh dấu là Down .
Router chạy RIPng có thể vận hành theo 1 trong 2 chế độ :
• Passive (Bị động) : Router chỉ lắng nghe cập nhật định tuyến từ các router khác mà bản thân nó không gửi thông tin bảng định tuyến của nó tới các router khác.
• Active (Chủ động) : Ngước với chế độ passive, router se định kì gửi và nhận thông tin về định tuyến từ các router neighbor của nó.
RIPng cũng sử dụng các phương pháp truyền thống nhằm ngăn chặn các yếu điểm này như Route Poisoning, Split Horizon…….và cũng như ở IPv4, người quản trị hoàn toàn có quyền vô hiệu hóa hay cho phép các tính năng này được hoạt động hay không.