目錄
LSA的頭部結構
LSA類型
LSA數據包
LSA的主要作用是傳遞路由信息。
LSA的頭部結構
共占20個字節,不同類型的LSA頭部字段部分都是相同的。
-
鏈路狀態老化時間(Link-State Age)
-
2個字節。指示該條LSA的老化時間,即它存在了多長時間,單位為秒。
-
正常情況下,一條LSA的存在時間為1800秒。計時達到1800秒時歸零,開始重新計時。
-
最大老化時間為3600秒。當一條LSA計時達到3600秒時,會被認定為失效,將從本地LSDB中刪除。
-
當網絡拓撲變更時,有關的LSA不論計時多少,都將會立即更新。
-
-
可選項(Options)
-
1個字節。每一個比特位都對應了OSPF 所支持的某種特性。和hello包中的一樣,包含特殊區域標記。
-
E:是否允許泛洪AS-External-LSA(5類LSA)。
-
MC:轉發IP組播報文。
-
N/P:處理Type-7 LSA。
-
DC:處理按需鏈路。
-
-
-
鏈路狀態類型(Link-State Type)
-
1個字節。指示本條LSA的類型。每種 LSA用于描述OSPF 網絡的某個部分,所有的LSA類型都定義了相應的類型編號。
-
Type1:Router-LSA
-
Type2:Network-LSA
-
Type3:Network-summary-LSA
-
Type4:ASBR-summary-LSA
-
Type5:AS-External-LSA
-
Type7:NSSA-LSA
-
-
-
鏈路狀態ID(Link-State ID)
-
4個字節。LSA的標識。不同的LSA類型,對該字段的定義是不同的。作用是與LSA數據包中的LS Type和LSA description一起描述一個LSA。
-
-
通告路由器(Advertising Router)
-
4個字節。始發路由器, 產生該LSA的路由器的Router-ID。
-
-
鏈路狀態序列號(Link-Sate Sequence Number)
-
4個字節。該LSA的序列號,該字段用于判斷LSA的新舊或是否存在重復。一般存儲在LSDB中的LSA的序列號都是最新的。
-
-
鏈路狀態校驗和(Link-State Checksum)
-
2個字節。驗證數據真實性。
-
校驗和會參與LSA的新舊比較。當兩條LSA三元組相同,并且序列號也相同時,則可以使用校驗和比較,和大的認定為新。
-
-
長度(Length)
-
2個字節。一條LSA的總長度(包括包頭)。
-
LSA類型
這里只介紹6種常用LSA。
-
Router-LSA(1類)
-
描述區域內部每一個路由器與其直連的路由器的鏈路信息(包括鏈路類型、開銷值等)。
-
這類LSA僅在區域內傳遞。
-
每一臺路由器都會產生這類LSA。
-
-
Network-LSA(2類)
-
描述區域內的MA網絡(廣播網絡、NBMA網絡)鏈路的路由器及掩碼信息,僅在區域內部傳輸。
-
僅在區域內傳輸。
-
只由DR產生。
-
-
Summary-LSA(3類)
-
在整個OSPF區域內,描述其他區域的鏈路信息。
-
以子網形式傳播,類似于轉遞路由信息。
-
只由ABR產生。
-
該類LSA跨區域傳播時,因轉發時的通告路由器不同,故與非跨區域傳輸情況下相比,雖然描述的是同樣的信息,但不是同一條LSA。
-
-
Asbr-summary-LSA(4類)
-
描述到ASBR的信息。
-
只由ABR產生,且在ASBR本區域內的路由器不會產生到達該ASBR設備的4類LSA。
-
-
AS-extenal-LSA(5類)
-
傳遞域外路由信息。
-
描述AS外部引入的路由信息,會傳播到AS內的所有區域(除特殊區域)。
-
只由ASBR產生。
-
5類LSA生成的路由信息標志為O_ASE,優先級為150。
-
-
NSSA-LSA(7類)
-
描述在NSSA區域引入的AS外部路由信息。
-
由NSSA區域的自治域邊界路由器ASBR產生。
-
只出現在NSSA和Totally-NSSA區域,不進入區域0(骨干區域)。
-
7類LSA生成的路由信息標志為O_NSSA,優先級為150。
-
LSA數據包
1類LSA(Router-LSA)
該類型LSA頭部中的鏈路狀態ID(Link-State ID)為生成LSA的Router ID。
-
0(無含義)
-
標志位
-
V位(Virtual Link Endpoint Bit):如果該位置為1,表示該路由器為Virtual Link的端點。路由器啟用虛鏈路功能,該位會被置為1。
-
E位(External Bit):該位置為1,則表示該路由器為自治系統邊界路由器(ASBR)。
-
B位(Border Bit):該位置為1,則表示該路由器為區域邊界路由器(ABR)。
-
-
0(無含義)
-
鏈路數量(links)
-
該條LSA描述的鏈路信息數量,包括路由器上處于某區域中的所有鏈路和接口。
-
-
鏈路ID(Link ID)
-
路由器所接入的目標,其值取決于連接的類型。
-
當鏈路類型為Trans net時
-
該字段為本網絡的DR的IP地址。
-
-
當鏈路類型為P2P時
-
該字段為該網段對端的路由器的Router id。
-
-
當鏈路類型為末梢網絡時
-
該字段為該網段的網絡地址。
-
-
當鏈路類型為虛擬鏈路時
-
該字段為虛鏈路鄰居的Router id。
-
-
-
鏈路數據(Link Data)
-
連接數據,其值取決于連接的類型。
-
當鏈路類型為Trans net時
-
該字段為本路由器在該網段的IP地址。
-
-
當鏈路類型為P2P時
-
該字段為本路由器在該網段的與對端路由器相連的接口IP地址。
-
-
當鏈路類型為末梢網絡時
-
該字段為該網段的子網掩碼。
-
-
當鏈路類型為虛擬鏈路時
-
該字段為去往該虛連接鄰居的本地接口的IP地址。
-
-
-
鏈路類型(Type)
-
描述該接口的二層類型
-
值為1表示該路由器是點到點連接到另一臺路由器,即P2P網絡(PPP)。
-
值為2表示該路由器是連接到傳輸網絡,即Trans net網絡(NBMA或者廣播網絡)。
-
值為3表示該路由器是連接到stub網絡,即末梢網絡(P2P或者環回口,由Data中的子網掩碼判斷具體類型,只有環回口能有32位的掩碼)。
-
值為4表示是虛擬鏈路(虛鏈路)。
-
-
-
TOS的數量
-
連接不同的TOS數量。
-
-
度量值(metric)
-
鏈路的開銷值。
-
-
TOS
-
服務類型。
-
-
0(無含義)
-
TOS度量(TOS metric)
-
和指定TOS值相關聯的度量。
-
-
鏈路ID、鏈路數據……
-
描述下一條鏈路信息。
-
2類LSA(Network-LSA)
該類型LSA頭部中的鏈路狀態ID(Link-State ID)為DR的接口IP地址。
-
網絡掩碼(Network Mask)
-
該MA網絡中的網絡地址掩碼信息。
-
-
連接路由器(Attached Router)
-
連接在同一個網絡上的所有路由器的Router ID。如果有多臺路由器接入 MA 網絡,就使用多個字段描述。
-
3類LSA(Summary-LSA)和4類LSA(Asbr-summary-LSA)
3類和4類LSA具有相同的格式,它們都是由ABR產生。
Summary-LSA中,LSA頭部中的鏈路狀態ID(Link-State ID)為通告的網絡地址。
ASBR Summary LSA中,LSA頭部中的鏈路狀態ID(Link-State ID)表示ASBR的Router ID。
-
網絡掩碼(Network Mask)
-
Summary-LSA中,該MA網絡中的網絡地址掩碼信息。
-
ASBR-Summary-LSA中,此字段無意義,設置為0.0.0.0(RFC規定)。
-
-
度量值(metric)
-
Summary-LSA中,為ABR到達目的地址的開銷值。
-
ASBR-Summary-LSA中,為ABR 自己到達 ASBR 的開銷值。
-
-
TOS
-
服務類型。
-
-
TOS metric
-
和指定TOS值相關聯的度量。
-
-
注意
-
在通告缺省路由時,Link State ID和Network Mask都設置為0.0.0.0。
-
5類LSA(AS-External-LSA)
該類型LSA頭部中的鏈路狀態ID(Link-State ID)為通告的網絡地址。
-
網絡掩碼(Network Mask)
-
通告的目的地址掩碼信息。
-
-
E
-
外部度量值類型
-
0代表為第一類外部路由。
-
1代表為第二類外部路由。
-
-
-
度量值(metric)
-
到達目的地址的開銷值。
-
-
轉發地址(Forwarding Address)
-
到所通告的目的地址的報文將被轉發到這個地址。
-
該字段如果非0,數據包直接發往FA地址(通常為ASBR的下游接口地址),如果為0,數據包發往ASBR的Router ID。
-
-
外部路由標簽(External Route Tag)
-
添加到外部路由上的標記。OSPF本身并不使用這個字段,它可以用來對外部路由進行管理(如與路由策略配合等)。
-
-
TOS
-
服務類型。
-
-
TOS metric
-
TOS附加的距離信息。
-
-
注意
-
AS-External-LSA的LSA可以用來通告缺省路由,此時Link State ID和Network Mask都設置為0.0.0.0。
-
7類LSA(NSSA-LSA)
7類和5類LSA的報文格式基本一樣。
-
需要要注意的是,NSSA-LSA數據包中具有一個傳播位(P-bit),由ASBR設置,該字段置1時,ABR會將此7類LSA轉換為5類LSA。為0時,則僅保留在NSSA內部,不轉換。