ospf簡介:
開放式最短路徑優先協定ospf是一個内部網關協定,它總坐在一個自制系統中,用于自制系統内部的路由選擇資訊交換.協定号89.
ospf協定特點:
1:可使用大規模網絡,沒有跳數限制.
2:路由收斂速度塊.
3:無路由環路産生.
4:支援變長子網路遮罩VLSM.
5:采用多點傳播位址發送協定封包,節省了鍊路資源.
6:基于路由器的每個端口的代價來決定最有路徑的.cost=100/鍊路帶寬.
7:支援區域劃分,簡便了在大規模網絡中的管理.
8:支援等代價負載均衡.
9:支援驗證.
ospf的封包類型:
1:HELLO封包:用來發現及維持鄰居關系
2:資料庫描述封包(DBD):用來描述本地路由器LSDB的情況.
3:鍊路狀态請求封包(LSR):用來請求本地路由器沒有的LSA.
4:鍊路狀态更新封包(LSU):用來發送對端路由器的請求的LSA.
5:鍊路狀态确認封包(LSAck):當路由器收到LSU後,發送LSAck進行确認.
ospf的三張表格:
1:鄰居表:通過hello包來建立鄰居關系.
2:鍊路狀态資料庫(LSDB):ospf通過LSA學習到其他路由器和資訊,存儲在
LSDB中。
3:路由表:通過SPF算法,根據LSDB算出路由表.
ospf的網絡類型:
1:廣播網絡:需要進行DR和BDR的選舉。選舉主要比較路由器的優先級和router-id,優先考慮優先級,優先級高的DR,其次為BDR。 網絡中的路由器隻需要與DR和BDR建
立鄰居關系,新加入的路由器隻需要與DR進行資料同步即可,不需要與網絡中的其他路由器同步,節省了網路資源。非DR/BDR路由器通過多點傳播位址224.0.0.6将
鍊路資訊發給DR/BDR,然後DR/BDR通過224.0.0.5将鍊路資訊發送給非DR/BDR。hello包的發送間隔是10秒,當機時間40秒
2:無廣播多路通路(NBMA):在幀中繼、ATM和X.25這樣的網絡中不支援廣播,ospf在這些網絡當中也要選舉出DR/BDR。hello包的發送間隔時間是30秒,當機時間間隔是
120秒
3:點到點:點到點網絡一般采用ppp或者hdlc來進行資料的封裝。ospf的hello包的發送間隔10秒,當機間隔40秒
4:點到多點:不需要DR和BDR的選舉,鄰居是自動發現的,預設的hello間隔是30秒,當機間隔120秒
ospf的路由器類型:
1:内部路由器:不與區域外部的路由器相連,隻維護本區域内的鍊路狀态資訊
2:區域邊界路由器(ABR):連接配接不同區域的路由器,需要維護多個區域的鍊路狀态資訊。
3:骨幹路由器:處于骨幹區域(area 0)的路由器,隻需要維護骨幹區域的鍊路狀态資訊
4:自治系統邊界路由器(ASBR):連接配接不同自治系統的路由器,通常需要在ASBR上運作多種協定。
ospf區域:
1:骨幹區域(area 0):一個自治系統隻能有一個骨幹區域,且每一個非骨幹局域 都需要和骨幹區域相連。骨幹區域起到了資料中轉的作用,在此區域的路由器運作速度快、穩
定、路由器較少。
2:标準區域:骨幹區域以外的區域稱為标準區域,每一個标準區域都要和骨幹區域相連。如果沒有直接相連則需要在與骨幹區域相連的區域上配置虛鍊路,配置指令
Router(config-router)#area area-id virtual-link router-id
3:末節區域:為了減少路由條目,末節區域隻接受域間路由和預設路由。配置指令:(在所有末節區域的路由器上都要配置此指令)
Router(config-router)#area area-id stub
4:完全末節區域:為了減少路由條目,完全末節區域隻接受預設路由,通過預設路由向外轉發資料。配置指令
Router(config-router)#area area-id stub no-summary
單區域配置執行個體:
1:在單區域實作網絡的互通
2:拓撲方案:
配置:
R1:
R1#conf t
R1(config)#int s0/0
R1(config-if)#ip add 192.168.2.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#int loop 0
R1(config-if)#ip add 192.168.1.1 255.255.0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#exit
R1(config)#router ospf 100
R1(config-router)#network 192.168.1.0 0.0.0.255 area 0 (通告ospf網絡)
R1(config-router)#network 192.168.2.0 0.0.0.255 area 0 (通告ospf網絡)
顯示路由表資訊
R2:
R2#conf t
R2(config)#int ser 0/0
R2(config-if)#ip add 192.168.2.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int loop 0
R2(config-if)#ip add 192.168.3.1 255.255.255.0
R2(config-if)#exit
R2(config)#router ospf 200
R2(config-router)#network 192.168.2.0 0.0.0.255 area 0
R2(config-router)#network 192.168.3.0 0.0.0.255 area 0
多區域配置執行個體:
1:配置ospf多區域。配置多區域時,各個标準區域必須與骨幹區域相連
2:拓撲方案:
3:配置
R1:
R1#conf t
R1(config)#int loop 0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#no shut
R1(config)#int s0/0
R1(config-if)#ip add 192.168.2.1 255.255.255.0
R1(config)#router ospf 100
R1(config-router)#network 192.168.1.0 0.0.0.25
R1(config-router)#network 192.168.1.0 0.0.0.255 area 1 (通告ospf網絡,區域1)
R1(config-router)#network 192.168.2.0 0.0.0.255 area 1 (通告ospf網絡,區域1)
顯示路由表資訊
R2:
R2#conf t
R2(config)#int ser 0/0
R2(config-if)#ip add 192.168.2.2 255.255.255.0
R2(config-if)#no shut
R2(config)#int ser 0/1
R2(config-if)#ip add 192.168.3.1 255.255.255.0
R2(config)#router ospf 200
R2(config-router)#network 192.168.2.0 0.0.0.255 area 1 (通告ospf網絡,網絡所在區域1)
R2(config-router)#network 192.168.3.0 0.0.0.255 area 0 (通告ospf網絡,網絡所在區域0)
顯示路由表資訊:
R3:
R3#conf t
R3(config)#int ser 0/0
R3(config-if)#ip add 192.168.3.2 255.255.255.0
R3(config-if)#no shut
R3(config)#int ser 0/1
R3(config-if)#ip add 192.168.4.1 255.255.255.0
R3(config)#router ospf 300
R3(config-router)#network 192.168.3.0 0.0.0.255 area 0 (通告ospf網絡,網絡所在區域0)
R3(config-router)#network 192.168.4.0 0.0.0.255 area 2 (通告ospf網絡,網絡所在區域2)
R4:
R4#conf t
R4(config)#int ser 0/0
R4(config-if)#ip add 192.168.4.2 255.255.255.0
R4(config-if)#no shut
R4(config)#int loop 0
R4(config-if)#ip add 192.168.5.1 255.255.255.0
R4(config)#router ospf 400
R4(config-router)#network 192.168.4.0 0.0.0.255 area 2 (通告ospf網絡,網絡所在區域2)
R4(config-router)#network 192.168.5.0 0.0.0.255 area 2 (通告ospf網絡,網絡所在區域2)
多區域路由引入(末節網絡、完全末節網絡)執行個體:
1:配置ospf多區域,并且實作ASBR上的路由引入,以及在末節網絡和完全末節網絡上減小路由表項
2:拓撲方案:
3:配置
<b> R1</b>
R1#conf t
R1(config)#int loo 0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#no shut
R1(config)#int ser 0/0
R1(config-if)#ip add 192.168.2.1 255.255.255.0
R1(config)#router ospf 100
R1(config-router)#network 192.168.1.0 0.0.0.255 area 1 (通告ospf網路,區域1)
R1(config-router)#network 192.168.2.0 0.0.0.255 area 1 (通告ospf網絡,區域1)
顯示路由表資訊:
<b> R2</b>
R2#conf t
R2(config)#int se 0/0
R2(config-if)#ip add 192.168.2.2 255.255.255.0
R2(config-if)#no shut
R2(config)#int ser 0/1
R2(config-if)#ip add 192.168.3.1 255.255.255.0
R2(config)#int e1/0
R2(config-if)#ip add 192.168.6.1 255.255.255.0
R2(config)#router ospf 200
R2(config-router)#network 192.168.2.0 0.0.0.255 area 1 (通告ospf網絡,區域1)
R2(config-router)#network 192.168.3.0 0.0.0.255 area 0 (通告ospf網絡,區域0)
R2(config-router)#redistribute rip (向ospf中引入rip協定)
R2(config)#router rip
R2(config-router)#network 192.168.6.0
R2(config-router)#redistribute ospf 200 metric 1000 200 255 1 1500 (向rip中引入ospf協定)
顯示路由表資訊
R3
R3#conf t
R3(config)#int ser 0/0
R3(config-if)#ip add 192.168.3.2 255.255.255.0
R3(config-if)#no shut
R3(config)#int ser 0/1
R3(config-if)#ip add 192.168.4.1 255.255.255.0
R3(config)#router ospf 300
R3(config-router)#network 192.168.3.0 0.0.0.255 area 0
R3(config-router)#network 192.168.4.0 0.0.0.255 area 2
R3(config)#router ospf 300
R3(config-router)#area 2 stub (配置末節區域,在R4中觀察路由表資訊)
R3(config-router)#area 2 stub no-summary (配置完全末節區域,在R4中觀察路由表資訊)
顯示路由表資訊
R4
R4#conf t
R4(config)#int ser 0/0
R4(config-if)#ip add 192.168.4.2 255.255.255.0
R4(config-if)#no shut
R4(config)#int loo 0
R4(config-if)#ip add 192.168.5.1 255.255.255.0
R4(config)#router ospf 400
R4(config-router)#network 192.168.4.0 0.0.0.255 area 2
R4(config-router)#network 192.168.5.0 0.0.0.255 area 2
R4(config)#router ospf 400
R4(config-router)#area 2 stub (配置末節區域,在R4中觀察路由表資訊)
路由引入後顯示路由表資訊
配置成末節區域後,路由表資訊
配置成完全末節區域後顯示路由表資訊
R5
R5(config)#int e 1/0
R5(config-if)#ip add 192.168.6.2 255.255.255.0
R5(config-if)#no shut
R5(config)#int se 0/0
R5(config-if)#ip add 192.168.7.1 255.255.255.0
R5(config)#router rip
R5(config-router)#network 192.168.6.0
R5(config-router)#network 192.168.7.0
顯示路由表資訊
R6
R6(config)#int ser 0/0
R6(config-if)#ip add 192.168.7.2 255.255.255.0
R6(config-if)#no shut
R6(config)#int loo 0
R6(config-if)#ip add 192.168.8.1 255.255.255.0
R6(config)#router rip
R6(config-router)#network 192.168.7.0
R6(config-router)#network 192.168.8.0
顯示路由表資訊
本文轉自 liuyatao666 51CTO部落格,原文連結:http://blog.51cto.com/5503845/950187,如需轉載請自行聯系原作者