以太網(wǎng)交換機(jī)有很多值得學(xué)習(xí)的地方,這里我們主要介紹以太網(wǎng)交換機(jī)入門(mén)基礎(chǔ)知識(shí)。什么是交換機(jī)?交換 switching 是按照通信兩端傳輸信息的需要,用人工或設(shè)備自動(dòng)完成的方法,把要傳輸?shù)男畔⑺偷椒弦蟮南鄳?yīng)路由上的技術(shù)統(tǒng)稱(chēng)。廣義的以太網(wǎng)交換機(jī)switch就是一種在通信系統(tǒng)中完成信息交換功能的設(shè)備。
交換和以太網(wǎng)交換機(jī)最早起源于電話(huà)通訊系統(tǒng)(PSTN),我們現(xiàn)在還能在老電影中看到這樣的場(chǎng)面:首長(zhǎng)(主叫用戶(hù))拿起話(huà)筒來(lái)一陣猛搖,局端是一排插滿(mǎn)線(xiàn)頭的機(jī)器,戴著耳麥的話(huà)務(wù)小姐接到連接要求后,把線(xiàn)頭插在相應(yīng)的出口,為兩個(gè)用戶(hù)端建立起連接,直到通話(huà)結(jié)束。這個(gè)過(guò)程就是通過(guò)人工方式建立起來(lái)的交換。當(dāng)然現(xiàn)在我們?cè)缫哑占傲艘蕴W(wǎng)交換機(jī),交換的過(guò)程都是自動(dòng)完成。
在計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中,交換概念的提出是對(duì)于共享工作模式的改進(jìn)。我們以前介紹過(guò)的HUB 集線(xiàn)器就是一種共享設(shè)備,HUB本身不能識(shí)別目的地址,當(dāng)同一局域網(wǎng)內(nèi)的A主機(jī)給B主機(jī)傳輸數(shù)據(jù)時(shí),數(shù)據(jù)包在以HUB為架構(gòu)的網(wǎng)絡(luò)上是以廣播方式傳輸?shù)模擅恳慌_(tái)終端通過(guò)驗(yàn)證數(shù)據(jù)包頭的地址信息來(lái)確定是否接收。也就是說(shuō),在這種工作方式下,同一時(shí)刻網(wǎng)絡(luò)上只能傳輸一組數(shù)據(jù)幀的通訊,如果發(fā)生碰撞還得重試。這種方式就是共享網(wǎng)絡(luò)帶寬。
交換機(jī)擁有一條很高帶寬的背部總線(xiàn)和內(nèi)部交換矩陣。以太網(wǎng)交換機(jī)的所有的端口都掛接在這條背部總線(xiàn)上,控制電路收到數(shù)據(jù)包以后,處理端口會(huì)查找內(nèi)存中的地址對(duì)照表以確定目的MAC(網(wǎng)卡的硬件地址)的NIC(網(wǎng)卡)掛接在哪個(gè)端口上,通過(guò)內(nèi)部交換矩陣迅速將數(shù)據(jù)包傳送到目的端口,目的MAC若不存在才廣播到所有的端口,接收端口回應(yīng)后以太網(wǎng)交換機(jī)會(huì)“學(xué)習(xí)”新的地址,并把它添加入內(nèi)部地址表中。使用以太網(wǎng)交換機(jī)也可以把網(wǎng)絡(luò)“分段”,通過(guò)對(duì)照地址表,交換機(jī)只允許必要的網(wǎng)絡(luò)流量通過(guò)交換機(jī)。通過(guò)交換機(jī)的過(guò)濾和轉(zhuǎn)發(fā),可以有效的隔離廣播風(fēng)暴,減少誤包和錯(cuò)包的出現(xiàn),避免共享沖突。
交換機(jī)在同一時(shí)刻可進(jìn)行多個(gè)端口對(duì)之間的數(shù)據(jù)傳輸。每一端口都可視為獨(dú)立的網(wǎng)段,連接在其上的網(wǎng)絡(luò)設(shè)備獨(dú)自享有全部的帶寬,無(wú)須同其他設(shè)備競(jìng)爭(zhēng)使用。當(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ī),那么該以太網(wǎng)交換機(jī)這時(shí)的總流通量就等于2×10Mbps=20Mbps,而使用10Mbps的共享式HUB時(shí),一個(gè)HUB的總流通量也不會(huì)超出10Mbps。
總之,交換機(jī)是一種基于MAC地址識(shí)別,能完成封裝轉(zhuǎn)發(fā)數(shù)據(jù)包功能的網(wǎng)絡(luò)設(shè)備。以太網(wǎng)交換機(jī)可以“學(xué)習(xí)”MAC地址,并把其存放在內(nèi)部地址表中,通過(guò)在數(shù)據(jù)幀的始發(fā)者和目標(biāo)接收者之間建立臨時(shí)的交換路徑,使數(shù)據(jù)幀直接由源地址到達(dá)目的地址。
交換機(jī)的應(yīng)用
作為局域網(wǎng)的主要連接設(shè)備,以太網(wǎng)交換機(jī)成為應(yīng)用普及最快的網(wǎng)絡(luò)設(shè)備之一。隨著交換技術(shù)的不斷發(fā)展,以太網(wǎng)交換機(jī)的價(jià)格急劇下降,交換到桌面已是大勢(shì)所趨。如果你的以太網(wǎng)絡(luò)上擁有大量的用戶(hù)、繁忙的應(yīng)用程序和各式各樣的服務(wù)器,而且你還未對(duì)網(wǎng)絡(luò)結(jié)構(gòu)做出任何調(diào)整,那么整個(gè)網(wǎng)絡(luò)的性能可能會(huì)非常低。解決方法之一是在以太網(wǎng)上添加一個(gè)10/100Mbps的交換機(jī),它不僅可以處理10Mbps的常規(guī)以太網(wǎng)數(shù)據(jù)流,而且還可以支持100Mbps的快速以太網(wǎng)連接。
如果網(wǎng)絡(luò)的利用率超過(guò)了40%,并且碰撞率大于10%,以太網(wǎng)交換機(jī)可以幫你解決一點(diǎn)問(wèn)題。帶有100Mbps快速以太網(wǎng)和10Mbps以太網(wǎng)端口的交換機(jī)可以全雙工方式運(yùn)行,可以建立起專(zhuān)用的20Mbps到200Mbps連接。
不僅不同網(wǎng)絡(luò)環(huán)境下交換機(jī)的作用各不相同,在同一網(wǎng)絡(luò)環(huán)境下添加新的以太網(wǎng)交換機(jī)和增加現(xiàn)有交換機(jī)的交換端口對(duì)網(wǎng)絡(luò)的影響也不盡相同。充分了解和掌握網(wǎng)絡(luò)的流量模式是能否發(fā)揮交換機(jī)作用的一個(gè)非常重要的因素。因?yàn)槭褂媒粨Q機(jī)的目的就是盡可能的減少和過(guò)濾網(wǎng)絡(luò)中的數(shù)據(jù)流量,所以如果網(wǎng)絡(luò)中的某臺(tái)交換機(jī)由于安裝位置設(shè)置不當(dāng),幾乎需要轉(zhuǎn)發(fā)接收到的所有數(shù)據(jù)包的話(huà),交換機(jī)就無(wú)法發(fā)揮其優(yōu)化網(wǎng)絡(luò)性能的作用,反而降低了數(shù)據(jù)的傳輸速度,增加了網(wǎng)絡(luò)延遲。
除安裝位置之外,如果在那些負(fù)載較小,信息量較低的網(wǎng)絡(luò)中也盲目添加交換機(jī)的話(huà),同樣也可能起到負(fù)面影響。受數(shù)據(jù)包的處理時(shí)間、交換機(jī)的緩沖區(qū)大小以及需要重新生成新數(shù)據(jù)包等因素的影響,在這種情況下使用簡(jiǎn)單的HUB要比交換機(jī)更為理想。因此,我們不能一概認(rèn)為交換機(jī)就比HUB有優(yōu)勢(shì),尤其當(dāng)用戶(hù)的網(wǎng)絡(luò)并不擁擠,尚有很大的可利用空間時(shí),使用HUB更能夠充分利用網(wǎng)絡(luò)的現(xiàn)有資源。
交換機(jī)的三種交換方式
1.直通式(Cut Through)
直通方式的以太網(wǎng)交換機(jī)可以理解為在各端口間是縱橫交叉的線(xiàn)路矩陣電話(huà)交換機(jī)。它在輸入端口檢測(cè)到一個(gè)數(shù)據(jù)包時(shí),檢查該包的包頭,獲取包的目的地址,啟動(dòng)內(nèi)部的動(dòng)態(tài)查找表轉(zhuǎn)換成相應(yīng)的輸出端口,在輸入與輸出交叉處接通,把數(shù)據(jù)包直通到相應(yīng)的端口,實(shí)現(xiàn)交換功能。由于不需要存儲(chǔ),延遲非常小、交換非?,這是它的優(yōu)點(diǎn)。它的缺點(diǎn)是,因?yàn)閿?shù)據(jù)包內(nèi)容并沒(méi)有被以太網(wǎng)交換機(jī)保存下來(lái),所以無(wú)法檢查所傳送的數(shù)據(jù)包是否有誤,不能提供錯(cuò)誤檢測(cè)能力。由于沒(méi)有緩存,不能將具有不同速率的輸入/輸出端口直接接通,而且容易丟包。
2.存儲(chǔ)轉(zhuǎn)發(fā)(Store & Forward)
存儲(chǔ)轉(zhuǎn)發(fā)方式是計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域應(yīng)用最為廣泛的方式。它把輸入端口的數(shù)據(jù)包先存儲(chǔ)起來(lái),然后進(jìn)行CRC(循環(huán)冗余碼校驗(yàn))檢查,在對(duì)錯(cuò)誤包處理后才取出數(shù)據(jù)包的目的地址,通過(guò)查找表轉(zhuǎn)換成輸出端口送出包。正因如此,存儲(chǔ)轉(zhuǎn)發(fā)方式在數(shù)據(jù)處理時(shí)延時(shí)大,這是它的不足,但是它可以對(duì)進(jìn)入以太網(wǎng)交換機(jī)的數(shù)據(jù)包進(jìn)行錯(cuò)誤檢測(cè),有效地改善網(wǎng)絡(luò)性能。尤其重要的是它可以支持不同速度的端口間的轉(zhuǎn)換,保持高速端口與低速端口間的協(xié)同工作。
3.碎片隔離(Fragment Free)
這是介于前兩者之間的一種解決方案。它檢查數(shù)據(jù)包的長(zhǎng)度是否夠64個(gè)字節(jié),如果小于64字節(jié),說(shuō)明是假包,則丟棄該包;如果大于64字節(jié),則發(fā)送該包。這種方式也不提供數(shù)據(jù)校驗(yàn)。它的數(shù)據(jù)處理速度比存儲(chǔ)轉(zhuǎn)發(fā)方式快,但比直通式慢。