各台路由器上,进行信息的沟通,相互的学习,获取未知的路由信息;再进行计算、收敛将最佳的路径加载到路由表中
优点:
- 工作效率----快速大量学习路由
- 结构突变时可以马上重新收敛
缺点:
- 占用硬件资源----cpu/缓存/带宽
- 安全问题----设备间交互的信息,可能被窃取或者被篡改
- 算法错误问题----收敛结果不是真正的最佳路径、甚至出环
总结: 一个优秀的IGP路由协议----收敛速度快、选择路径佳、占用资源少
路由协议的分类:
基于AS号进行分类 AS----自治系统
AS编号 0-65535
1-64511 公有 64512-65535 私有
- IGP 内部网关路由协议----AS之内工作----RIP/EIGRP/OSPF/ISIS----在复杂的结构中快速计算出最佳无环路径
- EGP 外部网关路由协议----AS之间工作----EGP/BGP----在大环境间进行路由的共享与管理
IGP协议的分类:
- 基于更新时是否携带子网掩码
无类别(携带掩码)
有类别(不携带掩码) - 基于工作特点
DV(距离矢量)----RIP/EIGRP
LV(链路状态)----OSPF/ISIS
路由信息协议----V1/V2/NG(ipv6)
距离矢量型的路由协议 |
---|
基于UDP520端口工作 |
使用跳数作为度量 |
周期和触发更新均存在 周期更新----30s |
支持等开销负载均衡,默认4条,最大6条,IOS版本12.4以上为16条 |
周期更新----保活、确认的问题 |
管理距离为120 |
V1和V2的区别:
V1 | V2 |
---|---|
V1有类别----不支持子网划分、汇总,支持超网(CIDR) | V2无类别----支持子网划分、子网汇总;不支持超网(CIDR) |
V1广播更新----255.255.255.255 | V2组播更新----224.0.0.9 |
v1不支持不连续子网 | v2支持不连续子网 |
V2支持手工认证 |
RIP V1配置
r1(config)#router rip 启动rip协议
r1(config-router)#version 1 选择版本1;若不选版本,默认为升级版本1;
宣告:1、激活接口 2、传递接口信息-路由或拓扑
r1(config-router)#network 12.0.0.0
r1(config-router)#network 1.0.0.0
RIP V2配置
r2(config)#router rip
r2(config-router)#version 2
r2(config-router)#no auto-summary 建议关闭自动汇总
r2(config-router)#network 12.0.0.0
r2(config-router)#network 2.0.0.0
r2(config-router)#network 23.0.0.0
RIP的扩展配置
- RIPv2的手工汇总
在更新源路由器上所有更新发出的接口上配置
r2(config)#interface s1/0
r2(config-if)#ip summary-address rip 2.2.2.0 255.255.254.0
- RIPv2的认证
先定义密钥库
r1(config)#key chain ccna
r1(config-keychain)#key 1
r1(config-keychain-key)#key-string cisco123
注:邻居间秘钥库中的编号和密码必须完全一致;
再在直连邻居的接口上调用秘钥
r1(config)#interface s1/1
r1(config-if)#ip rip authentication key-chain ccna 此时密码是明文发送
r1(config-if)#ip rip authentication mode md5 密文发送
- 被动接口
只接受不发送路由协议信息,建议配置于连接PC的接口;不能用于连接邻居的接口
r1(config)#router rip
r1(config-router)#passive-interface fastEthernet 0/0
- 加快收敛
计时器:30s 收敛 180s失效 180s抑制 240s刷新(非cisco为300s)
可以适当修改计时器,建议维持原有倍数;且不宜过小;全网一致
r1#show ip protocols
r1(config)#router rip
r1(config-router)#timers basic 15 90 90 120
- 缺省路由
边界路由器上配置命令,向内网发布缺省信息,让内网设备生成缺省指向边界;但注意边界路由器需要静态指向ISP
r3(config)#router rip
r3(config-router)#default-information originate
RIPv1和RIPv2兼容
普通v1设备仅收发v1路由;v2设备仅收发v2路由;升级v1设备,收v1/2,发v1;RIP的所有接口,无论此时运行的RIP版本是多少,都可以直接修改接口的版本规则;
r2(config)#interface s1/1
r2(config-if)#ip rip send version 1 2
r2(config-if)#ip rip receive version 1 2
注: v2设备可以发出没有掩码的v1路由;v1设备即使修改为v2发送,也只能发出没有掩码的v2路由
干涉RIP选路
因为RIP选路参数只有跳数,两条不同带宽的线路,如果跳数相同,RIP会认为这两条路是一样的,这时就需要增加跳数,干涉RIP选路
使用偏移列表,可以干涉DV型路由协议的选路(RIP/EIGRP)
在控制层面流量进或出的接口上,抓取流量,之后加大流量中的度量值,可以叠加;最终影响选路
抓取路由
r1(config)#access-list 1 permit 3.0.0.0
r1(config)#router rip
r1(config-router)#offset-list 1 in 2 serial 1/1
ACL 方向 增加的跳数 对应的接口
什么是连续子网?
简单来说就是八个字:主类相同,掩码相同 例如:
192.168.1.0/24
192.168.2.0/24
192.168.255.0/24
这种就是连续性子网
第一种情况:
当三个网段同时连续子网时,路由可达!且R1上的路由表显示RIP v1 学到的R2环回的路由是 1.1.2.0/24的,并不是咱们所认知的 1.0.0.0/8 的路由。同理R2路由表上学到的R1环回的路由是1.1.1.0/24
看一下R1路由表信息:
看一下R2路由表信息:
第二种情况:当中间网络不是连续子网时
当你宣告完之后,R3的路由表是这样的:只显示自己直连的1.0/24 网段和3.0/24网段,同理R4也是一样
问题就来了,明明起了RIP,为什么学不到?
因为 R3和R4发的都是1.0.0.0/8
所以R3不能ping通1.1.2.1/24,R4不能ping通1.1.1.1/24
那么怎么解决呢?也很简单,给中间网段配一个第二地址就可以了!
R3接口配置:
R4接口配置:
然后查看R3 路由表:
然后查看R4 路由表:
这样子RIP V1 连续性子网问题解决了!
总结:
在RIPV1中,若本地即将传递给邻居的路由条目,与本地和邻居的直连网段,形成了连续子网;那么本地在传递该路由时,将让路由条目携带上主机位,让邻居了解;
邻居收到的路由条目中存在了主机位,将使用与对端直连网段的掩码来加载该路由;
若不能形成连续子网,可以配置第二地址
>三台路由器:R1、R2、R3运行RIP动态路由协议,其中R3有一个a网段,通过RIP,R1和R2都学习到了R3的a网段,
但是,当R3的a网段消失,R3的拓扑发生变化,触发更新,R3就去向R2发包询问,R2查询自己的路由表,将自己通过RIP学习到的R3的a网段再发送给R3,该路由条目跳数增加1,下一跳为R2;等R3的更新计时器到了30s,R3又会将自己路由表中的a网段的路由发送给R2,根据同源规则,因为R2第一次是从R3处学习到的a网段,所以再从R3传来的a网段路由,R2还是会学习,a网段的路由跳数增加1,下一跳为R3,然后a网段又发送给R3…一直循环下去,在R2和R3间就会形成环路
最大跳数
RIP使用跳数作为度量值来衡量到达目的网络的距离。在RIP中,路由器到与它直接相连网络的跳数为0,每经过一个路由器后跳数加1。为限制收敛时间,RIP规定跳数的取值范围为0~15之间的整数,大于15的跳数被定义为无穷大,即目的网络或主机不可达
水平分割
水平分割指的是RIP从某个接口学到的路由,不会从该接口再发回给邻居设备
关闭水平分割的命令:
interface f0/0
no ip split-horizon
毒性逆转
情景描述: 例如路由器 R1使用RIP作为路由协议, 预设每30秒发送一次路由表更新, 把其路由表向外广播, 而R1的邻接路由器R2, 正常每30秒会收到从A发送过来的更新。 设想若R1连接的其中一个网络(假设网络X)中断, 网络X会消失于R1中的路由表, 当路由器 R1下次发送往外更新资料时, 会不包括X在内, 而路由器 R2因为没有收到关于网络 X的更新, 在一定时间内(RIP失效计时器的时间 invalid time为180秒)会误认为网络 X还存在, 并向外告知X的存在, 直至经过180秒后, 路由器 R2才认为网络 X出现问题, 在这180秒内整个网络处于一个不正确状态, 除路由器外, 其他路由器都不清楚网络 X的问题, 会形成很多传输错误的发生, 亦会因此引起路由环路的产生
毒性逆转的作用:
利用毒性逆转,可以清除对方路由表中的无用路由。
实现情况:
配置毒性逆转后,R2在接收到从R1发来的路由10.0.0.0/8后,向R1发送一个这条路由不可达的消息(将该路由的开销设置为16),这样R1就不会再利用从R2学到的路由10.0.0.0/8,因此就可以避免路由环路的产生。
现实情况:
缺省情况下不使能毒性逆转。一般情况下,在华为设备中均使能水平分割(除NBMA网络外)而禁用毒性逆转。
水平分割和毒性逆转的差别:
水平分割和毒性逆转都是为了防止RIP中的路由环路而设计的,但是水平分割是不将收到路由条目再按“原路返回”来避免环路,而毒性逆转遵循“坏消息比没消息好”的原则,即将路由条目按“原路返回”,但是该路由条目被标记为不可达(度量值为16)。如果同时配置了毒性逆转和水平分割,则只使用毒性逆转功能。
计时器
通过show ip protocols命令可以查看RIP的计时器信息,具体如下:
Sending updates every 30 seconds: 表示周期性更新时间为30s(更新计时器)
next due in 22 seconds: 还剩下22s更新时间
Invalid after 180 seconds: 如果在 180 秒还没有收到更新,则被标记为无效(失效计时器)
hold down 180: 抑制计时器也是180s
flushed after 240: 路由条目如果在 240 秒还没有收到更新,则从路由表中删除此路由条目(刷新计时器)
更新计时器
用于实现对路由条目的周期交互(是否有数据流量),默认是30秒更新一次路由表中的信息。
也就是一台路由器从接收到邻居发来的路由条目更新包开始,计时器会重置为0s (秒)并重新计时。(RIP路由器总是每隔30s通过UDP 520端口以RIP广播应答方式向邻居路由器发送一个路由更新包)
失效计时器
如果某一条路由信息在180s内没有收到更新或确认,那么这条路由信息将被标记为“失效”。
如果路由器30s还未收到邻居发过来的路由更新包,则更新计时器超时。如果再过150s,达到180s(即30s + 150s = 180s)还没收到路由更新包,说明失效计时器超时了,然后路由器将邻居路由器的相应路由条目标记为is possibly down,此时并不是真正失效了,是提示快要失效了
抑制计时器
失效计时器到时,立马进入180s的抑制计时器,用于防止路由环路。
如果在抑制期间从任何相邻路由器接收到少量的路由更新包,则恢复该网络并删除抑制计时器。
如果在抑制期间从相邻路由器收到的一条路由更新的跳数大于路由表已记录的跳数,则该更新将被忽略。
刷新计时器计时器
失效计时器到时,再过60s,达到240s的刷新计时器(180s + 60s = 240s),还没收到路由更新包。路由器就刷新路由表,把不可达的路由条目删掉
在过了60s后,我们从上图中发现被标记为is possibly down:状态的3.0.0.0路由信息已经从路由表中删除掉了。从RIP计时器来看,如果路由在传输过程中出现故障,检测到故障需要长达3分钟的时间,到4分钟才会把故障路由删除掉。RIP计时器的目的是使整个网络上的路由器在最短的时间内收到更新信息,从而快速(学习收敛)了解整个网络的变化
控制层面:
控制层面就是各种协议工作的层面。它的作用是通过控制和管理各种网络协议的运行,使得路由器/交换机能够对整个网络的设备、链路和运行的协议有一个准确的了解,并在网络发生变化时也能及时感知并调整。控制层面为数据层面转发数据提供了各种必要的信息。控制层面占用的主要是软件资源,它消耗CPU。
控制层面:控制信息流。Rip的报文、OSPF的LSA传递
数据层面:
数据层面是针对数据发送来说的。控制层面构建了路由表等数据发送的必要信息,数据层面根据这些信息来发送数据。网络设备中,对数据的各种具体的处理、转发过程都属于数据层面的范畴。数据层面主要占用的是硬件资源。
数据层面:数据流。ICMP的ping包
举例:
假设有4台路由器A—B—C—D,其中A是数据发送者、D是接收者。A要发数据给D,首先要知道D在哪儿。D会把自己的路由信息先通过路由选择协议发给C,再传递给B,最后传递到A,即路由信息的流向是D—C—B—A,这就是控制层面,因为该层面传递的是路由信息,而路由信息属于控制信息,所以叫控制层面。当A—D的路由建立起来后,A就把生产流量通过A—B—C—D这个流向传递给D,这就是数据层面,因为该层面传递的是生产数据,是用户想要发送的数据,
所以叫数据层面。一般来说,控制层面和数据层面的方向相反。
典型的ospf计算cost是在控制层面的入接口累加,rip在控制层面的出接口累加
来源:CSDN
作者:周雄雄
链接:https://blog.csdn.net/weixin_43801718/article/details/104131184