Tìm hiểu về giao thức định tuyến RIP (Routing Information Protocol)

Routing Information Protocol (RIP) là một giao thức định tuyến động sử dụng số lượng hop (hop count) như một đơn vị đo (metric) để tìm đường đi tốt nhất giữa nguồn và mạng đích. Đây là một giao thức định tuyến vector khoảng cách (distance-vector routing protocol) với giá trị AD (Administrative Distance) mặc định là 120 và hoạt động ở lớp Mạng (Network layer) của mô hình OSI. RIP sử dụng cổng (port) số 520.

Số lượng Hop (Hop Count)

Số lượng hop là số lượng router nằm giữa mạng nguồn và mạng đích. Đường dẫn có số lượng hop thấp nhất được coi là đường đi tốt nhất để đến một mạng và do đó được đưa vào bảng định tuyến. RIP ngăn chặn các vòng lặp định tuyến bằng cách giới hạn số lượng hop tối đa được phép trong một đường dẫn từ nguồn đến đích. Số lượng hop tối đa cho phép đối với RIP là 15, và số lượng hop là 16 được coi là mạng không thể truy cập.

Các tính năng của RIP

  1. Các bản cập nhật về mạng được trao đổi định kỳ.
  2. Các bản cập nhật (thông tin định tuyến) luôn được phát quảng bá (broadcast).
  3. Toàn bộ bảng định tuyến được gửi trong các bản cập nhật.
  4. Router luôn tin tưởng thông tin định tuyến nhận được từ các router láng giềng. Điều này còn được gọi là Routing on Rumors.

Các phiên bản RIP

Có ba phiên bản của giao thức định tuyến RIP: RIP Version 1 (RIP v1), RIP Version 2 (RIP v2)RIPng.

RIP v1 được gọi là giao thức định tuyến Classful vì nó không gửi thông tin về subnet mask (mặt nạ mạng con) trong bản cập nhật định tuyến của nó. RIP v2 được gọi là giao thức định tuyến Classless vì nó gửi thông tin về subnet mask trong bản cập nhật định tuyến của nó.

Sử dụng lệnh debug để xem chi tiết:

#debug ip rip

Sử dụng lệnh sau để hiển thị tất cả các tuyến đường được cấu hình trong router, ví dụ cho router R1:

R1#show ip route

Sử dụng lệnh sau để hiển thị tất cả các giao thức được cấu hình trong router, ví dụ cho router R1:

R1#show ip protocols

Cấu hình RIP

Xét mô hình mạng trên có 3 router: R1, R2, R3. R1 có địa chỉ IP 172.16.10.6/30 trên s0/0/1, 192.168.20.1/24 trên fa0/0. R2 có địa chỉ IP 172.16.10.2/30 trên s0/0/0, 192.168.10.1/24 trên fa0/0. R3 có địa chỉ IP 172.16.10.5/30 trên s0/1, 172.16.10.1/30 trên s0/0, 10.10.10.1/24 trên fa0/0.

Cấu hình RIP cho R1:

R1(config)# router rip
R1(config-router)# network 192.168.20.0
R1(config-router)# network 172.16.10.4
R1(config-router)# version 2
R1(config-router)# no auto-summary

Lưu ý: Lệnh no auto-summary tắt tính năng tự động tóm tắt (auto-summarization). Nếu không chọn no auto-summary, subnet mask sẽ được coi là classful trong Version 1.

Cấu hình RIP cho R2:

R2(config)# router rip
R2(config-router)# network 192.168.10.0
R2(config-router)# network 172.16.10.0
R2(config-router)# version 2
R2(config-router)# no auto-summary

Tương tự, cấu hình RIP cho R3:

R3(config)# router rip
R3(config-router)# network 10.10.10.0
R3(config-router)# network 172.16.10.4
R3(config-router)# network 172.16.10.0
R3(config-router)# version 2
R3(config-router)# no auto-summary

Các bộ hẹn giờ (timers) của RIP

  • Update timer: Thời gian mặc định để các router đang chạy RIP trao đổi thông tin định tuyến là 30 giây. Sử dụng Update timer, các router trao đổi bảng định tuyến của chúng một cách định kỳ.
  • Invalid timer: Nếu không có bản cập nhật nào đến trong vòng 180 giây, router đích sẽ coi nó là không hợp lệ. Trong trường hợp này, router đích đánh dấu số lượng hop là 16 cho router đó.
  • Hold down timer: Đây là khoảng thời gian mà router chờ router láng giềng phản hồi. Nếu router không thể phản hồi trong một khoảng thời gian nhất định, nó sẽ bị coi là “chết”. Thời gian mặc định là 180 giây.
  • Flush timer: Đây là thời gian sau đó mục nhập của tuyến đường sẽ bị xóa nếu nó không phản hồi trong thời gian flush. Thời gian mặc định là 60 giây. Bộ hẹn giờ này bắt đầu sau khi tuyến đường đã được khai báo là không hợp lệ và sau 60 giây, tức là tổng thời gian sẽ là 180 + 60 = 240 giây.

Lưu ý rằng tất cả các thời gian này đều có thể điều chỉnh được. Sử dụng lệnh sau để thay đổi các bộ hẹn giờ:

R1(config-router)# timers basic <update> <invalid> <holddown> <flush>

Ví dụ:

R1(config-router)# timers basic 20 80 80 90

Trong ví dụ này, update timer được đặt thành 20 giây, invalid timerholddown timer được đặt thành 80 giây và flush timer được đặt thành 90 giây. Việc điều chỉnh các timer này có thể giúp tối ưu hóa hiệu suất của giao thức RIP trong các môi trường mạng khác nhau.