当前位置:网站首页 > 技术博客 > 正文

动态路由协议rip协议是怎样的?



虽然静态路由在某些时刻很有用,但是必须手工配置每条路由条目,对于大中型的网络或拓扑经常改变的情况,配置和维护静态路由的工作量变得非常繁重,因此使用动态路由也是必要的。
动态路由是网络中路由器之间互相通信,传递路由信息,利用收到的路由信息更新路由表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明网络发生了变化,路由选择软件就会重新计算路由,并发出新的路由信息。这些信息通告各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表,动态地反映网络拓扑的变化。
路由器在配置了接口的IP地址后,就会将直连网段存储在路由表中。对于非直连的网段,如果使用了静态路由,需要在路由器上配置到达目标网络所需要经过的下一条地址,也就是说,需要人为指定一条数据传输的路径,手工构造路由表。
动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况如链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发送故障,或存在其他可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。

1. 减少了管理任务:
因为动态路由的过程完全是由路由器自行完成的,管理员只需做简单的配置即可,路由学习、路由转发和路由维护的任务都是动态路由来完成的。配置了动态路由后,当网络拓扑发送变化时,不需要进行重新配置,动态路由会自己了解这些变化从而修改路由表。
2. 占用了网络带宽:
因为动态路由是通告与其他路由器通信来了解网络的,每个路由器都要告诉其他路由器自己所知道的网络信息,同时还要从其他路由器学习自己所不知道的网络信息,这样就不可避免地会发送信息包,而这些路由信息包会占用一定的网络带宽。

动态路由机制的运作依赖路由器的两个基本功能:

1. 路由器之间适时的交换路由信息:
动态路由之所以能够根据网络的情况自动计算路由、选择转发路 径,是由于当网络发送变化时,路由器之间彼此交换的路由信息会告 知对方网络的这种变化,通告信息扩散使所有路由器能得知网络变化。
2. 路由根据某种路由算法(不同的动态路由协议算法不同)把收集的 路由信息加工成路由表,供路由器在转发IP报文时查阅:
在网络发送变化时,收集到最新的路由信息后,路由算法重新计算,从而可以得到最新的路由表。
需要注意的是: 路由器之间的路由信息交换在不同的路由协议中的过程和原则是不同的。交换路由信息的最终目的在于通告路由表找到一条转发IP报文的“最佳”路径。每一种算法都有其衡量“最佳”的一套原则,大多是在综合多个特性的基础上进行计算,这些特性有:路径所包含的路由器节点数(hop count)、网络传输费用(cost)、带宽(bandwidth)、延迟(delay)、负载(load)、可靠性(reliability)和最大传输单元MTU(maximum transmission unit)。

静态路由协议对于大中型网络来说管理是困难的,但在小型网络种配置静态路由是十分方便的。
动态路由协议可以自动监测并随着网络拓扑的变化更新路由表。
静态路由和动态路由都有各自的特定和使用范围,在网络中静态路由和动态路由互相补充。
在所有的路由中,除直连路由外,静态路由的优先级最高。当一个恶包在路由器中进行路径选择时,路由器首先查找静态路由,如果查到则根据相应的静态路由进行转发分组,然后查找动态路由。当静态路由与动态路由发生冲突时,以静态路由为主。
静态路由:是通告手工管理的,网络管理员将其输入到路由器的配置中,每当互联网拓扑结构发送变化时,必须手工更新静态路由表。静态路由不能对网络的改变作出反应,一般用于网络规模不大,拓扑结构固定的网络中。
动态路由:是由管理员输入配置命令后启动动态路由选择协议后,无论何时从互联网收到新的信息,路由器都会通过动态路由协议机制自动更新。

动态路由协议是基于某种路由协议(RoutingProtocol)是实现的。路由协议定义了路由器在与其他路由器通信时的一些规则。也就是说,路由协议规定了路由器是如何来学习路由的,是用什么标准来选择路由及维护路由信息的,等等。
动态路由协议就像路由器之间用来交流信息的语音,通告它,路由器之间可以共享连接信息和状态信息。动态路由协议不局限于路由的选择和路由表的更新,当到达目的网络的最优路径出现问题时,动态路由协议可以在剩下的可以路径中,选择下一个最优路径进行替代。
每一种动态路由协议都有它自己的路由选择算法,算法是解决问题的一系列步骤。一个路由选择算法至少要具备以下几个必要的步骤。
1. 向其他路由器传递路由信息。
2. 接收其他路由器的路由信息。
3. 根据收到的路由信息计算出每个目的网络的最优路径,并由此生成路由表。
4. 根据网络拓扑的变化及时做出反应,调整路由生成新的路由表,同时把拓扑变化以路由信息的形式向其他路由器宣告。


当到达同一个网段有两条或者两条以上不同路径的时候,动态路由协议会选择一条最优的路径传输数据。
路由协议使用度量选择路径优劣的依据:不同的路由协议使用不同的度量,有时还使用多个度量。
直白来说就是路由器选路的依据。

在这里插入图片描述
1. 跳数(Hop Count): 度量可以简单记录路由器的跳数,如上图,R1要到达192.168.1.0,如果选择跳数作为度量值来衡量链路的优劣。那么就会选择跳数较少的路径转发数据,即R1–>R3–>192.168.1.0。但是R1–>R3真的是最优路径吗?R1–>R3的链路带宽只有19.2Kb/s,而R1–>R2–>R3的路径带宽却是2Mb/s。

2. 带宽(Bandwidth): 度量将会选择高带宽路径,而不是低带宽路径。如上图,如果将带宽作为度量值,选择 的路径应该是R1–>R2–>R3。然而带宽本身 可能不是一个好的度量。例如,一条被其他 流量过多占用的的2Mb/s链路,与一个 128Kb/s 的空闲链路相比到底谁更好呢?或者与一条高带宽但是延迟很大的链路相比 又如何呢?

3. 负载(Load): 度量反映了占用沿途链路的流量大小。最优路径 应该是负载最低的路径。跳数和带宽不同,路径上的负载会发送变化,因而度量也会跟着变化。这时需要注意,如果度量变化过于频繁、路由摆动(最优路径频繁变化)可能经常发送。路由摆动会对路由器的CPU、数据链路的带宽和全网的稳定性产生负面影响。

4. 时延(Delay): 度量反映了数据包经过一条路径所花费的时间。使用时延作为度量值的路由选择协议时将会选择使用最低时延的路径作为最优路径。

5. 可靠性(Reliability): 度量用来度量链路在某种情况下发生故 障的可能性。可靠性可以是变化的或固定的。链 路发生故障的次数或特定时间间隔内收到错位 的次数都是变化可靠性度量的例子。固定可靠性 度量是基于管理员确定的一条链路的已知量。可 靠性最高的路径被优先选择。

6. 成本(Cost): 是用来描述路由优劣的一个通用术语,最小成本(最高成本)或最短(最长)仅仅指的是路由协 议基于自己特定的度量对路径的一种看法。网络 管理员可以对成本进行手工定义。


动态路由选择协议必须包含一系列过程,这些过程用于路由器向其他路由器通告本地直连网络,接受并处理来自其他路由器的同类信息,中继从其他路由器接收到的信息。此外,路由选择协议还需要定义决定最优路径的度量。对路由协议来说,另一个标准是互联网络上所有路由器的路由表种的可达信息必须一致。使所有路由表都达到一致状态的过程称为收敛(Convergence)。全网实现信息共享及所有路由器计算最优路径所花费的时间的总和就是收敛时间。


常见的路由协议可以分为距离矢量路由协议和链路状态路由协议。其中距离矢量路由协议依据从源网络到目标网络所经过的路由器的个数来选择路由,典型的距离矢量路由协议有RIP和IGRP。链路状态路由协议会总和考虑从源网络到目标网络的各条路由的情况来选择路由,典型的链路状态路由协议有OSPR和IS-IS。
但动态路由协议又分为内部网关路由协议(IGP)和外部网关路由协 议(EGP)。也就是说动态路由协议即分为距离矢量路由协议和链路状态 路由协议又分为内部网关路由协议和外部网关路由协议。 距离矢量路由协议和链路状态路由协议主要起到决定路由选择路 径的作用。
内部网关路由协议和外部网关路由协议主要起到动态路由协议使用 场景的作用(公网运营商设备)。
也可以把距离矢量和链路状态路由协议全归结属于内部网关路由协
议因为它们属于的协议全部属于内部网关路由协议(如下图)。

  • 距离矢量路由协议: 距离矢量名称的由来是因为路由是以矢量(距离、方向)的方式通告出去的,其中距离是根据度量定义的,方向是根据下一跳路由器定义的。例如,“朝下一跳路由器X的方向可以到达 目标A,据此5跳之远”,这个表述隐含着每个路由器向邻居路由器学习它们所观察到的路由信息,而邻居路由器又从它们邻居路由器哪里学习路由,依次类推,所以距离矢量路由选择时又被认为是“依照传闻进行路由选择”。
  • 链路状态路由协议: 距离矢量路由协议所使用的信息可以比喻为路标提供的信息,而链路状态路由协议像是一张线路图。链路状态路由器是不容易被欺骗而做 出错误的路由决策的,因为它有一张完整的网 络图。链路状态不同于距离矢量依照传闻进行路由选择的工作方式,原因是链路状态路由器从对等路由器哪里获取第一手信息。每台路由 器会产生一些关于自己、本地直连网络及这些链路状态的信息。这些信息从一台路由器传送到另一台路由器,每台路由器都做一份信息备份,但是绝不改动信息。最终目的是每台路由器都有一个相同的有关网络互联的信息,并且每台路由器可以独立计算各自的最优路径。
  • 内部网关路由协议: 就是在内网中的私网地址之间使用的路由协议。
  • 外部网关路由协议: 外部网关路由协议就是在公网上公网地址之间使用的路由协议。

各路由协议类型


在学习RIP协议之前,先了解几个路径矢量路由协议的概念。

  • 定期更新(Periodic Updates): 定期更新意味着每经过特定的时间周期就要发送更新信息。需要注意,如果更新信息的发送过于频繁可能引起拥塞,但如果更新信息不频繁, 网络收敛时间可能长得难以接受。
  • 邻居(Neighords): 在路由器看来,邻居通常意味着共享相同数据链路的路由器。距离矢量路由选择协议想邻居路由器发送更新信息,并依赖邻居向它的邻居传递更新信息。因此,距离矢量路由协议被认为是使用逐跳更新方式的。
  • 广播更新(Broadcast Update): 当路由器首次在网络上被激活时,最简单的方式是广播地址(在IP网络中,广播地址是 255.255.255.255)发送更新信息。使用相同的路由选择 协议的邻居路由器将会收到广播数据包,并且采取相应的动作。不关心路由更新信息的主机和其他设备会丢弃 该数据包。
  • 全路由表更新(Full Routing Table Update): 大多数距离矢量路由协议使用非常简单的方法告诉邻居路由器它所知道的一切,该方法就是广播它的整个路由表。邻居在收到这些更新信息之后,会收集自己需要的信息,其他则丢弃。

RIP是Routing Information Protocol(路由信息)的简称,它是一种较为简单的内部网关路由协议(Interior Gateay Protocol),是内部网关协议IGP中最先得到广泛使用的协议。RIP是基于距离矢量的路由选择协议,是因特网标准协议,其最大优点就是实现简单,开销较小,适用于网络拓扑较小的环境。

它是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为唯一度量值来衡量到达目的网络的距离,最大跳数 15 跳 16 跳为不可达。RIP通过UDP报文进行路由信息的交换,使用端口号为520,每30秒发送一次路由信息更新。

路由信息协议(Routing Information Protocol,缩写:RIP)是一种使用最广泛的内部网关协议(IGP)。(IGP)是在内部网络上使用的路由协议(在少数情形下,也可以用于连接到因特网的网络),它可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达哪些网络,这些网络有多远等。 IGP 是应用层协议,并使用UDP作为传输协议。

RIP包含RIP-1、RIP-2、RIPng三个版本,RIP-2对RIP-1进行了扩充,使其更具有优势,RIP-1和IPR-2应用在IPV4环境中,RIPng则应用在IPV6环境中。


  • RIP度量值: RIP路由协议使用跳数作为唯一度量值,在RIP中规 定了跳数的最大值为15,16跳为不可达。因此RIP路由协议不适用大型的广域网。
  • RIP更新时间: RIP使用UDP协议,端口520。路由器启动后,平均每隔30s就从每个启动RIP协议的接口不断地发送路 由更新消息。使用命令show ip protocols命令可以 查看更新时间。

  • 定期更新: 根据所设置的更新计时器定期发送RIP路由通告(30秒定期更新路由信息)。该通告报文中携带了除“水平分割 “机制抑制的RIP路由之外本地路由中的所有RIP路由信息。
  • 触发更新: RIP路由器仅在有路由表项发送变化时发送的RIP路由 通告,仅携带本地路由表中有变化的路由信息。RIP路由器一旦察觉到网络变化,就尽快甚至是立即发送更新报文,而不等待更新周期结束。只要触发更新的速度足够大,就可以大大的预防“计数到无穷的”的发生,但是这一现象还是有可能发生的。
    无论是定期更新,还是触发更新,RIP路由的更新规则如下:

1. 如果更新的某路由表项在路由表中没有,则直接在路由表中添加改路由表现。
2. 如果路由表中已有相同目的网络的路由表项,且来源端口相 同,那么无条件根据最新的路由信息更新其路由表。
3. 如果路由表中已有相同目的网络的路由表项,但来源端口不同,则要比较它们的度量值,将度量值较小的一个作为自己的路由表项。
4. 如果路由表中已有相同目的网络的路由表项,且度量值相等,则保留已有的路由表项不做更改。


  • 更新计时器(Update Timer) RIP协议平均每30s(默认值)
    从每个启动 RIP 协议的接口不断发送响应消息。这个周期性的更新又更新计时器进行初始化,并且包含一个随机变化量用来防止表的同步。
  • 超时计时器(Timeout Timer): 超时计时器也就是失效计时器,超时计时器用来限制停留在路由选择表中的路由未被更新的时间。五类什么时候,当有一条新的路由建立后,超时计时器就会被初始化为 180s(默认值), 而每当接收到这条路由的更新报文时,超时计时器又将被重置成计时器的初始值。如果一条路由的更新在180s(6个更新周期)内还没有收到,那么这条路由的跳数将变成16,也就是标记不可达路由。
  • 刷新计时器(Flush Timer): 也叫垃圾收集,这个计时器所设置的时间长度一般比超时计时器的时间长240~60s (Cisco路由器使用60s的刷新收集计时器,虽然RFC1058规定为120s)。也就是超时计时器的180s 到期后再加 60s 也就是 240s 为刷新计时器的时间 (可以更改)。如果刷新计时器也超时了,则该路由器将被通告为一条度量值为不可达的路由,同时从路由选择表中删除该路由。
  • 抑制计时器(Holddown Timer): 用于抑制更新机制,Cisco的路由器中允许的 RIP 协议使用了它们。如果一条路由表更新的跳数大于路由选择表已记录的该路由的跳数,那么将会引起该路由进入长达180s(即6个更新周期)的抑制状态节点。


RIP包含RIP-v1、RIP-v2、RIPng三个版本,RIP-2对RIP-1进行了扩充,使其更具有优势,RIP-1和IPR-2应用在IPV4环境中,RIPng 则应用在IPV6环境中。
RIP路由协议版本对比


 

有类路由: 提取出来的是真正属于A、B、C类的网络地址。
无类路由: 提取出来的是每个小网络真正的网络地址,它并不属于 A、 B、C中的任何一类。


  • 距离矢量路由协议
  • 定期更新:30s更新一次。
  • 邻居:使用相同协议的路由器。
  • 广播更新:255.255.255.255
  • 组播更新: 224.0.0.9
  • 全路由表更新
  • 最大跳数15跳,16跳为不可达
  • 通告时不携带子网(RIP-v1)
  • RIP是自治系统内部使用的协议即内部网关协议,使用的是距离矢量算法。
  • RIP使用UDP的520端口进行RIP进程之间的通信。
  • RIP主要有两个版本: RIPv1和RIPv2。RIPv1协议的具体描述在 RFC1058中,RIPv2是对RIPv1协议的 改进,其协议的具体描述在RFC2453中。
  • RIP协议以跳数作为网络度量值
  • RIP协议采用广播或组播进行路由更新,其中RIPv1使用广播,而RIPv2使用组播(224.0.0.9)。
  • RIP协议支持主机被动模式,即RIP协议允许主机只接收和更新路由信息而不发送信息。
  • RIP协议支持默认路由传播。
  • RIP协议的网络直径不超过15跳,适合于中小型网络。16跳时认为网络不可达。
  • RIPv1是有类路由协议,RIPv2是无类路由协议,即RIPv2的报文中含有掩码信息。

优点: 配置实现简单、开销较小、问题定位快、适用于网络规模小的环境。
缺点: 本身的度量值限制了网络规模、交换完整的路由信息随着网络规模的扩大开销也叫增加了、坏消息传播的慢使更新过程收敛时间较长。


 

)

 

在这里插入图片描述但是,在R3的更新周期到来之前,R2的更新周期已经到了,R2会向每 个运行RIP的接口发送整个路由表的信息,R3就能够接收到关40.0.0.0 网段的信息,跳数为1跳。R3不知道R2通告的下一跳最优路径并不合理, 而是经过比较,用这个路由信息代替了40.0.0.0跳数为6跳的条目,并将 跳数加1,因此在R3的路由表中就出现了网段40.0.0.0,跳数为2,下一跳 地址为R2的接口地址的条目,如图“路由环路(3)”

 

在这里插入图片描述此时有一个访问40.0.0.0网段的数据包发送到了R2上,那么这个 数据包就会被R2转发给R3,在被R3转发给R2,不断循环,直到TTL值变 成0才被丢弃,这样就产生了路由环路。

执行水平分割可以阻止路由环路的发生,水平分割的规则是:从一个接 口学习到的路由信息,不在从这个接口发出去,如下图“水平分割”不仅能够阻止路由环路的产生,同时能够减少路由更新信息占用的链路带宽资源。

 

在这里插入图片描述


 

在这里插入图片描述在这里插入图片描述

 

在这里插入图片描述

这里就不演示安装GNS3和路由了,直接上实验拓扑图。
这里提供了软件包可以参考其他文章进行安装。
GNS3网盘共享地址
提取码:6789

 

在这里插入图片描述
路由器R1配置

 

路由器R2配置

 

路由器R3配置

 

路由器R4配置

 

PC1配置

 

PC2配置

 

PC1和PC2互ping测试连通性

 
 

从上面查询的路由表信息中可以看出:
R:表示RIP路由协议
C:直连网段路由
S:静态路由
B:BGP路由协议
D:EIGRP路由协议
O:OSPF
N1:为OSPF的宣告类型1
N2:为OSPF的宣告类型2
E1:为OSPF的内部路由
E2:为OSPF的外部路由
i:为IS-IS路由协议
L1:为IS-IS的类型1路由协议

例:C 192.168.4.0/24 is directly connected, FastEthernet3/0
该字段中的C表示直连网段,192.168.4.0/24表示目标网段,FastEthernet3/0表示下一跳接口。
例:R 192.168.1.0/24 [120/3] via 192.168.4.1, 00:00:02,FastEthernet3/0
该字段中R表示使用的是RIP路由协议,192.168.1.0/24表示达到 的目标网段,120表示为RIP协议的优先级,3达到目标网络的跳数(也就是需要经过3个路由器),FastEthernet3/0表示下一跳接口地址。

 

时间字段位置依次为:
更新时间(计时器)、超时失效时间(计时器)、抑制时间(计时器)、刷新时间(计时器)


                            

  • 上一篇: libcurl.lib
  • 下一篇: 卷积时延特性
  • 版权声明


    相关文章:

  • libcurl.lib2025-01-10 07:30:02
  • fopen函数使用2025-01-10 07:30:02
  • ajax请求写法2025-01-10 07:30:02
  • greendao数据库升级2025-01-10 07:30:02
  • xml中注释的写法2025-01-10 07:30:02
  • 卷积时延特性2025-01-10 07:30:02
  • rgb格式图片怎么转换2025-01-10 07:30:02
  • java注解重要吗2025-01-10 07:30:02
  • java面试宝典pdf免费下载2025-01-10 07:30:02
  • java并发编程实战王宝令2025-01-10 07:30:02