以太網交換機工作原理和廣播風暴

以太網交換機可以將網絡數據包原封不動地轉發到目的地。這個過程是如何做到的呢?



基於源MAC地址的學習

如上圖所示,假如有4台PC通過以太網口分別連接到交換機的網口上,每個接口都有一個對應的MAC地址。交換機在剛剛啟動時不會收到外部信息,此時交換機的MAC地址表初始化為空。交換機啟動完成後,會接收到來自連接網絡中設備發送的以太網幀信息,例如PC1發送以太網幀給交換機,該交換機從與PC1相連的接口會收到以太網幀,然後交換機會將該以太網幀中的源MAC地址記錄在MAC地址表中,並且會將收到的源MAC地址埠與該MAC地址建立一一對應。

依此類推,與交換機連接的其他PC設備也會通過發送以太網幀,與交換機建立起關聯,同樣方式交換機也會將其他PC的MAC地址記錄在MAC地址表中,並且交換機接收到的源MAC埠與MAC地址建立對應。

 

基於目的MAC地址的轉發

假如某個時刻,PC1向PC3發送以太網數據包,源MAC地址是02:9A:96:44:55:60,目的MAC是02:9A:96:44:55:62,交換機就會在MAC地址表中查詢發現02:9A:96:44:55:62這個MAC是在S3接口學到的,所以就會從S3接口轉發出去。所以這裡可以看到,交換機在轉發數據時不是根據源MAC地址,而是基於目的MAC地址將收到的數據轉發出去。其他情況類似方法分析。

 

網絡泛洪和廣播風暴

『在交換機二層通信過程中,當一台交換機收到一個數據幀時,分析數據幀頭部的目的地址,並在MAC地址表中進行查找,如果有匹配項,則將數據幀從該匹配項所關聯的交換機埠交換出去,如果沒有匹配項,則將數據幀進行泛洪,將該數據幀在除了接收幀之外的所有埠上發出去。在數據網絡中,如果交換機之間存在環路,泛洪數據幀將在環路中循環交換轉發產生廣播風暴,占用所有網絡資源,以致整個網絡沒有資源傳送其他有效數據幀而癱瘓。



二層交換網絡的核心問題就是環路問題以及由此產生的廣播風暴問題,如果是一個單設備和單鏈路組成的樹型二層網絡,它是沒有任何環路和因環路引起的廣播風暴問題。但是這種網絡的可靠性是非常差,因為它沒有任何的備份設備和備份鏈路,一旦某個設備或者鏈路發生故障,那麼故障點下的所有主機就連不上網絡了。為了提高網絡可靠性,通常會採用冗餘設備和冗餘鏈路,這樣就不可避免的形成環路。紅色鏈路構成一個環路,藍色鏈路也構成一個環路,事實上,在相對複雜的二層網絡中,物理上的環路幾乎無處不在。

二層網絡雖然隔離了衝突域,但是處於同一個廣播域下,廣播數據幀在環路中會反覆持續傳送轉發,而且二層數據幀轉發沒有TTL機制限制,一個數據幀可以無限循環下去就會形成廣播風暴,瞬間即可導致埠阻塞和設備癱瘓。』為了解決泛洪和廣播風暴問題,一種途徑是通過劃分VLAN來縮小廣播域。另一種途徑是通過破環協議來防止環路。交換機工作時發出請求的埠只和目的埠響應,同時還不影響其它的埠,能有效地隔離衝突域以及抑制廣播風暴。

參考資料

https://blog.csdn.net/swingwang/article/details/51853820

https://www.maxlinear.com/products/connectivity/wired/ethernet/ethernet-switches

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

參考來源

false: https://blog.csdn.net/swingwang/article/details/51853820

評論