小二哥's blog

----zhangzs8896(小二)

导航

RIP路由协议

Posted on 2004-12-17 11:35  小二哥  阅读(680)  评论(0编辑  收藏  举报
RIP协议属于内部网管协议(IGP),位于UDP协议的上层,RIP所接收的路由信息都封装在UDP的数据报中,RIP 在520号端口上接收来自远程路由器的路由修改信息,并对本地的路由表做相应的修改,同时通知临近的路由器。

路由表的建立:
IP路由表的建立,指的是它的初始化过程,任何路由器启动时都必须首先获得一个初始路由表。
总的来说,有三种方式:
1 路由器启动时,从外存读一个完整的寻径表,长驻内存使用,系统关闭时再将当前路由表写回外存
2 启动时,只获得一个空表,通过执行命令来填充。
3 启动时,从与本路由器直接相连的各网络地址中,推导出一组初始路由,当然通过出事路由表只能访问相连网上的主机。
显然,无论哪种情况,初始路由表总是不晚上的,需要不断的刷新。
RIP就是用于路由表的维护与刷新,RIP协议使用的是距离向量算法,采用的是第3种初始化方式。

距离向量算法:
D(i,j)来表示从实体i到j的最佳路由的metric,i,j可以是系统中任何一对实体;用d(i,j)表示单个跳的花费,也就是从i到j的花费。如果i,j不是直接相邻的,则d(i,j)为无穷大,如此下来,任意两个实体间的最佳metric表示为:
D(i,i) = 0,  对所有的I
D(i,j) = min [ D( k , j ) + d( i , k ) ],  i不等于k时
因为非相邻实体间的d(i,j)定义为无穷大,当表达式中k不是i的相邻主机/路由器时,D(i,j)永远都不可能为最小,所以限定把k与i相邻。这样就会得到一个简单的算法,实体i接受他的邻居们k发送给它到目的主机/路由器的距离评价,并加上d(i,k),这里就是i,k之间网络所需的cost值,接下来比较来自所有邻居的信息,并选择其中最小的。因此,在拓扑结构不变的情况下,该算法在有限时间内收敛于正确的D(i,j)