• RIP


    本章简介

    l  RIP路由的全称,类型,应用场景,缺点

    l  rip的工作原理

    l  rip的配置,验证

    RIP路由的全称,类型,应用场景,缺点:

    RIP:路由信息协议(route  information  protocol),典型的距离矢量(distance-vector)算法协议,使用跳数做为度量来衡量到达目的网络的距离,RIP主要应用在较小的网络当中,缺点是古老,收敛速度慢。

    rip的工作原理及特性

    当一个路由配置了rip协议之后,会把自己直连的网段向宣告的接口发布,要深刻理解这名话,即使接口连着PC路由依然会向该接口发布。

    宣告某个接口不仅意味着把此接口的网段宣告出去,还意味着从别的地方学习进来的网段宣告进来。发给PC又什么用呢?PC是看不懂rip报文的,rip还是一如既往的给PC发,可以通过在PC上抓包验证,为了避免这个情况,rip有一个机制叫被动接口,把一个接口配置成被动接口之后该接口意味着不会通过方式接口再向外发布rip学习到的网段,被动接口的机制会在下文有介绍。

    rip的特性,通告时使用的是224.0.0.9这个组播地址,每隔30秒左右通告一次,报文里面存放的路由信息,在下面会验证一下rip的工作特性。

    实验拓扑

    配置套路

    [R1]rip      #rip直接回车即可,会自动分配一个进程号
    [R1-rip-1]version 2   #启用版本2,不用深究版本2有什么优点
    [R1-rip-1]undo summary    #关闭自动汇总,不用深究 
    [R1-rip-1]network 192.168.0.0  #设置向外宣告的主类网段,只能写网段不能写具体地址
    [R1-rip-1]network 12.0.0.0     #不同写子网掩码,会自动匹配子网掩码,根据主类来判断,而不是接口的mask
    [R1-rip-1]silent-interface e0/0/0    #把e0/0/0配置成被动接口,因为这个接口连接是PC

    这样的话路由不会向这个接口发送路由信息了,还节省了带宽,注意,只是不把路由信息发送给静默接口了,但还是会把接口给宣告出去的,所以说静默是单向的,该宣告的还得宣告,宣告还是不宣告取决了network

    查看配置

    [R1]dis current-configuration | begin rip       

    开销的计算

    由于rip是非常古老距离矢量协议,开销的计算仅靠跳数来计算,比如,就像上图当中R1路由到192.168.1.0网段要过两个路由器,所以开销就是2.

    抓包验证rip的工作特性(包已收入到百度云盘)

    l  重点体会30秒左右通告一次rip信息,240秒之后收不到某个网段的信息就认为挂了。

    l  使用的协议,源端口和目标端口皆是520

    l  体会每过一个路由器跳数都会加1,rip只看距离远近,也就是看跳数来衡量,16认为就不可达了,最大只能传递15跳,这也是rip的缺点,15个路由器已经很长了。

    通过上图我们看到第一个包和第三个包的源地址是12.0.0.2,相隔的时候是30秒左右,第二个包和第四个包也是如此。

    还能看出无论源地址是哪个接口,目标IP都是224.0.0.9这个组播地址。

    通过上图还能看到其目标端口和源端口都是520,RIP协议是建立在UDP的基础上的,我们还可以看到RIP发送的信息内容,到23.0.0.0需要过一个路由器,到192.168.1.0需要过两个路由器。

    为何是组播?

    很有可能是一个路由接了很多个路由器,如下图的1号路由,只要组播一份rip信息,2号和3号路由就都能收到,不能换个给2号和3号发,节省带宽。

    当rip与默认路由共享时,路由器会选择谁

    我们知道rip的优先级是100,而静态路由的优先级是60.

    上图当中的1,2线路是rip, 而2,3线路是静态,按照说当个路由同时存在时应当选择路由优先级比较小的那个路由,因为优先级意味着更优,就应该先选择默认路由,但是实际上会选择rip路由,当图中的两台PC相ping时是走1,2线路的,并不会走3和4线路。

    所以在这里充分体现了默认路由是替补,只要一个正规队员在在场,替补就不能上。

    而普通的静态路由则不然,当普通的静态路由和rip同时存在时,都有到达某一个目标的信息时,只会保存优先级最小的那个,也就是会保留普通静态。

  • 相关阅读:
    数据库三大范式另一角度的理解
    Log4j和Slf4j的联系和区别
    cglib和Jdk的对比
    Git- 忽略文件 ignore 无效
    GIT报错:git did not exit cleanly (exit code 1)
    Nginx和Zuul配合使用后,Cookie写入问题
    RabbitMQ报错:undefined: There is no template at js/tmpl/login.ejs
    Feign报错:The bean 'xxxxx.FeignClientSpecification' could not be registered.
    ES报错:NoNodeAvailableException[None of the configured nodes are available
    SpringBoot报错:
  • 原文地址:https://www.cnblogs.com/yizhangheka/p/11869154.html
Copyright © 2020-2023  润新知