路由协议概述
1、定义:
(1)路由协议:路由器用来计算、维护网络路由信息的协议,工作在传输层或者应用层——RIP、OSPF、BGP
(2)可路由协议:可被路由器转发的协议,工作在网络层——IP
2、路由协议的功能:
邻居发现:路由器通过发送广播报文或发送给指定的路由器邻居以主动把自己介绍给网段内的其它路由器
路由交换:每台路由器将自己已知的路由相关信息发给相邻路由器。
路由计算:每台路由器运行某种算法,计算出最终的路由来。
路由维护:路由器之间通过周期性地发送协议报文来维护邻居信息。
3、路由协议的分类:
按照使用位置来分:
内部网关协议(IGP):运行在自治系统内部的路由协议——RIP、OSPF、IS-IS
外部网关协议(BGP):运行在自治系统之间的路由协议
自治系统(AS) :一个有权自主决定在本系统中采用何种路由协议的小型单位。一般不同城域网都是不同的AS,不同运营商也是不同的AS
按照协议算法来分:
距离矢量协议(RIP):度量值是跳数
链路状态协议(OSPF、IS-IS):度量值是开销
路径矢量协议(BGP):有多种度量值
RIP
一、RIP简介(距离矢量协议)
1、定义: 路由信息协议,基于距离矢量算法;基于UDP端口520
路由信息协议RIP:距离矢量协议,计算跳数(直线上的路由器,经过一个路由器为一跳),最大15跳,16跳不可达。30s更新、180s不存在、240s删除,支持等费用负载均衡和链路冗余。
2、RIP初始化流程
- RIP运行后,会从每个参与协议的接口上以广播形式发送路由请求
- 收到路由请求后,将自己完整的路由表以广播形式响应
- 收到路由响应后,根据计算规则,把路由写入到路由表
- 路由信息会按照发送方向逐跳扩散
二、RIP环路问题
1、产生原因:
- 链路故障,导致路由从表中删除
- 30秒的更新周期还未到来,提前收到了邻居传递过来的刚刚被删除的路由,形成环路
2、防环机制
- 水平分割:从某个接口收到的路由信息不会从该接口回传
- 毒性逆转:从某个接口收到的路由信息会设置为16跳后回传
- 路由毒化:当路由失效,标记为16跳,并通告邻居,使邻居及时删除路由
- 抑制计时器:计时时间内,不接收和原路由跳数一致或更高的路由更新(路由信息失效,打上PD标签)
- 触发更新:当路由失效,不用等待更新周期,立即发出路由更新,来通告错误
- 最大跳数:不接收跳数大于15跳的路由更新
3、RIPv2
与RIPv1的区别:报文以组播的形式发送,组播地址224.0.0.9;路由更新携带子网掩码;可以关闭自动聚合,支持手动聚合;支持身份验证
三、RIP实验
1、配置 IP 地址部分略
2、配置 RIP 实现全网路由互通
分析:实现全网互通,意味着每台路由器都要宣告本地的所有直连网段。RIP 只能做主类宣告,以 R1 为例,连接的两个业务网段属于同一个 B 类主类网段划分出的子网,所以只用宣告一次;而且为了不造成路由环路,需要开启 RIP v2 版本,以支持 VLSM;R3 同理
步骤 1:在 R1,R2,R3 上分别配置 RIP v2,关闭自动聚合,并宣告所有直连网段
步骤 2:在路由器上查看路由表,发现已经学习到了全网明细路由(详细省略)
分析:上一步中的 RIP 已经配置完成,但路由器学习到的都是各网段的明细路由。在网络结构庞大的拓扑中,明细路由太多会导致路由器查表效率降低,所以需要配置路由聚合来减少路由数量
RIP 的聚合方式分为自动聚合和手动聚合。自动聚合是聚合为主类网段,在本拓扑中会造成路由环路,所以只能使用手动聚合
R1 连接的 2 个业务网段的路由可以聚合为一条 172.16.0.0/23,R3连接的 2 个业务网段的路由可以聚合为一条 172.16.2.0/23,在各自的路由传递的出接口上配置手动聚合
步骤 1:在 R1 的 g0/0 接口配置手动路由聚合
步骤 2:在 R3 的 g0/0 接口配置手动路由聚合
步骤 3:在 R2 上查看路由表,发现学习到的是 R1 和 R3 发布的聚合路由
注意:基于 RIP 的工作原理,旧的明细路由需要一定时间延迟才会从路由表中彻底删除
业务网段不允许出现协议报文
分析:基于 network 命令的两层含义,R1 和 R3 对直连的业务网段进行宣告后,会往该网段发送 RIP 的协议报文。这些协议报文是完全没有意义的,还会消耗网络带宽,所以需要配置静默接口
步骤 1:把 R1 连接业务网段的 g0/1 和 g0/2 接口配置为静默接口
步骤 2:把 R3 连接业务网段的 g0/1 和 g0/2 接口配置为静默接口
R1 和 R2 之间需要开启接口身份验证来保证协议安全性,密钥为 runtime
步骤 1:在 R1 的 g0/0 接口配置接口验证,密钥 runtime
步骤 2:在 R2 的 g0/0 接口配置接口验证,密钥必须和 R1 一致
说明:通过重置 RIP 进程观察是否能够学习到路由来判断接口验证是否通过
OSPF
一、RIP缺陷
- 最大跳数限制了网络规模
- 以跳数为度量值无法准确判断最优路径
- 路由更新发送完整路由表消耗网络带宽
- 收敛速度慢;协议会产生路由自环
二、OSPF基本原理
1、简介: 开放式最短路径优先,基于链路状态特征;
OSPF直接工作于IP层之上,IP协议号为89;OSPF仅传播对端设备不具备的路由信息,网络收敛迅速,并有效避免了网络资源浪费;OSPF以组播地址发送协议包
2、OSPF初始化流程
(1)建立邻居和邻接关系
- 发送hello报文发现和建立邻居关系,组播地址224.0.0.5
- 要求:接口UP;双方接口IP地址在同一网段;双方接口在同一区域
a、选举DR(一个代表)/BDR,建立邻接关系
b、DR/BDR选举:
1、选举原因`:广播网络中使路由信息交换更加高速有序
2、选举范围:每条广播链路上(每个网段)都需要选举出一个DR和一个BDR
3、选举规则:优先级大的优先;Router-id大的优先
Router-id 标识路由器的身份:
产生方法:
- 手动配置一个IPv4的地址作为Router-id;(建议手动配置)
- 自动选举:1.在所有环回口(Loopback)中选举IP地址最大的作为Rid:2.在所有物理接口中选举IP地址最大的作为Rid
(2)邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
- 相关概念:链路状态通告( LSA):用来描述路由器的接口、路由条目的相关信息; 链路状态数据库(LSDB):存储本地所有LSA
- 工作流程:
1.向邻接路由器发送DD报文,通告本地LSDB中所有LSA的摘要信息
2.收到DD后,与本地LSDB对比,向对方发送LSR报文,请求发送本地所需的LSA的完整信息
3.收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
4.收到LSU后,向对方回复LSAck报文,进行确认
(3)每台路由器根据本机链路状态数据库,计算到达每个目的网段的最优路由,写入路由表
3、OSPF分区域管理
(1)分区原因:加快收敛速度;把网络故障隔离在区域内部
(2)路由器角色:
- (普通路由器)IR:所有接口都处于普通区域
- (骨干路由器)BR:所有接口都处于骨干区域
- (区域边界路由器)ABR:连接不同区域的路由器
- (自治系统边界路由器)ASBR:连接外部自治系统的路由器
(3)区域类型:
- 骨干区域:唯一、区域0、连续 的
- 非骨干区域:必须连接到骨干区域,即使非骨干区域内有线直连也不通(为了防止形成路由环路)
OSPF工作流程
OSPF协议分区域管理
三、OSPF实验
关键命令: