18禁网站免费,成年人黄色视频网站,熟妇高潮一区二区在线播放,国产精品高潮呻吟AV

學(xué)習(xí)啦>學(xué)習(xí)電腦>網(wǎng)絡(luò)知識>路由器>路由器知識大全>

路由器中OPSF協(xié)議的SPF算法是什么

時間: 若木635 分享

  開放最短路徑優(yōu)先OSPF(Open Shortest Path First)使用鏈路狀態(tài)算法來傳播選路信息,它使用SPF算法(Dijkstra算法)。其要點如下:

  1、所有的路由器都維持一個鏈路狀態(tài)數(shù)據(jù)庫,只有可達鄰站的鏈路狀態(tài)信

  息才存入鏈路狀態(tài)數(shù)據(jù)庫,這個數(shù)據(jù)庫實際上就是整個互連網(wǎng)的拓撲結(jié)構(gòu)圖。而使用RIP協(xié)議的路由器只各自知道到所有目的網(wǎng)絡(luò)的下一站路由器,但卻不知道全網(wǎng)的拓撲結(jié)構(gòu)。

  2、OSPF讓每一個鏈路狀態(tài)都帶上一個32bit的序號(增長的速率不得超過每5秒1次),序號越大狀態(tài)越新。每一個路由器用鏈路狀態(tài)數(shù)據(jù)庫中的數(shù)據(jù),算出自己的路由表。

  3、要網(wǎng)絡(luò)拓撲發(fā)生任何變化,鏈路狀態(tài)數(shù)據(jù)庫就能很快地進行更新,使各

  個路由器能夠重新計算出新的路由表。

  4、OSPF依靠各路由器之間的頻繁交換信息來建立鏈路狀態(tài)數(shù)據(jù)庫,并維持這數(shù)據(jù)庫在全網(wǎng)范圍內(nèi)的一致性(鏈路狀態(tài)數(shù)據(jù)庫的同步)。

  5、OSPF不象RIP使用運輸層的用戶數(shù)據(jù)報UDP進行傳送,而是直接用IP

  數(shù)據(jù)報傳送,并且數(shù)據(jù)報很短。(圖1)

IP數(shù)據(jù)報首部(20字節(jié))

OSPF報文首部(24字節(jié))

類型1至5的OSPF報文

圖1 OSPF使用IP數(shù)據(jù)報傳送

  由于一個路由器的鏈路狀態(tài)只涉及到與相鄰路由器的連通狀態(tài),因而與整個互連網(wǎng)的規(guī)模無關(guān)。

  二、基本概念

  1、鏈路狀態(tài):所謂一個路由器的“鏈路狀態(tài)”就是該路由器都和哪些網(wǎng)

  絡(luò)或路由器相鄰,以及將數(shù)據(jù)發(fā)往這些網(wǎng)絡(luò)或路由器所需的費用。

  2、自治系統(tǒng):一般簡稱為AS。一個自治系統(tǒng)是一個互連網(wǎng)絡(luò),其最重要的特點是它有權(quán)自主地決定在本系統(tǒng)內(nèi)應(yīng)采用何種路由選擇協(xié)議。

  3、內(nèi)部網(wǎng)關(guān)協(xié)議IGP:即在一個自治系統(tǒng)內(nèi)部使用的路由選擇協(xié)議。

  4、區(qū)域:OSPF允許進一步地將互連網(wǎng)劃分成一些區(qū)域。每個區(qū)域都包含一

  組相鄰的網(wǎng)絡(luò)及所連接的主機,每個網(wǎng)關(guān)都必須被放置在其中的一個區(qū)域中。每一區(qū)域內(nèi)的拓撲結(jié)構(gòu)對區(qū)域外是不可見的。由于保持了區(qū)域拓撲的獨立性,因此路由選擇交換信息量比AS未被分隔時小。帶有多個接口的路由器可加入到多個區(qū)域,這些所謂的區(qū)域邊界路由器為每個區(qū)域維護一個單獨的拓撲數(shù)據(jù)庫。

  5、鏈路狀態(tài)數(shù)據(jù)庫:是與路由器相關(guān)的網(wǎng)絡(luò)的整體結(jié)構(gòu)圖,它包含從同一

  區(qū)域中所有路由器接收的LSA(鏈路狀態(tài)通告:包含有關(guān)鏈路接口、所用計量標準及其他變量信息)。

  6、OSPF主干:負責(zé)在兩個區(qū)域之間發(fā)送路由選擇信息,它由區(qū)域邊界路由

  器、跨區(qū)域網(wǎng)絡(luò)及與其連接的路由器組成。運行OSPF的AS邊界路由器通過外部網(wǎng)關(guān)協(xié)議或配置信息了解外部路由。

  7、指定的路由器:如果某個網(wǎng)絡(luò)上接有N個網(wǎng)關(guān),則它們可形成N(N-1)/2個可能的鄰接。每當(dāng)某個網(wǎng)關(guān)傳送一個報文時,它會向所有N-1個鄰接網(wǎng)關(guān)發(fā)送該報文,因而共傳送(N-1)?個鏈路狀態(tài)。當(dāng)指定一個網(wǎng)關(guān)作為指定路由器后,每個網(wǎng)關(guān)都變得與指定路由器有鄰接關(guān)系,而與其它網(wǎng)關(guān)不存在鄰接關(guān)系,與特定網(wǎng)絡(luò)相連的N個網(wǎng)關(guān)之間僅有N-1個鄰接,傳送的信息量大為減少。指定路由器的另一項任務(wù)是為該網(wǎng)絡(luò)發(fā)送鏈路狀態(tài)通告,傳送鏈路狀態(tài)更新數(shù)據(jù)。

  8、后備指定路由器:當(dāng)多重接入網(wǎng)絡(luò)上的網(wǎng)關(guān)沒有選出指定路由器的時候,后備指定路由器成為指定路由器,再在余下的網(wǎng)關(guān)中選出新的后備指定路由器。此時N個網(wǎng)關(guān)之間可能有2N-3個鄰接關(guān)系。

  三、OSPF分組格式

版本號(1)

類型(1)

數(shù)據(jù)分組長度(2)

路由器ID(4)

區(qū)域ID(4)

校驗和(2)

鑒別類型(2)

鑒別(8)

數(shù)據(jù)(可變)

圖2 OSPF分組格式

  各字段含義如下(圖2):

  版本號字段:給出了OSPF的版本。

  類型字段:OSPF共有五種報文類型:

  類型1:Hello報文,用來發(fā)現(xiàn)和維持鄰站的可達性;

  類型2:Database Description報文,向鄰站給出自己的鏈路狀態(tài)數(shù)據(jù)庫中的所有鏈路狀態(tài)項目的摘要信息;

  類型3:Link State Request報文,向?qū)Ψ秸埱蟀l(fā)送某些鏈路狀態(tài)項目的詳細信息;

  類型4:Link State Update報文,用洪泛法向全網(wǎng)更新鏈路狀態(tài);

  類型5:Link State Acknowledgment報文,對鏈路更新報文的確認。

  數(shù)據(jù)分組長度字段:OSPF分組的長度,包括分組首部。

  路由器ID字段:標識數(shù)據(jù)分組的源地。

  區(qū)域ID字段:標識分組所屬的區(qū)域。

  校驗和字段:檢驗分組內(nèi)容。

  鑒別類型字段:所有OSPF協(xié)議路由器間的數(shù)據(jù)交換都需要被鑒別,保證只有可信賴的路由器才能傳送路由信息。

  鑒別字段:包括鑒別信息。

  數(shù)據(jù):類型1至類型5的OSPF報文。

  四、鏈路狀態(tài)數(shù)據(jù)庫的建立和更新

  每個路由器定期發(fā)送一個鏈路狀態(tài)通告LSA,以提供有關(guān)路由器的鄰接信息,或通知其他路由器某個路由器的狀態(tài)改變了。通過把已經(jīng)建立的鄰接路由器與連接狀態(tài)相比較,可以快速檢測出失效路由器,并適時修改網(wǎng)絡(luò)的鏈路狀態(tài)數(shù)據(jù)庫,每一路由器以其為根據(jù)計算一個最短路徑樹,該最短路徑樹提供一個路由選擇表。OSPF規(guī)定,每兩個相鄰路由器每隔10秒要交換一次Hello報文,以確知哪些鄰站是可達的。只有可達鄰站的鏈路狀態(tài)信息才存入鏈路狀態(tài)數(shù)據(jù)庫,并由此算出路由表來。若有40秒沒有收到某個相鄰路由器發(fā)來的Hello報文,則可認為該相鄰路由器不可達,應(yīng)立即修改鏈路狀態(tài)數(shù)據(jù)庫,并重新計算路由表。

  當(dāng)一個路由器剛開始工作時,它只能通過Hello報文得知它有哪些相鄰的路由器在工作,以及將數(shù)據(jù)發(fā)往相鄰路由器所需的費用。OSPF讓每一個路由器用Database Description報文和相鄰路由器交換本數(shù)據(jù)庫中已有的鏈路狀態(tài)摘要信息(指出有哪些路由器的鏈路狀態(tài)信息已寫入數(shù)據(jù)庫)。之后路由器使用Link State Request報文向?qū)Ψ秸埱蟀l(fā)送自己所缺的某些鏈路狀態(tài)項目的詳細信息。通過一系列的這種報文交換,全網(wǎng)的鏈路狀態(tài)數(shù)據(jù)庫就建立起來了。

  在網(wǎng)絡(luò)運行的過程中,只要一個路由器的鏈路狀態(tài)發(fā)生變化,該路由器就要使用Link State Update報文,用洪泛法向全網(wǎng)更新鏈路狀態(tài)。當(dāng)一個重復(fù)的報文到達時,網(wǎng)關(guān)丟棄該報文,而不發(fā)送它的副本。為了確保鏈路狀態(tài)數(shù)據(jù)庫與全網(wǎng)的狀態(tài)保持一致,OSPF還規(guī)定每隔一段時間,如30分鐘要刷新一次數(shù)據(jù)庫中的鏈路狀態(tài)。

  五、OSPF的圖論模型

  OSPF利用網(wǎng)絡(luò)拓撲的圖論模型來計算最短路徑。OSPF拓撲圖中的每個節(jié)點或者對應(yīng)一個網(wǎng)關(guān),或者對應(yīng)一個網(wǎng)絡(luò)。如果網(wǎng)中兩實體存在物理連接,則OSPF圖在代表實體的兩個節(jié)點之間有一對有向邊,每個邊都有一個“權(quán)”。OSPF根據(jù)沿著花費最小的路徑轉(zhuǎn)發(fā)數(shù)據(jù)報的原則建立選路表。

  六、OSPF的有限狀態(tài)機模型

  有兩個原因使Hello對多重接入網(wǎng)絡(luò)特別重要。首先,網(wǎng)絡(luò)硬件并不檢查或報告網(wǎng)關(guān)的崩潰或重啟,為了互相保留對方的狀態(tài)信息,與多重接入網(wǎng)絡(luò)相連接的兩個網(wǎng)關(guān)必須交換分組。第二,與某個多重接入網(wǎng)絡(luò)相連接的任意兩個網(wǎng)關(guān)之間都能夠直接通信,因此OSPF必須防止這些網(wǎng)關(guān)形成過多的鄰接。

  OSPF標準使用了一個有限狀態(tài)機來規(guī)范使用Hello的網(wǎng)關(guān)如何與相鄰網(wǎng)關(guān)交互作用。

  一般來說,所有相鄰網(wǎng)關(guān)最初都處于DOWN狀態(tài),表示并未準備通信。當(dāng)一個網(wǎng)關(guān)接收到相鄰網(wǎng)關(guān)發(fā)出的Hello分組后,它將相鄰網(wǎng)關(guān)從DOWN狀態(tài)變遷到INIT狀態(tài)。在此之后,相鄰網(wǎng)關(guān)或者進入2-WAY狀態(tài),或者進入EXSTART狀態(tài)。其中2-WAY狀態(tài)表示通信已經(jīng)建立,但相鄰網(wǎng)關(guān)與該網(wǎng)關(guān)之間沒有鄰接關(guān)系,EXSTART狀態(tài)表示不但已經(jīng)建立通信,而且兩個網(wǎng)關(guān)之間存在經(jīng)過雙方協(xié)商同意的鄰接關(guān)系。

  當(dāng)協(xié)商結(jié)束時,網(wǎng)關(guān)開始交換鏈路狀態(tài)數(shù)據(jù)庫中的信息,以確保它們有完全相同的底層互連網(wǎng)拓撲圖。兩個相鄰網(wǎng)關(guān)中的一個成為“主網(wǎng)關(guān)”,它查詢另一個網(wǎng)關(guān)數(shù)據(jù)庫中的信息。非主網(wǎng)關(guān)返回數(shù)據(jù)庫描述分組,以通知主網(wǎng)關(guān)最近接收到的該拓撲圖中每條鏈路的信息。在建立鄰接關(guān)系時,交換信息尤其重要,因為在網(wǎng)絡(luò)斷連期間,某個網(wǎng)關(guān)中的信息可能變?yōu)檫^時的信息。每個拓撲信息分組中包含一個序號,因此網(wǎng)關(guān)能夠知道相鄰網(wǎng)關(guān)數(shù)據(jù)庫中的描述信息是否比該網(wǎng)關(guān)自身數(shù)據(jù)庫中的信息更新。在交換完成且所有拓撲信息都已裝載后,網(wǎng)關(guān)進入FULL狀態(tài)。在FULL狀態(tài)中,兩個網(wǎng)關(guān)定期交換分組,以保持連接。

114267