OSPF 协议

开放式最短路径优先 基于链路状态特征

工作在IP层 协议号89

OSPF初始化了流程

  1. 建立邻居和邻接关系
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
  1. 邻接路由器之间交换链路状态信息 实现区域内链路状态数据同步
  1. 链路状态通告 LSA
  1. 用于描述路由器的接口、路由条目的相关信息
  1. 链路状态数据库 LSDB
  1. 存储本地所有的LSA
  1. 工作流程
  1. 向邻接路由器发送DD报文 通告本地LSDB中所有的LSA的摘要信息
  2. 收到DD后 与本地LSDB对比 向对方发送LSR报文 请求发送本机所需的LSA的完整信息
  3. 收到LSR 把对方所需的LSA的完整信息打包成一条LSU报文 发送到对方
  4. 收到LSU后 向对方回复LSACK报文 进行确认
  1. 每台路由器根据本机链路状态数据库 计算到达每个目的网段的最优路由 写入路由表


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划分区域好处

分区域 每个区域独立计算 加快收敛速度

把故障隔离在区域内部