目錄
OSPFv3
OSPFv3的概念:
- OSPFv3是基於IPv6的OSPF協議,工作在IPv6上,可支持多協議,OSPFv3在OSPFv2上做了改進,是一個獨立的路由協議,可以支持IPv4和IPv6,
OSPFv3與OSPFv2的相同點:
- 網絡類型和接口類型
- 接口狀態機和鄰居狀態機
- LSDB
- LSA的泛洪機制
- 報文
- SPF算法及SPF計算過程
OSPFv3與OSPFv2的不同點:
OSPFv3 | OSPFv2 | |
---|---|---|
基於鏈路 | 基於子網 | |
利用鏈路本地地址來維持鄰居 | 利用本地接口地址來維持鄰居 | |
報文中移除了協議地址的字段 |
-
- OSPFV3基於鏈路,而OSPFv2基於網段,
- OSPFv3運行在IPv6協議上,IPv6是基於鏈路而不是網段,既不論接口是否配置IPv6地址,也不論路由器間的接口地址是否在同一網段,只要雙方在同一條鏈路上,都可以建立OSPFv3的鄰居關系。
-
- OSPFv3利用鏈路本地地址來維持鄰居。
- OSPFv3使用鏈路本地地址來維持鄰居,同步LSDB,鏈路上的報文,除Vlink外的所有OSPFv3接口都使用鏈路本地地址作為報文源地址
- 這樣的話,不用配置IPv6全局地址,就可以得到OSPFv3拓撲,實現拓撲與地址分離
- 運行IPv6的路由器不轉發目的地址為鏈路本地地址的IPv6報文,此類報文置在本地鏈路有效。
- OSPFv3的虛鏈路,如果是非直連的虛鏈路,那么就不能依賴於鏈路本地地址了,需要使用全球單播地址來建立
-
- OSPFv3協議報文上移除了協議地址
- OSPFv2中的1/2類LSA中含有太多關於ipv4地址的描述,通過觀察OSPFv2的1/2類LSA就可以得知當前運行的協議為IPv4
- OSPFv3中由於IPv6協議地址太長,會過多的占用報文空間,若之后想擴展OSPFv3協議,那么就必須的重新改寫了,重新出一個OSPFv4,於是OSPFv3移除了對協議地址的依賴性,用接口ID來取代本地接口的IP地址,對端接口IP地址,就使用鏈路本地地址
- 這樣意味着拓撲與協議地址分離了,建立鄰居關系的不在依賴於協議地址,並且OSPFv3的1/2類LSA可以為多種協議簇服務,可以同時為IPv4和IPv6創建協議進程,目前華為不支持,所以在當前的雙棧環境下,依舊要創建OSPFv2的進程及OSPFv3的進程
-
- OSPFv3鏈路間的泛洪范圍
- OSPFv3添加了鏈路間的泛洪范圍,新的LSA-8類型僅在可以在鄰居之間通告,其LSA不會被泛洪到其他鏈路,LSA-8承載內容僅在直連的鄰居中通告,不會被泛洪到其他鏈路,LSA-8所承載的內容只在直連鄰居之間有用,用於通告該鏈路上的地址前綴及 link-local地址
-
- OSPFv3支持一條鏈路上多個進程(實例復用)
- OSPFv3在OSPF報文頭中新加了字域:instance id,他是定義在接口上的標識OSPF實例的,取值范圍為0-255,OSPFv2下,一個接口只能運行一個OSPF實例,而在OSPFv3中,可以讓一個接口運行多個OSPF實例,並且在一條鏈路上,只有OSPF實例號相同才能建立OSPF鄰居關系,OSPF實例只在本地有效。這可以使得同一鏈路上出現多個OSPF實例,彼此互不干擾,可以充分利用帶寬資源,
- 實例號出現在OSPFv3頭部報文中,屬於OSPFv3頭部報文新增字段
-
- OSPFv3移除了頭部報文中所有認證字段。
- OSPFv3可以通過IPv6擴展頭部報文中的認證及安全機制
-
- OSPFv3只通過R-ID來標識鄰居
- OSPFv3只通過R-ID來標識鄰居,R-ID一樣是一個32位的數,只能自己手工配置,但是沒有實際意義。
-
- 新增兩種LSA
- Link Lsa :用於在直連鏈路之間宣告地址前綴及Link Local地址,僅僅在兩台設備之間的直連鏈路上泛洪
- intra-Area Prefix LSA:用於向其他路由器宣告本路由器或本網絡地址(BMA/NBMA)的IPv6全局地址信息,在區域內泛。
- 每個設備或DR都會為每一條鏈路產生一個或多個此類LSA,在所屬的區域內傳播
- 設備產生此類LSA,描述於Router-LSA相關聯的IPv6的前綴地址
- DR產生此類LSA,描述與Network-LSA相關聯的IPv6前綴地址。
OSPFv3的泛洪范圍:
-
OSPFv3的LAS頭中沒有Option字域,在OSPFv3頭部報文中Link State Type的長度增加到了16位,利用高三位來做了定義,代表泛洪的范圍
-
U位:U代表OSPFv3如果不識別該LSA的時候怎么做,如果U位沒有置位,僅在直連鏈路鏈路泛洪(類似於Link Lsa),如果U位置位了,跟其他LSA做相同處理。儲存並轉發。
-
S2/S1位:S2組合定義了LSA的泛洪范圍
S2/S1位 泛洪的范圍 00 Link-Local范圍 01 區域內泛洪 10 整個OSPF區域泛洪 11 保留
-
OSPFv3不同類型LSA中Link State id字段的作用:
LSA類型 | 作用 |
---|---|
0x2001 | LSA分片的分片,如若LSA進行了分片,那么通過該值來判斷該LSA在分片中的位置 |
0x2002 | DR接口的ID |
0x2003 | 表示該LSA的數量,通過該值來判斷該LSA屬於第幾份LSA |
0x2004 | ASBR的Router-ID |
0x4005 | 表示該LSA的數量,通過該值來判斷該LSA屬於第幾份LSA |
0x2007 | 表示該LSA的數量,通過該值來判斷該LSA屬於第幾份LSA |
0x0008 | |
0x2009 |
OSPFv3中1/2類LSA的作用:
- 1/2類LSA中只用來描述拓撲信息,沒有描述網絡信息,所以在OSPFv3中,拓撲跟路由是分離的
- OSPFv3通過新增的9類LSA來描述網絡信息,在區域內泛洪,根據1類LSA產生描述鏈路的網絡信息,通過2類LSA來描述DR的網絡信息
- 但是在9類LSA中,用來描述1類LSA的信息時,通過一條LSA可以來描述多條鏈路的網絡信息。
OSPFv3中不同LSA的描述:
-
一類L(0x2001)
Router-LSA (Area 0.0.0.0) LS Age: 32 LS Type: Router-LSA Link State ID: 0.0.0.0 //分片,如果有分片,代表是第幾份LSA Originating Router: 1.1.1.1 //起源R-ID LS Seq Number: 0x80000007 Retransmit Count: 0 Checksum: 0x5EA7 Length: 40 Flags: 0x00 (-|-|-|-|-) Options: 0x000013 (-|R|-|-|E|V6) Link connected to: another Router (point-to-point) //描述P2P網絡 Metric: 1 Interface ID: 0x3 //自己的接口ID Neighbor Interface ID: 0x5 //鄰居的接口ID Neighbor Router ID: 2.2.2.2 //鄰居的R-ID Link connected to: a Transit Network //描述與路由器之間的偽節點網絡 Metric: 1 Interface ID: 0x3 //自己的接口ID Neighbor Interface ID: 0x4 //鄰居的接口ID Neighbor Router ID: 4.4.4.4 //鄰居的R-ID
-
二類LSA (0x2002)
Network-LSA (Area 0.0.0.1) LS Age: 1057 LS Type: Network-LSA Link State ID: 0.0.0.3 //DR的接口ID Originating Router: 4.4.4.4 //起源R-ID(DR的R-ID ) LS Seq Number: 0x80000002 Retransmit Count: 0 Checksum: 0x5399 Length: 36 Options: 0x000013 (-|R|-|-|E|V6) Attached Router: 4.4.4.4 //直連網絡中存在的所有設備的R-ID Attached Router: 2.2.2.2 Attached Router: 3.3.3.3 [R2]
-
三類LSA (0x2003)
Inter-Area-Prefix-LSA (Area 0.0.0.0) LS Age: 675 LS Type: Inter-Area-Prefix-LSA Link State ID: 0.0.0.1 //表示這是第幾份LSA Originating Router: 2.2.2.2 //起源R-ID(ABR的R-ID) LS Seq Number: 0x80000004 Retransmit Count: 0 Checksum: 0x890A Length: 36 Metric: 1 Prefix: 2000:234::/64 //描述的ipv6前綴 Prefix Options: 0 (-|-|-|-|-) //SA中的Option置位 [R1]
-
四類LSA (0x2004)
Inter-Area-Router-LSA (Area 0.0.0.0) LS Age: 32 LS Type: Inter-Area-Router-LSA Link State ID: 3.3.3.3 //ASBR的R-ID Originating Router: 2.2.2.2 //起源R-ID(ABR的R-ID) LS Seq Number: 0x80000001 Retransmit Count: 0 Checksum: 0xED18 Length: 32 Options: 0x000013 (-|R|-|-|E|V6) Metric: 1 Destination Router ID: 3.3.3.3 //ASBR的R-ID [R1]
-
5類LSA (0x4005)
AS-External-LSA LS Age: 139 LS Type: AS-External-LSA Link State ID: 0.0.0.1 //表示這是第幾份LSA Originating Router: 3.3.3.3 //起源R-ID(ASBR的R-ID) LS Seq Number: 0x80000001 Retransmit Count: 0 Checksum: 0x6E4B Length: 40 Flags: (E|-|T) Metric Type: 2 (Larger than any link state path) Metric: 1 Prefix: 3::/64 //描述的外部路由前綴 Prefix Options: 0 (-|-|-|-|-) Tag: 1 [R1]
-
8類LSA (0x0008)
Link-LSA (Interface GigabitEthernet0/0/0) LS Age: 1132 LS Type: Link-LSA Link State ID: 0.0.0.3 Originating Router: 1.1.1.1 LS Seq Number: 0x80000001 Retransmit Count: 0 Checksum: 0x9A48 Length: 56 Priority: 1 Options: 0x000013 (-|R|-|-|E|V6) Link-Local Address: FE80::2E0:FCFF:FE1D:6BE5 //通告自己的鏈路本地地址 Number of Prefixes: 1 Prefix: 2000:12::/64 通告在該鏈路上的所有IPv6鏈路狀態信息 Prefix Options: 0 (-|-|-|-|-)
-
9類LSA (0x2009)
Intra-Area-Prefix-LSA (Area 0.0.0.0) LS Age: 1266 LS Type: Intra-Area-Prefix-LSA Link State ID: 0.0.0.1 Originating Router: 1.1.1.1 LS Seq Number: 0x80000004 Retransmit Count: 0 Checksum: 0xE79F Length: 44 Number of Prefixes: 1 Referenced LS Type: 0x2001 //描述1類LSA Referenced Link State ID: 0.0.0.0 //跟一類LSA描述一致 Referenced Originating Router: 1.1.1.1 Prefix: 2000:12::/64 //描述1類LSA中的Stubnet的網絡信息 Prefix Options: 0 (-|-|-|-|-) Metric: 1 Intra-Area-Prefix-LSA (Area 0.0.0.1) LS Age: 211 LS Type: Intra-Area-Prefix-LSA Link State ID: 0.0.0.1 Originating Router: 4.4.4.4 LS Seq Number: 0x80000004 Retransmit Count: 0 Checksum: 0x4FF8 Length: 44 Number of Prefixes: 1 Referenced LS Type: 0x2002 //描述2類LSA Referenced Link State ID: 0.0.0.3 //跟2類LSA所描述內容一致 Referenced Originating Router: 4.4.4.4 Prefix: 2000:234::/64 //描述2類LSA中的網絡信息 Prefix Options: 0 (-|-|-|-|-) Metric: 0