2.06k likes | 2.25k Views
第 8 章. 第 2 層交換與擴展樹協定 (STP). 本章重點. 8 - 1 第 2 層交換技術時期之前 8 - 2 交換服務 8 - 3 擴展樹協定 (STP) 8 - 4 設定 Catalyst 交換器 8 - 5 Cisco 網路助理 (CNA) 8 - 6 摘要. 第 2 層交換與擴展樹協定 (STP). Cisco 提到交換時 , 除非特別說明 , 否則他們指的就是第 2 層交換。
E N D
第 8 章 第 2 層交換與擴展樹協定 (STP)
本章重點 • 8 - 1 第 2 層交換技術時期之前 • 8 - 2 交換服務 • 8 - 3 擴展樹協定 (STP) • 8 - 4 設定 Catalyst 交換器 • 8 - 5 Cisco 網路助理 (CNA) • 8 - 6 摘要
第 2 層交換與擴展樹協定 (STP) • Cisco 提到交換時, 除非特別說明, 否則他們指的就是第 2 層交換。 • 第 2 層交換是利用區域網路上之裝置的硬體位址來分割網路的處理程序, 因為您已經有基本概念了, 所以接下來就讓我們專注於第 2 層交換的部份, 確定它是如何運作的。 • 假設您已經知道交換是要將較大的碰撞網域 (collision domain) 分割成較小的區域, 而碰撞網域則是含有分享相同頻寬之 2 或 2 部以上裝置的網段 (network segment)。
第 2 層交換與擴展樹協定 (STP) • 集線器網路就是這類拓樸的典型例子。 • 但因為交換器的每個埠實際上都是在它自己的碰撞網域中, 您只要將集線器換成交換器, 就可得到一個優良許多的乙太區域網路! • 交換器真的已經改變了網路的設計與實作方式, 如果正確地實作純粹的交換式設計, 絕對會產生一個符合成本效益的、復原性佳的互連網路 (internetwork)。 • 本章中, 我們對於應用交換技術之前與之後的網路設計, 進行評估與比較。
第 2 層交換與擴展樹協定 (STP) • 遶送協定 (例如第 6 章所學的 RIP) 在網路層有防止網路無窮迴圈的程序。 • 然而, 如果交換器之間有冗餘的實體鏈路, 遶送協定根本無法做任何事來阻止資料鏈結層的迴圈發生 - 這正是需要發展擴展樹協定的原因 - 阻止在第 2 層交換式互連網路中發生迴圈。 • 這個重要協定的特點, 以及它在交換式網路中的運作方式, 也是本章會深入討論的重要主題。 • 我們會利用 3 部交換器來學習如何設定交換網路, 然後第 9 章再延續這些設定。
8 - 1 第 2 層交換技術時期之前 • 在討論如何用交換來對公司的區域網路分段之前, 先讓我們退回去看看之前的網路情況。 • 在出現區域網路交換技術之前, 典型的網路設計看起來就類似圖 8.1 的網路。
第 2 層交換技術時期之前 • 圖 8.1 的設計稱為疊起來的骨幹 (collapsed backbone), 因為所有主機都需要連到總部骨幹上才能抵達其他的網路裝置 (區域網路與大型主機)。 • 在更早之前, 也就是在如圖 8.1 所顯示的網路之前 - 有路由器與集線器等實體的分段裝置之前, 有所謂的大型主機 (mainframe) 網路。 • 這種網路包括大型主機 (IBM、Honeywell、DEC 等)、控制器、與連結控制器的純終端機, 所有的遠端網點都利用橋接器 (bridge) 連到大型主機。
第 2 層交換技術時期之前 • 然後 PC 開始大出風頭, 大型主機連到乙太網路或符記環的區域網路, 也就是伺服器安裝的地方。 • 這些伺服器通常是 O / S2 或區域網路管理員 (LAN manager), 因為這是在前 NT 的時代。 • 每一層樓都利用同軸電纜或雙絞線連到企業骨幹, 然後再連到路由器。 • PC 上跑模擬軟體程式, 讓他們能連接主機服務, 使得這些 PC 可以同時存取大型主機的服務與區域網路。
第 2 層交換技術時期之前 • 最後 PC 則厲害到應用程式的開發者能比以前更有效地將應用程式移植到 PC 上 - 這種進步顯著地降低網路化的價格, 讓業務非常快速地成長。 • 在 1980 年代晚期與 1990 年代早期, 當 Novell 變得更普及時, 大量的 OS / 2 與區域網路管理員伺服器由 NetWare 伺服器取代, 這使得乙太網路更加普及。 • 因為它就是 Novell 3.x 伺服器用來與主從式 (client / server) 軟體進行通訊的媒介。
第 2 層交換技術時期之前 • 這就是圖 8.1 的網路如何演變出來的故事, 不過有個問題於是產生了- 企業骨幹不斷地成長。而當它成長時, 網路服務也就越來越慢。 • 另外有個更大的原因是, 就在網路交通大幅成長的同時, 區域網路服務甚至需要更快的服務, 於是網路就變得完全飽和了。 • 每個人都急於拋棄麥金塔與大型主機服務所用的終端機, 轉向小巧的 PC, 因而可以更容易地連上企業骨幹與網路服務。
第 2 層交換技術時期之前 • 所有這些都發生在網際網路的快速發展之前, 所以公司中的每個人都需要存取企業的網路服務。 • 為什麼?因為沒有網際網路, 所有網路服務都是內部的。 • 於是這導致一個急切的需求, 也就是如何分割一個龐大而繁忙、與老舊緩慢之路由器連結的企業網路。
第 2 層交換技術時期之前 • 首先, Cisco 只是製造更快的路由器 (不必懷疑這點), 但卻需要分更多的網路段, 特別是在乙太區域網路上。 • 快速乙太網路的發明也非常好, 而且很有用, 但它仍然無法解決網路分段的需求。 • 有一種稱為橋接器的裝置卻能分割網路, 我們首先在網路中使用他們來分割碰撞網域。
第 2 層交換技術時期之前 • 只是橋接器乃受限於連接埠的數量, 以及他們所能提供的其他網路服務, 而這正是第 2 層交換所能彌補的地方。 • 這些交換器分割每個連接埠上的碰撞網域 - 就像橋接器一樣, 而且交換器可提供數百個埠號! • 這種早期的交換式區域網路看起來就像圖 8.2 所示。
第 2 層交換技術時期之前 • 每部集線器連到一個交換埠, 這種創新大大地改善了網路。 • 現在, 不再讓每棟大樓擠入相同的網域, 而是每部集線器變成它自己個別的碰撞網域。但仍有一個難題 - 交換埠仍然很新, 因此超級貴。 • 因為這樣, 只要在每層樓配置一部交換器這件事尚未發生 - 至少現在還沒有。 • 多虧一些熱愛這些技術的人, 交換器的價格已經大幅下滑, 所以現在讓用戶插上交換埠是一件很棒、而且也可行的事。
第 2 層交換技術時期之前 • 所以, 如果您要進行網路設計與實作, 納入交換式服務是一定要的。 • 典型的當代網路設計看起來如圖 8.3 所示, 這是一個完全的交換式網路設計與實作。 • 但您會說 "我仍然看到有一部路由器在那兒!" 是的, 這不是幻想 - 是仍然該有一部路由器在那兒。 • 但它的任務已經改變, 現在它的目的不再是做實體的網路分段, 而是產生與處理邏輯的網路分割。
第 2 層交換技術時期之前 • 這些邏輯的網路分段稱為虛擬區域網路 (VLAN), 我們會在本章與下一章深入地加以討論。
8 - 2 交換服務 • 橋接器使用軟體來產生與管理過濾表格 (filter table), 而交換器則以應用專屬的積體電路 (Application-Specific Integrated Circuits, ASIC) 來建構與維護他們的過濾表格。 • 不過您仍然可以將第 2 層交換器想成是多埠號的橋接器, 因為他們基本的存在理由是相同的:分割碰撞網域。 • 第 2 層交換器與橋接器的速度比路由器快, 因為他們不需要花時間檢查網路層的標頭資訊。
交換服務 • 他們只是檢查訊框的硬體位址, 以決定要轉送、廣播、或丟棄。 • 不像集線器那樣, 交換器會在每個埠上產生各自專屬的碰撞網域, 並提供獨立的頻寬。 • 圖 8.4 顯示有 5 部主機連上一部交換器 - 所有主機都以 10 Mbps 的半雙工 (half-duplex) 連上伺服器。 • 與集線器不同的是, 每部主機與伺服器都有 10 Mbps 的專屬通訊。
交換服務 • 第 2 層交換提供以下的特性: • 硬體式的橋接 (ASIC) • 線路速度 (wire speed) • 低延遲 (latency) • 低成本 • 第 2 層交換會如此有效率的原因, 是因為它不會對資料封包進行任何修改, 交換器裝置只會讀取將封包封裝起來的訊框, 這使得交換程序比遶送程序還快, 而且比較不易出錯。
交換服務 • 如果您使用第 2 層交換來連結工作群組, 並且分割網路 (分割碰撞網域), 那麼與傳統的遶送網路相比, 您會有一個階層較少、且含有許多網段的網路設計。 • 此外, 第 2 層交換會增加每個使用者的頻寬, 因為每條進入交換器的連線 (界面) 都有它自己的碰撞網域, 這種特性使得您能夠連接多部裝置到每個界面。 • 以下幾節將更深入地探討第 2 層交換技術。
第 2 層交換的限制 • 既然我們常常將第 2 層交換與橋接式網路視為同一類, 那麼也會認為它與橋接式網路一樣有相同的議題。 • 記住, 如果我們正確地設計網路, 橋接器是很好且很有幫助的東西, 請記住他們的特性與限制。 • 要設計好有橋接器的網路, 有 2 個非常重要的考量: • 絕對必須正確地分割碰撞網域。
第 2 層交換的限制 • 要建置有效果的橋接式網路, 正確的方式是要確定他們的用戶有 80% 的時間都是在自己的區域網段上。 • 橋接式網路會分割碰撞網域, 但請記住, 該網路仍然是一個大的廣播網域。 • 預設上第 2 層交換器或橋接器都不會分割廣播網域 - 這不只會限制網路規模與網路的成長空間, 也且也會降低整體的效能。
第 2 層交換的限制 • 廣播與多點傳播 (multicast), 以及緩慢的擴展樹收斂速度都可能在網路成長時帶來重大的災難。 • 這也是為什麼在互連網路中, 第 2 層交換器與橋接器無法完全取代路由器 (第 3 層裝置) 的主要原因。
橋接與區域網路交換 • 第 2 層交換器真的就只是擁有更大量連接埠的橋接器, 但您應該要記住, 他們還是有一些重要的差異: • 橋接器是以軟體為基礎, 而交換器是以硬體為基礎的, 因為他們使用 ASIC 晶片來幫忙進行過濾的決定。 • 交換器可視為多個埠的橋接器。 • 每個橋接器只能有一份擴展樹, 而交換器則可以有許多。
橋接與區域網路交換 • 比起大部分的橋接器, 交換器有更多數目的埠。 • 橋接器與交換器都會轉送第 2 層廣播。 • 橋接器與交換器藉由檢查所接收之每個訊框的來源位址, 以學得 MAC 位址。 • 橋接器與交換器都是根據第 2 層位址來進行轉送的決定。
第 2 層之 3 個交換功能 • 第 2 層交換有 3 個不同的功能 (您必須牢記!):學習位址、決定轉送或過濾、以及避免迴圈。 • 學習位址第 2 層交換器與橋接器會記住它從界面接收之每個訊框的來源硬體位址, 然後輸入這種資訊到一個稱為轉送 / 過濾表的 MAC 資料庫。 • 決定轉送或過濾當交換器從界面收到訊框時, 會檢視其目的硬體位址, 找尋它在 MAC 資料庫中所學到的離開界面, 該訊框只會從特定的目的埠轉送出去。
第 2 層之 3 個交換功能 • 避免迴圈如果為了達到冗餘的目而在交換器之間建置多重連線, 則有可能發生網路迴圈。 • 擴展樹協定 (Spanning Tree Protocol, STP) 就是讓我們在提供網路冗餘性的同時、又能防止網路迴圈。 • 以下仔細地說明這些功能。
學習位址 • 交換器一開機時, 其 MAC 轉送 / 過濾表是空的, 如圖 8.5 所示。
學習位址 • 當裝置傳送訊框, 而界面收到訊框時, 交換器會將訊框的來源位址放入 AMC 轉送 / 過濾表中, 以記住傳送端裝置是位於那個界面。 • 然後交換器別無選擇, 只能將這個訊框往其來源埠之外的每個埠廣播到網路上, 因為這時還不知道目的裝置實際上位於何處。 • 如果有個裝置回答這個廣播的訊框, 並傳送一個訊框回來, 之後交換器就會取得該訊框的來源位址, 將該 MAC 位址放入資料庫中, 並且將該位址與收到該訊框的界面對應在一起。
學習位址 • 之後交換器就會在它的過濾表中有這 2 個相關的 MAC 位址, 於是這兩部裝置就可進行點對點的連線。 • 交換器不再需要如第一次那樣地廣播訊框, 因為現在這種訊框可以、而且只會在這 2 部裝置之間轉送;這也是為什麼第 2 層交換器比集線器好的原因。 • 在集線器的網路中, 每次所有的訊框都會轉送到所有的連接埠。圖 8.6 展示交換器如何建構 MAC 資料庫的程序。
學習位址 • 您可從圖中看到有 4 部主機連結一部交換器, 當交換器開機時, 它的 MAC 位址轉送 / 過濾表是空的, 就跟圖 8.5 一樣。 • 但是當主機開始通訊之後, 交換器會將每個訊框的來源硬體位址, 以及它所對應的埠號一起放入表格中。 • 讓我們以一個範例來展示轉送 / 過濾表是如何產生的。
學習位址 • 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 位址, 因為他們還不曾傳送任何訊框給交換器。 • 如果 A 與 B 主機在一定的時間內都沒有與交換器進行任何通訊, 則交換器會清掉他們在資料庫的記錄, 以儘可能地保持最新的資料。
轉送 / 過濾決策 • 當訊框抵達交換器界面時, 會以它的目的硬體位址與轉送 / 過濾 MAC 資料庫進行比較。 • 如果目的硬體位址是已知的, 而且列在資料庫中, 交換器就會將訊框傳送到對應的離開界面。 • 除了該目的界面之外, 訊框並不會轉送給任何其他的界面, 於是保留了其他網段的頻寬;這種機制我們稱之為訊框過濾 (frame filtering)。 • 但如果目的硬體位址沒有列在 MAC 資料庫中, 則該訊框會廣播至所有運作中的界面, 除了接收該訊框的界面之外。
轉送 / 過濾決策 • 如果有個裝置回答該廣播的訊框, 則會以該裝置的位置 (界面) 來更新 AMC 資料庫。 • 如果有主機或伺服器在區域網路上傳送廣播封包, 則根據預設, 交換器會將訊框廣播到除了來源埠以外的所有埠。 • 請記住, 交換器只會產生較小的碰撞網域, 但預設上它仍然是一個大的廣播網域。 • 在圖 8.7 中, A 主機傳送資料訊框給 D 主機。當交換器收到來自 A 主機的訊框時, 它會做什麼呢?
轉送 / 過濾決策 • 因為 A 主機的 MAC 位址並不在轉送 / 過濾表中, 交換器會將其來源位址和埠號加入 MAC 位址表中, 然後將訊框轉送給 D 主機。 • 如果 D 主機的 MAC 位址也不在轉送 / 過濾表中, 則交換器會將訊框從 Fa0 / 3 之外的所有埠廣播出去。 • 現在讓我們看看 show mac address-table的輸出。
轉送 / 過濾決策 • 假設前面的交換器接收到具有下列 MAC 位址的訊框:
轉送 / 過濾決策 • 交換器如何處理這個訊框呢?答案是:它會在 MAC 位址表中找到目的 MAC 位址, 然後就只會從 Fa0 / 3 將訊框轉送出去。 • 請記住如果目的 MAC 位址無法在轉送 / 過濾表中找到, 它就會將訊框從交換器所有的埠轉送出去, 以尋找目的裝置。 • 既然我們已經瞭解 MAC 位址表, 以及交換器如何將主機位址新增到轉送過濾表中, 那我們要如何保護它不受到未經授權的存取呢?
埠的安全性功能 • 您要如何阻止別人將一台主機插入您交換器的一個埠中 - 或者更糟的是將一台集線器、交換器、或存取點插入辦公室的乙太網路插孔呢? • 根據預設, MAC 位址會動態地出現在 MAC 轉送 / 過濾表中。您可以使用埠的安全性功能來阻止它們。 • 下面是可能的做法:
埠的安全性功能 • 您可以從前面的輸出中清楚看到 switchport port-security命令具有 4 個選項。 • 筆者個人喜歡port-security 命令, 因為它讓我們可以輕易地控制網路上的使用者。
埠的安全性功能 • 您可以使用 switchport port-security MAC - 位址 MAC - 位址命令來將個別的 MAC 位址指定給個別的交換器埠, 但是如果您選擇這樣做, 您最好要有很多時間! • 如果您希望將交換器埠設定為每個埠只能有一台主機, 而且在違反此項規則時關閉這個埠, 則可以使用下列命令:
埠的安全性功能 • 這些可能是最常用的命令, 因為它們能夠防止使用者連到辦公室中的交換器或存取點。 • Maximum 設定為 1 表示該埠只能使用 1 個 MAC 位址;如果使用者嘗試在這個網段中加入另一台主機, 這個埠就會被關閉。 • 如果發生這種情況, 您必須要手動進入交換器, 並且使用 no shutdown命令來開啟這個埠。 • 筆者最喜歡的命令之一是 sticky 命令。它不只會執行很酷的功能, 而且還有個很酷的名字!
埠的安全性功能 • 您可以在 mac-address命令之下找到這個命令: • 基本上, 它可以提供靜態 MAC 位址安全性, 而不必輸入網路上每個人的 MAC 位址。酷斃了!
埠的安全性功能 • 在前面的例子中, 前 2 個進入埠中的 MAC 位址會被黏住, 成為靜態位址, 並且在 aging命令所指定的期間之內一直維持不變。 • 為什麼這裡筆者要設 2 呢?因為筆者需要 1 個給 PC / 資料使用, 另 1 個給電信 / 電話使用。 • 下一章關於 VLAN 的討論中, 會更詳細談到這種組態設定。
避免迴圈 • 在交換器之間建置冗餘的鏈路是不錯的設計, 因為他們有助於避免因單一條鏈路停止運作而全然斷線的情況。 • 這聽起來不錯, 但雖然冗餘的鏈路可能非常有幫助, 他們所引起的問題卻經常比他們所解決的問題還多。 • 這是因為訊框可以同時從所有的冗餘鏈路廣播出去, 於是產生了網路迴圈與其他的壞事。