域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)
OSPF路由協(xié)議
OSPF的基本概念和工作過(guò)程
開(kāi)放式最短路徑優(yōu)先協(xié)議(OSFP)是基于開(kāi)放標(biāo)準(zhǔn)的鏈路狀態(tài)路由選擇協(xié)議,它完成各路由選擇協(xié)議算法的兩大主要功能:路徑選擇和路徑交換。Internet工程任務(wù)協(xié)會(huì)(IETF)于1988年開(kāi)發(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)營(yíng)商。隨著網(wǎng)絡(luò)的發(fā)展,上述對(duì)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é)議也越來(lái)越多,所以自治系統(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é)議相對(duì)應(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是用來(lái)解決AS內(nèi)部通信的,而EGP是解決AS間通信的。
OSPF是鏈路狀態(tài)路由協(xié)議
鏈路狀態(tài)路由協(xié)議通過(guò)與鄰居路由器建立鄰接關(guān)系,互相傳遞鏈路狀態(tài)信息,來(lá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ò)與鄰居路由器建立鄰接關(guān)系,互相“交流”鏈路信息,學(xué)習(xí)整個(gè)區(qū)域內(nèi)鏈路信息,來(lái)“繪制”出整個(gè)區(qū)域內(nèi)的鏈路圖。在一個(gè)區(qū)域內(nèi)的所有路由器都保存著完全相同的鏈路狀態(tài)數(shù)據(jù)庫(kù)。
名詞解釋:
鄰居路由器: 位于同一條物理鏈路或物理網(wǎng)段上的路由器。
鏈路狀態(tài)數(shù)據(jù)庫(kù): 也稱為拓?fù)鋽?shù)據(jù)庫(kù),它包含所有路由器、路由器的鏈路以及這些鏈路的狀態(tài),還包含所有網(wǎng)路以及到這些網(wǎng)絡(luò)的所有路徑。
鄰接關(guān)系: 當(dāng)兩臺(tái)運(yùn)行OSPF協(xié)議的鄰居路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)達(dá)到一致(同步)時(shí),它們就是完全鄰接的。
OSPF的工作過(guò)程
運(yùn)行RIP的路由器只需要保存一張路由器,而使用OSPF路由協(xié)議的路由器需要保存三張表。
鄰居表: 列出每臺(tái)路由器已經(jīng)建立鄰接關(guān)系的全部鄰居路由器。
鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB): 列出網(wǎng)絡(luò)中其他路由器的信息,由此顯示了全網(wǎng)的網(wǎng)絡(luò)拓?fù)洹?/p>
路由表: 列出通過(guò)SPF算法計(jì)算出的到達(dá)每個(gè)相連網(wǎng)絡(luò)的最佳路徑。
運(yùn)行OSPF的路由器試圖與鄰居路由器建立鄰接關(guān)系,在鄰居之間互相同步鏈路狀態(tài)數(shù)據(jù)庫(kù)。使用最短路徑算法(OSPF依據(jù)的算法是Dijkstra算法),從鏈路狀態(tài)信息計(jì)算得到一個(gè)以自己為樹(shù)根的“最短路徑樹(shù)”。到最后,每一臺(tái)路由器都將從最短路徑樹(shù)中構(gòu)建出自己的路由表。OSPF的路由器也仍然是依據(jù)路由表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的。
OSPF的基本概念
OSPF區(qū)域
OSPF是一種鏈路狀態(tài)型的路由協(xié)議,不會(huì)產(chǎn)生環(huán)路問(wèn)題,因此不需要使用最大跳數(shù)等限制來(lái)防止環(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ū)域,它用來(lái)連接自治系統(tǒng)內(nèi)部的所有其他區(qū)域。用來(lái)連接骨干區(qū)域和其他區(qū)域的路由器叫做區(qū)域邊界路由器,它了解所連接的兩個(gè)區(qū)域的完整的鏈路狀態(tài)信息,并將鏈路狀態(tài)信息匯總后發(fā)給區(qū)域內(nèi)的其他路由器。這樣,減小了路由器保存的鏈路狀態(tài)數(shù)據(jù)庫(kù)的大小,可以解決路由器內(nèi)存容量有限的問(wèn)題。
區(qū)域是通過(guò)一個(gè)32位的區(qū)域ID(Area ID)來(lái)標(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í)來(lái)標(biāo)記OSPF網(wǎng)絡(luò)中的路由器,這個(gè)標(biāo)識(shí)稱為Router ID。
Router ID是在OSPF區(qū)域內(nèi)唯一標(biāo)識(shí)路由器的IP地址。Cisco路由器通過(guò)下面的方法得到它們的Router ID。
首先,路由器選取它所有Loopback接口上數(shù)值最高的IP地址。
如果路由器沒(méi)有配置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é)議中可以通過(guò)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用來(lái)連接骨干區(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ò)與鄰居路由器建立鄰接關(guān)系,互相傳遞鏈路狀態(tài)信息。如果每?jī)蓚€(gè)路由器之間都要建立鄰接關(guān)系,那么,就會(huì)構(gòu)成n(n-1)/2個(gè)鄰接關(guān)系。每臺(tái)路由器都要與其他所有的鄰居路由器互相傳遞鏈路狀態(tài)信息。
那么這種情況就會(huì)顯得比較混亂,而且也會(huì)浪費(fèi)許多不必要的網(wǎng)絡(luò)資源。
為了避免這些問(wèn)題的發(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è)新的指定路由器來(lái)接替它,這個(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è)八位的無(wú)符號(hào)整數(shù)來(lái)表示,大小范圍是0-255,數(shù)值越大,優(yōu)先級(jí)越高。Cisco路由器上默認(rèn)的優(yōu)先級(jí)是1。接口優(yōu)先級(jí)可以通過(guò)命令ip ospf priority來(lái)更改。如果路由器的優(yōu)先級(jí)被設(shè)置為0,它將不參與DR和BDR的選舉。
優(yōu)先級(jí)越高,贏得選舉的可能性越大。如果優(yōu)先級(jí)相同,則需要比較Router ID。
DB和BDR的選舉過(guò)程
當(dāng)一臺(tái)OSPF路由器啟動(dòng)并發(fā)現(xiàn)它的鄰居路由器時(shí),它將去檢查有效的DB和BDR路由器。
如果DR和BDR路由器存在的話,這臺(tái)路由器將接受已經(jīng)存在的DR和BDR路由器。
如果BDR路由器不存在,將執(zhí)行一個(gè)選舉過(guò)程,選出具有最高優(yōu)先級(jí)的路由器作為BDR路由器。如果存在多個(gè)路由器具有相同的優(yōu)先級(jí),那么Router ID最大的路由器將被選中。
如果沒(méi)有有效的DR路由存在,那么BDR路由器將被提升為DR路由器,然后再執(zhí)行一個(gè)選舉過(guò)程選舉BDR路由器。
這里需要注意的是,路由器的優(yōu)先級(jí)可以影響一個(gè)選舉過(guò)程,但是它不能強(qiáng)制更換已經(jīng)存在的DR或BDR路由器。也就是說(shuō),在已經(jīng)選舉了DR和BDR路由器后,如果一臺(tái)具有更高優(yōu)先級(jí)的路由器接入網(wǎng)絡(luò),這臺(tái)新的路由器并不會(huì)馬上替換DR或BDR路由器中的任何一個(gè)。因此,在一個(gè)廣播多路訪問(wèn)網(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路由器去偵聽(tīng)這個(gè)地址,但BDR只偵聽(tīng)不響應(yīng)。在廣播多路訪問(wèn)網(wǎng)絡(luò)上,鏈路更新信息先發(fā)送到244.0.0.6,再由DR路由器使用組播地址244.0.0.5泛洪更新報(bào)文到其他所有路由器。
OSPF的度量值
OSPF的用來(lái)度量路徑優(yōu)劣的度量值稱為Cost(開(kāi)銷),是指從該接口發(fā)送出去的數(shù)據(jù)包的出站接口開(kāi)銷。鏈路開(kāi)銷使用16位的無(wú)符號(hào)的整數(shù)表示,大小范圍是1-65535。
Cisco公司使用的默認(rèn)代價(jià)是108/BW,表示為一個(gè)整數(shù),在這里BW是指在接口上配置的帶寬,而108是Cisco路由器使用的參考帶寬。
路由器接口的開(kāi)銷值可以通過(guò)命令ip ospf cost來(lái)改變,當(dāng)在一個(gè)有多家廠商產(chǎn)品的網(wǎng)絡(luò)環(huán)境中配置Cisco的路由器時(shí),這個(gè)命令變得十分重要。例如:有些廠商的路由器在其所有的接口上使用的默認(rèn)開(kāi)銷值是1。如果網(wǎng)絡(luò)中所有的路由器沒(méi)有使用同一種計(jì)算開(kāi)銷的方式來(lái)指定OSPF的開(kāi)銷,那么OSPF協(xié)議將不能正確的進(jìn)行路由選擇。
使用108作為接口的參考帶寬在現(xiàn)代一些帶寬高于100Mb/s的網(wǎng)絡(luò)介質(zhì)中會(huì)產(chǎn)生一個(gè)問(wèn)題。108/110Mb/s=1,這就意味著更高帶寬的傳輸介質(zhì)在OSPF協(xié)議中將會(huì)計(jì)算出一個(gè)小于1的數(shù),這在OSPF協(xié)議中是不允許的。因此,從IOS 11.2版開(kāi)始,Cisco可以在OSPF進(jìn)程模式下使用命令auto-costreference-bandwidth修正這個(gè)問(wèn)題,這個(gè)命令允許管理者更改默認(rèn)的參考帶寬。
接口類型開(kāi)銷(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é)議依靠五種不同類型的包來(lái)標(biāo)識(shí)它們的鄰居以及更新鏈路狀態(tài)信息。這五種類型的包使得OSPF具備了高級(jí)和復(fù)雜的通信能力,如下表所示列出了OSPF常用的包類型。
OSPF的包類型描述
Hello包 用于發(fā)現(xiàn)和維持鄰居關(guān)系,選舉DR和BDR
數(shù)據(jù)庫(kù)描述包(DBD) 用于向鄰居發(fā)送摘要信息以同步鏈路狀態(tài)數(shù)據(jù)庫(kù)
鏈路狀態(tài)請(qǐng)求包(LSR) 在路由器收到包含新信息的DBD后發(fā)送,用于請(qǐng)求更詳細(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èn)網(wǎng)絡(luò)中產(chǎn)生,點(diǎn)到點(diǎn)或幀中繼等沒(méi) 有 DR/BDR 選舉的網(wǎng)絡(luò)不產(chǎn)生 2 類;
3 類 LSA(Router Link):將區(qū)域內(nèi)的 LSA 匯總和簡(jiǎn)化,并發(fā)往另一個(gè)區(qū)域,由 ABR 始發(fā); 4 類 LSA(Router Link) :外部路由重分布進(jìn)來(lái)后,由于 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í)將開(kāi)始建立鄰接關(guān)系的過(guò)程,此過(guò)程將經(jīng)歷七種狀態(tài):
失效(Down)狀態(tài)
這是OSPF建立交互關(guān)系的初始化狀態(tài),路由器沒(méi)有與任何鄰居交換信息。
初始(Init)狀態(tài)
路由器的各個(gè)接口通過(guò)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并沒(méi)有出現(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è)過(guò)程中,兩個(gè)鄰接路由器之間建立起一個(gè)主/從(Master/Slave)關(guān)系,路由器ID大的作為主路由器,用來(lái)發(fā)起通信。
交換(Exchange)狀態(tài)
主/從路由器之間交換一個(gè)或多個(gè)數(shù)據(jù)庫(kù)描述包(DBD),路由器進(jìn)入Exchange狀態(tài)。DBD包含的是鏈路狀態(tài)數(shù)據(jù)庫(kù)中的LSA條目的摘要信息,主/從路由器之間交換DBD時(shí)要確保雙方都接收到。
加載(Loading)狀態(tài)
如果收到的DBD有更新的LSA條目的摘要信息,路由器將向?qū)Ψ桨l(fā)送鏈路狀態(tài)請(qǐng)求包(LSR)請(qǐng)求更詳細(xì)的信息,對(duì)方路由器用鏈路狀態(tài)更新(LSU)回應(yīng)該LSR,此過(guò)程稱為L(zhǎng)oading狀態(tài)。鏈路狀態(tài)更新包(LSU)需要對(duì)方確認(rèn)收到。
完全鄰接(Full)狀態(tài)
當(dāng)路由器之間完成了數(shù)據(jù)庫(kù)同步,它們的鏈路狀態(tài)數(shù)據(jù)庫(kù)已經(jīng)完全一致,此時(shí)就達(dá)到了Full狀態(tài)。
到此,路由器中的鏈路狀態(tài)數(shù)據(jù)庫(kù)已經(jīng)完全一致了,路由器可以根據(jù)這個(gè)一致的鏈路狀態(tài)數(shù)據(jù)庫(kù)通過(guò)最短路徑優(yōu)先算法(SPF)來(lái)計(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ú)的一對(duì)路由器。在點(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èn)網(wǎng)絡(luò)(BMA)
廣播多路訪問(wèn)網(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èn)網(wǎng)絡(luò)(NBMA)
NBMA網(wǎng)絡(luò),像X.25和幀中繼等,可以連接兩臺(tái)以上的路由器,但是它們沒(mé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è)廠家對(duì)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)對(duì)點(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,一些簡(jiǎn)單的,路由器配置較低的環(huán)境,仍然需要使用靜態(tài)路由。當(dāng)考慮以下幾個(gè)方面的因素時(shí),一般需要使用OSPF來(lái)搭建:
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ò)開(kāi)銷盡量降低。
4)路由器自身的要求
運(yùn)行OSPF協(xié)議時(shí)對(duì)路由器CPU的處理能力及內(nèi)存的大小都有一定的要求,性能很低的路由器不推薦使用OSPF協(xié)議。
OSPF的特點(diǎn)
OSPF主要具有以下幾個(gè)特點(diǎn):
可適應(yīng)大規(guī)模網(wǎng)絡(luò)
路由變化收斂速度快
無(wú)路由環(huán)路
支持可變長(zhǎng)子網(wǎng)掩碼VLSM
支持區(qū)域劃分
支持以組播地址發(fā)送協(xié)議報(bào)文
OSPF與RIP的比較
從網(wǎng)絡(luò)結(jié)構(gòu)看
RIP的拓?fù)浜?jiǎn)單,適用于中小型網(wǎng)絡(luò),沒(méi)有區(qū)域、邊界等概念。最大跳數(shù)為15跳,路由是依靠下一跳的個(gè)數(shù)來(lái)描述,無(wú)法體現(xiàn)帶寬與網(wǎng)絡(luò)延遲。
OSPF適用于較大規(guī)模的網(wǎng)絡(luò)。它把自治系統(tǒng)(AS)分成若干個(gè)區(qū)域,通過(guò)對(duì)系統(tǒng)內(nèi)部路由的不同處理,對(duì)區(qū)域內(nèi)和區(qū)域間路由的不同處理,減少網(wǎng)絡(luò)數(shù)據(jù)量的傳輸。OSPF對(duì)應(yīng)RIP的“跳數(shù)”,引入了“開(kāi)銷(Cost)”的概念。OSPF還把其他路由協(xié)議或者靜態(tài)路由作為AS的外部路由引入,處理能力相當(dāng)強(qiáng)。
RIP的原始版本不支持變長(zhǎng)子網(wǎng)掩碼VLSM(RIP v2支持),OSPF支持可變長(zhǎng)子網(wǎng)掩碼(VLSM)。
協(xié)議運(yùn)行有差別
運(yùn)行RIP時(shí),首先向鄰居發(fā)送請(qǐng)求報(bào)文,其他運(yùn)行RIP的路由器收到請(qǐng)求報(bào)文后,馬上把自己的路由表發(fā)送過(guò)去;在沒(méi)收到請(qǐng)求報(bào)文時(shí),定期(30s)廣播自己的路由表。
運(yùn)行OSPF時(shí),用Hello報(bào)文同鄰居建立連接,然后迅速建立鄰接關(guān)系,只在建立了鄰接關(guān)系的路由器中發(fā)送路由信息;以后靠定期發(fā)送Hello報(bào)文來(lái)維持連接,相對(duì)RIP的路由表報(bào)文來(lái)說(shuō)這個(gè)Hello報(bào)文要小得多,網(wǎng)絡(luò)擁塞也就少了。Hello報(bào)文在廣播網(wǎng)上一般每10s發(fā)送一次,若在一定時(shí)間內(nèi)(4倍于Hello間隔)沒(méi)有收到Hello報(bào)文,便認(rèn)為對(duì)方已經(jīng)死掉,從路由表中去掉,但在鏈路狀態(tài)數(shù)據(jù)庫(kù)中并沒(méi)有真正的去掉,以備它在啟用時(shí)減少數(shù)據(jù)傳輸量。但在它達(dá)到3600s(60分鐘)時(shí)便真正去掉它。OSPF的LSA也會(huì)重發(fā),重發(fā)間隔為1800s(30分鐘)。
使用情況不同
一般來(lái)說(shuō),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è)相對(duì)大的路由表。OSPF使用了鄰接關(guān)系,其收斂速度快。
歸納兩者的比較情況,如下表所示:
OSPFRIP v1RIP v2
鏈路狀態(tài)路由協(xié)議距離矢量路由協(xié)議
沒(méi)有跳數(shù)的限制RIP的15跳限制,超過(guò)15跳的路由被認(rèn)為不可達(dá)
支持可變長(zhǎng)子網(wǎng)掩碼(VLSM)不支持可變長(zhǎng)子網(wǎng)支持可變長(zhǎng)子網(wǎng)掩掩碼(VLSM)碼(VLSM)
收斂速度快收斂速度慢使用組播發(fā)送鏈路狀態(tài)更新,周期性廣播整個(gè)路由表,在低速鏈路及廣
在鏈路狀態(tài)變化時(shí)使用觸發(fā)更新,域網(wǎng)中應(yīng)用將產(chǎn)生很大問(wèn)題提供了帶寬的利用率
到此這篇關(guān)于OSPF路由協(xié)議詳解的文章就介紹到這了,更多相關(guān)OSPF路由協(xié)議內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
文章轉(zhuǎn)自腳本之家,原文鏈接:https://www.jb51.net/article/190744.htm
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!