路由选择协议基本要点
- 路由选择协议的核心是路由算法。即需要一种算法来获取路表中的各项,一个比较好的路由选择算法应该有以下特点:
- 算法必须是正确和完整的。(正确的含义是沿着各路由表所指引的路由,分组一定能到达最终目的网络和主机)
- 算法在计算上应该简单。
- 算法能够适应通信量和网络拓扑的变化。(例如当某个或者某些结点链路发生故障的时候,算法能够及时的改变路由,有时候称这种适应性为稳健性)
- 算法应该具有稳定性
- 算法是公平的。
- 算法应该是最佳的。
- 内部网关协议RIP
- RIP(routing information protocol)是内部网关协议IGP中最先得到广泛使用的协议【RFC1058】,也叫路由信息协议,RIP是一种分布式的基于距离向量的路由选择协议。最大的优点就是简单。
- RIP协议要求网络中的每一个路由器都要维护从他自己到其他每一个目的网络的距离记录(因此这是一组距离),RIP将距离定义如下:从以路由器到直接连的网络的距离为1,从路由器到非之间的网络的距离定义为所经过的路由器书数+1,RIP协议的距离也称之为跳数,但是一条跳数最多只能包含15个路由器,因此,当距离=16时,就相当于不可达。因此RIP只能适用于小型互联网。
- RIP不能在两个网络之间同时使用多条路由。RIP选择具有最少路由器的路由(最短路由),哪怕还存在另一条高速低延时的但是路由器较多的路由。
- RIP协议的特点
- 仅和相邻路由器交换信息。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。RIP协议规定:不相邻的路由器不交换信息。
- 路由器交换的信息是当前路由器所知道的全部信息,就是现在自己的路由表。也就是说,交换的信息是:我到本自治系统中所有网络的最短距离,以及到每个网络应该经过的下一跳路由器。
- 按照固定的时间间隔交换路由信息,例如每隔30秒。然后路由器接收到的路由信息更新路由表。
- 在路由器刚开始工作的时候,其内部路由表是空的。认识可以和直接相连的路由器的到距离1,接着吗,每个路由器和与自己相连的路由器不断交换路由表信息,最终就可以知道本自治系统中任何一个网络地址和最短下一跳路由器的地址。
- 路由器最主要的信息是:到某个网路的距离(最短距离),以及下一跳的地址,路由表更新的原则是找出到每个网络的最短距离,这种算法又称之为距离向量算法:
- 对每一个相邻的路由器发送过来的RIP报文,进行以下步骤:
- 对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目,把下一跳字段都改为X,并把所有的距离的值+1。每一个都有三个关键数据:到目的网络N,距离d,下一跳路由器是X。
- 对修改后的RIP报文中的每一个项目,进行以下步骤:
- 若原来的路由表没有目的网络N,则把该项目添加到路由表中。
- 否则(即在路由表中有目的网络N,这时再查看下一跳的路由器地址)
- 若下一跳路由器地址是X,则把收到的项目替换为原路由表中的项目。
- 否则(即这个项目是:到目的网络N,但下一跳路由器不是X)
- 若收到的项目中的距离d小于路由表中的距离,则进行更新。
- 否则什么也不做。
- 若3分钟后还没收到相邻路由表中的更新路由,则把相邻路由器记为不可达路由器,即把距离设置为16。(16代表的是不可达)
- 返回。
- 对每一个相邻的路由器发送过来的RIP报文,进行以下步骤:
- 算法描述:其实就是求一个路由器到另一个路由器的最短距离。
- 例题:
- 一直路由器R1路表中的项目如图所示:
- 现在收到了相邻路由器R4发过来的路由表:
4. - 求路由器R6更新后的路由表
- 解:首先把R4发过来的路由表中的距离都+1:
- 把这个表和R6的路由表进行比较:
- 第一行Net1没有,加到R6的路由表走中。
- 第二行Net2存在,但是大于R6的路由表,因此R6的路由表关于Net2这一行不变。
- 第三行Net3存在,但是Net3距离小于R6路由表Net3的距离,因此更新。
- 因此R6路由表更新后的表为:
- RIP协议让每一个自治系统中的所有路由都和自己的相邻路由器定期交换路由表信息,并不断更新路由表,使得每从每一个路由器到每一个目的网络的路由都是最短距离(也就是跳数最小)。
- RIP协议的报文格式
- 现在比较新的RIP协议报文格式是1998年提出的RIP2
- RIP协议使用运输层的用户数据报(UDP端口为520)进行传输。
- RIP报文由首部和路由部分组成
- 首部占4个字节
- 命令为1表示请求路由信息。
- 命令为2表示请求路由信息的相应或者更新报文。
- 版本就是RIP版本号
- 必为0表示4字节对齐
- 路由部分:
- 路有部分由若干个路由信息组成。每个路由信息需要用20字节。
- 地址族标识:用来标识所用的地址协议。如采用IP地址就为2
- 路由标记填入自治系统号ASN。
- 一个RIP报文最多包括25个路由,因而RIP报文的最大程度为4+20*25=504字节
- 首部占4个字节
- 总结:RIP协议的特点:
- 缺点:
- 当网络出现故障的时候,要经过比较长的时间才能将此消息传到所有的路由器,正所谓好消息传播的快,坏消息传播的慢。
- 限制了网络规模,因为路由器最大的跳数是15跳,一般中大型网络规模RIP协议就不适用了。
- 优点:实现简单,开销较小
- 缺点:
- 因此,基于RIP协议的缺点,我们又提出了OSPF协议(不过规模较小的网络,使用RIP协议的仍占多数。)
- 内部网关协议OSPF(开放最短路径优先)
- 出现的原因:为了克服RIP协议的缺点
- 开放表明OSPF协议不受任何厂家的限制。最短路径优先是因为使用了最短路径算法SPF