日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

動態(tài)路由協(xié)議OSPF原理和特性( 三 )


計算路由
路由器完成周邊網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的描述(生成LSA)后,發(fā)送給網(wǎng)絡(luò)中的其他路由器,每臺路由器生成鏈路狀態(tài)數(shù)據(jù)庫(LSDB) 。路由器開始執(zhí)行SPF(最短路徑優(yōu)先)算法計算路由,路由器以自己為根節(jié)點,把LSDB中的條目與LSA進(jìn)行對比,經(jīng)過若干次的遞歸和回溯,直至路由器把所有LSA中包含的網(wǎng)段都找到路徑(把該路由填入路由表中),此時意味著所到達(dá)的該段鏈路的類型標(biāo)識為3(Stubnet) 。
確保LSA在路由器間傳送的可靠性
從上文可以知道,作為鏈路狀態(tài)協(xié)議的OSPF的工作機(jī)制,與RIP等距離向量的路由協(xié)議是不一樣的 。距離向量路由協(xié)議是通過周期性地發(fā)送整張路由表,來使網(wǎng)絡(luò)中的路由器的路由信息保持一致 。這種機(jī)制存在著上文提到的一些弊病 。而OSPF協(xié)議將包含路由信息的部分與只包含路由器間鄰接關(guān)系的部分分開,它使用一種被稱作Hello的數(shù)據(jù)包來確認(rèn)鄰接關(guān)系,這個數(shù)據(jù)包非常小,它僅被用來發(fā)現(xiàn)和維持鄰接關(guān)系 。
在路由器R1初始化完成后,它將向路由器R2發(fā)送Hello數(shù)據(jù)包 。此時R1并不知道R2的存在,因此在數(shù)據(jù)包中不包含R2的信息(參數(shù)seen=0) 。而R2在接收到該數(shù)據(jù)包后,將向R1發(fā)送Hello包 。此時,Hello包中將表明它已知道存在R1這個鄰居 。R1收到這個回應(yīng)包后就會知道鄰居R2的存在,并且鄰居R2也知道了自己的存在(參數(shù)seen=R1) 。此時在路由器R1和R2之間就建立了鄰接關(guān)系,它們就可以把LSA發(fā)送給對方 。當(dāng)然,在發(fā)送時OSPF考慮到要盡量減少占用的帶寬,它采用了一些技巧,我們將在下一節(jié)簡單介紹這些內(nèi)容 。
眾所周知,IP協(xié)議是一種不可靠的、面向無連接的協(xié)議,它本身沒有確認(rèn)和錯誤重傳機(jī)制 。那么,在這種協(xié)議基礎(chǔ)之上,要做到數(shù)據(jù)包丟失或出錯后進(jìn)行重傳,上層協(xié)議必須本身具備這種可靠的機(jī)制 。OSPF采取了與TCP類似的確認(rèn)和超時重傳機(jī)制 。在機(jī)制中,R1和R2將進(jìn)行一種被稱作鏈路狀態(tài)數(shù)據(jù)庫描述(DD)的數(shù)據(jù)包的互傳 。首先進(jìn)行協(xié)商,從而確定兩者之間的主從關(guān)系(根據(jù)路由器ID號,ID號大的將作為Master) 。鏈路狀態(tài)數(shù)據(jù)庫描述(DD)數(shù)據(jù)包中包含了一些參數(shù),序列號(seq)、報文號(I)、結(jié)尾標(biāo)識(M)及主從標(biāo)志(MS) 。從屬路由器將使用主路由器發(fā)出的DD包中的序列號(seq),作為自己的第一個DD包的序列號 。當(dāng)主路由器收到從屬路由器的DD包時,就能確認(rèn)鄰接路由器已收到自己的數(shù)據(jù)包(假如沒有收到或收到的DD包的序列號不是自己一個DD包的序列號,主路由器將重傳上一個DD包),主路由器將序列號加1(只有主路由器才有權(quán)改變序列號,而從屬路由器沒有),并發(fā)送下一個DD包,該過程的重復(fù)保證了在OSPF協(xié)議中數(shù)據(jù)包傳輸?shù)臏?zhǔn)確性,從而為OSPF協(xié)議成為一個準(zhǔn)確的路由協(xié)議打下了基礎(chǔ) 。
高效率地進(jìn)行LSA的交換
在RIP等距離向量路由協(xié)議中,路由信息的交互是通過周期性地傳送整張路由表的機(jī)制來完成的,該機(jī)制使距離向量路由協(xié)議無法高效地進(jìn)行路由信息的交換 。在OSPF協(xié)議中,為了提高傳輸效率,在進(jìn)行鏈路狀態(tài)通告(LSA)數(shù)據(jù)包傳輸時,使用包含LSA頭(Head)的鏈路狀態(tài)數(shù)據(jù)庫描述數(shù)據(jù)包進(jìn)行傳輸,因為每個LSA頭中不包含具體的鏈路狀態(tài)信息,它只含有各LSA的標(biāo)識(該標(biāo)識唯一代表一個LSA),所以,該報文非常小 。鄰接路由器間使用這種字節(jié)數(shù)很小的數(shù)據(jù)包,首先確認(rèn)在相互之間哪些LSA是對方?jīng)]有的,而哪些LSA在對方路由器中也存在,鄰接路由器間只會傳輸對方?jīng)]有的LSA 。對于自己沒有的LSA,路由器會發(fā)送一個LS Request報文給鄰接路由器來請求對方發(fā)送該LSA,鄰接路由器在收到LS Request報文后,回應(yīng)一個LS Update報文(包含該整條LSA信息),在得到對方確認(rèn)后(接收到對方發(fā)出的LS ACK報文),這兩臺路由器完成了本條LSA信息的同步 。

推薦閱讀