鏈路狀態通告
此條目沒有列出任何參考或來源。 (2010年6月28日) |
![]() | 此條目可參照外語維基百科相應條目來擴充。 (2020年7月7日) |
鏈路狀態通告(LSA,英文:Link-state advertisement) 描述了所有的鏈路,接口和鄰居等鏈路狀態信息,OSPF路由協議對所有路由信息的描述,都是封裝在鏈路狀態通告LSA中發送出去的。
LSA的類型包括:
- Router LSA
- Network LSA
- Network Summary LSA
- ASBR Summary LSA
- External LSA
- NSSA External LSA
Router LSA
[編輯]每一台運行了OSPF的路由器,都會產生一個Router LSA。Router LSA只在Area內部洪泛。(ABR會為每個Area產生一個不同的Router LSA。ABR跨越了幾個Area,就會產生多少個Router LSA。)
Router LSA的主要內容是:產生這條Router LSA的路由器連接了幾條Link,每條Link的cost是多少。Router LSA的作用:例如,R1在area 0內部,它產生了R1 Router LSA。當Area 0內別的路由器收到R1 Router LSA,就能知道R1連接了哪些Link,並且知道如何到達這些Link,以及到達它們所需要的cost。
Network LSA
[編輯]Network LSA由DR(Designated Router)產生,它只在Area內部洪泛。Network LSA記錄了DR所在的子網有多少台OSPF路由器(必須是與DR建立了Full關係的路由器),以及這些路由器的Router ID。它的作用是讓兩台DROther(非DR路由器)之間計算路由的時候,把彼此當作「下一站」。
在同一個子網中,可能同時連接了N台OSPF路由器,它們需要同步數據庫。如果每兩台之間都去建立Full關係,會增加網絡以及路由器CPU的額外負擔。因此,這N台路由器會選出一個DR,作為代言人。每台路由器都與DR建立Full關係,通過DR同步數據庫。
但是,這樣做會產生一個問題:例如,R1是DR,R2和R3都不是DR,R2和R3都是通過R1同步數據庫。那麼,R2計算到達R3的路徑時,會把R1作為「下一站」,而不會認為R2-R3是直接連接的;同樣,R3計算到達R2的路徑,也會把R1作為「下一站」。為了解決這個問題,DR會產生一個Network LSA,它描述:該子網中有N台路由器,並記錄下每台路由器的Router ID。當R2收到了這個Network LSA,看見名單中有R3,就會在計算路由時,直接把R3看作「下一站」。
Network Summary LSA
[編輯]Network Summary LSA由ABR(Area Border Router)產生。它是用來告訴一個Area內部的路由器,如何到達另一個Area內的某條路徑。
例如,3台路由器直接連接,拓撲圖:R1-R2-R3。R2是一台ABR,R1-R2屬於Area 0,R2-R3屬於Area 1。R1的Router LSA只在Area 0內部洪泛,因此R3無法知道Link R1-R2。於是R2會產生一個Network Summary LSA來描述Link R1-R2。它在Area 1內部洪泛,當R3收到這條Network Summary LSA,就能知道到達Link R1-R2的路徑。
External LSA
[編輯]External LSA由ASBR(Autonomous System Border Router)產生。它是用來通告OSPF AS內部的路由器,如何到達OSPF AS外部的某個地址。External LSA在整個OSPF AS內部洪泛(除了stub area以外)。External LSA是唯一一種跨越Area洪泛的LSA。(External LSA又被稱為AS External LSA)
例如:R1-R2-R3直接連接。R1-R2是OSPF路由器,屬於Area 0;R3運行RIP。R2作為ASBR,運行了OSPF與RIP。為了讓OSPF內部的R1知道Link R2-R3的網絡地址,R2會產生一個External LSA,記錄了2件事情:1)Link R2-R3的網絡地址;2)經過ASBR(R2)能到達Link R2-R3。當R1收到這個External LSA,它會結合R2的Router LSA,計算出到達Link R2-R3的路徑。
ASBR Summary LSA
[編輯]在你了解ASBR Summary LSA之前,你必須先閱讀了解External LSA。ASBR Summary LSA由ABR產生。它是用來通告一個Area內部的路由器:如何到達另一個Area內部的ASBR。
例如:4台路由器R1-R2-R3-R4直接連接。R1,R2,R3是OSPF路由器,R4運行RIP。R3作為ASBR,運行了OSPF和RIP。R1-R2屬於Area 0,R2-R3屬於Area 1。如何讓OSPF路由器知道到達R4的路徑呢?
- R3作為ASBR,產生External LSA,記錄了兩件事情:1)目的地Link R3-R4的IP位址;2)經過R3(ASBR)可以到達這個目的地址。External LSA會在OSPF AS內部所有的Area(stub area除外)內洪泛。
- R3屬於Area 1,所以當Area 1內部的路由器收到External LSA,結合R3的Router LSA就知道了如何到達Link R3-R4。
- R1是Area 0內部的路由器,它收到External LSA以後仍然不知道如何到達Link R3-R4。因為R1不知道如何到達ASBR(R3)。
- R2作為ABR,它知道在Area 1內部有一台ASBR。因此,它會產生一個ASBR Summary LSA,通告Area 0內部的路由器:如何到達Area 1內部的ASBR(R3)。當R1收到這個ASBR Summary LSA,結合External LSA,就知道如何到達Link R3-R4。
NSSA External LSA
[編輯]NSSA External LSA是由NSSA(Not So Stub Area)內部的ASBR產生的。它是讓NSSA內部的路由器,知道如何到達OSPF AS外部的地址。(與AS External LSA的作用相似,但它只在NSSA內部洪泛。)