OSPF路由協(xié)議新手指南
路由協(xié)議的種類繁多是每一個(gè)協(xié)議學(xué)習(xí)者都知道的。那么今天我們就來認(rèn)識(shí)一下OSPF路由協(xié)議。這個(gè)協(xié)議的使用彌補(bǔ)了RIP協(xié)議的不足,更能適應(yīng)現(xiàn)在大規(guī)模的異構(gòu)網(wǎng)絡(luò)的鏈接。
OSPF路由協(xié)議
20世紀(jì)80年代中期,RIP已不能適應(yīng)大規(guī)模異構(gòu)網(wǎng)絡(luò)的互連,OSPF(Open Shortest Path First,開放最短路徑優(yōu)先)路由協(xié)議隨之產(chǎn)生。它是網(wǎng)間工程任務(wù)組織(1ETF)的內(nèi)部網(wǎng)關(guān)協(xié)議工作組為IP網(wǎng)絡(luò)而開發(fā)的一種路由協(xié)議。
1.OSPF路由協(xié)議簡(jiǎn)介
OSPF是一種基于鏈路狀態(tài)的路由協(xié)議,需要每個(gè)路由器向其同一管理域的所有其他路由器發(fā)送鏈路狀態(tài)廣播信息。在OSPF的鏈路狀態(tài)廣播中包括所有接口信息、所有的量度和其他一些變量。利用OSPF的路由器首先必須收集有關(guān)的鏈路狀態(tài)信息,并根據(jù)一定的算法計(jì)算出到每個(gè)節(jié)點(diǎn)的最短路徑。而基于距離向量的路由協(xié)議僅向其鄰接路由器發(fā)送有關(guān)路由更新信息。
開放最短路由優(yōu)先協(xié)議OSPF是IETF組織開發(fā)的一個(gè)基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)協(xié)議。目前使用的是版本2(RFC2328),其特性如下:
適應(yīng)范圍。支持各種規(guī)模的網(wǎng)絡(luò),最多可支持幾百臺(tái)路由器。
快速收斂。在網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化后立即發(fā)送更新報(bào)文,使這一變化在自治系統(tǒng)中同步。
無自環(huán)。由于OSPF根據(jù)收集到的鏈路狀態(tài)用最短路徑樹算法計(jì)算路由,從算法本身保證了不會(huì)生成自環(huán)路由。
區(qū)域劃分。允許自治系統(tǒng)的網(wǎng)絡(luò)被劃分成區(qū)域來管理,區(qū)域間傳送的路由信息被進(jìn)一步抽象,從而減少了占用的網(wǎng)絡(luò)帶寬。
等值路由。支持到同一目的地址的多條等值路由。
路由分級(jí)。使用4類不同的路由,按優(yōu)先順序來說分別是:區(qū)域內(nèi)路由、區(qū)域間路由、第1類外部路由、
第2類外部路由。
支持驗(yàn)證。支持基于接口的報(bào)文驗(yàn)證以保證路由計(jì)算的安全性。
組播發(fā)送。支持組播地址。#p#
2.OSPF路由協(xié)議計(jì)算過程
每個(gè)支持OSPF協(xié)議的路由器都維護(hù)著一份描述整個(gè)自治系統(tǒng)拓?fù)浣Y(jié)構(gòu)的鏈路狀態(tài)數(shù)據(jù)庫LSDB(Link State Database)。每臺(tái)路由器根據(jù)自己周圍的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成鏈路狀態(tài)廣播LSA(Link State Advertisement),通過相互之間發(fā)送協(xié)議報(bào)文將LSA發(fā)送給網(wǎng)絡(luò)中其他路由器。這樣每臺(tái)路由器都收到了其他路由器的LSA,所有的LSA放在一起便組成了鏈路狀態(tài)數(shù)據(jù)庫。
OSPF路由協(xié)議利用鏈路狀態(tài)算法建立和計(jì)算到每個(gè)目標(biāo)網(wǎng)絡(luò)的最短路徑,該算法本身十分復(fù)雜,下面簡(jiǎn)單、概括地描述了鏈路狀態(tài)算法工作的總體過程:
初始化階段,路由器將產(chǎn)生鏈路狀態(tài)通告,該鏈路狀態(tài)通告包含了該路由器全部鏈路狀態(tài)。
所有路由器通過組播的方式交換鏈路狀態(tài)信息,每臺(tái)路由器接收到鏈路狀態(tài)更新報(bào)文時(shí),將拷貝一份到本地?cái)?shù)據(jù)庫,然后再傳播給其他路由器。
當(dāng)每臺(tái)路由器都有一份完整的鏈路狀態(tài)數(shù)據(jù)庫時(shí),路由器應(yīng)用算法針對(duì)所有目標(biāo)網(wǎng)絡(luò)計(jì)算最短路徑樹,結(jié)果內(nèi)容包括:目標(biāo)網(wǎng)絡(luò)、下一跳地址、花費(fèi),是IP路由表的關(guān)鍵部分。
如果沒有鏈路花費(fèi)、網(wǎng)絡(luò)增刪變化,OSPF將會(huì)十分安靜,如果網(wǎng)絡(luò)發(fā)生了任何變化,OSPF通過鏈路狀態(tài)進(jìn)行通告,但只通告變化的鏈路狀態(tài),變化涉及到的路由器將重新運(yùn)行算法,生成新的最短路徑樹。
每臺(tái)路由器都使用算法計(jì)算出一棵以自己為根的最短路徑樹,這棵樹給出了到自治系統(tǒng)中各節(jié)點(diǎn)的路由,外部路由信息為葉子節(jié)點(diǎn),外部路由可由廣播它的路由器進(jìn)行標(biāo)記以記錄關(guān)于自治系統(tǒng)的額外信息。顯然,各個(gè)路由器各自得到的路由表是不同的。
此外,OSPF路由協(xié)議為使每臺(tái)路由器能將本地狀態(tài)信息(如可用接口信息、可達(dá)鄰居信息等)廣播到整個(gè)自治系統(tǒng)中,在路由器之間要建立多個(gè)鄰接關(guān)系,這使得任何一臺(tái)路由器的路由變化都會(huì)導(dǎo)致多次傳遞,既沒有必要,也浪費(fèi)了寶貴的帶寬資源。為解決這一問題,OSPF協(xié)議定義了“指定路由器"DR(Designated Router),所有路由器都只將信息發(fā)送給DR,由DR將網(wǎng)絡(luò)鏈路狀態(tài)廣播出去。這樣就減少了多址訪問網(wǎng)絡(luò)上各路由器之間鄰接關(guān)系的數(shù)量。