眾所周知,OSPF是一個比較複雜的協議,正因為如此,在ospf中有了區域的概念,通過區域的劃分,讓ospf有了層次化的概念,為什麼要有層次化的概念呢,其實最終的目的都是圍繞一個--方便優化,就是減小路由表大小,提升設備性能,加快數據的轉發,但是單純的區域劃分只是讓它有了一個層次化,並不能實際的減小路由表大小,所以ospf有了區域優化的功能,通過ospf的區域優化,可以減小路由表的大小,同時也減小了ospf的鏈路狀態數據庫的大小,由此提高了數據的轉發效率,今天帶來ospf的末節區域的優化(stub),首先簡單的來說一下stub區域的注意事項:
1.骨幹區域不能作為末節區域
2.末節區域不能存在ASBR
3.末節區域不能存在虛鏈路
4.該區域只有一個出口(ABR)
通過以上幾個注意事項,可以很清楚的知道,area1就可以作為ospf的末節區域,因為它滿足以上幾個條件,要將它作為ospf的末節區域,需要從該區域的ABR(區域邊界設備)開始,往末節區域方向做配置,一直做到末節路由器.
第一步,配置ospf,宣告網段,R4上的兩個網段100和200重分佈進ospf
R1#sh run | se router
router ospf 100
router-id 1.1.1.1
network 1.1.1.0 0.0.0.255 area 1
network 12.1.1.0 0.0.0.255 area 1
R2#sh run | se router
router ospf 100
router-id 2.2.2.2
network 2.2.2.0 0.0.0.255 area 1
network 12.1.1.0 0.0.0.255 area 1
network 23.1.1.0 0.0.0.255 area 0
R3#sh run | se router
router ospf 100
router-id 3.3.3.3
network 3.3.3.0 0.0.0.255 area 0
network 23.1.1.0 0.0.0.255 area 0
network 34.1.1.0 0.0.0.255 area 2
R4#sh run | se router
router ospf 100
router-id 4.4.4.4
redistribute connected subnets
network 4.4.4.0 0.0.0.255 area 2
network 34.1.1.0 0.0.0.255 area 2
network 100.1.1.0 0.0.0.255 area 2
network 200.1.1.0 0.0.0.255 area 2
查看ospf路由表:
R1#sh ip route ospf
34.0.0.0/24 is subnetted, 1 subnets
O IA 34.1.1.0 [110/3] via 12.1.1.2, 00:19:28, FastEthernet0/0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 12.1.1.2, 00:19:28, FastEthernet0/0
100.0.0.0/24 is subnetted, 1 subnets
O E2 100.1.1.0 [110/20] via 12.1.1.2, 00:00:29, FastEthernet0/0
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/3] via 12.1.1.2, 00:19:28, FastEthernet0/0
4.0.0.0/32 is subnetted, 1 subnets
O IA 4.4.4.4 [110/4] via 12.1.1.2, 00:19:28, FastEthernet0/0
O E2 200.1.1.0/24 [110/20] via 12.1.1.2, 00:00:21, FastEthernet0/0
23.0.0.0/24 is subnetted, 1 subnets
O IA 23.1.1.0 [110/2] via 12.1.1.2, 00:19:28, FastEthernet0/0
可以看到,R1收到了7條路由條目,其中有兩條是OE2的(五類的LSA),四條OIA的(三類的LSA),一條O的(1類的LSA)
我們可以來思考一下,對於R1來說,不管去往什麼地方,都只有一條路徑,也就是說,它都會經過ABR這臺路由器出去,那麼這個時候,對於R1來說就沒必要有這麼多的路由條目,那麼怎麼將這些路由條目優化掉,並且優化掉以後還能保證一個正常的通信(數據能出去,可以回來)。就可是使用ospf的stub區域:
R1(config)#router ospf 100
R1(config-router)#area 1 stub
R2(config)#router ospf 100
R2(config-router)#area 1 stub
再次查看ospf路由表:
R1#sh ip route ospf
34.0.0.0/24 is subnetted, 1 subnets
O IA 34.1.1.0 [110/3] via 12.1.1.2, 00:00:58, FastEthernet0/0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 12.1.1.2, 00:00:58, FastEthernet0/0
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/3] via 12.1.1.2, 00:00:58, FastEthernet0/0
4.0.0.0/32 is subnetted, 1 subnets
O IA 4.4.4.4 [110/4] via 12.1.1.2, 00:00:58, FastEthernet0/0
23.0.0.0/24 is subnetted, 1 subnets
O IA 23.1.1.0 [110/2] via 12.1.1.2, 00:00:58, FastEthernet0/0
O*IA 0.0.0.0/0 [110/2] via 12.1.1.2, 00:00:58, FastEthernet0/0
可以發現,OE2的條目消失了,優化了五類的LSA,並且產生了一條O*IA的默認路由指向ABR,測試一下:
R1#ping 100.1.1.1 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/79/100 ms
一切正常,做到這兒,可以發現,雖然優化掉了OE2的條目(五類的LSA),但是條目還是很多,O的條目肯定動不了,因為骨幹區域不能優化,那麼OIA的條目能不能想辦法優化掉呢,那隻需要在ABR上敲上一條命令(注意:只能在ABR上做)
R2(config)#router ospf 100
R2(config-router)#area 1 stub no-summary
R1#sh ip route ospf
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 12.1.1.2, 00:08:22, FastEthernet0/0
O*IA 0.0.0.0/0 [110/2] via 12.1.1.2, 00:00:16, FastEthernet0/0
可以看到,這個時候R1上的條目由最開始的7條變為了3條,這個是ospf的完全末節區域(Totally Stub)所帶來的優化功能,優化掉了三類的OIA的條目和五類的OE2的條目,並且產生了一條O*IA的默認路由指向ABR,測試一下:
R1#ping 100.1.1.1 source 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/79/100 ms
可以看到,完全沒問題,通過ospf的末節和完全末節減小了路由表,同時減小了設備的負載和內存,可以最大化的提升設備的轉發性能。
以上就是本期的內容,謝謝支持!
閱讀更多 新盟教育講師Andy 的文章