云南網(wǎng)站設(shè)計公司淘寶關(guān)鍵詞搜索工具
OSPF的防環(huán)機制
- 一、域間防環(huán)
- 二、域內(nèi)防環(huán)
- 有向圖轉(zhuǎn)化
- 1、有向圖的畫法
- 2、示例:
- 三、SPF算法
OSPF將整個OSPF域劃分為多個區(qū)域,區(qū)域內(nèi)部通過拓撲信息計算路由,區(qū)域間傳遞路由信息,實現(xiàn)全網(wǎng)可達。OSPF防環(huán)機制主要是體現(xiàn)在域內(nèi)防環(huán)和域間防環(huán)。
一、域間防環(huán)
-
OSPF的星型拓撲劃分規(guī)則實際上就是一種防環(huán)手段。OSPF要求所有的非0區(qū)域必須與骨干區(qū)域直接相連,區(qū)域間路由需經(jīng)由骨干區(qū)域中轉(zhuǎn)。OSPF要求所有的非0區(qū)域必須與骨干區(qū)域直接相連, 區(qū)域間( Inter- - Area Route )路由需經(jīng)由骨干區(qū)域中轉(zhuǎn)。這個要求使得區(qū)域間的路由傳遞不能發(fā)生在兩個非0的區(qū)域之間,這在很大程度上規(guī)避了區(qū)域間路由環(huán)路的發(fā)生,也使得OSPF的區(qū)域架構(gòu)在邏輯上形成了一個類似星型的拓撲,如下圖所示。
-
ABR從非骨干區(qū)域收到的Type-3 LSA不能用于區(qū)域間路由的計算。當一臺 ABR 在非 Area0 的區(qū)域中收到 Type- - 3 LSA 時,雖然它會將其裝載進 LSDB ,但是該路由器不會使用這些 Type- - 3 LSA 進行路由計算,當然它更不會將這些 Type- - 3 LSA 再注入回Area0 中。
-
區(qū)域之間存在水平分割機制,從某個區(qū)域?qū)W到的路由信息不會再通告到這個區(qū)域,這和距離適量協(xié)議的水平分割相似,區(qū)域水平分割可以概括為:從此區(qū)域出,不進此區(qū)域。
二、域內(nèi)防環(huán)
OSPF基于一類二類LSA的洪泛收集區(qū)域內(nèi)的拓撲信息,將這些拓撲信息轉(zhuǎn)化為有向圖,再用SPF算法將有向圖轉(zhuǎn)化為最短路徑樹,而樹形結(jié)構(gòu)是無環(huán)的,OSPF最后依據(jù)樹形結(jié)構(gòu)將路由加載到路由表中。
有向圖轉(zhuǎn)化
一類LSA描述了某個設(shè)備的接口信息,二類LSA只是一類LSA對MA網(wǎng)絡(luò)的補充,通過查看一二類LSA可以畫出單區(qū)域的有向圖。
1、有向圖的畫法
- 一類LSA中有四種接口類型,這里我們不考慮virtual類型
Type | Link ID | Data |
---|---|---|
p-2-p | 鄰居的RID | 該網(wǎng)段上本地接口的IP地址 |
TransNet | DR的接口的IP地址 | 該網(wǎng)段上本地接口的IP地址 |
StubNet | 該Stub網(wǎng)段的IP網(wǎng)絡(luò)地址 | 該網(wǎng)段的網(wǎng)路掩碼 |
Virtual | 虛連接鄰居的RID | 去往該虛連接的本地接口IP |
- Stub網(wǎng)段表示該網(wǎng)段只有數(shù)據(jù)入口,例如一個Loopback接口就是一個Stub網(wǎng)段。轉(zhuǎn)化為有向圖時路由器為一個圈,stub網(wǎng)段也是一個圈,然后再畫一條路由器指向stub網(wǎng)段的箭頭,箭頭上添上該接口的開銷值,表示路由器到該網(wǎng)段的需要的開銷值。
描述拓撲結(jié)構(gòu)——路由器節(jié)點和Stub網(wǎng)段
- Transit網(wǎng)段即一個MA網(wǎng)段,從路由器到所連Transit網(wǎng)段的開銷值就是連接到這個網(wǎng)段的接口所配
置的開銷值。從一個Transit網(wǎng)段到連接到這個網(wǎng)段的路由器的開銷為0。下圖的N1也被稱為偽節(jié)點。
描述拓撲結(jié)構(gòu)——Transit網(wǎng)段
在描述點到點接口的Router-LSA中:
1、通告一個到鄰居路由器的點到點鏈接,Link ID設(shè)置為對端的Router
ID,Data設(shè)置為本地接口的IP地址;
2、 通告一個到該點到點網(wǎng)段的Stub連接,Link ID設(shè)置為該點到點網(wǎng)段
的網(wǎng)絡(luò)號,Data設(shè)置為該點到點網(wǎng)段的網(wǎng)絡(luò)掩碼;
3、上述兩個連接的Cost值均為該點到點接口上的Cost值。
- 一類LSA在描述p2p網(wǎng)絡(luò)時,由于點到點鏈路兩端接口的網(wǎng)絡(luò)號可能不一致,所以需要有兩個link對其描述。
- 兩接口處于不同網(wǎng)段的點到點網(wǎng)段的規(guī)則如下:兩臺路由器經(jīng)由兩條有向線段直接相連,每個方向一條。兩個接口的網(wǎng)段被表示成Stub網(wǎng)段。每個路由器通告一個Stub連接到該路由器所連的網(wǎng)段
描述拓撲結(jié)構(gòu)——點對點網(wǎng)段
- 兩接口處于同一網(wǎng)段的點到點網(wǎng)段的規(guī)則如下:兩臺路由器經(jīng)由兩條有向線段直接相連,每個方向一條。連接兩個接口的網(wǎng)段被表示成Stub網(wǎng)段。
描述點對點網(wǎng)段
2、示例:
計算最短路徑樹——物理拓撲
由LSDB描述的有向圖
三、SPF算法
SPF算法每一個路由器都將自己作為根(ROOT)來計算其到每一個目的地路由器的距離,每一個路由器根據(jù)一個統(tǒng)一的數(shù)據(jù)庫會計算出路由域的拓撲結(jié)構(gòu)圖,該結(jié)構(gòu)圖類似于一棵樹,在SPF算法中,被稱為最短路徑樹。OSPF計算階段分為兩個階段:
第一階段 | 計算Transit節(jié)點,忽略Stub節(jié)點,生成一個最短路徑樹 |
---|---|
第二階段 | 只計算Stub節(jié)點,將Stub網(wǎng)段掛到最短路徑樹上去 |
計算過程中首先初始化最短路徑樹,RTA將自己做為根節(jié)點添加到最短路徑樹上
- RTA將自己添加到最短路徑樹上之后,檢查自己生成的Router-LSA,對于該LSA中所描述的每一個連接,如果不是一個Stub連接,就把該連接添加到候選列表中,端點ID為Link ID,到根端點的開銷為LSA中描述的Metric值。本例中,添加端點4.4.4.4和2.2.2.2。
- 將候選列表中到根端點開銷最小的端點移到最短路徑樹上
- 當有新節(jié)點添加到最短路徑樹上的時候,則檢查LS ID為新節(jié)點的link-idID的LSA,本例中檢查LS ID為2.2.2.2的LSA。
如果LSA中所描述的連接的Link ID在最短路徑樹上已經(jīng)存在,則忽略該連接。本例中,Link ID為1.1.1.1的連接被忽略,只有10.3.1.1的連接被添加到候選列表中。到根端點的開銷設(shè)置為此連接的Metric值(本例中此連接的Metric值為1)與父端點(本例中此連接的父端點為2.2.2.2)到根端點的開銷(本例中此開銷值為48)之和。
將候選列表中到根端點的開銷最小的端點移動到最短路徑樹上,本例中,將10.3.1.1移到最短路徑樹上。
- 檢查LS ID為最新添加節(jié)點的端點ID的LSA,本例中檢查LS ID為10.3.1.1的LSA。
在所描述的連接中,忽略2.2.2.2,將3.3.3.3和4.4.4.4添加到候選列表中。從Transit網(wǎng)段到所連路由器的開銷為0。如果在候選列表中出現(xiàn)兩個端點ID一樣但是到根端點的開銷不一樣的端點,則刪除到根端點的開銷大的端點。
將候選列表中到根端點的開銷最小的端點移動到最短路徑樹上,本例中,將3.3.3.3移到最短路徑樹上。
- 檢查LS ID為最新添加節(jié)點的端點ID的LSA,本例中檢查LS ID為3.3.3.3的LSA。
本例中,沒有新端點被添加到候選列表中。
- 將候選列表中到根端點的開銷最小的端點移動到最短路徑樹上,本例中,將4.4.4.4移到最短路徑樹上。
- 檢查LS ID為最新添加節(jié)點的端點ID的LSA,本例中檢查LS ID為4.4.4.4的LSA。
本例中,沒有新端點被添加到候選列表中。如果在此時候選列表為空,則計算最短路徑樹的第一階段結(jié)束。
- 檢查每個路由器端點的Router-LSA,計算Stub網(wǎng)段。
本例中,首先檢查RTA的Router-LSA,共有三個Stub網(wǎng)段。