目录
前言
在前面我们讲了路由的三种方式:直连路由、静态路由和动态路由。我们明白了静态路由与动态路由各有优缺点,静态路由适用于网络结构简单,稳定性高的小型网络,但适应网络变化能力差,而动态路由刚刚与之相反,具体可查看上一篇静态路由
动态路由协议
动态路由协议:通过在路由器上运行动态路由协议,在路由器之间交互路由信息,学习路由信息最终生成路由转发表项。常见的动态路由协议:RIP 、OSPF、ISIS、EIGRP、BGP。
动态路由协议适用场合:路由器数量较多、网段数量较多、网络结构复杂、网络灵活多变型结构
动态路由协议分类
1. 按照工作范围进行分类
IGP ---内部网关协议,一个AS内部使用的协议为IGP (RIP OSPF EIGRP ISIS)
BGP---边界网关协议,不同的AS之间使用的协议为BGP(范围)(BGP---协议名称)
AS--自治系统 , 范围1-65535 ,公有AS(1-64512) 和 私有AS(64513-65535)
一个AS自治系统处于一个管理机构控制之下的路由器和网络群组,你可以把它看成是一个国家的运营商(比如中国移动、中国电信这些)
2. 按照协议的特点进行分类:
距离矢量型(DV协议)(仅传递路由信息):RIP EIGRP (高级距离矢量型路由协议)
链路状态型(LS协议)(既传递路由信息又传递拓扑信息):OSPF ISIS
3. 按照是否传递网络掩码进行分类
有类别路由协议:不传递网络掩码(RIPV1)
无类别路由协议:传递网络掩码(其他)
解释:当不传递网络掩码时,你需要把它们分为A类地址、B类地址、C类地址,所以是有类别的,而传递了网络掩码后就不要分类别
RIP(路由信息协议 工业标准协议)
RIP介绍
基本信息
基本特性描述:
1.按照使用范围分类:IGP
2.按照算法特点分类:距离矢量型协议,算法贝尔曼-福特
3.按照是否传递网络掩码:RIPV1不携带,RIPV2携带
4.封装:RIP协议基于UDP封装,UDP端口号520
总结:RIPV1:有类别的距离矢量型路由协议;RIPV2:无类别的距离矢量型路由协议
RIP 协议版本:分为三个版本,RIPV1、RIPV2为IPV4服务;RIPNG(UDP端口号521)为IPV6提供服务
工作原理:周期性发送路由信息,传递路由,周期时间默认为30s;
消息数据包:request (请求),response(响应)
消息数据发送目标地址:RIPV1(255.255.255.255),RIPV2(224.0.0.9)
RIP协议默认优先级值:100(可以修改)
RIP协议cost开销值:默认值为0,路由信息每传递一次,值增加1,最大15,16代表不可达(防止环路)
RIP协议关键机制
1、RIP协议计时器:思科:更新 (30) 无效(180) 抑制(180) 刷新(240)
华为:更新 (30) 无效 (180) 回收(120)
计时器理解:思科设备中每隔30s会进行一次更新,如果有一条路由在30s时没有传递过来,设备会认为是UDP传输时没有传输过来,当到180s时还没有收到该条路由时,设备会把该路由认定为可能“死亡”,到了240s时还没收到的话就会把该路由从路由表中删除(抑制180s指的是该路由传过来时会有一个cost值,假设为1,如果180s内没有收到cost值为1的该路由,则会产生抑制 即不会添加其他cost值的路由,因为设备可能会认为该路由换了一条路走并且不是最优路由,等再过了一会时间(大概60s)后cost值为1的路由没有传过来才会添加其他cost值的路由)
华为设备也是每隔30s进行一次更新,在180s时一直没有收到该路由的信息时,会直接从路由表中删除,再过了120s后还是没有收到的话,会把该路由从RIP数据库中删除
2、水平分割机制:通过一个接口接收的路由不能再从该接口转发出去,但是从其它接口接受的路由可以转发
假设图:
在不知道水平分割机制前,我们可以想一下,如果R3传给了R2去往3.3.3.0网段的路由(简称为A路由),而R2在添加了A路由后会把这条路由分享给R1和R3,那么此时R3会添加这条路由吗?答案是不会因为R2传过来的这条路有优先级为100,cost为1,R3本身具有去往3.3.3.0网段的直连路由且优先级为0,所以导致R3的路由表中并不会添加这条路由。有一种特殊情况需要注意的是,当R3传给R2去往3.3.3.0网段的路由时,这条路由不存在了,那么当R2分享给R3去往3.3.3.0网段的路由时,R3是会添加这条路由的,但是R2的路由一开始是R3传给R2的,而R3此时去往3.3.3.0的网段是从R2学习过来的,所以这个时候会导致R2与R3之间不断循环传递这条路由(路由环路),知道开销值为15时才不进行传递
3、毒性逆转水平分割机制
在计时器的理解中我们或许会有一个疑问,因为当3.3.3.0网段不存在时R2是经过180s才删除该路由,那么往后的路由器删除该路由的时间就变成了180s+180s、180s+180s+180s........这个时候毒性逆转水平分割机制就体现出作用了
我们以上面的假想图来理解毒性逆转水平分割机制,当3.3.3.0网段不存在时,R3会给R2分享一个去往3.3.3.0网段的路由,开销值为16(带毒性的路由)表示该路径不存在了不可达,而R2收到该路由后会打破水平分割机制重新传给R3一个去往3.3.3.0网段的路由(逆转),开销值为16,表示R2知道了该路由不可达,同时也会发给R1一个去往3.3.3.0网段的路由,开销值为16以此来让R1快速删除去往3.3.3.0网段的路由(往后的路由器都会逆转水平分割发送开销值为16的路由来进行确认)
4、触发更新:当路由器感知到拓扑发生变更或RIP路由度量值变更时(网络结构发生变更),它无需等待下一个更新周期到来即可立即发送Response报文。
RIP 协议部署(配置)
我们以上图为例来进行对RIP协议的一个配置讲解
在基本的地址配置完成后
第一步:指定RIP的进程号
我们看到rip后面有几个参数可以跟,它们的解释分别是Process ID、Mib-Binding a process、VPN instance、Please press ENTER to execute command
Process ID指的是进程ID,在思科中我们是不能指定进程ID的,而在华为中我们是可以指定进程ID的,但是这个进程ID只具有本地意义,不具备全局意义。进程号在单个协议内不具有任何意义,只在多个协议内具有作用(假设我们想要R1与R2内有一个RIP协议,R2与R3有一个RIP协议,那我们可以在R1内设置一个RIP协议进程号为100,R3内设置一个RIP协议进程号为200,而R2设置两个RIP协议一个进程号为100一个进程号为200)当设备上运行多个协议时,我们可以利用进程号来进行区分
<cr>是指我们可以直接敲回车进入,这相当于执行的rip 1
第二步:指定RIP的版本
在前面我们讲到了RIP分为了三个版本:RIPV1、RIPV2和RIPNG,而RIPNG是为了IPV6服务的,RIPV1和RIPV2中,RIPV1是有类别的距离矢量型路由协议,即不传递网络掩码;RIPV2是无类别的距离矢量型路由协议,即传递网络掩码
所以在这里,我们用RIPV2进行演示
第三步:network通告
RIP 协议仅支持主类(主类网段:A类网段、B类网段、C类网段)通告
network 1.0.0.0的作用:
1.将本路由器上接口IP地址以1开头所有接口激活(激活代表着能发送并接收RIP的相关数据包)
2.将激活的接口所对应的路由通告进入RIP协议
通俗来讲就是一开始路由器的接口是不接受RIP协议的数据包的,即使收到了数据包也是直接丢弃,所以network命令的两个作用就是激活接口使之能够发送接受RIP的数据包、将激活的接口的路由写入RIP协议数据包中
补充:network命令在所有IGP协议中都是通用的
查看RIP 路由表:
在R3中我们可以看到,我们通过RIP协议学习到了R1和R2的路由(除去直连路由)
当我们在R1中多添加几个以1开头网段的环回接口时,我们可以发现因为我们之前已经执行过了network 1.0.0.0命令,所以我们在添加过后,那几个接口直接自动激活并进入了RIP协议中
RIP 协议手工汇总
目的:1.减少路由条目数量,减小路由表,加快查表速度 2.增加网络稳定性
位置:部署在路由传递路径的任意路由器的出向接口上(建议部署在路由所在路由器的出向接口 )
在动态路由协议中,好像网络掩码都不能简写
查看:
下发缺省路由
假设我们的R3设备是缺省路由,所以我们在R3上设置缺省路由
测试:在R3设置一个33.3.3.3 24网段(此接口未被激活)
路由黑洞以及路由环路的产生以及解决方案
在RIP协议依然会出现无法精确汇总导致路由黑洞,当出现缺省路由时导致环路问题。 解决方案与静态一致 静态路由传送门
在R1设置一条指向null 0 的路由可以打破路由环路的循环