动态路由协议 RIP 协议( 上 ) 详解

预备知识  :

              我们在前面介绍动态路由协议时就提到,动态路由协议是 路由器之间相互沟通交流,传

              送路由条目, 那 路由条目里 那么多参数,是都要发送嘛??

              我们先来看下 一个路由表里的条目都有哪些参数 :

               =====>>>  

              

              #     红色圈出的就是 路由表中的所有参数,但是,发送条目时只选取部分参数发送 :

                     只发送  :  Destination/Mask (  目标网段 和 掩码 ) 

                                        Cost  值 

                     其余的参数都可以通过 Bellman-Ford 算法全部算出来 !!

                     这个 Cost 值 就需要我们再介绍下了 !

               #     Cost  值 

                      其实,在路由条目传送的时候它是叫  度量值( Metric )  但是为什么在路由表中叫

                      Cost  值呢 ??

                      ====>>  其实,都一样,只不过仅仅就是在 华为设备中 就把它叫 Cost 值 ,你想这

                                     个道理嘛, Cost 花费的意思嘛,和 度量 一个意思,就仅仅只是在设备中

                                     叫  Cost  而已 !!    度量值 开销值 一个意思!!!!

                   

                    *    哪是什么的开销呢 ???

                          路由条目不就是给你选择了一条路径嘛,就是你选择走这条路径的开销,花费!

                          就相当于我们用导航 选择道路去走,那肯定就会花费 时间呀,距离呀 精力呀等等

                          那你现在要选择这条路由去传递信息,那肯定也会有 花销的呀!!

                    *     那为什么之前     直连路由   静态开销都是 0 呢 ??

                           直连路由开销为 0  ?

                                    ====>>>

                                            直连路由你先在脑海中过一下这个样子, 它就相当于,你要旅游,

                                            结果一开家门就到了,就在眼前,所以就相当于 没咋花费,没有

                                            开销!!

                            静态路由 开销也是 0 ??

                                     ==== >>>

                                              静态路由就跟 直连路由不是一个解释了,你静态路由也是有花费的

                                              啊,那为什么写0呢??

                                              你知道的,静态路由是怎么配的??  是你 “人”  手工配的啊!!!怎

                                              么选路? 走哪里?都是你这个人 自己指定的,你决定的啊!! 已经

                                              跟设备没有关系了,因为设备已经影响不到了,根本就没法影响

                                              啊!! 怎么影响?? 人 能听设备的嘛 ?? 

                                              人怎么配,设备就怎么走!! 完全由人影响的!! 

                     *       哪动态路由的开销值是怎样的呢 ?? 

                                             动态路由就跟上面的两个完全不一样了( 直连路由  静态路由 )因为

                                             动态路由完全是设备自己计算决定出来的,那肯定也会有计算出多条

                                             路径的时候呀!!   那计算出多条路径的时候,是不是就得牵扯到选

                                             择了,怎么选路径???    

                                              ====>>>       这就牵扯到    开销了   !!!

                                 

                               因此,我们前面铺垫了那么多,为什么在动态路由详细介绍了 开销值 :

                               ===>>> 

                               开销值  是动态路由选路的重要依据!!!!

                       

                     *      那么这个选路依据到底是怎样的???

                              举例 : 如果是导航的话,有时选路的依据就有很多啊, 时间,距离,烧油等

                                          等都可以作为依据!

                               那开销值的评判标准是怎样的呢 :

                               ===>>    首先,还得清楚一点:

                                         不同动态路由协议 开销值的度量标准是不一样的!!!!

                                         同一种动态路由协议比较 开销值!!!!

                                         所以, 不同路由协议之间比较开销值是没有意义的,需要比较优先级

                               ===>>>

                                  动态路由的选路依据 : 同一种动态路由协议到达相同目标具有多条路

                                                                        径时,比较开销值,开销值最小的作为使用路径!!

            

                          *    RIP 是以 跳数  作为开销值                                        

                               复习下 跳数是啥 :  每经过路由器一次 跳数为 1 经过几次就为几!

                                

                                    我们以上图示例 :

                                                       AR1 要与 AR10 通讯, 显然有两条路,但上面的链路为 1000M

                                                      下面的链路为 100M !

                                                       那现在,倘若上面的拓扑执行的时 RIP 协议,它会怎么选??

                                                       它就选择的是  下面的链路了!!(  因为下面是 2 跳 )

                                                       但是,如果是让人来选择的话,那就选择上面的链路了,

                                                      1000 M嘛  就相当于 路很宽嘛,好走!!

                                     因此, RIP 以 跳数作为度量值,本身选路存在不合理性!! 

                                     那现在,我们把上图做一点小小的改变,给下面的链路再增加一个 路由

                                     器,之间的链路还是  100 M  (  就相当于 现在下面也是  3 跳了 )

                                     RIP  会怎么办?

                                      ===>>>    如果是 人配的话,开销相似时,则 负载均衡,会把两条路径都

                                                       配置上,起到叠加带宽的作用;

                                                       RIP  也是如此 支持 等开销负载均衡 

                                                       ( 但是,要注意的是,要是实际上开销并不均衡时,会受到慢

                                                            的链路拖累,反而耽搁了通讯效率)

                                                        因此,本例是不适合 做负载均衡的 ( 链路带宽就不一样相差

                                                       太大)   我们只是想说明 RIP 也是支持 负载均衡!!

                                开销值 在 传送路由的时候是怎么 携带的??  

                                  我们前面说了,在传送中,携带两个参数值(  目标网段 开销值)

                                   现在解释下 是怎么携带 开销值的 :

                                   开销值在携带中的值等于本地路由表中对应网段的开销值 加一

                                   示例  :

                                    

                                       解释上图 :   

                                                          现在要把 2.2.2.0/24  发给 AR4  那么就携带两个信息呀

                                                          携带 (  2.2.2.0/24    cost = 1 )   2.2.2.0/24 你可能好理解

                                                          携带里的 cost = 1 是怎么来的呢 ?

                                                          我们知道 开销值在携带中的值是 本地路由表中的开销值加一

                                                          而 2.2.2.0/24 在本地路由的开销值是多少 ?

                                                          是 0 啊 (  直连路由呀!) 

                                                          那么 AR4 收到后,路由表里就会多条路由

                                                         ( 去往 2.2.2.0 /24 的路由 其开销值是 1 ) 

                                                           你验证显然正确 开销值为1 就是要经过 AR5 转发! 

                                     示例 :

                                     

                                        现在 又由一台 AR3 路由器,那么 AR3 也需要 2.2.2.0 网段的信息,即由

                                        AR4 的转发, 那么携带的开销值即为 2  ( 因为本地的开销值为刚才 新

                                       增在路由表中的路由条目的开销值即为 1 啊,所以携带的开销值为  1 + 

                                        1 = 2 )

                                        同理 当 AR3 收到后,也会添加在 自己的路由表中,显然 验证也是正确

                                        的 cost 为 2 ; AR3 要去往 2.2.2.0 /24 的话的确是需要 经过 AR4 、AR5

                                         两次转发!!  

 

             #     RIP 优先级 

                                刚才我们讲了一大段的 开销值,现在再顺便提下 优先级( 前面不也说了,不

                                同协议之间是要比 优先级的) 每个协议 设备,都是有个默认的 优先级的!

                                我们学过静态路由,华为设备中的默认优先级是 60 !

                                那么, RIP  的优先级是多少?

                                ==>>    100    

                                优先级 是越小越好,所以它的优先级 是比较低的,不太具备竞争力,

                                RIP   的设计者也是清楚 RIP 本身也是有很多问题的( 后面再讲 )

                                他定义 RIP 就是适用于小型的拓扑网络中的动态路由协议,他给 RIP 设置了

                                一个 工作半径15 跳  ( RIP 不是以 跳数作为 开销值的嘛 )  

                                也就是说 只要 RIP 的开销值超过了 15 跳, 就认为 RIP 协议是没法到达的!

                                开销值 为 16 跳 的时候 就 认定 该目标网段不可达!!

               #     Bellman-Ford 算法

                     首先,在介绍该算法之前,先回忆一下,该算法是服务于 DV 距离矢量型协议的,典

                     型的协议就像 RIP ,  EIGRP  协议!

                     该算法把 路由器相互之间收到的数据分为了以下四种情况 :

                     (  我们就以上示 AR5 把   2.2.2.0/24   发往 AR4    为例 )  

                       

                       *      情况一  :

                               AR5 发给 AR4  的路由信息时 2.2.2.0/24  网段,并且,AR1 本地路由表中并不

                               存在 2.2.2.0/24  网段信息 :

                                则, AR4 将 AR5 发来的信息刷新在本地路由表中 :

Destination/Mask    Proto      Pre     Cost    Flags   NextHop       Interface
   2.2.2.0/24        RIP       100      1              12.0.0.2       G 0/0/0

                              上示所有参数即 AR4 刷新后的参数,其中 Flags 为本地参数标记,我们不做解

                              释;   后两个参数  其中 NextHop  就是下一跳 (  AR4 刚才所刷新的数据包,是

                              谁从哪个接口给AR4 发过来的,NextHop 就写哪个接口)  Interface 是出接口

                               ( 它是AR4 所收的那个数据包从AR4 的那个接口进来的,就写那个接口 )

                     

                        *       情况二  : 

                                AR5 发给AR4 的路由信息是 2.2.2.0/24 网段,并且,AR4 本地已经存在前往

                                2.2.2.0/24 网段的信息,并且,下一跳也是 AR5,则将 AR5 发送的路由信息

                                刷新到本地路由表中!

                               

                             情况三  :

                                AR5 发给AR4 的路由信息是 2.2.2.0/24 网段,并且,AR4 本地已经存在前往

                                2.2.2.0/24 网段的信息,但是,下一跳不是 AR5 ,则需要比对 Cost 值

                                如果本地的开销值 大于  AR5 发来的开销值,则将 AR5 发来的路由信息刷新

                                到本地路由表中! 

                        *       情况四

                                AR5 发给AR4 的路由信息是 2.2.2.0/24 网段,并且,AR4 本地已经存在前往

                                2.2.2.0/24 网段的信息,但是,下一跳不是 AR5 ,则比对 开销值 ( Cost 值)

                                如果本地的开销值小于 AR5 发来的开销值,则不刷新!!

                      :  

                                当你充分理解上示 四种情况后,你就明白了 DV 距离矢量型协议背后所支撑的

                                算法是怎样的,也就想清楚了为什么 叫做 距离矢量型 协议了!

                                距离 : 体现在 开销值上 ( 开销就体现在 路的远近 )

                                矢量 : 是带有方向的,而方向体现在哪里( 体现在 下一跳 和 出接口的计算

                                             上,因为 下一跳出接口 就决定了 路是朝着哪个方向走的!!)

                      :  下一篇  RIP  主篇!

                                

              
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值