CISCO 網路迴圈 交換器

消弭網路迴圈 解決多交換器並存問題

2012-09-04
之前的文章介紹了Cisco網路交換器在網路中的定位和運作的原理,眼尖的讀者可能會想到,過去筆者所介紹的文章都是比較單純的網路環境,僅假設網路架構只有單一的網路交換器,這是為了方便說明,但大多企業型的網路環境不可能只有一個交換器,多個交換器存在時很容易出現一些網路問題。為此,本文將特別介紹多個交換器所可能發生的問題,以及相關的解決方案。
學習來源端MAC位址的過程

剛剛提到交換器設備會把Frame中來源端的MAC位址與埠的對應表記錄到MAC資料庫中,而這資料庫所能記錄的筆數和設備的型號有關,例如Cisco Catalyst Switch 2950系列就能記錄8,192筆。

假設現在有一台Cisco交換器,其中四個埠分別接到不同的電腦上,而各個電腦的MAC位址如下圖所示:


當交換器第一次開機之後,MAC位址資料庫是空的。也因此,當交換器收到Frame之後,一定會從所有其他的埠轉發出去,而來源埠除外。

這種轉發到除了來源埠之外的其他埠的動作,稱為「Flooding」。用這種Flooding的動作來轉送Frame很沒有效率,因為會浪費許多網路頻寬。

假設現在A發送一個Frame給D,如下圖所示,則這個Frame會經由E0介面傳送給中間的Cisco交換器,假設這台Cisco交換器使用Store and Forward模式,則這個Frame到了Cisco交換器之後會先存放在暫時緩衝區內。


接著,因為這台交換器還沒有學到這個MAC位址應該要送往哪個埠,所以預設會採用Flooding的做法,透過其他的埠把這個Frame轉送出去。

在收到這個Frame的同時,這台交換器設備同時也學到一件事情:從E0這個埠出去可以到達A這台機器(因為交換器能夠經由E0這個介面收到由機器A的MAC位址所發送的Frame)。

因此,這個新學習到的資訊就成為MAC資料庫的第一筆資料。此時MAC資料庫中可能就有以下所示的資料:


在MAC資料庫中的每一筆資料並非一直都存在,若某筆資訊在MAC位址資料庫中經過300秒沒有更新,就會被強制移除,除非這筆資料的MAC位址所對應的電腦在300秒內繼續發送Frame到交換器設備上,這筆資訊的計時器才會重新開始計算。

如下圖所示,假設接著C想發送Frame給A,這個Frame會經由E2這個埠傳送到中間這個交換器,接著Cisco交換器會查看MAC位址資料庫中是否可以找到A這台機器的MAC位址資訊。


因為剛才這台交換器已經學到可以透過E0這個埠找到A,所以這個Frame就只會經由E0這個埠傳送出去。這次也因為C送給A而學習到C的MAC位址和E2的關係。因此此時MAC資料庫中的資料就會存放以下的對應關係:


這樣的學習模式會一直進行,等到所連接網段上的所有的MAC位址都被學習之後,這台交換器設備就完完全全地做到智慧型的轉發動作(Intelligent Forwarding)。

不僅如此,這樣的學習也有助於Frame的篩選動作,因為Frame只會發送到真正需要送往的埠,這樣就可以節省整體的網路頻寬,此種篩選動作就稱為「Frame filtering」。

交換器在網路中所造成的問題

大多複雜的網路架構都會使用相同重複的設備來避免某一設備運作失常的情況,交換器設備也是如此。要了解交換器設備的技術,免不了一定要知道這些問題,如此一來,一旦發生類似的問題時,讀者才能夠了解背後真正的原因為何。

同一個網路中使用多個交換器

許多大型的網路拓樸中,網路管理人員通常會使用一個以上的交換器,這樣一來,當某些交換器設備運作失常時,其他交換器設備也能繼續維持整個網路的運作,例如下圖所顯示的網路拓樸:


這個網路使用兩個交換器設備,若交換器A或交換器B其中一個運作失常,另外一台就可以馬上取而代之,維持網路運作。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!