RIP(Routing Information Protocol)路由信息協議。
基於距離矢量(Distance-Vector)的貝爾曼-福特(Bellman-Ford)算法。
RIP工作原理:路由器運行RIP後,會首先發送路由更新請求(Request報文),收到請求的路由器會發送自己的RIP路由(Response報文)進行響應;網絡穩定後,路由器會週期性發送路由更新信息(默認週期30秒)。
使用跳數作爲度量,RIP規定跳數的取值範圍爲0~15之間的整數,大於15的跳數表示目的網絡或主機不可達。
RIPv1是有類別路由協議(不攜帶子網掩碼),RIPv2是無類別路由協議(攜帶子網掩碼)。
RIPv1使用廣播發送報文(目的IP地址爲廣播地址:255.255.255.255);RIPv2有2種發送方式:組播方式(缺省,組播地址224.0.0.9)和廣播方式。
RIP通過UDP交換路由信息,端口號:520。
一個RIP路由更新信息中最多包含25條路由表項,每個路由表項都攜帶了目的網絡地址和度量值。整個RIP報文大小限制爲不超過504字節。
RIP路由協議解決環路問題機制:最大跳數,水平分割(split-horizon),毒性反轉(poison-reverse),觸發更新。
水平分割的原理:路由器從某個接口學習到的路由,不會再從該接口發出去。
毒性反轉:可以使錯誤路由立即超時。配置了毒性反轉,RIP從某個接口學習到路由後,發回給鄰居路由器時會將該路由的跳數設置爲16。利用這種方式,可以清除對方路由表中的無用路由。
觸發更新:指當路由信息發生變化時,立即向鄰居設備發送觸發更新報文(缺省情況下,一臺RIP路由器每30秒會發送一次路由表更新給鄰居路由器)。
在RIP網絡中,命令rip metricin <metric value>用於修改接口上應用的度量值(注意:該命令所指定的度量值會與當前路由的度量值相加)。
命令rip metricout <metric value>用於路由器在通告RIP路由時修改路由的度量值。一般情況下,在將路由表項轉發到下一跳之前,RIP會將度量值加1。如果配置了rip metricout命令,則只應用命令中配置的度量值。
水平分割和毒性反轉都是基於每個接口來配置的。缺省情況下,每個接口都啓用了rip split-horizon命令(NBMA網絡除外)以防止路由環路。華爲ARG3系列路由器不支持同時配置水平分割和毒性反轉,因此當一個接口上同時配置了水平分割和毒性反轉時,只有毒性反轉生效。
rip output命令用來配置允許一個接口發送RIP更新信息。禁止命令:undo rip output。
rip input命令用來配置允許指定接口接收RIP報文。禁止命令:undo rip input。
silent-interface命令用來抑制接口,使其只接收RIP報文,更新自己的路由表,而不發送RIP報文。
命令silent-interface比rip output和rip input命令的優先級更高。silent-interface all命令優先級最高。