CHƯƠNG III. GIAO THỨC ĐỊNH TUYẾN (ROUTING PROTOCOL)
III.1 Khái niệm cơ bản
III.1.4 Kỹ thuật tránh lặp trong quá trình định tuyến
Giao thức định tuyến Distance-vector theo dõi bất kỳ sự thay đổi trong mạng nội bộ bằng cách truyền đi những cập nhật định tuyến theo chu kỳ đến tất cả các interface đang hoạt động. Chúng truyền đi bao gồm bảng định tuyến nay đủ. Công việc này đòi hỏi cao về CPU và tốn nhiều băng thông. Và khi sự cố thiếu hụt tài nguyên mạng xảy ra, độ hội tụ chậm của giao thức định tuyến distance vector có thể làm sai lệch thông tin trong bảng định tuyến và gây ra lặp định tuyến. Lặp định tuyến xảy ra bởi vì các router không được cập nhật đồng thời. Do vậy, để tránh và ngăn chặn lặp định tuyến người ta đưa ra những kỹ thuật sau:
Maximum Hop Count.
Split Horizon.
Route poisoning.
Holddown.
Ví dụ 3.2 về lặp định tuyến:
Router khám phá đường đi tối ưu đến đích từ router láng giềng.
Mỗi nút đều duy trì khoảng cách đến đích.
Độ hội tụ chậm làm ngăn cản quá trình định tuyến.
Router C chứa đường đi tối ưu đến network 10.4.0.0 qua router B.
Router A cập nhật bảng định tuyến và cộng hop count thêm 1.
Hop count của network 10.4.0.0 được đếm đến vô cùng và gây ra lặp.
Cách giải quyết và ngăn chặn lặp:
Định nghĩa số hop giới hạn để ngăn chặn lặp.
Packets của network 10.4.0.0 bị xoay vòng (lặp) giữa router B và router C.
Thông tin không nên bị gửi ngược về mạng nguồn.
Router quảng cáo khoảng cách của các route bị down.
Poison reverse với split horizon.
The router giữ entry của network bị down và cho phép thời gian để các router khác tính toán lại sự thay đổi này.
The router gửi cập nhật khi bảng định tuyến có thay đổi.
III.1.4.1 Maximum Hop Count
Vấn đề lặp định tuyến xảy ra bởi thông tin được sai lệch được truyền đi trong khắp mạng nội bộ. Nếu không có sự can thiệp, thì số hop đếm được sẽ tăng đến vô cùng mỗi lần một packet được truyền qua một router.
Một cách để giải quyết vấn đề là định nghĩa số hop đếm được tối đa. RIP cho phép số hop tối đa là 15, vì thế bất kỳ yêu cầu số hop là 16 đều không thể đến được, và như vậy thì maximum hop count cũng vẫn làm cho packet bị lặp nên không giải quyết được vấn đề triệt để. Tuy nhiên nó cũng đã giải quyết được vấn đề đặt ra. Packet vẫn ở trong vòng lặp, nhưng thay vì quay vòng mãi mãi thì bây giờ chúng sẽ bị huỷ sau khi bật lên 16 lần.
III.1.4.2 Split Horizon
Split Horizon là một kỹ thuật để tránh lặp định tuyến. Split Horizon giảm số thông tin định tuyến không chính xác và chi phí định tuyến trong một mạng distancevector bằng cách đưa ra luật để thông tin không thể được gửi trở lại theo hướng mà nó đã nhận được.
Routing protocol sẽ phân biệt loại interface nào đã học đường và sẽ không quảng cáo trở lại cùng interface đó. Nó sẽ ngăn chặn Router A gửi thông tin đã được cập nhật trở lại Router B.
Ví dụ: Router 1 liên kết network A qua router 2. Router 1 nhận thông tin về mạng A với metric là 1 từ router 2. Khi split horizon được kích hoạt trên router 1, thông tin về mạng A sẽ không quảng cáo ngược lại về router 2.
Nếu không kích hoạt split horizon, router 1 sẽ quảng cáo mạng A cho router
2 với metric là 2. Nếu mạng A bị sự cố, router 2 sẽ học tuyến đường đến mạng A qua router 1 và sẽ tạo ra lỗ hổng (black hole).
III.1.4.3 Route Poisoning
Route poisoning cũng là một kỹ thuật tránh lặp bằng cách ngăn chặn những thông tin cập nhật trái ngược nhau. Ban đầu router E đưa vào bảng định tuyến một entry về đường đi cho Network 5 (gọi là route poisoning) có giá trị 16 (unreachable). Khi router C nhận được 1 route poisoning từ router E, nó sẽ gửi một cập nhật gọi là poison reverse ngược trở lại router E. Điều này đảm bảo tất cả đường đi trên nhánh mạng đã nhận được thông tin đường đi mới. Bình thường thì kỹ thuật này không được dùng (vì nó có khuynh hướng làm tăng kích thước bảng định tuyến) mà chỉ được dùng khi mạng gặp sự cố.
Để khắc phục điều này, người ta dùng kỹ thuật này kết hợp với kỹ thuật Split Horizon. Route poisoning kết hợp với split horizon sẽ tạo ra một mạng distance vector có tính phục hồi cao và đáng tin cậy hơn những kỹ thuật khác.
III.1.4.4 Holddown
Holddown là một trong những kỹ thuật tránh lặp trong quá trình định tuyến.
Holddown ngăn chặn những thông điệp cập nhật thường xuyên để phục hồi một đường đi không có hiệu quả (gọi là flapping). Điều này thường xảy ra khi những liên kết không đồng bộ mất kết nối và liền cập nhật lại. Nếu không có cách ổn định thì mạng sẽ không thể hội tụ và interface bị flapping sẽ làm chậm mạng hoặc là nghẽn mạng.
Holddown ngăn chặn đường đi thay đổi quá nhanh trong thời gian cho phép khi đường đi không có hiệu quả trở thành có hiệu quả để mạng hoạt động ổn định trước khi tìm được đường đi tối ưu. Router hạn chế trong một chu kỳ xác định bất kỳ sự thay đổi nào ảnh hưởng đến đường đi ở xa. Nó ngăn chặn đường đi không hiệu quả sớm được phục hồi đến bảng định tuyến khác.
Khi một router nhận được một cập nhật từ router láng giềng rằng một network trước đây có thể đến được nhưng bây giờ không hoạt động, khi đó thiết bị đếm thời gian holddown bắt đầu hoạt động. Nếu cập nhật đó có số đo metric tốt hơn các entry mạng khác, thì holddown sẽ bị huỷ và dữ liệu được đi qua. Tuy nhiên, nếu như cập nhật đó truyền đến trước khi holddown đếm hết thời gian cho phép và có số đo thấp hơn đường đi trước đó thì cập
nhật sẽ không được thực hiện và thiết bị đếm thời gian holddown vẫn hoạt động. Điều này cho phép mạng có thêm thời gian để ổn định trước khi hội tụ.
Holddown sử dụng cập nhật nhanh, với thiết bị đếm holddown để cảnh báo sự thay đổi của router láng giềng trong mạng. Không giống như thông điệp cập nhật từ router láng giềng, cập nhật nhanh tạo ra một bảng định tuyến và gửi ngay đến router láng giềng bởi vì mạng nội bộ sẽ phát hiện ra những thay đổi. Có 3 trường hợp mà thông điệp cập nhật nhanh sẽ khởi động lại thiết bị đếm thời gian holddown:
Thiết bị holddown đếm hết thời gian cho phép.
Có một cập nhật khác được nhận với số đo tốt hơn.
Khi giải phóng bộ nhớ của holddown.