自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

Router-ID

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

Loopback 接口

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

OSPF 三張表

OSPF 使用三種表格確保能正常運行。

鄰居表( Peer Table )

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

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

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

OSPF 路由表( Routing Table )

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

度量值

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

報文類型及格式

OSPF 協(xié)議的報文直接使用 IP 封裝,在 IP 報文頭部對應的協(xié)議號是 89 。通常 OSPF 的協(xié)議報文使用組播地址作為目的 IP 地址,有兩個組播 IP 地址是 OSPF 專用。

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

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

OSPF 一共定義了五種報文,各有各的用途。

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

所有 OSPF 報文是相同的頭部,這個頭部的長度是 24 字節(jié)。

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

Hello 報文

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

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

DD 報文

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

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

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

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

LSR 報文

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

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

LSU 報文

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

LSAck 報文

當一臺路由器收到鄰居發(fā)送的 LSU 報文時,為了確認 LSA 已經(jīng)送達,需要對報文中的 LSA 進行確認,就是回復一個 LSAck 報文。LSAck 報文包含路由器確認的 LSA 頭部信息。

鄰接關系

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

之后,兩臺路由器會開始交互空的 DD 報文協(xié)商 Master/Slave ,再交互包含 LSA 頭部信息的 DD 報文,以便同步自己的 LSDB ,然后通過 LSR 和 LSU 報文交互雙方的 LSA 。當兩者的 LSDB 同步完成后,兩臺路由器形成對網(wǎng)絡拓撲的一致認知,并開始獨立計算路由。這時,兩臺路由器形成了鄰接關系。

網(wǎng)絡類型

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

1、點對點類型( Point-to-Point ,P2P )

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

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

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

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

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

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

4、點對多點類型( Point-to-Multipoint ,P2MP )

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

了解了這么多的網(wǎng)絡類型,即使兩個路由器的直連接口的網(wǎng)絡類型不同,也能建立 OSPF 鄰接關系,但是 OSPF 路由計算容易出現(xiàn)問題,因為網(wǎng)絡類型會影響 LSA 對接口的描述,關系到路由器對網(wǎng)絡拓撲的理解和路由計算。因此,OSPF 鄰接的路由器,互聯(lián)接口的網(wǎng)絡類型必須一致。

即使在以太網(wǎng)中只有兩臺路由器,OSPF 也會選舉 DR 和 BDR ,實際上沒必要且浪費時間,因為從邏輯上看是點對點的連接,選舉 DR 和 BDR 實在是畫蛇添足。因此,為了提高 OSPF 的效率,加快鄰接關系的建立過程,可以把互聯(lián)接口的網(wǎng)絡類型修改為 P2P 。

DR 和 BDR

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

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

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

DR 在 LSDB 同步方面有關鍵性的作用,會偵聽網(wǎng)絡中的拓撲變化信息,并將變更信息通知給其它路由器。DR 會生成一種 Type-2 LSA ,這個 LSA 包含個 MA 網(wǎng)絡中所有 OSPF 路由器的 Router-ID ,也包括 DR 自己的。BDR 會監(jiān)控 DR 狀態(tài),當 DR 發(fā)生故障時就接替它的工作。

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

需要注意的是,DR 和 BDR 是一個接口級別的概念。某臺路由器是 DR ,這種說法不準確,嚴謹?shù)恼f法是:某臺路由器的某個接口在這個 MA 網(wǎng)絡中是 DR 。在一個 MA 網(wǎng)絡中,DR 確保接入到網(wǎng)絡中的所有 OSPF 路由器擁有相同的 LSDB ,也就是確保這些 LSDB 的同步。DR 使用組播地址 224.0.0.5 向網(wǎng)絡中發(fā)送 LSU 報文,所有的 OSPF 路由器會偵聽這個目的地址,并與 DR 同步 LSDB 。而 DROther 感知到拓撲變化時,向 224.0.0.6 發(fā)送 LSU 報文通告這個變化,DR 和 BDR 會偵聽這個組播地址。

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

連續(xù)的 OSPF 路由器組成的網(wǎng)絡叫做 OSPF 域( Domain ),為了保證每臺路由器都能正常的計算路由,就要求域內(nèi)所有的路由器同步 LSDB ,才能達到對整個 OSPF 網(wǎng)絡的一致認知。當網(wǎng)絡規(guī)模越來越大時,每臺路由器維護的 LSDB 變得臃腫,計算龐大的 LSDB 需要消耗更多的設備資源,加重設備的負擔。另外,網(wǎng)絡拓撲的變化,引起所有域內(nèi)的路由器重新計算,而域內(nèi)路由無法進行匯總,每臺路由器需要維護的路由表也越來越大,又是一個不能忽略的資源消耗。

因此,OSPF 引入了區(qū)域( Area )的概念。在一個大規(guī)模的網(wǎng)絡中,會把 OSPF 域分成多個區(qū)域。某些 LSA 的泛洪只在單個區(qū)域內(nèi)部,同一個區(qū)域內(nèi)的路由器維護一套相同的 LSDB ,對區(qū)域內(nèi)的網(wǎng)絡有一致的認知。每個區(qū)域獨立進行 SPF 計算,區(qū)域內(nèi)的拓撲結構對區(qū)域外是不可見的,而且區(qū)域內(nèi)部的拓撲變化通知被限制在區(qū)域內(nèi),避免對區(qū)域外部造成影響。如果一臺路由器的多個接口分別接入多個不同的區(qū)域,那么它會為每個區(qū)域分別維護一套 LSDB 。多區(qū)域的設計極大程度的限制了 LSA 的泛洪,有效的把拓撲變化的影響控制在區(qū)域內(nèi),另外在區(qū)域邊界路由器上可以進行路由匯總,減少網(wǎng)絡中的路由條目數(shù)量。

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

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

任何一個非骨干區(qū)域都必須與 Area0 相連,當網(wǎng)絡中某個區(qū)域沒有與 Area0 相連時,這個區(qū)域的路由計算就會出問題。OSPF 的區(qū)域間路由都由 Area0 中轉,任何兩個非骨干區(qū)域之間是不能直接交互路由的。

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

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

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

OSPF 路由器角色

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

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

2022-04-19 07:51:17

OSPF協(xié)議RIP

2009-12-14 15:33:50

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

2009-12-15 11:22:13

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

2010-08-19 15:06:27

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

2010-07-12 14:36:18

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

2009-12-10 15:02:07

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

2009-12-14 15:34:54

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

2010-08-13 09:39:48

OSPF協(xié)議

2010-07-08 14:15:54

OSPF路由協(xié)議

2010-06-10 16:01:22

OSPF路由協(xié)議

2013-08-27 09:33:52

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

2010-06-29 10:48:01

OSPF路由協(xié)議

2022-09-04 19:38:11

機器學習算法

2010-08-13 09:44:07

OSPF

2024-03-18 15:04:02

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

2009-12-23 16:11:59

2009-12-15 14:42:56

OSPF路由協(xié)議

2010-06-11 17:04:17

OSPF路由協(xié)議

2010-07-13 10:46:52

OSPF路由協(xié)議

2020-02-19 10:43:57

路由協(xié)議OSPF報文
點贊
收藏

51CTO技術棧公眾號