OSPFv2的LSA https://blog.51cto.com/xxy12345/2572343網絡
OSPFv2的報文格式https://blog.51cto.com/xxy12345/2518384ide
1. 與OSPFv2相比,取消了Option字段。性能
2. Link State ID 隨機生成,再也不有具體含義,用來同Advertising Router、LS Sequence Number字段一同標識一個LSA。編碼
3. OSPFv2中的LS Type長度爲8比特,指定LSA的類型;OSPFv3的LSA Type字段由OSPFv2的8比特擴充爲16比特。spa
l U位:描述了路由器收到一個類型未知的LSA時如何處理,取值爲0表示把類型未知LSA當成具備鏈路本地範圍的LSA同樣處理,取值爲1表示按照S2/S1位標識的泛洪範圍來處理。設計
l S2/S1位:共同標識LSA的泛洪範圍,取值00表示LSA只在產生該LSA的本地鏈路上泛洪;取值01表示LSA的泛洪範圍爲產生該LSA的路由器所在區域;取值10表示LSA將在整個自治系統內進行泛洪;取值11保留。3d
l LSA Function Code:LSA類型編碼,描述LSA 的類型,類型編碼取值與LSA類型的對應關係以下表所示(與OSPFv2對比)。orm
類型blog |
OSPFv3 LSA類型接口 |
OSPFv2 LSA類型 |
1 |
Router LSA |
Router LSA |
2 |
Network LSA |
Network LSA |
3 |
Inter Area Prefix LSA |
Network Summary LSA |
4 |
Inter Area Router LSA |
ASBR Summary LSA |
5 |
AS External LSA |
AS External LSA |
6 |
Group Membership LSA |
|
7 |
NSSA AS External LSA |
|
8 |
Link LSA |
|
9 |
Intra Area Prefix LSA |
抓包對比
1 Router-LSA(type 1)
上圖爲OSPFv2 Router LSA格式,下圖爲OSPFv3 Router LSA格式,都不包含LSA頭部。
與OSPFv2相比,OSPFv3的Router LSA格式變化比較大:
l 新增了Options字段,用來標識該路由器支持的功能。
l 取消了用來描述路由器鏈接數量的鏈接數字段#Links。
l 對鏈路的描述方式發生改變,經過Interface ID、Neighbor Interface ID和Neighbor Router ID進行綜合描述。
與OSPFv2不一樣的字段解釋以下:
l W:(Wild-card):用於MOSPF,其餘字段含義見https://blog.51cto.com/xxy12345/2518384,6.2 Router-LSA格式
l Interface ID:所描述鏈路的本地接口ID。
l Neighbor Interface ID:所描述鏈路的鄰居路由器的接口ID。
l Neighbor Router:所描述鏈路的鄰居路由器ID。
抓包分析
2 Network LSA(Type 2)
與OSPFv2相比:OSPFv3的Network LSA中新增了Option字段,減小了Network mask字段。當網絡類型爲廣播網和NBMA時,OSPFv3的Network LSA僅僅描述了鏈接到鏈路上的全部路由器,包括DR自己,因爲不包含Network mask字段,OSPFv3的Network LSA僅描述了拓撲信息,再也不描述路由信息。
抓包分析
3 Inter Area Prefix LSA(Type3)
至關於OSPFv2的Network Summary LSA。
經過PrefixLength、PrefixOptions以及Address Prefix來描述到達區域外的IPv6地址前綴的路徑信息,每個Pv6地址前綴都會產生一個單獨的Inter Area Prefix LSA。
對於Stub區域,Inter Area Prefix LSA還能夠用來描述缺省路由,描述缺省路由時前綴長度取值爲0。
與OSPFv2 Network Summary LSA不一樣字段解釋以下:
l PrefixLength:IPv6 地址前綴長度。
l PrefixOptions:IPv6 地址前綴選項,用來標識前綴的功能,根據前綴選項的設置,在路由計算過程當中容許某些前綴被忽略,或者標識爲不用從新通告。
l Address Prefix:IPv6 地址前綴。
前綴選項一個字節長度,如上圖。
l P(Propagate):傳播功能位,在NSSA前綴上設置,置1表示該前綴應該在NSSA區域邊界從新通告。
l MC(Multicast):多播功能位,置位表示該前綴應該包含在IPv6 多播路由計算中。
l LA(Local Address):本地地址功能位,置位表示該前綴就是發出該LSA的路由器接口的IPv6 地址。
l NU(No Unicast):非單播功能位,置位表示該前綴不會包括在IPv6 單播路由計算中
抓包分析
4 Inter Area Router LSA(Type4)
至關於OSPFv2中的ASBR Summary LSA,OSPFv2的Type4 LSA與Type3 LSA格式一致。OSPFv3的Type 4 LSA格式比對以下:
主要字段描述以下:
l Metric:到達區域外的目的路由器的路徑開銷。
l Destination Router ID:區域外的目的路由器的Router ID。
抓包分析
5 AS External LSA(Type5)
至關於OSPFv2中的AS External LSA,
OSPFv3的AS External LSA與OSPFv2 AS External LSA不一樣字段解釋以下:
l Address Prefix、PrefixLength、PrefixOptions共同標記了一個自治系統外部的一個IPv6 地址前綴。
l Referenced LS Type:引用的LSA的類型。若是該字段非0,則會有一個LSA與該LSA相關,Referenced LS Type 爲與該LSA相關的LSA類型。
l Referenced Link State ID:引用的LSA的Link State ID。
抓包分析
6 Group Membership LSA(Type6)
組播OSPF(MOSPF)使用。
7 NSSA AS External LSA(Type7)
OSPFv2 NSSA區域ASBR引入外部路由生成,僅在NSSA區域通告,OSPFv3沒有該類型LSA。
8 Link LSA(Type8)
OSPFv3新引入的LSA,用於通告本身的本地鏈路地址信息。每一個路由器都爲它所鏈接的每條鏈路產生單獨的Link LSA。
l 向鏈路上的其餘路由器通告本地鏈路(Link-local)地址,OSPFv3 Router-LSA中的Link Data移除了協議地址,代之以接口ID,在計算路由時須要增長接口ID的下一跳ipv6地址,經過Link LSA通告的信息知曉接口ID與Link-local地址的對應關係。
l 通告關聯在路由器上且出如今該鏈路上的全部Ipv6前綴信息。在OSPFv3中,區域內節點的全部前綴信息都在Intra-Area Prefix LSA中,但該LSA沒有說明哪些前綴各自對應着哪條鏈路,Link LSA負責通告指定鏈路上的前綴信息。
l 若是是MA網絡,爲Network LSA收集Option位。
主要字段解釋以下:
l Router Priority:路由器優先級。
l Options:表明當前路由器支持的可選性能。一個鏈路上的全部Link LSA的能力並集是Network LSA的能力。
l Link Local Interface Address:鏈路本地接口地址。
l # prefixes:該LSA中所包含的IPv6 地址前綴個數。
抓包分析
9 Intra Area Prefix LSA(Type9)
OSPFv3的設計思想之一就是拓撲信息和路由信息分離:計算拓撲的基本LSA(Router LSA和Network LSA)中再也不含有路由信息,因此原來OSPFv2中這兩類LSA中所攜帶的路由信息由新的LSA來描述,因而引入了Intra Area Prefix LSA。
路由器使用Intra Area Prefix LSA來通告一個或多個IPv6地址前綴,這些地址前綴信息描述以下路由信息:
l 描述路由器自身的路由信息;
l 描述路由器鏈接到的一個Stub網絡的路由信息;
l 描述路由器鏈接到的一個傳輸網絡的路由信息。
Intra Area 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字段來聯合標識的。
主要字段的解釋以下:
l # Prefixes:包含的IPv6 地址前綴的個數。
l Referenced LS Type:引用LSA的類型,取值爲1代表該LSA與Router LSA相關,取值爲2代表該LSA與Network LSA相關。
l Referenced Link State ID:引用LSA 的Link State ID。若是引用的是Router LSA,此字段值爲0;若是引用的是Network LSA,此字段值爲DR在該條鏈路上的Interface ID。
l Referenced Advertising Router:引用LSA 的發佈路由器。若是引用的是Router LSA,此字段值爲產生該LSA 路由器的Router ID;若是引用的是Network LSA,此字段值爲DR的Router ID。
抓包分析
10 新LSA的特色(LSA8/9)
LSA8實現了拓撲和協議地址的分離,LSA1/2移除了對協議地址的依賴,再也不包含接口的協議地址,而以接口ID代之,這實現了拓撲和協議的分離,可是在計算路由時依舊須要下一跳地址,分離後的協議地址由LSA8提供。
同時,LSA9通告區域內前綴,但因爲LSA1/2用ID表示,沒法說明LSA9所包含的前綴屬於哪一個接口,因此LSA8在完成接口ID和接口Link-local地址對應的同時,還包含接口上所包含的前綴。
通告Link-local 地址、前綴、接口ID的LSA8僅須要直連路由器知曉接口,所以LSA8僅在直連鏈路上泛洪。
LSA9實現了拓撲和網絡信息的分離。LSA9通告每一個節點(包括虛節點和實節點)的網絡信息,其內容是原LSA1中Subnet和LSA2中的網絡信息,區域內的網絡信息由LSA9來提供(type值實際=2009,S2/S1位=01,表明區域內泛洪),這樣網絡信息的變化(如接口前綴變化)僅僅影響了LSA9,不會影響拓撲變動(拓撲又LSA1/LSA2生成)。
不論須要支持何種協議,OSPFv3僅須要改造LSA8和LSA9,LSA1/2無需變更。這使得OSPFv3具有很強的擴展性和支持多協議的能力。
由於只有LSA1/LSA2變更纔會觸發拓撲更新(SPF計算),網絡信息的變化都有LSA9通告,所以OSPFv3具有更快的收斂。