Định tuyến theo vectơ khoảng cách thực hiện truyền bản sao của bảng định tuyến từ router này sang router khác theo định kỳ. Việc cập nhât định kỳ giữa các router giúp trao đổi thông tin khi cấu trúc mạng thay đổi. Thuật toán định tuyến theo vectơ khoảng cách còn gọi là thuật toán Bellman-Ford. Mỗi router nhận được bảng định tuyến của những router láng giềng kết nối trực tiếp với nó.
Router thu thập thông tin về khoảng cách đến các mạng khác, từ đó nó xây dựng và bảo trì một cơ sở dữ liệu về thông tin định tuyến trong mạng. Tuy nhiên, hoạt động theo thuật toán vectơ khoảng cách như vậy thì router sẽ không biết được chính xác cấu trúc của toàn bộ hệ thống mạng mà chỉ biết được các router láng giềng kết nối trực tiếp với nó mà thôi.
Khi sử dụng thuật toán theo vectơ khoảng cách, bước đầu tiên là router phải xác định các router láng giềng với nó. Các mạng kết nối trực tiếp vào cổng giao tiếp của router sẽ có khoảng cách là 0. Còn đường đi tới các mạng không kết nối trực tiếp vào router thì router sẽ chọn đường tốt nhất dựa trên các thông tin mà nó nhận được từ các router láng giềng.
Bảng định tuyến được cập nhật khi cấu trúc mạng có sự thay đổi. Quá trình cập nhật này cũng diễn ra từng bước một từ router này đến router khác. Khi cập nhật, mỗi router gửi đi toàn bộ bảng định tuyến của nó cho các route láng giềng. Trong bảng định tuyến có thông tin về đường đi tới từng mạng đích tổng chi phí cho đường đi, địa chỉ của router kế tiếp.
Thuật toán vectơ khoảng cách yêu cầu mỗi router gửi một phần hoặc toàn bộ bảng định tuyến cho các router láng giềng kết nối trực tiếp với nó.Dựa vào thông tin cung cấp bởi các router láng giềng, thuật toán vectơ khoảng cách sẽ chọn đường đi tốt nhất.
Sử dụng các giao thức định tuyến theo vectơ khoảng cách thường tốn ít tài nguyên hệ thống nhưng tốc độ đồng bộ giữa các router lại chậm và các thông số được sử dụng để chọn đường đi có thể không phù hợp với những hệ thống mạng lớn. Chủ yếu các giao thức định tuyến theo vectơ khoảng cách chỉ xác định đường đi bằng khoảng cách (số lượng hop) và hướng đi (vectơ) đến mạng đích. Theo thuật toán này các router sẽ trao đổi bảng định tuyến với nhau theo định kỳ. Do vậy, loại định tuyến này chỉ đơn giản là mỗi router chỉ trao đổi bảng định tuyến với các router láng giềng với nó. Khi nhận được bảng
- 41 -
định tuyến từ các router láng giềng, router sẽ lấy con đường nào đến mạng đích có chi phí thấp nhất rồi cộng thêm khoảng cách của mình vào thành một thông tin hoàn chỉnh về con đường đến mạng đích với hướng đi, thông số đường đi từ chính nó đến đích rồi đưa vào bảng định tuyến, sau đó router lấy bảng định tuyến đó gửi đi cập nhật cho các router kế cận khác.RIP là giao thức định tuyến theo vectơ khoảng cách.
Một số giao thức định tuyến theo vectơ khoảng cách:
RIP (Routing Information Protcol)
IGRP (Interior Gateway Routing Protocol): của Cisco
EIGRP (Enhanced Interior Gateway Routing Protocol): của Cisco
BGP (Border Gateway Protocol)
4.3.1.1 Giao thức định tuyến RIP
RIP được phát triển trong nhiều năm, bắt đầu từ phiên bản 1 (RIPv1). RIPv1 chỉ có thể là giao thức định tuyến theo lớp địa chỉ, cho đến RIPv2 mới là giao thức định tuyến không theo lớp địa chỉ và nó có những ưu điểm hơn so với RIPv1 như:
Cung cấp nhiều thông tin định tuyến hơn
Có cơ chế xác minh giữa các router khi cập nhật để bảo mật cho bảng định tuyến
Có hỗ trợ VLSM
RIP tránh được định tuyến lặp vòng đếm đến vô hạn bằng cách giới hạn số lượng hop tối đa cho phép máy gửi đến máy nhận. Số lượng hop tối đa cho mỗi con đường là 15. Đối với các con đường mà router nhận được từ thông tin cập nhật của router láng giềng, router sẽ tăng số hop lên 1 vì router xem bản thân nó cũng là một hop trên đường đi. Nếu sau khi tăng chỉ số hop lên 1 mà chỉ số này lớn hơn 15 thì router sẽ xem như mạng đích tương ứng với con đường không đến được. Ngoài ra, RIP cũng có nhiều đặc tính tương tự như các giao thức định tuyến khác. Ví dụ như split horizon và thời gian holddown để tránh cập nhật thông tin định tuyến không chính xác.
RIP có những đặc điểm
Là giao thức định tuyến theo vector khoảng cách
Thông số định tuyến là số lượng hop
Nếu gói dữ liệu đến mạng đích có số lượng hop lớn hơn 15 thì gói dữ liệu đó sẽ bị hủy bỏ.
Chu kỳ cập nhật mặc định là 30 giây
4.3.1.2 Những vấn đề thường gặp khi cấu hình RIP
RIP là giao thức định tuyến theo vectơ khoảng cách nên nó có một số nhược điểm như thời gian hội tụ chậm lặp vòng và đếm đến vô hạn. Đây là hậu quả khi các router chưa được hội tụ nên truyền cho nhau những thông tin cũ chưa được cập nhật đúng.
Để giải quyết vấn đề này RIP sử dụng những kỹ thuật sau :
Định nghĩa giá trị tối đa
- 42 -
Poison reverse
Thời gian holddown
Cập nhật tức thời
RIP giới hạn số hop tối đa là 15, bất kỳ mạng đích nào mà có số hop lớn hơn 15 thì xem như mạng đó không đến được. Điều này làm cho RIP bị hạn chế không sử dụng được những mạng lớn nhưng nó giúp RIP tránh được lỗi đếm đến vô hạn
Split horizon: Khi gửi thông tin cập nhật ra một hướng nào đó thì không gửi lại những thông tin mà router đã nhận được từ hướng đó
Triggeres Update: Router sẽ gửi một update mới ngay khi thông tin định tuyến bị thay đổi, thay vì phải chờ hết thời gian update time. Trigger update còn có tên gọi khác là flash update. Khi một giá trị metric 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 update timers 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 route 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 và 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 trigger 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 route bị lỗi, router sẽ gửi update về route đó đi với infinity- metric (hop count = 16). Poison reverse Router: nhận được quảng bá về một poisoned route (metric 16) trên một interface, router sẽ hồi đáp lại thông điệp poison reverse trên cùng interface đó.
Update timer: Qua mỗi khoảng thời gian update timer, router sẽ gửi update một lần qua một interface, mỗi interface có một update timer riêng, mặc định trên tất cả interface là 30 giây.
Holddown timer: Đối với mỗi route đến một subnet trong bảng định tuyến, nếu như metric của route 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 route nào khác đến subnet đó 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ố hop count tăng từ hai lên bốn), router sẽ gán một giá trị thời gian cho route đó. 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 route đó.
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
- 43 -
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 route 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 update thông báo về route đó. Nếu như nhận được update, thời gian invalid sẽ được đặt về 0. Nếu như router không nhận được update, mà thời gian invalid đã hết (mặc định là 180 giây), route đó đượ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 nếu không nhận được update về route, router sẽ loại route đó ra khỏi bảng định tuyến.
Tuy nhiên đối với những mạng có những subnet không liên tục, có sử dụng VLSM, ... thì RIP không giải quyết được nó cần phải phối hợp với các kỹ thuật hoặc sử dụng những giao thức định tuyến khác.
4.3.1.3 Giao thức RIPv2
Bởi vì RIPv2 được phát triển từ RIPv1 nên nó cũng có các đặc điểm như RIPv1, là giao thức đinh tuyến theo vectơ khoảng cách, sử dụng số lượng hop làm thông số định tuyến, sử dụng thời gian holddown để chống lặp vòng, sử dụng cơ chế split horizon để chống lặp vòng, giá trị hop tối đa là 15.
Điểm khác là RIPv2 có gửi subnet mask đi kèm với các địa chỉ mạng trong thông tin định tuyến. Nhờ đó RIPv2 có thể hỗ trợ VLSM và CDIR, RIPv2 có hỗ trợ việc xác minh thông tin định tuyến, gửi thông tin định tuyến theo địa chỉ multicast 224.0.0.9