當(dāng)前位置:首頁 >  站長 >  編程技術(shù) >  正文

OSPF路由協(xié)議詳解

 2021-01-10 08:39  來源: 腳本之家   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競價(jià),好“米”不錯(cuò)過

OSPF路由協(xié)議

OSPF的基本概念和工作過程

開放式最短路徑優(yōu)先協(xié)議(OSFP)是基于開放標(biāo)準(zhǔn)的鏈路狀態(tài)路由選擇協(xié)議,它完成各路由選擇協(xié)議算法的兩大主要功能:路徑選擇和路徑交換。Internet工程任務(wù)協(xié)會(huì)(IETF)于1988年開發(fā)了OSPF,其最近版本是OSPF版本2,在RFC 2328中進(jìn)行了描述。

OSPF路由協(xié)議概述

OSPF是內(nèi)部網(wǎng)關(guān)路由協(xié)議

在共同管理域下的一組運(yùn)行相同路由選擇協(xié)議的路由器的集合為一個(gè)自治系統(tǒng)(Autonomous System,AS)。在互聯(lián)網(wǎng)中,一個(gè)自制系統(tǒng)是一個(gè)有權(quán)決定本系統(tǒng)使用哪種路由協(xié)議的單位,它可以是一個(gè)企業(yè)、一座城市或一個(gè)電信運(yùn)營商。隨著網(wǎng)絡(luò)的發(fā)展,上述對AS的定義已經(jīng)不是十分準(zhǔn)確了,網(wǎng)絡(luò)的發(fā)展使得網(wǎng)絡(luò)之間經(jīng)常出現(xiàn)網(wǎng)絡(luò)合并情況,導(dǎo)致同一個(gè)自治系統(tǒng)中使用的路由協(xié)議也越來越多,所以自治系統(tǒng)的定義應(yīng)該是在共同管理下的互聯(lián)網(wǎng)絡(luò)。

內(nèi)部網(wǎng)關(guān)路由協(xié)議(IGP): 用于在單一自治系統(tǒng)(Autonomous System,AS)內(nèi)決策路由。內(nèi)部網(wǎng)關(guān)路由協(xié)議包括RIP、OSPF等。

與內(nèi)部網(wǎng)關(guān)路由協(xié)議相對應(yīng)的叫做外部網(wǎng)關(guān)路由協(xié)議(EGP),外部網(wǎng)關(guān)路由協(xié)議用于在多個(gè)自治系統(tǒng)之間執(zhí)行路由。BGP協(xié)議就是外部網(wǎng)關(guān)路由協(xié)議。

IGP是用來解決AS內(nèi)部通信的,而EGP是解決AS間通信的。

OSPF是鏈路狀態(tài)路由協(xié)議

鏈路狀態(tài)路由協(xié)議通過與鄰居路由器建立鄰接關(guān)系,互相傳遞鏈路狀態(tài)信息,來了解整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。在鏈路狀態(tài)信息中,包括有哪些鏈路,這些鏈路與哪個(gè)路由器相連,連接的路徑成本是多少等信息,因此,在鏈路狀態(tài)路由協(xié)議收斂后,一臺(tái)路由器可以了解本區(qū)域完整的鏈路信息。

運(yùn)行鏈路狀態(tài)路由協(xié)議的路由器就好像各自“繪制”自己所了解的網(wǎng)段信息,然后通過與鄰居路由器建立鄰接關(guān)系,互相“交流”鏈路信息,學(xué)習(xí)整個(gè)區(qū)域內(nèi)鏈路信息,來“繪制”出整個(gè)區(qū)域內(nèi)的鏈路圖。在一個(gè)區(qū)域內(nèi)的所有路由器都保存著完全相同的鏈路狀態(tài)數(shù)據(jù)庫。

名詞解釋:

鄰居路由器: 位于同一條物理鏈路或物理網(wǎng)段上的路由器。

鏈路狀態(tài)數(shù)據(jù)庫: 也稱為拓?fù)鋽?shù)據(jù)庫,它包含所有路由器、路由器的鏈路以及這些鏈路的狀態(tài),還包含所有網(wǎng)路以及到這些網(wǎng)絡(luò)的所有路徑。

鄰接關(guān)系: 當(dāng)兩臺(tái)運(yùn)行OSPF協(xié)議的鄰居路由器的鏈路狀態(tài)數(shù)據(jù)庫達(dá)到一致(同步)時(shí),它們就是完全鄰接的。

OSPF的工作過程

運(yùn)行RIP的路由器只需要保存一張路由器,而使用OSPF路由協(xié)議的路由器需要保存三張表。

鄰居表: 列出每臺(tái)路由器已經(jīng)建立鄰接關(guān)系的全部鄰居路由器。

鏈路狀態(tài)數(shù)據(jù)庫(LSDB): 列出網(wǎng)絡(luò)中其他路由器的信息,由此顯示了全網(wǎng)的網(wǎng)絡(luò)拓?fù)洹?/p>

路由表: 列出通過SPF算法計(jì)算出的到達(dá)每個(gè)相連網(wǎng)絡(luò)的最佳路徑。

運(yùn)行OSPF的路由器試圖與鄰居路由器建立鄰接關(guān)系,在鄰居之間互相同步鏈路狀態(tài)數(shù)據(jù)庫。使用最短路徑算法(OSPF依據(jù)的算法是Dijkstra算法),從鏈路狀態(tài)信息計(jì)算得到一個(gè)以自己為樹根的“最短路徑樹”。到最后,每一臺(tái)路由器都將從最短路徑樹中構(gòu)建出自己的路由表。OSPF的路由器也仍然是依據(jù)路由表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的。

OSPF的基本概念

OSPF區(qū)域

OSPF是一種鏈路狀態(tài)型的路由協(xié)議,不會(huì)產(chǎn)生環(huán)路問題,因此不需要使用最大跳數(shù)等限制來防止環(huán)路的產(chǎn)生。

OSPF將自治系統(tǒng)分割成多個(gè)小的區(qū)域,OSPF的路由器只在區(qū)域內(nèi)部學(xué)習(xí)完整的鏈路狀態(tài)信息,而不必了解整個(gè)自治系統(tǒng)內(nèi)部所有的鏈路狀態(tài)。

區(qū)域0為骨干區(qū)域,它用來連接自治系統(tǒng)內(nèi)部的所有其他區(qū)域。用來連接骨干區(qū)域和其他區(qū)域的路由器叫做區(qū)域邊界路由器,它了解所連接的兩個(gè)區(qū)域的完整的鏈路狀態(tài)信息,并將鏈路狀態(tài)信息匯總后發(fā)給區(qū)域內(nèi)的其他路由器。這樣,減小了路由器保存的鏈路狀態(tài)數(shù)據(jù)庫的大小,可以解決路由器內(nèi)存容量有限的問題。

區(qū)域是通過一個(gè)32位的區(qū)域ID(Area ID)來標(biāo)識(shí)的。

區(qū)域ID可以表示成一個(gè)十進(jìn)制的數(shù)字,也可以表示成一個(gè)點(diǎn)分十進(jìn)制的數(shù)字。在Cisco的路由器中這兩種表示方式都可以使用。

區(qū)域0(或者區(qū)域0.0.0.0)是為骨干區(qū)域保留的區(qū)域ID號(hào)。OSPF的骨干區(qū)域(Backbone Area)是一個(gè)特殊的OSPF區(qū)域,它擔(dān)負(fù)著區(qū)域間路由信息傳播的重任。

Router ID

因?yàn)檫\(yùn)行OSPF的路由器要了解每條鏈路是連接在哪個(gè)路由器上的,因此,就需要有一個(gè)唯一的標(biāo)識(shí)來標(biāo)記OSPF網(wǎng)絡(luò)中的路由器,這個(gè)標(biāo)識(shí)稱為Router ID。

Router ID是在OSPF區(qū)域內(nèi)唯一標(biāo)識(shí)路由器的IP地址。Cisco路由器通過下面的方法得到它們的Router ID。

首先,路由器選取它所有Loopback接口上數(shù)值最高的IP地址。

如果路由器沒有配置Loopback接口的IP地址,那么路由器就在所有活動(dòng)物理端口中選取一個(gè)數(shù)值最高的IP地址作為路由器的Router ID。用作Router ID的路由器接口不一定非要運(yùn)行OSPF協(xié)議。

使用Loopback接口作為Router ID的主要好處是Loopback接口比任何其他的物理端口都更穩(wěn)定。一旦路由器啟動(dòng)成功,這個(gè)回環(huán)接口就會(huì)處于活動(dòng)狀態(tài),只有整個(gè)路由器失效時(shí)它才會(huì)失效。

在OSPF協(xié)議中可以通過router-id命令指定路由器的Router ID,所以網(wǎng)絡(luò)管理員可以配置便于識(shí)別和記憶的Router ID值。

在實(shí)際工程中配置OSPF時(shí)都需要手工指定路由器的Router ID,這已經(jīng)成為了一種標(biāo)準(zhǔn)配置。

四類路由器:

(1)區(qū)域內(nèi)路由器(DR):

該類路由器的所有接口都屬于同一個(gè)OSPF區(qū)域。

(2)骨干路由器(BDR)

該類路由器至少一個(gè)接口屬于骨干區(qū)域。

因此,所有的ABR和位于Area0的內(nèi)部路由器都是骨干路由器。

(3)區(qū)域邊界路由器ABR(Area Border Routers):

該類路由器可以同時(shí)屬于兩個(gè)以上的區(qū)域,但其中一個(gè)必須是骨干區(qū)域。

ABR用來連接骨干區(qū)域和非骨干區(qū)域,可以是實(shí)際連接,也可以是虛連接。

(4)自治系統(tǒng)邊界路由器ASBR(AS Boundary Routers)

與其他AS交換路由信息的路由器稱為ASBR。 只要一臺(tái)OSPF路由器引入了外部路由的信息,他就稱為了ASBR,它有可能是ABR,區(qū)域路由器,不一定位于AS邊界。

DR和BDR

DR和BDR的概念

運(yùn)行OSPF的路由器通過與鄰居路由器建立鄰接關(guān)系,互相傳遞鏈路狀態(tài)信息。如果每兩個(gè)路由器之間都要建立鄰接關(guān)系,那么,就會(huì)構(gòu)成n(n-1)/2個(gè)鄰接關(guān)系。每臺(tái)路由器都要與其他所有的鄰居路由器互相傳遞鏈路狀態(tài)信息。

那么這種情況就會(huì)顯得比較混亂,而且也會(huì)浪費(fèi)許多不必要的網(wǎng)絡(luò)資源。

為了避免這些問題的發(fā)生,可以在這個(gè)網(wǎng)段上選舉一個(gè)指定路由器(Designated Router,DR)。由DR同網(wǎng)絡(luò)中的其他路由器建立鄰接關(guān)系,并負(fù)責(zé)將網(wǎng)段上的變化告知它們。

網(wǎng)絡(luò)上的每一臺(tái)路由器都和DR構(gòu)成一個(gè)鄰接關(guān)系,那么只需要建立n-1個(gè)鄰接關(guān)系就可以了。

為了實(shí)現(xiàn)冗余,當(dāng)DR失效時(shí),需要有一個(gè)新的指定路由器來接替它,這個(gè)路由器就是備份指定路由器(Backup Designated Router,BDR)。網(wǎng)絡(luò)上所有的路由器將和DR、BDR同時(shí)形成鄰接關(guān)系,DB和BDR之間也將形成鄰接關(guān)系。如果DR失效了,BDR將成為新的DR。

DR和BDR的選舉

可以由OSPF自動(dòng)選擇DR和BDR,也可以手工選擇。

自動(dòng)選擇DR和BDR

網(wǎng)段上Router ID最大的路由器將被選舉為DR,第二大的將被選舉為BDR。這樣的選舉結(jié)果可能不是最佳的,例如:如果網(wǎng)段中有Cisco7200和3800系列路由器,那么3600路由器可能由于Router ID較大而被選舉為DR。

手工選舉DR和BDR。

要手工選擇DR和BDR,需要設(shè)置路由器的優(yōu)先級(jí)。每臺(tái)路由器的接口都有一個(gè)路由器優(yōu)先級(jí)(Router Priority),用一個(gè)八位的無符號(hào)整數(shù)來表示,大小范圍是0-255,數(shù)值越大,優(yōu)先級(jí)越高。Cisco路由器上默認(rèn)的優(yōu)先級(jí)是1。接口優(yōu)先級(jí)可以通過命令ip ospf priority來更改。如果路由器的優(yōu)先級(jí)被設(shè)置為0,它將不參與DR和BDR的選舉。

優(yōu)先級(jí)越高,贏得選舉的可能性越大。如果優(yōu)先級(jí)相同,則需要比較Router ID。

DB和BDR的選舉過程

當(dāng)一臺(tái)OSPF路由器啟動(dòng)并發(fā)現(xiàn)它的鄰居路由器時(shí),它將去檢查有效的DB和BDR路由器。

如果DR和BDR路由器存在的話,這臺(tái)路由器將接受已經(jīng)存在的DR和BDR路由器。

如果BDR路由器不存在,將執(zhí)行一個(gè)選舉過程,選出具有最高優(yōu)先級(jí)的路由器作為BDR路由器。如果存在多個(gè)路由器具有相同的優(yōu)先級(jí),那么Router ID最大的路由器將被選中。

如果沒有有效的DR路由存在,那么BDR路由器將被提升為DR路由器,然后再執(zhí)行一個(gè)選舉過程選舉BDR路由器。

這里需要注意的是,路由器的優(yōu)先級(jí)可以影響一個(gè)選舉過程,但是它不能強(qiáng)制更換已經(jīng)存在的DR或BDR路由器。也就是說,在已經(jīng)選舉了DR和BDR路由器后,如果一臺(tái)具有更高優(yōu)先級(jí)的路由器接入網(wǎng)絡(luò),這臺(tái)新的路由器并不會(huì)馬上替換DR或BDR路由器中的任何一個(gè)。因此,在一個(gè)廣播多路訪問網(wǎng)絡(luò)上,最先初始化啟動(dòng)的兩臺(tái)具有選舉資格的路由器將成為DR和BDR路由器。

OSPF的組播地址

一旦DR和BDR路由器選舉成功,其他路由器(成為DRother)將只與DR與BDR路由器形成鄰接關(guān)系。組播地址224.0.0.5代表所有參與OSPF的路由器(AIISPFRouter),而組播地址224.0.0.6只有DR和BDR路由器去偵聽這個(gè)地址,但BDR只偵聽不響應(yīng)。在廣播多路訪問網(wǎng)絡(luò)上,鏈路更新信息先發(fā)送到244.0.0.6,再由DR路由器使用組播地址244.0.0.5泛洪更新報(bào)文到其他所有路由器。

OSPF的度量值

OSPF的用來度量路徑優(yōu)劣的度量值稱為Cost(開銷),是指從該接口發(fā)送出去的數(shù)據(jù)包的出站接口開銷。鏈路開銷使用16位的無符號(hào)的整數(shù)表示,大小范圍是1-65535。

Cisco公司使用的默認(rèn)代價(jià)是108/BW,表示為一個(gè)整數(shù),在這里BW是指在接口上配置的帶寬,而108是Cisco路由器使用的參考帶寬。

路由器接口的開銷值可以通過命令ip ospf cost來改變,當(dāng)在一個(gè)有多家廠商產(chǎn)品的網(wǎng)絡(luò)環(huán)境中配置Cisco的路由器時(shí),這個(gè)命令變得十分重要。例如:有些廠商的路由器在其所有的接口上使用的默認(rèn)開銷值是1。如果網(wǎng)絡(luò)中所有的路由器沒有使用同一種計(jì)算開銷的方式來指定OSPF的開銷,那么OSPF協(xié)議將不能正確的進(jìn)行路由選擇。

使用108作為接口的參考帶寬在現(xiàn)代一些帶寬高于100Mb/s的網(wǎng)絡(luò)介質(zhì)中會(huì)產(chǎn)生一個(gè)問題。108/110Mb/s=1,這就意味著更高帶寬的傳輸介質(zhì)在OSPF協(xié)議中將會(huì)計(jì)算出一個(gè)小于1的數(shù),這在OSPF協(xié)議中是不允許的。因此,從IOS 11.2版開始,Cisco可以在OSPF進(jìn)程模式下使用命令auto-costreference-bandwidth修正這個(gè)問題,這個(gè)命令允許管理者更改默認(rèn)的參考帶寬。

接口類型開銷(108/BW)

Fast Ethernet1

Ethernet10

56K1785

OSPF鄰接關(guān)系的建立

OSPF的數(shù)據(jù)包類型

OSPF信息不使用TCP或UDP,它承載在IP數(shù)據(jù)包內(nèi),使用協(xié)議號(hào)89(十進(jìn)制)。

OSPF路由協(xié)議依靠五種不同類型的包來標(biāo)識(shí)它們的鄰居以及更新鏈路狀態(tài)信息。這五種類型的包使得OSPF具備了高級(jí)和復(fù)雜的通信能力,如下表所示列出了OSPF常用的包類型。

OSPF的包類型描述

Hello包 用于發(fā)現(xiàn)和維持鄰居關(guān)系,選舉DR和BDR

數(shù)據(jù)庫描述包(DBD) 用于向鄰居發(fā)送摘要信息以同步鏈路狀態(tài)數(shù)據(jù)庫

鏈路狀態(tài)請求包(LSR) 在路由器收到包含新信息的DBD后發(fā)送,用于請求更詳細(xì)的信息

鏈路狀態(tài)更新包(LSU) 收到LSR后發(fā)送鏈路狀態(tài)通告(LSA),一個(gè)LSU數(shù)據(jù)包可能包含幾個(gè)LSA

鏈路狀態(tài)確認(rèn)包(LSAck) 確認(rèn)已經(jīng)收到LSU,每個(gè)LSA需要被分別確認(rèn)

OSPF 6 類 LSA 類型

1 類 LSA(Router Link):每臺(tái)路由都只產(chǎn)生一條 1 類 LSA,只在區(qū)域內(nèi)傳遞;

2 類 LSA(Router Link):只在有 DR/BDR 選舉的多路訪問網(wǎng)絡(luò)中產(chǎn)生,點(diǎn)到點(diǎn)或幀中繼等沒 有 DR/BDR 選舉的網(wǎng)絡(luò)不產(chǎn)生 2 類;

3 類 LSA(Router Link):將區(qū)域內(nèi)的 LSA 匯總和簡化,并發(fā)往另一個(gè)區(qū)域,由 ABR 始發(fā); 4 類 LSA(Router Link) :外部路由重分布進(jìn)來后,由于 LSA 的 Router-id 還是 ASBR 的,這 個(gè)時(shí)候就需要由 ABR 告知非 ASBR 區(qū)域的路由器一條 LSA,怎樣到達(dá) ASBR 的 Router-id,由 ABR 始發(fā);

5 類 LSA(Router Link):從外部路由重分布進(jìn) OSPF,攜帶了 ASBR 的 Router-id,會(huì)在所有 ospf 區(qū)域中傳遞,任何路由器都不能更改它的 router-id,由 ASBR 始發(fā);

7 類 LSA(Router Link):NSSA 區(qū)域允許有 ASBR 存在,在把外部路由重分布進(jìn) NSSA 區(qū)域后,將產(chǎn)生 7 類 LSA,7 類只會(huì)在 NSSA 區(qū)域中傳遞,當(dāng)要傳遞到其他區(qū)域時(shí),ABR 將把 7 類 LSA 轉(zhuǎn)換成 5 類 LSA

OSPF鄰接關(guān)系的建立

當(dāng)兩臺(tái)或多臺(tái)路由器同時(shí)啟動(dòng)運(yùn)行OSPF路由協(xié)議時(shí)將開始建立鄰接關(guān)系的過程,此過程將經(jīng)歷七種狀態(tài):

失效(Down)狀態(tài)

這是OSPF建立交互關(guān)系的初始化狀態(tài),路由器沒有與任何鄰居交換信息。

初始(Init)狀態(tài)

路由器的各個(gè)接口通過224.0.0.5發(fā)送Hello報(bào)文,這里以R1發(fā)送Hello報(bào)文為例。當(dāng)鄰居路由器R2收到第一個(gè)Hello報(bào)文,這時(shí)就進(jìn)入Init狀態(tài)。在該狀態(tài)時(shí),路由器R2已經(jīng)接收到Hello報(bào)文,但自身的ID并沒有出現(xiàn)在該Hello報(bào)文內(nèi)。

雙向(2-Way)狀態(tài)

路由器R2向路由器R1發(fā)送一個(gè)Hello回應(yīng)報(bào)文,該Hello回應(yīng)報(bào)文含有路由器R1的ID。當(dāng)路由器R1收到該Hello回應(yīng)報(bào)文,發(fā)現(xiàn)含有自身的ID,這是就進(jìn)入2-Way狀態(tài),雙向通信已經(jīng)建立。DR和BDR的選舉正是在這個(gè)狀態(tài)完成的。

準(zhǔn)啟動(dòng)(ExStart)狀態(tài)

在選舉出DR和BDR之后,路由器就被認(rèn)為是處于ExStart狀態(tài)。在該狀態(tài)中,DR和BDR與網(wǎng)路中其他各路由器建立鄰接關(guān)系。在這個(gè)過程中,兩個(gè)鄰接路由器之間建立起一個(gè)主/從(Master/Slave)關(guān)系,路由器ID大的作為主路由器,用來發(fā)起通信。

交換(Exchange)狀態(tài)

主/從路由器之間交換一個(gè)或多個(gè)數(shù)據(jù)庫描述包(DBD),路由器進(jìn)入Exchange狀態(tài)。DBD包含的是鏈路狀態(tài)數(shù)據(jù)庫中的LSA條目的摘要信息,主/從路由器之間交換DBD時(shí)要確保雙方都接收到。

加載(Loading)狀態(tài)

如果收到的DBD有更新的LSA條目的摘要信息,路由器將向?qū)Ψ桨l(fā)送鏈路狀態(tài)請求包(LSR)請求更詳細(xì)的信息,對方路由器用鏈路狀態(tài)更新(LSU)回應(yīng)該LSR,此過程稱為Loading狀態(tài)。鏈路狀態(tài)更新包(LSU)需要對方確認(rèn)收到。

完全鄰接(Full)狀態(tài)

當(dāng)路由器之間完成了數(shù)據(jù)庫同步,它們的鏈路狀態(tài)數(shù)據(jù)庫已經(jīng)完全一致,此時(shí)就達(dá)到了Full狀態(tài)。

到此,路由器中的鏈路狀態(tài)數(shù)據(jù)庫已經(jīng)完全一致了,路由器可以根據(jù)這個(gè)一致的鏈路狀態(tài)數(shù)據(jù)庫通過最短路徑優(yōu)先算法(SPF)來計(jì)算到目的網(wǎng)絡(luò)的最佳路徑并形成路由表。

OSPF的網(wǎng)絡(luò)類型

根據(jù)路由器所連接的物理網(wǎng)絡(luò)不同,OSPF將網(wǎng)絡(luò)劃分為以下四種類型:

點(diǎn)到點(diǎn)網(wǎng)絡(luò)(Point-to-Point)

點(diǎn)到點(diǎn)網(wǎng)絡(luò)連接單獨(dú)的一對路由器。在點(diǎn)到點(diǎn)網(wǎng)絡(luò)上的有效鄰居總是可以形成鄰接關(guān)系,不需要DR和BDR。在這些網(wǎng)絡(luò)上的OSPF報(bào)文的目的地址也總是224.0.0.5。(s接口)

點(diǎn)到點(diǎn)網(wǎng)絡(luò)一般采用PPP協(xié)議、HDLC協(xié)議等。

廣播多路訪問網(wǎng)絡(luò)(BMA)

廣播多路訪問網(wǎng)絡(luò),像以太網(wǎng)和光纖分布式數(shù)字網(wǎng)(FDDI)等,它們可以連接多于兩臺(tái)的設(shè)備。而且由于它們是廣播型的,因而連接在這種網(wǎng)絡(luò)上的所有設(shè)備都可以接收到傳送的報(bào)文。在廣播型網(wǎng)絡(luò)上的OSPF路由器會(huì)選擇DR和BDR。OSPF報(bào)文采用組播方式發(fā)送。(單播)

非廣播多路訪問網(wǎng)絡(luò)(NBMA)

NBMA網(wǎng)絡(luò),像X.25和幀中繼等,可以連接兩臺(tái)以上的路由器,但是它們沒有廣播數(shù)據(jù)包的能力。在NBMA網(wǎng)絡(luò)上的OSPF路由器需要手工配置鄰居,選舉DR和BDR,并且所有的OSPF報(bào)文都是單播的。(組播)

點(diǎn)到多點(diǎn)網(wǎng)絡(luò)(Point-to-MultiPoint)

點(diǎn)到多點(diǎn)網(wǎng)絡(luò)是NBMA網(wǎng)絡(luò)的一個(gè)特殊配置,可以被看作是一群點(diǎn)到點(diǎn)鏈路的集合。在這些網(wǎng)絡(luò)上的OSPF路由器不需要選舉DR和BDR,OSPF報(bào)文時(shí)組播的。

名詞解釋

HDLC(High Level Data Link Control,高級(jí)數(shù)據(jù)鏈路控制):是常用的數(shù)據(jù)鏈路層協(xié)議之一。許多常用的數(shù)據(jù)鏈路層協(xié)議的封裝方式都是基于HDLC的封裝格式。HDLC是ISO組織制定的一個(gè)標(biāo)準(zhǔn)化規(guī)程,它適用于點(diǎn)到點(diǎn)和點(diǎn)到多點(diǎn)的數(shù)據(jù)鏈路。由于各個(gè)廠家對DHLC標(biāo)準(zhǔn)的實(shí)現(xiàn)不盡相同,所以一般不同廠家設(shè)備之間互連不能采用HDLC協(xié)議進(jìn)行封裝。Cisco路由器串口使用的默認(rèn)協(xié)議時(shí)HDLC。

PPP(Point to Point Protocol,點(diǎn)對點(diǎn)協(xié)議):是應(yīng)用最廣泛的廣域網(wǎng)連接時(shí)使用的數(shù)據(jù)鏈路層協(xié)議。它支持多種網(wǎng)絡(luò)層協(xié)議,并且支持用戶認(rèn)證。

OSPF的應(yīng)用環(huán)境

使用OSPF的原因

OSPF與RIP相比雖然有點(diǎn)很明顯,但是一般情況下,并不是所有的網(wǎng)絡(luò)都需要都需要使用OSPF,一些簡單的,路由器配置較低的環(huán)境,仍然需要使用靜態(tài)路由。當(dāng)考慮以下幾個(gè)方面的因素時(shí),一般需要使用OSPF來搭建:

1)網(wǎng)絡(luò)的規(guī)模

當(dāng)網(wǎng)絡(luò)中的路由器在十臺(tái)以上或大中型規(guī)模的網(wǎng)絡(luò)。

2)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)

網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)為網(wǎng)狀,并且任意兩臺(tái)路由器之間都有互通的需求。

3)其他特殊的需求

要求路由器變化時(shí)能夠快速收斂,路由協(xié)議自身的網(wǎng)絡(luò)開銷盡量降低。

4)路由器自身的要求

運(yùn)行OSPF協(xié)議時(shí)對路由器CPU的處理能力及內(nèi)存的大小都有一定的要求,性能很低的路由器不推薦使用OSPF協(xié)議。

OSPF的特點(diǎn)

OSPF主要具有以下幾個(gè)特點(diǎn):

可適應(yīng)大規(guī)模網(wǎng)絡(luò)

路由變化收斂速度快

無路由環(huán)路

支持可變長子網(wǎng)掩碼VLSM

支持區(qū)域劃分

支持以組播地址發(fā)送協(xié)議報(bào)文

OSPF與RIP的比較

從網(wǎng)絡(luò)結(jié)構(gòu)看

RIP的拓?fù)浜唵?,適用于中小型網(wǎng)絡(luò),沒有區(qū)域、邊界等概念。最大跳數(shù)為15跳,路由是依靠下一跳的個(gè)數(shù)來描述,無法體現(xiàn)帶寬與網(wǎng)絡(luò)延遲。

OSPF適用于較大規(guī)模的網(wǎng)絡(luò)。它把自治系統(tǒng)(AS)分成若干個(gè)區(qū)域,通過對系統(tǒng)內(nèi)部路由的不同處理,對區(qū)域內(nèi)和區(qū)域間路由的不同處理,減少網(wǎng)絡(luò)數(shù)據(jù)量的傳輸。OSPF對應(yīng)RIP的“跳數(shù)”,引入了“開銷(Cost)”的概念。OSPF還把其他路由協(xié)議或者靜態(tài)路由作為AS的外部路由引入,處理能力相當(dāng)強(qiáng)。

RIP的原始版本不支持變長子網(wǎng)掩碼VLSM(RIP v2支持),OSPF支持可變長子網(wǎng)掩碼(VLSM)。

協(xié)議運(yùn)行有差別

運(yùn)行RIP時(shí),首先向鄰居發(fā)送請求報(bào)文,其他運(yùn)行RIP的路由器收到請求報(bào)文后,馬上把自己的路由表發(fā)送過去;在沒收到請求報(bào)文時(shí),定期(30s)廣播自己的路由表。

運(yùn)行OSPF時(shí),用Hello報(bào)文同鄰居建立連接,然后迅速建立鄰接關(guān)系,只在建立了鄰接關(guān)系的路由器中發(fā)送路由信息;以后靠定期發(fā)送Hello報(bào)文來維持連接,相對RIP的路由表報(bào)文來說這個(gè)Hello報(bào)文要小得多,網(wǎng)絡(luò)擁塞也就少了。Hello報(bào)文在廣播網(wǎng)上一般每10s發(fā)送一次,若在一定時(shí)間內(nèi)(4倍于Hello間隔)沒有收到Hello報(bào)文,便認(rèn)為對方已經(jīng)死掉,從路由表中去掉,但在鏈路狀態(tài)數(shù)據(jù)庫中并沒有真正的去掉,以備它在啟用時(shí)減少數(shù)據(jù)傳輸量。但在它達(dá)到3600s(60分鐘)時(shí)便真正去掉它。OSPF的LSA也會(huì)重發(fā),重發(fā)間隔為1800s(30分鐘)。

使用情況不同

一般來說,OSPF占用的實(shí)際鏈路帶寬比RIP少,因?yàn)樗穆酚杀硎怯羞x擇的廣播(只在建立鄰接的路由器間),而RIP是鄰居之間的廣播。OSPF使用CPU的時(shí)間比RIP少,因?yàn)镺SPF達(dá)到平衡后的主要工作是發(fā)送Hello報(bào)文,而RIP發(fā)送的是路由表(Hello報(bào)文比路由表小得多)。OSPF使用的內(nèi)存比RIP大,因?yàn)镺SPF有一個(gè)相對大的路由表。OSPF使用了鄰接關(guān)系,其收斂速度快。

歸納兩者的比較情況,如下表所示:

OSPFRIP v1RIP v2

鏈路狀態(tài)路由協(xié)議距離矢量路由協(xié)議

沒有跳數(shù)的限制RIP的15跳限制,超過15跳的路由被認(rèn)為不可達(dá)

支持可變長子網(wǎng)掩碼(VLSM)不支持可變長子網(wǎng)支持可變長子網(wǎng)掩掩碼(VLSM)碼(VLSM)

收斂速度快收斂速度慢使用組播發(fā)送鏈路狀態(tài)更新,周期性廣播整個(gè)路由表,在低速鏈路及廣

在鏈路狀態(tài)變化時(shí)使用觸發(fā)更新,域網(wǎng)中應(yīng)用將產(chǎn)生很大問題提供了帶寬的利用率

到此這篇關(guān)于OSPF路由協(xié)議詳解的文章就介紹到這了,更多相關(guān)OSPF路由協(xié)議內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

文章轉(zhuǎn)自腳本之家,原文鏈接:https://www.jb51.net/article/190744.htm

申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
ospf路由協(xié)議

相關(guān)文章

熱門排行

信息推薦