OSPFv2需要了解的6種LSA,分別是:1類LSA、2類LSA、3類LSA、4類LSA、5類LSA、7類LSA。
開始瞭解每一類之前,我們要先了解LSA的組成,LSA由LSA頭部和LSA內容組成,其中LSA頭部是每一類LSA都相同的,有type、LS ID、ADV是LSA的三要素用於唯一表示一條LSA;age、seq、checksum是用於比較LSA的新舊。
LSA的內容我們下面來具體學習:
Router-LSA:1類LSA,用於描述每臺路由器在所在區域的鏈路狀態信息,每臺路由器都會產生,並且在本區域內泛洪。在1類LSA中有使用四種鏈路類型,來描述不同直連鏈路的信息,每種鏈路類型由link id、data、metric進行描述。
1、transnet:用於描述一個NBMA/BMA網絡的鄰居關係,描述的是拓撲信息。
2、 P2P:用於描述一個P2P/P2MP鏈路上的鄰居,描述的是網絡的拓撲信息。
3、Stubnet:用於描述葉子路由信息,沒有鄰居(即描述自身直連的網絡號),描述直連的路由信息。
4、V-link:用於描述虛鏈路連接的鄰居,描述的是網絡的拓撲信息。
當然和你預想的一樣,1類LSA中不光只存在四種鏈路類型,還有重要的Options(選項)、Flags(標誌)等參數信息。
Options參數有
DN bit:主要是在MPLS VPN網絡中用於防止環路
O bit:表明是否支持9、10、11類LSA
DC bit:是否支持按需鏈路,即OSPF不發送hello報文,但是鄰居不老化
L bit:表明是否支持8類LSA
N bit:表示是否爲NSSA區域,即是否支持7類LSA
MC bit:表示是否支持組播數據包的轉發能力
E bit:表示是否支持外部路由,即5類LSA
MT bit:表示是否支持多拓撲OSPF
Flags參數有
V bit:表示是否存在虛鏈路的鄰居
E bit:表示本路由器是不是ASBR
B bit:表示本路由器是不是ABR
Network-LSA:2類LSA,用於描述NBMA/BMA網絡的鏈路狀態信息,只有在MA網絡纔會產生,由MA的DR產生,在本區域泛洪。描述路由信息和拓撲信息
在2類LSA中,攜帶的link state ID和Netmast用於表示廣播域的路由信息,Attached Router,用於表示所連接的設備,即拓撲信息。
Network-summary-LSA:三類LSA,用於描述區域間路由信息,由區域間ABR產生,並在本區域泛洪,ABR可以將該LSA繼續泛洪到其他區域,但是需要修改ADV和Metric等參數,在跨區域傳遞時,需要逐個區域修改ADV爲ABR的RID,而且該LSA在跨區域傳遞需要累積路由的開銷作爲3LSA的開銷。
下面就是3類LSA的顯示,只通過Link State ID和Netmask描述了其他區域的路由信息。
下面解釋下ABR的功效:
路由器類型ABR:區域間路由器,一般指骨幹區域和非骨幹區域之間的路由器,用於實現區域間的路由的傳遞。
ABR定義:
連接多個區域 且 至少 有一個活動的接口 屬於區域0 的路由器。
如果區域0中沒有活動接口;那麼ABR依然會在非骨幹區域中 通告一類LSA時,option 字段的ABR置位,但是不轉換3LSA進入區域。0,存在vlink的路由器。
ABR 行爲:
1、ABR 將直連區域的區域內路由轉化成其他區域的type 3LSA。
如上圖所示,AR2爲區域0、區域1、區域2的ABR,根據上述定義的ABR的行爲將直連區域內的路由轉化爲其他區域的3類LSA。所以AR2將區域1內的1類、2類轉化爲3類直接通告進區域0和區域2。
ASBR-summary-LSA:四類LSA,用於描述ASBR的信息,輔助5LSA完成外部路由的計算,由ABR產生,在產生區域泛洪,由於該LSA和3LSA是類似的,都是描述區域間的信息(3:路由4:ASBR),所以在傳遞時,傳遞規則是一樣的,ADV會逐個區域改變,metric會逐個區域累積,在進行空引入時,會在其他區域產生4LSA,但沒有5LSA。
下面是4類LSA的顯示,通過Link State ID和Netmask來表示ASBR是誰。值得一說的就是4類LSA描述的是路由信息,即告訴其他路由器怎麼去往ASBR。
AS-external-LSA:五類LSA,用於描述OSPF外部路由信息,由ASBR產生並在OSPF域內泛洪,且在OSPF域內泛洪時ADV Router 是不會被更改的,所以需要四類來進行描述。
下面就是5類LSA的描述信息,在5類LSA中還攜帶了特殊的字段信息,External Type、Forwarding Address。
在解釋External Type和Forwarding Address之前,需要先解釋下ASBR。
ASBR的定義:
1、只要執行了引入動作,路由器就會認爲自己是ASBR。
空引入後,不會產生五類LSA,但是會產生四類LSA。且與ASBR不在同一個區域的路由器,只要有四類LSA,就會計算去往ASBR的路由。(直接OSPF視圖下引入靜態,但是不存在靜態路由)
2、NSSA區域執行7轉5的ABR 也是ASBR
External Type,它是外部路由的開銷類型,OSPF在引入外部路由是都會標註該外部路由開銷的類型。
同ASBR在一個區域內的路由器外部路由計算:
Type 1:(FA地址爲0.0.0.0)
①開銷=自身到ASBR的開銷+引入時路由的開銷
②下一跳=自身到ASBR的下一跳
Type 2:(FA地址爲0.0.0.0)
①開銷=引入時路由的開銷 (但是並不代表 域內不路由器不去找ASBR時,走最優路徑)
②下一跳=自身到ASBR的下一跳
和ASBR不在同一個區域的路由器外部路由計算:
Type 1:(FA地址爲0.0.0.0)
①開銷=通過4類LSA計算到ASBR的開銷+引入時路由的開銷
②下一跳=自身到ASBR的下一跳
Type 2:(FA地址爲0.0.0.0)
①開銷=引入時路由的開銷 (但是並不代表 域內路由器去找ABR時,不走最優路徑)
②下一跳=自身到ASBR的下一跳
外部路由選路機制:(當不同區域引入相同的外部路由時)
Type 1:就是管理員希望按路由意義的最短路徑訪問外部網絡。
①選擇開銷和值小的最優
②如果相同,則負載分擔
Type 2:就是管理員希望按管理意義上最短路由訪問外部網絡。
①引入時開銷小的優先,不考慮AS內部開銷
②引入時開銷相同,選擇到ASBR開銷小的
③引入時開銷相同,到ASBR的開銷也相同,則負載分擔
Forwarding Address,轉發地址
作用:用於優化路徑,如果攜帶轉發地址,則優先查找轉發地址訪問外部路由而不會查找路由表下一跳地址。
攜帶轉發地址的條件:要求ASBR訪問外部路由的出接口滿足以下三個要求
·該接口通告進OSPF
·該接口的網絡類型必須爲BMA或NBMA
·該接口不能時silent-interface
滿足以上三個條件,ASBR在產生五類LSA時會攜帶轉發地址爲ASBR到達外部路由的下一跳
如圖所示,AR1、AR2、AR3在同一個廣播域中,AR1和AR2建立了OSPF鄰居,AR2和AR3建立了RIP鄰居,且AR3存在一條32位的主機路由。AR2將RIP引入OSPF,就會轉發地址置位,置位的轉發地址是AR3的G0/0/0接口的地址。根據上述轉發地址的作用,AR1可以直接根據轉發地址尋找3.3.3.3,下一跳爲AR3。如果沒有轉發地址的存在,那麼AR1去訪問3.3.3.3會先尋找到AR2,由AR2在去往3.3.3.3,下一跳爲AR3。這就是轉發地址的作用。
NSSA AS-External-LSA:7類LSA,和5類LSA作用相同,但是7類LSA只在特殊區域NSSA中才會出現,如果該LSA泛洪到其他區域時會由NSSA區域的ABR進行7轉5的操作,即將7類LSA轉換爲5類LSA,具體解釋下一章OSPF的特殊區域。
7類LSA和5類LSA的內容相同,都是用於描述外部路由信息的,但是7類LSA的轉發地址和5類LSA略有不同。下面時7類LSA的信息。
Forwarding Address:對於7類LSA而言如果和5類LSA產生轉發地址的場景一致,即當被引入路由的出解耦使能在同一個NSSA區域內,而且該出接口爲廣播類型,則FA的取值爲被引入路由的下一跳地址。
如果場景不一致的話:
1. 如果該NSSA區域內存在Loopback接口,則轉發地址的值選取Loopback接口地址
2. 如果沒有Loopback接口,則轉發地址的值選取該NSSA區域內第一個IP的接口地址
3. 如果不符合上述兩個條件,則轉發地址的值爲0