路由协议RIP
路由信息协议RIP(Routing Information Protocol)是内部网关协议中最先得到广泛使用的协议之一。RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录,这是一组距离,称为“距离向量”。
RIP使用跳数作为度量来衡量到达目的网络的距离。
- 路由器到直连网络的距离定义为1
- 路由器到非直连网络的距离定义为所经过的路由器数+1
- 允许一条路径最多只能包含15个路由器,距离等于16相当于不可达,因此RIP只适用于小型互联网
RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由。
当到达同一目的网络有多条距离相等的路由时,可以进行等价负载均衡。
RIP包含以下三个要点:
- 和谁交换信息:仅和相邻路由器交换信息
- 交换什么信息:自己的路由表
- 何时交换信息:周期性交换
RIP的基本工作过程:
- 路由器刚开始工作时,只知道自己到直连网络的距离为1
- 每个路由器仅和相邻路由器周期性地交换并更新路由信息
- 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为“收敛”
RIP的路由条目的更新规则
RIP存在“坏消息传得慢”的问题,又称路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题,可以采取多种措施减少该问题出现的概率或减小带来的危害,但不能完全避免。
- 限制最大路径距离为15(16表示不可达)
- 当路由表发生变化时就立即发送更新报文(即触发更新),而不仅是周期性发送
- 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口反方向传送(即水平分割)
例题
R3检测到网络不可达后,向R2发送了更新报文,R2将路由表中该目的网络的距离更新为16,但是R1并不知道网络不可达,由于RIP的周期性特点,R1又向R2发送了更新报文,R2又将距离更新为3。