交換(switching)是按照通信兩端傳輸信息的需要,用人工或設備自動完成的方法,把要傳輸?shù)男畔⑺偷椒弦蟮南鄳酚缮系募夹g統(tǒng)稱。廣義的交換機(switch)就是一種在通信系統(tǒng)中完成信息交換功能的設備。
在計算機網(wǎng)絡系統(tǒng)中,交換概念的提出是對于共享工作模式的改進。我們以前介紹過的HUB集線器就是一種共享設備,HUB本身不能識別目的地址,當同一局域網(wǎng)內的A主機給B主機傳輸數(shù)據(jù)時,數(shù)據(jù)包在以HUB為架構的網(wǎng)絡上是以廣播方式傳輸?shù)模擅恳慌_終端通過驗證數(shù)據(jù)包頭的地址信息來確定是否接收。也就是說,在這種工作方式下,同一時刻網(wǎng)絡上只能傳輸一組數(shù)據(jù)幀的通訊,如果發(fā)生碰撞還得重試。這種方式就是共享網(wǎng)絡帶寬。
交換機擁有一條很高帶寬的背部總線和內部交換矩陣。交換機的所有的端口都掛接在這條背部總線上,控制電路收到數(shù)據(jù)包以后,處理端口會查找內存中的地址對照表以確定目的MAC(網(wǎng)卡的硬件地址)的NIC(網(wǎng)卡)掛接在哪個端口上,通過內部交換矩陣迅速將數(shù)據(jù)包傳送到目的端口,目的MAC若不存在才廣播到所有的端口,接收端口回應后交換機會“學習”新的地址,并把它添加入內部MAC地址表中。
使用交換機也可以把網(wǎng)絡“分段”,通過對照MAC地址表,交換機只允許必要的網(wǎng)絡流量通過交換機。通過交換機的過濾和轉發(fā),可以有效的隔離廣播風暴,減少誤包和錯包的出現(xiàn),避免共享沖突。
交換機在同一時刻可進行多個端口對之間的數(shù)據(jù)傳輸。每一端口都可視為獨立的網(wǎng)段,連接在其上的網(wǎng)絡設備獨自享有全部的帶寬,無須同其他設備競爭使用。當節(jié)點A向節(jié)點D發(fā)送數(shù)據(jù)時,節(jié)點B可同時向節(jié)點C發(fā)送數(shù)據(jù),而且這兩個傳輸都享有網(wǎng)絡的全部帶寬,都有著自己的虛擬連接。假使這里使用的是10Mbps的以太網(wǎng)交換機,那么該交換機這時的總流通量就等于2×10Mbps=20Mbps,而使用10Mbps的共享式HUB時,一個HUB的總流通量也不會超出10Mbps。
總之,交換機是一種基于MAC地址識別,能完成封裝轉發(fā)數(shù)據(jù)包功能的網(wǎng)絡設備。交換機可以“學習”MAC地址,并把其存放在內部地址表中,通過在數(shù)據(jù)幀的始發(fā)者和目標接收者之間建立臨時的交換路徑,使數(shù)據(jù)幀直接由源地址到達目的地址。