OSPF採用劃分區域的方式,將一個大網絡劃分爲多個相互鏈接的小網絡。每一個區域內的設備只需同步所在區域內的鏈路狀態數據庫,必定程度上下降內存及CPU的消耗。劃分區域後,根據路由器所鏈接區域的狀況,可劃分兩種路由器角色
① 區域內部路由器(Internal Router):該類設備的全部接口都屬於同一個OSPF區域
② 區域邊界路由器(Area Border Router):簡稱ABR,該類設備接口分別鏈接兩個及兩個以上的不一樣區域。ABR設備至少有一個接口屬於骨幹區域, 它與骨幹區域之間既能夠是物理鏈接,也能夠是邏輯上的鏈接
③ 骨幹路由器(Backbone Router):該類設備至少有一個接口屬於骨幹區域 全部的ABR和位於Area0的內部設備都是骨幹路由器
面試
區域內部路由器維護本區域內的鏈路狀態信息並計算區域內的最優路徑
區域邊界路由器做爲區域間通訊的橋樑,同時維護所鏈接多個區域的鏈路狀態數據庫
ABR將一個區域內的鏈路狀態信息轉化成路由信息,而後發佈到鄰居區域
鏈路狀態信息轉換成路由信息其實就是將一類和二類LSA轉化成三類LSA的過程。注意,區域間的路由信息在ABR上是雙向傳遞的
以Area 1中RTD上的192.168.1.0/24的網絡爲例,其對應的一類LSA在Area 1中同步;做爲Area 1和Area 0之間ABR的RTB負責將192.168.1.0/24的一類LSA轉換成三類LSA並將此三類LSA發送到Area 0。做爲Area 0和Area 2之間ABR的RTC,又從新生成一份三類LSA發送到Area 2中,至此全OSPF區域內都收到192.168.1.0/24的路由信息。RTE上192.168.2.0/24的路由信息同步過程也是這樣
算法
<RTB>display ospf lsdb summary 192.168.1.0 OSPF Process 1 with Router ID 2.2.2.2 Area: 0.0.0.0 Link State Database Type : Sum-Net //三類LSA Ls id : 192.168.1.0 //目的網段地址 Adv rtr : 2.2.2.2 //產生此三類LSA的Router ID Ls age : 86 Len : 28 Options : E seq# : 80000001 chksum : 0x7c6d Net mask : 255.255.255.0 //網絡掩碼 Tos 0 metric: 1 //開銷值 Priority : Low
Network-Summary-LSA(三類LSA)中主要包括如下內容:
① Ls id:目的網段地址
② Adv rtr:ABR的Router ID
③ Net mask:目的網段的網絡掩碼
④ Metric:ABR到達目的網段的開銷值
總結以下:
① LAS-3描述的是路由信息 沒有拓撲信息內容
② LSA-3在區域之間進行泛洪(也就是傳遞)
思考以下:
a) 192.168.1.0/24通過RTB轉換LSA-3在area 0中泛洪 通過RTC設備後,這個LSA-3有沒有變化呢?
b) 區域內路由器接收描述其餘區域網絡信息的三類LSA後,OSPF路由器又是怎麼基於三類LSA來計算出區域間路由的呢?數據庫
ABR產生的三類LSA將用於計算區域間路由,根據三類LSA中的Adv rtr字段,判斷出ABR 根據Ls id、Net mask、Metric字段得到ABR到達目的網絡號/掩碼、開銷
若是多個ABR產生了指向相同目的網段的三類LSA,則根節點將根據本路由器到達目的網段的累計開銷進行比較,最終生成最小開銷路由。若是根節點到達目的網段的累計開銷值相同,則產生等價負載的路由
Area 0中RTA計算區域間路由過程當中:
① 192.168.1.0/24和192.168.2.0/24的三類LSA中,Adv rtr分別是RTB(2.2.2.2)和RTC(3.3.3.3)
② RTB產生的三類LSA中,網絡號/掩碼是192.168.1.0/24,開銷爲1
③ RTC產生的三類LSA中,網絡號/掩碼是192.168.2.0/24,開銷爲1
④ RTA到達192.168.1.0/24下一跳是RTB,開銷是2
⑤ RTA到達192.168.2.0/24下一跳是RTC,開銷是2
網絡
在R4和R7上查看OSPF的鄰接關係
在R4上查看LSDB的狀況
在R7上查看LSDB的狀況
在R7上查看LSA-3的信息
R4到123.0.0.0/24網段的信息
26.0.0.0/24網段通過R2和R3轉換成LSA-3向area 0中進行通告 Adv router的ID爲2.2.2.2和3.3.3.3 開銷 是R2或者R3到達26.0.0.0網段的開銷 值爲1
一樣的,咱們在area 2中的6.6.6.6網段的LSA-3是什麼樣的呢?
以R7爲根進行SPF的計算,並畫出其有向圖
在R7上面查看OSPF的路由表信息(主要就是的加上area 1的路由開銷 而後加上R4到各個網段的開銷)
併發
爲防止區域間的環路OSPF定義了骨幹區域和非骨幹區域和三類LSA的傳遞規則
① OSPF劃分了骨幹區域和非骨幹區域,全部非骨幹區域均直接和骨幹區域相連且骨幹區域只有一個,非骨幹區域之間的通訊都要經過骨幹區域中轉,骨幹區域ID固定爲0
② OSPF規定從骨幹區域傳來的三類LSA再也不傳回骨幹區域
① RTB將AREA1中1的一類、二類LSA轉換成三類LSA,發佈到區域0中
② RTC從新生成有關192.168.1.0/24網絡的三類LSA併發布到Area 2中
③ 同理,RTE也將有關192.168.1.0/24網絡的三類LSA發佈到Area 3中
④ RTD又將192.168.1.0/24網絡的三類LSA發佈到Area 1中,從而造成了路由環路ide
新建網絡按照區域間的防環規則進行部署,能夠避免區域間環路問題。可是部分網絡可能因早期規劃問題,區域間的鏈接關係違背了骨幹區域和非骨幹區域的規則
違背了OSPF區域的鏈接規則,如何解決?骨幹區域必須是連續的,可是並不要求物理上連續,可使用虛鏈接使骨幹區域邏輯上連續
虛鏈接能夠在任意兩個區域邊界路由器上創建,可是要求這兩個區域邊界路由器都有端口鏈接到一個相同的非骨幹區域。在RTB和RTC之間創建了一條虛鏈接,以使Area 2穿越Area1鏈接到骨幹區域
3d
把沒有與骨幹區域直接相連的非骨幹區域經過一個非骨幹區域(也叫傳輸區域)以邏輯通道的形式鏈接
經過一個非骨幹區域鏈接鏈接分割的骨幹區域;(或者說把兩個骨幹區域經過一個非骨幹區域鏈接起來)
A和B間啓用virtual link ,用來解決area 1/2/3 沒有鏈接到backbone area
C和D間啓用virtual link ,用來防止area 0斷開而成爲不連續的區域。同時也能解決次優路徑問題,D訪問地址1.2,流量走C和D之間的鏈路
code
區域0認證中最大的問題就是R1和R2之間虛鏈路的問題。由於虛鏈路是工做在區域0。若是在區域0配置了認證,那麼會影響到虛鏈路的創建,因此必定要虛鏈路的另外一端配置區域0的認證
若是在AREA 0中作了認證操做,則必須在R2上作認證 認證方法有兩個:
① 一個是在虛鏈路上作認證(能夠理解是一個特殊的接口驗證)router
vlink-peer 2.2.2.2 md5 1 cipher hcie
② 另外一個是建立一個區域0,在作認證。由於它會將認證自動複製到Vitual Link上blog