《新華三:2022 OSPFV3技術白皮書(16頁).pdf》由會員分享,可在線閱讀,更多相關《新華三:2022 OSPFV3技術白皮書(16頁).pdf(16頁珍藏版)》請在三個皮匠報告上搜索。
1、OSPFv3 技術白皮書 Copyright 2019 新華三技術有限公司 版權所有,保留一切權利。非經本公司書面許可,任何單位和個人不得擅自摘抄、復制本文檔內容的部分或全部,并不得以任何形式傳播。除新華三技術有限公司的商標外,本手冊中出現的其它公司的商標、產品標識及商品名稱,由各自權利人擁有。本文中的內容為通用性技術信息,某些信息可能不適用于您所購買的產品。i 目 錄 1 概述 1 2 OSPFv3 技術實現 1 2.1 OSPFv2 簡介 1 2.1.1 OSPF 基本概念 1 2.1.2 OSPF 路由計算過程 3 2.2 OSPFv3 與 OSPFv2 的相同點 3 2.3 OSPFv
2、3 與 OSPFv2 的不同點 3 2.3.1 基于鏈路的運行 4 2.3.2 使用鏈路本地地址 4 2.3.3 鏈路支持多實例復用 4 2.3.4 通過 Router ID 唯一標識鄰居 4 2.3.5 認證的變化 5 2.3.6 Stub 區域的支持 5 2.3.7 報文的不同 5 2.3.8 Option 字段不同 5 2.3.9 LSA 類型不同 6 2.3.10 擴大了 LSA 的泛洪范圍 6 2.3.11 支持對未知類型 LSA 的處理 6 2.3.12 LSA 報文格式不同 7 3 典型組網應用 13 4 參考文獻 14 1 1 概述概述 OSPFv2 是 IETF 組織開發的一
3、個基于鏈路狀態的內部網關協議,具有適應范圍廣、收斂迅速、無自環、便于層級化網絡設計等特點,因此在 IPv4 網絡中獲得了廣泛應用。隨著 IPv6 網絡的建設,同樣需要動態路由協議為 IPv6 報文的轉發提供準確有效的路由信息?;诖?,IETF 在保留了 OSPFv2 優點的基礎上,針對 IPv6 網絡修改形成了 OSPFv3。OSPFv3 主要用于在 IPv6 網絡中提供路由功能,是 IPv6 路由技術中的主流協議。2 OSPFv3 技術實現技術實現 OSPFv3 在工作機制上與 OSPFv2 基本相同,但為了支持 IPv6 地址格式,OSPFv3 對 OSPFv2 做了一些改動。下面先對 O
4、SPFv2 進行簡要介紹,之后再詳細介紹 OSPFv3 與 OSPFv2 的異同點。2.1 OSPFv2簡介 2.1.1 OSPF 基本概念 1.OSPF 網絡類型 OSPF 根據鏈路層協議類型將網絡分為下列四種類型:廣播類型:當鏈路層協議是 Ethernet、FDDI 時,OSPF 認為網絡類型是廣播。在該類型的網絡中,通常以組播形式(224.0.0.5 和 224.0.0.6)發送協議報文。NBMA 類型:當鏈路層協議是幀中繼、ATM 或 X.25 時,OSPF 認為網絡類型是 NBMA。在該類型的網絡中,以單播形式發送協議報文。P2MP 類型:沒有一種鏈路層協議會被 OSPF 認為是 P
5、2MP 類型,只能將其他的網絡類型強制更改為點到多點類型。常用做法是將 NBMA 改為點到多點的網絡。在該類型的網絡中,缺省情況下,以組播形式(224.0.0.5)發送協議報文??梢愿鶕脩粜枰?,以單播形式發送協議報文。P2P 類型:當鏈路層協議是 PPP、HDLC 時,OSPF 認為網絡類型是 P2P。在該類型的網絡中,以組播形式(224.0.0.5)發送協議報文。2.DR 和 BDR 在廣播網或 NBMA 網絡中,任意兩臺路由器之間都要交換路由信息。如果網絡中有 n 臺路由器,則需要建立 n(n-1)/2 個鄰接關系。這使得任何一臺路由器的路由變化都會導致多次傳遞,浪費了帶寬資源。為解決這
6、一問題,OSPF 提出了 DR(Designated Router,指定路由器)的概念,所有路由器只將信息發送給 DR,由 DR 將網絡鏈路狀態發送出去。另外,OSPF 提出了 BDR(Backup Designated Router,備份指定路由器)的概念。BDR 是對 DR的一個備份,在選舉 DR 的同時也選舉出 BDR,BDR 也和本網段內的所有路由器建立鄰接關系并交換路由信息。當 DR 失效后,BDR 會立即成為新的 DR。OSPF 網絡中,既不是 DR 也不是 BDR 的路由器為 DR Other。DR Other 僅與 DR 和 BDR 建立鄰接關系,DR Other 之間不交換任
7、何路由信息。這樣就減少了廣播網和 NBMA 網絡上各路由器之間鄰接關系的數量,同時減少網絡流量,節約了帶寬資源。2 3.區域 隨著網絡規模日益擴大,當一個大型網絡中的路由器都運行 OSPF 路由協議時,會存在以下問題:路由器數量會增多,每臺路由器都生成 LSA,整個 LSDB 即所有 LSA 的集合會非常大,占用大量存儲空間。計算最短路徑樹耗時增加,導致 CPU 負擔很重。在網絡規模增大之后,拓撲結構發生變化的概率也會增大,網絡會經常處于“震蕩”之中,造成網絡中大量的 OSPF 協議報文在傳遞,降低了網絡的帶寬利用率。更為嚴重的是,每一次變化都會導致網絡中所有的路由器重新進行路由計算。OSPF
8、 協議通過將自治系統劃分成不同的區域來解決上述問題。區域是從邏輯上將路由器劃分為不同的組,每個組用區域號 ID 來標識。為了適應特定的網絡需求,OSPF 定義了兩種特殊的區域:(1)Stub/Totally Stub 區域 Stub 區域是一些特定的區域,Stub 區域的 ABR 不允許注入 Type5 LSA,在這些區域中路由器的路由表規模以及路由信息傳遞的數量都會大大減少。為了進一步減少 Stub 區域中路由器的路由表規模以及路由信息傳遞的數量,可以將該區域配置為 Totally Stub(完全 Stub)區域,該區域的 ABR 不會將區域間的路由信息和外部路由信息傳遞到本區域。Stub/
9、Totally Stub 區域是一種可選的配置屬性,但并不是每個區域都符合配置的條件。通常來說,Stub/Totally Stub 區域位于自治系統的邊界。(2)NSSA/Totally NSSA 區域 NSSA(Not-So-Stubby Area)區域是 Stub 區域的變形,與 Stub 區域有許多相似的地方。NSSA 區域也不允許 Type5 LSA 注入,但可以允許 Type7 LSA 注入。Type7 LSA 由 NSSA區域的 ASBR 產生,在 NSSA 區域內傳播。當 Type7 LSA 到達 NSSA 的 ABR 時,由 ABR將 Type7 LSA 轉換成 Type5 L
10、SA,傳播到其他區域。為了進一步阻擋 NSSA 區域外的其他區域的 Type3 LSA 注入,可以將該區域配置為 Totally NSSA(完全 NSSA)區域,該區域的 ABR 不會將區域間的路由信息傳遞到本區域。為保證到本自治系統的其他區域的路由依舊可達,該區域的 ABR 將生成一條缺省路由 Type-3 LSA,發布給本區域中的其他非 ABR 路由器。4.OSPF 協議報文 OSPF 有五種類型的協議報文:Hello 報文:周期性發送,用來發現和維持 OSPF 鄰居關系。內容包括一些定時器的數值、DR、BDR 以及自己已知的鄰居。DD 報文:描述了本地 LSDB 中每一條 LSA 的摘要
11、信息,用于兩臺路由器進行數據庫同步。LSR 報文:向對方請求所需的 LSA。兩臺路由器互相交換 DD 報文之后,得知對端的路由器有哪些 LSA 是本地的 LSDB 所缺少的,這時需要發送 LSR 報文向對方請求所需的 LSA。內容包括所需要的 LSA 的摘要。LSU 報文:向對方發送其所需要的 LSA。LSAck 報文:用來對收到的 LSA 進行確認。內容是需要確認的 LSA 的 Header(一個報文可對多個 LSA 進行確認)。3 2.1.2 OSPF 路由計算過程 OSPF 協議的路由計算過程可簡單描述如下:每臺 OSPF 路由器根據自己周圍的網絡拓撲結構生成 LSA,并通過更新報文將
12、LSA 發送給網絡中的其它 OSPF 路由器。每臺 OSPF 路由器都會收集其它路由器通告的 LSA,所有的 LSA 放在一起便組成了 LSDB。LSA 是對路由器周圍網絡拓撲結構的描述,LSDB 則是對整個自治系統的網絡拓撲結構的描述。OSPF 路由器將 LSDB 轉換成一張帶權的有向圖,這張圖便是對整個網絡拓撲結構的真實反映,各個路由器得到的有向圖是完全相同的。每臺路由器根據有向圖,使用 SPF 算法計算出一棵以自己為根的最短路徑樹,這棵樹給出了到自治系統中各節點的路由。2.2 OSPFv3與OSPFv2的相同點 OSPFv3 在協議設計思路和工作機制與 OSPFv2 基本一致:報文類型相
13、同:包含 Hello、DD、LSR、LSU、LSAck 五種類型的報文。區域劃分相同。LSA 泛洪和同步機制相同:為了保證 LSDB 內容的正確性,需要保證 LSA 的可靠泛洪和同步。路由計算方法相同:采用最短路徑優先算法計算路由。網絡類型相同:支持廣播、NBMA、P2MP 和 P2P 四種網絡類型。鄰居發現和鄰接關系形成機制相同:OSPF路由器啟動后,便會通過OSPF接口向外發送Hello報文,收到 Hello 報文的 OSPF 路由器會檢查報文中所定義的參數,如果雙方一致就會形成鄰居關系。形成鄰居關系的雙方不一定都能形成鄰接關系,這要根據網絡類型而定,只有當雙方成功交換 DD 報文,交換
14、LSA 并達到 LSDB 的同步之后,才形成真正意義上的鄰接關系。DR 選舉機制相同:在 NBMA 和廣播網絡中需要選舉 DR 和 BDR。2.3 OSPFv3與OSPFv2的不同點 為了支持在 IPv6環境中運行,指導 IPv6報文的轉發,OSPFv3對 OSPFv2做出了一些必要的改進,使得 OSPFv3 可以獨立于網絡層協議,而且只要稍加擴展,就可以適應各種協議,為未來可能的擴展預留了充分的可能。OSPFv3 與 OSPFv2 不同主要表現在:基于鏈路的運行 使用鏈路本地地址 鏈路支持多實例復用 通過 Router ID 唯一標識鄰居 認證的變化 Stub 區域的支持 報文的不同 Opt
15、ion 字段不同 LSA 類型、處理方式和格式不同 4 2.3.1 基于鏈路的運行 OSPFv2 是基于網絡運行的,兩個路由器要形成鄰居關系必須在同一個網段。OSPFv3 的實現是基于鏈路,一條鏈路可以包含多個子網,節點即使不在同一個子網內,只要在同一鏈路上就可以直接通信。2.3.2 使用鏈路本地地址 OSPFv3 的路由器使用鏈路本地地址作為發送報文的源地址。一臺路由器可以學習到這條鏈路上相連的所有其它路由器的鏈路本地地址,并使用這些鏈路本地地址作為下一跳來轉發報文。但是在虛連接上,必須使用全球范圍地址作為 OSPFv3 協議報文的源地址。由于鏈路本地地址只在本鏈路上有意義且只能在本鏈路上泛
16、洪,因此鏈路本地地址只能出現在 Link LSA 中。2.3.3 鏈路支持多實例復用 如圖 1 所示,OSPFv3 支持在同一鏈路上運行多個實例,實現鏈路復用并節約成本。圖1 鏈路支持多實例復用示意圖 Device A、Device B、Device C 和 Device D 連接到同一個廣播網上,它們共享同一條鏈路。在 Device A 的 Interface A、Device B 的 Interface B、Device C 的 Interface C 上指定實例 1;在 Device A 的Interface A、Device B的Interface B、Device D的Interfa
17、ce D上指定實例2,實現了Device A、Device B 和 Device C 可以建立鄰居關系,Device A、Device B 和 Device D 可以建立鄰居關系。這是通過在 OSPFv3 報文頭中添加 Instance ID 字段來實現的。如果接口配置的 Instance ID 與接收的 OSPFv3 報文的 Instance ID 不匹配,則丟棄該報文,從而無法建立鄰居關系。2.3.4 通過 Router ID 唯一標識鄰居 在 OSPFv2 中,當網絡類型為點到點或者通過虛連接與鄰居相連時,通過 Router ID 來標識鄰居路由器,當網絡類型為廣播或 NBMA 時,通過
18、鄰居接口的 IP 地址來標識鄰居路由器。Device ADevice BDevice CDevice DInterface BInterface AInterface CInterface DInstance 1Instance 2 5 OSPFv3 取消了這種復雜性,無論對于何種網絡類型,都是通過 Router ID 來唯一標識鄰居。2.3.5 認證的變化 OSPFv3 協議除了自身可以提供認證功能外,還可以通過使用 IPv6 提供的安全機制來保證自身報文的合法性。2.3.6 Stub 區域的支持 由于 OSPFv3 支持對未知類型 LSA 的泛洪,為防止大量未知類型 LSA 泛洪進入 St
19、ub 區域,對于向 Stub 區域泛洪的未知類型 LSA 進行了明確規定:只有當未知類型 LSA 的泛洪范圍是區域或鏈路而且 U 比特沒有置位時,未知類型 LSA 才可以向 Stub 區域泛洪。2.3.7 報文的不同 OSPFv3 報文封裝在 IPv6 報文中,每一種類型的報文均以一個 16 字節的報文頭部開始。與 OSPFv2 一樣,OSPFv3 的五種報文都有同樣的報文頭,只是報文中的字段有些不同。OSPFv3 的 LSU 和 LSAck 報文與 OSPFv2 相比沒有什么變化,但 OSPFv3 的報文頭、Hello 與OSPFv2 略有不同,報文的改變包括以下幾點:版本號從 2 升級到
20、3。報文頭的不同:與OSPFv2報文頭相比,OSPFv3報文頭長度只有16字節,去掉了認證字段,但增加了Instance ID字段。Instance ID字段用來支持在同一條鏈路上運行多個實例,且只在鏈路本地范圍內有效。Hello報文的不同:與OSPFv2 Hello報文相比,OSPFv3 Hello報文去掉了網絡掩碼字段,增加了 Interface ID 字段,用來標識發送該 Hello 報文的接口 ID。2.3.8 Option 字段不同 在 OSPFv2 中,Option 字段出現在每一個 Hello 報文、DD 報文以及每一個 LSA 中。在 OSPFv3 中,Option 字段只在
21、Hello 報文、DD 報文、Router LSA、Network LSA、Inter Area Router LSA 以及 Link LSA 中出現。OSPFv2 的 Option 字段如圖 2 所示。圖2 OSPFv2 Option 字段格式 OSPFv3 的 Option 字段如圖 3 所示。圖3 OSPFv3 Option 字段格式 從上圖可以看出,與 OSPFv2 相比,OSPFv3 的 Option 字段增加了 R 比特、V 比特。其中:DNODCEAN/PMCEMT0801824DCMCERVN 6 R 比特:用來標識設備是否是具備轉發能力的路由器。如果 R 比特置 0,則表示該
22、節點的路由信息將不會參加路由計算。如果當前設備不想轉發目的地址不是本地地址的報文,可以將 R比特置 0。V 比特:如果 V 比特置 0,該路由器或鏈路不會參加路由計算。2.3.9 LSA 類型不同 OSPFv3 支持七種類型的 LSA。OSPFv3 LSA 與 OSPFv2 LSA 的異同如表 1 所示。表1 OSPFv3 與 OSPFv2 LSA 的異同點 OSPFv2 LSA OSPFv3 LSA 與 OSPFv2 LSA 異同點說明 Router LSA Router LSA 名稱相同,作用也類似,但是不再描述地址信息,僅僅用來描述路由域的拓撲結構 Network LSA Network
23、 LSA Network Summary LSA Inter Area Prefix LSA 作用類似,名稱不同 ASBR Summary LSA Inter Area Router LSA AS External LSA AS External LSA 作用與名稱完全相同 無 Link LSA 新增LSA Intra Area Prefix LSA 新增LSA OSPFv3 新增了 Link LSA 和 Intra Area Prefix LSA。Router LSA 不再包含地址信息,使能 OSPFv3 的路由器為它所連接的每條鏈路產生單獨的Link LSA,將當前接口的鏈路本地地址以及路
24、由器在這條鏈路上的一系列 IPv6 地址信息向該鏈路上的所有其它路由器通告。Router LSA 和 Network LSA 中不再包含路由信息,這兩類 LSA 中所攜帶的路由信息由 Intra Area Prefix LSA 來描述,該類 LSA 用來公告一個或多個 IPv6 地址前綴。2.3.10 擴大了 LSA 的泛洪范圍 LSA 的泛洪范圍已經被明確地定義在 LSA 的 LS Type 字段。目前,有三種 LSA 泛洪范圍:鏈路本地范圍:LSA 只在本地鏈路上泛洪,不會超出這個范圍,該范圍適用于新定義的 Link LSA。區域范圍:LSA 的泛洪范圍僅僅覆蓋一個單獨的 OSPFv3 區
25、域。Router LSA、Network LSA、Inter Area Prefix LSA、Inter Area Router LSA 和 Intra Area Prefix LSA 都是區域范圍泛洪的LSA。自治系統范圍:LSA 將被泛洪到整個路由域,AS External LSA 就是自治系統范圍泛洪的LSA。2.3.11 支持對未知類型 LSA 的處理 在 OSPFv2 中,收到類型未知的 LSA 將直接丟棄。OSPFv3 在 LSA 的 LS Type 字段中增加了一個 U 比特位來位標識對未知類型 LSA 的處理方式:7 如果 U 比特置 1,則對于未知類型的 LSA 按照 LSA
26、 中的 LS Type 字段描述的泛洪范圍進行泛洪。如果 U 比特置 0,對于未知類型的 LSA 僅在鏈路范圍內泛洪。2.3.12 LSA 報文格式不同 OSPFv3 LSA 封裝在 LSA 頭的后面,下面將重點介紹 OSPFv3 與 OSPFv2 在 LSA 頭以及 LSA 內容上的不同點。1.LSA 頭 如圖 4 所示,與 OSPFv2 相比,OSPFv3 的 LSA 頭部取消了 Options 字段,且 Link State ID 不再有具體的含義,而是由當前路由器隨機生成,用來同 Advertising Router、LS Sequence Number 字段一同標識一個 LSA。圖4
27、 OSPFv2 LSA 頭和 OSPFv3 LSA 頭格式對比 OSPFv2 中的 LS Type 長度為 8 比特,標識 LSA 的類型;OSPFv3 的 LS Type 字段由 OSPFv2 的8 比特擴充為 16 比特,具體如圖 5 所示。圖5 OSPFv3 LS Type 字段 US2S1LSA Function Code OSPFv3 的 LS Type 字段中 U 位、S2 位、S1 位和 LSA Function Code 的含義如下:U 位:描述了路由器收到一個類型未知的 LSA 時如何處理。取值為 0:表示把未知類型的 LSA 當成具有鏈路本地范圍的 LSA 處理。取值為 1
28、:表示按照 S2/S1 位標識的泛洪范圍來處理。S2/S1 位:共同標識 LSA 的泛洪范圍。取值 00:表示 LSA 只在產生該 LSA 的本地鏈路上泛洪。取值 01:表示 LSA 的泛洪范圍為產生該 LSA 的路由器所在區域。取值 10:表示 LSA 將在整個自治系統內進行泛洪。取值 11:保留。LSA Function Code:LSA 類型編碼,描述 LSA 的類型,類型編碼取值與 LSA 類型的對應關系如表 2 所示。LS ageLink state IDAdvertising RouterLS typeLS sequence numberLS checksumLength01531
29、LS ageLink state IDAdvertising routerOptionsLS typeLS sequence numberLS checksumLength01531OSPFv3 LSA頭格式OSPFv2 LSA頭格式 8 表2 類型編碼取值與 LSA 類型對應關系 類型編碼取值 LSA 類型 1 Router LSA 2 Network LSA 3 Inter Area Prefix LSA 4 Inter Area Router LSA 5 AS External LSA 7 NSSA LSA 8 Link LSA 9 Intra Area Prefix LSA 2.Rou
30、ter LSA OSPFv2 的 Router LSA 格式如圖 6 所示。圖6 OSPFv2 Router LSA 格式 OSPFv3 的 Router LSA 格式如圖 7 所示。與 OSPFv2 相比,OSPFv3 的 Router LSA 格式變化比較大:新增了 Options 字段,用來標識該路由器支持的功能。取消了用來描述路由器連接數量的連接數字段#Links。對鏈路的描述方式發生改變,通過 Interface ID、Neighbor Interface ID 和 Neighbor Router ID 進行綜合描述。與 OSPFv2 不同的字段解釋如下:W:Wild-card,用于
31、 MOSPF,目前我司不支持。Interface ID:所描述鏈路的本地接口 ID。Neighbor Interface ID:所描述鏈路的鄰居路由器的接口 ID。Neighbor Router:所描述鏈路的鄰居路由器 ID。.0#LinksLink IDLink dataTypeTOSLink IDLink data.V0E B#TOSMetric0TOS metric 9 圖7 OSPFv3 Router LSA 格式 3.Network LSA 如圖 8 所示,OSPFv3 的 Network LSA 中新增了 Option 字段,減少了 Network Mask 字段。當網絡類型為廣播
32、網和 NBMA 時,OSPFv3 的 Network LSA 僅僅描述了連接到鏈路上的所有路由器,包括 DR 本身,由于不包含 Network Mask 字段,OSPFv3 的 Network LSA 僅描述了拓撲信息,不再描述路由信息。圖8 OSPFv2 Network LSA 和 OSPFv3 Network LSA 格式對比 4.Inter Area Prefix LSA Inter Area Prefix LSA 的 LSA 類型編碼為 3,相當于 OSPFv2 的 Network Summary LSA。該 LSA通過 PrefixLength、PrefixOptions 以及 Ad
33、dress Prefix 來描述到達區域外的 IPv6 地址前綴的路徑信息。每一個 IPv6 地址前綴都會產生一個單獨的 Inter Area Prefix LSA。對于 Stub 區域,Inter Area Prefix LSA 還可以用來描述缺省路由,描述缺省路由時前綴長度取值為0。OSPFv2 的 Network Summary LSA 格式如圖 9 所示。圖9 OSPFv2 Network Summary LSA 格式 OSPFv3 的 Inter Area Prefix LSA 格式如圖 10 所示。0OptionsV E BWType0MetricInterface IDNeigh
34、bor Interface IDNeighbor Router ID.Type0MetricInterface IDNeighbor Interface IDNeighbor Router IDNetwork MaskAttached Router0OptionsAttached RouterAttached RouterOSPFv2 Network LSA格式OSPFv3 Network LSA格式Network mask.TOSTOS metric0Metric 10 圖10 OSPFv3 Inter Area Prefix LSA 格式 OSPFv3 的 Inter Area Prefi
35、x LSA 與 OSPFv2 Network Summary LSA 不同字段解釋如下:PrefixLength:IPv6 地址前綴長度。PrefixOptions:IPv6 地址前綴選項,用來標識前綴的功能。根據前綴選項的設置,在路由計算過程中允許某些前綴被忽略,或者標識為不用重新公告。Address Prefix:IPv6 地址前綴。如圖 11 所示,前綴選項的長度為一個字節,各字段含義為:P(Propagate):傳播功能位,在 NSSA 前綴上設置,置 1 表示該前綴應該在 NSSA 區域邊界重新公告。MC(Multicast):多播功能位,置位表示該前綴應該包含在 IPv6 多播路由
36、計算中。LA(Local Address):本地地址功能位,置位表示該前綴就是發出該 LSA 的路由器接口的IPv6 地址。NU(No Unicast):非單播功能位,置位表示該前綴不會包括在 IPv6 單播路由計算中。圖11 OSPFv3 PrefixOption PMCLANU 5.Inter Area Router LSA Inter Area Prefix LSA 的 LSA 類型編碼為 4,相當于 OSPFv2 中的 ASBR Summary LSA。OSPFv2的 ASBR Summary LSA 格式與 Network Summary LSA 相同,如圖 9 所示。OSPFv3
37、的 Inter Area Router LSA 格式如圖 12 所示。主要字段描述如下:Metric:到達區域外的目的路由器的路徑開銷。Destination Router ID:區域外的目的路由器的 Router ID。圖12 OSPFv3 的 Inter Area Router LSA 格式 6.AS External LSA AS External LSA 的 LSA 類型編碼為 5,與 OSPFv2 中的 AS External LSA 作用相同。OSPFv2 的 AS External LSA 格式如圖 13 所示。0MetricPrefixLengthPrefixOptions0A
38、ddress Prefix.0OptionsDestination Router ID0Metric 11 圖13 OSPFv2 的 AS External LSA 格式 OSPFv3 的 AS External LSA 格式如圖 14 所示。OSPFv3 的 AS External LSA 與 OSPFv2 AS External LSA 不同字段解釋如下:Address Prefix、PrefixLength、PrefixOptions共同標記了一個自治系統外部的一個IPv6地址前綴。Referenced LS Type:引用的LSA的類型。如果該字段非0,則會有一個LSA與該LSA相關,
39、Referenced LS Type 為與該 LSA 相關的 LSA 類型。Referenced Link State ID:引用的 LSA 的 Link State ID,目前我司不支持。圖14 OSPFv3 的 AS External LSA 格式 7.Link LSA Link LSA 的 LSA 類型編碼為 8,每個路由器都為它所連接的每條鏈路產生單獨的 Link LSA。通過使用 Link LSA:路由器可以把當前接口的鏈路本地地址向該鏈路上的所有其它路由器通告。Network maskForwarding addressMetricExternal route tag.E0Forw
40、arding addressTOS metricExternal route tagETOSMetricLS ageLinke state IDAdvertising Router0LS sequence numberLS checksumLength0715311050E FTPrefixLengthPrefixOptionsReferenced LS TypeAddress Prefix.Forwarding Address(Optional)External Route Tag(Optional)Referenced Link State ID(Optional)12 把自己在這條鏈路上
41、的一系列 IPv6 地址信息向該鏈路上的所有其它路由器通告。為 Network LSA 收集 Option 位。Link LSA 的報文格式如圖 15 所示。圖15 OSPFv3 Link LSA 主要字段解釋如下:Router Priority:路由器優先級。Options:代表當前路由器支持的可選性能。一個鏈路上的所有 Link LSA 的能力并集是Network LSA 的能力。Link Local Interface Address:鏈路本地接口地址。#Prefixes:該 LSA 中所包含的 IPv6 地址前綴個數。8.Intra Area Prefix LSA Intra Area
42、 Prefix LSA 的 LSA 類型編碼為 9,OSPFv3 的設計思想之一就是拓撲信息和路由信息分離,即計算拓撲的基本 LSA(Router LSA 和 Network LSA)中不再含有路由信息。所以原來 OSPFv2中這兩類 LSA 中所攜帶的路由信息由新的 LSA 來描述,于是引入了 Intra Area Prefix LSA。路由器使用 Intra Area Prefix LSA 來公告一個或多個 IPv6 地址前綴,這些地址前綴信息描述如下路由信息:描述路由器自身的路由信息。描述路由器連接到的一個 Stub 網絡的路由信息。OptionsLS ageLinke state ID
43、Advertising Router0LS sequence numberLS checksumLength071531008Router PriorityPrefixLengthPrefixOptions0Link Local Interface AddressAddress Prefix.#PrefixesPrefixLengthPrefixOptions0Address Prefix.13 描述路由器連接到的一個傳輸網絡的路由信息。Intra Area Prefix LSA 的報文格式如圖 16 所示。圖16 OSPFv3 Intra Area Prefix LSA Intra Area
44、 Prefix LSA 描述了 Router LSA 和 Network LSA 所攜帶的路由信息,因此在 Intra Area Prefix LSA中需要標明該LSA引用的Router LSA或Network LSA,這是通過Referenced LS Type、Referenced Link State ID 和 Referenced Advertising Router 字段來聯合標識的。主要字段的解釋如下:#Prefixes:包含的 IPv6 地址前綴的個數。Referenced LS Type:引用 LSA 的類型,取值為 1 表明該 LSA 與 Router LSA 相關,取值為2
45、 表明該 LSA 與 Network LSA 相關。Referenced Link State ID:引用 LSA 的 Link State ID。如果引用的是 Router LSA,此字段值為 0;如果引用的是 Network LSA,此字段值為 DR 在該條鏈路上的 Interface ID。Referenced Advertising Router:引用 LSA 的發布路由器。如果引用的是 Router LSA,此字段值為產生該 LSA 路由器的 Router ID;如果引用的是 Network LSA,此字段值為 DR 的Router ID。3 典型組網典型組網應用應用 如圖17所示,
46、Device ADevice D均運行OSPFv3協議。整個自治系統劃分為3個區域。其中Device B 和 Device C 作為 ABR 來轉發區域之間的路由。將 Area2 配置為 Stub 區域,減少通告到此區域內的 LSA 數量,但不影響路由的可達性。Referenced LS TypeLS ageLinke state IDAdvertising Router0LS sequence numberLS checksumLength071531019#PrefixesReferenced Link State ID.PrefixLengthPrefixOptionsMetricAddress Prefix.PrefixLengthPrefixOptionsMetricAddress Prefix.Referenced Advertising Router 14 圖17 OSPFv3 典型應用組網圖 4 參考文獻參考文獻 RFC 3101:The OSPF Not-So-Stubby Area(NSSA)Option RFC 5340:OSPF for IPv6 StubOSPFv3Area 0OSPFv3Area 1OSPFv3Area 2Device ADevice CDevice BDevice D