Transcript CH 7
第7章
EIGRP 與 OSPF
本著作僅授權老師於課堂使用, 切勿置放在網路上
播放或供人下載, 除此之外, 未經授權不得將全部
或局部內容以任何形式重製、轉載、變更、散佈或
以其他任何形式、基於任何目的加以利用。
著作權所有 © 旗標出版股份有限公司
本章重點
7 - 1 EIGRP 的功能與運作
7 - 2 利用 EIGRP 來支援大型網路
7 - 3 設定 EIGRP
7 - 4 EIGRP 的負載平衡
7 - 5 確認 EIGRP 的設定
7 - 6 OSPF 基礎
7 - 7 設定 OSPF
7 - 8 確認 OSPF 的設定
7 - 9 OSPF DR 與 BDR 的選舉
2
本章重點
7 - 10 OSPF 與回繞界面
7 - 11 檢修 OSPF
7 - 12 設定 EIGRP 與 OSPF 的總結路徑
7 - 13 摘要
3
EIGRP 與 OSPF
加強版內部閘道遶送協定 (Enhanced Interior
Gateway Routing Protocol, EIGRP) 是一種專
屬的 Cisco 協定, 在 Cisco 路由器、Cisco 產品
中的路徑處理器、以及核心層交換器上運作。
本章會展示 EIGRP 的許多功能, 並描述它們的
運作方式, 特別是它如何發現、選擇、以及宣傳
路徑的特有方式。
4
EIGRP 與 OSPF
我們也會介紹開放式最短路徑優先 (Open
Shortest Path First, OSPF) 遶送協定, 先熟悉
它的術語與內部運作, 然後學習 OSPF 凌駕於
RIP 之上的優勢。
接著探索各種廣播與非廣播之網路環境中的
OSPF 實作議題, 解釋如何在特定的網路環境中
實作單一區域的 OSPF, 並展示如何確認每件事
都很順利地在運作。
5
7 - 1 EIGRP 的功能與運作
EIGRP 是一種無級別 (classless)、加強版的距
離向量 (distance-vector) 協定, 提供另一種比
IGRP 更好的 Cisco 專屬遶送協定, 這也是為什
麼稱它為加強版 IGRP 的原因。
就像 IGRP 一樣, EIGRP 使用自治系統
(autonomous system) 的觀念來描述一組鄰近
的路由器, 並執行相同的遶送協定, 與分享路徑
資訊。
但與 IGRP 不同的是, EIGRP 在路徑更新中包
含了子網路遮罩的資訊。
6
EIGRP 的功能與運作
子網路資訊的宣傳讓我們得以在設計網路時使
用 VLSM 與路徑總結!
EIGRP 有時又稱為混合式遶送協定 (hybrid
routing protocol), 因為它同時有距離向量與鏈
路狀態協定的特性。
例如, EIGRP 並不像 OSPF 會傳送鏈路狀態的
封包, 而是傳送傳統的距離向量更新, 包含網路、
從宣傳路由器的觀點所計算之抵達這些網路的
成本等資訊。
7
EIGRP 的功能與運作
然而 EIGRP 也有鏈路狀態的特性, 啟動時先同
步鄰居之間的路徑表, 然後只在拓樸發生改變時
才傳送特定的更新。
這使得 EIGRP 更能適合非常大型的網路,
EIGRP 的最大中繼節點計數 (hop count) 為
255。
EIGPR 有許多強大的功能, 這使得它比 IGRP
及其他的遶送協定還傑出, 這些主要的功能包括。
8
EIGRP 的功能與運作
透過協定相依模組 (protocol-dependent module,
PDM) 來支援 IP 與 IPv6 (以及一些其它無用的
被遶送協定)。
無級別的遶送協定 (與 RIPv2 及 OSPF 一樣)
支援 VLSM / CIDR
支援路徑總結與非連續的網路
有效率地發現鄰居。
透過可靠的傳輸協定 (Reliable Transport
Protocol, RTP) 來通訊。
透過擴散更新演算法 (Diffusing Update
Algorithm, DUAL) 來選擇最佳路徑。
9
協定相依模組
EIGRP 最有趣的功能之一就是它支援多個網路
層協定的遶送:IP、IPX、AppleTalk、與 IPv6
(顯然地, 我們不會使用 IPX 與 AppleTalk, 但
EIGRP 確實支援它們)。
另一個也支援多個網路層協定的類似協定是中
介系統對中介系統 (Intermediate System-toIntermediate System, IS-IS)。
10
協定相依模組
EIGRP 透過協定相依模組 (PDM) 來支援不同
的網路層協定, 每個 EIGRP PDM 會維護個別
的一組表格, 包含應用於特定協定的路徑資訊。
例如這表示它會有 IP / EIGRP 表格與 IPv6 /
EIGRP 表格。
11
發現鄰居
EIGRP 路由器必須先成為鄰居, 才願意互相交
換路徑。建立鄰居關係必須符合 3 個條件:
收到 Hello 或 ACK。
AS 號碼相符。
相同的衡量指標 (K 值)。
鏈路狀態協定傾向於使用 Hello 訊息來建立鄰
居關係, 因為它們一般都不會定期傳送路徑更新,
必須有某種機制來幫助鄰居知道有新的同伴加
入, 或有老同伴離開或故障。
12
發現鄰居
為了維護鄰居關係, EIGRP 路由器也必須持續
地從其鄰居們接收 Hello。
屬於不同自治系統的 EIGRP 路由器不會自動地
分享路徑資訊, 而且不會成為鄰居。
當用於大型網路時, 這種行為模式非常好, 可減
少路徑資訊經由特定自治系統來散播路徑資訊
的量。
唯一的缺點就是我們可能得在不同自治系統之
間手動地費心路徑重分送 (redistribution) 的設
定。
13
發現鄰居
EIGRP 唯一會宣傳整個路徑表的時機就是當它
發現新鄰居, 並且透過 Hello 封包的交換與它形
成緊鄰關係 (adjacency)。
發生這種事時, 2 部鄰居都會宣傳它們的整個路
徑表給另外一部。
當每部路由器學到它鄰居的路徑之後, 從那時起,
就只會宣傳路徑表的異動部份。
當 EIGRP 路由器收到它們鄰居的更新之後, 會
儲存到本機的拓樸表中。
14
發現鄰居
這張表包含從所有已知鄰居來的所有已知路徑,
作為挑選最佳路徑放入路徑表的原始素材。
接下來在繼續討論之前, 讓我們先定義一些術語:
可行距離 (feasible distance) 這是抵達遠端網
路之所有路線中的最佳衡量指標, 包括抵達當初
宣傳該遠端網路之鄰居的衡量指標。
這是您能在路徑表中找到的路徑, 因為它被認為
是最佳的路徑。
15
發現鄰居
要計算可行距離的衡量指標, 須使用鄰居報告的
衡量指標 (稱為報告的距離或宣傳的距離) 加上
抵達報告該路徑之鄰居的衡量指標。
報告的距離 / 宣傳的距離 (reported distance /
advertised distance) 由某個鄰居報告的一個抵
達遠端網路的衡量指標。
也是該鄰居的路徑表衡量指標, 與拓樸表中括號
裡的第二個數字一樣;第一個數字是可行距離。
鄰居表 (neighbor table) 每部路由器都會保存
緊鄰鄰居的狀態資訊。
16
發現鄰居
當它學習到新發現的鄰居時, 會記錄鄰居的位址
與界面, 並且將這種資訊保存在鄰居表中;鄰居
表乃儲存在 RAM 中。
每個協定相依模組都會各有一個鄰居表。
路由器會利用序號來比對更新封包的確認號碼,
而且會記錄從鄰居所接收的最後一個序號, 這樣
就可以偵測到失序的封包。
拓樸表 (topology table) 拓樸表是由協定相依
模組產生的, DUAL 演算法乃利用它來運算。
17
發現鄰居
拓樸表包含鄰居路由器所宣傳之所有目的地, 保
存每個目的地的位址、以及宣傳該目的地之鄰居
清單。
對於每個鄰居, 會記錄所宣傳的衡量指標, 而這
只會來自於該鄰居的路徑表。
如果某個鄰居宣傳某個目的地, 表示它一定是利
用該路徑來轉送封包。
可行後繼者 (feasible successor) 可行後繼者
是一條路徑, 它的報告距離比可行距離小, 被認
為是一條備援路徑。
18
發現鄰居
EIGRP 最多可保留 6 條可行後繼者於拓樸表中,
而只有具備最佳衡量指標 (後繼者) 的一條會拷
貝至路徑表中。
show ip eigrp topology 命令會顯示路由器知
道的所有 EIGRP 可行後繼者路徑。
後繼者 (successor) 後繼者路徑是通往某個遠
端網路的最佳路徑。
EIGRP 利用後繼者路徑來轉送交通到某個目的
地, 而且會將後繼者路徑存放在路徑表中。
19
發現鄰居
後繼者的備援就是存在拓樸表中的可行後繼者路
徑 (如果有的話)。
利用可行距離, 並且在拓樸表中保有可行後繼者
當作備援鏈路, 網路就能立即收斂, 而且 EIGRP
只會傳送更新給它的鄰居。
20
可靠的傳輸協定 (RTP)
EIGRP 利用一種稱為可靠之傳輸協定 (Reliable
Transport Protocol, RTP) 的專屬協定, 管理
EIGRP 路由器之間的訊息通訊。
一如名稱所暗示的, 可靠性是這種協定的重要考
量。Cisco 設計了一種機制, 徵用多點傳播與單
點傳播來快速傳送更新, 並記錄資料的接收。
當 EIGRP 傳送多點傳播交通時, 會使用 D 級位
址 224.0.0.10。
如剛才所說的, 每部 EIGRP 路由器都知道它的
鄰居是誰, 以及它所送出的每份多點傳播。
21
可靠的傳輸協定 (RTP)
它會維護一份已經回應的鄰居清單, 如果沒有收
到某個鄰居的回應, 就會轉而利用單點傳播來重
送相同的資料。
如果嘗試 16 次單點傳播之後仍然沒有取得回應,
就判定該鄰居死刑;人們通常稱這種程序為可
靠的多點傳播 (reliable multicast)。
路由器會藉由指定序號給每個封包, 以記錄它所
傳送的資訊。
利用這種技巧, 就能偵測到過時的、多餘的、或
失序的資訊。
22
可靠的傳輸協定 (RTP)
進行這些事情的能力是非常重要的, 因為
EIGRP 屬於安靜的協定。
它所依賴的能力就是在啟動時同步路徑資料庫,
然後只對異動進行通訊, 以維護資料庫的一致性。
因此如果有封包永久的遺失, 或沒有依照順序執
行封包, 就可能導致路徑資料庫的損毀。
23
擴散更新演算法 (DUAL)
EIGRP 利用擴散更新演算法 (Diffusing Update
Algorithm, DUAL) 來選擇與維護每個遠端網路
的最佳路徑。
這個演算法的能力包括:
找出可用的備援路徑。
支援 VLSM。
復原動態路徑。
如果找不到路徑, 就查詢替代路徑。
DUAL 使得 EIGRP 成為所有的協定中, 路徑收
斂時間最短的一種。
24
擴散更新演算法 (DUAL)
EIGRP 收斂速度最快的關鍵有 2 個方面:首先,
EIGRP 路由器維護一份所有鄰居路徑的拷貝,
用來計算它們自己通往每個遠端網路的成本。
如果最佳路徑故障, 只要檢查拓樸表的內容, 很
簡單地就可找出最佳的替代路徑。
其次, EIGRP 路由器如果無法從本地的拓樸表
中找到好的替代路徑, 就很快地要求它們的鄰居
幫忙找尋。
倚賴其他的路由器, 並利用它們所提供的資訊,
正說明了 DUAL 中擴散一詞的意義。
25
擴散更新演算法 (DUAL)
如之前所說的, Hello 協定的整個構想是要快速
地偵測出新進入或死亡的鄰居。
RTP 回應這個需求的方式是提供可靠的機制來
依序地傳送訊息, DUAL 植基於這個堅固的基礎,
負責選擇與維護最佳路徑的資訊。
26
7 - 2 利用 EIGRP 來支援大型網路
EIGRP 包括一群非常酷的功能, 使它非常適合
用於大型網路中:
在一部路由器上支援多個 AS
支援 VLSM 與總結
發現與維護路徑
27
多個 AS
EIGRP 使用自治系統號碼來識別一群分享路徑
資訊的路由器, 只有相同自治系統號碼的路由器
可分享路徑。
在大型網路中, 很容易就會造就出非常複雜的拓
樸與路徑表, 而且在擴散計算的運算中會顯著地
降低收斂速度。
因此, 管理員要做什麼才能緩和大型網路的衝擊
呢?
28
多個 AS
沒錯, 我們可能得將網路分割成多個不同的
EIGRP 自治系統 (AS), 每個 AS 是由鄰近的一
組路由器組成的, 而不同的 AS 之間可以藉由重
分送 (redistribution) 來分享路徑資訊。
在 EIGRP 中使用重分送會引起其他有趣的特性。
一般而言, EIGRP 路徑的管理性距離
(administrative distance) 是 90, 但這種路徑只
適用於所謂的內部 EIGRP 路徑 (internal
EIGRP route)。
29
多個 AS
這些是由同屬相同自治系統之 EIGRP 路由器在
該自治系統內產生的路徑。
另一種路徑則稱為外部 EGIRP 路徑 (external
EIGRP route), 其管理性距離是 170, 比內部
EIGRP 路徑差。
外部路徑可能是由於手動或自動的重分送, 而出
現在 EIGRP 路徑表中。
30
多個 AS
它們代表的是起源於 EIGRP 自治系統外部的網
路, 而且不在乎這些路徑是起源於其他的
EIGRP 自治系統, 或其他的遶送協定, 如 OSPF
等。
當它們重新分送給 EIGRP 時, 就會被視為外部
的路徑。
關於 EIGRP 與重分送, 有幾個不錯的功能。假
設有個公司的所有路由器都運行 IGRP, 他們剛
剛任用您當網路管理員。
31
多個 AS
因為您剛剛研究完這本書, 知道 EIGRP 有許多
比 IGRP 好的地方, 所以您決定在網路上運行
EIGRP。
因為您需要慢慢地移植到 EIGRP, 而且無法同
時更改所有的路由器, 所以需要設定重分送 -
對吧?
其實 EIGRP 不需要這樣!只要您替 EIGRP 使
用相同的自治系統號碼, EIGRP 就會自動地從
IGRP 重新分送路徑到 EIGRP。
32
多個 AS
當然, EIGRP 會將這些視為外部的路徑 (AD 為
170), 因此這並非永久之計, 您一定會希望儘可
能快點移植過去。
但因為有這種自動重分送的功能, 所以您不需要
趕在一個週末移植完成。
33
支援 VLSM 與路徑總結
EIGRP 是一種較複雜的無級別遶送協定, 支援
VLSM 的運用。
這真的非常重要, 因為透過更符合主機需求的子
網路遮罩, 可節省位址空間, 例如針對點對點的
網路利用 30 位元的子網路遮罩。
而且因為每個路徑更新都會散播子網路遮罩, 所
以 EIGRP 也支援非連續子網路的運用, 使得我
們在規劃網路的 IP 位址時, 能有更大的彈性。
34
支援 VLSM 與路徑總結
何謂非連續的子網路?這是指從一個有級別網
路分割出來的 2 個子網路, 但是靠另一個有級別
的網路連在一起。
圖 7.1 顯示典型的非連續網路。
172.16.10.0 與 172.16.20.0 等子網路靠
10.3.1.0 網路連在一起, 每個路由器都認為它只
有 172.16.0.0 的有級別網路。
35
支援 VLSM 與路徑總結
36
支援 VLSM 與路徑總結
非連續網路完全無法與 RIPv1 或 IGRP 一起運
作, 預設上它們也無法在 RIPv2、或 EIGRP 網
路上運作。
但非連續網路在預設上卻可以在 OSPF 網路上
運作, 因為 OSPF 並不像 EIGRP 那樣會進行自
動的路徑總結。
不過不必擔心, 倒是有方法可以讓 EIGRP 能運
作, 稍後就會跟您說明。
37
支援 VLSM 與路徑總結
EIGPR 也支援手動地於任何 EIGRP 路由器上
產生總結, 以縮減路徑表的大小。
然而, EIGRP 會自動地於有級別的邊界總結網
路, 圖 7.2 顯示 EIGRP 路由器如何看待它會自
動進行總結的網路與邊界 (見下頁圖)。
很明顯地, 根據預設這是無法運作的!請注意,
RIP、RIPv2、與 IGRP 的預設也會自動總結這
些邊界, 但 OSPF 則不然。
38
支援 VLSM 與路徑總結
39
發現與維護路徑
EIGRP 的混合特性完全表露於它在發現與維護
路徑的做法上。
就像許多鏈路狀態協定一樣, EIGRP 支援透過
Hello 程序來發現鄰居的觀念, 並且監視它的狀
態。
同時像許多距離向量協定一樣, EIGRP 使用之
前所說之謠傳式遶送 (routing-by-rumor) 的機制,
也就是許多路由器事先並沒有收到路徑更新。
它們從其他的路由器收到這些資訊, 而那些路由
器可能也是之前從其他路由器聽來的。
40
發現與維護路徑
假定 EIGRP 路由器必須收集大量的資訊, 那麼
它們也必須有地方加以儲存, 對吧?
沒錯, EIGRP 利用一系列的表格來儲存有關環
境的重要資訊, 包括:
鄰居關係表 (neighborship table) 鄰居關係表
(通常又稱為鄰居表) 記錄了那些已經與它形成鄰
居關係的路由器的相關資訊。
拓樸表 (topology table) 拓樸表儲存它從每個
鄰居收到的, 有關互連網路中每條路徑的路徑宣
傳。
41
發現與維護路徑
路徑表 (route table) 路徑表儲存目前用來進行
遶送決策的路徑, 針對每一種 EIGRP 支援的協
定會有個別的路徑表, 例如 IP 或 IPv6 專用的路
徑表。
現在我們要討論 EIGRP 衡量指標, 然後轉移到
EIGRP 的設定。
42
EIGRP 衡量指標
EIGRP 另一個不錯的特色是, 不像其他協定只
使用單一種因素來比較與挑選最佳路徑, EIGRP
使用 4 種組合:
頻寬 (Bandwidth)
延遲 (Delay)
負載 (Load)
可靠性 (Reliability)
就像 IGRP 一樣, 預設上 EIGRP 只使用線路的
頻寬與延遲來決定抵達遠端網路之最佳路徑。
43
EIGRP 衡量指標
Cisco 有時喜歡稱這些為路徑頻寬值與累計的
鏈路延遲。
值得注意的是, 有第 5 個因素:最大傳輸單元
(maximum transmission unit, MTU) 長度。
這個因素從來沒有用在 EIGRP 的計算中, 但在
有些 EIGRP 相關的命令中, 它是個必要的參數,
特別是在涉及重分送的地方。
MTU 的值代表路徑抵達目的網路的途中所遇到
的最小 MTU 值。
44
最大路徑與中繼站數目
根據預設, EIGRP 最多可以提供 4 條相等成本
的負載平衡 (其實所有遶送協定都是這樣)。
然而, 藉由以下的命令, 您可以讓 EIGRP 最多
以 6 條鏈路 (相等或不相等) 來進行負載平衡:
此外, EIGRP 的最大中繼站數目為 100, 而且最
高還可以設到 255。
45
最大路徑與中繼站數目
我們很少會有機會去更改它, 不過如果您想要改,
命令如下:
從命令的輸出畫面也可以發現, EIGRP 最多可
以設定 255 個中繼站。
即使 EIGRP 不使用線路中的中繼站數目來計算
衡量指標, 仍然會使用最大中繼站數目來限制
AS 的範圍。
46
7 - 3 設定 EIGRP
雖然 EIGRP 可針對 IP、IPv6、IPX、
AppleTalk 等協定來設定, 但想要成為 CCNA,
現在只要專注於 IP 的設定即可。
能用來輸入 EIGRP 命令的模式有 2 個:路由
器設定模式與界面設定模式。
路由器設定模式啟動該協定, 決定哪個網路要執
行 EIGRP, 並設定整體的特性。
界面設定模式可用來客製化總結、衡量指標、
逾時計時器、以及頻寬等。
47
設定 EIGRP
要在路由器上啟動 EIGRP 會談, 須使用 router
eigrp 命令, 後面跟著網路的自治系統編號。
然後利用 network 命令與網路號碼, 輸入連結
該路由器的網路號碼。
例如, 在一個連結 10.3.1.0 / 24 與 172.16.10.0
/ 24 網路之路由器上針對 AS 20 啟動 EIGRP:
48
設定 EIGRP
記住, 就如同 RIP 的設定一樣, 我們使用有級別
的網路位址, 也就是所有子網路與主機位元都關
閉。
假設您想要讓某片界面停止運行 EIGRP, 例如
BRI 界面或連接網際網路的序列連線, 則要利用
passive-interface 界面命令來標示該界面為被
動的界面 (passive interface), 就像我們在第 6
章針對 RIP 所討論的那樣。
以下的命令展示如何將序列 0 / 1 界面標示為被
動的界面。
49
設定 EIGRP
這樣做就可禁止該界面收送 Hello 封包, 結果阻
止它形成緊鄰關係, 這表示該界面將不會收送任
何路徑資訊。
好的, 讓我們以上一章設定 RIP 與 RIPv2 所用
的相同網路, 進行 EIGRP 的設定。
50
設定 EIGRP
除非您擔心頻寬與 CPU 資源的消耗, 否則是否
已經執行 RIPv2 (以及我們的靜態路徑) 其實是
無所謂的。
因為 EIGRP 的管理性距離 90, 而我們的靜態路
徑已將 AD 改成 150 或 151, RIP 則是 120。
因此, 即使 RIP 與靜態路徑都有啟動, 也只有
EIGRP 路徑會被選入路徑表。
圖 7.3 顯示我們即將要設定 EIGRP 的網路。
51
設定 EIGRP
52
設定 EIGRP
表 7.1 再次列出這個網路每個界面上使用的 IP
位址:
53
設定 EIGRP
54
設定 EIGRP
增加 EIGRP 到互連網路其實是非常容易的, 這
正是 EIGRP 美妙之處。
55
Corp
AS 編號的範圍可以從 1 到 65, 535。路由器可
以成為許多 AS 的成員, 但為了本書的目的, 我
們只要設定單一的 AS 即可:
router eigrp [自治系統編號] 命令開啟路由器
上的 EIGRP 遶送。
56
Corp
如同 RIPv1 那樣, 您仍然必須加入想要宣傳的
網路號碼, 但不像 IGRP, EIGRP 使用的是無級
別的遶送, 也就是子網路遮罩的資訊會隨著遶送
協定的更新一起傳送 (RIPv2 也是無級別的)。
57
R1
關於 R1 路由器的設定, 所有要做的就是使用
AS 10 來開啟 EIGRP 遶送, 並且增加如下的網
路號碼:
R1 路由器發現了 Corp 路由器 - 這兩部路由
器是緊鄰的!而且它還發現到兩部路由器之間
連接了兩條鏈路, 這其實是好事。
58
R2
要設定 R2 路由器, 同樣地也是使用 AS 10 來開
啟 EIGRP:
完成了!大部分的遶送協定都很容易設置,
EIGRP 也不例外, 當然這只是針對基本設定而
言。
59
R3
就像在前面幾章一樣, 讓我們使用 SDM 來設定
R3 的 EIGRP。設定過程本身一點都不長 - 倒
是一開始的登入時間蠻久的!
下面的第一個畫面中可以看到路由器上還有我
們的靜態路徑和 RIPv2。
60
R3
讓我們加入 AS 10, 開啟 EIGRP, 並選擇設定被
動界面-只是因為要這樣做真的很容易。
61
R3
最後, 可以看到 EIGRP 現在已經在 AS 10 運作
了。
大功告成。
62
R3
我們的設定似乎非常完整, 但請記住, 只有
EIGRP 路徑會進入路徑表, 因為它有最低的管
理性距離。
因此, 背後所執行的 RIP 不只消耗更多的記憶
體與 CPU 資源, 同時也浪費所有鏈路上的寶貴
頻寬!
這可能是令人無法接受的, 您必須記住這點。
現在輪到最後一部路由器的設定了。
63
R3
因為筆者的 871W 路由器上執行的 IOS 映像並
不支援 EIGRP, 所以我們仍然讓它執行 RIPv2,
但得設定從 R3 路由器到 871W 路由器的重分
送 (redistribution)。
您可能會覺得這很有趣, 就讓我們開始吧!
64
從 R3 到 871W 路由器的重分送
在 R3 路由器上, 我們只需要在 EIGRP 和 RIP
之下加入重分送命令。我們知道 SDM 確實有
其限制, 所以必須使用 CLI 來完成這件事:
65
從 R3 到 871W 路由器的重分送
66
從 R3 到 871W 路由器的重分送
我們必須改變 RIP 的中繼站數目衡量指標, 以
配合 EIGRP 的頻寬衡量指標、延遲、可靠度、
負載、和 MTU。
即使 EIGRP 根據預設可能只會用到線路上的頻
寬和延遲, 您還是必須設定所有的衡量指標值。
R3 路由器現在有雙語能力, 並且同時會講 RIP
和 EIGRP 的語言。
它甚至可以做為其他路由器的某種口譯員。
67
從 R3 到 871W 路由器的重分送
這表示我們還沒有完成 - 我們還必須設定從
EIGRP 到 RIP 的重分送 (相互重分送), 以便
871W 可以接收 EIGRP 路徑當作 RIP 路徑 -
因為 871W 路由器只會「說」RIP:
68
從 R3 到 871W 路由器的重分送
前面的輸出顯示我們將 EIGRP 重分送到 RIP,
並且將衡量指標改變為中繼站數目。
但是要知道這是否真的能運作的唯一方法, 就是
把 R3 以外所有路由器上的 RIP 都關閉 - 由
R3 提供對它與 871W 路由器之間的轉換。
讓我們來看看要如何做:
69
從 R3 到 871W 路由器的重分送
讓我們檢查 Corp 的路徑表:
70
從 R3 到 871W 路由器的重分送
好了 - 所有路徑都出現了, 包括連到 871W 路
由器的無線 LAN 10.1.12.0。
而且, 它不僅出現在這裡, 也出現在 EIGRP 網
路中, 因為 R3 有將 RIP 轉換成 EIGRP。
下面是 871W 路由器的路徑表, 顯示它把從 R3
路由器接收到的所有路徑都當做是 RIP 路徑。
71
從 R3 到 871W 路由器的重分送
我們可以看到路徑表中有所有的網路。只要
871W 路由器連著, 整個網路就只有執行 RIP。
相當不錯!當您有一台執行 RIP 的舊路由器,
而您又不想要在其他所有路由器上安裝 RIP 時,
這是個很棒的網路設定範例。
72
設定非連續網路
關於自動總結, 還有其他設定必須知道。
回憶一下圖 7.1, 它展示了 EIGRP 如何在非連
續的網路上自動地總結邊界, 再檢視一下該圖,
並設定兩部路由器上的 EIGRP:
圖中的 Lab_A 路由器連到 172.16.10.0 / 24 網
路與 10.3.1.0 / 24 骨幹, Lab_B 路由器連到
172.16.20.0 / 24 網路與 10.3.1.0 / 24 骨幹。
根據預設, 這兩部路由器都會自動總結有級別的
邊界。
以下是使這個網路能運作的設定。
73
設定非連續網路
no auto-summary 命令告訴 EIGRP 要宣傳這
2 部路由器之間的所有子網路。如果網路規模
更大, 就必須得在這些邊界上提供手動的總結。
74
7 - 4 EIGRP 的負載平衡
您可能知道, 根據預設, EIGRP 可以對最多 4 個
相同成本的鏈路進行負載平衡。
但是您還記得我們可以設定 EIGRP, 讓它最多
能以 6 個相等或不相等成本的鏈路對通往遠端
網路進行負載平衡嗎?
是的, 我們可以, 所以讓我們來利用 Corp 和 R1
路由器, 並進行一些負載平衡。
首先, 先看看 R1 路徑表, 並確定可以在路由器
間的兩條鏈路上找到 EIGRP。
75
EIGRP 的負載平衡
76
EIGRP 的負載平衡
現在這是不同的新東西了 - 確實是個很有趣的
路徑表。
您可以看到我們互連網路上的每台路由器都有
兩條鏈路, 而且根據預設, EIGRP 會在 s 0 / 0 /
0 和 s 0 / 0 / 1 鏈路間進行負載平衡, 因為它們
具有相同的衡量指標。
77
EIGRP 的負載平衡
EIGRP 確實提供一些很酷的功能, 其中之一就
是自動負載平衡。
但是對於整捆的鏈路呢? EIGRP 也可以讓我們
這樣做, 甚至不需要額外的設定!下面將說明怎
麼做。
我們要使用相同的子網路來設定 Corp 和 R1 路
由器的所有鏈路, 表示這兩條鏈路的所有界面都
在相同的子網路上。
來看看我們的組態設定。
78
EIGRP 的負載平衡
79
EIGRP 的負載平衡
現在兩條鏈路的 4 個界面都在相同的子網路上
了。
80
EIGRP 的負載平衡
您注意到路徑表中有個微妙的改變嗎?
10.1.2.0 和 10.1.3.0 網路過去一直是顯示為直
接相連的界面, 但是現在已經不是了。
81
EIGRP 的負載平衡
現在只有 10.1.2.0 網路顯示為兩個直接連結的
界面, 而現在路由器在這條線路有一個 3 MB 的
管線, 而不再是兩個 1.5 Mbps 的 T1 鏈路了。
這些改變雖然很小, 但可不會因此而不夠酷喔!
等一下....為什麼雖然子網路 10.1.3.0 已經不存
在了, 但路徑表中還是有 10.1.3.0, 而且顯示為
D, 代表 EIGRP 的雙重鏈路 (DUAL)?
答案很簡單 - 因為當初我們透過 SDM 設定
R3 路由器上的靜態路徑時, 點選了永久的
(Permanent) 路徑選項。
82
EIGRP 的負載平衡
這個命令的效果是:「如果有任何靜態網路斷
掉, 也請在 R3 路徑表中保存這條路徑。」
我們在 Corp 和 R1 路由器間並沒有設定
10.1.3.0 網路, 所以雖然已經沒有 10.1.3.0, 但
R3 路由器還是將它宣傳為可以使用;因為我們
建立了重分送命令, 所以它會這麼做。
我們要將 10.1.3.0 子網路加回網路, 以便能在
這些雙重鏈路上玩點把戲。
我們要在 Corp 和 R1 的 s 0 / 0 / 1 界面設定
10.1.3.1 / 24 和 10.1.3.2 / 24。
83
EIGRP 的負載平衡
現在 10.1.3.0 又再次被宣傳, 但是這次可是真
正存在的網路了。
讓我們稍為把事情搞亂一點, 並且改變 10.1.3.0
鏈路上的衡量指標, 看看會發生什麼事。
84
EIGRP 的負載平衡
因為根據預設, EIGRP 會使用線路的頻寬和延
遲來判斷通往每個網路的最佳路徑, 所以我們降
低 R1 和 Corp 路由器上 s 0 / 0 / 1 界面的頻寬,
並提高它們的延遲。
現在來檢驗我們網路上的 EIGRP, 並且檢查在
R1 和 Corp 路由器間的雙重鏈路現在是否有開
啟。
85
7 - 5 確認 EIGRP 的設定
路由器上有幾個命令可幫助您檢修與確認
EIGRP 的設定, 表 7.2 列出這些確認 EIGRP 運
作的命令, 並對每個命令的作用提供簡短的說明:
86
確認 EIGRP 的設定
以下利用剛才所設定的互連網路, 展示如何利用
表 7.2 的命令, 但不包括非連續網路的範例。
以下面是範例網路中 Corp 路由器的輸出:
87
確認 EIGRP 的設定
您可以看到所有的路徑都出現在路徑表中
(10.1.3.0 再次顯示出它是直接相連的), 而且只
有一條鏈路可抵達 10.1.6.0 與 10.1.7.0 網路!
請注意 EIGRP 路徑只以 D (DUAL) 來表示, 而
這些路徑的預設管理性距離是 90, 這表示它們
是內部的 EIGRP 路徑。
88
確認 EIGRP 的設定
接著讓我們檢視更改衡量指標後的 R1 路由器,
看它的路徑表輸出:
89
確認 EIGRP 的設定
現在, 到每個遠端網路都只有一條路徑, 而
10.1.3.0 網路是我們的備援鏈路。
很明顯地, 如果我們能同時使用兩條鏈路會比較
好, 但這個例子只讓 10.1.3.0 網路當備援鏈路。
現在讓我們回到 Corp 路由器, 看它的鄰居表顯
示什麼:
90
確認 EIGRP 的設定
這份輸出的解析如下:
H 欄位表示該鄰居被發現的順序。
保留時間 (hold time) 表示這部路由器願意等待
多少時間來接收從該鄰居來的 Hello 封包。
啟動時間 (uptime) 表示該鄰居已經建立多久了。
91
確認 EIGRP 的設定
SRTT 欄位是一個平順來回的逾時計時器
(Smooth Round-Trip Timer), 顯示這部路由器來
回往返該鄰居所需的時間。
這個值是要用來決定路由器對於從該鄰居回應的
多點傳播要等待多久, 如果在這個時間內沒有收
到回應, 路由器就會改用單點傳播來嘗試完成通
訊。
重送逾時 (Retransmission Time Out, RTO) 欄
位是 EIGRP 重新傳送重送佇列中的封包給鄰居
的時間間隔。
92
確認 EIGRP 的設定
Q 值表示佇列中是否還有未完成的訊息, 如果這
個值一直很大, 表示有問題。
序號 (seq) 欄位表示從該鄰居來的最後一個更新
的序號。其作用是為了維持同步, 避免處理重複
或失序的訊息。
以下利用 show ip eigrp topology 命令來檢視
Corp 的拓樸表:
93
確認 EIGRP 的設定
94
確認 EIGRP 的設定
請注意每條路徑的前面都有個 P 字, 這表示該
路徑處於惰性狀態 (passive state)。
這是好事, 因為如果路徑處於進展中狀態
(active state, A), 表示路由器已經失去了通往該
網路的路徑, 而正在搜尋替代的路徑之中。
95
確認 EIGRP 的設定
每筆路徑也會標示出抵達每個遠端網路的可行
距離 (FD), 以及封包通往目的地所經的下個中
繼節點鄰居。
每個項目的小括號中有 2 個數字, 前面是可行距
離, 後面是抵達遠端網路的宣傳距離。
現在是有趣的部份了 - 請注意在 10.1.7.0 和
10.1.6.0 的輸出中各有兩條鏈路連到這兩個網
路, 而且可行距離和宣傳具離並不相等。
這表示我們網路有一個後繼者和一個可行後繼
者 - 一條備援路徑!非常酷!
96
確認 EIGRP 的設定
您必須記住即使通往 10.1.7.0 和 10.1.6.0 網路
的兩條路徑都在拓樸表中, 但只有後繼者路徑
(具有最低衡量指標者) 會被複製到路徑表中。
當兩條路徑具有相同的變異量 (相同成本) 時,
EIGRP 會自動在這兩者間進行負載平衡。
但是如果我們使用 variance 命令的話, EIGRP
也可以在成本不相等的鏈路間進行負載平衡。
變異指標的預設為 1, 表示只有相等成本的鏈路
會進行負載平衡。
97
確認 EIGRP 的設定
您可以改變任意一處的變異指標 - 最高到 128。
改變變異值會啟動 EIGRP 在本地路徑表中, 去
安裝多個成本不等之無回圈路徑。
因此, 基本上, 如果變異值設為 1, 則只有相同衡
量指標的後繼者路徑會被安裝到本地的路徑表
中。
此外, 舉例而言, 如果變異值設為 2, 則任何
EIGRP 所知的路徑中, 衡量指標小於後繼者衡
量指標兩倍者都會被安裝在本地路徑表中 (如果
它已經是可行後繼者的話)。
98
確認 EIGRP 的設定
現在是檢查一些除錯輸出的時候了。首先, 讓我
們使用 debug eigrp packet 命令來顯示在鄰
居路由器間傳送的 Hello 封包。
99
確認 EIGRP 的設定
因為 Corp 路由器連到 3 個 EIGRP 鄰居, 且
224.0.0.10 的多點傳播每隔 5 秒就傳送一次, 所
以可以很容易看到這些更新。
Hello 封包會從每個主動界面和有連接鄰居的界
面送出。
100
確認 EIGRP 的設定
您是否注意到更新中也有提供 AS 編號?這是
因為如果鄰居有不同的 AS 編號時, 只要丟棄它
的 Hello 更新即可。
我們還要說明另一個重要的除錯命令 - debug
ip eigrp notification 命令 (在 12.4 版以前的路
由器上稱為 debug ip eigrp events), 以及它的
輸出。
101
確認 EIGRP 的設定
對您來說, 最重要而且可能最令人驚訝的就是,
這個命令的輸出完全沒有東西!沒錯 - 只有在
網路上有問題或是您在互連網路的路由器中新
增或刪除一個網路時, 這個命令才會有輸出。
因為剛好我們的網路沒有什麼問題, 所以讓我們
先關閉 Corp 路由器的一個界面, 以便看到一些
輸出:
102
確認 EIGRP 的設定
103
確認 EIGRP 的設定
請繼續堅持下去, 接下來我們要介紹 OSPF。
104
7 - 6 OSPF 基礎
開放式最短路徑優先 (Open Shortest Path First,
OPSF) 是一種開放的遶送協定標準, 受到網路
廠商的廣泛支持, 包括 Cisco。
如果您有多部路由器, 而且不全部是 Cisco 的設
備, 則不能使用 EIGRP。
就 CCNA 目標的選擇而言, 能用的大概就剩下
RIPv1、RIPv2、與 OSPF。
但如果是大型網路, 則選擇只剩下 OSPF, 或所
謂的路徑重分送 - 在遶送協定之間的轉換服務,
如本章稍前的討論。
105
OSPF 基礎
OPSF 的運作靠 Dijkstra 演算法。首先, 建構一
棵最短路徑樹, 然後利用所產生的最佳路徑來填
路徑表。
OSPF 收斂速度很快, 或許沒 EIGRP 那麼快,
不過 OSPF 支援多條抵達同一個目的地且成本
相等的路徑。
就像 EIGRP 一樣, OSPF 支援 IP 與 IPv6。
OSPF 的特色如下:
由區域與自治系統組成。
106
OSPF 基礎
使路徑更新交通減到最少。
具有擴充性。
支援 VLSM / CIDR。
不限制中繼站數目。
可佈建多種廠牌的設備 (開放式標準)。
OSPF 是大部分人學到的第一個鏈路狀態遶送
協定, 很適合拿它來與傳統的距離向量協定進行
比較, 如 RIPv2 與 RIPv1。
表 7.3 列出這 3 個協定的比較結果。
107
OSPF 基礎
108
OSPF 基礎
除了表 7.3 以外, OSPF 還有許多其他的特性,
所有這些特性造就出一個快速、可擴充、以及
強健的協定, 活躍地應用在大量的營運網路中。
109
OSPF 基礎
OSPF 應該要以階層的形式來設計, 基本上假設
您能夠將較大型的互連網路分割成幾個稱為區
域 (area) 的較小型互連網路;這種設計對
OSPF 最好。
以階層式設計來建置 OSPF 的理由包括:
降低遶送引起的額外負擔 (overhead)
加速收斂
將網路的不穩定性限制在單個區域的網路內。
但這並沒有使得 OSPF 的設定變得比較容易,
而是比較費工且困難。
110
OSPF 基礎
圖 7.4 顯示一個典型的 OSPF 設計。
請注意每部路由器如何連結骨幹 (稱為區域 0,
或骨幹區域)。
OSPF 一定要有區域 0, 而所有其它區域都應該
要連結這個區域 (藉由虛擬鏈路而不直接與區域
0 相連的區域已超出本書的範圍)。
在 AS 內部連結其他區域到骨幹區域的路由器
稱為區域邊界路由器 (Area Border Router,
ABR), ABR 至少得有一片界面屬於區域 0。
111
OSPF 基礎
112
OSPF 基礎
OSPF 在自治系統內部執行, 但也可以將多個自
治系統連結在一起, 將這些 AS 連結在一起的路
由器稱為自治系統邊界路由器 (Autonomous
System Boundary Router, ASBR)。
理想上, 您要產生其他區域的網路, 儘量讓路徑
更新的量維持最小, 並且避免問題擴散至整個互
連網路。
不過這已超出本章的討論範圍, 您只要先記住這
點即可。
如同 EIGRP 的討論, 我們先跟您介紹一些瞭解
OSPF 時必須知道的術語。
113
OSPF 術語
想像一下, 如果給您一張地圖和一個指南針, 但
您卻對東西南北、河流或山川、湖泊或沙漠等
完全沒有概念, 事情會變得多麼艱鉅。
如果對相關事物沒有概念, 就不可能好好利用手
上的工具來完成任務。
因此, 我們一開始花比較多的時間來跟您介紹
OSPF 的相關術語, 以免您迷失於之後的節次中。
以下是一些很重要的 OSPF 術語, 繼續往後研
讀之前請先熟讀。
114
OSPF 術語
鏈路 (link) 鏈路是一個網路或指定給某個網路的
路由器界面。當我們增加一片界面到 OSPF 程
序時, OSPF 就會將該片界面視為一條鏈路。
這條鏈路或界面就會有相關的狀態資訊 (開啟或
關閉), 以及一或一個以上的 IP 位址。
路由器 ID 路由器 ID (RID) 是用來識別路由器的
IP 位址。Cisco 挑選路由器 ID 的方式是使用所
有設定之回繞界面中 IP 位址最高的那一個。
但如果沒有設定位址的回繞界面, 就選擇所有運
作中之實體界面中, IP 位址最高的那一個。
115
OSPF 術語
鄰居 (neighbor) 鄰居是有界面在相同網路上的
2 部或更多部路由器, 例如連到點對點序列鏈路
的 2 部路由器。
緊鄰關係 (adjacency) 緊鄰關係是能直接交換
路徑更新的兩部 OSPF 路由器之間的關係。
OSPF 在分享路徑資訊方面真的非常挑剔 - 不
像 EIGRP 就直接與所有的鄰居分享路徑。
相對地, OSPF 只與那些也建立緊鄰關係的鄰居
直接分享路徑。
並非所有的鄰居都可建立緊鄰關係, 要根據網路
的類型與路由器的組態而定。
116
OSPF 術語
hello 協定 OSPF 的 hello 協定可動態地發現鄰
居, 並維護鄰居關係。hello 封包與 LSA 會建構
並維護拓樸資料庫。hello 封包的位址是
224.0.0.5。
鄰居關係資料庫 (neighborship database) 這
是從一份 Hello 封包看到的所有 OSPF 路由器
的清單, 資料庫維護了每部路由器的各種細節,
包括路由器 ID 與狀態。
拓樸資料庫 (topology database) 拓樸資料庫
包含路由器針對某個區域所接收之所有 LSA 封
包中的資訊。
117
OSPF 術語
路由器利用拓樸資料庫中的資訊當作 Dijkstra 演
算法的輸入, 計算出抵達每個網路的最短路徑。
鏈路狀態宣傳 (Link State Advertisement,
LSA) 這是一種 OSPF 資料封包, 包含要與其他
OSPF 路由器分享的鏈路狀態與路徑資訊。
LSA 封包有好多種, 稍後我們會加以解釋。
OSPF 路由器只與那些與它已經建立緊鄰關係的
路由器交換 LSA 封包。
委任路由器 (designated router, DR) 每當
OSPF 路由器連到相同的多方存取網路時就會選
出一部 DR。
118
OSPF 術語
Cisco 喜歡稱這些為廣播網路, 但其實它們是有
多個接收者的網路, 請試著不要混淆了多方存取
(multi-access) 與多點 (multi-point), 有時候它們
非常容易令人混淆。
最明顯的例子就是乙太網路的 LAN。
為了最小化所形成的緊鄰關係數量, 於是選出
DR 負責與廣播網路或鏈路上的其餘路由器, 散
播或接收路徑資訊。
這可確保它們的拓樸表是同步的, 共享網路上的
所有路由器會與 DR 及 BDR 建立緊鄰關係。
119
OSPF 術語
擁有最高優先權的路由器將贏得 DR 的選舉, 若
這樣的路由器有許多部, 則再以路由器 ID 來決
勝負。
備援委任路由器 (backup designated router,
BDR) BDR 是多方存取鏈路 (請記住 Cisco 有時
候喜歡稱它為廣播網路) 上的 DR 熱備援。
BDR 只會從 OSPF 緊鄰路由器接收所有的遶送
更新, 但不會散播 LSA 更新。
OSPF 區域 (OSPF area) OSPF 區域是一群鄰
近的網路與路由器。
120
OSPF 術語
相同區域中的所有路由器共享一個區域 ID, 但因
為路由器可以同時屬於一個以上的區域, 所以區
域 ID 要關聯到路由器上的界面。
於是就有可能同一部路由器上的某些界面屬於區
域 0, 而其餘的界面屬於區域 1。
同一個區域內的所有路由器會有相同的拓樸表。
在設定 OSPF 時, 必須記住一定要有區域 0, 而
這通常會設定在連結骨幹網路的路由器上。
區域也扮演建立階層式網路結構的角色 - 有時
這真的加強了 OSPF 的擴充能力!
121
OSPF 術語
廣播 (多方存取) 廣播 (多方存取) 網路如乙太網
路, 可允許多個裝置連結 (或存取) 相同的網路,
並提供廣播的能力, 將單個封包傳送給網路上的
所有節點。
在 OSPF 中, 每個廣播多方存取網路必須選出一
部 DR 與一部 BDR。
非廣播多方存取 (nonbroadcast multi-access,
NBMA) NBMA 網路如訊框中繼 (frame relay)、
X.25、與 ATM 等, 這些網路允許多方存取, 但沒
有如乙太網路的廣播能力。
122
OSPF 術語
因此 NBMA 網路需要特殊的 OSPF 設定才能正
確地運作, 而且必須定義鄰居關係。
點對點 (point-to-point) 這種網路拓樸由兩部路
由器之間的直接連線組成, 提供單一的通訊線路。
點對點連線可以是實體的線路, 如直接連結兩部
路由器的序列纜線;也可以是邏輯的線路, 例如
當兩部路由器相隔千里之遠, 仍然可以由訊框中
繼網路中的電路連結在一起。
無論是實體或邏輯的, 這種組態並不需要 DR 或
BDR - 它們會自動地發現鄰居。
123
OSPF 術語
點對多點 (point-to-multipoint) 這種網路拓樸
由一部路由器上的單個界面, 與多部目的路由器
之間的一組連線所組成, 共享點對多點連線之所
有路由器上的界面都屬於同一個網路。
與點對點的網路一樣, 這種網路也不需要 DR 或
BDR。
這些術語對於瞭解 OSPF 的運作非常重要, 因
此, 請確定您確實都已經非常熟悉。
接下來要幫助您把這些術語適當地應用於內文
中。
124
計算 SPF 樹狀結構
在區域內的每部路由器會計算它抵達同一個區
域內之每個網路的最佳 / 最短路徑。
這種計算乃根據拓樸資料庫中所收集的資訊, 以
及最短路徑優先 (Shortest Path First, SPF) 演
算法。
利用區域中的每部路由器建構出一個樹狀結構
- 非常像族譜 - 路由器是根部, 而所有其他網
路則沿著樹枝與樹葉排列。
這是路由器用來新增路徑到路徑表所用的最短
路徑樹。
125
計算 SPF 樹狀結構
很重要的是, 這種樹只包含與該路由器位於相同
區域內的網路。
如果路由器有分屬多個區域的界面, 則得為每個
區域建構各自的樹, SPF 演算法在挑選路徑的
程序中, 有個很重要的條件是考量每條通往網路
之可能路徑的衡量指標或成本。
但這種 SPF 計算並不應用在從其他區域來的路
徑。
126
計算 SPF 樹狀結構
OSPF 利用成本 (cost) 當作衡量指標, SPF 樹
中的每個離開界面會結合一個成本, 而整條路徑
的成本則是沿著該路徑所經過之離開界面的成
本總和。
因為成本就如 RFC 2338 所定義的那樣, 是個任
意值, Cisco 實作了它自己的方法來計算每個運
行 OSPF 界面的成本。
Cisco 使用的計算公式是 108 / 頻寬;其中頻寬
是為該界面的設定頻寬。
127
計算 SPF 樹狀結構
根據這個規則, 100 Mbps 快速乙太網路界面的
預設 OSPF 成本是 1, 而 10 Mbps 乙太網路界
面的成本是 10。
這個值可利用 ip ospf cost 命令加以更改, 成
本的值可更改為 1 到 65535 的範圍。
因為成本是要指定給每個鏈路的, 所以更改成本
時要注意是否有針對您所想要的界面。
128
7 - 7 設定 OSPF
設定基本的 OSPF 並不像 RIP、IGRP、與
EIGRP 那麼容易, 因為 OSPF 中納入許多要加
以考量的選項, 可能變得非常複雜。
不過沒關係 - 針對 CCNA 考試, 我們只對基本
單一區域的 OSPF 設定有興趣。
以下將描述如何設定單一區域的 OSPF。
設定 OSPF 的基本項目有:
啟用 OSPF
設定 OSPF 區域
129
啟用 OSPF
最簡單也最沒有擴充性的 OSPF 設定方式是只
利用單一區域, 這樣做所需的命令最少。
啟用 OSPF 遶送協定的命令是:
OSPF 程序 ID 的識別碼範圍從 1 到 65, 535,
它是路由器上的一個獨一無二的值, 把一系列的
OSPF 設定命令歸類於某個特定的運行程序內。
130
啟用 OSPF
不同的 OSPF 路由器不必使用相同的程序 ID
才能通訊, 它純粹只是一個對本機有意義的值,
而且其實意義不大。
同一部路由器上可同時執行一個以上的 OSPF
程序, 但這並不等同於執行多個區域的 OSPF。
第 2 個程序會完整地維護它自己個別的拓樸表,
並獨立地管理它的通訊。
因為 CCNA 的目標只涵蓋到單一區域的 OSPF
與執行單個 OSPF 程序的路由器, 所以本書只
專注在這部份的主題。
131
設定 OSPF 區域
識別 OSPF 程序之後, 還需要識別您想要啟用
OSPF 通訊的界面, 以及該界面屬於那個區域,
同時也須設定該路由器要宣傳給其他路由器的
網路。
OSPF 在設定中使用通配字元 (wildcard) - 這
也用在第 11 章的存取清單設定。
以下是一個基本的 OSPF 設定範例:
132
設定 OSPF 區域
記住, OSPF 程序 ID 的編號是無關緊要的, 網路
上每部路由器的編號可以相同, 也可以不同 -
無所謂。
它只對本機有意義, 只是要在該路由器上啟用
OSPF 遶送。
133
設定 OSPF 區域
network 命令的參數是網路號碼 (10.0.0.0) 與
通配遮罩 (0.255.255.255), 這 2 個號碼的組合
是要指定運行 OSPF 的界面, 而且也要加到
OSPF LSA 的宣傳中。
OSPF 將使用這個命令來找出設定在 10.0.0.0
網路中的路由器界面, 並將它發現到的界面放在
區域 0。
請注意您可以產生大約 42 億個區域 (或許沒有
任何路由器可以真正讓我們設定那麼多個區域,
但確實可用這麼多個號碼來命名它們), 也可以
使用 IP 位址的格式來標示區域。
134
設定 OSPF 區域
我們很快地複習一下通配字元:通配遮罩中的
0 位元組代表網路中所對應的位元組必須完全
符合, 而 255 則表示網路號碼中所對應的位元
組無關緊要。
例如 1.1.1.1 0.0.0.0 的網路與通配遮罩組合, 意
味著只有 1.1.1.1 可以匹配, 其他都不行。
如果您想要以非常清楚且簡單的方式在特定界
面上啟用 OSPF, 這真的非常有用。
135
設定 OSPF 區域
如果您堅持要匹配一個範圍的網路, 例如
1.1.0.0 0.0.255.255 的組合表示能夠匹配的網
路範圍是 1.1.0.0 到 1.1.255.255。
堅持使用 0.0.0.0 的通配遮罩, 並個別地指定每
個 OSPF 界面其實是比較簡單且安全的做法。
最後一個參數是區域號碼, 它顯示該網路與通配
遮罩所指的界面屬於那個區域。
請記住 OSPF 路由器只有當它們的界面共享一
個設為相同區域號碼的網路時, 才能成為鄰居。
136
設定 OSPF 區域
區域號碼的格式可以是從 1 到 4, 294, 967, 295
的十進位值, 或表示成以點號隔開的十進位符號。
例如 0.0.0.0 是個合法的區域號碼, 它的值其實
與 0 是相同的。
137
通配字元的範例
在設定網路組態之前, 讓我們先很快地瞄一下更
難的 OSPF 網路組態, 以瞭解如果我們使用子
網路和通配字元時, 我們的 OSPF 網路敘述會
是什麼樣。
假設一台路由器有 4 個不同的界面分別連到下
面 4 個子網路:
192.168.10.64 / 28
192.168.10.80 / 28
192.168.10.96 / 28
192.168.10.8 / 30
138
通配字元的範例
所有界面都必須在區域 0 中。對筆者而言, 最簡
單的組態設定方式應該如下:
但是最簡單未必最好, 所以雖然這很簡單, 但有
什麼樂趣?而且更糟的是, 它可能並沒有涵蓋到
CCNA 目標!
所以讓我們使用子網路編號和通配字元為每個
界面建立單獨的網路敘述, 如下。
139
通配字元的範例
現在這看起來像是個不同的組態!
老實說, OSPF 的運作方式會跟之前那種簡單的
設定完全相同 - 但是與簡單設定不同的是, 這
涵蓋了 CCNA 的目標!
要記得在設定通配字元時, 它們一定會比區塊的
長度少 1。
140
通配字元的範例
/ 28 的區塊長度為 16, 所以我們的網路敘述中
會使用子網路編號, 然後在焦點位元組中加入通
配字元 15。
至於區塊長度為 4 的 / 30, 則是使用通配字元 3。
下面以圖 7.5 為例, 使用通配字元來設定網路的
OSPF, 以確定您對此已經完全瞭解。
圖 7.5 顯示了有 3 台路由器的網路, 以及每個界
面的 IP 位址。
141
通配字元的範例
首先您必須能夠檢視每個界面, 並且判斷其位址
所屬的子網路。
別急, 筆者知道您正在想:「為什麼我不能直接
使用界面的 IP 位址和 0.0.0.0 通配字元?」您
當然可以, 但我們在此考慮的是 CCNA 的認證
目標, 而不是最簡單的方法!
142
通配字元的範例
143
通配字元的範例
圖中顯示了每個界面的 IP 位址。Lab_A 路由器
有兩個直接相連的子網路 192.168.10.64 / 29
和 10.255.255.80 / 30。
下面是使用通配字元的 OSPF 組態:
Lab_A 路由器在 ethernet0 界面上使用 / 29 或
255.255.255.248 遮罩。
144
通配字元的範例
這個區塊長度為 8, 通配字元為 7。s0 界面的遮
罩為 255.255.255.252 - 區塊長度為 4, 通配
字元為 3。
如果您看不懂 IP 位址和斜線的表示法, 並且無
法推論出子網路、遮罩、和通配字元, 就無法用
這種方式設定 OSPF, 是吧?
下面是另外兩個組態設定:
145
通配字元的範例
如同在 Lab_A 設定中所言, 您必須要能藉由檢
視界面的 IP 位址, 就判斷出子網路、遮罩、和
通配字元。
否則, 您將無法如前述般使用通配字元來設定
OSPF 組態。
所以請反覆研究, 直到您真的很熟悉為止。
146
用 OSPF 來設定我們的網路
接下來讓我們只用區域 0 來設定運行 OSPF 的
互連網路, 但在這之前, 得先移除 EIGRP, 因為
OSPF 的管理性距離是 110 (EIGRP 是 90)。
我們已經移除了路由器上的 RIP, 但現在也可以
移除 871W 與 R3 路由器的 RIP 了, 因為 871W
支援 OSPF 遶送協定。
設定 OSPF 的方法有許多種, 如同之前所說的,
最簡單的一種就是使用 0.0.0.0 通配遮罩。
不過筆者希望在每個路由器上展示不同的設定
方法, 而同時仍能達到相同的結果。這也是為什
麼 OSPF 比其他遶送協定有趣的地方。
147
Corp
以下是 Corp 路由器的設定:
嗯!這裡似乎有需要討論的地方。首先, 我們移
除了 EIGRP, 然後加上 OSPF。
148
Corp
那為什麼要用 OSPF 132 呢?這其實不重要,
這個號碼是無關緊要的。
network 命令是非常直觀的, 我們輸入每個界面
的 IP 位址, 並利用通配遮罩 0.0.0.0, 這表示 IP
位址的每個位元組都必須完全符合才行。
但如果有更簡單的方式, 為何不用呢:
149
Corp
以 1 道命令取代 5 道!真希望您能瞭解這裡不
管用哪一種 network 敘述來設定, OSPF 都能
一樣地運作。
現在, 讓我們繼續往 R1 前進, 但為了簡單起見,
我們會使用相同的範例組態。
150
R1
R1 路由器有 4 個直接相連的網路。我們不輸入
每個界面, 而是利用 1 個 network 命令, 使它仍
舊能一樣地運作:
151
R1
好的, 這裡我們忘了在 area 與 0 之間加上空格。
修正之後, 這其實是一種非常有效率的設定方式。
這裡我們所做的設定是, 首先關閉 EIGRP。
然後啟用 OSPF 遶送程序 1, 並加入通配遮罩為
0.0.255.255、位址為 10.1.0.0 的 network 命
令, 表示要將 IP 位址以 10.1 開頭的界面加入區
域 0;又快又簡單, 對吧!
152
R2
以下設定直接連接 3 個網路的 R2 路由器:
我們可以使用任何的程序 ID - 只要它落在 1
到 65, 535 的範圍即可。
不知您是否也注意到我們使用通配遮罩為
0.255.255.255 的 10.0.0.0, 這樣也能運作得很
好。
153
R3
我們要在 R3 路由器上關閉 RIP 和 EIGRP。
雖然 OSPF 的 AD 比 RIP 低, 所以 RIP 並不會
干擾 OSPF, 但無論如何, 它應該要關閉。照慣
例, 我們要使用 SDM。
我們的第一個畫面顯示 RIP 已經關閉。
154
R3
下個畫面要關閉 EIGRP (點選 Delete 按鈕)。
155
R3
在點選 OSPF 頁籤之後, 點選 Add Network,
並加入 OSPF 資訊。
接著點選 OK, 選擇被動界面, 然後再次點選 OK。
156
R3
一切都好 - 您可以看到 R3 路由器上面只有
OSPF 在執行了。
157
R3
158
871W
終於, 最後一個路由器了!讓我們關閉 RIP 並
加入 OSPF:
酷!現在我們已經設定所有路由器的 OSPF 了,
接下來呢?大功告成了嗎?抱歉, 還沒有。
同樣地, 我們得加以確認才行, 看 OSPF 是否真
的能正常運作。
159
7 - 8 確認 OSPF 的設定
有幾種方法可確認 OSPF 的設定與運作是否正
確。接下來我們就要介紹這些方法所需的
show 命令。
我們從檢視 Corp 路由器的路徑表開始。
以下利用 show ip route 命令來檢視 Corp 路
由器上的路徑表:
160
確認 OSPF 的設定
Corp 路由器顯示所有 12 個網路的路徑, 其中的
O 表示它是 OSPF 的內部路徑 (很明顯地, C 表
示直接相連的網路)。
161
確認 OSPF 的設定
針對 10.1.6.0 與 10.1.7.0 網路, 它也找到了雙
重路徑。
我們在界面模式下移除了頻寬與延遲的命令, 所
以它根據預設來決定衡量指標。
但請記住, OSPF 只使用頻寬來決定最佳路徑。
接下來介紹所有您必須知道的 OSPF 確認命令。
162
show ip ospf 命令
show ip ospf 命令是要顯示路由器上正在運行
的一或所有 OSPF 程序的 OSPF 資訊, 這些資
訊包括路由器 ID、區域資訊、SPF 統計、以及
LSA 計時器的資訊。
以下讓我們來檢視 Corp 路由器的輸出:
163
show ip ospf 命令
164
show ip ospf 命令
請注意 RID 是 10.1.5.1, 因為它是該路由器組
態中最高的 IP 位址。
165
show ip ospf database 命令
show ip ospf database 命令顯示的資訊包括
該互連網路 (AS) 中的路由器號碼, 以及其鄰居
路由器的 ID (這是之前我們所提的拓樸資料庫)。
這個命令只顯示「OSPF 路由器」, 而不像
show ip eigrp topology 命令那樣會顯示 AS
中的每一條鏈路。
這個命令的輸出會以區域來分類, 例如以下是
Corp 路由器上的輸出範例。
166
show ip ospf database 命令
167
show ip ospf database 命令
您可以看到全部的 5 台路由器, 以及每台路由器
的 RID (每部路由器上的最高 IP 位址)。
路由器輸出顯示鏈路 ID (請記住界面也是一種
鏈路) 與該鏈路上之路由器 RID (ADV Router
欄位)。
168
show ip ospf interface 命令
show ip ospf interface 命令顯示所有與界面
相關的 OSPF 資訊, 可能是某一片或所有界面
的 OSPF 資訊。例如:
169
show ip ospf interface 命令
這個命令顯示的資訊包括:
界面 IP 位址
區域號碼
程序 ID
路由器 ID
網路類型
170
show ip ospf interface 命令
成本
優先權
DR / BDR 選舉資訊 (如果需要)
Hello 與 Dead 計時器的間隔
緊鄰鄰居的資訊
這裡使用 show ip ospf interface f 0 / 1 命令
的理由是, 因為高速乙太網路屬於廣播式多方存
取網路, 這種網路上會選出委任路由器。
稍後我們馬上就會仔細地討論 DR 與 BDR 的選
舉。
171
show ip ospf neighbor 命令
show ip ospf neighbor 命令非常有用, 因為它
總結了有關鄰居與緊鄰狀態的 OSPF 資訊。如
果有 DR 或 BDR 存在, 則也會顯示這類資訊。
例如:
這是非常重要的命令, 因為它在營運網路中非常
有用。
172
show ip ospf neighbor 命令
讓我們檢視一下 R3 和 87W1 路由器的輸出:
因為 Corp 路由器上有一條乙太網路 (廣播式多
方存取), 所以要進行選舉, 決定誰是委任路由器,
誰不是委任路由器。
173
show ip ospf neighbor 命令
我們發現 871W 變成了委任路由器, 它會贏得
選舉是因為它有網路上最高的 IP 位址。您也可
以改變這樣的情況, 不過這是預設的。
Corp 與 R1、R2、R3 的連線沒有 DR 或 BDR
列在輸出中, 理由是因為根據預設, 點對點的鏈
路上不會發生選舉。
不過我們從輸出中可以看到 Corp 路由器完全
緊鄰著所有 3 部路由器 (以及與 R1 的 2 條連
線)。
174
show ip protocols 命令
無論是執行 OSPF、EIGRP、IGRP、RIP、
BGP、IS-IS、或任何其他路由器上可以設定的
遶送協定, 都可使用 show ip protocols 命令。
對於目前路由器上正在執行的所有協定, 提供實
際運作的概況。
以下是 Corp 路由器上的輸出範例:
175
show ip protocols 命令
176
show ip protocols 命令
根據這些輸出, 我們就可得知 OSPF 程序 ID、
OSPF 路由器 ID、OSPF 區域的類型、設定
OSPF 的網路與區域、以及鄰居的 OSPF 路由
器 ID 等, 資訊非常豐富, 而且解讀起來也很有效
率!
稍等一下, 您注意到它少了類似先前對 RIP 使
用這個命令的輸出所顯示的計時器嗎?
這是因為距離向量遶送演算法需要利用計時器
來維持網路的穩定性, 但鏈路狀態遶送協定不需
要。
177
OSPF 除錯
除錯對任何協定而言都是個很好的工具, 所以讓
我們來檢視表 7.4 中 OSPF 故障檢測用的除錯
命令。
下面是在 Corp 路由器上使用 debug ip ospf
packet 命令的輸出。
178
OSPF 除錯
179
OSPF 除錯
在前面的輸出中, 可以看到路由器每隔 10 秒,
就會和鄰居 (緊鄰) 路由器傳送和接收 Hello 封
包。
下個命令會提供相同的資訊, 但更詳細。例如我
們可以看到所使用的多點傳播位址 (224.0.0.5)
和區域:
180
OSPF 除錯
181
OSPF 除錯
最後我們要討論的除錯命令是 debug ip ospf
adj 命令, 會顯示發生在廣播和非廣播之多方存
取網路上的選舉:
182
OSPF 除錯
好的, 讓我們繼續前進, 討論 OSPF 網路中如何
進行選舉。
183
7 - 9 OSPF DR 與 BDR 的選舉
本章已經詳細討論了 OSPF;不過, 還必須再延
伸對委任路由器和備援委任路由器的簡短討論。
我們會更深入地討論選舉流程的確認, 並且在本
章結尾提供動手做實驗的練習, 以協助您更瞭解
這個流程。
首先, 必須確定您已經瞭解鄰居和緊鄰關係這兩
個詞, 因為它們對 DR 和 BDR 的選舉流程非常
重要。
184
OSPF DR 與 BDR 的選舉
當廣播或非廣播的多方存取網路連到路由器, 並
且開啟鏈路時, 選舉流程就會開始 (想想乙太網
路或訊框中繼)。
185
鄰居
共享相同網段的路由器會成為這個網段上的鄰
居。這些鄰居會透過 Hello 協定來進行選舉。
Hello 封包會定期透過每個界面使用 IP 多點傳
播送出。
當兩台路由器的下列條件都相同時, 就可以成為
鄰居:
區域 ID 兩台路由器的界面必須屬於特定網段的
相同區域。當然, 這些界面必須屬於相同的子網
路。
186
鄰居
驗證 OSPF 可以設定特定區域的密碼。雖然路
由器間不強制要求驗證, 但如果您想要的話, 也
可以設定這個選項。
此外, 要記住路由器如果要成為鄰居, 而且您要
使用驗證的話, 它們必須使用相同的密碼。
Hello 與 Dead 間隔 OSPF 會在每個網段上交
換 Hello 封包。
這是路由器用來確認它們存在於網段中, 並且用
來在廣播和非廣播之多方存取網段上選舉委任路
由器 (DR) 的 keepalive 系統。
187
鄰居
Hello 的間隔是指 Hello 封包給隔幾秒傳送一次。
Dead 間隔則是在鄰居宣告這台 OSPF 路由器
死亡 (當機) 之前, 可以容忍沒有收到 Hello 封包
的秒數。
OSPF 要求兩台鄰居間的這些間隔必須相同。
如果有任何間隔不同, 這些路由器就無法成為網
段上的鄰居。
您可以使用 show ip ospf interface 命令來檢
視這些計時器。
188
緊鄰關係
在選舉流程中, 緊鄰關係是指在上述的鄰居流程
之後的下個步驟。
緊鄰路由器不只會簡單交換 Hello 封包, 而且會
繼續進行資料庫的交換流程。
為了將特定網段上的資訊交換量降至最低,
OSPF 會在每個多方存取網段上選舉一台路由
器擔任委任路由器 (DR), 並選舉一台擔任備援
委任路由器 (BDR)。
189
緊鄰關係
選舉 BDR 是為了在 DR 當機時擔任備援的路由
器。
它背後的想法是讓路由器間有一個資訊交換的
集中聯絡點。
每台路由器不是跟網段上的其他路由器分別交
換更新, 而是跟 DR 與 BDR 交換資訊。
然後, DR 和 BDR 會將這些資訊再轉達給其他
路由器。
190
DR 和 BDR 選舉
DR 和 BDR 的選舉是透過 Hello 協定來完成。
每個網段上的 Hello 封包會透過 IP 多點傳播封
包來交換。
不過, 只有廣播和非廣播之多方存取網路上的網
段才會進行 DR 和 BDR 的選舉。
點對點鏈路, 例如序列 WAN, 則不會有 DR 選
舉流程。
在廣播和非廣播的多方存取網路中, 網段上具有
最高 OSPF 優先權的路由器會成為這個網段的
DR。
191
DR 和 BDR 選舉
優先權可以使用 show ip ospf interface 命令
來顯示;它的預設值為 1。
如果所有路由器都設定為預設的優先權, 則具有
最高路由器 ID (RID) 的路由器將會勝出。
如您所知, RID 是在 OSPF 啟動時, 由界面中的
最高 IP 位址所決定。
它可以由回繞 (邏輯) 界面所覆蓋。
192
DR 和 BDR 選舉
如果您將路由器的界面優先權設定為 0, 路由器
的這個界面將不會參與 DR 和 BDR 選舉。
優先權為 0 的界面狀態會是 DROTHER。
現在來看看 OSPF 路由器上的 RID。
193
7 - 10 OSPF 與回繞界面
設定回繞 (loopback) 界面對於 OSPF 遶送協定
是很重要的, Cisco 建議您在路由器上設定
OSPF 時最好使用它們。
回繞界面是一種邏輯界面, 它是虛擬的、純軟體
式的界面, 這表示它們並非實體的路由器界面。
在 OSPF 設定中使用回繞界面, 可確保界面會
為了 OSPF 程序而一直處於作用中。
它們可作為診斷的用途, 或用來設定 OSPF。
194
OSPF 與回繞界面
在路由器上設定回繞界面的理由是因為如果不
這樣做, 路由器上的最高 IP 位址就會變成路由
器的 RID, 而 RID 的目的是為了宣傳路徑, 以及
選出 DR 與 BDR。
以下的節次教您如何設定回繞界面, 以及如何確
認回繞位址與 RID。
195
設定回繞界面
設定回繞界面是 OSPF 設定中最容易的部份,
輕鬆一下!
首先, 讓我們以 show ip ospf 命令檢視一下
Corp 路由器的 RID:
RID 是 10.1.5.1 或路由器的序列 0 / 2 / 0 界面。
因此, 讓我們以完全不同的 IP 位址結構來設定
回繞界面。
196
設定回繞界面
這裡使用什麼樣的 IP 結構其實無關緊要, 但每
部路由器得屬於不同的子網路才行。
藉由使用 / 32 遮罩, 我們可以用任何 IP 位址,
只要任兩部路由器上的位址不要一樣就行。
以下設定其它路由器:
197
設定回繞界面
以下是 R2 路由器的回繞界面設定:
以下是 R3 路由器的回繞界面設定:
現在先暫時不設定 871W 路由器上的邏輯界面,
稍後您就會明白為什麼。
198
設定回繞界面
您一定很好奇遮罩 255.255.255.255 (/ 32) 到底
是什麼意思, 為什麼不用 255.255.255.0 就好了。
其實這兩種都可以, 只不過 / 32 叫做主機遮罩,
很適合用在回繞界面上。它可以讓我們節省子
網路。
注意到我們如何利用 172.16.10.1、.2、.3 和.4
嗎?如果沒有使用 / 32, 就必須為每台路由器使
用獨立的子網路!
199
設定回繞界面
現在, 在我們繼續之前, 看看我們剛才設了回繞
位址之後是否真的改變了路由器的 RID?讓我
們以 Corp 路由器為例檢查看看:
發生什麼事了?您會想說, 因為我們設定了邏輯
界面, 所以邏輯界面下的 IP 位址就自動成為路
由器的 RID, 對嗎?
嗯, 也算對啦 - 但這只有在您有做下列兩個動
作其中之一的時候成立:路由器重新開機, 或是
刪除 OSPF 並且重建路由器上的資料庫。
200
設定回繞界面
這兩者其實都不是很好的做法。
筆者選擇將 Corp 路由器重新開機, 因為它是兩
者中比較簡單的一種。
現在讓我們來檢視 RID:
好了, 完成了。Corp 路由器現在有一個新的
RID 了!
因此, 只要繼續將所有路由器 (除了 871W) 重新
開機, 就可以將它們的 RID 重設為我們的邏輯
位址。
201
設定回繞界面
或者 - 還有另一種方法。您覺得就在 router
ospf 程序 ID 命令之後為路由器新增一個 RID
如何?
下面是在 871W 路由器上這樣做的一個範例:
202
設定回繞界面
看看它 - 真的可行耶!我們不用重新載入路由
器就可以改變 RID!
但是等一下 - 記住, 我們還沒有設定回繞位址
(邏輯界面)。
203
設定回繞界面
讓我們現在來試試吧 - 讓我們來設定邏輯界面
的 IP 位址, 重新載入路由器, 並且觀察回繞界面
是否有覆蓋掉我們剛剛使用的 router-id 命令。
204
設定回繞界面
好的, 這就是我們的答案。
邏輯 (回繞) 界面不會覆蓋 router-id 命令, 而且
我們不需要將路由器重開機就能讓它作用成
RID。
剩下的事情就是我們是否要讓 OSPF 宣傳這些
回繞界面。
宣傳或不宣傳其實各有優缺點, 使用不宣傳的位
址可節省實際的 IP 位址空間, 但因為這些位址
不會出現在 OSPF 表中, 所以也就 ping 不到。
205
設定回繞界面
所以基本上, 這裡的考量就是要讓網路的除錯比
較容易, 或是要節省位址空間, 怎麼辦呢?
最好的策略就是使用之前的所說過的私有 IP 位
址, 這樣做, 兩者都可兼顧!
206
ODPF 界面的優先權
另一種在 OSPF 中設定 DR 和 BDR 的方法, 就
是去「修正」選舉, 而不是使用回繞界面。
我們可以在路由器上設定界面組態, 讓它在發生
選舉時, 具有比另一台路由器更好的優先權。
換句話說, 我們可以使用優先權, 而不是邏輯位
址, 來強制讓某台路由器成為網路上的 DR 或
BDR。
讓我們以圖 7.6 為例。
207
ODPF 界面的優先權
您在圖 7.6 中可以使用哪些方案讓 R2 路由器
被選舉為 LAN (廣播多方存取) 網段上的委任路
由器 (DR)?
首先您必須要做的是決定每台路由器的 RID 是
多少, 以及哪台路由器是 172.16.1.0 LAN 上的
預設 DR。
此處, 我們可以看到 R3 是預設的 DR, 因為它有
最高的 RID 值 192.168.11.254。
208
ODPF 界面的優先權
於是我們有 3 種方案, 可以確保 R2 會被選舉為
LAN 網段 172.16.1.0 / 24 的 DR:
將 R2 路由器 Fa 0 / 0 界面的優先權設定的比乙
太網路上的任何其他界面高。
在 R2 上設定回繞界面, 使用比其他路由器上所
有 IP 位址更高的 IP 位址。
將 R1 和 R3 路由器的 Fa 0 / 0 界面的優先值設
為 0。
209
ODPF 界面的優先權
210
ODPF 界面的優先權
如果我們將 R1 和 R3 路由器的優先權設為 0,
它們就不能參與選舉流程。
但這可能不是最好的方式 - 我們最好選擇第一
或第二項方案。
您已經知道要如何設定回繞 (邏輯) 界面, 下面
是如何設定 R2 路由器 Fa 0 / 0 界面的優先權:
211
ODPF 界面的優先權
好啦!所有路由器界面的優先權都預設為 1, 所
以將這個界面設為 2, 就能確保它會自動成為
LAN 網段的 DR。
將界面設為 255 表示沒有人能打敗您的路由器!
但是等一下。即使您改變界面的優先權, 路由器
還是要等到現有的 DR 和 BDR 都關機之後, 它
才能成為 LAN 網段上的 DR。
一旦發生選舉, 就可以如它所願, 但是選舉要到
DR 和 BDR 重新載入或關閉後才會開始。
212
ODPF 界面的優先權
只是讓路由器有較好的 RID 並不代表 DR 或
BDR 就會改變。
您可以使用 show ip ospf interface 命令看到
優先權:
213
7 - 11 檢修 OSPF
本節要求您確認 OSPF 的組態設定與輸出, 以
檢修、維護、與修正 OSPF 的相關問題。
假設有如下的組態設定:
您必須知道這是不對的設定, 沒有路由器會接受
這樣的輸入, 因為通配字元設的不對, 正確的敘
述應該如下:
214
檢修 OSPF
接下來讓我們看個圖, 看是否能判斷出那個路由
器會成為該區域的委任路由器。
圖 7.7 顯示以 2 部交換器和一條 WAN 鏈路連
結起來的 6 部路由器。
圖 7.7 中, 哪部路由器最有可能被選為委任路由
器 (DR)?假設所有路由器的 OSPF 優先權都是
預設值。
請注意每部路由器的 RID, 最高的是 A 與 B 路
由器, 因為它們有最高的 IP 位址。
215
檢修 OSPF
DR 應該是 B 路由器, 而 BDR 應該是 A 路由器。
但因為預設上點對點鏈路不會進行選舉活動, 所
以頂端的 LAN 會發生它們自己的選舉。
但正在研讀這本書的你, 應該是為了要通過
CCNA 的認證, 所以 B 路由器是最佳的答案。
讓我們利用另一個命令來確認 OSPF 的組態設
定:show ip ospf interface 命令。
檢視 A 與 B 路由器的輸出, 找找看為什麼這兩
部直接相連的路由器無法建立緊鄰關係。
216
檢修 OSPF
217
檢修 OSPF
218
檢修 OSPF
這兩份輸出看起來似乎沒什麼問題, 但 hello 與
dead 計時器設的不一樣。
A 路由器的 hello 與 dead 計時器分別是 5 與
20, 而 B 路由器的 hello 與 dead 計時器分別是
10 與 40 - 這是 OSPF 的預設值。
如果兩部路由器的計時器設定不一樣, 就無法形
成緊鄰關係。
219
檢修 OSPF
注意一下 show ip ospf interface 命令也會顯
示區域的委任路由器與備援委任路由器 (DR /
BDR) 是誰。
接下來研究一下圖 7.8, 它顯示一個由 4 部路由
器與 2 種不同遶送協定所形成的網路。
220
檢修 OSPF
221
檢修 OSPF
如果所有參數都用預設值, 而且沒有設定重分送,
那麼 A 路由器會利用什麼路徑到 D 路由器呢?
因為 IGRP 的 AD 是 100, OSPF 的 AD 是 110,
所以 A 路由器要送給 D 路由器的封包會經過 C
路由器。
仔細研究一下圖 7.9, 圖上的路由器正執行著
OSPF, 而且與遠端業務分公司的連線是靠
ISDN 鏈路。
222
檢修 OSPF
總部路由器上應該設定什麼樣的路徑來連結業
務分公司的網路, 才能儘量縮減 ISDN 鏈路上的
網路負擔?
這個問題的最佳解決方案就是拋棄 ISDN 鏈路,
從遠端分公司拉一條寬頻鏈路到網際網路上, 然
後透過網際網路建置一個從總部到遠端分公司
的 VPN。
223
檢修 OSPF
這樣不是很好嗎?但無論如何, 題目要求的是如
何利用 ISDN 鏈路來運作, 而且儘量縮減網路的
負擔。
所以我們唯一能做的就是在總部路由器上產生
一條靜態路徑, 以連到遠端網路;其他的方法都
太耗費頻寬。
224
檢修 OSPF
225
7 - 12 設定 EIGRP 與 OSPF 的總結路
徑
本節內容提供 EIGRP 與 OSPF 總結路徑的命
令。
雖然 OSPF 有好幾種路徑總結的方式, 但這裡
提供最常用的 OSPF 總結命令, 將多重區域的
OSPF 網路總結到區域 0。
我們已經在第 3 章學過如何決定網路的總結路
徑, 本節是要讓您將總結路徑應用在路由器的設
定上。
226
設定 EIGRP 與 OSPF 的總結路徑
圖 7.10 顯示非連續網路的設計 - 是的, 非連續
網路並非是意外發生的, 而是特意規劃的!
圖 7.10 顯示 6 個網路, 其中 4 個區塊大小為 4
(WAN 鏈路), 2 個區塊大小為 8 (區域網路連線)。
這個網路設計可以剛剛好塞到一個大小為 32 的
區塊, 所用的網路位址是 192.168.10.64, 區塊
大小是 32, 遮罩是 255.255.255.224 - 因為
224 遮罩所提供的區塊大小就是 32。
227
設定 EIGRP 與 OSPF 的總結路徑
228
設定 EIGRP 與 OSPF 的總結路徑
針對 EIGRP, 我們要在核心 (骨幹連線) 路由器
的乙太界面 0 上配置總結路徑, 將我們的總結路
徑從這個界面宣傳到骨幹網路 (10.10.10.0 網路)
上。
這樣就可以不用個別宣傳這 6 個網路, 而只為它
們宣傳一條路徑給互連網路中的其他路由器。
不過, 必要的先決條件是, 在這個非連續網路外
面不可以有其他的路由器屬於這個宣傳之區塊
大小背後的子網路, 否則該路由器會宣傳衝突的
路徑。
229
設定 EIGRP 與 OSPF 的總結路徑
以下是核心路由器上完整的 EIGRP 設定:
以上的 EIGRP 設定為自治系統 10 宣傳直接相
連的網路 192.168.10.0 與 10.0.0.0。
因為 EIGRP 會在有級別的邊界自動進行路徑總
結, 所以您也必須使用 no auto-summary 命令。
230
設定 EIGRP 與 OSPF 的總結路徑
我們想要宣傳給骨幹網路的總結路徑要放在連
結骨幹的界面上, 而非在遶送程序之下。
總結路徑告訴 EIGRP 要在區塊大小為 32 的
192.168.10.64 網路中尋找所有的網路, 並且把
它們以一條路徑從 E0 界面宣傳出去。
基本上, 這意思是說目的 IP 位址為
192.168.10.64 到 192.168.10.95 的封包將會經
由這條路徑轉送。
為了將 EIGRP 範例中的非連續網路以 OSPF
來總結, 我們必須將 OSPF 設定成多個區域, 如
圖 7.11 所示。
231
設定 EIGRP 與 OSPF 的總結路徑
232
設定 EIGRP 與 OSPF 的總結路徑
為了將區域 1 總結至區域 0 骨幹, 必須在
OSPF 的程序 ID 之下使用以下的命令。以下是
核心 (骨幹) 路由器上的完整 OSPF 設定:
這裡並不需要 no atuo-summary 命令, 因為預
設上 OSPF 不會在任何邊界進行路徑總結。
以上的 OSPF 設定會以 192.168.10.64 / 27 來
總結區域 1 的所有網路給骨幹區域。
233
7 - 13 摘要
本章的範圍比較廣, 但真的很重要!
本章第一部份的重點是 EIGRP, 它是鏈路狀態
遶送與距離向量協定的混合, 可提供不等成本的
負載平衡、管制的遶送更新、以及正式的鄰居
緊鄰關係。
EIGRP 利用可靠傳輸協定 (RTP) 的能力進行鄰
居之間的通訊, 並利用散更新演算法 (DUAL) 來
計算抵達每個遠端網路的最佳路徑。
EIGRP 藉由諸如支援 VLSM、非連續網路、與
總結等功能來支援大型網路。
234
摘要
能夠設定 NBMA 網路上的 EIGRP 行為, 這也使
得 EIGRP 成為大型網路的熱門協定。
我們也討論如何設定 EIGRP, 並研究幾個檢修
命令。
本章的第 2 個重點是 OSPF, 提供了不少有關
OSPF 的資訊。
要囊括 OSPF 的所有知識著實不容易, 因為有
許多都超出本章與本書的範圍。
235
摘要
但我們已經提供了所有 CCNA 考試所需要知道
的部份, 並隨時提供一些訣竅, 只要您確實能瞭
解書中所說的, 一定沒問題!
我們討論了許多 OSPF 的主題, 包括術語、運
作、設定、以及確認與監視。
每個這些主題都包含了非常多的資訊 - 術語部
份只涵蓋了 OSPF 的皮毛。
236
摘要
但同樣地, 我們已經提供了考試所需的所有素材
- 設定單一區域之 OSPF 的能力。
最後, 跟您介紹了檢視 OSPF 運作相關的命令,
因此您可以確認 OSPF 的運作是否正常。
237