‘壹’ 网络里面RIP是什么
简单说,RIP 是路由信息协议( Routing Information Protocol)的缩写。它是一种动态路由选择协议。RIP协议基于距离矢量算法衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的网络,只与自己相邻的路由器交换信息。RIP 应用于 OSI 参考模型的第七层(即应用层)。
‘贰’ 路由选择协议——RIP协议
从本文开始介绍路由选择协议,也就是讨论路由表中的路由是怎么形成的。
本文内容
从路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,可以分为: 静态路由选择策略 和 动态路由选择策略 。
(1) 静态路由选择策略 :即手工配每一条置路由。
优点:简单,开销小。
缺点:只适用小网络,难以适应网络状态的变化。
(2) 动态路由选择策略 :又叫自适应路由选择。
优点:能较好适应网络状态的变化,适用于大网络。
缺点:实现复杂,开销大。
由于互联网规模非常大,可以把互联网划分为许多较小的 自治系统 (autonomous system),记为 AS 。每个自治系统通常在相同管理控制下的路由器组成,在一个AS中的路由器都全部运行在同样的路由算法。各个AS之间彼此是互联的,因此一个AS中有一个或多个路由器用于不同AS之间的通信,即负责将本AS之外的目的地址转发分组,这些路由器称为 网关路由器 。
根据上面描述,可以将路由选择协议划分为两个大类: 内部网关协议 和 外部网关协议 。
(1) 内部网关协议IGP (Interior Gateway Protocol):即在一个自治系统内不使用的路由选择协议,常见的协议有RIP、OSPF协议。
(2) 外部网关协议EGP (External Gateway Protocol):用于实现不同自治系统之间通信的传递,这样的协议就是EGP协议,目前使用最多的就是BGP的版本4(BGP-4)。
自治系统之间的路由选择也叫 域间路由选择 ,在自治系统之内的路由选择也叫 域内路由选择 。
RIP(Routing Information Protocol)协议——路由信息协议,是一种分布式的 基于距离向量的路由选择协议 ,最大的优点是简单。
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录( 距离向量 )。RIP协议对距离的定义如下:
RIP协议是通过 每个路由器要不断的和其他路由器交换路由信息 ,从而达到自治系统中所有节点都得到正确的路由信息。
RIP协议考虑了和哪些路由器交换信息、交换什么信息以及什么时候交换信息这三个问题,RIP协议特点:
路由器在刚开始工作时,它的路由表是空的,然后路由器就得出到直接相连的几个网络的距离(这些距离为1),接着每个络器也只是和自己相邻的路由器交换并更新信息。经过若干次交换后,所有路由器都会知道到达本自治系统汇总任何一个网络的最短距离和下一跳地址。
对每一个相邻路由器发送过来的RIP报文,会进行一下步骤:
(1) 路由器R1接收到其相邻路由器R2发送过来的报文,先修改此报文的所有项目:把“下一条”字段中的地址都改为R2,并把所有的“距离”字段的值加1 。每个项目都有三个关键字段:到目的网络 N ,距离是 d ,下一跳路由器是 X 。
(2) 对修改后的RIP报文中的每一项,进行以下步骤:
1) 若原来的路由表中没有网络N,则把该项目添加到路由表中 。
2) 如果R1路由表中已经有目的网络N,这时查看下一跳的地址,如果下一跳地址是R2,则把收到的项目替换原路由表中的项目 。
如果下一跳的地址不是R2,那么如果收到项目中距离小于路由表中的距离,则进行替换,否则什么也不做。
(3) 若3分钟还没有收到相邻路由器的更新路由表,则把此路由器记为不可达的距离,即把距离设置为16 。
(4) 返回 。
RIP存在一个问题是当网络出现故障时,要经过比较长的时间才能将磁信息传送到所有的路由器。这一特点叫做: 好消息传得快,坏消息传得慢。
如下图所示,在正常的情况下,R1和R2交换信息,其中只画出了达到的网络1的表项。
如果路由器R1到网1的链路出现了故障,R1无法达到网1,于是路由器R1把到网1的距离改为16(表示网1不可达),因而R1路由表响应的项目变为 “1,16,直接交付”。但是,可能需要经过30s后R1,才能把更新信息发送给R2,,然而R2可能已经先把自己的路由表发送给了R1,其中有到达网1的这一项 “1,2,R1”。
R1收到R2的更新报文后,会误认为自己无法直接到达网1,但是可经过R2到达网1,于是把收到的路由信息 “1,2,R1” 修改为 “1,3,R2”,表明“我到网1的距离是3,下一跳的R2”。
同理,R2接收到又会更新自己的路由表为 “1,4,R1”,以为“我到网1的距离为4,下一跳为R1”....就这样一直更新下去,知道R1和R2到网1的距离为16时,R1和R2才知道网1是不可达的。所以,这就是:好消息传得快,坏消息传得慢的原因。