不同狀態(tài)下的路由選擇協(xié)議
在我們學(xué)習(xí)路由選擇協(xié)議的時(shí)候,可以針對鏈路狀態(tài)和矢量狀態(tài)兩個(gè)區(qū)分開來學(xué)習(xí)。這樣也是比較形象的便于我們來記憶。現(xiàn)在針對這兩方面我們來簡單的介紹一下,那么重點(diǎn)還是對鏈路狀態(tài)路由選擇協(xié)議的相關(guān)內(nèi)容的學(xué)習(xí)。
概述
如果把距離矢量路由選擇協(xié)議比作是由路標(biāo)提供的信息,那么鏈路狀態(tài)路由選擇協(xié)議就是一張交通線路圖;因?yàn)樗幸粡埻暾木W(wǎng)絡(luò)圖,所以它是不容易被欺騙而作出錯(cuò)誤的路由決策的;鏈路狀態(tài)不同于距離矢量依照傳聞進(jìn)行路由選擇的工作方式,每臺(tái)路由器都會(huì)產(chǎn)生一些關(guān)于自己、本地直連鏈路以及這些鏈路的狀態(tài)(以此而得名)和所有直接相連鄰居的信息。這些信息從一臺(tái)路由器傳送到另一臺(tái)路由器,每臺(tái)路由器都做一份信息拷貝,但是決不改動(dòng)這些信息,最終每臺(tái)路由器都有一個(gè)相同的有關(guān)網(wǎng)絡(luò)的信息,并且每臺(tái)路由器可以獨(dú)立地計(jì)算各自的最優(yōu)路徑;
鏈路狀態(tài)協(xié)議,有時(shí)也叫最短路徑優(yōu)先協(xié)議或分布式數(shù)據(jù)庫協(xié)議,是圍繞著圖論中的一個(gè)著名算法-E.W.Dijkstra的最短路徑算法設(shè)計(jì)的;
鏈路狀態(tài)協(xié)議有以下幾種:
IP開放式最短路徑優(yōu)先OSPF;
CLNS或IPISO的中間系統(tǒng)到中間系統(tǒng)IS-IS;
DEC的DNA階段5;
Novell的NetWare鏈路服務(wù)協(xié)議NLSP.
鏈路狀態(tài)路由選擇協(xié)議的基本步驟如下:
1、每臺(tái)路由器與它的鄰居之間建立聯(lián)系,這種聯(lián)系稱為鄰接關(guān)系;
2、每臺(tái)路由器向每個(gè)鄰居發(fā)送鏈路狀態(tài)通告LSA。對每臺(tái)路由器鏈路都會(huì)生成一個(gè)LSA,LSA用于標(biāo)識(shí)這條鏈路、鏈路狀態(tài)、路由器接口到鏈路的代價(jià)度量值以及鏈路所連接的所有鄰居。每個(gè)鄰居在收到通告后將依次向它的鄰居轉(zhuǎn)發(fā)(泛洪)這些通告;
3、每臺(tái)路由器要在數(shù)據(jù)庫中保存一份它所收到的LSA的備份,如果所有路由器工作正常,那么它們的鏈路狀態(tài)數(shù)據(jù)庫應(yīng)該相同;
4、完整的拓?fù)鋽?shù)據(jù)庫,也叫做鏈路狀態(tài)數(shù)據(jù)庫,Dijkstra算法使用它對網(wǎng)絡(luò)圖進(jìn)行計(jì)算得出到每臺(tái)路由器的最短路徑;接著鏈路狀態(tài)協(xié)議對鏈路狀態(tài)數(shù)據(jù)庫進(jìn)行查詢找到每臺(tái)路由器所連接的子網(wǎng),并把這些信息輸入到路由表中.
鄰居
鄰居發(fā)現(xiàn)是建立鏈路狀態(tài)環(huán)境并運(yùn)轉(zhuǎn)的第一步,它將使用Hello協(xié)議(HelloProtocol)。Hello協(xié)議定義了一個(gè)Hello數(shù)據(jù)包的格式和交換數(shù)據(jù)包并處理數(shù)據(jù)包信息的過程;Hello數(shù)據(jù)包至少應(yīng)包含一個(gè)路由器IDCRID和發(fā)送數(shù)據(jù)包的網(wǎng)絡(luò)地址。路由器ID可以將發(fā)送該數(shù)據(jù)包的路由器與其他路由器惟一地區(qū)分開,例如,路由器ID可以是路由器一個(gè)接口的IP地址。數(shù)據(jù)包的其他字段可以攜帶子網(wǎng)掩碼、Hello間隔、線路類型描述符和幫助建立鄰居關(guān)系的標(biāo)記,其中Hello間隔是路由器在宣布鄰居死亡之前等待的最大周期;
當(dāng)兩臺(tái)路由器已經(jīng)互相發(fā)現(xiàn)并將對方視為鄰居時(shí),它們要進(jìn)行數(shù)據(jù)庫同步過程,即交換和確認(rèn)數(shù)據(jù)庫信息,直到數(shù)據(jù)庫相同為至;為了執(zhí)行數(shù)據(jù)庫同步,鄰居之間必須建立鄰接關(guān)系,即這們必須就某些特定的協(xié)議參數(shù),如計(jì)時(shí)器和對可選擇能力的支持,達(dá)成一致意見。通過使用Hello數(shù)據(jù)包建立鄰接關(guān)系,鏈路狀態(tài)協(xié)議就可以在受控的方式下交換信息,與距離矢量相比,這種方式僅在配置了路由選擇協(xié)議的接口上廣播更新信息(組播)!
除建立鄰接關(guān)系外,Hello數(shù)據(jù)包還可作為監(jiān)視鄰接關(guān)系的握手信號(hào)。如果在特定的時(shí)間內(nèi)沒有從鄰接路由器收到Hello數(shù)據(jù)包,那么就認(rèn)為鄰居路由器不可達(dá),隨即鄰接關(guān)系被解除。典型的Hello數(shù)據(jù)包交換間隔為10s,典型的死亡周期是交換間隔的4倍.