day19、3 - 动态路由协议RIP

一、动态路由协议概述

1.动态路由器是什么

  • 我们以前学过,给路由器接口配置好IP并开启后,路由器的路由表中会自动形成直连路由器条目,但是非直连网段的路由条目需要手工去配置静态路由等

    image-20211113174625444
  • 但是现在如果使用动态路由器,那么就不需要手动配置路由条目,因为连接的路由器之间会通过某种协议相互交流学习

    image-20211113174901032
  • 而且如果r3路由器周围的网段发生了变化,它自己包括其他路由器学习到后会及时的做出反应更新路由信息

    image-20211113175045029

2.动态和静态路由器使用场景

  • 网络拓扑图太大,且经常发生变化则推荐使用动态路由器:经常变动的路由信息不用工程师手动去配减少管理任务,路由器自己会更轻松更及时的更新。
  • 在网段十分稳定的网络中推荐使用静态路由器:因为网络稳定即路由信息就很少发生变动,如果使用动态路由器由于它们之间会相互通信会占有一定的带宽,效率降低。此网络中只需要使用静态路由器手动将路由表配置完整即可
  • 所以网络中静态路由和动态路由互相补充

3.动态路由协议是什么

  • 动态路由协议:路由器之间用来交换信息的语言。即动态路由协议不止一种
  • 动态路由器之间交流学习需要共用同一种协议,这类协议就叫动态路由协议。如果要配置动态路由器,需要路由器内置并支持某种动态路由协议的,才可以完成动态路由功能

4.度量值

  • 如果在一个网络中出现有多条路径可以到达一个网段,比如下图中:r1可以先通过r2再到r3最后到达目标网段;也可以通过直接到r3最后到达目标网段。而r1,r2,r3都是动态路由器,那么r1如何动态学习路由表选择最佳路由路径呢

    image-20211113181423783
  • 那么此时就会有一个度量值来评判:跳数、带宽、负载、时延、可靠性、成本。不同的动态路由协议依据的度量值是不同的。比如有的协议以跳数作为度量值,那么r1通过与r2、r3交流比较度量值,最终会学习路由到192.168.1.0/24网段的下一跳为r3的端口,不会走r2;而有的协议以带宽、实验、负载作为度量值,那么r1最终会学习路由到目标网段的下一跳为r2的端口。所以选择不同的协议由于每种协议的度量值不同,会导致路由路径的选择不同,速度与效率也不同

  • 即有多条路径选择时,度量值是选择路径的标准

5.路由协议分类

按照路由执行的算法分类:可分为距离矢量路由协议和链路状态路由协议。其实就是依据的度量值不同

  • 距离矢量路由协议:依据从源网络到目标网络所经过的路由器的个数选择路由(依据跳数度量值考虑)
    • 举例:RIP、IGRP等
  • 链路状态路由协议:综合考虑从源网络到目标网络的各条路径的情况选择路由(综合度量值考虑)
    • 举例:OSPF、IS-IS等

二、RIP–距离矢量路由协议

1.RIP基本概念

  • 广播更新:一旦给路由器启用了RIP协议,每隔30秒会将自己的路由表信息广播给邻居,即每隔30秒更新一次(可以自己修改时间间隔),内容为整个路由表信息
  • RIP的度量值为跳数最大跳数为15跳,16跳为不可达
  • RIP服务端口号UDP520端口。一旦路由器开启RIP协议,路由器上会开启UDP520端口来监听和发送RIP服务
  • 从邻居哪个端口上学习更新的路由信息,就将邻居发送此信息的端口IP作为新学习更新的网段的下一跳IP;而不是把邻居发来路由信息原封不动的抄过来!

2.RIP协议形成路由表过程

误区:一个网络中的路由器不一定会同时广播更新,因为比如r1路由器是10点开启的,那么下一次更新的时间是10点30秒;而r2路由器可能是10点5秒开启,那么下一次更新时间为10点35秒。即r1会先于r2广播发送自己的信息供邻居更新。不一定是同时刻一起发送的

  • 连接好开启端口配好IP路由器学习到直连路由(next hop为下一跳IP;metric为度量值,对RIP协议来说是跳数)

    image-20211113194103044
  • 更新周期30s到时,路由器会向邻居发送路由表。发送的是自己目前的路由表,邻居收到后会比对自己的路由表添加没有记录的网段的路由条目;如果有路由条目网段相同但是下一跳变了,会更新此路由条目

    image-20211113194140635
  • 再过30s,第二个更新周期到了再次向邻居发送路由表,一个路由条目每被作为新的条目学习一次,跳数就加一

    image-20211113194511335

3.RIP协议的路由环路问题

  • 假设现在所有的路由器已经动态学习完毕

    image-20211113195451382
  • 假如此时40网段断开了,r3会立马更新直连路由将40网段的路由条目的跳数改为16表示不可达。如果r3在下一次更新时间到来之前,r2到达广播更新时间发送自己的路由表信息给r3,r3学习发现40网段的下一跳和自己不一样,且跳数为1,则会更新自己的路由表,由于收到的广播源IP为30.1.1.1,则会将30.1.1.1作为40网段的下一跳。学到错误的路由条目

    image-20211113200229666image-20211113200308809

  • 当下一次r3更新周期到了向r2发送路由信息,r2收到后发现40网段的下一跳和自己的路由表上记录的不一样,则会将r3的学习过来,由于此信息的源IP为30.1.1.2,即从30.1.1.2发来的,所以会把30.1.1.2作为40网段的下一跳并将跳数加一。

    image-20211113200437158
  • 如此反复的循环下去,直到增加到16为止

    image-20211113201004203

4.水平分割阻止环路发生

  • 默认的RIP协议默认开启了水平分割功能,不需要手动去配置

  • 水平分割:从一个接口学习到路由信息,不再从这个接口发送出去。

    比如r2的40.0.0.0网段的路由条目的形成是通过r3发送路由信息,经过30.1.1.1最终被学习到的;那么r2下一次更新周期不会再把40网段的路由条目信息从30.1.1.1发送出去给r3

三、RIP协议相关命令

0.命令总结

  • rip version1的设置

    router rip
    version 1
    network 10.0.0.0
    network 172.16.0.0
    network 192.168.1.0
    exit
    
  • rip version2的设置

    Router rip
    version 2
    no auto-summary
    network 10.1.1.0
    network 172.16.1.0
    network 192.168.1.0
    exit
    

1.启用RIP协议

  • 或者称为启用RIP服务/开启UDP520端口

    router rip
    

2.选择rip版本

  • 可以选择RIP协议的版本:version1和version2两个版本,不选择默认version1(老版本),但是要配置必须所有动态路由器都使用同一个版本的RIP协议才行

    router rip
    version 1/2
    

3.激活端口

  • 激活路由器所有的端口,使端口可以发送和接收路由信息,不激活则不会发送从此端口发送路由信息

    router rip
    version 1/2
    network 网络地址
    #举例:一个路由器左边直连192.168.1.0/24网段,另一边直连10.1.1.0/24网段
    net work 192.168.1.0        #因为192开头的是C类地址,C类地址默认子网掩码为255.255.255.0,所以只需要写前24位即可
    net work 10.0.0.0         #因为10开头的是A类地址,A类地址默认子网掩码为255.0.0.0,所以只用写前8位即可
    

    network后面跟的不是网段IP配子网掩码,因为version1的rip协议不认识,它会根据你写的网段IP地址自动判断属于A/B/C/D/E类中哪一类地址,自动给你添加子网掩码。

4.查看路由表

  • 查看路由表中通过RIP协议学到的路由条目

    do sho ip route
    
    image-20211114103332467

R表示通过RIP协议学习到的路由条目,120表示通过rip协议学习到的路由条目管理距离值为120,而静态路由条目的管理距离值为1,所以如果同一个网段既手工配置了静态路由又自动通过RIP协议学到了路由条目,会优先根据此网段的静态路由条目路由帧,后面的数字是跳数(度量值)。

5.禁止地址自动汇总

  • 问题:为什么网段的子网掩码变了,因为rip协议发送的路由信息中不带子网掩码,那么会根据世界上的五大类地址:A类,B类,C类,D类,E类的特征来决定此网段的IP属于哪一类,并添加地址对应类的默认子网掩码。那么此时会出现一个问题:如果一个网络中有两个网段30.1.1.0/24和30.2.2.0/24,当r1发送路由信息给r2,r3也发送路由信息给r2,由于信息中不包含子网掩码,则r2会学习形成两台路由条目,都是30.0.0.0/8,跳数也相同,管理距离值也相同。那么此时如果有一个人想访问30.1.1.0/24网段中某IP,经过r2后会发送两份消息,一个往左走,一个往右走,那么这个人最终收到的回包是一个通一个不通一个通一个不通…

    image-20211113204857819
  • 解决方法:如何禁止路由器自动汇总网段的子网掩码,自作聪明的判断网段归属于哪一类地址自动添加子网掩码:一定先保证RIP协议是version2版本才能输入此命令,v1版本没有此功能

    router rip
    version 2     #一定是version2才有此功能
    no auto-summary    #禁止自动汇总
    network 10.1.1.0
    network 20.1.1.0
    exit
    

6.删除RIP协议

no router rip

7.查看启用的动态路由协议

do show ip protocols   #直接看
do sho ip route        #根据条目的开头字母判断
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值