OSPF的优化:
OSPF优化的实质是为了减少LSA的更新量,主要方法有:汇总和设置特殊区域
1.汇总:
OSPF进行区域汇总的作用是为了减少OSPF骨干区域从非骨干区域学习到的路由信息。而OSPF汇总实质上是进行区域汇总。区域汇总就是对该区域内传递路由信息的LSA进行汇总。
区域汇总又分为域间路由汇总和域外路由汇总。
如图,此时area0,area2为非骨干链路,R2作为ABR(area0和area1),R4作为ABR(area0和area2);圆圈作为域外区域运行OSPF协议,R5作为ASBR(重发布R5的环回信息)
此时打开R3的OSPF路由表:(会发现R3中到达其他区域的路由信息很多,此时可以进行OSPF路由汇总)
<r3>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 10 Routes : 10
OSPF routing table status : <Active>
Destinations : 10 Routes : 10
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.1.1/32 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
192.168.2.1/32 OSPF 10 2 D 2.0.0.1 GigabitEthernet
0/0/0
192.169.1.1/32 OSPF 10 1 D 2.0.0.1 GigabitEthernet
0/0/0
192.169.2.1/32 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
①域间路由汇总:
通过区域间的ABR上将传递的三类LSA进行汇总(汇总后保存本区域的前三类lsa信息),只能在ABR上进行汇总操作
在图中就是对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信息)
[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类LSA(不接受域外信息)。而为了保证末梢区域正常访问到域外的路由,所以必须要有一条缺省路由指向骨干区域,而当配置为末梢区域后,将自动生成一个指向骨干的三类缺省
注意:在对应area区域的ABR上配置完末梢区域后,也需要在该区域内其他的路由器上也配置STUB (hello上特殊区域要对应匹配,否则无法建立邻居关系)。配置完末梢区域后,末梢区域内只会保存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数据库表只有一条缺省路由和本区域内的1类和2类LSA信息
#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):
1.不能是骨干区域 2.区域中不能存在虚链路(跨区域) 3.区域中存在ASBR(重发布)
满足这种要求的区域可以配置为非完全末梢区域(NSSA),而配置完末梢区域后,完全末梢区域内只会保存1类,2类,3类的LSA,并且这个区域将不再接受4类和5类LSA(相当于不接受域外信息)。此时引入7类LSA(相当于4类和5类的重命名,作用等同于4类和5类LSA),在NSSA域内,5类LSA被转化为7类LSA,而7类LSA只存在于NSSA内,此时连接骨干区域的ABR相当于变成了ASBR,转化7类为5类(省去4类LSA)发送到骨干区域。
拒绝来自骨干的域外信息的,只会接受本地区域内的域外信息(此时用7类LSA表示)。原因:NSSA区域内没有4类和5类LSA信息,所以接受不到骨干区域发来的其他的域外信息。
注意:除了在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表上只会有1类,2类和3类LSA(NSSA还需要通过7类LSA来传递本地的域外信息到骨干区域)。但是完全NSSA区域中会有两个缺省路由到骨干链路(一个为3类缺省,一个为7类缺省),但是因为3类LSA的优先级高于7类LSA,所以在NSSA的路由表上选择3类缺省加入OSPF路由表上
只需要在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