OSPF动态路由协议④
OSPF的优化:
OSPF优化的核心目的是减少LSA的更新频率。具体方法包括:通过聚合实现流量分发以及划分特区以降低广播风暴风险。
1.汇总:
OSPF进行区域汇总的作用是为了减少OSPF骨干区域从非骨干区域学习到的路由信息。 而OSPF汇总实质上是进行区域汇总。区域汇总就是对该区域内传递路由信息的LSA进行汇总。
区域汇总又分为域间路由汇总和域外路由汇总。

如图所示,在此情境下:
在该拓扑图中看到,在当前配置中,
- Area 0 和 Area 2 被识别为非骨干链路;
- 路由器 R2 被指定为 Area 0 和 Area 1 的 ABR;
- 路由器 R4 则被配置为 Area 0 和 Area 2 的 ABR;
- 此外,在域外区域运行的是 OSPF 协议,
并且路由器 R5 被指定为 ASBR,
并负责重发其自身的环回信息。此时打开 R3 的 OSPF 路由表时:
- 观察到该路由器上有大量来自其他区域的路由信息;
- 这时可以选择进行 OSPF 路由汇总。
> 1. <r3>display ip routing-table protocol ospf
>
> 2. Route Flags: R - relay, D - download to fib
>
> 3. ------------------------------------------------------------------------------
>
> 4. Public routing table : OSPF
>
> 5. Destinations : 10 Routes : 10
>
> 6.
>
> 7. OSPF routing table status : <Active>
>
> 8. Destinations : 10 Routes : 10
>
> 9.
>
> 10. Destination/Mask Proto Pre Cost Flags NextHop Interface
>
> 11.
>
> 12. 1.0.0.0/30 OSPF 10 2 D 2.0.0.1 GigabitEthernet
>
> 13. 0/0/0
>
> 14. 4.0.0.0/30 OSPF 10 2 D 3.0.0.2 GigabitEthernet
>
> 15. 0/0/1
>
> 16. 192.168.1.1/32 OSPF 10 2 D 2.0.0.1 GigabitEthernet
>
> 17. 0/0/0
>
> 18. 192.168.2.1/32 OSPF 10 2 D 2.0.0.1 GigabitEthernet
>
> 19. 0/0/0
>
> 20. 192.169.1.1/32 OSPF 10 1 D 2.0.0.1 GigabitEthernet
>
> 21. 0/0/0
>
> 22. 192.169.2.1/32 OSPF 10 1 D 2.0.0.1 GigabitEthernet
>
> 23. 0/0/0
>
> 24. 192.171.1.1/32 OSPF 10 1 D 3.0.0.2 GigabitEthernet
>
> 25. 0/0/1
>
> 26. 192.171.2.1/32 OSPF 10 1 D 3.0.0.2 GigabitEthernet
>
> 27. 0/0/1
>
> 28. 192.172.1.0/24 O_ASE 150 1 D 3.0.0.2 GigabitEthernet
>
> 29. 0/0/1
>
> 30. 192.172.2.0/24 O_ASE 150 1 D 3.0.0.2 GigabitEthernet
>
> 31. 0/0/1
>
> 32.
>
> 33. OSPF routing table status : <Inactive>
>
> 34. Destinations : 0 Routes : 0
>
>
>
①域间路由汇总:
**域间区组指的是OSPF领域之间的关系,在各个OSPF领域间的ABRs(Area Border Router)中将传播的三种类型的LSA(Link State Advertisements)进行汇总操作(汇总后会将本区域内存储前三种类型的LSA信息),仅限于ABRs中执行此汇总功能
在图中就是对R2和R4进行汇总(域间路由汇总是作用在ABR上的)
//对区域0和区域1的域间ABR进行汇总 #!!!注意,汇总是汇总非骨干路由信息
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1-area-0.0.0.0]area 1
[r2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0
[r2-ospf-1-area-0.0.0.1]abr-summary 192.169.0.0 255.255.252.0
//此时打开R3的OSPF路由表查看路由信息
<r3>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 8 Routes : 8
OSPF routing table status : <Active>
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
4.0.0.0/30 OSPF 10 2 D 3.0.0.2 GigabitEthernet
0/0/1
192.168.0.0/22 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
192.169.0.0/22 OSPF 10 1 D 2.0.0.1 GigabitEthernet
0/0/0
192.171.1.1/32 OSPF 10 1 D 3.0.0.2 GigabitEthernet
0/0/1
192.171.2.1/32 OSPF 10 1 D 3.0.0.2 GigabitEthernet
0/0/1
192.172.1.0/24 O_ASE 150 1 D 3.0.0.2 GigabitEthernet
0/0/1
192.172.2.0/24 O_ASE 150 1 D 3.0.0.2 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
#此时区域0和区域2的路由信息已经被汇总
此时可以从汇总之后的R4的LSDB表上看到,area1的LSDB信息以及被汇总

再去未汇总前的R2的LSDB表上查看:

可以明显的对比出R2在汇总后,本地的路由LSA信息减少对比R4
此时再在R4上进行汇总:
//对区域0和区域2的域间ABR进行汇总
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 2
[r4-ospf-1-area-0.0.0.2]abr-summary 192.171.0.0 255.255.252.0
//此时在去打开R3的ospf路由表,此时区域1和区域2的路由信息以及汇总完
<r3>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 7 Routes : 7
OSPF routing table status : <Active>
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
4.0.0.0/30 OSPF 10 2 D 3.0.0.2 GigabitEthernet
0/0/1
192.168.0.0/22 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
192.169.0.0/22 OSPF 10 1 D 2.0.0.1 GigabitEthernet
0/0/0
192.171.0.0/22 OSPF 10 1 D 3.0.0.2 GigabitEthernet
0/0/1
192.172.1.0/24 O_ASE 150 1 D 3.0.0.2 GigabitEthernet
0/0/1
192.172.2.0/24 O_ASE 150 1 D 3.0.0.2 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
此时再去R3的LSDB表上查看信息:

②域外路由汇总
通过ASBR设备将通过重发布导入5类/7类LSA到OSPF域内进行汇总操作。 仅此设备运行该功能。(汇总后保存本地的5类和7类LSA信息)
[r5]ospf 1 router-id 5.5.5.5
[r5-ospf-1]asbr-summary 192.172.0.0 255.255.252.0
//此时打开R3上的OSPF路由表 --- 此时R5的域外环回192.172.1.0和192.172.2.0已经别汇总完
<r3>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 6 Routes : 6
OSPF routing table status : <Active>
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
4.0.0.0/30 OSPF 10 2 D 3.0.0.2 GigabitEthernet
0/0/1
192.168.0.0/22 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
192.169.0.0/22 OSPF 10 1 D 2.0.0.1 GigabitEthernet
0/0/0
192.171.0.0/22 OSPF 10 1 D 3.0.0.2 GigabitEthernet
0/0/1
192.172.0.0/22 O_ASE 150 2 D 3.0.0.2 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
此时可以对比R3汇总域外环回的信息:(汇总前)

此时可以对比R3汇总域外环回的信息:(汇总后)

③域外汇总网段LSA中的开销值:
OSPF对域外汇总网段的费用值存在两类情况(其中前五类与第七类的LSA已作介绍)
类别1:当开销值类型设定为类别1时, 汇总网段的费用值相当于明细路由的最大费用度量值
类型2: 当开销值类别为类型2时,则表示汇总网段的开销值等于明细路由的最大费用值加上x(默认1)。
而具体的修改种子度量值则是在ASBR汇总时就行修改的(默认为类型1)
//在ASBR上进行汇总,然后修改cost值
[r5-ospf-1]asbr-summary 192.172.0.0 255.255.252.0 cost 5
//此时在打开OSPF表格查看,域外的cost值
<r3>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 6 Routes : 6
OSPF routing table status : <Active>
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/30 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
4.0.0.0/30 OSPF 10 2 D 3.0.0.2 GigabitEthernet
0/0/1
192.168.0.0/22 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
192.169.0.0/22 OSPF 10 1 D 2.0.0.1 GigabitEthernet
0/0/0
192.171.0.0/22 OSPF 10 1 D 3.0.0.2 GigabitEthernet
0/0/1
192.172.0.0/22 O_ASE 150 5 D 3.0.0.2 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
2.设置特殊区域:减少非骨干区域的LSA信息
特殊区域:
OSPF系统中一共有四类特殊区域;四类特殊的网络分组则进一步划分为两大类别;每个大类别则进一步划分为两个细分领域
第一大类:
第一大类的特殊区域主要作用于远离骨干的区域(不包括ASBR区域)
①特殊区域(stub):末梢区域
要求: 1. 非核心网段 2. 区域中不应配置跨区组网虚链路 3. 区域内不应配置ASBR(无法进行业务重发) 4. 可以通过管道将不合法化的但符合规范的非核心网段进行配置
而满足要求的区域可以被配置为末梢区域(STUB)
若将该区域配置为末梢网络段,则该区域能够完全隔离接收4号段与5号段的本地安全完整性检验报文(即不接收域外数据包)。但为了确保该端能够正常接收到域外节点发送来的路由信息,则必须设置一条默认 route 指向主干网络段以保持通信连接;而当配置为末梢网络段之后,则会自动建立一条通往主干网络段的三类缺省路由
注意:在完成该area内ABR的末梢区域配置后,则需要在同一区域内所有其他路由器也相应地进行STUB参数设置,并确保特殊区域与STUB参数进行一一对应以确保邻居关系的有效建立。完成上述STUB参数配置之后,在该末梢区域内仅会包含1.2.3类相关的LSA信息记录于其LSBD表中。
//R2上也要配置对应的stub
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub
//R1上也要配置对应的stub --- 否则无法特殊区域无法匹配 --建立不了邻居关系
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]stub
//此时打开R1的LSDB表
[r1]display ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 83 60 80000005 1
Router 1.1.1.1 1.1.1.1 86 60 80000004 1
Network 1.0.0.2 2.2.2.2 83 32 80000002 0
Sum-Net 0.0.0.0 2.2.2.2 128 28 80000001 1
Sum-Net 192.170.2.1 2.2.2.2 128 28 80000001 1
Sum-Net 192.170.1.1 2.2.2.2 128 28 80000001 1
Sum-Net 2.0.0.0 2.2.2.2 128 28 80000001 1
Sum-Net 192.171.0.0 2.2.2.2 128 28 80000001 2
Sum-Net 4.0.0.0 2.2.2.2 128 28 80000001 3
Sum-Net 3.0.0.0 2.2.2.2 128 28 80000001 2
②特殊区域(Totally stub):完全末梢区域
在末梢区域的基础上进一步拒绝学习3类LSA(仅保留3类的缺省路由)
最末端的LSDB数据库表仅包含一条默认路由,并且本地域的一级和二级LSP数据。
#stub no-summary 只需要在ABR上设置,无需在stub区域内的其他路由器上配置
[r2-ospf-1-area-0.0.0.1]stub no-summary
//此时R1上的LSDB表上已经没有3.4.5.7类LSA(有且仅有一条3类的缺省路由)
[r1]display ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 39 60 80000006 1
Router 1.1.1.1 1.1.1.1 35 60 80000009 1
Network 1.0.0.1 1.1.1.1 35 32 80000002 0
Sum-Net 0.0.0.0 2.2.2.2 341 28 80000001 1
第二大类:
第二大类的特殊区域主要作用于远离骨干的ASBR区域(不包括ABR区域)
①特殊区域(NSSA):
要求:
- 必须避免选择骨干区域;
- 不应包含任何跨越区域的虚链路;
- 该区域内必须包含至少一个ASBR节点(负责重发布功能)。
该满足特定条件的区域可被配置为非完全末梢区段(NSS A)。在此之后,则该区段仅存储1、2、3类别型别的 LSA,并且此区段将排斥4、5两类 LSA (即不接收外部数据)。随后增添7类别型别 (相当于对4-5两类进行重命名操作),其作用与原有4-5两类 LSA 完全一致。在 NSS A 区域内,则会将原有的5类别 LSA 转换为新添的7类别 LSA ,而新增添的所有 7 类别 LSA 将局限于 NSS A 区域内部。具体而言,在此过程中,“将 7 类别转换回 5 类别 (跳过 4 类别 LSA),然后发送至骨干 区域。”
仅当NSSA处于不活跃状态时才会拒绝来自骨干网络外部的信息。它仅限于接收本地网络内部发出的外部流量(通常采用7种LSA类型进行分类)。其主要原因在于该区域内缺乏4号和5号两类LSA数据。因此无法接收到来自骨干网络外部的数据包。
注意:除了在ASBR上对应的area需设置为nssa之外,在该区域内所有其他路由器也需进行相应的配置(否则会导致该区域与其他区域之间无法正常实现邻居通信)
注意:除了在ASBR上对应的area需设置为nssa之外,在该区域内所有其他路由器也需进行相应的配置(否则会导致该区域与其他区域之间无法正常实现邻居通信)
//ABSR上配置为nssa区域
[r5]ospf 1 router-id 5.5.5.5
[r5-ospf-1]area 2
[r5-ospf-1-area-0.0.0.2]nssa
//此时打开R4上的LSDB表
[r4]display ospf lsdb
OSPF Process 1 with Router ID 4.4.4.4
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 56 36 8000000C 1
Router 2.2.2.2 2.2.2.2 572 36 8000000A 1
Router 3.3.3.3 3.3.3.3 512 72 8000000C 1
Network 3.0.0.2 4.4.4.4 511 32 80000006 0
Network 2.0.0.1 2.2.2.2 572 32 80000007 0
Sum-Net 192.169.0.0 2.2.2.2 556 28 80000007 0
Sum-Net 192.171.0.0 4.4.4.4 56 28 80000008 0
Sum-Net 4.0.0.0 4.4.4.4 56 28 8000000A 1
Sum-Net 1.0.0.0 2.2.2.2 556 28 80000007 1
Sum-Net 192.168.0.0 2.2.2.2 549 28 80000002 1
Area: 0.0.0.2
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 15 60 80000004 1
Router 5.5.5.5 5.5.5.5 16 36 80000005 1
Network 4.0.0.2 5.5.5.5 16 32 80000001 0
Sum-Net 192.169.0.0 4.4.4.4 56 28 80000001 2
Sum-Net 192.170.2.1 4.4.4.4 56 28 80000001 1
Sum-Net 192.170.1.1 4.4.4.4 56 28 80000001 1
Sum-Net 2.0.0.0 4.4.4.4 56 28 80000001 2
Sum-Net 1.0.0.0 4.4.4.4 56 28 80000001 3
Sum-Net 192.168.0.0 4.4.4.4 56 28 80000001 3
Sum-Net 3.0.0.0 4.4.4.4 56 28 80000001 1
NSSA 0.0.0.0 4.4.4.4 56 36 80000001 1
NSSA 192.172.0.0 5.5.5.5 74 36 80000001 5
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 192.172.0.0 4.4.4.4 14 36 80000001 5
External 192.172.0.0 5.5.5.5 2360 36 80000002 5
②特殊区域(Totally NSSA):
完全NSSA区域,在NSSA区域的基础上进一步拒绝学习3类LSA
彻底实现NSSA区域内的LSDB表中仅会包含一至三类别LSAs(其中 NSSA需借助七类别LSAs以实现本地域外信息向骨干网传输)。然而,在完整覆盖NSAS范围后的区域内会存在两种默认静态路由通往骨干链路(其中之一属三类别缺省型而另一个则属七类别缺省型)。值得注意的是,在该NSAS节点自身的LSP路由表中应优先接纳三类别缺省型路径以替代七类别型路径。
只需要在ASBR上设置,无需在stub区域内配置
//配置在ABR上
[r4]ospf 1 router-id 5.5.5.5
[r4-ospf-1]area 2
[r4-ospf-1-area-0.0.0.2]nssa no-summary
[r4]display ospf lsdb
OSPF Process 1 with Router ID 4.4.4.4
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 392 36 8000000D 1
Router 2.2.2.2 2.2.2.2 908 36 8000000B 1
Router 3.3.3.3 3.3.3.3 848 72 8000000D 1
Network 3.0.0.2 4.4.4.4 848 32 80000007 0
Network 2.0.0.1 2.2.2.2 908 32 80000008 0
Sum-Net 192.169.0.0 2.2.2.2 892 28 80000008 0
Sum-Net 192.171.0.0 4.4.4.4 40 28 8000000A 0
Sum-Net 4.0.0.0 4.4.4.4 40 28 8000000C 1
Sum-Net 1.0.0.0 2.2.2.2 892 28 80000008 1
Sum-Net 192.168.0.0 2.2.2.2 885 28 80000003 1
Area: 0.0.0.2
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 29 60 8000000A 1
Router 5.5.5.5 5.5.5.5 30 36 8000000B 1
Network 4.0.0.2 5.5.5.5 31 32 80000002 0
Sum-Net 0.0.0.0 4.4.4.4 40 28 80000001 1
NSSA 0.0.0.0 4.4.4.4 30 36 80000003 1
NSSA 192.172.0.0 5.5.5.5 1501 36 80000001 5
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 192.172.0.0 4.4.4.4 30 36 80000001 5
总结:
当配置特殊区域时,需要关注缺省方向.自动设置的缺省必须保持与手动设置的一致性.
为了使OSPF区域能够访问ISP,默认情况下必须将ISP配置为骨干接口。其原因在于其它网络区会默认可达该骨干接口(特别提醒需注意手动配置的默认可达与某些特殊情况下的方向配置)
OSPF中的特殊标记位:
E位:一般置1,代表支持5类LSA(置0,表示为特殊区域)
N位:一般置0,只有在NSSA区域中置1,代表支持7类LSA
P位:如果置1,则代表该LSA信息支持7类转化为5类
//取一个7类的LSA查看
Type : NSSA
Ls id : 192.172.0.0
Adv rtr : 5.5.5.5
Ls age : 533
Len : 36
Options : NP
seq# : 80000001
chksum : 0x71ce
Net mask : 255.255.252.0
TOS 0 Metric: 5
E type : 2
Forwarding Address : 4.0.0.2
Tag : 1
Priority : Low
