OSPF协议

  • 1. OSPF概述
  • 2. OSPF原理
  • 3. OSPF router id
  • 3.1 概念
  • 3.2 选举方式
  • 4. OSPF常见结构
  • 4.1 单区域
  • 4.2 多区域(特色)
  • 5. OSPF配置介绍
  • 5.1 反掩码(通配符)
  • 5.2 配置思路
  • 5.3 查看三个表
  • 5.4 OSPF状态FULL不起来的情况几种情况
  • 5.4.1 认证方式/密码不一致
  • 5.4.2 Router id冲突
  • 5.4.3 Hello时间不一致
  • 5.4.4 区域area不一致
  • 5.4.5 网段不通
  • 5.5 认证方式
  • 6. OSPF开销计算方式
  • 7. DR&BDR
  • 7.1 原理介绍
  • 7.2 配置方法


1. OSPF概述

  • OSPF
  • O:open 公有协议
  • SPF:最短路径优先算法,用于破除环路
  • LSDB:链路状态数据库
  • area(区域的概念)
  • 核心区域, area 0
  • 非核心区域,area1 或者 area2

2. OSPF原理

ospf基本配置步骤 配置ospf总结_ospf基本配置步骤

  • 第一步:每个设备运行OSPF,宣告相应网段
  • 第二部:地图–>LSDB形成
  • R1向R2传输LSA(链路状态通告,非路由)
  • R2向R3传输LSA
  • 所有的LSA组成LSDB(每个路由器上都有)
  • 第三步:每个设备执行SPF(最短路径优先)算法,处理LSDB,计算出最短路径树
  • 第四步:把最优路径存储到路由表中

3. OSPF router id

3.1 概念

  • router id:和IP地址类似的32位的值,每个路由器的唯一标识符。

3.2 选举方式

  • 手动配置(优先生效
router id 8.8.8			//本地全局生效(其他协议也可能会使用该router id)
ospf 1 route-id 8.8.8	//本地ospf进程生效,生产环境优先选择
  • 配置自动选举(不建议)
  • 选举规则推荐
  • 手动配置ospf路由器的 Router ID(通常建议手动配置)
  • 如果没有手动配置 Router ID,则路由器使用 Loopback 接口中最大的IP作为 Router ID(因为是逻辑接口,不容易出问题)
  • 如果没有配置 Loopback 接口,则使用物理接口中最大的IP地址作为 Route ID
  • 注意:
  • 华为这边,优先选择第一个UP起来(物理或者逻辑)的接口的IP地址作为设备的 Router ID
  • OSPF的路由器 Router ID 重新配置后,可以通过重置ospf进程来更新 Router ID
display ospf peer		//显示ospf的router id
//注意区别一下命令
display router id  //显示路由器的全局router id,在任何进程下均为全局router id
<Huawei>reset ospf process	------Y    //重启ospf进程,重新选举(需要先配置,再重启)

4. OSPF常见结构

4.1 单区域

  • 区域划分是以接口进行划分的,而不是网段
  • 强制:路由器的每个接口都在区域中
  • 如果ospf是单区域,那个区域建议是 area 0
  • area 0 必须有,且仅有一个

4.2 多区域(特色)

  • 如果 ospf 的区域结构是多区域的话,一定会有 area 0 区域,另外还有非骨干区域,比如 area 1 或者 area 2 等
  • 所有的非骨干区域,一定要连接到 area 0 周围(因为OSPF的特殊结构,抗环)
  • 优点:
  • 扩展性好
  • 降低设备性能压力

5. OSPF配置介绍

5.1 反掩码(通配符)

  • 计算方式:反掩码=255.255.255.255 - 掩码
  • 举例
  • 192.168.1.1 /16
  • 反掩码=255.255.255.255 - 255.255.0.0 = 0.0.255.255
  • 注意(用于网络宣告)
  • 反掩码中的0表示的意思是精确值
  • 有人会写反掩码:0.0.0.0,0.0.0.0表示精确匹配
  • 反掩码中的255表示的意思是人任意值

5.2 配置思路

ospf基本配置步骤 配置ospf总结_优先级_02


  1. 底层IP地址的配置
  2. 测试直连是否能够ping通,通过display ip interface brief检查IP是否配错
  3. 每台路由器上配置ospf的router id
  4. 在ospf进程里面创建区域和宣告网段
interface loopback 0	//创建环回接口
ipaddress 1.1.1.1 32	//配置环回接口地址
ospf 10 route-id 1.1.1.1	//配置进程号为 10 的 ospf 的 route id 为 1.1.1.1,进程号随意
ospf 10	//进入进程号为 10 的 ospf 进程
area 1		//创建区域1 中
//宣告网络两种方式,推荐第一种,宣告接口
network 192.168.12.1  0.0.0.0	//在区域中宣告接口,推荐,精确宣告
network 192.168.12.0  0.0.0.255	//在区域1中宣告192.168.12.0的网段,反掩码为:0.0.0.255

5.3 查看三个表

  • 邻居表
  • Neighbor id是指对端的router id
  • state状态需要是FULL
  • FULL 邻接状态
  • 2-way 邻居状态
display ospf peer brief		//显示邻居表
display ospf peer		//打印我的route id
//重置ospf的router id,先配置
reset ospf process		//用户视图中,重置进程,重新选举route id,需要输入 Y 确认
  • 路由表
display ip routing-table protocol ospf
  • 数据库表
display ospf lsdb	//查看ospf当中的LSDB

5.4 OSPF状态FULL不起来的情况几种情况

5.4.1 认证方式/密码不一致

  1. R1配置认证,R2不配置认证
  2. R1配置simple认证,R2配置MD认证
  3. R1和R2的认证密码不一致

5.4.2 Router id冲突

ospf基本配置步骤 配置ospf总结_优先级_03

5.4.3 Hello时间不一致

ospf基本配置步骤 配置ospf总结_OSPF_04

5.4.4 区域area不一致

area 不一致导致

ospf基本配置步骤 配置ospf总结_ospf基本配置步骤_05

5.4.5 网段不通

ospf基本配置步骤 配置ospf总结_OSPF_06

5.5 认证方式

  • 认证模式
  • 分类:区域认证、接口认证
  • 区域认证:在区域下认证
  • 接口认证:在接口下认证
  • 只要认证的方式一样,区域和接口问题不大,如果两个密码不一致,state 会 从 FULL 变成 DOWN(从邻居表中消失)
  • 认证方式
  • null(不认证)
  • simple(明文认证)
  • MD5(密文认证)
  • 两边的key ID需要保持一致,否则会 down 掉
  • key ID的作用是平滑过渡
  • 如果需要修改密码等情况,可以通过再配一个不同的key id的认证,再删除以后,可以实现网络不down的情况下,删除原有的加密数据。真机可以,模拟器不支持。
  • 当simple和Md5都存在时,优先使用接口方式认证
//明文认证,密码password
authentication-mode simple plain password	//在area中添加认证,需要在对应area下敲
ospf authentication-mode simple plain password //在接口中添加认证,需要在接口下敲

6. OSPF开销计算方式

  • rip 通过调数计算,OSPF通过带宽来计算。
  • 开销修改
  • 公式(带宽参考值/带宽)计算
  • 作用范围:本路由器是能所有OSPF的接口
  • cost = 参考带宽 / 实际带宽,参考带宽默认100M,当计算有小数的时候,只取整数位,结果小于1是,cost取1
  • 注意:所有路由器都需要修改,确保选路一致性
  • 出接口上面修改开销(推荐
  • 直接在接口上面配置,作用范围仅限于本接口
ospf cost 20
  • 开销计算
  • RTA 到达192.168.3.0/24 的 累计cost = G1 + G3(出接口之和)

7. DR&BDR

7.1 原理介绍

  • DR:网络中设备比较多的情况下,所有设备将数据报给DR,DR统一分配给各个设备,节约带宽
  • DR和其他设备间state状态为FULL,因为需要交互
  • BDR:备份设备
  • DROther:非DR设备
  • 除了和DR,其他设备间state状态为2-way状态,不用直接交互,因为所有数据都发给DR,由DR统一分配

7.2 配置方法

  • DR选举
  • 自动选举
  • 手动选举
  • DR选举原则
    一个广播域(网络)会选择一个DR设备和一个BDR设备,广播域不等于area,一个area可以有多个DR
  • 比较路由器接口的优先级,默认情况下为1,数值越大,优先级越高
  • 当接口优先级一样的时候,比较这个广播域当中网络设备router id,越大优先级越高
  • 当接口优先级为0时,该设备不参与选举
  • DR是非抢占的,DR状态生成以后,修改接口优先级以后,不会变化
//可以通过查看路由器接口的ospf状态
display ospf interface g0/0/0	//查看接口下ospf运行状态,有DR和BDR的状态
//修改ospf接口优先级
ospf dr-priority 1	//在接口下修改优先级为1,越大优先级越高,修改后不会变化
reset ospf process	//用户视图下,重启ospf进程后重新生成DR
  • 查看结果
  • Priority:R1该接口的优先级,默认为1
  • State:DR&BDR状态