-
RIP路由协议
-
属于距离矢量协议
- “周期性”的以“广播或者组播”的方式给“邻居”发送自己所知道的所有路由信息
- 属于内部网关协议IGP
- RIPv1是有类路由协议、RIPv2是无类路由协议
- 更新地址
自动方式v1:255.255.255.255; v2:224.0.0.9
手动方式:单播指neighbor
- 更新方式:触发+周期
- 管理距离AD=120
- 度量值:hop(跳数)
-
RIP的消息
-
RIP消息类型
-
请求消息(request)
- RIP的接口启动都会发送请求,要求邻居发送完整的路由表
-
响应消息(response)
- 回应请求消息,包含整个路由表
-
RIP的消息格式
-
Request
-
RIPv1
-
RIPv2
-
Response
-
RIPv1
-
RIPv2
-
RIPv1和RIPv2封装
- L2(Type:IPv4(0x0800))→IP(Protocol:17-UDP)→Src&Dst Port (520-RIP)
-
RIP路由信息更新规则
- 1、收到路由信息
-
2、查看路由表中是否存在
- 存在-3
- 不存在-更新路由表
-
3、接收的条目是否优于路由表中已有条目
- 优-更新路由表
- 不优-4
-
4、收到的路由条目是不是来自同一源地址
- 是-更新路由表
- 不是-丢弃
-
RIP路由信息收发规则
-
RIPv1
-
发送子网规则
-
拿发送的子网和发送子网的接口的IP地址作比较
- 如果不是同一主网络号,就按照ABC三类汇总
- 如果是同一主网络号,就看掩码是否一致
- 掩码一致就发送子网
- 掩码不一致就丢弃。除非支持是主机路由,且路由器支持主机路由
-
接收子网规则
-
拿接收的到的路由和接收该路由的接口的IP地址作比较
- 如果不是同一主网络号,就按照ABC三类默认子网掩码增加
- 如果是同一主网络号
- 按照接收接口中所有IP地址中的最长的掩码增加
- 增加失败就增加/32位的掩码
-
RIPv2
-
发送子网规则
-
拿发送子网和发送子网的接口的IP地址作比较
- 如果不是同一网络号,就按照ABC三类汇总
- 如果是同一主网络号,就发送子网
-
接收子网规则
-
拿接收的到的路由和接收该路由的接口的IP地址作比较
- 直接按照接收到的路由存入路由表,掩码不变
-
RIP计时器
-
周期更新计时器
- 默认时间是30秒,因为RIP是DV路由协议,传闻路由的特性,每30秒就给邻居发送自己所知道的所有路由信息。
-
无效计时器
- 默认时间是180秒,这段时间内,路由器会一直保持着这一路由,并给邻居发送路由更新。
-
抑制计时器
- 默认时间是180秒,但是只有60有用,其余120秒做其他用途,当一条路由条目过了180秒后,将把这一路由状态设置为possibly down状态,并且不给它的邻居再发送该路由,即使接收到更好的路由也不会接收,如此可防止路由抖动。
-
刷新计时器
- 默认时间是240秒,一条路由条目到了240秒的时候,就会自动被删除,在这之后,如果接收到新的路由,就会接收。
-
触发更新计时器
- 当网络的拓扑结构发生改变,为了加速网络的收敛,RIP引进了触发更新的机制,这样就不需要等到周期30秒就可以更新。
-
触发更新的条件
- 接口状态的改变(up&down)
- 某一条路由进入不可达状态
- 路由表中增加或者删除一条路由
-
RIP的环路问题
-
产生原因
- 1、静态路由配置错误
- 2、路由重发布配置错误
- 3、发生了改变的网络收敛速度缓慢,不一致的路由表未能得到更新
-
有何影响
- 产生环路的路由器占用带宽反复收发环路流量
- 路由器的CPU因不断循环的环路数据流量负担加重
- 影响网络的收敛
- 路由更新不能得到及时的处理或者可能丢失
-
RIP防环机制
- 定义度量16跳以防止计数到无穷大(缓解环路影响,未从根本解决)
- 抑制计时器(有60秒的时间不对该路由更新,对网络的稳定也起到了一定的作用)
- 水平分割(路由器不在接收到该路由的接口发送该路由信息)
-
路由毒化和毒性逆转
- 路由毒化是将一条路由做上标记,发送给其他路由器标记为16跳不可达
- 毒性逆转是控制周期更新和触发更新成环的机制,当路由器收到一条16跳的路由时,立即从接收到该路由的接口发送该16跳路由,如此可以回杀存在可能的周期更新路由信息
-
触发更新
- 触发发送整个路由表,刷新了全网的路由,环路的根本是路由成环,如此触发更新从根本上让环路得到了有效的控制
-
RIP的高级特性
-
RIP认证
-
无认证
- RIP路由协议默认是没有开启认证的
-
明文认证
-
原则
- 发送方只是发送Key ID最小的Key,但是不携带Key ID
- 接收方数据库只需要有该Key就可以通过认证
- 最多携带24跳路由
-
密文认证
-
原则
- 发送方需要发送最小的Key ID和Key
- 接收方收到后首先匹配Key ID相同的Key,若没有该Key ID就往后查找一次较大的Key ID,如果Key匹配就认证通过,如果Key不匹配就认证失败
- 注意:认证都是相互的,认证的模式不一致将会导致认证失败
-
被动接口
-
优点
-
减少不必要的RIP更新对网络性能的影响
- 不必要的更新浪费带宽。如组播和广播都会默认都会全广播域泛洪
- LAN中的所有设备都需要处理更新
- 组播或者广播的更新的风险较大,万一被攻击者中途截取,伪造更新流量重新发回路由器,造成路由表的错误
-
作用
- 防止从接口发送组播或者广播的更新
-
表现形式
- “只收不发”
-
操作
- R1(config)#router rip
R1(config-router)#passive-interface Ethernet2/0
-
单播更新
- 例如弥补NBMA网络下无法更新的情况,或者特定情况需要单播更新
- 单播更新可以穿越被动接口
-
操作
- R1(config)#router rip
R1(config-router)#neighbor 12.1.1.2
-
路由过滤
-
优点
- 对控制路由更新有极大的帮助,比如需要哪些路由更新或者不需要哪些路由更新
-
作用
- 对不需要的流量进行更新控制
-
表现形式
- 遵照ACL或者前缀列表的意思执行(即行为permit或者deny取决于列表)
-
操作
- R1(config)#access-list 1 deny 1.1.1.1 0.0.0.0
R1(config)#access-list 1 permit any
R1(config)#router rip
R1(config-router)#distribute-list 1 out Ethernet2/0
-
偏移列表
-
优点
- 可以为路由选路提供一定的帮助,在路由器发送更新的时候
-
作用
- 增加ACL匹配的更新消息的Metric
-
表现形式
- 匹配ACL流量进行开销的增加,若不调用特定的ACL匹配(即调用ACL 0),默认增加所有流量的开销
-
操作
- R1(config)#access-list 2 permit 1.1.1.1 0.0.0.0
R1(config)#router rip
R1(config-router)#offset-list 2 out 5 serial 2/0 <假如这个offset-list的号和ACL的号无可对应的,那么就针对所有通告的条目>
-
路由汇总
-
优点
- 可以使得发送和接收的路由更新更小
- 使用汇总后的单条路由可以加快查找路由表的速度
- 可以减少路由抖动对网络的影响
-
RIP自动汇总引发的问题
-
引发问题的原因
- RIP的自动汇总不支持不连续子网
- 说明:连续的子网(可以理解为由同一子网划分出的更小的子网)被其他网络号的网络隔断,导致两个连续的子网之间不能实现通信
-
路由黑洞
- R3#sho ip route
Gateway of last resort is not set
R 1.0.0.0/8 [120/1] via 10.1.1.2, 00:00:02, Ethernet0/0
R 2.0.0.0/8 [120/1] via 10.1.1.2, 00:00:02, Ethernet0/0
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
R 4.0.0.0/8 [120/1] via 10.1.1.130, 00:00:18, Ethernet0/1
R 5.0.0.0/8 [120/1] via 10.1.1.130, 00:00:18, Ethernet0/1
10.0.0.0/25 is subnetted, 2 subnets
C 10.1.1.0 is directly connected, Ethernet0/0
C 10.1.1.128 is directly connected, Ethernet0/1
R 12.0.0.0/8 [120/1] via 10.1.1.130, 00:00:21, Ethernet0/1
[120/1] via 10.1.1.2, 00:00:05, Ethernet0/0
- 如此导致R1和R5两端根本没有到达对方子网的路由,当双方子网更新到R3上之后,不能再从R3发送回去
- 路由环路
-
RIP汇总的特点
- 汇总针对于出方向进行
- 本地必须有明细的路由存在才能从汇总的接口发送汇总路由
- 取明细路由中Metric最小的值作为开销
- 对自身的路由和学习来的RIP路由都汇总
- 如果手动和自动汇总都存在,自动汇总优先
- 对于RIPv1,即使配置了手动汇总,也会被汇总称为主类
-
操作
- interface Loopback0
ip address 1.1.1.2 255.255.255.0 secondary
ip address 1.1.1.4 255.255.255.0 secondary
ip address 1.1.1.3 255.255.255.0 secondary
ip address 1.1.1.1 255.255.255.0
R1(config-if)#ip summary-address rip 1.1.1.0 255.255.252.0
-
下发缺省
-
操作1:下发默认路由
- R1(config-router)#default-information originate
-
操作2:重发布静态
- R1(config)#ip route 0.0.0.0 0.0.0.0 Ethernet0/0
R1(config)#router rip
R1(config-router)#redistribute static
-
操作3:Network 0.0.0.0
- R4(config)#ip route 0.0.0.0 0.0.0.0 ethernet0/1(只能配置逃出接口)
R4(config)#router rip
R4(config-router)#net 0.0.0.0
-
操作4:ip default-network +主类(本地存在一个相关主类网络)
- R1(config)#int e0/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0 secondary
R1(config-if)#exit
R1(config)#ip default-network 192.168.1.0