OSPF协议笔记
一、OSPF基础
1. 技术背景(RIP的问题)
- 最大跳数限制(15跳),不适应大规模组网
- 周期性发送全部路由信息,占用带宽
- 路由收敛速度慢
- 以跳数为度量值,可能导致非最优路径
- 存在路由环路风险
- 每30秒更新一次
2. OSPF协议特点
- 无跳数限制,适合大规模组网
- 组播更新变化的路由信息,减少带宽占用
- 收敛快,支持触发更新
- 以COST为度量值
- 采用SPF算法避免环路
- 每30分钟周期性更新(LSA)
- 应用广泛,传递拓扑信息+路由信息(RIP仅传递路由表)
3. OSPF三张表
| 表类型 | 作用 | 查看命令示例 |
|---|
| 邻居表 | 记录邻居状态和关系 | - |
| 拓扑表 | 链路状态数据库(LSDB),存储全网拓扑 | [R1]dis ospf 1 lsdb |
| 路由表 | 由SPF算法计算的最优路由 | dis ip routing-table pro ospf |
4. OSPF数据包(封装在IP中,协议号89)
头部字段
- 版本(OSPFv2为2)、类型(1-5对应Hello/DD/LSR/LSU/LSAck)
- 报文长度、路由器ID、区域ID、校验和、认证类型及数据
5种报文类型
| 报文类型 | 作用 | 关键字段/特性 |
|---|
| Hello | 发现、建立、保活邻居关系 | 网络掩码、Hello间隔(默认10s)、Dead间隔(默认40s)、DR/BDR、邻居Router-ID |
| DBD | 交换LSDB中LSA的摘要信息 | 接口MTU、I(Init位)、M(More位)、MS(主从位)、DD序列号 |
| LSR | 请求缺少或更新的LSA详细信息 | LSA三元组(链路状态类型、ID、通告路由器) |
| LSU | 发送LSA详细信息(可包含多个LSA) | 组播地址:224.0.0.6(DR/BDR监听)、224.0.0.5(所有OSPF路由器监听) |
| LSAck | 确认收到LSU | 包含需确认的LSA头部 |
5. OSPF工作过程
- 建立邻居:通过Hello报文发现并确认邻居(2-way状态),选举DR/BDR(广播网络)
- 同步LSDB:邻居间通过DBD交换LSA摘要,用LSR请求缺失LSA,LSU发送详细信息,LSAck确认
- 计算路由:LSDB同步后,用SPF算法计算最优路由,形成路由表
6. 关键概念
- Router ID:路由器唯一标识,手工配置或自动选举(环回口IP>物理口IP,选大的)
- DR/BDR:广播网络中选举,减少邻接关系数量。规则:优先级(0-255,默认1)高优先,否则Router ID大优先;无抢占性
- 状态机:从Down→Init→2-way(邻居稳定)→Exstart(协商主从)→Exchange(交换LSA摘要)→Loading(请求LSA)→Full(邻接稳定)
7. LSDB更新
- 收到LSA时,若本地无则加入;若有则比较序列号(大的更新),序列号相同则比较校验和(大的更新)
- 广播网络中,拓扑变化时,DROTHER向224.0.0.6发送LSU,DR转发至224.0.0.5
8. 开销(COST)计算
- 参考带宽:默认100M,建议设为网络中最高链路带宽
- 公式:链路带宽≥参考带宽时,COST=1;否则COST=参考带宽/链路带宽(Mb)
- 缺省值:千兆以太网=1,百兆以太网=1,十兆以太网=10
9. 区域划分
- 目的:减少LSA泛洪范围,提高扩展性
- 类型:骨干区域(Area 0)、非骨干区域、特殊区域
- 原则:非骨干区域必须与骨干区域相连,非骨干区域间不能直接相连(防环)
10. 路由器类型
| 类型 | 定义 |
|---|
| 区域内路由器(IR) | 所有接口在同一区域 |
| 骨干路由器(BR) | 至少一个接口在骨干区域(Area 0) |
| 区域边界路由器(ABR) | 连接骨干区域和非骨干区域 |
| 自治系统边界路由器(ASBR) | 连接外部自治系统,引入外部路由 |
二、LSA类型
1. LSA头部(20字节)
包含:链路状态老化时间(最大3600s)、可选项、类型、ID、通告路由器、序列号(判断新旧)、校验和、长度
2. 6种主要LSA
| 类型 | 名称 | 通告者 | 作用范围 | 关键信息 |
|---|
| 1 | Router LSA | 所有路由器 | 本区域内 | 描述路由器直连链路(类型、开销等) |
| 2 | Network LSA | DR | 本区域内 | 描述MA网络中路由器及掩码信息 |
| 3 | Network Summary LSA | ABR | 跨区域(区域间) | 描述其他区域的子网路由 |
| 4 | ASBR Summary LSA | ABR | 跨区域 | 描述ASBR的位置(Router ID) |
| 5 | AS External LSA | ASBR | 所有区域(除特殊区域) | 描述引入的外部路由 |
| 7 | NSSA External LSA | ASBR | NSSA区域内 | NSSA区域引入的外部路由,由ABR转为5类LSA |
三、OSPF网络类型
| 网络类型 | 默认链路类型 | 报文发送方式 | DR/BDR选举 | Hello间隔 | Dead间隔 |
|---|
| NBMA | 帧中继 | 单播(需手动指定邻居) | 是 | 30s | 120s |
| P2MP | 手动配置 | 模拟组播(需手动指定邻居) | 否 | 30s | 120s |
| Broadcast | 以太网 | 组播 | 是 | 10s | 40s |
| P2P | PPP | 组播 | 否 | 10s | 40s |
MGRE实验问题及解决
- 问题1:Tunnel接口为P2P类型,无法建立邻接→解决:改为广播或P2MP类型(
[R2-Tunnel0/0/0]ospf network-type broadcast) - 问题2:DR/BDR选举混乱→解决:分支站点DR优先级设为0(确保中心为DR)
四、特殊区域
共性条件
1. STUB区域(末梢区域)
- 特征:不接受4类、5类LSA;无ASBR;ABR自动下发3类缺省路由(0.0.0.0/0)
- 命令:
[r5-ospf-1-area-0.0.0.2]stub
2. Totally STUB区域(完全末梢区域)
- 特征:不接受3类、4类、5类LSA;无ASBR;ABR自动下发3类缺省路由
- 命令:
[r5-ospf-1-area-0.0.0.2]stub no-summary
3. NSSA区域(非纯末梢区域)
- 特征:不接受4类、5类LSA;可存在ASBR(引入外部路由以7类LSA存在);ABR将7类转为5类LSA;华为设备自动下发7类缺省
- 命令:
[r5-ospf-1-area-0.0.0.2]nssa
4. Totally NSSA区域(完全非纯末梢区域)
- 特征:不接受3类、4类、5类LSA;可存在ASBR;ABR下发3类缺省路由
- 命令:
[r5-ospf-1-area-0.0.0.2]nssa no-summary
五、路由聚合
定义
手动将相同前缀的路由聚合后发布,减少LSA数量,适用于3类、5类、7类LSA
1. ABR聚合(3类LSA)
- 作用:将一个区域的LSA聚合后发布到相邻区域
- 命令:
[r1-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0 - 特性:不影响ABR自身路由,下游路由器仅见聚合路由;ABR自动生成黑洞路由防环
2. ASBR聚合(5类、7类LSA)
- 作用:将引入的外部路由聚合后发布到OSPF内部
- 命令:
[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0 - 特性:不影响ASBR自身路由,OSPF内部仅见聚合路由;ASBR自动生成黑洞路由防环
六、不规则区域解决方案
问题场景
解决方案
- 虚连接:在两个ABR间建立,穿越中间区域(不能是特殊区域)
- 命令:
[RTB-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3(对方Router ID)
- 路由引入:在ASBR上运行多OSPF进程,互相引入路由
- 命令:
[R4-ospf-1]import-route ospf 2
七、高级特性
1. 安全特性
- 报文验证:区域验证(
[r3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456)、接口验证([r5-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456),接口验证优先级更高 - 静默接口:禁止端口发送OSPF报文(
[r5-ospf-1]silent-interface GigabitEthernet 0/0/2) - 路由过滤:用ACL+
filter-policy(入方向,影响本机及下游)或filter(出方向,仅影响下游)
2. 加快收敛
- 调整计时器:Hello时间(
ospf timer hello 5)、Dead时间(ospf timer dead 20)、重传时间(默认5s) - 修改网络类型(需两端一致)
3. 缺省路由
- 3类缺省:特殊区域ABR自动下发(优先级10)
- 5类缺省:手工配置(
[r2-ospf-1]default-route-advertise,优先级150) - 7类缺省:NSSA区域自动/手工下发(优先级150)
4. 路由控制
- 优先级:修改OSPF路由优先级(
[r3-ospf-1]preference 50)或域外路由优先级([r3-ospf-1]preference ase 100) - 开销:修改参考带宽(
[r3-ospf-1]bandwidth-reference 1000)或接口开销([r3-GigabitEthernet0/0/0]ospf cost 1000)
5. 防环与选路
- 防环:区域内用SPF算法,区域间靠区域划分原则
- 选路优先级:1.区域内路由(1/2类LSA)→2.区域间路由(3类)→3.一类外部路由(计算内部Cost)→4.二类外部路由(不计算内部Cost)
八、地址划分
基于172.16.0.0/16网段,可按广播域或区域划分:
- 按广播域:划分为多个/21子网(如172.16.0.0/21、172.16.8.0/21等)
- 按区域:划分为6个/19子网(如Area 0用172.16.0.0/19,Area 1用172.16.32.0/19等),每个区域再细分/24或/30子网