因為ospf路由器之間會將所有的lsa毫不保留的互相交換,當網路達到一定規模的時候,lsa會形成乙個龐大的資料庫,那麼就會給裝置造成一定的壓力,為了降低ospf計算的複雜程度,快取計算壓力,ospf採用區域的概念,將網路中的所有ospf路由器劃分成不同的區域,每個區域負責各自區域精確的lsa傳遞與路由計算,然後再將乙個區域的lsa簡化和彙總之後**到另乙個區域,這樣 在區域內部擁有網路精確的lsa,在不同區域傳遞簡化的lsa,區域的劃分也具有路由防環的作用,所以採用了 hub-spoke架構,也就是採用核心與分支的拓撲。
看下圖:
如果一台ospf路由器屬於單個區域,即該路由器的所有介面同處於同乙個區域,那麼這台路由器稱之為 internal router 如上圖的 r2 r3 r4 如果一台路由器的不同介面屬於不同的區域,那麼這個路由器我們稱之為 abr ,例如圖中的 r1 . abr可以將乙個區域的lsa彙總後**至另乙個區域,如果路由器將外部路由協議重分布進入ospf,那麼這台路由器稱之為asbr。例如圖中的r5,如果只是將ospf重分布進入其他協議,而沒有將其他協議分布進入ospf,那麼路由器就不能稱之為asbr
因為ospf的區域採用了 hub-spoke 架構,所以必須定義出乙個核心,其他部分與核心相連,ospf中 area0就是所有區域的核心,稱為 backbone 主幹區域。其他區域稱為 normal 區域,理論上所有的常規區域應該直接和主幹區域相連,常規區域只能和主幹區域交換lsa, 兩個常規區域之間即使相連也無法直接互換lsa, area0 就相當於是乙個中轉站,兩個常規區域之間交換lsa,只能先交給 area0 再由 area0進行**,常規區域間無法互相**
ospf區域是基於路由器的介面劃分的,而不是基於整台路由器劃分的,一台路由器可以屬於單個區域,也可以分屬不同區域。
但是在某些特殊的情況下,某些常規區不能和主幹區域進行直連,這時便無法得到其他區域的路由,所以ospf協議提出了虛鏈路的解決方案,將骨幹區域的範圍通過虛擬的方法進行擴充套件到相鄰常規區域的位置,因而讓不能直接與骨幹區域相連的區域,最終可以與骨幹區直連。
以下圖為例
r1和r2之間屬於 area0 骨幹區,其他的區域為常規區,當 r2和r3之間的 area1配置了虛鏈路之後,就變為的骨幹區,所以路由條目會從inter-area route變為intra-area route也就是路由的表示形式從 oia 變為 o的形式,在進行ospf虛鏈路擴充套件時,是將transit area中與骨幹區直連的abr(r2)和連線另乙個常規區域的abr(r3)相連,在連線這兩個abr時,使用雙方的 route-id 進行連線。
實驗配置:
r1>en
r1#config
r1(config)#
r1(config)#int lo 0
r1(config-if)#ip add 1.1.1.1 255.255.255.0
r1(config-if)#no shut
r1(config-if)#exit
r1(config)#int f1/0
r1(config-if)#ip add 12.1.1.1 255.255.255.0
r1(config-if)#no shut
r1(config-if)#exit
r1(config)#router ospf 100
r1(config-router)#net 1.1.1.0 0.0.0.255 area 0
r1(config-router)#net 12.1.1.0 0.0.0.255 area 0
r1(config-router)#exit
r1(config)#
r2>en
r2#config
r2(config)#int lo 0
r2(config-if)#
r2(config-if)#ip add 2.2.2.2 255.255.255.0
r2(config-if)#exit
r2(config)#int f1/0
r2(config-if)#ip add 12.1.1.2 255.255.255.0
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#int f1/1
r2(config-if)#ip add 23.1.1.1 255.255.255.0
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#router ospf 100
r2(config-router)#net 2.2.2.0 0.0.0.255 area 0
r2(config-router)#net 12.1.1.0 0.0.0.255 area 0
r2(config-router)#net 23.1.1.0 0.0.0.255 area 1
r2(config-router)#exit
r2(config)#
r3>en
r3#config
r3(config)#int lo 0
r3(config-if)#ip add 3.3.3.3 255.255.255.0
r3(config-if)#no shut
r3(config-if)#exit
r3(config)#int f1/0
r3(config-if)#ip add 23.1.1.2 255.255.255.0
r3(config-if)#exit
r3(config)#int f1/1
r3(config-if)#ip add 34.1.1.1 255.255.255.0
r3(config-if)#no shut
r3(config-if)#exit
r3(config)#router ospf 100
r3(config-router)#net 3.3.3.0 0.0.0.255 area 1
r3(config-router)#net 34.1.1.0 0.0.0.255 area 2
r3(config-router)#net 23.1.1.0 0.0.0.255 area 1
r3(config-router)#exit
r3(config)#
r4>en
r4#config
r4(config)#int lo 0
r4(config-if)#ip add 4.4.4.4 255.255.255.0
r4(config-if)#no shut
r4(config-if)#exit
r4(config)#int f1/0
r4(config-if)#ip add 34.1.1.2 255.255.255.0
r4(config-if)#no shut
r4(config-if)#exit
r4(config)#router ospf 100
r4(config-router)#net 4.4.4.0 0.0.0.255 area 0
r4(config-router)#net 34.1.1.0 0.0.0.255 area 2
r4(config-router)#exit
r4(config)#
通過檢視路由器r1的路由表,我們發現r1沒有學到34.1.1.0 以及 4.4.4.4 的路由條目
而且我們發現 23.1.1.0這個路由條目的類別屬於 oia
為了讓r1可以學習到4.4.4.4以及 34.1.1.0 的路由條目,那麼我們就需要在 r2和r3之間配置虛鏈路
r2(config-router)#area 1 virtual-link ?
r2(config-router)#area 1 virtual-link 3.3.3.3
r3(config)#router ospf 100
r3(config-router)#area 1 virtual-link 2.2.2.2
虛鏈路配置成功
此時我們再次檢視路由表
我們看到r1成功學到 34.1.1.0網段以及4.4.4.4 路由條目
配置虛鏈路注意事項
1.ospf虛鏈路必須是在兩個擁有共同區域的abr之間建立,其中至少有乙個abr是連線骨幹的
OSPF虛鏈路技術
拓撲圖 思科配置 r1 r2 r3 r4 3 配置ospf多區域 r1 r2 r3 r4 4 配置虛鏈路 r1 router ospf 1 router id 192.168.20.1 endclear ip ospf processs yesrouter config router ospf 1 ...
OSPF虛鏈路實驗
前言 虛連線是指在兩台abr之間,穿過乙個非骨幹區域 換區域 transit area 建立的一條邏輯上的連線通道,可以理解為兩台abr之間存在乙個點對點的連線。邏輯通道 是指兩台abr之間的多台執行ospf的路由器只是起到乙個 報文的作用 由於協議報文的目的位址不是這些路由器,所以這些報文對於它們...
OSPF的認證 虛鏈路及過濾
1.鏈路認證 1 明文認證 防止鏈路接入非法路由器 int e0 0 ip ospf authentication ip ospf authentication key cisco 2 md5認證 安全,運用雜湊運算,不存在逆向破解,只能猜出來 r3 config if int e0 0 r3 co...