国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 網(wǎng)絡(luò)通信 > 正文

OSPF路由協(xié)議概念及工作原理(一)

2019-11-04 11:05:48
字體:
供稿:網(wǎng)友

——隨著Internet技術(shù)在全球范圍的飛速發(fā)展,OSPF已成為目前Internet廣域網(wǎng)和Intranet企業(yè)網(wǎng)采用最多、應(yīng)用最廣泛的路由協(xié)議之一。OSPF(Open Shortest Path First)路由協(xié)議是由IETF(Internet Engineering Task Force)IGP工作小組提出的,是一種基于SPF算法的路由協(xié)議,目前使用的OSPF協(xié)議是其第二版,定義于RFC1247和RFC1583。

1.概述

——OSPF路由協(xié)議是一種典型的鏈路狀態(tài)(Link-state)的路由協(xié)議,一般用于同一個路由域內(nèi)。在這里,路由域是指一個自治系統(tǒng)(Autonomous System),即AS,它是指一組通過統(tǒng)一的路由政策或路由協(xié)議互相交換路由信息的網(wǎng)絡(luò)。在這個AS中,所有的OSPF路由器都維護(hù)一個相同的描述這個AS結(jié)構(gòu)的數(shù)據(jù)庫,該數(shù)據(jù)庫中存放的是路由域中相應(yīng)鏈路的狀態(tài)信息,OSPF路由器正是通過這個數(shù)據(jù)庫計算出其OSPF路由表的。

——作為一種鏈路狀態(tài)的路由協(xié)議,OSPF將鏈路狀態(tài)廣播數(shù)據(jù)包LSA(Link State Advertisement)傳送給在某一區(qū)域內(nèi)的所有路由器,這一點與距離矢量路由協(xié)議不同。運(yùn)行距離矢量路由協(xié)議的路由器是將部分或全部的路由表傳遞給與其相鄰的路由器。

2.數(shù)據(jù)包格式

——在OSPF路由協(xié)議的數(shù)據(jù)包中,其數(shù)據(jù)包頭長為24個字節(jié),包含如下8個字段:

* Version number-定義所采用的OSPF路由協(xié)議的版本。
* Type-定義OSPF數(shù)據(jù)包類型。OSPF數(shù)據(jù)包共有五種:
* Hello-用于建立和維護(hù)相鄰的兩個OSPF路由器的關(guān)系,該數(shù)據(jù)包是周期性地發(fā)送的。
* Database Description-用于描述整個數(shù)據(jù)庫,該數(shù)據(jù)包僅在OSPF初始化時發(fā)送。
* Link state request-用于向相鄰的OSPF路由器請求部分或全部的數(shù)據(jù),這種數(shù)據(jù)包是在當(dāng)路由器發(fā)現(xiàn)其數(shù)據(jù)已經(jīng)過期時才發(fā)送的。
* Link state update-這是對link state請求數(shù)據(jù)包的響應(yīng),即通常所說的LSA數(shù)據(jù)包。
* Link state acknowledgment-是對LSA數(shù)據(jù)包的響應(yīng)。
* Packet length-定義整個數(shù)據(jù)包的長度。
* Router ID-用于描述數(shù)據(jù)包的源地址,以IP地址來表示。
* Area ID-用于區(qū)分OSPF數(shù)據(jù)包屬于的區(qū)域號,所有的OSPF數(shù)據(jù)包都屬于一個特定的OSPF區(qū)域。
* Checksum-校驗位,用于標(biāo)記數(shù)據(jù)包在傳遞時有無誤碼。
* Authentication type-定義OSPF驗證類型。
* Authentication-包含OSPF驗證信息,長為8個字節(jié)。


3.OSPF基本算法

3.1 SPF算法及最短路徑樹

——SPF算法是OSPF路由協(xié)議的基礎(chǔ)。SPF算法有時也被稱為Dijkstra算法,這是因為最短路徑優(yōu)先算法SPF是Dijkstra發(fā)明的。SPF算法將每一個路由器作為根(ROOT)來計算其到每一個目的地路由器的距離,每一個路由器根據(jù)一個統(tǒng)一的數(shù)據(jù)庫會計算出路由域的拓?fù)浣Y(jié)構(gòu)圖,該結(jié)構(gòu)圖類似于一棵樹,在SPF算法中,被稱為最短路徑樹。在OSPF路由協(xié)議中,最短路徑樹的樹干長度,即OSPF路由器至每一個目的地路由器的距離,稱為OSPF的Cost,其算法為:Cost = 100×106/鏈路帶寬

——在這里,鏈路帶寬以bps來表示。也就是說,OSPF的Cost 與鏈路的帶寬成反比,帶寬越高,Cost越小,表示OSPF到目的地的距離越近。舉例來說,F(xiàn)DDI或快速以太網(wǎng)的Cost為1,2M串行鏈路的Cost為48,10M以太網(wǎng)的Cost為10等。

3.2 鏈路狀態(tài)算法

——作為一種典型的鏈路狀態(tài)的路由協(xié)議,OSPF還得遵循鏈路狀態(tài)路由協(xié)議的統(tǒng)一算法。鏈路狀態(tài)的算法非常簡單,在這里將鏈路狀態(tài)算法概括為以下四個步驟:

當(dāng)路由器初始化或當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化(例如增減路由器,鏈路狀態(tài)發(fā)生變化等)時,路由器會產(chǎn)生鏈路狀態(tài)廣播數(shù)據(jù)包LSA(Link-State Advertisement),該數(shù)據(jù)包里包含路由器上所有相連鏈路,也即為所有端口的狀態(tài)信息。

所有路由器會通過一種被稱為刷新(Flooding)的方法來交換鏈路狀態(tài)數(shù)據(jù)。Flooding是指路由器將其LSA數(shù)據(jù)包傳送給所有與其相鄰的OSPF路由器,相鄰路由器根據(jù)其接收到的鏈路狀態(tài)信息更新自己的數(shù)據(jù)庫,并將該鏈路狀態(tài)信息轉(zhuǎn)送給與其相鄰的路由器,直至穩(wěn)定的一個過程。 當(dāng)網(wǎng)絡(luò)重新穩(wěn)定下來,也可以說OSPF路由協(xié)議收斂下來時,所有的路由器會根據(jù)其各自的鏈路狀態(tài)信息數(shù)據(jù)庫計算出各自的路由表。該路由表中包含路由器到每一個可到達(dá)目的地的Cost以及到達(dá)該目的地所要轉(zhuǎn)發(fā)的下一個路由器(next-hop)。

第4個步驟實際上是指OSPF路由協(xié)議的一個特性。當(dāng)網(wǎng)絡(luò)狀態(tài)比較穩(wěn)定時,網(wǎng)絡(luò)中傳遞的鏈路狀態(tài)信息是比較少的,或者可以說,當(dāng)網(wǎng)絡(luò)穩(wěn)定時,網(wǎng)絡(luò)中是比較安靜的。這也正是鏈路狀態(tài)路由協(xié)議區(qū)別與距離矢量路由協(xié)議的一大特點。

4.OSPF路由協(xié)議的基本特征

——前文已經(jīng)說明了OSPF路由協(xié)議是一種鏈路狀態(tài)的路由協(xié)議,為了更好地說明OSPF路由協(xié)議的基本特征,我們將OSPF路由協(xié)議與距離矢量路由協(xié)議之一的RIP(Routing Information PRotocol)作一比較,歸納為如下幾點:

——RIP路由協(xié)議中用于表示目的網(wǎng)絡(luò)遠(yuǎn)近的唯一參數(shù)為跳(HOP),也即到達(dá)目的網(wǎng)絡(luò)所要經(jīng)過的路由器個數(shù)。在RIP路由協(xié)議中,該參數(shù)被限制為最大15,也就是說RIP路由信息最多能傳遞至第16個路由器;對于OSPF路由協(xié)議,路由表中表示目的網(wǎng)絡(luò)的參數(shù)為Cost,該參數(shù)為一虛擬值,與網(wǎng)絡(luò)中鏈路的帶寬等相關(guān),也就是說OSPF路由信息不受物理跳數(shù)的限制。并且,OSPF路由協(xié)議還支持TOS(Type of Service)路由,因此,OSPF比較適合應(yīng)用于大型網(wǎng)絡(luò)中。

——RIP路由協(xié)議不支持變長子網(wǎng)屏蔽碼(VLSM),這被認(rèn)為是RIP路由協(xié)議不適用于大型網(wǎng)絡(luò)的又一重要原因。采用變長子網(wǎng)屏蔽碼可以在最大限度上節(jié)約IP地址。OSPF路由協(xié)議對VLSM有良好的支持性。

——RIP路由協(xié)議路由收斂較慢。RIP路由協(xié)議周期性地將整個路由表作為路由信息廣播至網(wǎng)絡(luò)中,該廣播周期為30秒。在一個較為大型的網(wǎng)絡(luò)中,RIP協(xié)議會產(chǎn)生很大的廣播信息,占用較多的網(wǎng)絡(luò)帶寬資源;并且由于RIP協(xié)議30秒的廣播周期,影響了RIP路由協(xié)議的收斂,甚至出現(xiàn)不收斂的現(xiàn)象。而OSPF是一種鏈路狀態(tài)的路由協(xié)議,當(dāng)網(wǎng)絡(luò)比較穩(wěn)定時,網(wǎng)絡(luò)中的路由信息是比較少的,并且其廣播也不是周期性的,因此OSPF路由協(xié)議即使是在大型網(wǎng)絡(luò)中也能夠較快地收斂。


——在RIP協(xié)議中,網(wǎng)絡(luò)是一個平面的概念,并無區(qū)域及邊界等的定義。隨著無級路由CIDR概念的出現(xiàn),RIP協(xié)議就明顯落伍了。在OSPF路由協(xié)議中,一個網(wǎng)絡(luò),或者說是一個路由域可以劃分為很多個區(qū)域area,每一個區(qū)域通過OSPF邊界路由器相連,區(qū)域間可以通過路由總結(jié)(Summary)來減少路由信息,減小路由表,提高路由器的運(yùn)算速度。

——OSPF路由協(xié)議支持路由驗證,只有互相通過路由驗證的路由器之間才能交換路由信息。并且OSPF可以對不同的區(qū)域定義不同的驗證方式,提高網(wǎng)絡(luò)的安全性。

——OSPF路由協(xié)議對負(fù)載分擔(dān)的支持性能較好。OSPF路由協(xié)議支持多條Cost相同的鏈路上的負(fù)載分擔(dān),目前一些廠家的路由器支持6條鏈路的負(fù)載分擔(dān)。

5.區(qū)域及域間路由

——前文已經(jīng)提到過,在OSPF路由協(xié)議的定義中,可以將一個路由域或者一個自治系統(tǒng)AS劃分為幾個區(qū)域。在OSPF中,由按照一定的OSPF路由法則組合在一起的一組網(wǎng)絡(luò)或路由器的集合稱為區(qū)域(AREA)。

——在OSPF路由協(xié)議中,每一個區(qū)域中的路由器都按照該區(qū)域中定義的鏈路狀態(tài)算法來計算網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),這意味著每一個區(qū)域都有著該區(qū)域獨立的網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)庫及網(wǎng)絡(luò)拓?fù)鋱D。對于每一個區(qū)域,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)在區(qū)域外是不可見的,同樣,在每一個區(qū)域中的路由器對其域外的其余網(wǎng)絡(luò)結(jié)構(gòu)也不了解。這意味著OSPF路由域中的網(wǎng)絡(luò)鏈路狀態(tài)數(shù)據(jù)廣播被區(qū)域的邊界擋住了,這樣做有利于減少網(wǎng)絡(luò)中鏈路狀態(tài)數(shù)據(jù)包在全網(wǎng)范圍內(nèi)的廣播,也是OSPF將其路由域或一個AS劃分成很多個區(qū)域的重要原因。

——隨著區(qū)域概念的引入,意味著不再是在同一個AS內(nèi)的所有路由器都有一個相同的鏈路狀態(tài)數(shù)據(jù)庫,而是路由器具有與其相連的每一個區(qū)域的鏈路狀態(tài)信息,即該區(qū)域的結(jié)構(gòu)數(shù)據(jù)庫,當(dāng)一個路由器與多個區(qū)域相連時,我們稱之為區(qū)域邊界路由器。一個區(qū)域邊界路由器有自身相連的所有區(qū)域的網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)。在同一個區(qū)域中的兩個路由器有著對該區(qū)域相同的結(jié)構(gòu)數(shù)據(jù)庫。

——我們可以根據(jù)IP數(shù)據(jù)包的目的地地址及源地址將OSPF路由域中的路由分成兩類,當(dāng)目的地與源地址處于同一個區(qū)域中時,稱為區(qū)域內(nèi)路由,當(dāng)目的地與源地址處于不同的區(qū)域甚至處于不同的AS時,我們稱之為域間路由。

OSPF的骨干區(qū)域及虛擬鏈路(Virtual-link)

——在OSPF路由協(xié)議中存在一個骨干區(qū)域(Backbone),該區(qū)域包括屬于這個區(qū)域的網(wǎng)絡(luò)及相應(yīng)的路由器,骨干區(qū)域必須是連續(xù)的,同時也要求其余區(qū)域必須與骨干區(qū)域直接相連。骨干區(qū)域一般為區(qū)域0,其主要工作是在其余區(qū)域間傳遞路由信息。所有的區(qū)域,包括骨干區(qū)域之間的網(wǎng)絡(luò)結(jié)構(gòu)情況是互不可見的,當(dāng)一個區(qū)域的路由信息對外廣播時,其路由信息是先傳遞至區(qū)域0(骨干區(qū)域),再由區(qū)域0將該路由信息向其余區(qū)域作廣播。

——在實際網(wǎng)絡(luò)中,可能會存在backbone不連續(xù)的或者某一個區(qū)域與骨干區(qū)域物理不相連的情況,在這兩種情況下,系統(tǒng)治理員可以通過設(shè)置虛擬鏈路的方法來解決。

——虛擬鏈路是設(shè)置在兩個路由器之間,這兩個路由器都有一個端口與同一個非骨干區(qū)域相連。虛擬鏈路被認(rèn)為是屬于骨干區(qū)域的,在OSPF路由協(xié)議看來,虛擬鏈路兩端的兩個路由器被一個點對點的鏈路連在一起。在OSPF路由協(xié)議中,通過虛擬鏈路的路由信息是作為域內(nèi)路由來看待的。下面我們分兩種情況來說明虛擬鏈路在OSPF路由協(xié)議中的作用。

1.當(dāng)一個區(qū)域與area0沒有物理鏈路相連時

——前文已經(jīng)提到,一個骨干區(qū)域Area 0必須位于所有區(qū)域的中心,其余所有區(qū)域必須與骨干區(qū)域直接相連。但是,也存在一個區(qū)域無法與骨干區(qū)域建立物理鏈路的可能性,在這種情況下,我們可以采用虛擬鏈路。虛擬鏈路使該區(qū)域與骨干區(qū)域間建立一個邏輯聯(lián)接點,該虛擬鏈路必須建立在兩個區(qū)域邊界路由器之間,并且其中一個區(qū)域邊界路由器必須屬于骨干區(qū)域。

——在上面所示的例子中,區(qū)域1與區(qū)域0并無物理相連鏈路,我們可以在路由器A及路由器B之間建立虛擬鏈路,這樣,將區(qū)域2作為一個穿透網(wǎng)絡(luò)(Transit-network),路由器B作為接入點,區(qū)域1就與區(qū)域0建立了邏輯聯(lián)接。

2.當(dāng)骨干區(qū)域不連續(xù)時

——OSPF路由協(xié)議要求骨干區(qū)域area0必須是連續(xù)的,但是,骨干區(qū)域也會出現(xiàn)不連續(xù)的情況,例如,當(dāng)我們想把兩個OSPF路由域混合到一起,并且想要使用一個骨干區(qū)域時,或者當(dāng)某些路由器出現(xiàn)故障引起骨干區(qū)域不連續(xù)的情況,在這些情況下,我們可以采用虛擬鏈路將兩個不連續(xù)的區(qū)域0連接到一起。這時,虛擬鏈路的兩端必須是兩個區(qū)域0的邊界路由器,并且這兩個路由器必須都有處于同一個區(qū)域的端口。

——在上面的例子中,穿過區(qū)域1的虛擬鏈路將兩個分為兩半的骨干區(qū)域連接到一起,路由器A與B之間的路由信息作為OSPF域內(nèi)路由來處理。

——另外,當(dāng)一個非骨干區(qū)域的區(qū)域分裂成兩半時,不能采用虛擬鏈路的方法來解決。當(dāng)出現(xiàn)這種情況時,分裂出的其中一個區(qū)域?qū)⒈黄溆嗟膮^(qū)域作為域間路由來處理。 殘域(Stub area)

——在OSPF路由協(xié)議的鏈路狀態(tài)數(shù)據(jù)庫中,可以包括AS外部鏈路狀態(tài)信息,這些信息會通過flooding傳遞到AS內(nèi)的所有OSPF路由器上。但是,在OSPF路由協(xié)議中存在這樣一種區(qū)域,我們把它稱為殘域(stub area),AS外部信息不答應(yīng)廣播進(jìn)/出這個區(qū)域。對于殘域來說,訪問AS外部的數(shù)據(jù)只能根據(jù)默認(rèn)路由(default-route)來尋址。這樣做有利于減小殘域內(nèi)部路由器上的鏈路狀態(tài)數(shù)據(jù)庫的大小及存儲器的使用,提高路由器計算路由表的速度。

——當(dāng)一個OSPF的區(qū)域只存在一個區(qū)域出口點時,我們可以將該區(qū)域配置成一個殘域,在這時,該區(qū)域的邊界路由器會對域內(nèi)廣播默認(rèn)路由信息。需要注重的是,一個殘域中的所有路由器都必須知道自身屬于該殘域,否則殘域的設(shè)置沒有作用。另外,針對殘域還有兩點需要注重:一是殘域中不答應(yīng)存在虛擬鏈路;二是殘域中不答應(yīng)存在AS邊界路由器。

6.OSPF協(xié)議路由器及鏈路狀態(tài)數(shù)據(jù)包分類

6.1 OSPF路由器分類

——當(dāng)一個AS劃分成幾個OSPF區(qū)域時,根據(jù)一個路由器在相應(yīng)的區(qū)域之內(nèi)的作用,可以將OSPF路由器作如下分類:

——內(nèi)部路由器:當(dāng)一個OSPF路由器上所有直聯(lián)的鏈路都處于同一個區(qū)域時,我們稱這種路由器為內(nèi)部路由器。內(nèi)部路由器上僅僅運(yùn)行其所屬區(qū)域的OSPF運(yùn)算法則。


——區(qū)域邊界路由器:當(dāng)一個路由器與多個區(qū)域相連時,我們稱之為區(qū)域邊界路由器。區(qū)域邊界路由器運(yùn)行與其相連的所有區(qū)域定義的OSPF運(yùn)算法則,具有相連的每一個區(qū)域的網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù),并且了解如何將該區(qū)域的鏈路狀態(tài)信息廣播至骨干區(qū)域,再由骨干區(qū)域轉(zhuǎn)發(fā)至其余區(qū)域。

——AS邊界路由器:AS邊界路由器是與AS外部的路由器互相交換路由信息的OSPF路由器,該路由器在AS內(nèi)部廣播其所得到的AS外部路由信息;這樣AS內(nèi)部的所有路由器都知道至AS邊界路由器的路由信息。AS邊界路由器的定義是與前面幾種路由器的定義相獨立的,一個AS邊界路由器可以是一個區(qū)域內(nèi)部路由器或是一個區(qū)域邊界路由器。



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴中市| 平潭县| 桦南县| 庆安县| 额尔古纳市| 周宁县| 扶风县| 闽清县| 曲阜市| 和田市| 阳山县| 桦甸市| 江城| 炎陵县| 宁南县| 望都县| 阿城市| 武清区| 剑河县| 新巴尔虎左旗| 铁力市| 焦作市| 平果县| 金川县| 名山县| 大关县| 紫阳县| 大方县| 封丘县| 夏邑县| 正蓝旗| 海口市| 新干县| 彭州市| 高雄市| 海安县| 奉贤区| 锡林郭勒盟| 沭阳县| 两当县| 宣威市|