這兩天把TCP/IP的ospf稍微詳細(xì)的看了一遍。在這里總結(jié)一下。以便以后復(fù)習(xí)
總結(jié)的都是用我自己的語(yǔ)言總結(jié),很多地方可能不太恰當(dāng)。請(qǐng)多指正
一、ospf的基本知識(shí)
ospf
開放最短路徑優(yōu)先協(xié)議
鏈路狀態(tài)類路由協(xié)議
屬于3層,沒(méi)有使用上層的tcp或者udp,所以沒(méi)有確認(rèn)機(jī)制。但是使用自己的lsack來(lái)確認(rèn)更新
五個(gè)包,hello,DBD,LSR,LSU,LSACK。
二、spf算法
一句話簡(jiǎn)短的概括:節(jié)點(diǎn)以自己為根節(jié)點(diǎn),計(jì)算確定到目標(biāo)節(jié)點(diǎn)的最短路徑。
路由器創(chuàng)建三個(gè)庫(kù)。用來(lái)運(yùn)行spf算法。
1、樹數(shù)據(jù)庫(kù):通過(guò)向數(shù)據(jù)庫(kù)中添加分支實(shí)現(xiàn)向最短路徑樹中添加鏈路(分支),最終這個(gè)庫(kù)描述最短的路徑
2、候選對(duì)象數(shù)據(jù)庫(kù):按順序從鏈路數(shù)狀態(tài)數(shù)據(jù)庫(kù)向該庫(kù)中復(fù)制鏈路,作為向樹中添加的候選對(duì)象
3、鏈路狀態(tài)數(shù)據(jù)庫(kù):這個(gè)數(shù)據(jù)庫(kù)中,存有所有的鏈路
spf運(yùn)行過(guò)程:
路由器以自己為根節(jié)點(diǎn),先從鏈路狀態(tài)數(shù)據(jù)庫(kù)中,取出離自己最近的幾臺(tái)(他的鄰居)路由器,將他們放到候選對(duì)象數(shù)據(jù)庫(kù),在候選對(duì)象數(shù)據(jù)庫(kù)中,計(jì)算到他們的代價(jià),把最小的代價(jià)的“一條”鏈路放到樹數(shù)據(jù)庫(kù)中。這里之所以說(shuō)是“一條”,假如說(shuō)上面候選數(shù)據(jù)庫(kù)中有三條鏈路,但是他們前往的是不同的目標(biāo),但是只放“一條”,然后再重復(fù)查找候選數(shù)據(jù)庫(kù),再找”一條“最短的候選對(duì)象,放到樹數(shù)據(jù)庫(kù)。當(dāng)在候選數(shù)據(jù)庫(kù)中有兩條到同一目標(biāo)的候選對(duì)象,將花費(fèi)最小的放到樹數(shù)據(jù)庫(kù),其他的刪除。
然后再以根節(jié)點(diǎn)最近的那幾臺(tái)路由器(上一步中假設(shè)的三臺(tái)路由器)為跟節(jié)點(diǎn),重復(fù)上面的步驟。
這樣一級(jí)一級(jí)的擴(kuò)散,感覺(jué)上類似于RSTP那樣,一級(jí)一級(jí)的擴(kuò)散。直到最后計(jì)算完成。
在SPF算法計(jì)算完成后:
候選對(duì)象數(shù)據(jù)庫(kù)應(yīng)該是空的。
鏈路狀態(tài)數(shù)據(jù)庫(kù)不變,里面依然有所有的路徑
樹數(shù)據(jù)庫(kù)中應(yīng)該有到達(dá)所有目標(biāo)的最佳路徑。(我認(rèn)為就是路由表中的路徑了)
三、區(qū)域的概念、
在距離矢量路由協(xié)議中,路由更新是擴(kuò)散在整個(gè)AS中的。這樣浪費(fèi)了很多的帶寬,白白消耗了資源(如cpu、內(nèi)存),廣播(組播)范圍很大。而且沒(méi)有層次結(jié)構(gòu)。不適合大型的網(wǎng)絡(luò)拓?fù)洹?br>
這些缺點(diǎn),在ospf中都得到了克服。因?yàn)閛spf引入了區(qū)域的概念。
在一個(gè)ospf區(qū)域一般情況是不希望找過(guò)50臺(tái)路由器。但是這不是絕對(duì)的,因?yàn)閰^(qū)域內(nèi)路由器的數(shù)量和路由器的性能有很大的關(guān)系。比如,路由器需有用spf算法計(jì)算路徑,CPU的性能就比較重要,路由器數(shù)很多,要求的cpu就比較高。內(nèi)存中存著ospf中的數(shù)據(jù)庫(kù),如果路由器很多,對(duì)內(nèi)存的要求也比較大
注:在這里再說(shuō)一下,在一個(gè)區(qū)域內(nèi),是路由器是根據(jù)LSDB中的信息,確定路徑。但是在區(qū)域間,是依賴中間路由器來(lái)確定相應(yīng)的路徑。這就不是鏈路狀態(tài)了,而是距離矢量了。
四、ospf主要的四類區(qū)域
1、多路訪問(wèn)區(qū)域:多個(gè)路由器接在同一個(gè)交換機(jī)上。
2、點(diǎn)到點(diǎn):感覺(jué)上,應(yīng)該是兩臺(tái)路由器通過(guò)串行線鏈接一起。
3、虛鏈路:默認(rèn)所有的普通區(qū)域都要和骨干區(qū)域(area
0)相鏈,如果有個(gè)別區(qū)域因?yàn)闆](méi)規(guī)劃好,沒(méi)有辦法和骨干區(qū)域相連,就要建立需鏈路
4、NBMA:非廣播多路訪問(wèn)。感覺(jué)上一般是應(yīng)用的幀中繼環(huán)境上。
5、點(diǎn)到多點(diǎn):屬于NBMA中一個(gè)特殊的情況
五、路由器端口的角色、鄰接關(guān)系、鄰居關(guān)系
這里主要說(shuō)多路訪問(wèn)環(huán)境
1、多路訪問(wèn)環(huán)境:
路由器端口會(huì)選舉DR、BDR。DR的職責(zé)是同步該多路訪問(wèn)環(huán)境中的鏈路狀態(tài)數(shù)據(jù)庫(kù)(下面稱LSDB),這個(gè)在后面還會(huì)細(xì)說(shuō)。BDR是在DR的備份,當(dāng)DR掛掉的時(shí)候,BDR直接接管DR的工作。DRother會(huì)去像DR同步LSDB
這里需要強(qiáng)調(diào)幾點(diǎn):a、DR,BDR是基于端口的。為什么這么說(shuō),假如一臺(tái)路由器跨越兩個(gè)區(qū)域(ABR),兩個(gè)區(qū)域的端口是獨(dú)立選舉DR的。
b、DR的選舉規(guī)則,是先比較優(yōu)先級(jí),cisco默認(rèn)為1,越大越優(yōu)先。如果優(yōu)先級(jí)為0,那么相當(dāng)于主動(dòng)放棄DR選舉的權(quán)利。當(dāng)優(yōu)先級(jí)相等,那么再比較routeID,越大越優(yōu)先。routeID的選舉規(guī)則為,手動(dòng)指定>環(huán)回接口>IP最大的活動(dòng)的物理接口。
|