路由算法之RIP
RIP协议适用于网络比较小的协议;OSPF适用于网络比较大的协议
RIP协议
RIP是一种分布式的基于距离向量的路由选择协议,非常简单
RIP协议 要求每一个路由器维护从路由器自己到目的网络的唯一最佳距离 ,也就是记载到某一个网络的的经过路由器的距离(跳数)。当距离\(\ge 2\) 的时候,下一跳路由器字段指向的是路由器名称;当距离\(=1\) 的时候,下一跳路由器字段 指向的是 "直接交付"。RIP路由器距离最多15,要是路由器距离是16的话,就是不可达。
从最多是15个路由器,也看得出规模比较小,适用于小的互联网
算距离跳数大多数情况,自己也本路由器也要算一跳。具体根据题目要求算。
这些表项的得到 交换技术:
- 只和相邻路由器交换信息
- 路由器交换的各自的路由表
- 每30秒交换一次路由信息,更新路由表;超过180秒,要是和1个邻居还没有通气,就判定这个邻居没了,把和该邻居相关的路由表项全部更新
刚开始的时候的路由器的表项都是1(自己直接相连的网络),随着和邻居路由器每隔30s通气,路由器表就不断得到完善,即"收敛"
RIP路由算法中的距离字段如何得到
-
修改相邻路由器发来的RIP报文的所有表项 (RIP报文就含有路由表的路由信息) 必须修改成适合于自己的表项
对地址为X的相邻路由器修改,下一跳字段 的地址写上X,并把所有距离字段+1
X把自己的路由表发给R1
-
对修改后的RIP报文做如下处理:
- R1路由表中没有net3,就添加到R1的路由表中就行了
- 若已经有到net3网络的路由表项了 (保证替换完只有一个net3表项)
- 查看原有的关于net3的表项的下一跳是X,用新收到的net3路由信息代替原来的net3路由信息(以新的为准,可能会增大,也可能会减少,不用考虑是否变短,无脑替换) 下一跳是相同路由器X,无脑替换 下一跳仍然是X,表示只有一条路,用新的代替旧的
- 若下一跳不是X,就需要比较两个net3表项的距离,保留最短的距离 两条路里面选短的
-
若180s还没收到相邻路由器的X的更新路由表,这个表项设置为不可达,距离16即可
-
隔30s更新一次
、
RIP协议格式
RIP报文就是路由器彼此通气的信息,靠着RIP报文更新路由表
RIP是应用层协议,也就是它将来会作为数据部分,被传输层、网络层、链路层封装。可以将路由信息就看做是一种数据,和正常的数据没有区别,还是要被其他层封装的。
一个RIP报文,最多传25项表项信息。要是一个自治系统AS有比较大的网络,路由表项大于25的话,可以多发送几个RIP报文。
特点:
网络通畅时传得快,网络堵塞时传的慢
经过好长时间才能知道网络1 出了故障