OSPF 的 LSA 類型彙總(包括 OSPFv2 和 OSPFv3)

參考博客原址:https://blog.csdn.net/neo233/article/details/70893043

OSPF LSA

LSA(Link-State Advertisement,鏈路狀態廣播)是鏈接狀態協議使用的一個分組,它包括有關鄰居和通道成本的信息。 LSAs 被路由器接收用於維護它們的 RIB(路由表)。

OSPF 路由協議是鏈路狀態型路由協議,這裏的鏈路即設備上的接口。鏈路狀態型路由協議基於連接源和目標設備的鏈路狀態作出路由的決定。鏈路狀態是接口及其與鄰接網絡設備的的關係的描述,接口的信息即鏈路的信息,也就是鏈路的狀態(信息)。這些信息包括接口的 IPv6 前綴(prefix)、網絡掩碼、接口連接的網絡(鏈路)類型、與該接口在同一網絡(鏈路)上的路由器等信息。這些鏈路狀態信息由不同類型的 LSA 攜帶,在網絡上傳播。

路由器把收集到的 LSA 存儲在鏈路狀態數據庫中,然後運行 SPF 算法計算出路由表。鏈路狀態數據庫和路由表的本質不同在於:數據庫中包含的是完整的鏈路狀態原始數據,而路由表中列出的是到達所有已知目標網絡的最短路徑的列表。

OSPF 協議是爲 IP 協議提供路由功能的路由協議。OSPFv2(OSPF 版本 2)是支持 IPv4 的路由協議,爲了讓 OSPF 協議支持 IPv6,技術人員開發了 OSPFv3(OSPF 版本 3),OSPFv3 由 RFC2740 定義。

LSA 類型

1、OSPFv2 LSA 類型:
LSA 類型 LSA 類型編號
Router LSA 1
Network LSA 2
Network summary LSA 3
ASBR summary LSA 4
Autonomous system external LSA 5
Group membership LSA 6
NSSA External LSA 7
External attributes LSA for BGP 8
Opaque LSA(鏈路本地範圍) 9
Opaque LSA(本地區域範圍) 10
Opaque LSA(AS 範圍) 11

注意:下面的文字描述還是比較詳細的,如果文字描述確實是太多了,您可以只看字體加粗的部分。再往下還有 LSA 1 / 2 / 3 / 4 / 5 / 7 的類型總結。

(1)路由器 LSA(Router LSA):每一臺路由器都會產生 1 類 LSA 通告。這個最基本的 LSA 通告列出了路由器所有的鏈路或接口,並指明瞭它們的狀態和沿每條鏈路方向出站的代價,以及該鏈路上所有已知的 OSPF 鄰居;另外,1 類 LSA 同時也指出了路由器是不是 ABR 或 ASBR。這些 LSA 通告只會在始發它們的區域內部進行泛洪擴散(如下圖所示)。通過命令 show ip ospf database router 可以查看數據庫中列出的所有路由器 LSA 通告。

1 類 LSA:路由器 LSA1 類 LSA:路由器 LSA

在鏈路狀態 ID 字段中,使用通告路由器的路由器 ID 來標識 1 類 LSA。路由器的每條鏈路(接口)都被定義爲 4 種類型之一:1、2、3 或 4 類。LSA 包含一個鏈路 ID 字段,用於標識鏈路的另一端;鏈路 ID 字段的含義隨鏈路類型而異,下表描述了 1 類 LSA 鏈路類型及其鏈路 ID 字段的含義:

鏈路類型 描述 鏈路 ID 字段的內容
1 到另一臺路由器的點到點連接 鄰居路由器的 ID
2 到中轉網絡的連接 DR 的接口地址
3 到末節網絡的連接 IP 網絡 / 子網號
4 虛鏈路 鄰居路由器的 ID

還有一個鏈路數據字段,它提供了 32 位的額外信息。對於大多數鏈路類型來說,這是相關路由器接口的 IP 地址;對於連接到末節網絡的鏈路來說,這是該末節網絡的子網掩碼。

(2)網絡 LSA(Network LSA):2 類 LSA 是 DR 爲區域中每個中轉的廣播網絡或 NBMA 網絡生成的。中轉網絡至少與兩臺 OSPF 路由器直接相連,諸如以太網等多路訪問網絡就屬於中轉網絡。2 類 LSA 列出了構成中轉網絡的所有路由器(包括 DR 本身)和鏈路的子網掩碼。中轉鏈路的 DR 負責通告 2 類 LSA,2 類 LSA 隨後被擴散到區域內所有的路由器,2 類 LSA 不會跨越區域邊界進行傳播(如下圖所示)。其鏈路狀態 ID 爲通告它的 DR 的 IP 接口地址。使用命令 show ip ospf database network 可以查看網絡 LSA 通告的信息。請注意,和路由器 LSA 不同,網絡 LSA 中沒有度量字段。

關於網絡 LSA 的其他解釋:

DR 路由器可以看作一個“僞”節點,或是一個虛擬路由器,用來描繪一個多路訪問網絡和與之相連的所有路由器。從這個角度來看,一條網絡 LSA 通告也可以描繪一個邏輯上的“僞”節點,就像一條路由器 LSA 通告描繪一個物理上的單臺路由器一樣。網絡 LSA 通告列出了所有與之相連的路由器,包括 DR 路由器本身。就像路由器 LSA 一樣,網絡 LSA 也僅僅在產生這條網絡 LSA 的區域內部進行泛洪擴散。

2 類 LSA:網絡 LSA2 類 LSA:網絡 LSA

(3)網絡彙總 LSA(Network summary LSA):3 類 LSA 由 ABR 生成,它將一個區域內的網絡通告給 OSPF 自治系統中的其他區域(1 類和 2 類 LSA 是被限制在區域內的)。如下圖所示,ABR 從區域內的其他路由器那裏收到 1 類 LSA 後,向外發送 3 類 LSA,以便將通過 1 類 LSA 獲悉的網絡通告給其他區域。3 類 LSA 只在一個區域內擴散,但 ABR 重新生成 3 類 LSA 以便將其擴散到其他區域。使用命令 show ip ospf database summary 可以顯示鏈路狀態數據庫中的網絡彙總 LSA 信息。

3 類 LSA:網絡彙總 LSA3 類 LSA:網絡彙總 LSA

當一臺 ABR 始發一條網絡彙總 LSA 時,將包括從它本身到正在通告的這條 LSA 的目的地所耗費的代價。ABR 即使知道它有多條路由可以到達目的地,它也只會爲這個目的地始發單條網絡彙總 LSA 通告,因此:

  • 如果一臺 ABR 在與它本身相連的區域內有多條路由可以到達目的地,那麼它將只會始發單一的一條網絡彙總 LSA 到骨幹區域,而且這條網絡彙總 LSA 是上述多條路由中代價最低的;
  • 同樣地,如果一臺 ABR 經過骨幹區域從其他的 ABR 收到多條網絡彙總 LSA,那麼這臺始發的 ABR 將會選擇這些 LSA 通告中代價最低的 LSA,並且將把這個 LSA 的最低代價通告給與它相連的非骨幹區域。

默認情況下:

  • OSPF 不會自動對一組連續的子網進行彙總,更不會將網絡彙總成分類網絡;
  • ABR 總是將彙總 LSA 擴散到其他區域,而不管其中的路由是否是彙總路由;
  • ABR 網絡管理員必須使用配置命令來指定如何進行彙總;
  • 對於區域中的每個子網,都將一個 3 類 LSA 擴散到骨幹區域;
  • 彙總 LSA 並不包含彙總路由,因此默認情況下,將通告區域內的所有子網,這可能導致嚴重的擴散問題,所以應考慮在 ABR 上手工配置路由彙總。

注意:收到 3 類 LSA 時,並不會導致路由器運行 SPF 算法。路由器將 3 類 LSA 通告的路由加入路由表或將其從路由表中刪除時,並不一定執行完整的 SPF 計算。調試輸出表明,這將導致執行部分 SPF 計算,但表示 SPF 算法執行次數的計數器並不會加 1。有些 Cisco 文檔暗示 3 類 LSA 被注入區域時將運行 SPF 算法,但情況並非如此。

擴展:

當其他的路由器從一臺 ABR 收到一條網絡彙總 LSA 通告時,它並不運行 SPF 算法。相反地,它只是簡單地加上從它到那臺 ABR 之間路由的代價,並將這個代價包含在這個 LSA 通告當中。通過 ABR 路由器,到達所通告的目的地的路由連同所計算的代價一起被記錄進了路由表。這個行爲 ―― 依賴中間路由器代替確定到達目的地的全程路由(Full route)的做法 ―― 其實是距離矢量協議的行爲。因此,雖然在一個區域內部 OSPF 協議是一個鏈路狀態協議,但是它卻使用了距離矢量的算法來查找域間路由。

(4)ASBR 彙總 LSA(ASBR summary LSA):僅當區域中有 ASBR 時,ABR 纔會生成 4 類 LSA。4 類 LSA 標識 ASBR,並提供一條前往該 ASBR 的路由。前往外部自治系統的數據流要求路由表包含有關通告外部路由的 ASBR 的信息。鏈路狀態 ID 被設置爲 ASBR 的路由器 ID。使用命令 show ip ospf database asbr-summary 可以查看 ASBR 彙總 LSA 的信息。這裏要注意的是,其中目的地是一個主機地址,並且掩碼是 0(通過 ASBR 彙總 LSA 通告的目的地將總是一個主機地址,因爲它是一條到達一臺路由器的路由)。

如下圖所示,ASBR 發送一個 1 類 LSA,並設置 E 位(外部位),指出發送方爲 ASBR。1 類 LSA 被限定在區域內。然而,當 ABR(在路由器 LSA 中用邊界[B]位標識)收到該 LSA 後,它會創建一個 4 類 LSA,並將其擴散到骨幹區域(Area 0)。其他 ABR 將重新生成一個 4 類 LSA,並將其擴散到自己的區域中。

4 類:ASBR 彙總 LSA4 類:ASBR 彙總 LSA

(5)自治系統外部 LSA (Autonomous system external LSA):5 類 LSA 描述了前往 OSPF 自治系統外的網絡的路由(也包括 OSPF 自治系統外部的缺省路由),它由 ASBR 發送並被擴散到整個 AS(如下圖所示)。5 類 LSA 是鏈路狀態數據庫中唯一不與具體的區域相關聯的 LSA 通告(即 O E1 和 O E2 路由不屬於某個 Area,是獨立的)。5 類 LSA 通告將在整個自治系統中進行泛洪擴散。其鏈路狀態 ID 爲外部網絡的網絡號。使用命令 show ip ospf database external 可以查看 5 類 LSA 的信息。

5 類:自治系統外部 LSA5 類:自治系統外部 LSA

鑑於其擴散範圍,如果採用默認設置,即不進行路由彙總,外部 LSA 也可能導致問題,這取決於外部網絡數。網絡管理員應在 ASBR 上對外部網絡塊進行彙總,以緩解擴散問題。

關於 E1 和 E2 外部路由:

  • E1:對於 O E1 外部路由,開銷爲外部開銷加上分組經過的每條鏈路的內部開銷。多個 ASBR 將同一條外部路由通告到同一個自治系統中時,應使用這種類型,以避免次優路由;
  • E2(默認):O E2 路由的開銷總是隻包含外部開銷。只有一臺 ASBR 將外部路由通告到自治系統中時,使用這種類型。

如下圖所示,前往外部自治系統 AS1 的路由的 E2 開銷總是 1785。而 E1 開銷每經過一條鏈路,就加了這條鏈路的 metric(圖中鏈路的 metric 都是 10)。如果有多條前往外部 AS 的路徑,且使用 E2 開銷,則這些路徑之間將沒有差別。

計算 E1 和 E2 路由的開銷計算 E1 和 E2 路由的開銷

(6)組成員 LSA(Group membership LSA):是用在 OSPF 協議的一個增強版本――組播 OSPF 協議(MOSPF協議)中的。MOSPF 協議將數據包從一個單一的源地址轉發到多個目的地,或者是一組共享 D 類組播地址的成員。

(7)NSSA 外部 LSA(NSSA External LSA):是指在非純末梢區域(Not-So-Stubby Area, NSSA)內始發於 ASBR 路由器的 LSA 通告。NSSA 外部 LSA 通告幾乎和 5 類 LSA 通告是相同的。只是不像 5 類 LSA 通告那樣在整個 OSPF 自治系統內進行泛洪擴散,NSSA 外部 LSA 通告僅僅在始發這個 NSSA 外部 LSA 通告的非純末梢區域內部進行泛洪擴散。可以通過命令 show ip ospf database nssa-external 來顯示 NSSA 外部 LSA 通告的信息。

(8) BGP 的外部屬性 LSA(External attributes LSA for BGP):是被提議作爲運行內部 BGP 協議(iBGP 協議)的另一種選擇,以便用來傳送 BGP 協議的信息穿過一個 OSPF 域。這個 LSA 從來沒有在大範圍部署過,IOS 也不支持該 LSA。

(9 ~ 11)不透明 LSA(Opaque LSA):是由標準的 LSA 頭部後面跟隨專用信息組成的一類 LSA。這個信息字段可以直接由 OSPF 協議使用,或者由其他應用分發信息到整個 OSPF 域間接使用。Opaque LSA 類型用於對 OSPF 增加可變的擴展特性,例如在 MPLS 網絡中應用流量工程參數。

  • (9)Opaque LSA(鏈路本地範圍):只在鏈路間泛洪
  • (10)Opaque LSA(本地區域範圍):只在本區域內泛洪
  • (11)Opaque LSA(AS 範圍):在整個 OSPF 域內泛洪

其他相關文章:

2、OSPFv2 LSA 類型總結:
OSPFv2 LSA 類型總結OSPFv2 LSA 類型總結

標註:圖中 ADV 是通告路由器;ABR 是區域邊界路由器;ASBR 是自治系統邊界路由器。

① LSA 1 路由器 LSA(Router LSA)
描述路由器的直連鏈路狀態信息由每個發起路由器通告,只在本區域內傳遞,不會超過 ABR。

② LSA 2 網絡 LSA(Network LSA)
描述本區域內 BMA / NBMA(串行連接信息不會在此出現)的網絡信息以及連接到此網絡的路由器。由本 BMA / NBMA 網絡的 DR 或 BDR 通告,只在本區域傳遞。

③ LSA 3 網絡彙總 LSA(Network summary LSA)
描述 OSPF 的區域間路由(在路由表中以 O IA 標識)。原 LSA 1 所描述的路由信息會由所在區域的 ABR 將其轉換爲 LSA 3。由 ABR 通告,3 類 LSA 只在一個區域內擴散,但 ABR 可以重新生成 3 類 LSA 以便將其擴散到其他區域(但是有的特殊區域會不讓 LSA 3 進)。
注意:LSA 3 每穿越一個 ABR,其 ADV Router(通告路由器)都會發生改變,ADV Router 轉變爲最後一次穿越的 ABR 路由器。

④ LSA 5 自治系統外部 LSA (Autonomous system external LSA)
沒有看錯,這裏是 LSA 5,我們先講 LSA 5 再反過來看 LSA 4。
LSA 5 描述的是 OSPF 區域以外的路由(RIP、EIGRP、BGP 等,在路由表中以 O E1 / O E2 標識)。由 ASBR 通告,LSA 5 可以傳播到整個 OSPF 的所有區域(特殊區域除外)。
注意:LSA 5 的 ADV Router 在穿越 ABR 的時候是不會改變的。

⑤ LSA 4 ASBR 彙總 LSA(ASBR summary LSA)
LSA 4 所承載的內容是:ASBR 的 Router-ID。LSA 4 其實就是圖中 R4(通告路由器)將 Area 3 中 R11 的 Router-ID 信息轉換爲 LSA 4,在整個 OSPF 域中泛洪傳播(特殊區域除外)。LSA 4 由 ABR 通告。

爲什麼需要 LSA 4?由於 LSA 5 的通告路由器在穿越 ABR 的時候不會改變,如圖中 Area 3 的 LSA 5 在穿越 R4 到達 Area 0 時,通告路由器不改變仍然是 R11,因此除了 Area 3,Area 0 和其他區域都不知道 R11 的信息。此時就需要 LSA 4 爲 Area 0 和其他區域提供 R11 的信息,可以這麼說,LSA 4 是爲 LSA 5 所服務的。

⑥ LSA 7 NSSA 外部 LSA(NSSA External LSA):
LSA 7 通告幾乎和 LSA 5 通告是相同的由 ASBR 通告,只是不像 LSA 5 那樣在整個 OSPF 自治系統內進行泛洪擴散,LSA 7 僅僅在始發這個 LSA 7 的 NSSA Area 和 Total NSSA Area 內部進行泛洪擴散。

其他相關文章:

3、OSPFv3 LSA 類型:

在 IPv6 環境下生成和再次生成 LSA 的過程與 IPv4 環境下的過程是相同的。再次生成的 LSA 的序列碼(LS sequence number)遞增,LSA 的生存時間(LS age)被設置爲 0,LSA 被寫入鏈路狀態數據庫中,並從適當的接口擴散出去。在 IPv4 環境下能夠觸發再次生成 LSA 的事件,同樣能夠觸發 IPv6 環境下的路由器再次生成 LSA,除此之外,下列事件或行爲也能夠觸發 IPv6 路由器再次生成 LSA:

  • 任意一個路由器接口狀態的改變;
  • DR 路由器身份的改變;
  • 鄰居路由器從 full 狀態轉變到其它狀態,或者從其它狀態轉變到 full 狀態;
  • 鄰居接口 ID 的改變;
  • 爲鏈路增加了新的地址前綴,或者刪除了某個地址前綴;
  • 收到了新的鏈路 LSA(link-LSA),並引起了鏈路前綴的變化。

OSPFv3 繼承了 OSPFv2 的大多數 LSA 類型,只是名稱上有所改變,並增加了新的 LSA 類型。下表列出了 OSPFv3 使用的 LSA。

表 LSA 類型一覽表

LSA 名稱 LSA 類型編號 LSA 類型編碼
Router-LSA 1 0x2001
Network-LSA 2 0x2002
Inter-Area-Prefix-LSA 3 0x2003
Inter-Area-Router-LSA 4 0x2004
AS-External-LSA 5 0x2005
Group-membership-LSA 6 0x2006
Type-7-LSA 7 0x2007
Link-LSA 8 0x2008
Intra-Area-Prefix-LSA 9 0x2009

(1)路由器 LSA(Router-LSA):描述在特定區域內的路由器接口的鏈路狀態及鏈路開銷。該類型 LSA 僅在接口所在的區域內傳播。該類型 LSA 還指示出產生該類型 LSA 的路由器是否是一臺 ABR 或 ASBR,以及路由器是否是虛鏈路的一端。類型 1 LSA 也被用來通告末端(stub)網絡。

(2)網絡 LSA(Network-LSA):由 DR 產生,用來描述 DR 所代表的網絡的鏈路狀態信息和鏈路開銷信息。該 LSA 是 BMA 網絡上的所有鏈路信息和鏈路開銷信息的集合信息。

(3)區域間前綴 LSA(Inter-Area-Prefix-LSA):這種類型 LSA 在 OSPFv2 中叫做概括的網絡鏈路狀態條目(summary net link states)。該類型 LSA 由 ABR 產生,用來把一個區域內的路由信息通告到另外一個區域。這種類型的 LSA 既可以描述一條具體的路由信息,也可以描述總結的路由信息。在 OSPFv3 中,地址是用前綴和前綴長度表達的,而不再使用地址和掩碼的表達形式。缺省路由的前綴長度用 0 代表。

(4)區域間路由器 LSA(Inter-Area-Router-LSA):由 ASBR 產生,用以通告 ASBR 的位置。試圖把數據送達外網的路由器使用該 LSA 確定通往下一跳的最佳路徑。

(5)自治系統外 LSA(AS-External-LSA):用來攜帶自治系統外路由信息的 LSA。例如,把其它 AS 的路由再發布到 OSPF 中的路由信息。在該類型的 LSA 中,地址用前綴和前綴長度表達,缺省路由的前綴長度用 0 表達。

(6)類型 6 LSA(Group-membership-LSA):用於組播,不做討論。

(7)類型 7 LSA(Type-7 LSA):由 NSSA 中的 ASBR 產生,只在 NSSA 中傳播。在 ABR 上它被轉換成類型 5 並且被擴散到骨幹區域。

(8)鏈路 LSA(Link-LSA):該類型 LSA 僅在本鏈路上傳播,具有以下 3 種目的:向本鏈路上的其它路由器提供路由器的本鏈路地址;向本鏈路上的其它路由器通告 IPv6 地址前綴,使其與本鏈路相關聯;允許路由器在該類型 LSA 中插入一些選項比特,與爲本鏈路產生的網絡 LSA 相關聯。

(9)區域內前綴 LSA(Intra-Area-Prefix-LSA):該類型 LSA 在本區域內傳播,具有以下兩種功能之一:通過參考網絡 LSA 把 IPv6 地址前綴與轉遞網絡(transit network)相關聯;或者通過參考路由器 LSA 把 IPv6 地址前綴與路由器相關聯。一臺路由器可以爲給定的區域產生多個該類型的 LSA,這些 LSA 使用鏈路狀態 ID 字段(Link State ID)區分。DR 爲它所代表的鏈路產生一個或多個該類型的 LSA,向整個區域內通告該鏈路的地址前綴。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章