在進行本篇學習之間,我們需要回顧一下前面的知識。
OSPF在BMA網絡類型的接口上以組播的方式發送hello,LSU,LSACK報文。當路由器需要向DR,BDR發送OSPF報文,使用224.0.0.6作為報文的目的地址;當路由器向所有的路由器發送OSPF報文,使用224.0.0.5。
DR,BDR的概念
在BMA網絡類型下,上圖所示。如果這些路由器都在接口上激活OSPF,這些路由器將會建立n(n-1)/2個鄰接關系。維護關系將會額外消耗設備資源,也增加了LSA的泛洪數量。為優化該場景下的OSPF鄰接數量,減少不必要的協議流量,OSPF會在每個MA網絡中選舉一個DR一個BDR。
DR和BDR是接口級別的概念。在MA網絡中,DR負責確保接入該網絡中的所有OSPF路由器擁有相同的LSDB,即確保LSDB的同步,DR使用224.0.0.5發送更新,drother使用224.0.0.6。
區域設計原則:非骨干區域必須和骨干區域相連;多區域,有且只有一個區域0。
OSPF LSA類型:
1. router LSA:每台路由器都會產生的LSA,描述了該路由器所有的OSPF直連接口的狀況及cost,該LSA只能在接口所屬區域內泛洪。
Type : Router 鏈路狀態類型 8bit
Ls id : 1.1.1.1 LSA的標識。不同類型的LSA,對該字段定義也不同
Adv rtr : 1.1.1.1 產生這條LSA路由器的router-id
Ls age : 957 老化時間,最大老化時間3600s
Len : 36
Options : ABR E
seq# : 80000005 LSA的序列號,判斷LSA的新舊或是否重復
chksum : 0x5cba 校驗和
Link count: 1
* Link ID: 10.0.12.2 link的標識,不同的鏈路類型對鏈路ID的定義不同
Data : 10.0.12.1
Link Type: TransNet 鏈路類型,四種
Metric : 1 開銷
link-type | 描述 | link-id | data |
P2P | 點對點連接另一台路由器 |
鄰居的router-id | 產生該LSA的路由器的接口IP |
TRANSNET | 連接到傳輸網絡 | DR的接口IP | 產生該LSA路由器的接口IP |
STUBNET | 連接到一個末梢網絡 | 網絡IP地址,葉子信息 | 網絡掩碼 |
V-LINK | 虛鏈路 | 鄰居的router-id | 產生該LSA路由器的接口IP |
2. network LSA:DR產生,描述DR所接入的MA網絡中所有與之形成鄰接關系的路由器,包括DR本身,該LSA只能在接口所屬區域內泛洪
Type : Network
Ls id : 10.0.12.2 產生這條LSA2的DR接口IP
Adv rtr : 2.2.2.2
Ls age : 642
Len : 32
Options : E
seq# : 80000005
chksum : 0x9891 與LSA1 相同
Net mask : 255.255.255.0 該MA網絡的掩碼
Priority : Low
Attached Router 2.2.2.2 相連路由器的router-id
Attached Router 1.1.1.1
根據1,2類LSA可使用SPF算法計算出天然無環路的區域內路由
3. network summary LSA:ABR產生,描述到某個區域的目標網段的路由,該類LSA主要用於區域間的路由傳遞。
Type : Sum-Net
Ls id : 10.1.1.1 通告的路由信息,即網段
Adv rtr : 1.1.1.1
Ls age : 1432
Len : 28
Options : E
seq# : 80000005
chksum : 0x8d56
Net mask : 255.255.255.255 掩碼
Tos 0 metric: 100 路徑開銷,自己到達該網段的cost
Priority : Low
*3LSA只能在一個區域內泛洪,為放環三類LSA不允許通告給area0(即非ABR所連區域的LSA),三類LSA可通告給非骨干區域
ASBR summary LSA :ABR產生,描述ASBR。相當於一條到達ASBR的主機路由
AS External LSA:ASBR產生,描述AS外的外部路由
NSSA LSA:ASBR產生,描述AS外的外部路由。僅在產生這個LSA的區域泛洪,不進骨干。NSSA的ABR會將7 LSA 轉換成5LSA注入骨干
介紹完LSA后,下面分析區域內的SPF路由計算
1.構建SPF樹:即根據1.2類LSA中的拓撲信息,構建出SPF樹干。
2.計算最優路由:基於樹干和1類LSA中的路由信息,計算最優路由。
[AR1-ospf-1-area-0.0.0.0]display ospF lsdb router self-originate
Link ID: 10.0.12.2 |
* Link ID: 3.3.3.3 |
* Link ID: 10.0.13.0 |
根據自身所產生的一類LSA發現有兩個拓撲信息,將他們放入候選列表中,先計算cost小的。
此時可以畫出A連接這10.0.12.2(DR),通過12.1 cost1 ,在查看DR發出的2類LSA
Net mask : 255.255.255.0
Priority : Low
Attached Router 2.2.2.2
Attached Router 1.1.1.1
可以通過LS ID和mask算出該MA網絡的網絡號為10.0.12.0,偽節點連接着2.2.2.2,偽節點到2.2.2.2cost0
查看2.2.2.2的一類LSA
Link ID: 10.0.12.2 |
* Link ID: 10.0.235.2 |
* Link ID: 4.4.4.4 |
* Link ID: 10.0.24.0 |
此時可以看到2連接着一個偽節點,一個P2P網絡,而偽節點的cost小,先計算偽節點的。
display ospf lsdb network 10.0.235.2
Net mask : 255.255.255.0
Priority : Low
Attached Router 2.2.2.2
Attached Router 3.3.3.3
Attached Router 5.5.5.5
2表示還連接着3.3.3.3 5.5.5.5 ,2到3的cost為2 2到5的cost也為2,同時計算。第一條1到3的cost 48的lsa不計算
此時,邏輯上的SPF樹已經構建完成,建議畫出邏輯拓撲。
區域間路由計算:
ospf計算區域間路由信息的時候,使用的cost是自己到達ABR的cost,加上三類LSA的cost
ospf計算其他區域內三類LSA的時候,是把LSA3路由直接認為是ABR上的葉子信息,區域間路由發生了變化,不會影響本區域的STP樹而會認為是ABR的葉子信息發生了變化
由於域間路由信息是由ABR傳遞,所以ABR的角色十分重要
ABR的定義:連接多個區域,並在骨干區域有一個活的接口
ABR的行為:將直連區域的區域內路由,轉換成其他域內的LSA3(路由信息)
將骨干區域的3類,轉換成非骨干的3類
放環原則:
1.為了避免區域間的環路,OSPF規定區域之間的路由交互只能通過ABR來完成。而ABR連着骨干,所以非骨干必須與骨干相連,形成星型拓撲,邏輯結構無環。
此時都是ABR,所以會形成環路,推出下面的放環原則
2.ABR不會將非骨干的3類LSA傳到骨干區域。(即area3網段產生的路由經過AR3轉換成3類,AR2不會將該3類傳到area0)
ABR在骨干存在鄰居,不會計算非骨干的LSA
骨干不存在鄰居,計算非骨干的LSA(即3類始發於0,,而不存在鄰居則傳不回來,不會環路,所以可以計算)
3.無論cost,1類總是優於3類(當AR2接口cost1000時,AR1--AR3--AR4--AR2cost小於AR1--AR2,導致環路)相當於水平分割