430 likes | 573 Vues
第十一章 OSPF 路由協定 製作:林錦財. 基礎網路管理. 大綱. 鏈結狀態路由協定 單一區域 OSPF 概念 單一區域 OSPF 組態. 鏈結狀態路由法. 當有變動時將相連線路狀態資訊傳送給系統中所有路由器 激發式更新 使用 Dijkstra 最短路徑 (Shostest Path First, SPF) 演算法 每個路由器知道相同的網路拓樸 收歛快速 不容易產生路由迴路 較不易組態 需要較多的記憶體與計算處理能力 如 OSPF, IS-IS. 鏈結狀態路由協定功能. 對網路改變的反應較快 當網路有改變時送出激發性更新
E N D
第十一章 OSPF路由協定 製作:林錦財 基礎網路管理
大綱 • 鏈結狀態路由協定 • 單一區域OSPF概念 • 單一區域OSPF組態
鏈結狀態路由法 • 當有變動時將相連線路狀態資訊傳送給系統中所有路由器 • 激發式更新 • 使用Dijkstra最短路徑(Shostest Path First, SPF)演算法 • 每個路由器知道相同的網路拓樸 • 收歛快速 • 不容易產生路由迴路 • 較不易組態 • 需要較多的記憶體與計算處理能力 • 如OSPF, IS-IS
鏈結狀態路由協定功能 • 對網路改變的反應較快 • 當網路有改變時送出激發性更新 • 定期(較長時間)送出『鏈結狀態重新整理』的更新訊息 • 使用Hello機制決定可否到達鄰居 • 用群播 • 使用鏈結狀態通告(Link-State Advertisement, LSA)追蹤區域內所有路由器的狀態 • 每部路由器據以建立『網路拓樸資料庫』
OSPF vs RIP • 可擴充性 • 階層式架構 • 主幹:Area 0 • 收歛速度 • 最大躍程數 • 考量頻寬 • 只適用TCP/IP協定組
OSPF術語 • 區域(area) • 鏈結(link) • 成本(cost) • DR • BDR • 相鄰性資料庫 • 拓樸資料庫 • 路徑表
OSPF 反覆問題 • 後發先至 • 為克服此問題,Cisco IOS使用SPF hold timer • 可利用timers spf命令設定之
OSPF封包類別 • Type 1: Hello • 建立與維護與鄰居之連接資訊 • Type 2: DataBase Description (DBD) • 描述OSPF路由器鏈結狀態資料庫的內容 • Type 3: Link State Request • 要求路由器鏈結狀態資料庫的特定內容 • Type 4: Link State Update (LSU) • 傳輸鏈結狀態通告(LSA)給鄰居路由器 • Type 5: Link State Acknowledgement (LSAck) • 認可收到鄰居送來的LSA
OSPF封包標頭格式 • 請參考CCNA Semester 3 Module 2
OSPF的運作 • 發現鄰居(建立鄰接關係) • 在多重存取網路上選舉DR與BDR • 選擇最佳路徑 • 維護路由資訊
OSPF網路類別 • 廣播型多重存取(Broadcast multiaccess) • Ethernet, Token Ring, FDDI • 非廣播型多重存取(Nonbroadcast multiaccess, NBMA) • Frame Relay, X.25, SMDS • 點對點網路(Point-to-point networks) • PPP, HDLC • 一點對多點(Point-to-multipoint) • 由管理者設定
發現鄰居 • 建立鄰接關係 • OSPF狀態 • Down • Init • Two-way • ExStart • Loading • Full Adjacency
初始(Init)狀態 • OSPF路由器定期(10秒)送出Hello封包以與鄰居建立關係 • 當由介面收到Hello封包時,路由器進入『Init狀態』 • 表示路由器知道有一個鄰居在那裡並等待建立下一步的關係
雙向(Two-way)狀態 • Hello封包含有傳送者所知的OSPF鄰居清單 • 當路由器收到Hello訊息,其清單包含自己本身時,則進入『Two-way狀態』 • 也就是知道『對方知道自己』 • 此時,尚未交換路由資訊
交換開始(ExStart)狀態 • 兩相鄰路由器間利用Hello比較路由器ID,決定誰為master,誰為slave • ID較大者為master • 鄰接關係的開始
交換(Exchange)狀態 • 使用Type DBD封包傳給對方本身鏈結狀態資料庫的總結
Hello Hello DBD DBD LSAck LSAck LSR LSU LSAck 載入(Loading)狀態 • 路由器比較對方與本身鏈結狀態資料庫,若發現有不同的鏈結資訊,則送出LSR要求 • 收到LSR則回應LSU(包含鏈結詳細資訊)
選舉DR與BDR • 在多重存取網路中,可能有許多路由器,若每部路由器都須與其他路由器建立完全鄰接(full adjacency)關係並且交換資訊的話,則負擔太重。 • 例如,5部路由器之間,則有10條鄰接關係;10部則有45條鄰接關係 • 解決辦法:舉行委任路由器(Designated Router, DR)選舉 • DR鄰接此廣播網段中所有其他路由器 • 所有其他路由器送其鏈結狀態資訊結DR • DR送鏈結狀態資訊給所有其他路由器
備份委任路由器(BDR) • 雖然DR可增進傳送效率,但會形成單一失效點,因此,需同時選一備份委任路由器(Backup Designated Router, BDR),作為當DR失效時的繼任者
OSPF使用的群播位址 • Hello: 224.0.0.5 • 在多重存取網路中,用以選舉DR與BDR • 在廣播型多重存取網路與點對點網路上,預設每10秒送一次 • 但是,在非廣播型多重存取網路,為每30秒送一次 • 送給DR與BDR:224.0.0.6 • 給所有執行OSPF協定的路由器:224.0.0.5 • LSAck:?
DR/BDR選舉方法 • Hello封包為選票 • 包含路由器ID及優先等級(priority) • 在鄰居間,具有最大優先等級則為DR,其次者為BDR • 優先等級預設為1 • 若優先等級相同,則比較ID • 若已選過DR與BDR,對新加入的路由器,會以Hello封包告知,不再選舉 • DR失效,BDR繼任 • 若BDR也失效,則重新選舉
Router ID • 若無Loopback介面,則以實體介面最大的IP位址為ID • 若有Loopback介面,則以Loopback介面最大的IP位址為ID
選擇最佳路徑 • 成本(cost)=108/頻寬(bps為單位)
維護路由資訊 • 發生異動 • 點對點網路:新鏈結狀態資訊以224.0.0.5送出LSU • 多重存取網路: • 新鏈結狀態資訊以224.0.0.6送出LSU給DR和BDR • DR收到以224.0.0.6送來的LSU,則以LSAck認可之 • DR或BDR若須送出LSU,則以224.0.0.5送給所有OSPF路由器 • 其他路由器收到以224.0.0.5送來的LSU,則LSAck認可之 • 若OSPF路由器連接其他網段,則轉送LSU(視網路類別群播)給多重存取網路的DR,或是點對點網路的相鄰路由器 • 更改鏈結狀態資料庫,並執行SPF演算法
定期重新整理 • 注意,就算網路沒有發生鏈結狀態變動,OSPF路由資訊也會定期重新整理,預設計時為30分鐘 • 當LSA項目計時一到,原先發出該項LSA的路由器,會送出LSU,以證明該鏈結仍然存在
設定單一區域的OSPF路由法 • 第一步 router(config)# router ospf行程識別碼 • 第二步 router(config-router)# network位址通用遮罩area區域識別碼
Router(config)#interface loopback0 Router(config-if)#ip address 192.168.1.1 255.255.255.255 設定回溯介面位址 • 使用回溯介面的IP位址作為路由器的ID router(config)#inteface loopback 編號 router(config-if)#ip address ip位址子網遮罩
Router(config)#interface ethernet0 Router(config-if)#ip ospf priority 0 設定路由器的優先等級 • 對介面 • 優先等級為0~255的整數;0最低,255最高 router(config-if)#ip ospf priority 優先等級
Router#show ip ospf interface ethernet0 Ethernet0 is up, line protocol is up Internet Address 10.5.0.2, Area 0 Process ID 1, Router ID 10.6.0.1, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State Dr, Priority 1 Designated Router(ID) 10.6.0.2, Interface address 10.6.0.1 Backup Designated router(ID) 10.5.0.1, Interface address 10.5.0.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:03 Index 1/1, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 1, maximum is 1 Last flood scan time is 0 msec, maximun is 0 msec Neighbor Count is 2, Adjacent neighbor count is 2 Adjacent with neighbor 10.5.0.1 (Backup Designated Router) Suppress hello for 0 neighbor(s) show ip ospf interface指令 • 可以看介面的優先等級設定值、DR, BDR、計時器設定值
Router(config)#interface serial 0/0 Router(config-if)#bandwidth 64 更改成本量度 • 對介面 • Cost = 108/頻寬 • 設定頻寬(以bps為單為)
設定OSPF認證 • 對介面 • 明文認證法(容易被監視) router(config-if)#ip ospf authentication-key 密碼 router(config-router)#area 編號 authentication • 密文認證法(較好) router(config-if)#ip ospf message-digest-key 密鑰識別碼 md5 [加密種類] 密碼 router(config-router)#area 編號 authentication message-digest • 對方介面必須相同設定
設定OSPF計時器 • 在廣播型網路,預設上Hello間隔是10秒,死亡間隔(dead interval)是40秒 • 在非廣播型網路,預設上Hello間隔是30秒,死亡間隔(dead interval)是120秒 • 都可更改,但注意同網段上的介面的計時器必須相同 Router(config-if)# ip ospf hello-interval 秒數 Router(config-if)# ip ospf dead-interval 秒數
非廣播型多重存取(NBMA)網路之OSPF組態 • 群播Hello選舉DR, BDR問題:如圖,RTA, RTB和RTC在相同的IP子網路,若RTB未被選為DR
NBMA網路之OSPF組態 • 解決辦法 • 使用neighbor指令 • 使用point-to-point子介面 • 使用point-to-multipoint組態 • 根據網路連接拓樸決定 • 完全互連(Full-mesh) • 部份互連(Partial mesh) • 輪輻型(Hub-and-Spoke)
NBMA拓樸優劣 • Full-mesh需最多永久虛擬電路(PVC), 輪幅需最少PVC
RTA(config)#router ospf 1 RTA(config-router)#network 3.1.1.0 0.0.0.255 area 0 RTA(config-router)#neighbor 3.1.1.2 RTA(config-router)#neighbor 3.1.1.3 RTB(config)#router ospf 1 RTB(config-router)#network 3.1.1.0 0.0.0.255 area 0 RTB(config-router)#neighbor 3.1.1.1 RTB(config-router)#neighbor 3.1.1.3 RTC(config)#router ospf 1 RTC(config-router)#network 3.1.1.0 0.0.0.255 area 0 RTC(config-router)#neighbor 3.1.1.2 RTC(config-router)#neighbor 3.1.1.3 使用neighbor指令 • 只能用於full-mesh • 各路由器維持在同一個IP子網路
RTA(config)#interface s0 RTA(config-if)#no shutdown RTA(config-if)#interface s0.1 RTA(config-subif)#ip address 3.1.1.1 255.255.255.0 RTA(config-if)#interface s0.2 RTA(config-subif)#ip address 3.2.2.1 255.255.255.0 RTA(config-subif)# end 使用子介面 • 分成不同的point-to-point子網路 • 優點:partial mesh可用 • 缺點:需較多IP位址 • PVC設定請參考訊框中繼
point-to-multipoint組態 • 只適用於輪幅狀拓樸 • 在輪軸路由器介面上設定 router(config-if)#ip ospf network point-to-multipoint router(config-if)#frame-relay map ip 位址dlci broadcast
傳播預設路徑 • 在最上游的路由器設定 • 預設路徑 Router(config)#ip route 0.0.0.0 0.0.0.0 [介面|下一步位址] • 傳播預設路徑 Router(config)#router ospf 行程編號 Router(config-router)#default-information originate
show指令 • show ip protocol • show ip route • show ip ospf inteface • show ip ospf • show ip ospf neighbor detail • show ip ospf database