RIP:(Routing Information Protocol,路由信息协议)是最典型的距离矢量路由协议,以跳数作为度量值,是一种动态路由。有用于IPv4网络的RIPv1和RIPv2两个版本和用于IPv6网络的RIPng版本。最大跳数为16跳。
RIP数据库:每台运行RIP协议的路由器都维护这一张RIP数据库,该数据库中保存着路由器发现的所有RIP路由,其中包括自己发现的直连路由和其他路由器收到的路由。
RIP路由的更新与接收:
1.路由器初始启动,所有路由器都能自动发现自身的直连路由,并将其加载到路由表中,跳数为0。
2.初次交换路由信息,所有路由器将自身路由表中的路由通过RIP协议报文周期性地从所有激活了RIP的接口通告出去,所有路由器收到相邻路由器发送的路由表后会与自身的路由表核对,然后将自身路由表中不存在路由条目添加到自身路由表中并且跳数+1。
3.路由完成收敛,所有路由器持续进行步骤二的操作,直至所有路由器的路由表一致时,收敛完成。但依然会周期性地将自己的路由表通过RIP通告出去,以确保路由的有效性。
工作原理:
运行距离矢量路由协议的路由器周期性地泛洪自己的路由表,每台路由器都从相邻的路由器学习路由,并且将路由加载进自己的路由表中,而他们并不清楚网络的拓扑结构,只是简单的知道到达某个目标网段应该从哪里走、距离多远。
报文类型及格式:RIP协议采用UDP封装,报文的源、目的端口均是UDP520端口。RIP定义了两种报文“请求(Request)报文”和“响应(Response)报文”,因为RIPv1和RIPv2工作机制不同,所以在协议报文各个字段的定义存在一些差异。
请求报文用于向邻居请求全部或部分RIP路由信息,响应报文用于发送RIP路由更新,在响应报文中携带者路由以及该路由的度量值等信息。
RIPv1的报文结构:包含“命令字段”“版本字段”“地址族标识符”“IP地址”“度量值”
命令字段:用于标识RIP报文的类型。
RIPv2的报文结构:包含“命令字段”“版本字段”“地址族标识符”“路由标记”“IP地址”“网络掩码”“下一跳”“度量值”
RIP定义了三个计时器:“更新计时器”“老化计时器”“垃圾回收计时器”
更新计时器:该计时器的时间为RIP路由器周期性泛洪路由表的时间间隔。缺省为30S。
老化计时器:当一条RIP路由别学习并加载到路由表时,路由器立即为该路由启动老化计时器,缺省180S。当该计时器超时的同时,该条路由则变为不可用并从路由表中删除(但依然保存在RIP数据库中),垃圾回收计时器也会立即启动。若倒数未超时便收到该条路由的更新,老化路由器会被重置并重新开始计时。对于老化计时器已超时的失效RIP路由,依然会被包含在路由器对外发送的Response报文中,只不过路由的度量值被设置为16跳,即不可达。
垃圾回收计时器:在该计时器计数的这段时间,RIP路由器在泛洪路由更新时将该条路由的度量值设置为16跳,以便告知其他路由器关于该网络的不可达的情况。若该计时器超时,则路由会被彻底删除。
RIP防环机制:“水平分割”“毒性逆转”“触发更新”
水平分割:RIP路由器从某个接口收到的路由不会再从该接口通告出去。
毒性逆转:RIP从某个接口学到路由后,当它从该接口发送Response报文是会携带这些路由,但是这些路由的度量值被设置为16跳。
触发更新:当路由器感知到拓扑发生变更或RIP路由度量值变更时,无需等待下一个更新周期到来即可立即发送Response报文。
水平分割与毒性逆转是互相矛盾的,当同时激活水平分割和毒性逆转时,只有毒性逆转生效。
RIPv1是一个典型的有类路由协议,不支持VLSM(可变长子网掩码),报文中不携带网络掩码,广播发送报文,不支持手工路由汇总。
RIPv2使用组播(组播地址:224.0.0.9)发送RIP报文,支持无类路由选择、认证、标记、手工路由汇总等
特性
1.手工路由汇总
2.路由标记
3.Silent-Interface:Silent-Interface接口不向外泛洪Response报文,但依然可以接受Response报文。
4.报文认证
5.发布默认路由