OSPF开放最短路径优先协议
内部网关协议和外部网关协议
- 自治系统(AS)
- 内部网关协议(IGP)
- 外部网关协议(EGP)
AS自治系统
AS时同一个技术机构使用同一选路策略的一些路由器集合
自治系统分为
IGMP:内部网关路由协议,运行在AS内部的路由协议,主要解决AS内部的选路问题
EGP:外部网关路由协议,运行在AS与AS之间的路由协议,他解决AS之间选路问题
协议类型分类
距离矢量路由协议:RIP1/2、BGP、EIGRP
OSPF工作过程
- 建立邻居表
- 形成链路状态数据库
- 形成路由表
每个OSPF路由器只维护所在区域的完整链路状态信息
OSPF的基本概念
OSPF区域
为了适应大型的网络,OSPF在AS内划分多给区域
每个OSPF路由器只维护所在区域的完整链路状态
区域ID
区域ID可以表示成一个十进制的数字
也可以表示成一个IP地址
骨干区域Area 0
负责区域间路由信息传播
非骨干区域
能够根据学习的路由种类来分区
- 标准区域
- 末梢区域(stub)
- 完全末梢区域
- 非纯末梢区域
Router ID
OSPF区域内唯一标识路由器的IP地址
Router ID选取规则
选取路由器LoopBack环回接口上数值最高的IP地址
如果没有LoopBack环回接口则在物理㐰中选取IP地址最高的
也可以使用router-id命令指定Router ID
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
先选举后发送链路数据包给DR和BDR告诉其他路由器
OSPF的度量值为COST
COST = 108/BW(接口带宽)
最短路径是基于接口指定的代价计算
接口类型 | 代价(108/BW) |
---|---|
FastEthernet | 1 |
Ethernet | 10 |
56k | 1785 |
OSPF数据包
承载IP数据包内,使用协议号89
OSPF的五中包类型
OSPF | 描述 |
---|---|
Hello包 | 用于发现和维持邻居关系,选举DR和BDR |
数据库描述包(DBD) | 用于向另据发送摘要信息以同步链路状态数据库 |
链路状态请求包(LSR) | 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息 |
链路状态更新包(LSU) | 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
链路状态确认包(LSAck) | 确认已经收到DBD/LSU,每个LAS需要被分别确认 |
OSPF的七种邻接关系状态机
down | 初始化 |
---|---|
init | 收到第一个Hello包 |
2way | 双向建立会话 |
Exstart | 建立主从关系 |
Exchange | 交换摘要信息 |
Loading | 加载详细信息 |
Full | 完全连接 |
OSPF的四种网络划分
点到点网络
- 自动发现邻居
- 不需要DR/BDR
- 组播224.0.0.5
广播多路访问网络
- 自动发现邻居
- 选举DR/BDR
- 组播224.0.0.5 | 224.0.0.6
非广播多路访问网络
- 手工指定邻居
- 选DR/BDR
- 单播
点到多点网络
- 自动发现另据
- 不需要DR/BDR
- 组播224.0.0.5
OSPF多区域原因
用于改善网络可扩展性,快速收敛
OSPF的三种通信量
域内通信量
- 单个区域内的路由器之间交换数据包构成的通信量
域间通信量 - 不同区域的路由器之间交换数据包构成的通信量
外部通信量 - OSPF域内的路由器与OSPF区域外或另一个AS系统内的路由器之间交换数据包构成的通信量
在区域中没有和别的AS或路由连接的收内部路由器
OSPF路由器的类型
- 内部路由器BR
- 区域边界路由器ABR
- 自治系统边界路由器ASBR
ASBR负责将外部路由注入到OSPF的网络中
- 能够学习到其他区域的路由
- 能学习外部路由
链路状态数据库的组成
每给路由器都创建了由每给接口、对应的相邻节点和接口速度组成的数据库
链路状态数据库中每个条目成为LSA(链路状态通告)
常见的六种LSA类型
类型代码 | 描述 | 用途 |
---|---|---|
Type 1 | 路由器LSA | 路由器发出 描述链路状态和花费 |
Type 2 | 网络LSA | DR发出 区域内变更的消息 |
Type 3 | 网络汇总LSA | ABR发出 通告别的区域路由信息 |
Type 4 | ASBR汇总LSA | ABR发出 指路员 不会出现在ASBR所属区域 |
Type 5 | AS外部LSA | ASBR发出 通告外部路由 在整个OSPF内泛洪 |
Type 7 | NSSA外部LSA | NSSA区域内的ASBR发出 通告本区域连接的外部路由 |
末梢区域和完全末梢区域的区别
末梢区域
- 没有LSA4、5、7通告
完全末梢区域
- 除一条LSA3的默认路由通告外,没有LSA3、4、5、7通告
OSPF高级配置
路由重分发
一个单一的IP路由协议是管理网络中IP路由的首选方案,多个路由协议,每个路由协议和该路由所服务的网络属于同一个AS系统
OSPF域中路由的路径类型
- 类型一的外部路径(Type 1 external path ; E1)
- 类型二的外部路径(Type 2 external path ; E2)
用于两个或以上ASBR通向同一个外部网络时进行选路
路由器A到达路由器D的路径
E1类型 外部不可信用类型
- 路径A->B->D的代价是25(20+5)
- 路径A->C->D的代价是48(18+30)
E2类型 可信用类型 [默认网络类型为E2]
- 路径A->B->D的代价是25(20)
- 路径A->C->D的代价是48(18)
每一种区域中允许泛洪的LSA
区域类型 | 1&2 | 3 | 4&5 | 7 |
---|---|---|---|---|
骨干区域 | 允许 | 允许 | 允许 | 不允许 |
非骨干区域 | 允许 | 允许 | 允许 | 不允许 |
末梢区域 | 允许 | 允许 | 不允许 | 不允许 |
完全末梢区域 | 允许 | 不允许* | 不允许 | 不允许 |
NSSA | 允许 | 允许 | 不允许 | 允许 |
OSPF的路径类型
区域内路径、区域外路径、类型一的外部路径和类型二的外部路径
OSPF的路径类型的优先级
区域内路径 | 优先级1 |
---|---|
区域间路径 | 优先级2 |
E1外部路径 | 优先级3 |
E2外部路径 | 优先级4 |
- 1表示最高的优先级。4表示最低优先级
- 路由表添加路由条目时,如果目的网段相同,则会选择优先级高的路由条目添加到路由表中
OSPF地址汇总的作用
- 地址汇总也是通告减少泛洪的LSA数量节省资源
- 可以通告屏蔽一些网络不稳定的细节来节省资源
- 减少路由表中的路由条目
虚链路
指一条通过一个非骨干区域连接到骨干区域的链路
虚链路的目的
通过一个非骨干区域连接一个区域到骨干区域
通过一个非骨干区域连接一个分段的骨干区域两边的部分区域
配置虚拟链路的规则及特点
- 虚链路必须配置在两台ABR路由器之间
- 传送区域不能时一个末梢区域
- 虚链路的稳定性取决于其它经过区域的稳定性
- 虚链路有助于提供逻辑冗余