OSPF 协议
开放式最短路径优先 基于链路状态特征
工作在IP层 协议号89
OSPF初始化了流程
- 建立邻居和邻接关系
1. 发送hello报文发现和建立邻居关系 组播地址 224.0.0.5
a. 接口UP
b. 双发接口IP地址在同一网段
c. 双方接口在同一区域2. 选举DR/BDR 建立邻接关系
1. DR/BDR选举 邻居不传输消息
1. DRother与DR建立邻接关系
2. DRother与BDR建立邻接
3. DR与BDR建立邻接关系
4. DRother之间保持邻居关系
2. 使广播网络 中路由信息交换更加高速有序
3. 每条广播链路上都需要选举出一个DR和一个BDR 一个路由器可能有多个角色 只要是以太网不管几台路由器都选DR/BDR s口连接的点对点不选
4. 选举规则
1. 优先级大的优先 默认优先级1 路由器
2. Router-id 大的优先
1. Route id 标识路由器身份的ID
1. 手动配置一个IPv4地址为route-id 地址可以不存在
2. 自动选举
1. 在所有环回口中选举一个最大的
2. 在所有的物理接口中选举IP地址最大的
3. 建议手动配置一个环回口的IP地址作为Rid
- 邻接路由器之间交换链路状态信息 实现区域内链路状态数据同步
- 链路状态通告 LSA
- 用于描述路由器的接口、路由条目的相关信息
- 链路状态数据库 LSDB
- 存储本地所有的LSA
- 工作流程
- 向邻接路由器发送DD报文 通告本地LSDB中所有的LSA的摘要信息
- 收到DD后 与本地LSDB对比 向对方发送LSR报文 请求发送本机所需的LSA的完整信息
- 收到LSR 把对方所需的LSA的完整信息打包成一条LSU报文 发送到对方
- 收到LSU后 向对方回复LSACK报文 进行确认
- 每台路由器根据本机链路状态数据库 计算到达每个目的网段的最优路由 写入路由表
OSPF的五种报文类型
Hello 用于建立邻居关系 (2-way)
DD 数据库描述报文 描述本地LSDB的摘要信息
LSR 链路状态请求报文 向对方请求所需要的LSA
LSU 链路状态更新报文 向对方发送所需的LSA或者泛洪自己更新的LSA
LSACK 链路状态确认报文 对收到的LSA进行确认
OSPF分区域管理
分区域的原因
加快收敛速度
把网络故障隔离在区域内部
路由器角色
IR 内部路由器 所有接口都处在同一区域的路由器
ABR 区域边界路由器 连接不同区域的路由器
ASBR 自治系统边界路由器 连接的是OSPF外部 外部自治系统
区域类型
骨干区域
只能有一个骨干区,骨干区必须的连续的 一般把骨干区域配置在核心 层
非骨干区域
非骨干区域必须连接到骨干区域 通信需要在骨干走 为了防环
特殊区域
ospf 1 [进程编号] route-id [手动指定] 不指定直接回车
area 1 [0.0.0.1]
network 100.1.1.0 0.0.0.255[反掩码 精确宣告] 每个接口的IP地址与宣告的网段进行匹配 0的部分必须一致算匹配成功
network 100.1.1.1 0.0.0.0 即全部一致才有效
100.2.2.0/24 100.3.3.0 network 100.0.0.0 0.255.255.255 也可
network 1.1.1.1 0.0.0.0 宣告环回口
ospf route-id 2.2.2.2
area 0
network .....
环回口连接多个区域 宣告那个都可以
display ospf peer 查看ospf的邻居
FULL 邻接 2-way 邻居
连接了业务网段 也需要配置静默端口 必须宣告
silent-intface g0/1
静默接口是对三层口做的静默
silent-intface g0/1
连接了业务网段 也需要配置静默端口
默认路由引入
OSPF内部 default-route-advertise
ospf划分区域好处
分区域 每个区域独立计算 加快收敛速度
把故障隔离在区域内部