交換機工作于OSI參考模型的第二層,即數(shù)據(jù)鏈路層。交換機內(nèi)部的CPU會在每個端口成功連接時,通過將MAC地址和端口對應(yīng),形成一張MAC表。在今后的通訊中,發(fā)往該MAC地址的數(shù)據(jù)包將僅送往其對應(yīng)的端口,而不是所有的端口。因此,交換機可用于劃分數(shù)據(jù)鏈路層廣播,即沖突域;但它不能劃分網(wǎng)絡(luò)層廣播,即廣播域。交換機擁有一條很高帶寬的背部總線和內(nèi)部交換矩陣。交換機的所有的端口都掛接在這條背部總線上,控制電路收到數(shù)據(jù)包以后,處理端口會查找內(nèi)存中的地址對照表以確定目的MAC(網(wǎng)卡的硬件地址)的NIC(網(wǎng)卡)掛接在哪個端口上,通過內(nèi)部交換矩陣迅速將數(shù)據(jù)包傳送到目的端口,目的MAC若不存在,廣播到所有的端口,接收端口回應(yīng)后交換機會“學(xué)習(xí)”新的MAC地址,并把它添加入內(nèi)部MAC地址表中。使用交換機也可以把網(wǎng)絡(luò)“分段”,通過對照IP地址表,交換機只允許必要的網(wǎng)絡(luò)流量通過交換機。通過交換機的過濾和轉(zhuǎn)發(fā),可以有效的減少沖突域。
交換機在同一時刻可進行多個端口對之間的數(shù)據(jù)傳輸。每一端口都可視為獨立的物理網(wǎng)段(注:非IP網(wǎng)段),連接在其上的網(wǎng)絡(luò)設(shè)備獨自享有全部的帶寬,無須同其他設(shè)備競爭使用。當(dāng)節(jié)點A向節(jié)點D發(fā)送數(shù)據(jù)時,節(jié)點B可同時向節(jié)點C發(fā)送數(shù)據(jù),而且這兩個傳輸都享有網(wǎng)絡(luò)的全部帶寬,都有著自己的虛擬連接。假使這里使用的是10Mbps的以太網(wǎng)交換機,那么該交換機這時的總流通量就等于2×10Mbps=20Mbps,而使用10Mbps的共享式HUB時,一個HUB的總流通量也不會超出10Mbps。總之,交換機是一種基于MAC地址識別,能完成封裝轉(zhuǎn)發(fā)數(shù)據(jù)幀功能的網(wǎng)絡(luò)設(shè)備。交換機可以“學(xué)習(xí)”MAC地址,并把其存放在內(nèi)部地址表中,通過在數(shù)據(jù)幀的始發(fā)者和目標接收者之間建立臨時的交換路徑,使數(shù)據(jù)幀直接由源地址到達目的地址。
交換機的任意節(jié)點收到數(shù)據(jù)傳輸指令后,即對于存儲在內(nèi)存里的地址表進行快速查找,從而對于MAC地址的網(wǎng)卡連接位置進行確認,然后再將數(shù)據(jù)傳輸?shù)皆摴?jié)點上。如果在地址表中找到相應(yīng)的位置,則進行傳輸;如果沒有,交換機就會將該地址進行記錄,以利于下次尋找和使用。交換機一般只需要將幀發(fā)送到相應(yīng)的點,而無需如集線器發(fā)送到所有節(jié)點,從而節(jié)省了資源和時間,提高了數(shù)據(jù)傳輸?shù)乃俾省?
通過交換的方式進行的數(shù)據(jù)傳輸,其實就是交換機的數(shù)據(jù)傳送的方式。之前的集線器,更多是利用共享的方式,來對數(shù)據(jù)進行傳輸,沒有辦法從通訊的速度上進行要求。集線器的共享方式,也就是常說的共享式網(wǎng)絡(luò),以集線器作為連接設(shè)備并且只 有一個方向的數(shù)據(jù)流,因而網(wǎng)絡(luò)共享的效率非常低。相對而言,交換機能夠?qū)B接到自身的各臺電腦進行相應(yīng)的識別,通過每臺電腦網(wǎng)卡的物理地址也就是常說的MAC地址,來進行記憶和識別。
在這樣的前提之下,就不用再進行廣播尋找,而能夠直接將記憶的MAC地址找到相應(yīng)的地點并且通過一個臨時性專用的數(shù)據(jù)傳輸通道,來完成兩個節(jié)點之間不受外來干擾的數(shù)據(jù)傳輸?shù)耐ㄐ?。由?a href="/tags/交換機" target="_blank">交換機還具有全雙工傳輸?shù)姆绞?,所以也可以對于多對?jié)點間通過同時建立臨時的專用通道,來形成一個立體且交叉的數(shù)據(jù)傳輸通道結(jié)構(gòu)。