一 OSPF原理及配置
OSPF(Open Shortest Pass First,開放最短路徑優先協議),是一個最常用的內部網管協議,是一個鏈路狀態協議。
二 OSPF的特點
1 OSPF是一種無類路由協議,支援VLSM可變長子網掩碼。支援IPV4和IPV6。
2 組播地址:224。0。0。5 224。0。0。6。
3 OSPF度量:從源到目的所有出介面的度量值,和介面頻寬反比(10^8/頻寬)。
4 收斂速度極快,但大型網路配置很複雜。
5 IP封裝,協議號89
三OSPF執行原理
OSPF組播的方式在所有開啟OSPF的介面傳送Hello包,用來確定是否有OSPF鄰居,若發現了,則建立OSPF鄰居關係,形成鄰居表,之後互相傳送LSA(鏈路狀態通告)相互通告路由,形成LSDB(鏈路狀態資料庫)。再透過SPF演算法,計算最佳路徑(cost最小)後放入路由表。
設計要求:1。必須配置骨幹區域0
2。其他區域連線到骨幹區域
好處: 1。減小路由表(透過域間彙總)
2。本地拓撲變化值影響一個區域(也是透過彙總)
3。某些LSA之子本地泛紅,不泛洪到其他區域
注:OSPF區域劃分基於介面而不是裝置
三 OSPF區域及路由器身份
1 OSPF區域
骨幹區域(區域0):骨幹區域必須連線所有的非骨幹區域,而且骨幹區域不可分割,有且只有一個,一般情況下,骨幹區域內沒有終端使用者。
非骨幹區域(非0區域):非骨幹區域一般根據實際情況而劃分,必須連線到骨幹區域(不規則區域也需透過tunnel或virtual-link連線到骨幹區域)。一般情況下,費骨幹區域主要連線終端使用者和資源。
2 OSPF身份
DR(Designated Router):指定路由器,OSPF協議啟動後開始選舉而來
BDR(Back-up Designated Router):備份指定路由器,同樣是由OSPF啟動後選舉而來
DRothers:其他路由器,非DR非BDR的路由器都是DRothers。
ABR(Area Border Routers):區域邊界路由器,連線不同OSPF區域。
ASBR(Autonomous System Boundary Router):自治系統邊界路由器,位於OSPF和非OSPF網路之間。
骨幹路由器:至少有一個藉口連線到骨幹區域(區域0)。
四 OSPF鄰居建立
鄰居的兩個狀態
Neighbors:鄰居
Adjacency:鄰接
1 鄰居不一定是鄰接,鄰接一定是鄰居,只有互動了LSA的OSPF鄰居才成為OSPF的鄰接,之互動Hello包的支撐位鄰居,
2 在點對點網路中,所有鄰居都能成為鄰接。
3 MA(廣播多路訪問網路,比如乙太網)網路型別中,DR,BDR,DRothers三者關係為:
4 DR、BDR與所有的鄰居形成鄰接,DRothers之間只是鄰居而不交換LSA
五OSPF資料包型別
Hello:10秒傳送一次,死亡時間40s,4倍關係,可以修改。
DBD:Database Description 僅僅是一個對本地資料庫的概念性敘述,供路由器核對資料庫是否同步
LSR:Link-State Request 請求鏈路狀態,在資料庫同步過程中使用,請求其他角色傳送自己失去的LSA最新版本。
LSU:Link-State Update 鏈路狀態更新,LSU包括幾種型別的LSA,LSU負責泛洪LSA,和相應LSR。LSA只會傳送給之前以LSR請求的LSA的直連鄰居,進行泛洪的時候,鄰居路由負責把收到的LSA資訊重新封裝在新的LSU中。
LSACK:鏈路狀態確認,路由器必須對每個收到的LSA進行LSACK確認,但可以用一個LSACK確認多個LSA。
六DR、BDR的選舉:
DR、BDR的選舉規則:比較router-id,router-id有以下獲得方式:
由工程師指定
這臺裝置最大的環回口ip
沒有環回口的話,物理介面ip地址最大的。
選舉規則:
最高優先順序值的路由器被選為DR(預設優先順序相同:1),次高優先順序的為BDR
若優先順序相同,則比較router-id,擁有最高router-id的成為DR,次高的成為BDR
優先順序被設定為0的不參與選舉
OSPF系統啟動後,若40s內沒有新裝置接入就會開始選舉,所以為保證DR與BDR的選舉不發生意外,建議優先配置想成為DR與BDR的裝置。
DR與BDR不可以搶佔
當DR小時之後,BDR直升DR,重新選BDR
所有DR,BDR,DRothers說的都是介面,而不是裝置
不同網段間選DR,BDR,而不是以OSPF區域為單位
七 OSPF狀態
Down State
Init State:傳送了Hello包(還沒收到)
Two-way State:收到了一個Hello包且Hello包中包括自己的router-id(對方回覆的)
Exstart State:First DBD確認主從關係,router-id大的為主,先發包
Exchange State:互動DBD 相互學習
Loading State:LSR與LSU的互動過程
Full State:所有互動已經完成
八 單區域實驗
目前各路由器已經對埠及迴環埠進行IP地址分配
R1
R1(config)#router ospf 1 //啟動OSPF程序
R1(config-router)#router-id 1。1。1。1 //配置路由器ID
R1(config-router)#network 192。168。12。1 0。0。0。0 area 0 //宣告直連網路
R1(config-router)#network 10。10。1。1 0。0。0。0 area 0 //宣告直連網路
R2
R2(config)#router ospf 1//啟動OSPF程序
R2(config-router)#router-id 2。2。2。2 //配置路由器ID
R2(config-router)#network 192。168。12。2 0。0。0。0 area 0//宣告直連網路
R2(config-router)#network 192。168。23。1 0。0。0。0 area 0//宣告直連網路
R2(config-router)#network 10。10。2。2 0。0。0。0 area 0//宣告直連網路
R3
Router(config)#router ospf 1//啟動OSPF程序
Router(config-router)#router-id 3。3。3。3//配置路由器ID
Router(config-router)#network 192。168。23。2 0。0。0。0 area 0//宣告直連網路
Router(config-router)#network 192。168。34。1 0。0。0。0 area 0//宣告直連網路
Router(config-router)#network 10。10。3。3 0。0。0。0 area 0//宣告直連網路
R4
R4(config)#router ospf 1//啟動OSPF程序
R4(config-router)#router-id 4。4。4。4//配置路由器ID
R4(config-router)#network 192。168。34。2 0。0。0。0 area 0//宣告直連網路
R4(config-router)#network 10。10。4。4 0。0。0。0 area 0//宣告直連網路