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