#交换设备
动态路由协议RIP
路由协议
-
静态路由
- 需要管理员手动配置
-
动态路由
- 是在路由器上启用某动态路由协议,进行自己直连网段的宣告,从而相邻的路由器就可以学习的相邻的路由器所宣告的网段,每一台路由器都把自己直连的网段宣告出去,而后所有的路由器就学习到了其他路由器所直连的网段
- 特点
- 减少管理员的工作量
- 增加了网路带宽
一、常见的动态路由协议
-
RIP:路由信息协议(距离矢量路由协议)
- 开销小,只有在网络发生变化时,才发送路由信息
-
OSPF:开放式最短路径优先
- 一般用于大型网络,是内部网关协议
-
BGP:边界网关协议,自治系统之间的协议
-
EIGP:增强内部网关协议
-
IS-IS:中间系统到中间系统
-
什么是内部,什么是外部
- AS:自治系统:运行相同路由协议的路由器属于同一个自治系统(内部网关)
- 通过自治系统内连接外部的路由器,这个时候就需要外部网关
- 内部网关路由协议IGP
- 用于在单一自治系统中去决策路由的,RIP,OSPF
- 外部网关路由协议EGP
- 用于连接不同自治系统,BGP
二、动态路由协议需要考虑的内容
1.度量值
- 就是这些路由器考虑哪方面的度量值,来决定信息按照什么路径走用时最短
- 跳数,带宽,负载,时延
2.收敛
- 使所有路由器的路由表达到一致的状态,需要考虑网络达到收敛的速度快不快
3.自治系统
三、RIP动态路由协议
1.基本概念
- 基于UDP协议传输
- 一种内部网关路由协议,是单一自治系统内部的路由器用来传递路由信息的
- 靠跳数(metric)来衡量到达目的的距离
- 最大15跳,大于15则不可达
- 每隔30秒向相邻的路由器更新消息,采用UDP520端口
- 此协议是从相邻的路由器学习对应的路由条目
2.两个版本
^6d8803
-
RIPv1
-
有类路由协议(采用标准子网掩码)
-
每隔30秒发送路由信息的方式是:广播更新
-
不支持VLSM(可变长子网掩码,非标准子网掩码)
-
自动路由汇总,不可关闭
-
将两个网段汇总为一个
-
例如
shell192.168.10.0/24 192.168.20.0/24 汇总为192.168.0.0/16
-
-
-
不支持不连续的子网(因为自动汇总)
- 因为不连续的子网买办法汇总,例如一个A类一个B类没有办法汇总
-
-
RIPv2
- 无类路由协议,可以使用非标准子网掩码
- 组播更新:只会向同样运行了RIP的路由器发送更新信息,组播地址为224.0.0.9
- 支持VLSM
- 自动汇总,该功能可以关 - 支持不连续的子网掩码(应为自动汇总可以关闭)
RIPv2比RIPv1消耗更少的计算机资源
3.三种定时器
^9b1293
1.跟新定时器:默认30秒,每30秒向周围邻居发送路由信息
2.无效定时器:默认180秒,当该路由被更新时置为180,如果某条路由信息的无效定时器达到0,就认为该路由失效,cost值设置为16
3.垃圾收集定时器:默认120秒,当某条路由失效后,还会默认存在120秒,在这期间路由器还会在周期性的RIP响应数据包中携带该无效路由信息,通告其他路由器该条路由失效,当定时器为0时,路由器将该失效路由信息彻底删除
四、配置过程
RIPv1
-
1.设置各端口IP
-
2.开启RIP,并宣告网段
shell路由器0 en conf t router rip #开启RIP network 192.168.10.0 #宣告网段 network 192.168.30.0 network 192.168.40.0
cshell路由器1 en conf t router rip network 192.168.40.0 network 192.168.50.0
shell路由器2 en conf t router rip network 192.168.20.0 network 192.168.30.0 network 192.168.50.0
RIPv2
本实验涉及到子网划分知识
shell
路由器0
en
conf t
router rip
version 2
network 192.168.1.0
network 192.168.1.64
路由器1
en
conf t
router rip
version 2
network 192.168.1.64
network 192.168.1.128
路由器2
en
conf t
router rip
version 2
network 192.168.1.128
network 192.168.1.192
show ip route
系统提示:
192.168.1.0/24 is variably subnetted, 6 subnets, 2 masks 可以看到设备自动将网络汇总
C 192.168.1.0/26 is directly connected, GigabitEthernet0/0
L 192.168.1.62/32 is directly connected, GigabitEthernet0/0
C 192.168.1.64/26 is directly connected, GigabitEthernet0/1
L 192.168.1.65/32 is directly connected, GigabitEthernet0/1
R 192.168.1.128/26 [120/1] via 192.168.1.126, 00:00:02, GigabitEthernet0/1
R 192.168.1.192/26 [120/2] via 192.168.1.126, 00:00:02, GigabitEthernet0/1
如果想要关闭自动汇总功能,则应当在网络声明之前关闭,在之后关闭无效
shell
例如
en
conf t
router rip
version 2
no auto-summary 关闭自动汇总
network 【网络地址】
network 【网络地址】
五、华为设备配置RIP
RIP 在IPv4 中有vl 和v2 两个版本。
-
不指定版本: 接口默认情况下能接收v1 和v2 的报文, 但只能发送vl 的报文;
-
指定版本: RIPv 1 只能接收和发送v1 的报文, RIPv2 只能接收和发送v2 的报文。
-
建议所有路由器配置相同版本的rip协议,避免设置了v1的路由器接收不到v2路由器的路由信息
-
配置逻辑和思科设备相同,都是进入rip模式---选择版本(默认为v1)---宣告网段
注意:在使用RIPv1时,宣告网段只能宣告主网络类型,例如端口的IP地址为10.0.45.5,这是一个B类IP地址,由于RIPv1不支持子网掩码,所以只能按照B类网络进行宣告,此时宣告的网络地址应当是10.0.0.0
RIP进程编号
- 在下面的例子中,输入rip,系统默认是rip-1,后面的数字1就是rip进程编号,同一个路由器可以同时存在多个rip进程,每个rip进程可以进行不同的配置,并具有独立的路由表,每个进程之间的路由信息互不影响
- 可以通过进程编号,创建多个RIP实例,将网络规划为多个逻辑部分、为不同的网络使用不同的策略
- 每个进程的配置是独立的、隔离的
- 每个进程拥有独立的路由表,互不影响
- 在一些复杂的网络设计中,可能需要对特定的网络流量使用不同的路由策略,通过多个RIP进程实现
1.配置命令
powershell
v1
[R1]rip
[R1-rip-1]network 192.168.10.0 #宣告自己的直连网段
v2
[R1]rip
[R1-rip-1]version 2
[R1-rip-1]network 192.168.10.0 #如果在之前已经宣告过,则不需要重新宣告
直接从v1转到v2
[R1]rip 1
[R1-rip-1]version 2
2.配置RIP认证
- 在路由器之间相连的接口上配置RIP认证
powershell
int g0/0/1
rip authentication-mode md5 usual huawei # md5加密方式传输密码 密码为huawei
3.水平分割、出发更新、毒性逆转
- rip提供了三种方法避免形成路由环路:触发更新、水平分割、毒性逆转
1.触发更新
- 所谓触发更新, 就是指当RIP 路由表中的某些路由项的内容发生改变时, 路由器应立即向它的所有邻居发布响应消息, 而不要等待更新定时器所规定的下一个响应消息的发送时刻。另外, 为了减少带宽及路由器处理资源的消耗, 触发更新的响应消息中只需包含路由信息发生了改变的路由项。
- 只有当路由器直接感受到链路故障时,才会触发更新(如:该路由器一个直连端口的链路断路)
2.水平分割
- 指的是,如果某条路由信息
x.x.x.x/y
是从R的G0/0/1
学习得来的,那么该路由器在向外宣告路由信息时,如果该信息是从G0/0/1
发出的,那么为了避免形成环路,就不会带x.x.x.x/y
的信息,而在其他接口发出时,任然会携带这条信息
使用debugging调试功能查看路由器之间的交互信息
powershell
<R2>debugging rip 1 send g0/0/1 #启动调试,提供指定接口发送的rip报文的详细信息
<R2>terminal monitor #开启远程终端调试输出
<R2>terminal debugging #开启控制台调试输出
- 手动关闭接口的水平分割功能
powershell
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]undo rip split-horizon
3.毒性逆转
-
指的是,如果某条路由信息
x.x.x.x/y
是从R的G0/0/1
学习得来的,那么该路由器在向外宣告路由信息时,如果该信息是从G0/0/1
发出的,那么为了避免形成环路,虽然还会带有x.x.x.x/y
的信息,但是cost值设置为16,而在其他接口发出时,任然会携带这条信息cost为实际的跳数 -
水平分割和毒性逆转不可以同时配置,在生产环境中,是配置触发更新再从水平分割和毒性逆转中选择其一
-
毒性逆转可以快速清除无用的路由而不必等待老化时间,另外,在帧中继和X.25等非广播多路访问网络中,如果开启了水平分割功能,会造成有的路由器无法接收到更新路由的情况,因此在这种网络中,水平分割是默认禁止的,我们需要手动开启毒性逆转防止路由环路。
RIPv1 和 RIPv2 都支持水平分割、触发更新和毒性逆转功能。
powershell
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]rip poison-reverse #开启毒性逆转功能
- 当水平分割和毒性逆转同时开启时,简单的水平分割行为(从某接口学到的路由再从这个接口发布时将被抑制)会被毒性逆转替代
4.为什么有三种防环机制?
- 即使有了水平分割,仍有可能出现五线循环的情况,特别是在网络信息不一致或者更新延迟的情况下
- RIP协议需要多种防环机制来应对多变的网络环境和潜在的路由问题
5.水平分割的局限性在哪里
- 不能单独防止所有类型的路由环路
- 1.单向通行问题:
- 2.依赖于正确的接口配置和网络拓扑,如果网络中某个接口配置错误、或者网络拓扑发生变化,水平分割肯能无法正确组织路由信息的循环传递
4.RIP抑制接口、单播更新
RIP 支持抑制接口的配置, 即配置后禁止接口发送更新报文, 但此接口所在网段的路由可以发布出去。可通过两种方法来实现, 执行silent-interface
命令或在接口下配置undo rip output
使其只接收报文, 但不能发送RIP 报文。silent-interface
的优先级大于在接口下配置的undo rip output
, 默认情况下为不抑制状态。还可以在接口下配置undo rip input
命令, 禁止接口接收RIP 更新报文, 这也是预防路由环路的一种方式。
- 为了避免pc受到大量无用的rip广播报文,可以通过配置抑制接口来实现
powershell
配置某一个接口为抑制接口,使得该接口只接受RIP更新报文,不发送RIP更新报文
[R1]rip 1
[R1-rip-1]silent-interface g0/0/1
- 由于此时配置了抑制接口,所以如果所有路由器都配置了,会导致网络中断,所以要配置单播跟新来恢复网络连接
- 实现指定路由器接受rip报文,而不是以广播的方式
powershell
[R1]rip 1
[R1-rip-1]peer 172.16.1.100 与R1直连路由R2的接口IP地址
[R1-rip-1]peer 172.16.1.200 与R1直连路由R3的接口IP地址
- 可以通过
undo rip output
的方式,配置路由器某一个接口禁止发出rip更新报文
powershell
[R3-rip-1]int g0/0/1
[R3-GigabitEthernet0/0/1]undo rip output