CCNP知識點總結——OSPF
1、OSPF介紹
OSPF(Open Shortest Path First,開放最短路徑優先)是一種鏈路狀態路由協議,無路由迴圈(全域性拓撲),“開放”意味著非私有的。每一臺路由器擁有整個拓撲結構,能根據網路拓撲資訊獨立地做出決策。OSPF採用SPF演算法計算到達目的地的最短路徑,所謂“鏈路”,即指路由器介面,所謂“狀態”,即指描述介面以及其與鄰居路由器之間的關係。管理距離AD值為110。
2、 OSPF三張表
OSPF的三張表是鄰居表、鏈路狀態資料庫(LSDB)和路由表。
鄰居表(neighbor table):OSPF用鄰居機制來發現和維持路由的存在,鄰居表儲存了雙向通訊的鄰居關係OSPF路由器列表的資訊。
拓撲表(topology table):OSPF用LSA(Link State Advertisement 鏈路狀態通告)來描述網路拓撲資訊,然後OSPF路由器用拓撲資料庫來儲存網路的這些LSA。
OSPF路由表(routing table):對鏈路狀態資料庫進行SPF(Dijkstra)計算,而得出的OSPF路由表。
OSPF 網路結構:自治系統,區域。
OSPF 演算法:Dijkstra’s SPF 演算法。
OSPF 成員型別:指定路由器 (DR) , 備份指定路由器 (BDR) , 其他路由 (DRother)。
3、OSPF鄰接關係
路由器通過互動Hello報文發現鄰居,路由器在檢查Hello包中的某些引數或選項後鄰居建立成功,檢查的引數有:Hello Interval,Dead Interval,Area Number,Authentication,Stub。點對點WAN鏈路中建立的是全互聯的鄰接關係。多路訪問網路中(如廣播型網路,LAN),各成員只會與DR、BDR建立全互聯的鄰接關係,DRother保持Two-Way狀態。鄰接關係數:2(n-2)+1
4、OSPF報文
OSPF報文封裝在IP報文的負載中,不使用TCP,而使用LSAck實現自己的確認機制。
OSPF報文型別:Hello、Database Description、Link-State Request、Link-State Update、Link-State Acknowledgment。
Hello報文中封裝有:Router ID,Hello and Dead Intervals,Neighbors,Area ID,Router priority,DR IP address,BDR IP address,Authentication password,Stub area flag。其中Hello and Dead Intervals、Area ID、Authentication password和Stub area flag在鄰居關係建立時必須匹配。
OSPF組播地址:224.0.0.5,224.0.0.6。
DRother通知所有的DR/BDR使用組播地址224.0.0.6,DR通知DRother使用組播地址224.0.0.5。
5、OSPF的配置
router ospf process-id [vrf vpn-name]
network ip-address wildcard-mask area area-id
在介面下配置OSPF:
Router(config-if)#
ip ospf process-id area area-id [secondaries none]
OSPF的Router ID設定優先順序:
(1)手動設定的Router ID
(2)活躍的Loopback介面中IP地址較大的
(3)活躍的物理介面中IP地址較大的
Router(config-router)#
router-id ip-address
如果在已經處於活動狀態的OSPF程序上使用此命令, 必須重啟路由器或者重啟OSPF程序才能生效。
Router# clear ip ospf process
驗證OSPF Router ID:show ip ospf
Router# show ip protocols
驗證配置的IP路由協議程序,引數和統計資訊
Router# show ip route ospf [process-id ]
顯示路由器學到的所有OSPF路由
Router# show ip ospf interface [type number]
顯示OSPF的router ID、area ID和鄰接關係
Router# show ip ospf interface brief
顯示介面在OSPF下的狀態
Router# show ip ospf
顯示OSPF的router ID、計時器和狀態
Router# show ip ospf neighbor [type number] [neighbor-id] [detail]
Router# show ip ospf neighbor detail
顯示OSPF鄰居資訊,包括廣播網路中的DR和BDR資訊
cost或metric:預設值= (100 Mbps) / (bandwidth in Mbps)
RouterA(config-if)# ip ospf cost interface-cost
在介面下手動設定Cost來覆蓋預設值,取值範圍 1 到 65535
RouterA(config-router)# auto-cost reference-bandwidth ref-bw
設定有別於100 Mbps的參考頻寬,取值範圍 1 到 4294967
6、OSPF網路型別
OSPF網路型別包括:loopback環回口,point-to-point串列埠或幀中繼的點到點子介面,broadcast以太口、快速以太口,NBMA非廣播多路訪問(幀中繼),point-to-multipoint點到多點,point-to-multipoint no-broadcast點到多點非廣播。
環回口在OSPF中是一類單獨的網路型別,環回口下配置的IP,不管掩碼配置為多少,發出路由時都會當做/32的主機路由。
點到點型別: 如果二層的協議為PPP、HDLC等,則OSPF網路型別為P2P。如果幀中繼子介面型別為P2P的,則OSPF網路型別也為P2P。不選舉DR、BDR。使用組播地址224.0.0.5。OSPF能夠根據二層封裝自動檢測到P2P網路型別。
廣播型多路訪問:通常出現在乙太網中,選舉DR、BDR,所有路由器均與DR及BDR建立鄰接關係,使用組播地址224.0.0.5及224.0.0.6。
非廣播型多路訪問: 幀中繼網路中,使用物理介面預設為NBMA,使用子介面預設為點對點,使用NBMA需要使用neighbor命令指定鄰居。
修改網路型別:Router(config-if)# ip ospf network broadcast
7、DR和BDR選舉
具有最高優先順序的OSPF成員成為DR,次高優先順序的成為BDR,如果優先順序一致,則比較RID,RID大的成為DR,第二大的成為BDR,DR選舉是非搶佔式的。
設定DR選舉的優先順序:Router(config-if)# ip ospf priority number
預設優先順序為1,取值範圍 0 到 255,如果優先順序為0,則不參與DR或者BDR選舉,如果一個裝置不是DR或者BDR,那就是DRother。
8、LSA鏈路狀態通告
型別1 :路由器LSA Router LSA
>>每個路由器針對它所在的區域產生LSA1,描述區域內部與路由器直連的鏈路的資訊(包括鏈路型別,Cost等),只允許在本區域內洪泛,不允許跨越ABR,Link ID是通告該LSA的路由器RID。
型別2:網路LSA Network LSA
>>描述TransNet(包括Broadcast和NBMA網路)網路資訊,由DR生成,描述其在該網路上連線的所有路由器以及網段掩碼資訊, 以及這個MA所屬的路由器,只在本區域Area內洪泛,不允許跨越ABR,Link ID是DR進行宣告的那個介面的IP地址,Network LSA 中沒有COST欄位。
>>型別1、2 總結:通過LSA1,LSA2在區域內洪泛,使區域內每個路由器的LSDB達到同 步,計算生成標識為“O”的路由,解決區域內部的通訊問題。
型別3: 網路彙總LSA Summary Net LSA
>>由ABR生成,將區域內部的Type1\2的資訊收集起來以路由子網的形式擴散出去,Link ID是域間路由的路由字首,一條域間路由對應一條3類LSA。ABR收到來自同區域其它ABR傳來的Type 3 LSA後重新生成新的Type3 LSA (Advertising Router改為自己)然後繼續在整個OSPF系統內擴散。如果—臺ABR路由器在與它本身相連的區域內有多條路由可以到達目的地, 那麼它將只會始發單一的一條網路彙總LSA到骨幹區域,而且這條LSA是上 述多條路由中代價最低的。
型別4: ASBR Summary LSA
由ASBR所在區域的ABR生成,用於描述ABR能夠到達的ASBR的資訊。Link ID為目的ASBR的RID。
型別5: 自治系統外LSA AS External LSA
>>由ASBR生成,用於描述OSPF自治域系統外的目標網段資訊。Link ID是域外路由的路由字首,一條域外路由對應一條5類LSA。外部路由通過重發布,引入OSPF路由域,相應資訊(路由條目) 由ASBR以LSA5的形式生成然後進入OSPF路由域; •預設情況下,LSA5生成路由用OE2表示,可強行指定為OE1。OE2 開銷 = 外部開銷 = 20(預設) ,OE1 開銷 = 外部開銷 + 內部開銷。LSA5不允許進入特殊區域 —— Stub和NSSA區。
型別7: NSSA中的外部LSA NSSA External LSA
>>在NSSA(非完全存根區域)not-so-stubby area中ASBR針對外部網路 產生類似於LSA5的LSA型別7。LSA型別、7只能在NSSA區域中洪泛,到達NSSA區域ABR後,NSSA ABR將其轉換成LSA型別5外部路由,傳播到Area 0,從而傳播到整個 OSPF路由域。生成路由預設用ON2表示,也可指定為ON1。
檢視OSPF路由表:show ip route ospf
加表順序:O > O IA > O E1 > O E2
9、路由彙總
在ABR上彙總域間路由:Router(config-router)# area area-id range address mask [advertise | notadvertise] [cost cost]
在ASBR上彙總外部路由:Router(config-router)# summary-address ip-address mask [not-advertise] [tag tag]
以5類LSA向OSPF中注入預設路由,預設不開啟,使用default-information originate命令注入。只有當預設路由已經存在在路由表中才會通告預設路由,加always引數可以強制下發預設路由。default-infomation originate metric number,進行有多個OSPF出口的路由器下發的預設路由選路。
10、特殊區域
stub配置:
router ospf 1
network .... .... area 1
area 1 stub
totally stub配置:
普通路由器:
router ospf 1
network .... .... area 1
area 1 stub
ABR:
router ospf 1
network .... .... area 1
area 1 stub no-summary
將一個區域配置成Stub或者Totally stub需要注意一下幾點:
>>不可在骨幹區域配置。
>>區域內不能有ASBR和虛鏈路。
>>特殊區域內所有路由器都配置成Stub。
>>有多個以上ABR時,到其他區域或外部自治系統可能存在次優路徑。 需要注意選路(修改cost)。
非完全末梢區域 Not-so-stubby Area=NSSA
Stub的變種:即想阻擋LSA5,自身又想引入外部路由,NSSA既阻擋外部LSA5的進入,同時它的ASBR又可以引入外部路由LSA7,LSA7在NSSA內洪泛,通過ABR時轉換為LSA5,ABR不會預設生成預設路由進入本地區域,需手工配置。
NSSA配置:
router ospf 1
network .... .... area 1
area 1 nssa
ABR上可以下發預設路由:
router ospf 1
network .... .... area 1
area 1 nssa default-information-originate
totally NSSA配置:
router ospf 1
network .... .... area 1
area 1 nssa
ABR配置:
router ospf 1
network .... .... area 1
area 1 nssa no-summary
11、認證
認證演算法:(1)Null (2)簡單密碼身份驗證 (3)MD5身份驗證
認證型別:(1)介面認證 (2)區域認證
明文認證:
(1)介面認證
Router(config-if)# ip ospf authentication-key password
Router(config-if)# ip ospf authentication
(2)區域認證
Router(config-if)# ip ospf authentication-key password
Router(config-router)# area area-id authentication
密文認證:
(1)介面認證
Router(config-if)# ip ospf message-digest-key key-id md5 key
Router(config-if)# ip ospf authentication message-digest
(2)區域認證
Router(config-if)# ip ospf message-digest-key key-id md5 key
Router(config-router)# area area-id authentication message-digest
認證排錯:Router# debug ip ospf adj
12、passive-interface
路由器不會在該介面傳送Hello分組,因此不能建立鄰接關係。配置如下:
passive-interface fa0/0
passive-interface default
no passive-interface fa2/0
13、虛鏈路
虛擬鏈路被用於一個不連續的區域連線到區域0。邏輯連線是建立路由器A和路由器B之間,虛擬鏈路被推薦用於備份或臨時連線。
驗證OSPF虛鏈路:RouterA#sh ip ospf virtual-links
明文區域認證:
router ospf 1
network 172.16.0.0 0.0.255.255 area 0
network 172.17.0.0 0.0.255.255 area 1
area 0 authentication
area 1 virtual-link 3.3.3.3 authentication-key SPOTO
密文區域認證:
router ospf 1
network 172.16.0.0 0.0.255.255 area 0
network 172.17.0.0 0.0.255.255 area 1
area 0 authentication message-digest
area 1 virtual-link 3.3.3.3 message-digest-key 1 md5 SPOTO
14、Max-metric設定
15、SPF節能
https://blog.csdn.net/gongxifacai_believe/article/details/79530499