OSPF基本概念及單區域配置
1.OSPF協議概述:
內部網關路由協議(IGP)
用於在單一自治系統(Autonomous System-AS)內決策路由。
自治系統(AS):
執行統一路由策略的一組網絡設備的組合。
外部網關路由協議(EGP)
用於在多個自治系統之間執行路由。用來連接不同的AS。
2.什麼是OSPF協議:
? 鏈路狀態路由協議。
? 內部網關路由協議。
? 具有更快的收斂速度。
? 支持變長子網掩碼VLSM。
? 基於帶寬來選擇最佳路徑。
? 使用SPF算法。
3.OSPF的區域:
爲了適應大型的網絡,OSPF在AS內劃分多個區域,每個OSPF路由器只維護所在區域的完整的鏈路狀態信息。
OSPF區域:
傳輸區域(骨幹區域) 2.普通區域(非骨幹區域)
骨幹區域爲區域0,網絡區域 ID爲 0 或0.0.0.0 時稱爲主幹區域。它用來連接自治系統內部的所有其他區域,用來連接骨幹區域和其他區域的路由器叫做區域邊界路由器。
4.Router ID:
是在OSPF區域內唯一標識一臺路由器的IP地址。
確定 Router ID 遵循如下順序:
① 最優先的是在 OSPF 進程中用命令“router-id”指定了路由器 ID;
② 如果沒有在 OSPF 進程中指定路由器 ID,那麼選擇 IP 地址最大的環回接口的 IP 地址爲 Router ID;
③ 如果沒有環回接口,就選擇最大的活動的物理接口的 IP地址爲 Router ID。
建議用命令“router-id”來指定路由器 ID,這樣可控性比較好。
在配置OSPF路由協議的時候配置迴環(loopback)接口是很重要的1件事.Cisco建議你配置OSPF的時候順便配置迴環接口.所謂迴環接口,是邏輯接口而非物理接口,即不是你觸摸的到的router上的真正的接口.作用是作爲診斷OSPF而用.如果router的某一個接口由於故障down 掉而不可用了,此時你怎麼通過telnet來連接並進行管理用呢?所以就引入了迴環接口是概念,迴環接口永遠不會down掉,你就可以通過連上回環接口來進行管理。
OSPF 路由進程 ID 的範圍必須在 1-65535 之間,而且只有本地含義,不同路由器的路由進程 ID 可以不同。如果要想啓動 OSPF 路由進程,至少確保有一個接口是 up 的;
5.鏈路狀態路由協議中的數據庫類型:
1.鄰居表 :所有的鄰居
2.鏈路狀態數據庫(LSDB):網絡的地圖
3.路由表 :最佳的路由
6.OSPF 的幾個術語:
① 鏈路:鏈路就是路由器用來連接網絡的接口;
② 鏈路狀態:用來描述路由器接口及其與鄰居路由器的關係。所有鏈路狀態信息構成
鏈路狀態數據庫;
③ 區域:有相同的區域標誌的一組路由器和網絡的集合。在同一個區域內的路由器有
相同的鏈路狀態數據庫;
④ 自治系統:採用同一種路由協議交換路由信息的路由器及其網絡構成一個自治系統;
⑤ 鏈路狀態通告(LSA):LSA 用來描述路由器的本地狀態,LSA包括的信息有關於路由器接口的狀態和所形成的鄰接狀態;
⑥ 最短路經優先(SPF)算法:是 OSPF路由協議的基礎。SPF 算法有時也被稱爲 Dijkstra 算法,OSPF 路由器利用 SPF,獨立地計算出到達任意目的地的最佳路由。
DR和BDR是在廣播和非廣播的多路訪問網絡上被推選出來的。
7.由鄰居(neighbor)狀態到建立相鄰(adjacency)關係的過程:
OSPF 的各種狀態(OSPF 鄰居關係建立的過程)
Down → Init → Two-Way → ExStart → Exchange → Loading → Full Adjacency
hello→發現鄰居→確定主從關係→比較數據庫→交換數據→確立鄰接關係。
Down:沒有從鄰居處接收到信息,但努力嘗試同網絡鄰居聯繫.
init:從網絡鄰居處接收到HELLO包,但路由器本身並沒有在該HELLO包中列出.
two-way:同網絡鄰居建立了雙向通訊.
Exstart:用於DBD同步,確定主/輔助路由器、DBD包的第一個序列號.
exchange:路由器通過DBD包描述了整個鏈路狀態數據庫,一次發送一個DBD包。也可發 送鏈路狀態請求,以請求新的LSA.
loading :系統發鏈路狀態請求包,以得到更新的LSA(在交換期間沒有收到的LSA).
full:所有信息都已交換.
8.相鄰(Adjacency)關係建立過程:
鄰居發現(Neighbor discovery)
雙向通信(Bidirectional communication)
數據庫同步(Database synchronization)
– 數據庫描述(Database Description)
– 鏈路狀態查詢(Link State Request)
– 鏈路狀態更新(Link State Update)
相鄰關係建立(Full adjacency)
9.建立鄰接關係需滿足的條件:
兩個路由器之間如果不滿足下列條件,則他們就不能成爲鄰居.
Area-id:兩個路由器必須在共同的網段上,它們的端口必須屬於該網段上的同一個區,且屬於同一個子網.
驗證(Authentication OSPF):同一區域路由器必須交換相同的驗證密碼,才能成爲鄰居.
Hello Interval和Dead Interval: OSPF協議需要兩個鄰居路由器的這些時間間隔相同,否則就不能成爲鄰居路由器。
stub區域標記:兩個路由器可以在Hello報文中通過協商Stub區域的標記來成爲鄰居.
10.OSPF的網絡類型:
① boradcast(multi-access):廣播型(多路訪問)網絡.比如以太網,允許多個設備連接,訪問相同的網絡;而且提供廣播的能力.在這樣的網絡中必須要有1 個DR 和BDR.
② nonbroadcast multi-access(NBMA):這類網絡類型有幀中繼(Frame Relay),X.25 和異步傳輸模(Asynchronous Transfer Mode,ATM),這類網絡允許多路訪問,但是不提供廣播能力.
③ point-to-point:點對點網絡.一個物理上的串行電路連接或者是邏輯上的,不需要DR和 BDR,鄰居是自動發現的.
④ point-to-multipoint:點對多點網絡.不需要DR 和BDR .
11.OSPF的DR與BDR:
① 指定路由器(DR)
一個網段上的其他路由器都和指定路由器(DR)構成鄰接關係,而不是它們互相之間構成鄰接關係.
② 通過Hello報文選擇DR和BDR來代表OSPF網段.
③ 其他的路由器(DRothers)只和DR及BDR路由器之間形成鄰接關係.
④ 通過組播發送Hello報文.
⑤ 具有最高OSPF優先級的路由器會被選爲DR.
⑥ 如果OSPF優先級相同,則具有最高Router ID的路由器會被選爲DR.
12.建立鄰接關係過程總結:
DR 和BDR 有它們自己的組播地址 224.0.0.6
designated router(DR):多路訪問網絡中爲避免router 間建立完全相鄰關係而引起大量開銷,OSPF 在區域中選舉一個 DR,每個router 都與之建立完全相鄰關係.router 用Hello 信息選舉一個DR.在廣播型網絡裏Hello 信息使用多播地址 224.0.0.5 週期性廣播,並發現鄰居.在非廣播型多路訪問網絡中,DR 負責向其他router 逐一發送Hello 信息。
backup designated router(BDR):多路訪問網絡中DR 的備用router,BDR 從擁有adjacency 關係的router 接收路由更新, 但是不會刷新LSA 更新。
只有DR和BDR纔會同其它路由器建立相鄰關係。
13.鏈路狀態更新:
DROther將更新的LSA只發送到DR和BDR。
DR負責將更新的LSA轉送到所有已建立相鄰關係的鄰居。
所有的路由器負責將更新的LSA轉發到其它的接口。
LSDB儲存了路由器收到的所有可用的LSA信息,這些LSA描述了一個區域的詳細網絡拓撲和區域外的路由信息。
14.Designated Router (DR) / Backup Designated Router(BDR)選舉過程:
(存在於multiaccess 網絡,點對點和點對多點網絡中無此選舉過程)
選舉過程:
1依次比較hello 包中的端口優先級(priority),路由id。選舉結束後,只有DR/BDR 失效纔會引起新的選舉過程;如果發生DR 故障,則BDR 替補上去;次高優先級router 選爲BDR。
2新加入的router 只接受現有的DR/BDR,即使擁有更高優先級,亦不會引起新的選舉過程。
3優先級默認值1,範圍0 到255,應用於 OSPF 端口。路由id 爲loopback 接口(或者up 起來的端口)的最高ip 地址值。建議使用優先級操縱DR/BDR 選舉過程。
15.OSPF的包類型:
包類型
描述
Hello
用於鄰居路由器之間建立和維護鄰接關係.
數據庫描述包DBD
描述每臺OSPF路由器的鏈路狀態數據庫的內容.
鏈路狀態請求包LSR
請求鏈路狀態數據庫的部分內容.
鏈路狀態更新包LSU
傳送鏈路狀態數據通告LSA給鄰居路由器.
鏈路狀態確認包LSAck
確認鄰居發過來的LSA已經收到.
16.OSPF的Hello協議:
當路由器上啓動OSPF進程時,每臺路由器都會間隔一定的時間發送Hello包。
Hello包通過組播地址224.0.0.5發送。
OSPF路由器使用Hello包發起建立鄰接關係並監視這種關係的存在和消失。
在廣播網或者點對點網上,Hello的發送間隔是10秒;在NBMA網絡上,Hello的發送間隔是30秒。
默認時 Dead 間隔是 Hello 間隔的四倍。可以在接口下通過“ip ospf hello-interval”
和“ip ospf dead-interval”命令調整。
17.OSPF協議的操作:
1. 發送hello報文,發現Neighbour(鄰居)。
2. Neighbour之間形成Adjacencies(“鄰接”,或稱“毗鄰關係”)。
3. 形成Adjacencies的路由器之間發送LSA(Link State Advertisement)。
4. 收到LSA後放入LSDB(鏈路狀態數據庫),發送LSA的拷貝到自己的鄰居。
5. 通過在區域內擴散LSA,所有路由器具有一致的LSDB。
6. 在LSDB信息一致後,每個路由器以自己爲根運行SPF算法生產最短路徑樹。
7. 根據最短路徑樹信息,形成路由表。
18.OSPF的度量方法:
COST= 108/BW
OSPF協議決定最短路徑是基於路由器每一個接口指定的代價(cost)來的。
一條路由的代價:是指沿着到達目的網絡的路由路徑上所有出站接口的代價之和。
19.泛洪(Flooding)過程就是將這些變化的或新的LSA發送到整個網絡中去,以確保每一個節點的數據庫都可以更新,最終保持所有其他節點的數據庫的同一性的過程。
泛洪過程使用兩種類型的OSPF報文:
① 鏈路狀態更新報文. ② 鏈路狀態確認報文.
更新報文和確認報文卻只在具有鄰接關係的兩個節點之間傳送。
20.OSPF協議把一組通過數據鏈路相連的路由器看作是一組邏輯上通過鄰接關係相連的節點。
21.OSPF區域是一組邏輯上的OSPF路由器。每一個區域都是通過它自己的鏈路狀態數據庫來描述的,而且每臺路由器也都只需要維護路由器本身所在的區域的鏈路狀態數據庫。
22.OSPF路由協議的特點:
① 可適應大規模網絡。
② 路由變化收斂速度快。
③ 無路由環路。
④ 支持變長子網掩碼VLSM。
⑤ 支持區域劃分。
⑥ 支持以組播地址發送協議報。
23.何時需要OSPF路由協議:
① 網絡的規模:
網絡中的路由器在10臺以上;中等或大規模的網絡。
② 網絡的拓撲結構:
網絡的拓撲結構爲網狀,並且任意兩臺路由器之間都有互通的需求。
③ 其它特殊的需求:
要求路由變化時能夠快速收斂,要求路由協議自身的網絡開銷儘量降低。
④ 對路由器自身的要求:
運行OSPF協議時,對路由器的CPU的處理能力及內存的大小都有一定的要求,性能很低的路由器不推薦使用OSPF協議。
24.OSPF與RIP的比較:
OSPF
RIP V1
RIP V2
鏈路狀態路由協議
距離矢量路由協議
沒有跳數的限制
RIP的15跳限制,超過15跳的路由被認爲不可達
支持可變長子網掩碼(VLSM)
不支持可變長子網掩碼(VLSM)
支持可變長子網掩碼(VLSM)
收斂速度快
收斂速度慢
使用組播發送鏈路狀態更新,在鏈路狀態變化時使用觸發更新,提高了帶寬的利用率
週期性廣播整個路由表,在低速鏈路及廣域網中應用將產生很大問題
25. 環回接口 OSPF 路由條目的掩碼長度都是 32 位,這是環回接口的特性,儘管通告了24 位,解決的辦法是在環回接口下修改網絡類型爲“Point-to-Point”,操作如下:
R2(config)#interface loopback 0
R2(config-if)#ip ospf network point-to-point
這樣收到的路由條目的掩碼長度和通告的一致。
26.配置OSPF的2個要素:
1.啓用OSPF
2.配置OSPF的區域.
27.如果通告的是接口地址,則反碼應爲0.0.0.0
如果網絡號屬於骨幹區域。則Area-id的值必須是0
28.OSPF的單區域配置:
配置路由器ip和迴環接口的ip地址
啓動OSPF進程
router(config)#router ospf 進程號
指定OSPF協議運行的接口和所在的區域
Router(config-router)#network 網絡號 反向掩碼 area 區域號
29.常用的OSPF檢查命令:
查看鄰接信息表
Router#show ip ospf neighbor
查看路由表:
router#show ip route
查看鏈路狀態數據庫:
router#show ip ospf database
查看接口數據結構:
router#show ip ospf interface 接口
查看OSPF的配置
Router#show ip ospf
查看接口狀態
routerA#show ip interface brief
實驗拓撲:
實驗步驟:
首先配置三個路由器R1、R2、R3的LOOPBACK口的地址以及與交換機連接的端口的IP地址,注意在配置完成後,查看一下配置的是否正確以及端口是否開啓
打開交換機的端口
在R1、R2、R3上配置OSPF,並且宣告他們的環回口地址及其端口IP地址
配置完成後,SHOW IP ROUTE,查看路由表,驗證它們之間的學習情況,注意它們的管理距離110
查看它們的鄰接關係
在鄰接關係中,會看到DR爲192.168.31.11,BDR爲192.168.31.22,這與我們所說的選擇環回口IP地址大的爲DR有一些出入,這個好像跟小凡有關係,如果我們先配置R3的環回口地址192.168.31.33,這樣DR就爲192.168.31.33了。
實驗完成了,OSPF的單區域配置還是比較簡單的,但是需要理解的地方很多,特別是理論的地方。
宿舍斷網了,今天終於能上了,才發現離開網絡的日子真難熬啊,呵呵....