OSPF 路由协议
OSPF的基本概念和工作过程
OSPF路由协议概述
大型网络所发生的的变化:
(OSPF能解决这些问题)
- 网络规模扩大
- 网络可靠性要求提高
- 网络异构化趋势加剧
RIP在大型网络中部署所面临的的问题
RIP特性 带来的问题
逐跳收敛 收敛慢,故障恢复时间长
分布式路由计算 缺少对全局网络拓扑的了解
以跳数为度量 存在选择次优路线的风险
如何解决RIP的问题
RIP的问题 优化解决方式
收敛慢,故障恢复时间长 触发更新
缺少对全局网络拓扑的了解 路由器基于拓扑信息,独立计算路由
存在选择次优路线的风险 将链路带宽作为选路参数值
链路状态路由协议–OSPF
- 路由信息传递与路由计算分离
- 基于SPF算法
- 以 “累计链路开销”作为选路参考值
内部网关协议和外部网关协议
- 自治系统(AS):在一个AS系统下,内部通信使用内部网关协议,不同AS系统通信用外部网关协议
- 内部网关协议(IGP)
- 外部网关协议(EGP)
OSPF是链路状态路由协议
OSPF的工作过程
工作过程
- 邻居列表
- 链路状态数据库
- 路由表
建立邻接关系(组播协议)—链路状态数据库—最短路径树—路由表
学习链路状态信息 Dijstra算法
OSPF
OSPF的基本概念
OPSF区域
- 为了适应大型网络,OSPF在AS内划分多个区域
- 为每个OSPF路由器只维护所在区域的完整链路状态信息
区域ID
区域ID可以表示成一个十进制的数字
也可以表示成一个IP
骨干区域Area0
负责区域间路由信息传播
非骨干区域
标准区域
末梢区域(stub)
完全末梢区域(totally stubby)
非纯末梢区域(NSSA)
完全非纯末梢区域
Router ID
OSPF区域唯一标识路由器的IP地址
Router ID 选取规则
- 选取路由器loopback接口上数值最高的IP地址
- 如果没有loopback接口,在屋里端口选取IP地址最高的
- 也可以使用router-id命令指定Router ID
路由器的两种角色
DR和BDR
广播网络中建立邻接关系
指定路由器(DR)
冗余指定路由器(BDR):DR的备份
其他路由器 只和DR及BDR形成邻接关系
DR和BDR选举方法
自动选举DR和BDR
- 网段上的Router ID最大的路由器将被选举为DR,第二大的将成为BDR
手工选择DR和BDR
- 优先级范围0–255,数值越大,优先级越高,默认为1
- 如果优先级相同,则需要比较Router ID
- 如果路由器的优先级被设置为0,它将不参与DR和BDR的选举
DR和BDR的选举过程
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或者BDR路由器
OSPF的组播地址
- 224.0.0.5
- 224.0.0.6
OSPF的度量值COST
最短路径是基于接口指定代价(cost)计算的
代价(开销)越高,链路优先级越低
COST=10八次方/BW
OSPF数据包类型
OSP数据包
承载在ip数据包内,使用协议号89
OSPF包类型
OSPF包类型 | 描述(作用) |
---|---|
Hello包(报文) | 用于发现和维持邻居关系,选举DR和BDR |
数据库描述包(DBD) | 用于向邻居发送摘要信息以同步链路状态数据库 |
链路状态请求包(LSR) | 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息 |
链路状态更新包(LSU) | 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
链路状态确认包(LSACK) | 确认已经收到LSU,每个LSA需要被分别确认 |
OSPF邻接关系
OSPF邻接关系的建立
发送Hello报文,建立邻居关系,选举DR和BDR—发送数据库描述包,同步链路状态数据库—发送链路状态请求包,收集更加详细的信息—收到请求后发送链路状态通告—确认收到更新包
OSPF的应用环境
从以下几方面考虑OSPF的使用
- 网络规模
- 网络拓扑
- 其他特殊要求
- 路由器自身要求
OSPF的特点
- 可适用于大规模网络
- 路由变化收敛速度快
- 无路由环
- 支持变长子网掩码VLSM
- 支持区域划分
- 支持以组播方式发送协议报
OSPF与RIP的比较
OSPF | RIP V1 | RIP V2 |
---|---|---|
链路状态路由协议 | 距离矢量路由协议 | |
没有跳数的限制 | RIP的15跳限制,超过15跳的路由被认为不可达 | |
支持可变长子网掩码(vlsm) | 不支持 | 支持 |
收敛速度快 | 收敛速度慢 | |
使用组播发送链路状态 | 周期广播更新整个路由表 | 周期性组播更新整个路由表 |
ospf适用于大型网络环境,效率更高
OSPF单域配置
OSPF的基本配置命令
int loopback 1
ip add IP地址 网关 ##配置lookback地址
ospf 1 # #创建一个Ospf
area 0 ##进入
network 网段或者IP地址 掩码 ##添加路由器的网段地址
OSPF单域配置实例
OSPF多区域原理与配置
OSPD的多区域
生成OSPF多区域的原因
- 改善网络的可扩展性
- 快速收敛
OSPF的三种通信量
- 域内通信量:
单个区域内的路由器之间交换数据包构成的通信量
- 域间通信量
不同区域的路由器之间交换数据包构成的通信量
- 外部通信量
OSPF域内的路由器与OSPF区域外或另一个自治系统内的路由器之间交换数据包构成的通信量
路由器的类型
OSPF是基于接口划分区域 的,学习路由条目时都会学习到
区域内部路由器:非Router ID路由器,普通路由器。只保存本区域的两路状态信息
区域边界路由器(ABR):用来连接区域和其他区域的路由器
骨干区域的其他AS(ASBR):用来连接OSPF的AS与外部与外部其他的路由
区域的类型
骨干区域Area0
负责区域间路由信息传播
非骨干区域-根据能够学习的路由种类来区分
标准区域
末梢区域(stub)
完全末梢区域(totally stubby)
非纯末梢区域(NSSA)
完全非纯末梢区域
链路状态数据库
链路状态数据库的组成
- 为每个路由器创建了由每个接口、对应的相邻节点和接口速率组成的数据库
- 链路状态数据库中每个条目称为LSA(链路状态通告),常见有六种LSA类型
链路状态通告
链路状态通告(LSA)类型
type 1 路由器LSA 由区域内的路由器发出 发给DR
type2 网络LSA 由区域内的DR发出的 回应内部路由器,把自身知道的信息发给内部路由器
type3 网络汇总LSA ABR发出的,其他区域汇总链路通告 用来告知其他区域的信息到当前区域
type4 ASBR汇总LSA ABR发出的,用于通告ASBR信息 告知内部路由器,内部有一个ASBR路由器
type5 AS外部LSA ASBR发出的,用于通告外部路由 将外部路由协议通告到当前区域内
type7 NSSA外部LSA NSSA区域内的ASBR发出的,用于通告外部路由
OSPF多区域配置
末梢区域和完全末梢区域
满足以下条件的区域
- 只有一个默认路由作为其他区域的出口
- 区域不能作为虚链路的穿越区域
- 该区域里无自治系统边界路由器ASBR
- 不是骨干区域Area 0
末梢区域
没有LSA4、5、7通告
完全末梢区域
除一条LSA3默认路由通告外,没有LSA3、4、5、7通告
NSSA区域
NSSA区域是OPSF RFC的补遗
- 定义特殊的LSA类型7
- 提供类似stub area和totally stubby area的优点
- 可以包括ASBR
OSPF链路状态通告
LSA7(NSSA External LSA, NSSA外部LSA)
NSSA区域重分发路由类型
- N1、N2
- 经过NSSA区域ABR后转换为E1、E2
不同协议能够互相学习到路由信息
配置多区域OSPF
OSPF多区域配置验证
STUB区域及配置
LSA4与LSA5
末梢区域和完全非末梢区域
末梢区域:进入对应的area —输入stub回车,属于这个区域的路由器都要设置
完全非末梢区域:进入对应的area —输入stub no-summary回车,属于这个区域的路由器都要设置
非纯末梢区域和完全非纯末梢区域
非纯末梢区域:进入对应的area —输入nssa回车,属于这个区域的路由器都要设置
完全非纯末梢区域:进入对应的area —输入nssa回车,属于这个区域的路由器都要设置
OSPF 高级配置
OSPF 环路
防环机制
避免域间路由环路的产生
- 骨干区域与非骨干区域
- 三类LSA的传递规则
不规范的OSPF区域设计
虚链路
虚链路的作用
一般用于临时或者备用的连接
虚链路和隧道的区别
- 报文的不同,虚链路是封装在IP报文中,并且通过单播进行发送,而隧道技术是将报文封装在隧道中本质上还是通过组播的形式进行报文发送的。
- 虚链路可以穿越一个区域,隧道可以穿越多个区域,虚链路需要有到达对方的路由并且在同一区域才能建立邻居,而隧道技术只要双方路由可达,就能建立邻居,可穿越多个区域。
虚链路使用场景
- 用于连接与骨干区域不相连的非骨干区域
- 用于连接不连续的骨干区域
- 用于连接两个非骨干区域。
- 用于骨干区域的备用链路
- 用于路径优化时使用
虚链路的缺点
- 易出现环路
- 不能将骨干区域的汇总发布到虚链路穿越的区域(虚链路防环机制)
路由重分发
理解路由重分发
-
一个单一IP路由协议是管理网络中ip路由的首选方案
-
华为vrp能执行多个路由协议,每一个路由协议和该路由协议所服务的网络属于同一个自治系统
-
华为vrp使用路由重分特性以交换不同协议创建的路由信息
路由重分发的考虑
- 度量值
- 管理距离
不同,虚链路是封装在IP报文中,并且通过单播进行发送,而隧道技术是将报文封装在隧道中本质上还是通过组播的形式进行报文发送的。
2. 虚链路可以穿越一个区域,隧道可以穿越多个区域,虚链路需要有到达对方的路由并且在同一区域才能建立邻居,而隧道技术只要双方路由可达,就能建立邻居,可穿越多个区域。
虚链路使用场景
- 用于连接与骨干区域不相连的非骨干区域
- 用于连接不连续的骨干区域
- 用于连接两个非骨干区域。
- 用于骨干区域的备用链路
- 用于路径优化时使用
虚链路的缺点
- 易出现环路
- 不能将骨干区域的汇总发布到虚链路穿越的区域(虚链路防环机制)
路由重分发
理解路由重分发
-
一个单一IP路由协议是管理网络中ip路由的首选方案
-
华为vrp能执行多个路由协议,每一个路由协议和该路由协议所服务的网络属于同一个自治系统
-
华为vrp使用路由重分特性以交换不同协议创建的路由信息
路由重分发的考虑
- 度量值
- 管理距离
ospf