2.2. MÔ TẢ GIẢI THUẬT DV:
2.2.2. Các vấn đề xảy ra đối với định tuyến Distance-Vector:
Xảy ra khi có sự thay đổi giá trị trƣờng cost của các liến kết giữa các nút, hoặc khi liên kết các nút bị hỏng. Ta xét bảng định tuyến với sơ đồ trên trong đó các vector khoảng cách của bảng định tuyến viết gọn lại theo dạng: {dest, cost, nexthop}. Theo Ion Stoica [4] các vấn đề xảy ra trong định tuyến nhƣ sau ( khởi đầu khi mạng ở trạng thái hội tụ ổn định).
B D A C 5 2 3 1 2 B D A C 5 2 3 1 2 Hình 2.4: Cập nhật định tuyến từ B đến A Hình 2.5: Mạng ở trạng thái hội tụ.
Nút Bảng định tuyến tóm tắt A (B, 2, B); (C, 3, B); (D,5, B) B (A, 2, A); (C, 1, C); (D, 3, D) C (A, 3, B); (B, 1, B); (D, 2, D) D (A, 5, B); (B, 3, B); (C, 2, C)
Nếu liên kết giữa A và B bị đứt gãy (break), thì khoảng cách từ A đến B đƣợc tính là vô cực (inf). Bảng định tuyến trong A và B có trạng thái nhƣ sau.
Nút Bảng định tuyến tóm tắt A (B, ∞, -); (C, ∞, -); (D, ∞, -) B (A, ∞, -); (C, 1, C); (D, 3, D) C (A, 3, B); (B, 1, B); (D, 2, D) D (A, 5, B); (B, 3, B); (C, 2, C)
Hình 2.7: Khi mạng xảy ra đứt gãy tại nút B
Thời điểm này có hai tình huống xảy ra.
- Trong tình huống tốt: Các nút A, B sẽ truyền thông tin bảng định tuyến cho các nút khác cập nhật. Quá trình cập nhật thông tin minh họa nhƣ sau:
Nút Bảng định tuyến tóm tắt A (B, ∞, -); (C, ∞, -); (D, ∞, -) B (A, ∞, -); (C, 1, C); (D, 3, D) C (A, 3, B); (B, 1, B); (D, 2, D) D (A, 5, B); (B, 3, B); (C, 2, C)
Hình 2.8: Quá trình truyền thông tin đứt gãy từ B
- Trong tình huống xấu: Trƣớc khi B truyền thông tin về trạng thái bảng định tuyến cho C và D cập nhật thì C hoặc D truyền ngƣợc lại thông tin cho B.
Sự kiện này sẽ tạo ra sự định tuyến lặp (loop routing).Định tuyến lặp khi xảy ra sẽ làm cho tốc độ hội tụ của mạng, hay còn gọi là sự ổn định của mạng bị chậm lại.
B D A C 5 2 3 1 2 B D A C 5 3 1 2 B D A C 5 3 1 2
Nút Bảng định tuyến tóm tắt A (B, ∞, -); (C, ∞, -); (D, ∞, -) B (A, 4, C); (C, 1, C); (D, 3, D) C (A, 3, B); (B, 1, B); (D, 2, D) D (A, 5, B); (B, 3, B); (C, 2, C)
Hình 2.9: Quá trình truyền ngược thông tin từ C đến B.
Khi B nhận đƣợc thông tin cập nhật định tuyến từ C, B thấy có tuyến đến A qua C. Nó sẽ so sánh theo kỹ thuật cập nhật bảng là: min{D(B,A); D(B,C} = min{∞ ; 3} = 3, rồi cập nhật giá trị định tuyến tối ƣu vào bảng định tuyến của nó.
Sau đó B lại truyền thông tin bảng định tuyến cho C và D cập nhật. Nút Bảng định tuyến tóm tắt
A (B, ∞, -); (C, ∞, -); (D, ∞, -) B (A, 4, C); (C, 1, C); (D, 3, D) C (A, 5, B); (B, 1, B); (D, 2, D) D (A, 7, B); (B, 3, B); (C, 2, C)
Hình 2.10: B truyền ngược lại thông tin đến C và D.
Tiếp tục, do B định tuyến đến A qua C, do vậy khi C truyền bảng thông tin định tuyến cho B. B tiếp tục nhận và cập nhật vào bảng định tuyến của nó.Quá trình cứ tiếp tục nhƣ vậy giữa B và C, D làm cho các nút này liên tục cập nhật các giá trị cao hơn vào bảng định tuyến
Tạo ra chu trình lặp nhƣ sau: (C B C,D)(C B C,D)...làm cho mạng không thể đi đƣợc vào trạng thái hội tụ.
Sự kiện hội tụ chậm của mạng là tạo ra ba sự kiến xấu trong định tuyến:
- Định tuyến lặp (routing loop): Do các gói tin cần truyền đến đích sẽ bị gửi lòng vòng.
- Đếm đến vô cực (count-to-inf): Do sự cập nhật giá trị cho cost trong bảng định tuyến, làm cho giá trị này tăng lên mãi
- Tốc độ hội tụ mạng chậm (slow convergence).
B D A C 5 3 3 2 B D A C 5 3 1 2