Transcript Document

第8章
第 2 層交換與擴展
樹協定 (STP)
本著作僅授權老師於課堂使用, 切勿置放在網路上
播放或供人下載, 除此之外, 未經授權不得將全部
或局部內容以任何形式重製、轉載、變更、散佈或
以其他任何形式、基於任何目的加以利用。
著作權所有 © 旗標出版股份有限公司
應用交換技術之前的典型網路
早期從以大型主機為主﹐到PC蓬
勃發展後所產生的網路:
2
早期的交換式區域網路
企業骨幹不斷成長﹐企業網路服務需求遽增﹐導致
網路分段的需求﹐這不能單純靠更快的乙太網路或
路由器來解決。於是誕生了交換式網路:
3
完全的交換式網路設計
仍然需要路由器﹐但任務不再是實體的網路分段﹐而是產生與處理邏輯的網路分割
4
交換服務概述



橋接器使用軟體來產生與管理過濾表格, 而交換
器則以應用專屬的積體電路ASIC來建構與維護
過濾表格﹐不過都是為了要分割碰撞網域
比路由器快的原因是他們不需要花時間檢查網
路層的標頭資訊﹐而只須檢查訊框的硬體位址,
以決定要轉送、廣播、或丟棄
交換器會在每個埠上產生各自專屬的碰撞網域,
並提供獨立的頻寬
5
第2 層交換的特性




硬體式的橋接 (ASIC)
線路速度 (wire speed)
低延遲 (latency)
低成本
6
第 2 層交換的限制

設計交換式網路的 2 個非常重要考量:



絕對必須正確地分割碰撞網域
要建置有效果的交換式網路, 正確的方式是要確定他們
的用戶有 80% 的時間都是在自己的區域網段上
交換式網路會分割碰撞網域, 但仍然是一個大的廣播網
域。它不會分割廣播網域 - 這不只會限制網路規模與
網路的成長空間, 也且也會降低整體的效能。廣播與多
點傳播, 以及緩慢的擴展樹收斂速度都可能在網路成長
時帶來重大的災難-這也是為什麼交換式網路仍然需
要路由器的原因
7
橋接器與交換器的異同







橋接器是以軟體為基礎, 而交換器是以硬體為基
礎,靠ASIC 晶片來幫忙進行過濾的決定
交換器可視為多個埠的橋接器
每個橋接器只能有一份擴展樹, 而交換器則可以
有許多
比起大部分的橋接器, 交換器有更多數目的埠
都會轉送第 2 層廣播
都是藉由檢查所接收之每個訊框的來源位址, 以
學得 MAC 位址
都是根據第 2 層位址來進行轉送的決定
8
第 2 層之 3 個交換功能

學習位址 記住它從界面接收之每個訊框的來源硬體位
址, 輸入這種資訊到一個稱為轉送 / 過濾表的 MAC 資
料庫

決定轉送或過濾 從界面收到訊框時, 會檢視其目的硬
體位址, 找尋它在 MAC 資料庫中所學到的離開界面,
該訊框只會從特定的目的埠轉送出去

避免迴圈如果為了達到冗餘的目而在交換器之間建置
多重連線, 則有可能發生網路迴圈。擴展樹協定STP就
是讓我們在提供網路冗餘性的同時、又能防止網路迴
圈
9
學習位址範例
A主機 ping B主機
10
學習位址範例(續)
1. A 主機送一個訊框給 B 主機, A 主機的 MAC 位址是
0000.8C01.000A, 而 B 主機的 MAC 位址是
0000.8C01.000B
2. 交換器從 E0 / 0 界面收到訊框, 並且將來源位址放入
MAC 位址表中
3. 因為目的位址不在 MAC 資料庫中, 於是將訊框轉送到
所有的界面 - 除了來源埠之外
4. B 主機收到該訊框並回應給 A 主機, 交換器從 E0 / 1
收到這個訊框, 並且將其來源硬體位址放入 MAC 資料
庫中
5. A 主機與 B 主機現在可以進行點對點的連線, 而且只
有這兩部裝置可收到訊框。C 與 D 主機將無法看到這
些訊框, 資料庫中也找不到他們的 MAC 位址, 因為他
們還不曾傳送任何訊框給交換器
11
轉送 / 過濾決策

假設A主機要傳送訊框給D主機。當交換器收到來自 A 主機的訊
框時﹐交換器如何處理?

因為 A 主機的 MAC 位址並不在轉送 / 過濾表中, 交換器會將其來源
位址和埠號加入 MAC 位址表中, 然後將訊框轉送給 D 主機。如果 D
主機的 MAC 位址也不在轉送 / 過濾表中, 則交換器會將訊框從 Fa0 /
3 之外的所有埠廣播出去
12
埠的安全性功能-switchport port-security
 阻止別人將一台主機/Hub/switch/AP插入交換
器的一個埠中
例一:
例二:
13
網路迴圈-廣播風暴
14
網路迴圈-重複訊框
15
擴展樹協定 (STP)

DEC公司建立了原始版本的STP﹐後來 IEEE 建立了它自己的
STP 版本, 稱為 802.1D

所有的 Cisco 交換器預設上都執行 IEEE 802.1D 版的 STP, 這
與 DEC 版並不相容。但 Cisco 的新型交換器正往另一個產業
標準推進 - 802.1W

STP 的主要任務是要預防在第 2 層的網路(橋接器或交換器) 上
發生網路迴圈, 它警覺地監視網路以找尋所有的鏈路, 藉由關閉
冗餘的鏈路來確定迴圈不會發生

STP 使用擴展樹演算法, 首先產生一個拓樸資料庫, 然後搜索出
冗餘鏈路, 並拿掉它
16
擴展樹專用術語

根橋接器 (root bridge) 一部有最佳橋接器 ID 的橋接器, STP
的重點是網路中的所有交換器要選出一部根橋接器, 以成為網路
的焦點。網路中的所有其他決定 - 例如那個埠要凍結, 那個埠
要設在轉送模式 - 都是從根橋接器的觀點來進行的

BPDU 交換器用來交換資訊, 以進行根交換器的挑選及網路的
後續設定

橋接器 ID STP 記錄網路之所有交換器的方式, 由橋接器的優
先權 (預設上所有的 Cisco 交換器是 32, 768) 與 MAC 位址共
同決定的。橋接器 ID 最低的橋接器會成為網路中的根橋接器

非根橋接器 根橋接器以外的所有橋接器

埠成本 交換器之間有多條鏈路, 而且沒有任何鏈路是根埠時, 埠
成本可用來決定最佳路徑。鏈路的成本乃由鏈路的頻寬所決定 17
擴展樹專用術語(續)

根埠 (root port) 直接與根橋接器相連的鏈路, 或抵達根橋接器
的最短路徑。

如果有一條以上的鏈路連結到根橋接器, 則藉由檢查每條鏈路的頻
寬來決定埠成本, 並以最低成本的埠設為根埠。

如果有多條鏈路的成本相同, 則使用宣傳橋接器 ID 較低的橋接器,
– 但因為多條鏈路可能都是來自於同一部裝置, 這時就使用最低的埠號

委任埠 (designated port) 因為有最佳 (低) 成本而被選定的埠
- 委任埠會被標示成轉送埠

非委任埠 成本比委任埠高的埠, 這種埠會放入凍結模式-非委
任埠不是轉送埠

轉送埠 (forwarding port) 可轉送訊框

凍結埠 (blocking port) 不會轉送訊框, 以預防迴圈;但凍結埠
仍會聆聽訊框
18
STP的運作
1.
2.
挑選一部根橋接器
每部橋接器必須找出自己的唯一個根埠


3.
兩部交換器之間的所有鏈路, 必須有一個, 而且
僅只一個委任埠
根交換器上的每個埠都會是委任埠
任何埠若不是根埠或委任埠﹐就會被放入凍結
模式, 以切斷交換迴圈
19
挑選根橋接器
橋接器ID = 優先權 + MAC﹐值越低越好﹐根據預設, 橋接器或交換器每隔 2 秒就
會從所有作用中的埠傳送出 BPDU, 而含有最低 (佳) 橋接器 ID 的橋接器就會
被挑選為根橋接器。所以A交換器將成為根橋接器
執行IEEE STP裝置的預設值
都直接相連﹐且頻寬一
樣﹐選埠號較低者Fa0/11
為根埠﹐所以B交換器將
Fa0/12設為凍結埠﹐不轉
送訊框﹐只接收訊框
20
show spanning-tree 命令
根橋接器的資訊
每個VLAN可以有不同的根橋接器
802.1D
連到根橋接器的埠
這部橋接器關於這個VLAN的STP資訊
優先權 + VLAN ID
21
改變橋接器優先權
= 4096 +1
這表示B交換器已
經成為根橋接器了
22
擴展樹的埠狀態





凍結 (blocking) 不轉送訊框, 只是聆聽 BPDU﹐目的是為了要
避免使用會產生迴圈的線路。交換器開機時的預設狀態
聆聽 (listening) 在傳送資料訊框之前先聆聽 BPDU, 以確定網
路上沒有迴圈發生。處於聆聽狀態的埠準備好要轉送資料訊框,
但不會產生 MAC 位址表。如果交換器因為拓樸的異動而決定
一個凍結埠現在應該成為委任埠或根埠, 它就會進入聆聽模式
學習 (learning) 這種交換埠會聆聽 BPDU, 並學習交換式網路
中的所有線路。處於學習狀態的埠會產生 MAC 位址表, 但不會
轉送資料訊框。Forward Delay代表的是一個埠從聆聽模式轉換
到學習模式所需的時間。預設是 15 秒, 您可以在 show
spanning-tree 的輸出中看到
轉送 (forwarding) 這種埠會收送交換埠上的所有資料訊框。如
果在學習狀態結束時仍然是委任埠或根埠, 就會進入這個狀態
關閉 (disabled) (管理上) 處於關閉狀態的埠不會參與訊框轉送
或 STP。處於關閉狀態的埠實質上是沒有在運作的
23
收斂



收斂-所有埠都已經轉換到轉送埠或凍結埠時
除非達成收斂, 否則沒有資料能被轉送
從凍結模式轉換到轉送模式通常要花 50 秒
24
擴展樹的 PortFast

在典型的擴展樹拓樸中, 交換器的埠從凍結到轉送所需
的收斂時間是 50 秒, 可能會造成伺服器或主機的逾時
問題


使用 PostFast 關閉個別埠上的擴展樹﹐則該埠不需要
花費平常的 50 秒就可進入轉送模式
如果您確定關閉STP也不會造成交換迴圈, 則可以在那
些埠上使用
25
擴展樹的 PortFast(續)
關閉特定埠的STP
同時設定多個埠
26
擴展樹的 UplinkFast




在有鏈路故障的情況下改善 STP 的收斂時間。其設計
是要在交換器具有至少一個替代 / 備援根埠 (處於凍結
狀態的埠) 的交換環境下執行
Cisco 建議只有在具有凍結埠、而且通常是在存取層
的交換器才開啟 UplinkFast
UplinkFast 讓交換器能夠在主要鏈路故障之前, 就先找
出通往根橋接器的替代路徑。這表示如果主要鏈路故
障時, 次要鏈路可以更快地啟用 - 該埠不用等待正常
的 50 秒 STP 收斂時間
因此如果您是執行 802.1d STP, 而且在存取層交換器
上有冗餘的鏈路, 您絕對會希望開啟 UplinkFast
27
擴展樹的 BackboneFast

UplinkFast 是用來判定並快速修復本地交換器的鏈路
故障, 而BackboneFast 則是在某條沒有直接連到該交
換器的鏈路故障時, 用來加快收斂的速度

UplinkFast 只設定在存取層交換器, 或是具有冗餘鏈路、
而且至少有一條鏈路處於凍結模式的交換器上。但所
有的 Catalyst 交換器都應該開啟 BackboneFast, 以偵
測間接鏈路故障問題

開啟 BackboneFast 還有另一個好處是, 它能更快速地
啟動擴展樹的重新設定 - 它可以對預設的 50 秒 STP
收斂時間縮短 20 秒
28
快速擴展樹協定 (RSTP) 802.1w



Cisco 建立了 PortFast、UplinkFast 和
backboneFast 來「修正」 IEEE 802.1d 標準
的漏洞和缺點。這些改良的唯一缺點只在於它
們是 Cisco 專屬功能, 而且需要額外的設定
802.1w 標準 (RSTP) 則一次處理了所有這些問
題 - 只要開啟 RSTP,就一切OK!
要讓 802.1w 能適當地運作, 您必須確定網路上
所有的交換器都有執行 802.1w 協定
29
EtherChannel


除了具備冗餘鏈路, 並且讓 STP 將其中一條鏈
路置於凍結模式的做法之外, 我們也可以將鏈路
綁在一起, 並且建立邏輯的聚合 (aggregation),
讓多條鏈路看似單一鏈路
EtherChannel有兩個版本都運作得很好, 但設定
方式則各不相同


Cisco 的版本稱為埠聚合協定 (PAgP, Port
Aggregation Protocol)
IEEE 802.3ad 標準稱為鏈路聚合控制協定
(LACP, Link Aggregation Control Protocol)
30
本書使用的交換網路
31
Catalyst 交換器概觀



Catalyst 交換器的控制台埠通常都位於交換器的背面。但在像
圖中 3560 之類較小型的交換器中, 控制台則是位於前面右方以
便於使用
如果 POST 成功地完成, 則系統 LED 會變成綠色;如果 POST
失敗, 則它會轉成黃色。黃色通常代表致命的故障
底部的按鈕用來顯示哪些燈正在提供乙太網路電源 (Power
over Ethernet, PoE) - 按下 Mode 按鈕就可以看到﹐PoE讓我
們只要使用乙太網路纜線將存取點或電話插入交換器就可以使
用了
32
Catalyst 交換器的HTTP快速安裝

連接交換器, 並且在瀏覽器的 HTTP 欄位中輸入
10.0.0.1 :
33
連結交換器

如圖 8.13 般地相互連結交換器。2960 和 3560 交換
器會自動偵測連線類型, 所以可以使用直穿式纜線﹐但
2950 或 3550 交換器不會自動偵測纜線的類型﹐必須
使用交叉式纜線

一開始將交換器的埠彼此相連時, 鏈路的燈是橘色, 然
後再轉為綠色表示運作正常。這代表擴展樹的收斂, 如
您所知, 如果沒有開啟延伸功能的話, 這個過程大約要
50 秒

但如果連上交換器的埠之後, 這個埠的燈輪流閃爍綠色
和黃色, 就表示它遇到錯誤了。此時, 請檢查主機的
NIC 卡或纜線
34
設定S1交換器
交換器所有埠的預設都是啟動的
35
設定S1交換器(續)
交換器沒有輔助埠
交換器的IP位址必須在管理VLAN下設定
36
設定S2交換器
37
設定S2交換器(續)
38
從S2 ping S1

Core 交換器還沒有設定, 如何能透過它來進行 ping 的
工作?


交換器不用設定就能運作。所有的埠預設都會開啟, 所
以只要打開電源, 主機間應該就能溝通了
為什麼以上的輸出中只有 4 個 ping、而不是 5 個 ping
能夠成功?

第一個 ping 失敗是因為 ARP 需要時間將 IP 位址解析
為硬體 MAC 位址
39
設定Core交換器
40
設定Core交換器
41
從其他LAN來管理交換器

如果您想要從其他 LAN 來管理您的交換器, 就
必須在交換器上設定預設閘道﹐例如:
這得在整體設定模式下設定﹐而非界面模式
42
設定埠的安全性
最多只允許一個MAC
自動學習MAC位址
違反規則的主機所傳送的訊框會被丟棄
透過SNMP警告您在埠上發生了違規行為
43
設定PortFast

在 S1 和 S2 連接主機的埠 fa0 / 3 和 fa0 / 4 上使用
PortFast:
44
對設定PortFast的埠進行保護

開啟 PBDUGuard


如果開啟 PortFast 的交換埠收到 BPDU 的時候,
它會將這個埠置於錯誤關閉狀態。這能讓管理者
不會偶然地將另一個交換器或集線器的埠連到設
定了 PortFast 的交換埠
開啟BPDUFilter

預設上開啟 PortFast 的交換埠還是會接收
BPDU,開啟BPDUFilter的埠會在接收到 BPDU
的時候立即將埠脫離 PortFast, 並且強迫它再次
成為 STP 協定的一部分﹐但不會關閉該埠
45
設定 BPDUGuard 和 BPDUFilter

為那些已經在 S1 和 S2上設定PortFast的埠 fa0 / 3 和
fa0 / 4 上設定BPDUGuard 和 BPDUFilter :
46
設定UplinkFast

在存取層交換器 (S1 和 S2) 上設定 UplinkFast
在整體模式下設定
47
設定BackboneFast
BackboneFast 是設定在網路上所有的交換器上, 而不是像 UplinkFast
只設定在存取層交換器上﹐而且BackboneFast 是用來判定遠端交換器
的鏈路故障, 而不像 UplinkFast 是用來判定並快速修復本地交換器上的
鏈路故障
48
設定RSTP (802.1w)

在 Core 交換器上開啟 RSTP
49
檢驗RSTP (802.1w)的設定

驗證看看執行 802.1w 版本的 Core 交換器
因為S1、S2都只執行802.1d﹐所以core交換器
會為他們降級為802.1d。不過如果稍後S1、S2
執行802.1w時﹐core得重開機才能停止802.1d
50
設定EtherChannel

使用 Cisco 版本, 將 S1 和 Core 之間的鏈路綁在一起
51
設定EtherChannel(續)
52
檢查我們在交換器上設定的 IP 位址
53
顯示交換器上的轉送過濾表
EtherChannel
54
顯示交換器上的轉送過濾表(續)
S2 交換器並沒有設定
像 S1 交換器的
EtherChannel, 所以
STP 會關閉其中一條
連到 Core 交換器的
冗餘鏈路埠2﹐將它
置於凍結模式
55
指定靜態 MAC 位址

在 MAC 位址表中設定靜態 MAC 位址
56
show spanning-tree

Cisco 交換器會執行Per-VLAN Spanning Tree, PVST﹐所以
show spanning-tree會顯示每個 VLAN 的資訊 ﹐包括根橋接
器和優先權設定
BackboneFast 會將預設的優先權提
高到 49152, 以防止該橋接器成為根
根埠
執行 STP 並且連到另一裝置的埠
57
決定誰是根橋接器
Fa0 / 2 埠被凍結了, 所以S2不可能是我們的根橋接
器﹐因為根橋接器不會有任何凍結的埠
58
決定誰是根橋接器(續)
Yes, It is!
Core沒有啟動BackBoneFast﹐
所以其預設優先權是32768
根橋接器上的埠全部都會是委任埠
59
設定我們的根橋接器
將 S1 的優先權降為 16384 時, S1
交換器立刻就成為根橋接器
60
設定我們的根橋接器(續)

直接設成根橋接器的命令:


但這並不能覆蓋掉低優先權的交換器 - 這個命
令只有在您所有交換器都有相同 (或更高) 的優
先權時才有效
必須在每個 VLAN 上分別設定這個命令, 而且可
以設定根的主要和次要交換器
61
連上交換器的CNA畫面
所有直接相連的裝置
62
CNA-Smartports

點選 Smartports
63
CNA-使用Smartports所設定出的命令

當我們使用 Smartports 來設定 S1 交換器的 6 號埠要連結到桌
上型 PC 時, 下面是它下載到交換器的命令:
aging 命令可以搭配兩個選項 - absolute 和 inactivity。absolute 選項會在所
指定的時間截止之後, 刪除埠上的安全位址 - 它的時間長度可以從 0 到 1440 分。
inactivity 選項則會在埠不作用 (inactive) 的時間超過指定時間之後, 刪除它的位
址 - 時間的長度也是 0 到 1440 分
違反規則時會送出SNMP Trap
儲存在新 Cisco 交換器中的預設程式, 會在設定 Smartport 的時候執行
64
檢視Smartports的安全設定
65
檢視巨集命令
Cisco 的新交換器中
預先設定了 6 個巨集。
運行組態中看不到它
們;只能使用 show
parser 命令來檢視
66
show parser macro brief

Smartports 之下的每種裝置都有一個巨集
67
CNA - Ports 下的 Port Settings
68
CNA - Ports 下的 EtherChannels
69
CNA - Ports 下的 EtherChannels(續)

點選 EtherChannel 之後, 只要選擇群組, 並且
指出想要綁在一起的埠, 以及要使用的協定即可
70
CNA - Device Properties

點選 Device Properties後可以設定交換器的IP
位址、主機名稱、使用者和密碼等
71
CNA - Topology View

在 Topology View 畫面中的某個裝置上按下右
鍵, 就有多種選項可選
72
CNA - Topology View中的Device Manager

選擇 Device Manager後就會開啟預設的
HTTP 瀏覽器
73