RIP:(Routing Information Protocol,路由信息協(xié)議)是最典型的距離矢量路由協(xié)議,以跳數(shù)作為度量值,是一種動態(tài)路由。有用于IPv4網(wǎng)絡的RIPv1和RIPv2兩個版本和用于IPv6網(wǎng)絡的RIPng版本。最大跳數(shù)為16跳。
RIP數(shù)據(jù)庫:每臺運行RIP協(xié)議的路由器都維護這一張RIP數(shù)據(jù)庫,該數(shù)據(jù)庫中保存著路由器發(fā)現(xiàn)的所有RIP路由,其中包括自己發(fā)現(xiàn)的直連路由和其他路由器收到的路由。
RIP路由的更新與接收:
1.路由器初始啟動,所有路由器都能自動發(fā)現(xiàn)自身的直連路由,并將其加載到路由表中,跳數(shù)為0。
2.初次交換路由信息,所有路由器將自身路由表中的路由通過RIP協(xié)議報文周期性地從所有激活了RIP的接口通告出去,所有路由器收到相鄰路由器發(fā)送的路由表后會與自身的路由表核對,然后將自身路由表中不存在路由條目添加到自身路由表中并且跳數(shù)+1。
3.路由完成收斂,所有路由器持續(xù)進行步驟二的操作,直至所有路由器的路由表一致時,收斂完成。但依然會周期性地將自己的路由表通過RIP通告出去,以確保路由的有效性。
工作原理:
運行距離矢量路由協(xié)議的路由器周期性地泛洪自己的路由表,每臺路由器都從相鄰的路由器學習路由,并且將路由加載進自己的路由表中,而他們并不清楚網(wǎng)絡的拓撲結(jié)構(gòu),只是簡單的知道到達某個目標網(wǎng)段應該從哪里走、距離多遠。
報文類型及格式:RIP協(xié)議采用UDP封裝,報文的源、目的端口均是UDP520端口。RIP定義了兩種報文“請求(Request)報文”和“響應(Response)報文”,因為RIPv1和RIPv2工作機制不同,所以在協(xié)議報文各個字段的定義存在一些差異。
請求報文用于向鄰居請求全部或部分RIP路由信息,響應報文用于發(fā)送RIP路由更新,在響應報文中攜帶者路由以及該路由的度量值等信息。
RIPv1的報文結(jié)構(gòu):包含“命令字段”“版本字段”“地址族標識符”“IP地址”“度量值”
命令字段:用于標識RIP報文的類型。
RIPv2的報文結(jié)構(gòu):包含“命令字段”“版本字段”“地址族標識符”“路由標記”“IP地址”“網(wǎng)絡掩碼”“下一跳”“度量值”
RIP定義了三個計時器:“更新計時器”“老化計時器”“垃圾回收計時器”
更新計時器:該計時器的時間為RIP路由器周期性泛洪路由表的時間間隔。缺省為30S。
老化計時器:當一條RIP路由別學習并加載到路由表時,路由器立即為該路由啟動老化計時器,缺省180S。當該計時器超時的同時,該條路由則變?yōu)椴豢捎貌穆酚杀碇袆h除(但依然保存在RIP數(shù)據(jù)庫中),垃圾回收計時器也會立即啟動。若倒數(shù)未超時便收到該條路由的更新,老化路由器會被重置并重新開始計時。對于老化計時器已超時的失效RIP路由,依然會被包含在路由器對外發(fā)送的Response報文中,只不過路由的度量值被設置為16跳,即不可達。
垃圾回收計時器:在該計時器計數(shù)的這段時間,RIP路由器在泛洪路由更新時將該條路由的度量值設置為16跳,以便告知其他路由器關于該網(wǎng)絡的不可達的情況。若該計時器超時,則路由會被徹底刪除。
RIP防環(huán)機制:“水平分割”“毒性逆轉(zhuǎn)”“觸發(fā)更新”
水平分割:RIP路由器從某個接口收到的路由不會再從該接口通告出去。
毒性逆轉(zhuǎn):RIP從某個接口學到路由后,當它從該接口發(fā)送Response報文是會攜帶這些路由,但是這些路由的度量值被設置為16跳。
觸發(fā)更新:當路由器感知到拓撲發(fā)生變更或RIP路由度量值變更時,無需等待下一個更新周期到來即可立即發(fā)送Response報文。
水平分割與毒性逆轉(zhuǎn)是互相矛盾的,當同時激活水平分割和毒性逆轉(zhuǎn)時,只有毒性逆轉(zhuǎn)生效。
RIPv1是一個典型的有類路由協(xié)議,不支持VLSM(可變長子網(wǎng)掩碼),報文中不攜帶網(wǎng)絡掩碼,廣播發(fā)送報文,不支持手工路由匯總。
RIPv2使用組播(組播地址:224.0.0.9)發(fā)送RIP報文,支持無類路由選擇、認證、標記、手工路由匯總等
特性
1.手工路由匯總
2.路由標記
3.Silent-Interface:Silent-Interface接口不向外泛洪Response報文,但依然可以接受Response報文。
4.報文認證
5.發(fā)布默認路由