標籤:blank target style 標籤
Technorati 標籤: CCIE,OSPFv3,IPV6,RFC2328
OSPFv2(IPv4)簡要回顧(RFC2328):
--可支援大規模的路由
--路由變化快速收斂
--無路由環路
--支援等價負載平衡(LSA鏈路狀態路由協議,僅僅支援等價,非等價的是EIGRP和BGP可以支援)
--支援地區分級管理
--支援路由分級管理
--支援驗證(明文驗證和MD5的驗證)
--支援以組播發送協議報文(224.0.0.5和224.0.0.6)
OSPFv2的協議號是89.
Router-ID是一個32位的無符號的整數, 是一個路由器的唯一標示,所以一般用環回來表示.在整個AS內唯一.
地區內的路由器(IAR)------該路由器所有介面都屬於同一個ospf地區.
區域界限路由器(ABR)-----負責傳遞不同地區間的路由資訊.該路由器同時屬於兩個以上的地區(其中一個地區一定是area0)
自治系統邊界路由器(ASBR)-----負責引入其他自治系統的路由資訊,該路由器引入了其他路由協議(重分發).
PS.路由器的各種類型是可以相互切換的(除了不能同時是IAR和ABR)
所有類型的路由器用一個圖表示的話:
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://s3.51cto.com/wyfs02/M00/82/2D/wKioL1dNfKGD3dfJAAAuTfM4ISc121.jpg" "244" height="147" />
OSPFv2把所有的網路拓撲抽象成三種情況:
--Stub網路 , 該網路所串連的只有自己的路由.
--Point-to-point網路, 該路由器通過點到點的網路與另一台路由器相連.
--廣播(broadcast)或者NBMA網路: 該路由器通過廣播網路或NBMA網路與多台路由器相串連.
介面類型:(OSPF的介面有五種類型)
-->點到點(P2P)介面
-->點到多點(P2MP)介面
-->點到多點非廣播(P2MP non-broadcast)介面
-->廣播(Broadcast)介面
-->NMBA(Non-broadcast Multi-access)介面
~~~~~~Virtual link介面是一種特殊的P2P介面類型.(建立一個虛擬隧道)
OSPF的洪泛與鏈路狀態資料庫
在OSPF的一個地區裡面,LSA會泛紅到所有路由器,最終讓該地區的所有路由器進行資料庫統一.
通過大家交換LSA.(Type-1,type-2的泛洪)
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://s3.51cto.com/wyfs02/M01/82/2D/wKioL1dNfKLTI3yXAAAlTZaiLcE420.jpg" "244" height="132" />
OSPF資料報文有五種:
-->Hello 報文,發現及維持鄰居關係,選舉DR,BDR
-->DBD報文,描述本地LSDB的情況
-->LSR報文,向對端請求自己沒有的LSA
-->LSU報文,向對方更新LSA
-->LSAck報文,收到LSU後,進行確認
■所有報文使用同樣的報文頭
■除了Vlink,在其他鏈路上傳播距離為一跳.
OSPFv3協議介紹
----運行於IPv6的OSPF路由協議(RFC2740)
---基於OSPFv2基本原理並且增強,是一個獨立的路由協議。協議號依然是89,Router-id依然是一個32位的不帶正負號的整數.[這裡的Router-ID在IPv6中不是一個IP地址的格式了,而是32位不帶正負號的整數]
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://s3.51cto.com/wyfs02/M02/82/2D/wKioL1dNfKPxiQPYAAAr30eVBhM690.jpg" "244" height="147" />
雖然OSPFv3和V2很多概念是一樣的,但是相互並不相容.
OSPFv3和OSPFv2的不同點:
1, 基於串連(Link),而不是網路(subnet)運行
OSPFv3的拓撲描述依賴於IPv6的link-local地址,又脫離於IPv6的任何地址.
其實也就是說,在鏈路上面就算沒有OSPF的單播地址,也照樣能形成鄰居關係.因為源是link-local地址,目的是組播地址,這樣就能完成ospf的互動.
這裡有兩個例子:
OSPFv2,是基於鏈路啟動並執行.例如下面,在同一個MA網路中,一定是大家要子網網段一直,掩碼一致,才能建立鄰居關係.
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://s3.51cto.com/wyfs02/M00/82/2D/wKioL1dNfKSikSnoAAAztYd4ebo973.jpg" "244" height="239" />
而OSPFv3如下,每個路由器串連到MA網路中,子網都是不同的.
RTA=5f00.1111::1/32 RTB=5f00.2222::1/32 RTC=5f00.3333::1/32
即使是這樣,他們一樣的能建立起來OSPF鄰居關係,因為使用的是link-local為源地址.
因為拓撲資料庫要描述的東西完全和地址沒有關係,資料庫需要描述的是RTA/B/C在同一個子網,cost是多少就夠了.(具體的網段和資料庫沒有多大關係)
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://s3.51cto.com/wyfs02/M01/82/2F/wKiom1dNe6ejB2b3AAA9_EmVJpE822.jpg" "244" height="243" />
2,IPv6地址語義和協議設計分離
OSPFv3的拓撲描述依賴於IPv6的link-local地址,又脫離於IPv6的任何地址.
其實也就是說,在鏈路上面就算沒有OSPF的單播地址,也照樣能形成鄰居關係.因為源是link-local地址,目的是組播地址,這樣就能完成ospf的互動.
具體在哪裡體現出語義和協議設計分離呢?
1,利用IPv6的link-local地址來傳遞網路拓撲資訊,但是拓撲資訊裡不包括IPv6地址.
2,Router-LSA和Network-LSA只反映網路拓撲資訊;
3,採用專門的LSA來傳遞IPv6的首碼資訊(Intra-area prefix LSA)
4,Router-ID,Area ID和LSA link state ID依然是IPv4的格式(32bit),而不是IPv6地址
5,鄰居由於鄰居Router ID來標示.
3,明確LSA洪泛範圍並且增加link-local洪泛範圍
IPv4中,router-LSA和network-LSA在本地區內進行泛洪.Type-3 summary LSA是在地區間泛洪,type-4是地區間,type-5是全網泛洪.....但是這個範圍不外乎都是地區內或者地區間進行泛洪.
但是對於OSPFv3來說,還增加了一個鏈路範圍進行泛洪.
1, 新增加了Type-8的LSA,僅僅在本地鏈路範圍內進行洪泛.泛洪範圍:鏈路本地(link-local scope)
2, 地區範圍(Area Scope): Router-LSA, Network LSA, Inter-area-Prefix-LSA
Inter-Area-Router-LSA, AS-NSSA-LSA(僅僅存在於NSSA地區)
Intra-Area-prefix-LSA(新增)
3, 自治系統範圍(AS Scope): AS-External-LSA
| 泛洪範圍 |
|
| 鏈路本地泛洪 |
Link-LSA(Link-local Scope) Type-8 |
| 地區內泛洪 |
Router-LSA(Type-1) |
| |
Network-LSA(Type-2) |
| |
Intra-Area-Prefix-LSA(承載地區內IPv6的首碼) Type-9 |
| NSSA地區內 |
AS-NSSA-LSA(Type-7) |
| 地區間泛洪 |
Inter-Area-Prefix-LSA |
| |
Inter-Area-Router-LSA |
| AS內泛洪 |
AS-External-LSA(type-5) |
4,串連(Link)多執行個體化
多執行個體的應用.
情境1:這裡A/B/C/D都在同一個子網中,預期的結果是:
A--D形成鄰居/鄰接關係.
B--C形成鄰居/鄰接關係.
A-X-C沒有任何關係. B-X-D也沒有任何關係.
在IPv4中是不行的,但是在IPv6中,在Hello包中增加一個叫Instance-ID的欄位.也作為一個必須匹配欄位,不同就不能建立鄰居.
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://s3.51cto.com/wyfs02/M02/82/2D/wKioL1dNfKaAcneJAAAyx0Bxbiw212.jpg" "241" height="244" />
5,使用鏈路本地(link-local)地址
除了Virtual link以外(虛鏈路實際上是一個隧道技術,已經超出了鏈路範圍),其他的鏈路上發送的報文源地址都是link-local地址,目的地址為link-local地址或者是組播地址.[實際上就是根本不會用單播地址進行協商]
6,驗證與效驗和變化
OSPFv3報文中不再包含AuType和Authentication,而依賴IPv6的擴充驗證封裝頭來進行認證.
效驗和checksum變化:
OSPFv3使用IPv6標準的check sum. IPv6的效驗和覆蓋範圍比較IPv4,將會覆蓋IPv6的包頭.
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://s3.51cto.com/wyfs02/M02/82/2F/wKiom1dNe6mTOde4AAAjRXx-fB8039.jpg" "244" height="98" />
7,報文格式變化
下面是OSPFv2和V3的包頭的變化:
在V2中,認證有很多欄位,到了V3以後就沒有了.
但是V3多增加了一個Instance ID,這樣就可以做多執行個體的鄰居關係了。
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://s3.51cto.com/wyfs02/M00/82/2D/wKioL1dNfKiRPoMhAAAppCGcMVQ254.jpg" "244" height="111" />
OSPFv3包頭欄位的描述:
--Version:版本,對於OSPFv2,該值=2,OSPFv3=3.
--Type: 1-Hello,2-DD,3-LSR,4-LSU,5-LSAck
--Packet Length: OSPFv3報文長度
--Router ID:路由器ID,全網唯一.
--Area ID:地區ID,除了虛串連以外.其他的都需要和骨幹地區相串連.
--Checksum:效驗和
--Instance ID:鏈路執行個體ID.建立鄰居的時候必須匹配,否則2way都建立不起來.V3新增加欄位.
8,LSA類型和格式的變化
除了第六是從來沒有啟用過的,8和9和新增加的.
650) this.width=650;" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://s3.51cto.com/wyfs02/M02/82/2D/wKioL1dNfKmjPRQNAAA9XAMbEas288.jpg" "244" height="153" />
OSPFv3 和OSPFv2的大致比較