成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

圖解 OSPF 名詞之最常用的動(dòng)態(tài)路由協(xié)議

網(wǎng)絡(luò) 通信技術(shù)
OSPF 的專用名詞也比較多,這次索性把常見(jiàn)的名詞整理出來(lái),以供大家(也包括我自己)學(xué)習(xí)和參考。按照慣例,先來(lái)一張全景圖,一眼就能看完文章的主要內(nèi)容,方便閱讀和查找。

大家好,我是小弗。上篇《圖解 OSPF 》,只是描述了協(xié)議的完整過(guò)程,并解釋了文中出現(xiàn)的專用名詞,看完能對(duì) OSPF 有一個(gè)全流程的了解。OSPF 的專用名詞也比較多,這次索性把常見(jiàn)的名詞整理出來(lái),以供大家(也包括我自己)學(xué)習(xí)和參考。按照慣例,先來(lái)一張全景圖,一眼就能看完文章的主要內(nèi)容,方便閱讀和查找。

Router-ID

Router-ID 用于標(biāo)識(shí) OSPF 路由器,是一個(gè) 32 位的數(shù)值,跟 IPv4 地址格式一樣,比如:192.168.100.1 。連續(xù)的 OSPF 路由器組成的網(wǎng)絡(luò)叫做 OSPF 域,域內(nèi) Router-ID 必須唯一,也就是在同一個(gè)域內(nèi)不允許出現(xiàn)兩臺(tái)相同 Router-ID 的路由器。Router-ID 可以手動(dòng)設(shè)置,也可以自動(dòng)生成,常見(jiàn)的做法是把設(shè)備的 Router-ID 指定為設(shè)備的 Loopback 接口的 IP 地址。

Loopback 接口

Loopback 接口也就是本地回環(huán)接口,是一種軟件的、邏輯的接口,不只網(wǎng)絡(luò)設(shè)備支持 Loopback 接口,Windows 主機(jī)或 Linux 主機(jī)也支持。根據(jù)業(yè)務(wù)需求,在網(wǎng)絡(luò)設(shè)備上創(chuàng)建 Loopback 接口,并配置 IP 地址。Loopback 接口非常穩(wěn)定,除非手動(dòng)進(jìn)行關(guān)閉或刪除,否則是永遠(yuǎn)不會(huì)失效的。正因如此,Loopback 接口常用于設(shè)備網(wǎng)管、網(wǎng)絡(luò)測(cè)試、網(wǎng)絡(luò)協(xié)議應(yīng)用等。

OSPF 三張表

OSPF 使用三種表格確保能正常運(yùn)行。

鄰居表( Peer Table )

在 OSPF 交互 LSA 之前,兩臺(tái)直連路由器需要建立 OSPF 鄰居關(guān)系。當(dāng)一個(gè)接口激活 OSPF 后,就會(huì)周期性的發(fā)送 OSPF Hello 報(bào)文,同時(shí)偵聽(tīng) Hello 報(bào)文從而發(fā)現(xiàn)直連鏈路上的鄰居。在接口上發(fā)現(xiàn)鄰居后,鄰居的信息會(huì)寫入路由器的 OSPF 鄰居表,隨后一個(gè)鄰接關(guān)系的建立過(guò)程也開(kāi)始了。

鏈路狀態(tài)數(shù)據(jù)庫(kù)( Link-State Database ,LSDB )

OSPF 路由器在網(wǎng)絡(luò)中泛洪的鏈路狀態(tài)信息,叫做 LSA( Link-State Advertisement ,鏈路狀態(tài)通告)。路由器搜集 LSA 并添加到自己的 LSDB 中,路由器通過(guò) LSDB 獲取網(wǎng)絡(luò)的完整信息。OSPF 定義了多種類型的 LSA ,這些 LSA 各有用途,最終目的是讓路由器知道網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以及網(wǎng)段信息,并計(jì)算出最短路徑樹(shù),從而發(fā)現(xiàn)到達(dá)全網(wǎng)各個(gè)網(wǎng)段的路由。

OSPF 路由表( Routing Table )

OSPF 根據(jù) LSDB 中的數(shù)據(jù),運(yùn)行 SPF 算法,得到一棵以自己為根、無(wú)環(huán)的最短路徑樹(shù),基于這棵樹(shù),OSPF 能夠發(fā)現(xiàn)到達(dá)網(wǎng)絡(luò)中各個(gè)網(wǎng)段的最佳路徑,從而得到路由信息,并添加到 OSPF 路由表中。當(dāng)然,這些 OSPF 路由表中的路由最終是否被添加到全局路由器,還需要經(jīng)過(guò)比較路由優(yōu)先級(jí)等過(guò)程。

度量值

每種路由協(xié)議對(duì)度量值的定義是不同的,OSPF 使用 Cost(開(kāi)銷)作為路由度量值,Cost 值越小,則路徑(路由)越優(yōu)。每一個(gè)激活 OSPF 的接口都有一個(gè)接口的 Cost 值,值等于 100/接口帶寬 Mbit/s,計(jì)算結(jié)果取整數(shù)部分,當(dāng)結(jié)果小于 1 時(shí),值取 1 。這個(gè)值也可以人為修改,修改值會(huì)直接影響 Cost 值的計(jì)算,從而影響網(wǎng)絡(luò)中 OSPF 路由的選擇。

報(bào)文類型及格式

OSPF 協(xié)議的報(bào)文直接使用 IP 封裝,在 IP 報(bào)文頭部對(duì)應(yīng)的協(xié)議號(hào)是 89 。通常 OSPF 的協(xié)議報(bào)文使用組播地址作為目的 IP 地址,有兩個(gè)組播 IP 地址是 OSPF 專用。

224.0.0.5:這個(gè)組播 IP 地址是指所有的 OSPF 路由器。

224.0.0.6:這個(gè)組播 IP 地址是指所有的 OSPF DR 路由器。

OSPF 一共定義了五種報(bào)文,各有各的用途。

路由器的接口一旦激活 OSPF ,就會(huì)開(kāi)始發(fā)送 Hello 報(bào)文。Hello 報(bào)文的一個(gè)重要功能就是發(fā)現(xiàn)直連鏈路上的 OSPF 鄰居。發(fā)現(xiàn)鄰居后,就開(kāi)始鄰接關(guān)系的建立。這個(gè)過(guò)程中,DD 報(bào)文用于發(fā)送 LSA 的頭部摘要。通過(guò) DD 報(bào)文的交互,路由器知道了對(duì)方所有的 LSA ,而 LSR 向?qū)Ψ秸?qǐng)求完整的 LSA 。LSU 對(duì) LSR 進(jìn)行回應(yīng),或者主動(dòng)更新 LSA ,LSU 包含完整的 LSA 數(shù)據(jù)。LSAck 保證 OSPF 更新機(jī)制的可靠性。此外,Hello 報(bào)文負(fù)責(zé) OSPF 鄰居關(guān)系的維護(hù),兩臺(tái)直連路由器形成鄰接關(guān)系后,雙方仍然周期性的發(fā)送 Hello 報(bào)文,告知對(duì)方自己是在線狀態(tài)。

所有 OSPF 報(bào)文是相同的頭部,這個(gè)頭部的長(zhǎng)度是 24 字節(jié)。

  • 版本( Version ):OSPFv2 的值為 2 。
  • 類型( Type ):表示 OSPF 報(bào)文的類型。值與報(bào)文類型對(duì)應(yīng)關(guān)系是:1 - Hello ;2 - DD ;3 - LSR ;4 - LSU ;5 - LSAck 。
  • 報(bào)文長(zhǎng)度( Packet Length ):整個(gè) OSPF 報(bào)文的長(zhǎng)度,單位是字節(jié)。
  • 路由器 ID( Router Identification ):路由器的 OSPF Router-ID 。
  • 區(qū)域 ID( Area Identification ):表示所屬的區(qū)域 ID ,是一個(gè) 4 字節(jié)的數(shù)值。
  • 校驗(yàn)和( Checksum ):用來(lái)校驗(yàn)報(bào)文有效性。
  • 認(rèn)證類型( Authentication Type ):表示報(bào)文使用的認(rèn)證類型。
  • 認(rèn)證數(shù)據(jù)( Authentication Data ):用于報(bào)文認(rèn)證的內(nèi)容。

Hello 報(bào)文

Hello 報(bào)文用于發(fā)現(xiàn)直連鏈路上的鄰居,以及維護(hù)鄰居關(guān)系。Hello 報(bào)文攜帶鄰居關(guān)系建立的各項(xiàng)參數(shù),建立鄰居關(guān)系的過(guò)程中,會(huì)檢查這些參數(shù),只有參數(shù)匹配,才能正確建立鄰居關(guān)系。

  • 網(wǎng)絡(luò)掩碼( Network Mask ):這個(gè)字段表示接口的網(wǎng)絡(luò)掩碼。如果兩臺(tái)路由器是通過(guò)以太網(wǎng)接口連接,那么直連的兩個(gè)接口必須配置相同的網(wǎng)絡(luò)掩碼。如果收到的 Hello 報(bào)文中“網(wǎng)絡(luò)掩碼”字段與自己接口的不同,就忽略這個(gè) Hello 報(bào)文,不會(huì)建立鄰居關(guān)系。
  • Hello 間隔( Hello Interval ):接口周期性發(fā)送 Hello 報(bào)文的時(shí)間間隔,單位是秒。兩臺(tái)路由器要建立鄰居關(guān)系,需要接口的 Hello Interval 相同,否則鄰居關(guān)系無(wú)法建立。默認(rèn)情況下,OSPF 路由器在 P2P 或 Broadcast 類型的接口上,Hello 間隔是 10 秒,在 NBMA 及 P2MP 類型的接口上,Hello 間隔是 30 秒。
  • 選項(xiàng)( Options ):這個(gè)字段一共 8 比特,每個(gè)比特位都表示路由器的某個(gè)特性。路由器通過(guò)設(shè)置相應(yīng)的 Options 比特位來(lái)通告自己支持某種特性或擁有某種能力。
  • 路由器優(yōu)先級(jí)( Router Priority ):路由器優(yōu)先級(jí),也叫做 DR 優(yōu)先級(jí),用于 DR 和 BDR 的選舉。默認(rèn)情況下,OSPF 接口的 DR 優(yōu)先級(jí)是 1 ,這個(gè)值也可以通過(guò)命令進(jìn)行修改。
  • 路由器失效時(shí)間( Router Dead Interval ):路由器等待對(duì)方發(fā)送 Hello 報(bào)文的時(shí)間,超過(guò)這個(gè)時(shí)間就認(rèn)為是路由器已離線。路由器建立鄰居關(guān)系,也需要雙方接口的 Router Dead Interval 相同。默認(rèn)情況下,Router Dead Interval 是 Hello Interval 的 4 倍。
  • 指定路由器( Designated Router ):網(wǎng)絡(luò)中 DR 的接口 IP 地址。如果值為 0.0.0.0 ,表示沒(méi)有 DR ,或 DR 還未選舉出來(lái)。
  • 備份指定路由器( Backup Designated Router ):網(wǎng)絡(luò)中 BDR 的接口 IP 地址。如果值為 0.0.0.0 ,表示沒(méi)有 BDR ,或 BDR 還未選舉出來(lái)。
  • 鄰居( Neighbor ):表示鄰居的 Router-ID ,是在直連鏈路上發(fā)現(xiàn)的有效鄰居,如果發(fā)現(xiàn)多個(gè)鄰居,就包含多個(gè)鄰居字段。

DD 報(bào)文

DD 報(bào)文用于描述 LSDB ,這個(gè)報(bào)文攜帶的是 LSDB 中 LSA 的頭部數(shù)據(jù),并非完整的 LSA 內(nèi)容。互為鄰居的路由器使用空的 DD 報(bào)文來(lái)協(xié)商主/從( Master/Slave ),空的 DD 報(bào)文不包含任何 LSA 頭部信息。Router-ID 更大的路由器成為 Master 路由器。

Master/Slave 確定后,雙方開(kāi)始使用 DD 報(bào)文描述各自的 LSDB ,這時(shí)的 DD 報(bào)文包含 LSDB 里的 LSA 頭部信息。路由器可以使用多個(gè) DD 報(bào)文來(lái)描述 LSDB ,為了確保 DD 報(bào)文傳輸?shù)挠行蚝涂煽浚琈aster 路由器使用 “ DD Sequence Number( DD 序列號(hào))” 字段主導(dǎo)整個(gè) LSDB 交互過(guò)程。比如:Master 路由器發(fā)送一個(gè) DD 序列號(hào)是 100 的 DD 報(bào)文給 Slave 路由器,Slave 收到這個(gè)報(bào)文后,才發(fā)送自己的 DD 報(bào)文,而 DD 序列號(hào)也使用 100 。Master 路由器發(fā)送下一個(gè) DD 報(bào)文( DD 序列號(hào)是 101 ),Slave 路由器才會(huì)發(fā)送 DD 報(bào)文。這個(gè)過(guò)程一直持續(xù),直到 LSDB 同步完成。

接口最大傳輸單元( Interface Maximum Transmission Unit ):接口的 MTU 。默認(rèn)情況下,接口發(fā)送的 DD 報(bào)文中,無(wú)論接口實(shí)際的 MTU 值是多少,值都為 0 。

  • 選項(xiàng)( Options ):路由器支持的 OSPF 可選項(xiàng)。
  • I 位( Initial Bit ):初始化位,協(xié)商 Master/Slave 路由器時(shí),值為 1 ,Master/Slave 選舉完成后,值為 0 。
  • M 位( More Bit ):如果值為 1 ,表示后續(xù)還有 DD 報(bào)文;如果值為 0 ,表示這是最后一個(gè) DD 報(bào)文。
  • MS 位( Master Bit ):Master 路由器發(fā)送的 DD 報(bào)文中,值為 1 ,Slave 路由器則值為 0 。
  • DD 序列號(hào)( DD Sequence Number ):DD 報(bào)文的序列號(hào),在 DD 報(bào) 文交互過(guò)程中,逐次加 1 ,確保傳輸?shù)挠行蚝涂煽俊D 序列號(hào)必須由 Master 路由器決定,而 Slave 路由器只能使用 Master 路由器發(fā)送的 DD 序列號(hào)來(lái)發(fā)送自己的 DD 報(bào)文。
  • LSA 頭部( LSA Header ):當(dāng)路由器使用 DD 報(bào)文描述自己的 LSDB 時(shí),LSA 頭部信息就在這里。一個(gè) DD 報(bào)文可能包含一條或多條 LSA 頭部信息。

LSR 報(bào)文

在與 OSPF 鄰居交換 DD 報(bào)文后,路由器就知道了鄰居的 LSDB 摘要,向鄰居發(fā)送 LSR 報(bào)文請(qǐng)求所需 LSA 的完整數(shù)據(jù)。LSR 報(bào)文的鏈路狀態(tài)類型( Link-State Type )、鏈路狀態(tài) ID( Link-State ID )、通告路由器( Advertising Router )三個(gè)字段表示路由器請(qǐng)求的 LSA 。如果請(qǐng)求多個(gè) LSA ,那么 LSR 可能包含多個(gè)三元組。

  • 鏈路狀態(tài)類型( Link-State Type ):表示 LSA 類型。OSPF 有多種 LSA 類型,每種 LSA 描述 OSPF 網(wǎng)絡(luò)的某個(gè)部分,使用不同的類型編號(hào)。常見(jiàn)的 LSA 類型值和 LSA 名稱是:1 - Router LSA ,2 - Network LSA ,3 - Network Summary LSA ,4 - ASBR Summary LSA ,5 - AS External LSA 。
  • 鏈路狀態(tài)標(biāo)識(shí)( Link-State ID ):LSA 的標(biāo)識(shí)。不同的 LSA 類型,字段的定義不同。
  • 通告路由器( Advertising Router ):生成這條 LSA 的路由器的 Router-ID 。

LSU 報(bào)文

路由器收到鄰居發(fā)送的 LSR 后,會(huì)使用 LSU 報(bào)文進(jìn)行回應(yīng),在 LSU 報(bào)文中包含請(qǐng)求 LSA 的完整信息,一個(gè) LSU 報(bào)文可以包含多個(gè) LSA 。另外,當(dāng)路由器感知到網(wǎng)絡(luò)發(fā)生變化時(shí),也會(huì)觸發(fā) LSU 報(bào)文的泛洪,及時(shí)把網(wǎng)絡(luò)變化通告給其它路由器。在 BMA 網(wǎng)絡(luò)中,非 DR 、BDR 路由器向組播地址 224.0.0.6 發(fā)送 LSU 報(bào)文,而 DR 和 BDR 會(huì)偵聽(tīng)這個(gè)組播地址,DR 在接收 LSU 報(bào)文后向 224.0.0.5 發(fā)送 LSU 報(bào)文,從而將更新信息泛洪到整個(gè) OSPF 區(qū)域,所有的 OSPF 路由器都會(huì)偵聽(tīng) 224.0.0.5 這個(gè)組播地址。

LSAck 報(bào)文

當(dāng)一臺(tái)路由器收到鄰居發(fā)送的 LSU 報(bào)文時(shí),為了確認(rèn) LSA 已經(jīng)送達(dá),需要對(duì)報(bào)文中的 LSA 進(jìn)行確認(rèn),就是回復(fù)一個(gè) LSAck 報(bào)文。LSAck 報(bào)文包含路由器確認(rèn)的 LSA 頭部信息。

鄰接關(guān)系

OSPF 有兩個(gè)概念:鄰居關(guān)系和鄰接關(guān)系。假如兩臺(tái)路由器通過(guò)網(wǎng)線直連,在雙方互聯(lián)的接口上激活 OSPF ,路由器接口開(kāi)始發(fā)送和偵聽(tīng) Hello 報(bào)文,通過(guò) Hello 報(bào)文發(fā)現(xiàn)彼此,并確認(rèn)雙向通信后,就形成了鄰居關(guān)系。

之后,兩臺(tái)路由器會(huì)開(kāi)始交互空的 DD 報(bào)文協(xié)商 Master/Slave ,再交互包含 LSA 頭部信息的 DD 報(bào)文,以便同步自己的 LSDB ,然后通過(guò) LSR 和 LSU 報(bào)文交互雙方的 LSA 。當(dāng)兩者的 LSDB 同步完成后,兩臺(tái)路由器形成對(duì)網(wǎng)絡(luò)拓?fù)涞囊恢抡J(rèn)知,并開(kāi)始獨(dú)立計(jì)算路由。這時(shí),兩臺(tái)路由器形成了鄰接關(guān)系。

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

OSPF 的許多功能或特性都是基于接口實(shí)現(xiàn)的,當(dāng)一個(gè)接口激活 OSPF 后,這個(gè)接口會(huì)維護(hù)很多 OSPF 變量,比如:接入的區(qū)域 ID 、接口 Cost 值、DR 優(yōu)先級(jí)、鄰居列表、認(rèn)證類型等,其中接口的網(wǎng)絡(luò)類型( Network-Type )是非常重要的一個(gè)變量。OSPF 接口的網(wǎng)絡(luò)類型跟接口的數(shù)據(jù)鏈路層封裝有關(guān),在不同網(wǎng)絡(luò)類型的接口上,OSPF 的操作有所不同。

1、點(diǎn)對(duì)點(diǎn)類型( Point-to-Point ,P2P )

P2P 網(wǎng)絡(luò)是在一條鏈路上只能連接兩臺(tái)路由器的環(huán)境。典型的例子就是 PPP 鏈路,當(dāng)兩臺(tái)路由器通過(guò) PPP 鏈路直連時(shí),接口的封裝協(xié)議就是 PPP ,接口激活 OSPF 后,網(wǎng)絡(luò)類型就是 P2P 。OSPF 在 P2P 網(wǎng)絡(luò)類型中,接口以組播方式發(fā)送協(xié)議報(bào)文,組播地址是 224.0.0.5 ,報(bào)文類型包括 Hello 報(bào)文、DD 報(bào)文、LSR 報(bào)文、LSU 報(bào)文和 LSAck 報(bào)文。默認(rèn)情況下,P2P 類型接口的 Hello 報(bào)文發(fā)送間隔是 10 秒。P2P 類型的網(wǎng)絡(luò)中,不會(huì)選舉 DR 和 BDR 。

2、廣播型多路訪問(wèn)類型( Broadcast Multi-Access ,BMA )

BMA 網(wǎng)絡(luò)中可以多臺(tái)路由器接入,任意兩臺(tái)路由器之間都能進(jìn)行二層通信,一臺(tái)路由器發(fā)送出去的廣播數(shù)據(jù),其它所有路由器都能收到,是一個(gè)支持廣播的網(wǎng)絡(luò)環(huán)境。以太網(wǎng)就是典型的 BMA 網(wǎng)絡(luò)。當(dāng)多臺(tái)路由器接入到 BMA 網(wǎng)絡(luò)時(shí),比如多臺(tái)路由器連接在同一臺(tái)二層交換機(jī)上,這些路由器的接口激活 OSPF 就會(huì)開(kāi)始發(fā)送組播的 Hello 報(bào)文,從而發(fā)現(xiàn)網(wǎng)絡(luò)中的其它路由器。BMA 網(wǎng)絡(luò)中,會(huì)選舉 DR 和 BDR ,所有非 DR 、BDR 路由器僅與 DR 和 BDR 建立鄰接關(guān)系。

OSPF 在 BMA 網(wǎng)絡(luò)中,接口以組播方式發(fā)送 Hello 報(bào)文、LSU 報(bào)文以及 LSAck 報(bào)文,單播方式發(fā)送 DD 報(bào)文及 LSR 報(bào)文。當(dāng)路由器需要向 DR 和 BDR 發(fā)送 OSPF 報(bào)文時(shí),使用 224.0.0.6 這個(gè)組播地址作為目的 IP 地址;當(dāng)需要向所有的 OSPF 路由器發(fā)送報(bào)文時(shí),使用 224.0.0.5 。默認(rèn)情況下,廣播類型接口的 Hello 報(bào)文發(fā)送間隔是 10 秒。

3、非廣播型多路訪問(wèn)類型( Non-Broadcast Multi-Access ,NBMA )

NBMA 網(wǎng)絡(luò)也允許多臺(tái)路由器接入,但是不具備廣播能力,這時(shí)組播發(fā)送的 Hello 報(bào)文在 NBMA 網(wǎng)絡(luò)中可能會(huì)有問(wèn)題。為了讓 OSPF 路由器之間能夠順利發(fā)現(xiàn)彼此,并正確建立鄰接關(guān)系,還需要手動(dòng)配置,比如使用單播方式發(fā)送 OSPF 報(bào)文等。幀中繼、X.25 就是 NBMA 網(wǎng)絡(luò),不過(guò)現(xiàn)在已經(jīng)幾乎看不到這類型網(wǎng)絡(luò)了。NBMA 網(wǎng)絡(luò)中,也會(huì)進(jìn)行 DR 和 BDR 選舉。默認(rèn)情況下,NBMA 類型接口的 Hello 報(bào)文發(fā)送間隔是 30 秒。

4、點(diǎn)對(duì)多點(diǎn)類型( Point-to-Multipoint ,P2MP )

P2MP 網(wǎng)絡(luò)中,路由器接口的數(shù)據(jù)鏈路層封裝不會(huì)自動(dòng)設(shè)置,必須手動(dòng)指定。P2MP 類似將多條 P2P 鏈路的一頭進(jìn)行捆綁的網(wǎng)絡(luò)。在 P2MP 網(wǎng)絡(luò)中無(wú)需選舉 DR 、BDR 。OSPF 在 P2MP 類型的接口上以組播方式發(fā)送 Hello 報(bào)文,以單播方式發(fā)送其它報(bào)文。默認(rèn)情況下,Hello 報(bào)文發(fā)送間隔是 30 秒。

了解了這么多的網(wǎng)絡(luò)類型,即使兩個(gè)路由器的直連接口的網(wǎng)絡(luò)類型不同,也能建立 OSPF 鄰接關(guān)系,但是 OSPF 路由計(jì)算容易出現(xiàn)問(wèn)題,因?yàn)榫W(wǎng)絡(luò)類型會(huì)影響 LSA 對(duì)接口的描述,關(guān)系到路由器對(duì)網(wǎng)絡(luò)拓?fù)涞睦斫夂吐酚捎?jì)算。因此,OSPF 鄰接的路由器,互聯(lián)接口的網(wǎng)絡(luò)類型必須一致。

即使在以太網(wǎng)中只有兩臺(tái)路由器,OSPF 也會(huì)選舉 DR 和 BDR ,實(shí)際上沒(méi)必要且浪費(fèi)時(shí)間,因?yàn)閺倪壿嬌峡词屈c(diǎn)對(duì)點(diǎn)的連接,選舉 DR 和 BDR 實(shí)在是畫蛇添足。因此,為了提高 OSPF 的效率,加快鄰接關(guān)系的建立過(guò)程,可以把互聯(lián)接口的網(wǎng)絡(luò)類型修改為 P2P 。

DR 和 BDR

多路訪問(wèn)( MA )網(wǎng)絡(luò)是指在同一個(gè)共享介質(zhì)中連接著多個(gè)設(shè)備的網(wǎng)絡(luò),在這個(gè)網(wǎng)絡(luò)中,任意兩臺(tái)設(shè)備之間都能夠進(jìn)行二層通信。MA 網(wǎng)絡(luò)有兩種:一種是 BMA 網(wǎng)絡(luò),另一種是 NBMA 網(wǎng)絡(luò)。典型的 BMA 網(wǎng)絡(luò)是一臺(tái)交換機(jī)連接多臺(tái)路由器,如果有一個(gè)廣播數(shù)據(jù)發(fā)出來(lái),那么整個(gè)網(wǎng)絡(luò)中的路由器都會(huì)收到。

在 MA 網(wǎng)絡(luò)中,n 臺(tái)路由器都兩兩建立鄰接關(guān)系,那么就有 n(n-1)/2 個(gè)鄰接關(guān)系,會(huì)消耗大量的路由器資源,增加網(wǎng)絡(luò)中 LSA 的泛洪數(shù)量。為了優(yōu)化鄰接關(guān)系數(shù)量,減少不必要的協(xié)議流量,OSPF 會(huì)在每一個(gè) MA 網(wǎng)絡(luò)中選舉一個(gè) DR(指定路由器)和一個(gè) BDR(備用指定路由器)。

既不是 DR 也不是 BDR 的路由器叫做 DROther ,MA網(wǎng)絡(luò)中所有 DROther 只和 DR 及 BDR 建立 OSPF 鄰接關(guān)系,BDR 也和 DR 建立鄰接關(guān)系,DROther 之間只停留在 2-Way 狀態(tài)。這樣,只有 2(n-2)+1 個(gè)鄰接關(guān)系,數(shù)量得到優(yōu)化。

DR 在 LSDB 同步方面有關(guān)鍵性的作用,會(huì)偵聽(tīng)網(wǎng)絡(luò)中的拓?fù)渥兓畔ⅲ⒆兏畔⑼ㄖo其它路由器。DR 會(huì)生成一種 Type-2 LSA ,這個(gè) LSA 包含個(gè) MA 網(wǎng)絡(luò)中所有 OSPF 路由器的 Router-ID ,也包括 DR 自己的。BDR 會(huì)監(jiān)控 DR 狀態(tài),當(dāng) DR 發(fā)生故障時(shí)就接替它的工作。

DR 、BDR 的選舉通過(guò) Hello 報(bào)文實(shí)現(xiàn),發(fā)生在 2-Way 狀態(tài)之后。Hello 報(bào)文有路由器接口的 DR 優(yōu)先級(jí),取值范圍是 0 ~ 255 ,默認(rèn)值為 1 ,DR 優(yōu)先級(jí)為 0 的接口沒(méi)有 DR 和 BDR 的選舉資格。當(dāng)接口激活 OSPF 后,它會(huì)查看網(wǎng)絡(luò)中是否存在 DR ,如果有就使用已經(jīng)存在的 DR ,也就是 DR 不可搶占,否則選擇最高優(yōu)先級(jí)的路由器成為 DR ,當(dāng)優(yōu)先級(jí)相等時(shí),選擇 Router-ID 最大的路由器成為 DR 。之后還會(huì)進(jìn)行 BDR 的選舉,選舉過(guò)程與 DR 類似。

需要注意的是,DR 和 BDR 是一個(gè)接口級(jí)別的概念。某臺(tái)路由器是 DR ,這種說(shuō)法不準(zhǔn)確,嚴(yán)謹(jǐn)?shù)恼f(shuō)法是:某臺(tái)路由器的某個(gè)接口在這個(gè) MA 網(wǎng)絡(luò)中是 DR 。在一個(gè) MA 網(wǎng)絡(luò)中,DR 確保接入到網(wǎng)絡(luò)中的所有 OSPF 路由器擁有相同的 LSDB ,也就是確保這些 LSDB 的同步。DR 使用組播地址 224.0.0.5 向網(wǎng)絡(luò)中發(fā)送 LSU 報(bào)文,所有的 OSPF 路由器會(huì)偵聽(tīng)這個(gè)目的地址,并與 DR 同步 LSDB 。而 DROther 感知到拓?fù)渥兓瘯r(shí),向 224.0.0.6 發(fā)送 LSU 報(bào)文通告這個(gè)變化,DR 和 BDR 會(huì)偵聽(tīng)這個(gè)組播地址。

區(qū)域和多區(qū)域

連續(xù)的 OSPF 路由器組成的網(wǎng)絡(luò)叫做 OSPF 域( Domain ),為了保證每臺(tái)路由器都能正常的計(jì)算路由,就要求域內(nèi)所有的路由器同步 LSDB ,才能達(dá)到對(duì)整個(gè) OSPF 網(wǎng)絡(luò)的一致認(rèn)知。當(dāng)網(wǎng)絡(luò)規(guī)模越來(lái)越大時(shí),每臺(tái)路由器維護(hù)的 LSDB 變得臃腫,計(jì)算龐大的 LSDB 需要消耗更多的設(shè)備資源,加重設(shè)備的負(fù)擔(dān)。另外,網(wǎng)絡(luò)拓?fù)涞淖兓鹚杏騼?nèi)的路由器重新計(jì)算,而域內(nèi)路由無(wú)法進(jìn)行匯總,每臺(tái)路由器需要維護(hù)的路由表也越來(lái)越大,又是一個(gè)不能忽略的資源消耗。

因此,OSPF 引入了區(qū)域( Area )的概念。在一個(gè)大規(guī)模的網(wǎng)絡(luò)中,會(huì)把 OSPF 域分成多個(gè)區(qū)域。某些 LSA 的泛洪只在單個(gè)區(qū)域內(nèi)部,同一個(gè)區(qū)域內(nèi)的路由器維護(hù)一套相同的 LSDB ,對(duì)區(qū)域內(nèi)的網(wǎng)絡(luò)有一致的認(rèn)知。每個(gè)區(qū)域獨(dú)立進(jìn)行 SPF 計(jì)算,區(qū)域內(nèi)的拓?fù)浣Y(jié)構(gòu)對(duì)區(qū)域外是不可見(jiàn)的,而且區(qū)域內(nèi)部的拓?fù)渥兓ㄖ幌拗圃趨^(qū)域內(nèi),避免對(duì)區(qū)域外部造成影響。如果一臺(tái)路由器的多個(gè)接口分別接入多個(gè)不同的區(qū)域,那么它會(huì)為每個(gè)區(qū)域分別維護(hù)一套 LSDB 。多區(qū)域的設(shè)計(jì)極大程度的限制了 LSA 的泛洪,有效的把拓?fù)渥兓挠绊懣刂圃趨^(qū)域內(nèi),另外在區(qū)域邊界路由器上可以進(jìn)行路由匯總,減少網(wǎng)絡(luò)中的路由條目數(shù)量。

OSPF 的每一個(gè)區(qū)域都由一個(gè)編號(hào),不同的編號(hào)表示不同的區(qū)域,這個(gè)區(qū)域編號(hào)也叫做區(qū)域 ID( Area-ID )。區(qū)域 ID 是一個(gè) 32 位二進(jìn)制數(shù),與 IPv4 地址的格式一樣,比如 Area 0.0.0.1 ,為了方便起見(jiàn),也會(huì)用十進(jìn)制數(shù)表示,Area 0.0.0.1 簡(jiǎn)化成 Area1 ,Area 0.0.0.255 簡(jiǎn)化成 Area255 ,Area 0.0.1.0 簡(jiǎn)化成 Area256 。

一個(gè) OSPF 域中,允許存在多個(gè)區(qū)域,其中有一個(gè)中心區(qū)域,也就是骨干區(qū)域 Area0(或 Area 0.0.0.0 )。OSPF 要求域內(nèi)的所有非骨干區(qū)域(區(qū)域 ID 不是 0 的區(qū)域)必須與 Area0 相連。如果一個(gè)域內(nèi)有多個(gè)區(qū)域,那么有且只有一個(gè) Area0 ,Area0 負(fù)責(zé)在區(qū)域之間發(fā)布區(qū)域間的路由。因此,所有的 ABR( Area Border Router ,區(qū)域邊界路由器)至少有一個(gè)接口屬于 Area0 ,所以 Area0 包含所有的 ABR 。有點(diǎn)類似星型結(jié)構(gòu),骨干區(qū)域在中間,每個(gè)非骨干區(qū)域是分支。

任何一個(gè)非骨干區(qū)域都必須與 Area0 相連,當(dāng)網(wǎng)絡(luò)中某個(gè)區(qū)域沒(méi)有與 Area0 相連時(shí),這個(gè)區(qū)域的路由計(jì)算就會(huì)出問(wèn)題。OSPF 的區(qū)域間路由都由 Area0 中轉(zhuǎn),任何兩個(gè)非骨干區(qū)域之間是不能直接交互路由的。

解決方法是修改 OSPF 的網(wǎng)絡(luò)設(shè)計(jì),與 Area0 直接相連。如果不能改或改動(dòng)成本大等問(wèn)題,可以考慮使用 OSPF 虛鏈路( Virtual Link )。Virtual Link 是一種邏輯的鏈路,不是一條真實(shí)的鏈路。通過(guò)搭建一條 Virtual Link ,可以把原來(lái)沒(méi)有與骨干區(qū)域直連的區(qū)域給連接起來(lái)。

另一個(gè)可能的問(wèn)題是,骨干區(qū)域不連續(xù)或被分隔開(kāi)。非骨干區(qū)域交互區(qū)域路由時(shí),容易引發(fā)路由環(huán)路。因此,OSPF 要求 ABR 只能將自己直連的區(qū)域內(nèi)部路由通告給 Area0 ,而不能將自己到達(dá)其它區(qū)域的域間路由通告給 Area0 。另外,ABR 可以將自己直連區(qū)域的內(nèi)部路由和到達(dá)其它區(qū)域的域間路由通告給非骨干區(qū)域。這樣就能規(guī)避網(wǎng)絡(luò)規(guī)劃不合理導(dǎo)致的路由環(huán)路。解決問(wèn)題最好的辦法是修改 OSPF 的規(guī)劃,當(dāng)然建立 Virtual Link 也可以臨時(shí)解決這個(gè)問(wèn)題。

實(shí)際部署中,Virtual Link 并不是一種常規(guī)的技術(shù),而是一種臨時(shí)方案,合理的 OSPF 網(wǎng)絡(luò)規(guī)劃依然是一個(gè)最佳的選擇。

OSPF 路由器角色

在 OSPF 中,有多種路由器角色,在 OSPF 網(wǎng)絡(luò)中都發(fā)揮著不同的作用。實(shí)際上,OSPF 不僅在路由器上使用,許多交換機(jī)、防火墻,甚至 Linux 主機(jī)都能實(shí)現(xiàn)。這里說(shuō)的 OSPF 路由器,實(shí)際上是以路由器為代表。

  • 內(nèi)部路由器( Internal Router ,IR ):所有接口都在同一個(gè) OSPF 區(qū)域內(nèi)的路由器。圖中 R1 、R4 、R5 是 IR 。
  • 區(qū)域邊界路由器( Area Border Router ,ABR ):接入多個(gè)區(qū)域的路由器,并非所有接入多個(gè)區(qū)域的路由器都是 ABR 。它至少有一個(gè)接口在 Area0 中,同時(shí)還有其它接口在其它區(qū)域中。ABR 負(fù)責(zé)在區(qū)域之間傳遞路由信息,因此必須連接到 Area0 ,同時(shí)連接著其它區(qū)域。圖中 R2 、R3 是 ABR 。
  • 骨干路由器( Backbone Router ,BR ):至少有一個(gè)接口接入 Area0 的路由器,那它就是一臺(tái)骨干路由器,另外 ABR 也是骨干路由器。圖中 R1 、R2 、R3 、R6 是 BR 。
  • AS 邊界路由器( AS Boundary Router ,ASBR ):工作在 OSPF 自治系統(tǒng)( Autonomous System ,AS )邊界的路由器。ASBR 將 OSPF 域外的路由引入到本域,外部路由在整個(gè) OSPF 域內(nèi)傳遞。并不是同時(shí)運(yùn)行多種路由協(xié)議的路由器就一定是 ASBR ,ASBR 一定是將外部路由重分發(fā)到 OSPF ,或者執(zhí)行了路由重分發(fā)操作的路由器。圖中 R6 是 ASBR 。
責(zé)任編輯:姜華 來(lái)源: 網(wǎng)絡(luò)技術(shù)平臺(tái)
相關(guān)推薦

2022-04-19 07:51:17

OSPF協(xié)議RIP

2009-12-14 15:33:50

動(dòng)態(tài)路由協(xié)議

2009-12-15 11:22:13

OSPF動(dòng)態(tài)路由協(xié)議

2010-08-19 15:06:27

動(dòng)態(tài)路由協(xié)議

2010-07-12 14:36:18

OSPF動(dòng)態(tài)路由協(xié)議

2009-12-10 15:02:07

OSPF動(dòng)態(tài)路由協(xié)議

2010-08-13 09:39:48

OSPF協(xié)議

2009-12-14 15:34:54

動(dòng)態(tài)路由協(xié)議

2010-07-08 14:15:54

OSPF路由協(xié)議

2010-06-10 16:01:22

OSPF路由協(xié)議

2013-08-27 09:33:52

動(dòng)態(tài)路由協(xié)議RIPOSPF

2022-09-04 19:38:11

機(jī)器學(xué)習(xí)算法

2010-08-13 09:44:07

OSPF

2010-06-29 10:48:01

OSPF路由協(xié)議

2024-03-18 15:04:02

物聯(lián)網(wǎng)通信協(xié)議IOT

2009-12-15 14:42:56

OSPF路由協(xié)議

2010-06-11 17:04:17

OSPF路由協(xié)議

2010-07-13 10:46:52

OSPF路由協(xié)議

2009-12-23 16:11:59

2010-07-12 15:53:14

動(dòng)態(tài)路由協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产高清在线精品 | 欧美日韩中文字幕在线 | 色频 | 日韩福利视频 | 亚洲一区免费在线 | 日韩中文字幕在线观看视频 | 日韩视频一区二区 | 夜夜骑综合 | 美女国产精品 | 天天干夜夜操 | 久久人爽 | 69电影网| av在线免费观看网址 | 在线91 | 精品日韩一区二区三区 | 欧美精品在欧美一区二区少妇 | 久久天天综合 | 亚洲 一区 | 韩国av影院 | 请别相信他免费喜剧电影在线观看 | 国产日韩欧美二区 | 91成人免费看 | 久久国产精品视频 | 中文字幕在线观看www | 97国产精品 | 中文字幕一区二区三区不卡 | 一区二区三区免费 | 91视频88av| 五月婷婷在线播放 | 亚洲性视频网站 | 欧美精品综合在线 | 婷婷色成人 | 波多野结衣一区二区 | 亚洲一区视频在线播放 | 亚洲在线观看视频 | av资源中文在线 | 国产亚洲一区二区三区 | 亚洲精品www久久久 www.蜜桃av | 亚洲精品av在线 | 久久精品无码一区二区三区 | 亚洲一区二区精品视频 |