路由基礎——RIP協議
RIP協議是我們接觸的較為早期的一個路由協議。對于這個協議的使用,我們需要作為基礎知識來學習,因為之后的協議演進都是基于這個版本的。
RIP協議簡介
RIP是Routing Information Protocol(路由信息協議)的簡稱,是一種基于D-V算法的簡單動態路由協議,主要用于小型網絡.它通過UDP交換路由信息,每隔30秒向外發送一次更新報文(將自己所有的路由表都發送給鄰居).如果路由器經過180秒沒有收到來自對方端的路由更新報文,則將所有來自此路由器的路由信息標志為不可達,如果在其后120 秒內仍未收到更新報文,就將該條路由從路由表中刪除.
RIP使用跳數來衡量到達目的網絡的距離,路由器到與它直接相連網絡的跳數為0,通過一個路由器可達網絡的跳數為1,其余依此類推.為限制收斂時間,RIP規定metric***跳數為15,高于此的都不可達,這是限制RIP不能用于大型網絡的主要因素.
RIP協議處于UDP協議的上層,RIP所接收的路由信息都封裝在UDP的數據報中,RIP在520號端口上接收來自遠程路由器的路由修改信息,并對本地的路由表做相應地修改,同時通知其他路由器.通過這種方式,達到全局路由的同步.
RIP協議的實現
系統初始化
1.RIP啟動時的初始路由表僅包含本路由器的一些直連接口路由.
2.RIP協議啟動后向各接口廣播一個Request報文.
3.鄰居路由器的RIP協議從某接口收到Request報文后,根據自己的路由表,形成Response報文向該接口對應的網絡廣播.
4.RIP接收鄰居路由器回復的包含鄰居路由器路由表的Response報文,形成自己的路由表.
路由更新
RIP協議以30秒為周期用Response報文廣播自己的路由表.
收到鄰居發送而來的Response報文后,RIP協議計算報文中路由項的度量值,比較其與本地路由表路由項度量值的差別,更新自己的路由表.
報文中路由項度量值的計算公式為:metric=MIN(metric + cost, 16).其中metric為報文中攜帶的度量值信息,cost為接收報文的網絡的度量值開銷,缺省為 1(1 跳),16代表不可達.
RIP配置(以Cisco的路由器為例)
Router(config)#router rip—啟動RIP路由協議
AH_CZ_TC_2500(config-router)# network [network range | all]—指定工作網段,RIP只在指定網段上的接口工作;對于不在指定網段上的接口,RIP既不在它上面接收和發送路由,也不將它的接口路由轉發出去.
AH_CZ_TC_2500(config-router)# version [1|2—指定RIP的版本
AH_CZ_TC_2500(config-router)# maximum-paths [1-6]—指定等價路由的最多使用條數
AH_CZ_TC_2500(config-router)# passive-interface e0—可以使eth0口只接收RIP分組,但不發送rip分組,這個命令只有在需要的時候才配置.
AH_CZ_TC_2500(config-router)#int s0—進入單獨的接口進行配置
AH_CZ_TC_2500(config-if)#ip rip [send|receive] version [1|2]—可以指定某個接口做發送或接口功能,并且執行哪一個版本的RIP
AH_CZ_TC_2500(config-if)#ip split-horizon—可以設置是否啟用水平分割
由于此處命令太多,不一一例舉,具體命令格式可以參考Cisco網站或其他命令參考手冊.
RIP協議注意:RIP-1采用廣播形式發送報文;RIP-2有兩種傳送方式,廣播方式和多播方式,缺省將采用多播發送報文.多播發送報文的好處是在同一網絡中那些未運行RIP的主機可以避免接收RIP的廣播報文.當接口運行RIP-1時,只接收和發送RIP-1與RIP-2廣播報文,不接收RIP-2多播報文;當接口運行在RIP-2多播方式時,只接收和發送RIP-2多播報文,不接收RIP-1與RIP-2廣播報文.在缺省情況下,一個接口既可接收RIP更新報文,也可發送RIP更新報文.