一、OSPF的高级特性
1、OSPF的不规则区域
OSPF中不规则区域指未遵循分层设计原则的区域拓扑结构,可能导致路由黑洞、次优路径等问题。以下是典型场景及解决方案:
不规则区域的典型场景
-
孤岛区域
- 非骨干区域(如Area 1)未直连Area 0,而是通过其他非骨干区域(如Area 2)间接连接。
- 问题:违反OSPF骨干区域必须连续的原则,导致路由信息无法正常传递。
-
多骨干区域
- 存在多个Area 0(如网络合并时误配置)。
- 问题:OSPF要求全网唯一骨干区域,多骨干区域会引发路由计算混乱。
-
环状区域拓扑
- 区域间形成环路(如Area 1 ↔ Area 2 ↔ Area 3 ↔ Area 1)。
- 问题:导致LSA洪泛循环或次优路径选择。
解决方案
1. 虚链路(Virtual Link)
-
原理:在中间区域的ABR间建立逻辑链路,使孤岛区域逻辑直连Area 0。
-
适用场景:临时修复孤岛区域问题。
-
配置示例:
router ospf 1 area 2 virtual-link 10.1.1.1 # 对端ABR的Router-ID
2、使用多进程双向重发布
重发布(路由引入):
在运行不同协议或不同进程的边界设备(ASBR — 自治系统边界路由器,协议边界路由器)上,将一种协议按照另一种协议的规则发布出去
2、OSPF的特殊区域:
OSPF特殊区域通过限制LSA的泛洪范围来优化路由表规模和提高网络性能,主要包括以下类型:
2.1 Stub区域
定义:
禁止Type 5 LSA(外部路由)进入,由ABR生成Type 3 LSA的默认路由(0.0.0.0
)。
特点:
- 阻止Type 4和Type 5 LSA。
- ABR自动下发默认路由(Type 3 LSA)。
- 区域内路由器需配置为Stub。
配置(思科):
router ospf 1
area 1 stub
配置(华为):
huawei
复制
ospf 1
area 1
stub
适用场景:
- 边缘区域,且仅有一个出口。
- 无需接收外部路由(如RIP、BGP)。
注意事项:
- 虚链路(Virtual Link)不能跨越Stub区域。
2.2 Totally Stub区域
定义:
Stub区域的增强版,进一步禁止Type 3 LSA(区域间路由),仅保留区域内路由和默认路由。
特点:
- 阻止Type 3、4、5 LSA。
- ABR下发默认路由(Type 3 LSA)。
配置(思科):
cisco
复制
router ospf 1
area 1 stub no-summary
配置(华为):
huawei
复制
ospf 1
area 1
stub no-summary
适用场景:
- 极度简化路由表的边缘区域(如分支机构)。
2.3 NSSA(Not-So-Stubby Area)
定义:
允许引入外部路由(Type 7 LSA),同时禁止Type 5 LSA进入。
特点:
- 允许Type 7 LSA在区域内泛洪。
- ABR将Type 7 LSA转换为Type 5 LSA后传递到其他区域。
- ABR生成默认路由(Type 7 LSA)。
配置(思科):
cisco
复制
router ospf 1
area 1 nssa
配置(华为):
huawei
复制
ospf 1
area 1
nssa
适用场景:
- 区域需要引入外部路由,但其他区域无需感知这些路由(如临时网络合并)。
注意事项:
- 默认路由需手动触发(通过
area 1 nssa default-information-originate
)。
2.4 Totally NSSA
定义:
NSSA的增强版,禁止Type 3 LSA,仅保留区域内路由和默认路由。
特点:
- 阻止Type 3、4、5 LSA。
- ABR生成默认路由(Type 3 LSA)。
配置(思科):
cisco
复制
router ospf 1
area 1 nssa no-summary
配置(华为):
huawei
复制
ospf 1
area 1
nssa no-summary
适用场景:
- 需要引入外部路由且高度简化路由表的区域。
2.5特殊区域对比
区域类型 | 阻止的LSA | 默认路由来源 | 允许外部路由 |
---|---|---|---|
Stub | Type 4, 5 | ABR(Type 3) | 否 |
Totally Stub | Type 3, 4, 5 | ABR(Type 3) | 否 |
NSSA | Type 4, 5 | ABR(Type 7) | 是(Type 7) |
Totally NSSA | Type 3, 4, 5 | ABR(Type 3) | 是(Type 7) |
二、OSPF的优化
主要指减少LSA的更新量
1、汇总 – 减少骨干区域的LSA
OSPF的汇总被称为区域汇总,可以分为域间汇总和域外汇总
- 域间汇总的实质是对3类LSA进行汇总(在具体的区域中汇总)
- ABR设备上进行 — abr-sumarry 192.168.0.0(汇总网段) 255.255.254.0(完整掩码)
- 只有ABR设备通过1类2类学到的明细才能进行汇总
- 域外汇总实质是对5类、7类LSA进行汇总(在ospf进程中汇总)
- ASBR设备 — - abr-sumarry 192.168.0.0(汇总网段) 255.255.254.0(完整掩码)
- 汇总网段种子度量值计算规则:
- 类型1:取所有明细路由中度量值最大的作为汇总网段的度量值
- 类型2:取所有明细路由中度量值最大的+1作为汇总网段的度量值
2、做特殊区域 — 减少非骨干区域的LSA
2.1 末梢区域 — stub
末梢区域拒绝学习4类5类LSA,同时由链接骨干的ABR设备自动生成一条指向骨干的3类缺省
- 不能是骨干区域
- 不能存在虚链路
- 不能存在ASBR设备
[r5-ospf-1-area-0.0.0.2]stub
注意:一个区域中所有设备必须配置为相同的特殊区域,否则邻居关系将无法建立
2.2 完全末梢区域 — Totally Stub
在末梢区域的基础上,进一步拒绝学习3类LSA,按时需要保留3类缺省
[r1-ospf-1-area-0.0.0.2]stub no-summary —这个命令只需要在ABR设备上配置即可
2.3 NSSA区域 —非完全末梢区域
拒绝学习4类5类LSA,同时由连接骨干的ABR设备自动生成一条指向骨干的7类缺省
- 不能是骨干区域
- 不能存在虚链路
- 必须存在ASBR设备
7类LSA传递的路由信息加表之后,其标志为O_NSSA,优先级为150
2.4 Totally NSSA区域 — 完全的非完全末梢区域
在NSSA区域的基础上,进一步拒绝学习3类LSA,并且会生成一条3类缺省
[r3-ospf-1-area-0.0.0.1]nssa no-summary—这个命令只需要在ABR设备上配置即可
OSPF的选路原则 — 域内优于域外,开销值类型1类优于2类
三、OSPF拓展配置
1,手工认证
-
接口认证:
- [r6-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
-
区域认证 — 可以在一个区域内做认证,其效果,是将这个区域内所有接口做接口认证
- [r1-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456
-
虚链路认证
- [r5-ospf-1-area-0.0.0.2]vlink-peer 4.4.4.4 md5 1 cipher 123456
2、加快收敛
-
等待计时器 — 等同于死亡时间
-
Poll — 轮询计时器 — 120S — 定义给状态为DOWN的邻居发送hello包的周期时间
- [r2-GigabitEthernet0/0/1]ospf timer poll ?INTEGER<1-3600> Second(s)
-
Retransmit — 重传计时器 — 5S — 若在重传计时器时间内没有收到对方发送的确认信息,则需要重传
- [r2-GigabitEthernet0/0/1]ospf timer retransmit ?
- INTEGER<1-3600> Second(s)
- [r2-GigabitEthernet0/0/1]ospf timer retransmit ?
-
Transmit Delay — 传输延时 — 1S — 补偿LSA在传输过程中消耗的时间,补偿在老化时间上。
- [r2-GigabitEthernet0/0/1]ospf trans-delay ?
- INTEGER<1-500> Second(s)
- [r2-GigabitEthernet0/0/1]ospf trans-delay ?
3、沉默接口
若将一个接口配置成为沉默接口,则这个接口将只接受不发送OSPF的数据包
[r1-ospf-1]silent-interface GigabitEthernet 0/0/1 — 应用在用户网段,减少数据包的发送,资源的占用
4、缺省路由
-
3类缺省 — 只能自动生成,Stub、Totally Stub、 Totally Stub
- 在路由表中协议标记为OSPF,默认优先级为10
-
5类缺省 — 只能手工配置
- [r1-ospf-1]default-route-advertise — 相当于将本地其他协议学习到的缺省路由进行重发布
- [r1-ospf-1]default-route-advertise always — 如果本地没有缺省信息,可以通过增加always来强制下发
- 在路由表中协议标记为O_ASE,默认优先级为150
-
7类缺省 — 可以手工配置,也可以自动生成(NSSA)
- [r1-ospf-1-area-0.0.0.1]nssa default-route-advertise
5、路由过滤
可以在域间针对3类LSA进行过滤,也可以在ASBR上针对5类/7类LSA进行过滤
[r2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0 not-advertise —域间过滤3类LSA,可以用于汇总网段和明细
[r2-ospf-1]asbr-summary 1.1.1.1255.255.255.255 not-advertise —域外过滤5类/7类LSA
6、路由控制
-
优先级
- [r2-ospf-1]preference 20 — 修改域内和域间类型为OSPF的优先级
- [r2-ospf-1]preference ase 100—修改域类型为O_ASE/O_NSSA的优先级
-
开销值
- COST = 参考带宽/真实带宽
- 通过修改参考带宽影响开销值
- [r2-ospf-1]bandwidth-reference ?
- INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
- [r1-ospf-1]bandwidth-reference 1000
- Info: Reference bandwidth is changed. Please ensure that the reference bandwidththat is configured for all the routgrs are the same.
- 通过修改真实带宽影响开销值
- [r2-GigabitEthernet0/0/1]undo negotiation auto关闭自动协商
- [r2-GigabitEthernet0/0/1]speed 10—修改接口的传输速率
- 重启生效
- 直接修改COST值
本地其他协议学习到的缺省路由进行重发布 - [r1-ospf-1]default-route-advertise always — 如果本地没有缺省信息,可以通过增加always来强制下发
- 在路由表中协议标记为O_ASE,默认优先级为150
-
7类缺省 — 可以手工配置,也可以自动生成(NSSA)
- [r1-ospf-1-area-0.0.0.1]nssa default-route-advertise
5、路由过滤
可以在域间针对3类LSA进行过滤,也可以在ASBR上针对5类/7类LSA进行过滤
[r2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0 not-advertise —域间过滤3类LSA,可以用于汇总网段和明细
[r2-ospf-1]asbr-summary 1.1.1.1255.255.255.255 not-advertise —域外过滤5类/7类LSA
6、路由控制
- 优先级
- [r2-ospf-1]preference 20 — 修改域内和域间类型为OSPF的优先级
- [r2-ospf-1]preference ase 100—修改域类型为O_ASE/O_NSSA的优先级
- 开销值
- COST = 参考带宽/真实带宽
- 通过修改参考带宽影响开销值
- [r2-ospf-1]bandwidth-reference ?
- INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
- [r1-ospf-1]bandwidth-reference 1000
- Info: Reference bandwidth is changed. Please ensure that the reference bandwidththat is configured for all the routgrs are the same.
- 通过修改真实带宽影响开销值
- [r2-GigabitEthernet0/0/1]undo negotiation auto关闭自动协商
- [r2-GigabitEthernet0/0/1]speed 10—修改接口的传输速率
- 重启生效
- 直接修改COST值
- [r2-GigabitEthernet0/0/1]ospf cost 1000 —修改接口的开销值