簡單介紹局域網交換機原理及交換模式
局域網交換機已經成為組網中不可或缺的設備之一,同時也得到了很多用戶的認可,這里我們分析了局域網交換機原理及交換模式。局域網交換機技術(LAN Switching)解決了共享式網絡的性能局限,每個用戶都能夠獨享帶寬,從而緩解了帶寬不足和網絡瓶頸的問題。本文主要探討局域網交換技術的基本原理和交換模式,并由交換模式引出多層交換技術的概念。
一、局域網交換技術的基本原理
局域網交換機技術是OSI參考模型中的第二層——數據鏈路層(Data-Link Layer)上的技術,所謂“交換”實際上就是指轉發數據幀(frame)。在數據通信中,所有的交換設備(即交換機)執行兩個基本的操作:交換數據幀,將從輸入介質上收到的數據幀轉發至相應的輸出介質;維護交換操作,構造和維護交換地址表。下面,我們探討一下這兩個基本操作的具體細節。
1.交換數據幀
局域網交換機根據數據幀的MAC(Media Access Control)地址(即物理地址)進行數據幀的轉發操作。交換機轉發數據幀時,遵循以下規則:如果數據幀的目的MAC地址是廣播地址或者組播地址,則向局域網交換機所有端口轉發(除數據幀來的端口);如果數據幀的目的地址是單播地址,但是這個地址并不在交換機的地址表中,那么也會向所有的端口轉發(除數據幀來的端口);
如果數據幀的目的地址在交換機的地址表中,那么就根據地址表轉發到相應的端口;如果數據幀的目的地址與數據幀的源地址在一個網段上,它就會丟棄這個數據幀,交換也就不會發生。下面,我們以圖1為例來看看具體的數據幀交換過程。當主機D發送廣播幀時,交換機從E3端口接收到目的地址為ffff.ffff.ffff的數據幀,則向E0、E1、E2和E4端口轉發該數據幀。當主機D與E主機通信時,交換機從E3端口接收到目的地址為0260.8c01.5555的數據幀,查找地址表后發現0260.8c01.5555并不在表中,因此局域網交換機仍然向E0、E1、E2和E4端口轉發該數據幀。
當主機D與主機F通信時,交換機從E3端口接收到目的地址為0260.8c01.6666的數據幀,查找地址表后發現0260.8c01.6666也位于E3端口,即與源地址處于同一個網段,所以交換機不會轉發該數據幀,而是直接丟棄。當主機D與主機A通信時,交換機從E3端口接收到目的地址為0260.8c01.1111的數據幀,查找地址表后發現0260.8c01.1111位于E0端口,所以交換機將數據幀轉發至E0端口,這樣主機A即可收到該數據幀。
如果在主機D與主機A通信的同時,主機B也正在向主機C發送數據,局域網交換機同樣會把主機B發送的數據幀轉發到連接主機C的E2端口。這時E1和E2之間,以及E3和E0之間,通過交換機內部的硬件交換電路,建立了兩條鏈路,這兩條鏈路上的數據通信互不影響,因此網絡亦不會產生沖突。所以,主機D和主機A之間的通信獨享一條鏈路,主機C和主機B之間也獨享一條鏈路。而這樣的鏈路僅在通信雙方有需求時才會建立,一旦數據傳輸完畢,相應的鏈路也隨之拆除。這就是交換機主要的特點。從以上的交換操作過程中,我們可以看到數據幀的轉發都是基于交換機內的MAC地址表,但是這個地址表是如何建立和維護的呢?下面我們就來介紹這個問題。
2.構造維護交換地址表
交換機的交換地址表中,一條表項主要由一個主機MAC地址和該地址所位于的局域網交換機端口號組成。整張地址表的生成采用動態自學習的方法,即當交換機收到一個數據幀以后,將數據幀的源地址和輸入端口記錄在交換地址表中。思科的交換機中,交換地址表放置在內容可尋址存儲器(Content-Addressable Memory, CAM)中,因此也被稱為CAM表。
當然,在存放交換地址表項之前,交換機首先應該查找地址表中是否已經存在該源地址的匹配表項,僅當匹配表項不存在時才能存儲該表項。每一條地址表項都有一個時間標記,用來指示該表項存儲的時間周期。地址表項每次被使用或者被查找時,表項的時間標記就會被更新。如果在一定的時間范圍內地址表項仍然沒有被引用,它就會從地址表中被移走。因此,交換地址表中所維護的一直是最有效和最精確的地址—端口信息。
二、交換的模式
交換機在交換數據幀時可以選擇不同的模式來滿足網絡和用戶的需要,思科的交換機提供三種交換模式:
1. 存儲轉發模式
存儲轉發(Store-and-forward)模式是指局域網交換機收完整個數據幀,并在CRC校驗通過之后,才能進行轉發操作。如果CRC校驗失敗,即數據幀有錯,交換機則丟棄此幀。這種模式保證了數據幀的無差錯傳輸,當然其代價是增加了傳輸延遲,而且傳輸延遲隨數據幀的長度增加而增加。
2.快速轉發模式
快速轉發(Fast-forward)模式是指局域網交換機在接收數據幀時,一旦檢測到目的地址就立即進行轉發操作。但是,由于數據幀在進行轉發處理時并不是一個完整的幀,因此數據幀將不經過校驗、糾錯而直接轉發,造成錯誤的數據幀仍然被轉發到網絡上,從而浪費了網絡的帶寬。這種模式的優勢在于數據傳輸的低延遲,但其代價是無法對數據幀進行校驗和糾錯。
3.自由分段模式
自由分段(Fragment-free)模式是交換機接收數據幀時,一旦檢測到該數據幀不是沖突碎片(collision fragment)就進行轉發操作。沖突碎片是因為網絡沖突而受損的數據幀碎片,其特征是長度小于64字節。沖突碎片并不是有效的數據幀,應該被丟棄。因此,局域網交換機的自由分段模式實際上就是一旦數據幀已接收的部分超過64字節,就開始進行轉發處理。這種模式的性能介于存儲轉發模式和快速轉發模式之間。