CHƯƠNG 8: GIAO THỨC ĐỊNH TUYẾN RIPv2 (PHẦN 1) –
CHƯƠNG 8: GIAO THỨC ĐỊNH TUYẾN RIPv2 (PHẦN 1) –
CHƯƠNG 8: GIAO THỨC ĐỊNH TUYẾN RIPv2 (PHẦN 1) – CHƯƠNG 8: GIAO THỨC ĐỊNH TUYẾN RIPv2 (PHẦN 1) – CHƯƠNG 8: GIAO THỨC ĐỊNH TUYẾN RIPv2 (PHẦN 1) –
Follow us :
CHƯƠNG 8: GIAO THỨC ĐỊNH TUYẾN RIPv2 (PHẦN 1)
I. ĐẶC TÍNH CỦA RIP
RIP là giao thức định tuyến được giới thiệu trong cả ba chương trình CCNA, CCNP và CCIE và là một phần quan trọng trong kỳ thi CCNA. RIPv2 đã được giới thiệu trong chương trình CCNP, tuy nhiên chỉ được thực sự chú trọng trong kỳ thi CCIE. Chương này sẽ tập trung vào những đặc điểm căn bản cũng như đưa ra những ví dụ cụ thể để minh họa cho những tùy chọn nâng cao của RIPv2.
Đang xem: Split horizon là gì, chương 8: giao thức Định tuyến ripv2 (phần 1)
1. Đặc điểm
Để tiếp cận RIPv2 một cách nhanh chóng và đầy đủ, những phần trong chương này sẽ đề cập đến sự khác nhau giữa RIPv1 và RIPv2. Bảng 8.1 liệt kê ngắn gọn những đặc điểm của RIPv1 và chú thích những đặc điểm chỉ có ở RIPv2.
Đặc điểm |
Mô tả |
Dịch vụ tầng vận chuyển |
Giao thức UDP, cổng 520. |
Chi phí |
Sô chặng tối đa là 15, 16 chặng được xem như là vô cùng. |
Thời gian định kỳ gửi thông điệp Hello |
Không sử dụng, RIP gửi định kỳ bảng định tuyến. |
Gửi cập nhật đến địa chỉ đích |
Sử dụng địa chỉ broadcast nội bộ (255.255.255.255) đối với RIPv1 và địa chỉ multicast 224.0.0.9 đối với RIPv2. |
Thời gian định kỳ gửi cập nhật |
30 giây. |
Cập nhật đây đủ hoặc không đầy đủ |
Gửi toàn bộ bảng định tuyến sau thời gian cập nhật |
Sử dụng cập nhật ngay lập tức |
Sử dụng cập nhật ngay khi có sự thay đổi. |
Sử dụng nhiều đường đi đến cùng một mạng con |
Cho phép sử dụng từ 1 đến 6 tuyến có chi phí bằng nhau đến cùng mạng con , mặc định là 4 tuyến. |
Xác thực * |
Sử dụng chuỗi ký tự không mã hoá hoặc MD5 . |
Gửi mặt nạ mạng con trong cập nhật |
RIPv2 gửi mặt nạ mạng con kèm theo mỗi tuyến , hỗ trợ VLSM và định tuyến không đúng lớp. Do đó, RIPv2 có thể thực thi cho mô hình mạng không liên tục. |
Mặt nạ mạng con có chiều dài thay đổi (VLSM)* |
RIPv2 gửi cập nhật kèm theo mặt nạ mạng con có chiều dài khác nhau ứng với mỗi mạng con. |
Thêm tuyến* |
Cho phép thêm những tuyến khác vào bảng định tuyến bằng cách phân phối lại chúng vào RIP. |
Trường chặng kế tiếp |
Xác định địa chỉ IP của chặng kế tiếp cho mỗi tuyến, Router quảng bá những tuyến trong bảng định tuyến của nó đi với địa chỉ chặng kế tiếp chính là địa chỉ IP của router. |
Bảng 8.1: Đặc điểm của RIPv1 và RIPv2
* Những tính năng chỉ có ở RIPv2
Router chạy RIP gửi thông tin về tuyến đường trong các cập nhật RIP qua mỗi giao tiếp trong mỗi khoảng thời gian cập nhật. Một router chạy RIP quảng bá những tuyến đường kết nối trực tiếp với nó, và những router chạy RIP khác nhận quảng bá và cập nhật vào bảng định tuyến của mình. Chú ý rằng RIP không cất giữ bảng sơ đồ (topology) riêng biệt. Những router chạy RIP không thiết lập quan hệ láng giềng cũng không gửi thông điệp hello – mỗi router chỉ đơn giản là gửi cập nhật với địa chỉ đích là 224.0.0.9 đối với phiên bản 2 (với RIPv1 là 255.255.255.255).
RIPv2 và RIPv1 đều sử dụng số chặng làm chi phí, chi phí tối đa là 15, với chi phí bằng 16 được xem là vô cùng (infinity) và tuyến không thể đến được. Một router chạy RIP không đặt chi phí của nó vào tuyến khi gửi cập nhật. Thay vào đó, router chạy RIP sẽ tăng chi phí lên 1 khi xây dựng gói tin cập nhật. Ví dụ, nếu router A có một tuyến với chi phí bằng 2, nó sẽ quảng bá tuyến đó đi với chi phí bằng 3.
Khi một router chạy RIP học được nhiều tuyến đến cùng một mạng con, thì tuyến có chi phí nhỏ nhất sẽ được chọn. Nếu như có nhiều tuyến có chi phí bằng nhau và nhỏ nhất, router mặc định sẽ cập nhật 4 tuyến vào bảng định tuyến. Router cũng có thể cho phép cập nhật từ 1 đến 6 tuyến vào bảng định tuyến bằng cách sử dụng câu lệnh ip maximum-paths number trong chế độ router rip.
2. Hội tụ và chống vòng lặp
Phần quan trọng nhất và cũng phức tạp nhất của RIP nằm ở những phương thức chống vòng lặp. Giống như những giao thức định tuyến vector khoảng cách (distance vector) khác, RIP sử dụng kết hợp những công cụ chống vòng lặp khác nhau, nhưng đáng tiếc rằng những công cụ này cũng làm tăng thời gian hội tụ (convergence) một cách đáng kể. Sự thật, đó là một hạn chế rất lớn của RIP (kể cả RIPv2). Bảng 8.2 tổng hợp những tính năng và phương thức liên quan đến hội tụ và chống vòng lặp của RIP.
Tính năng |
Mô tả |
Split horizon |
Thay vì quảng bá tất cả các tuyến ra một giao tiếp, RIP không quảng bá những tuyến mà router học được từ giao tiếp này. |
Triggered update |
Router sẽ gửi một cập nhật mới ngay khi thông tin định tuyến bị thay đổi, thay vì phải chờ hết thời gian gửi cập nhật. Trigger update còn có tên gọi khác là flash update. Khi một giá trị chi phí thay đổi tốt hơn hoặc kém hơn, router ngay lập tức sẽ gửi ra một thông điệp cập nhật mà không cần chờ cho khoảng thời gian gửi cập nhật bị hết. Quá trình tái hội tụ diễn ra nhanh hơn so với trường hợp phải chờ những khoảng thời gian cập nhật định kỳ. Các thông điệp cập nhật định kỳ vẫn diễn ra cùng với các thông điệp trigger update. Như vậy một router có thể nhận một thông tin kém về một tuyến từ một router chưa hội tụ sau khi đã nhận một thông tin chính xác từ một trigger update. Tình huống này xảy ra dẫn đến các lỗi định tuyến vẫn có thể xảy ra trong quá trình tái hội tụ. Một sự hiệu chỉnh xa hơn nữa là trong thông điệp cập nhật, chỉ bao gồm các địa chỉ mạng làm cho việc kích hoạt xảy ra. Kỹ thuật này làm giảm thời gian xử lý và giảm ảnh hưởng đến băng thông. |
Route poisoning |
khi tuyến bị lỗi, router sẽ gửi cập nhật về tuyến đó đi với giá trị chi phí là vô hạn (số chặng là 16). |
Poison reverse |
Router nhận được quảng bá về một tuyến bị sự cố (chi phí là 16) trên một giao tiếp, router sẽ hồi đáp lại thông điệp poison reverse trên cùng giao tiếp đó. Thực chất đây là sự kết hợp của Split horizon và route poisoning. Trong điều kiện không nhận được quảng bá về một tuyến bị sự cố thì tính năng Split horizon được bật. |
Update timer |
Qua mỗi khoảng thời gian cập nhật định tuyến, router sẽ gửi cập nhật một lần qua một giao tiếp, mỗi giao tiếp có một khoảng thời gian cập nhật riêng, mặc định trên tất cả giao tiếp là 30 giây. |
Holddown timer |
Đối với mỗi tuyến đến một mạng con trong bảng định tuyến, nếu như chi phí của tuyến thay đổi đến một giá trị lớn hơn, thời gian holddown timer sẽ bắt đầu. Trong khoảng thời gian này (mặc định là 180 giây) router sẽ không cập nhật tuyến nào khác đến mạng con đó trong bảng định tuyến cho đến khi thời gian holddown timer kết thúc. Trigger update sẽ làm tăng khả năng đáp ứng một hệ thống mạng đang hội tụ. Holddown timers sẽ giúp kiểm soát các thông tin định tuyến xấu. Nếu khoảng cách đến một mạng đích tăng (ví dụ số số chặng tăng từ hai lên bốn), router sẽ gán một giá trị thời gian cho tuyến đó. Cho đến khi nào thời gian hết hạn, router sẽ không chấp nhận bất kỳ cập nhật nào cho tuyến đó. Rõ ràng có một sự đánh đổi ở đây. Khả năng các thông tin định tuyến kém bị đưa vào bảng định tuyến là giảm nhưng bù lại thời gian hội tụ sẽ tăng lên. Nếu thời gian holdown là quá ngắn, nó sẽ không hiệu quả. Nếu khoảng thời gian là quá dài, quá trình định tuyến thông thường sẽ bị ảnh hưởng. |
Invalid timer |
Đối với mỗi tuyến tồn tại trong bảng định tuyến, thời gian invalid timer sẽ tăng cho đến khi router nhận được cập nhật thông báo về tuyến đó. Nếu như nhận được cập nhật, thời gian invalid timer sẽ được đặt về 0. Nếu như router không nhận được cập nhật, mà thời gian invalid timer đã hết (mặc định là 180 giây), tuyến đó được xem như là không dùng được. |
Flush (Garbage) timer |
Thời gian flush timer mặc định là 240 giây, cũng giống như thời gian invalid timer, tuy nhiên thời gian flush timer mặc định sẽ tăng thêm 60 nữa, trong thời gian này router sẽ gửi cho các router khác nhằm báo rằng tuyến đó hiện tại không thể truy cập được, nếu không nhận được bất cứ cập nhật về tuyến, router sẽ loại tuyến đó ra khỏi bảng định tuyến. |
Bảng 8.2: Các cơ chế chống vòng lặp của RIP
Khoảng thời gian Invalid
Nếu mạng 10.1.5.0 bị mất, router D sẽ đánh dấu tuyến này này như là không đến được (unreachable) và truyền thông tin cho các router khác. Nhưng nếu trong trường hợp chính router D bị chết, router A, B và C vẫn còn lưu giữ thông tin về route 10.1.5.0 trong bảng định tuyến. Thông tin về tuyến không còn hợp lệ nhưng sẽ không có router nào thông báo cho A, B và C về việc này. Kết quả là A, B và C sẽ đẩy các gói tin đi về các địa chỉ mạng đích không còn tồn tại. Mạng đã bị hiện tượng lỗ đen.
Vấn đề có thể được giải quyết bằng cách thiết lập một thông số gọi là khoảng thời gian không phù hợp (invalidation timer) cho từng hàng trong bảng định tuyến. Ví dụ, khi router C nghe về mạng 10.1.5.0 lần đầu tiên và nhập thông tin vào bảng định tuyến, C sẽ thiết lập một đồng hồ cho tuyến đó. Ở mỗi chu kỳ cập nhật nhận được từ D, C sẽ bỏ qua những cập nhật đã biết và khởi động lại thời gian của tuyến đó. Nếu router D bị chết, C sẽ không còn nghe gì về mạng 10.1.5.0. Thời gian invalid sẽ bị hết, C sẽ đánh dấu tuyến như không đến được và sẽ truyền thông tin này trong cập nhật kế tiếp.
Thời gian cho tuyến hết hạn thường là từ ba cho đến 6 chu kỳ cập nhật. Một router không muốn xem một tuyến là không hợp lệ chỉ sau một chu kỳ cập nhật bị mất vì điều này sẽ làm cho gói tin bị mất hay tăng độ trễ của mạng. Ngược lại, nếu thời gian là quá dài, quá trình hội tụ sẽ rất chậm.
Split Horizon
Giả sử rằng mạng 10.1.5.0 bị sự cố, router D sẽ phát hiện, đánh dấu tuyến này là không đến được và truyền thông tin đến C ở chu kỳ cập nhật kế tiếp. Tuy nhiên, trước khi D kích hoạt một cập nhật, có một vấn đề xảy ra. Cập nhật của C đến, thông báo là nó có thể đi đến mạng 10.1.5.0, chỉ cách C 1 chặng. D không có cách nào nhận ra là C đang quảng cáo sai. D sẽ tăng giá trị số chặng và đưa vào bảng định tuyến thông tin là mạng 10.1.5.0 có thể đến được thông qua C, cách đó hai chặng.
Bây giờ có một gói tin có địa chỉ đích là 10.1.5.3 đến router C. C tham khảo bảng định tuyến của nó và đẩy gói tin về D. D tham khảo bảng định tuyến và đẩy về C. Một vòng lặp đã xảy ra.
Tính năng split horizon sẽ ngăn ngừa khả năng vòng lặp xuất hiện. Có hai nhóm split horizon gồm split horizon đơn giản và split horizon với poison reverse.
Nguyên tắc cho spilt horizon đơn giản là khi gửi một cập nhật ra một cổng, không được chứa những địa chỉ mạng được học từ những cập nhật trên chính cổng đó.
Các router trong hình 8.1 hiện thực tính năng split horizon đơn giản. Router C gửi một cập nhật cho D về địa chỉ mạng 10.1.1.0 và 10.1.2.0, 10.1.3.0. Các mạng 10.1.4.0 và 10.1.5.0 không được bao gồm vì các tuyến này được học từ router D. Tương tự, các cập nhật đến B bao gồm địa chỉ 10.1.4.0 và 10.1.5.0 mà không có 10.1.1.0, 10.1.2.0 và 10.1.3.0.
Luật split horizon với poison reverse là một cải tiến, cung cấp nhiều thông tin tích cực hơn. Qui luật của split horizon kết hợp với poison reversse là khi gửi một cập nhật ra một cổng đặc biệt, gán bất kỳ một địa chỉ mạng nào học từ những cổng đó như là không thể đến được.
Một tuyến được đánh dấu như là không thể đến được bằng cách gán giá trị metric đến bất tận, không xác định.
Để thấy rõ hơn về sự hội tụ của RIP cần phải thực hiện một số lệnh show và debug, hình 8.2 đưa ra một mô hình mạng sử dụng RIP với những công cụ chống vòng lặp, theo sau là những ví dụ lệnh liên quan.
Ví dụ 8.1 cho thấy cấu hình RIPv2 căn bản, và liệt kê một số lệnh show và debug thực hiện trên Router R1 (Chú ý là tất cả các router trong hình 8.1 đều chỉ sử dụng RIPv2, tất cả các giao tiếp đều đang bật và làm việc tốt).
Ví dụ 8.1:
Tất cả các router đều dùng cùng ba đoạn cấu hình RIP.
router rip
network 172.31.0.0
version 2
Dưới đây, lệnh show ip protocols liệt kê nhiều thông số hoạt động của RIP bao gồm các thông số thời gian, phiên bản được dùng và các láng giềng mà các gói cập nhật RIP được nhận (liệt kê ở hàng “Routing Information Source”).
Xem thêm: ” Thương Phiếu Là Gì ? Thương Phiếu (Commercial Paper) Là Gì
R1# show ip protocol
Routing Protocol is “rip”
Sending updates every 30 seconds, next due in 24 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: rip
Default version control: send version 2, receive version 2
Interface Send Recv Triggered RIP Key-chain
FastEthernet0/0 2 2
Serial0/0.3 2 2
Automatic network summarization is in effect
Maximum path: 4
Routing for Networks:
172.31.0.0
Routing Information Sources:
Gateway Distance Last Update
172.31.11.2 120 00:00:15
172.31.13.2 120 00:00:08
Distance: (default is 120)
Dưới đây, các thông số thời gian Invalid được liệt kê bởi từng tuyến RIP. Chú ý rằng mất khoảng 3 giây giữa lệnh show ip protocols bên trên và lệnh show ip route dưới đây. Vì vậy cập nhật cuối cùng từ 172.31.13.2 là 8 giây, 3 giây sau, thông số Invalid cho một tuyến học từ 172.31.13.2 là 11 giây.
R1# show ip route
…………
Gateway of last resort is not set
172.31.0.0/16 is variably subnetted, 4 subnets, 2 masks
R 172.31.24.0/30 <120/1> via 172.31.11.2, 00:00:18, FastEthernet0/0
C 172.31.11.0/24 is directly connected, FastEthernet0/0
C 172.31.13.0/30 is directly connected, Serial0/0.3
R 172.31.103.0/24 <120/1> via 172.31.13.2, 00:00:11, Serial0/0.3
Dưới đây, lệnh show ip rip database liệt kê các thông tin cho từng tuyến được tham khảo bởi RIP.
R1# show ip rip database
172.31.0.0/16 auto-summary
172.31.11.0/24 directly connected, FastEthernet0/0
172.31.13.0/30 directly connected, Serial0/0.3
172.31.24.0/30
<1> via 172.31.11.2, 00:00:01, FastEthernet0/0
172.31.103.0/24
<1> via 172.31.13.2, 00:00:23, Serial0/0.3
Chú ý: Lệnh show ip rip database liệt kê tất cả các tuyến học được qua RIP và tất cả các tuyến kết nối trực tiếp mà router chạy RIP đang quảng bá.
Cập nhật Triggered (Flash)và tuyến bị sự cố
Khi RIP biết chắc rằng tuyến đến một mạng con đã bị lỗi, RIPv2 có thể sử dụng một tuyến thay thế, thông thường thời gian hội tụ này không quá một phút. Dưới đây là một số bước thực hiện để thấy được hoạt động của cập nhật triggered và tuyến bị sự cố, kèm theo là hiển thị chi tiết khi thực hiện lệnh debug ip rip trên R1 (ví dụ 8.2).
Bước 1: Thông điệp debug cho thấy cập nhật gửi và nhận trên R1 (R1 đã sử dụng split horizon).
Bước 2: Giao tiếp E0/0 trên R3 bị tắt.
Bước 3: R3 ngay lập tức gửi một gói tin cập nhật triggered (còn gọi là cập nhật flash), bởi vì R3 biết chắc rằng tuyến đã bị lỗi. Tuyến mà R3 quảng bá chính là tuyến không tốt đến mạng 172.31.103.0/24.
Bước 4: R1 ngay lập tức trả lời R3 bằng một thông điệp về tuyến đến mạng 172.31.103.0/24, đồng thời R1 cũng gửi một cập nhật triggered ra giao tiếp Fa0/0 của nó.
Bước 5: R1 xóa tuyến đến mạng 172.31.103.0/24 ra khỏi bảng định tuyến của nó .
Bước 6: R1 chờ cập nhật kế tiếp từ R2 trên giao tiếp Fa0/0. Cập nhật này cũng bao gồm thông tin về tuyến đến mạng 172.31.103.0/24. R1 sẽ cập nhật tuyến này vào bảng định tuyến của mình.
Ví dụ 8.2:
Đầu tiên, lệnh debug ip rip bật chức năng RIP debugging. Lệnh này sẽ hiển thị các thông điệp mô tả từng tuyến trong các gói tin được gửi và nhận.
R1# debug ip rip
RIP protocol debugging is on
Bước 1 dưới đây, kết quả mô tả split horizon, ví dụ như mạng 172.31.103.0/24 không được quảng bá ra cổng S0/0.3, nhưng lại được quảng bá ra Fa0/0.
*Mar 3 22:44:08.176: RIP: sending v2 update to 224.0.0.9 via Serial0/0.3 (172.31.13.1)
*Mar 3 22:44:08.176: RIP: build update entries
*Mar 3 22:44:08.176: 172.31.11.0/24 via 0.0.0.0, metric 1, tag 0
*Mar 3 22:44:08.176: 172.31.24.0/30 via 0.0.0.0, metric 2, tag 0
*Mar 3 22:44:12.575: RIP: sending v2 update to 224.0.0.9 via FastEthernet0/0 (172.31.11.1)
*Mar 3 22:44:12.575: RIP: build update entries
*Mar 3 22:44:12.575: 172.31.13.0/30 via 0.0.0.0, metric 1, tag 0
*Mar 3 22:44:12.575: 172.31.103.0/24 via 0.0.0.0, metric 2, tag 0
Kế tiếp, R1 nhận các cập nhật RIP từ R3. Giá metric 1 trong gói cập nhật là đường đi tốt nhất của R1 và được đặt vào trong bảng định tuyến của R1. Chú ý rằng giá trị chi phí mà R1 nhận được là là giá trị thật sự để đi về tuyến đó.
*Mar 3 22:44:21.265: RIP: received v2 update from 172.31.13.2 on Serial0/0.3
*Mar 3 22:44:21.269: 172.31.24.0/30 via 0.0.0.0 in 2 hops
*Mar 3 22:44:21.269: 172.31.103.0/24 via 0.0.0.0 in 1 hops
Cổng E0/0 của R3 bị tắt ở thời điểm này. Dưới đây, R1 nhận được một cập nhật với hai poison route từ R3, cùng chính là hai route mà R3 đã quảng bá trong gói tin cập nhật trước đó. Chú ý rằng các cập nhật trigger chỉ bao gồm những tuyến đã thay đổi. Các bản cập nhật đầy đủ vẫn được gửi bình thường trong khoảng thời gian cập nhật.
*Mar 3 22:44:46.338: RIP: received v2 update from 172.31.13.2 on Serial0/0.3
*Mar 3 22:44:46.338: 172.31.24.0/30 via 0.0.0.0 in 16 hops (inaccessible)
*Mar 3 22:44:46.338: 172.31.103.0/24 via 0.0.0.0 in 16 hops (inaccessible)
Theo trên, R1 phản ứng lại việc nhận các tuyến không tốt, gửi ra các cập nhật trigger ra khỏi cổng Fa0/0. Chú ý rằng lệnh debug mô tả các cập nhật trigger như là cập nhật flash.
*Mar 3 22:44:48.341: RIP: sending v2 flash update to 224.0.0.9 via FastEthernet 0/0 (172.31.11.1)
*Mar 3 22:44:48.341: RIP: build flash update entries
*Mar 3 22:44:48.341: 172.31.103.0/24 via 0.0.0.0, metric 16, tag 0
Bước 4, R1 cũng gửi một cập nhật trigger ra khỏi cổng S0/0.3, bao gồm một tuyến không tốt về 172.31.24.0 bởi vì tuyến trên R1 đi về 172.31.24.0 chỉ ngược về R2 chứ không phải R3. Vì vậy tuyến đi về 172.31.24.0/24 không bị lỗi.
*Mar 3 22:44:48.341: RIP: sending v2 flash update to 224.0.0.9 via Serial0/0.3 (172.31.13.1)
Bước 5, chú ý việc mất tuyến 103.0/24 trong bảng định tuyến của R1.
R1# show ip route 172.31.103.0
% Subnet not in table
Bước 6 dưới đây, 23 giây sau khi có thông điệp debug, cập nhật kế tiếp của R2 đến R1, quảng bá mạng 172.31.103.0/24. Theo sau đó, R1 giờ nhận biết được có một tuyến cách 2 chặng, thông qua R2 đi về 172.31.103.0/24.
*Mar 3 22:45:11.271: RIP: received v2 update from 172.31.11.2 on FastEthernet0/0
*Mar 3 22:45:11.271: 172.31.24.0/30 via 0.0.0.0 in 1 hops
*Mar 3 22:45:11.271: 172.31.103.0/24 via 0.0.0.0 in 2 hops
R1# show ip route 172.31.103.0
Routing entry for 172.31.103.0/24
Known via “rip”, distance 120, metric 2
Redistributing via rip
Last update from 172.31.11.2 on FastEthernet0/0, 00:00:01 ago
Routing Descriptor Blocks:
* 172.31.11.2, from 172.31.11.2, 00:00:01 ago, via FastEthernet0/0
Route metric is 2, traffic share count is 1
Nếu như bạn xem xét kỹ lệnh debug ở trên ở gian thực, bạn sẽ thấy rằng thời gian từ khi R1 nghe thấy tuyến không tốt đến khi R1 nghe thấy cập nhật mới với đường đi tốt nhất đến mạng 172.31.103.0/24 là khoảng từ 25 đến 45 giây. Tuy không thể so sánh thời gian hội tụ này với OSPF hay EIGRP, nhưng đối với RIP thời gian này là hoàn toàn chấp nhận được.
Chú ý: Đối với cập nhật triggered và các mở rộng của triggered dành cho RIP, RFC 2091 cho thấy RIP có thể quyết định gửi cập nhật đầy đủ chỉ một lần, và sau đó im lặng, để hỗ trợ mạch yêu cầu. Tính năng này có thể được kích hoạt trên mỗi giao tiếp bằng cách sử dụng lệnh ip rip triggered.
3. Thời gian hội tụ trong RIP khi cập nhật định tuyến bị mất
Khi router không còn nhận cập nhật từ một router khác, RIP phải chờ một thời gian trước khi quyết định tuyến học được từ router đó trở thành tuyến bị lỗi, trong thời gian này vòng lặp có thể xảy ra. Để giải quyết tình trạng trên, RIP sử dụng những khoảng thời gian như Invalid, Flush và Holddown để ngăn vòng lặp. Tuy nhiên việc sử dụng những khoảng thời gian này có thể làm thời gian hội tụ của RIP tăng lên vài phút.
Ví dụ 8.3 mô tả chi tiết về một trường hợp cụ thể, khi R1 không nhận được cập nhật từ R3 (có thể tạo ra lỗi này bằng cách tắt cổng con S0/0.1 của R3). Ví dụ này cũng sử dụng một mô hình trong hình 8.2. Bắt đầu với tất cả các giao tiếp đều “bật”. RIP đang thực hiện tốt trên cả bốn router. Các bước thực hiện cụ thể như sau:
Bước 1: Cổng con S0/0.1 của R3 bị lỗi, nhưng cổng con (trong môi trường Frame Relay) của R1 vẫn tốt, vì vậy R1 vẫn phải sử dụng các khoảng thời gian của nó để xác định tuyến lỗi.
Bước 2: Thời gian Invalid và Flush trên R1 của tuyến đến mạng 172.31.103.0/24 tăng dần bởi vì R1 không nhận được cập nhật nào từ R3.
Bước 3: Sau khoảng thời gian Invalid (mặc định là 180 giây) của tuyến trên R1 đến mạng 172.31.103.0/24, R1 bắt đầu thời gian Holddown, thời gian này được cộng dồn với Invalid.
Bước 4: Khi thời gian Flush kết thúc, mặc định là 240 giây, hoặc là 60 giây kể từ khi thời gian Invalid kết thúc, R1 sẽ loại bỏ tuyến đến mạng 172.31.103.0/24 ra khỏi bảng định tuyến, cũng có nghĩa là xóa đi thời gian Holddown của tuyến đó.
Ví dụ 8.3:
Đầu tiên, lệnh debug ip rip event được dùng để hiển thị các thông điệp khi các gói tin cập nhận được gửi và nhận. Lệnh này không hiển thị nội dung các các cập nhật.
R1# debug ip rip event
RIP event debugging is on
Bước 1: cổng S0/0.1 của R3 bị down.
Bước 2: Giá trị Invalid của mạng 172.31.103.0/24 đạt đến giá trị 35. Nghĩa là, đã có 35 giây trôi qua kể từ lần cập nhật cuối cùng mà tuyến này được học. Một giá trị Invalid vượt quá 30 giây nghĩa là có ít nhất một gói tin cập nhật RIP không nhận được.
R1# show ip route
………………………
Gateway of last resort is not set
172.31.0.0/16 is variably subnetted, 4 subnets, 2 masks
R 172.31.24.0/30 <120/1> via 172.31.11.2, 00:00:09, FastEthernet0/0
C 172.31.11.0/24 is directly connected, FastEthernet0/0
C 172.31.13.0/30 is directly connected, Serial0/0.3
R 172.31.103.0/24 <120/1> via 172.31.13.2, 00:00:35, Serial0/0.3
Dưới đây là một ví dụ của lệnh debug messages được hiển thị. Nhiều thông điệp debug xảy ra trong khi chờ hội tụ nhưng các thông điệp này bị bỏ. Các thông điệp mà R1 nhận được từ R2 diễn ra mỗi 30 giây. Nội dung bao gồm một tuyến về 172.31.103.0/24, trong đó R1 bỏ qua cho đến hết thời gian Flush.
*Mar 3 21:59:58.921: RIP: received v2 update from 172.31.11.2 on FastEthernet0/0
*Mar 3 21:59:58.921: RIP: Update contains 2 routes
Bước 3: Khoảng thời gian Invalid bị hết, tương đương 3 phút sau khi tuyến bị sự cố. Chú ý rằng các tuyến được liệt kê như là possible down, diễn ra khi khoảng thời gian Invalid đã hết nhưng khoảng thời gian Flush thì còn. Chú ý rằng lệnh show ip route không liệt kê khoảng thời gian Flush nhưng lệnh show ip route 172.31.103.0 có liệt kê.
R1# show ip route
Gateway of last resort is not set
172.31.0.0/16 is variably subnetted, 4 subnets, 2 masks
R 172.31.24.0/30 <120/1> via 172.31.11.2, 00:00:20, FastEthernet0/0
C 172.31.11.0/24 is directly connected, FastEthernet0/0
C 172.31.13.0/30 is directly connected, Serial0/0.3
R 172.31.103.0/24 is possibly down,
routing via 172.31.13.2, Serial0/0.3
Bước 4: Lệnh kế tiếp mô tả giá trị metric là không truy cập được nghĩa là một giá trị không xác định khi vẫn còn khoảng thời gian Flush (3:23). Ngoài ra, khoảng thời gian Holdown cho tuyến này đã bắt đầu đếm (ở 180 giây), với 159 giây đang đếm xuống. Giá trị Holddown ngăn ngừa R1 không dùng các tuyến nghe từ R2.
R1# show ip route 172.31.103.0
Routing entry for 172.31.103.0/24
Known via “rip”, distance 120, metric 4294967295 (inaccessible)
Redistributing via rip
Last update from 172.31.13.2 on Serial0/0.3, 00:03:23 ago
Hold down timer expires in 159 secs
Bước 5: Chỉ sau 4 phút đã trôi qua, thông số thời gian Flush đã hết và tuyến đi về 172.31.103.0/24 đã bị xóa ra khỏi bảng định tuyến.
R1# show ip route 172.31.103.0
% Subnet not in table
Ở đoạn cuối của ví dụ, khi hết thời gian Update, R2 sẽ gửi một cập nhật đến R1, cập nhật này bao gồm một tuyến đến mạng 172.31.103.0/24 qua 2 chặng. R1 sẽ cập nhật tuyến đó vào bảng định tuyến của mình, lúc này mạng hội tụ.
Chú ý rằng thời gian Flush và Holddown phải kết thúc trước khi thông tin định tuyến mới được sử dụng. Ở ví dụ trên, thời gian Flush của tuyến đến mạng 172.31.103.0/24 kết thúc trước.
Kết quả là tuyến bị xóa khỏi bảng định tuyến. Khi tuyến bị xóa, tất cả thời gian liên quan đến tuyến này cũng bị xóa theo, bao gồm cả Holddown. Nếu như Holddown là nhỏ, và Holddown kết thúc trước Flush, thì tuyến đến mạng 172.31.103.0/24 được quảng bá từ R2 sẽ được sử dụng sau thời điểm kết thúc thời gian Holddown.
4. Thời gian hội tụ
Thời gian hội tụ trong ví dụ 8.3 không ít hơn 4 phút. Tuy nhiên bạn cũng có thể cải thiện thời gian hội tụ này bằng cách sử dụng câu lệnh timers basic update invalid hold-down flush trong chế độ router rip. Tuy nhiên bạn nên cấu hình thời gian phải nhất quán giữa các router. Thời gian không nhất quán có thể gây ra vòng lặp trong thời gian hội tụ.
Bạn cũng có thể cải thiện thời gian hội tụ bằng cách sử dụng câu lệnh clear ip route *, lệnh này cho phép xóa tất cả các tuyến cùng với những thời gian tương ứng ra khỏi bảng định tuyến ngay lập tức. Trong ví dụ 8.3, lệnh clear ip route 172.31.103.0 thực hiện chỉ để xóa tuyến đến mạng 172.31.103.0/24 cùng với những thời gian ra khỏi bảng định tuyến mà vẫn giữ lại các route đến đường mạng khác.
Lệnh clear có thể cải thiện thời gian hội tụ tuy nhiên sử dụng lệnh này là tương đối mạo hiểm. Bởi khi sử dụng lệnh này, ta sẽ vô tình xóa đi những khoảng thời gian. Những khoảng thời gian này là một trong những tính năng chống vòng lặp của RIP. Sau khi sử dụng lệnh clear, R1 ngay lập tức gửi những yêu cầu RIP đến những router chạy RIP láng giềng của nó. Những router chạy RIP láng giềng này sẽ ngay lập tức gửi cập nhật đầy đủ đến R1 mà không phải đợi hết thời gian Update.
5. Cập nhật không đồng bộ
Xét ví dụ ở hình 8.3, một nhóm các router được kết nối với nhau thông qua đường truyền Ethernet dùng chung. Các router không nên gửi broadcast các gói tin cập nhật của chúng trong cùng một thời điểm. Nếu các router gửi cập nhật tại cùng một thời điểm, các gói tin cập nhật sẽ phát sinh ra đụng độ. Độ trễ của hệ thống liên quan đến quá trình xử lý các gói tin cập nhật trong các router và sẽ là nguyên nhân dẫn đến các bộ định thời cập nhật sẽ được đồng bộ. Khi một vài router được đồng bộ, đụng độ bắt đầu xảy ra, và làm cho hệ thống hoạt động chậm hơn.
Các gói tin cập nhật không đồng bộ nên được duy trì bằng một trong hai phương pháp sau:
Mỗi bộ định thời thời gian cập nhật của mỗi router là độc lập với quá trình xử lý định tuyến và vì vậy nó sẽ không bị ảnh hưởng bởi quá trình quá trình hoạt động của router.
Một khoảng thời gian nhỏ ngẫu nhiên, hay còn gọi là thời gian thay đổi (timming jitter), được thêm vào mỗi chu kỳ cập nhật để tạo ra độ lệch so với bộ định thời chuẩn.
Nếu các router triển khai phương pháp không linh động, các bộ định thời độc lập với hệ thống, tất cả các router chia sẽ một miền broadcast phải được khởi động ngẫu nhiên. Tuy nhiên, việc khởi động lại nhóm các router cùng một thời điểm là việc hoàn toàn xảy ra có thể do quá trình mất nguồn, vì vậy các bộ định thời lại trở về đồng bộ với nhau. Việc thêm các giá trị ngẫu nhiên vào chu kỳ cập nhật là hiệu quả hơn, nếu sự thay đổi trong mạng là lớn đối với với những mạng có số lượng router lớn chia sẻ cùng một miền broadcast.
Xem thêm: Video Game Là Gì ? Nghĩa Của Từ Video Game Trong Tiếng Việt Trò Chơi Video
Thời gian cập nhật thiết lập cập nhật định kỳ bao gồm một giá trị ngẫu nhiên để ngăn chặn tình trạng đồng bộ. Kết quả là khoảng thời gian giữa 2 bản tin cập nhật của tiến trình RIP thông thường sẽ từ 25 đến 35 giây. Giá trị ngẫu nhiên được sử dụng bởi hệ điều hành Cisco được gọi là RIP_JITTER, được tính lên đến 15% (khoảng 4.5 giây) so với thời gian cập nhật. Vì vậy, các gói tin cập nhật từ router của Cisco sẽ biến thiên từ 25.5 đến 30 giây. Có nghĩa là mặc dù đã thiết lập thời gian cập nhật là 30 giây, nhưng trên thực tế chỉ mới đạt 28 giây, bản tin cập nhật đã được gửi đi.