電話:
400-0780-677傳真:
025-86644313
一、交換機(jī)的工作原理
當(dāng)交換機(jī)收到數(shù)據(jù)時(shí),它會檢查它的目的MAC地址,然后把數(shù)據(jù)從目的主機(jī)所在的接口轉(zhuǎn)發(fā)出去。交換機(jī)之所以能實(shí)現(xiàn)這一功能,是因?yàn)榻粨Q機(jī)內(nèi)部有一個(gè)MAC地址表,MAC地址表記錄了網(wǎng)絡(luò)中所有MAC地址與該交換機(jī)各端口的對應(yīng)信息。某一數(shù)據(jù)幀需要轉(zhuǎn)發(fā)時(shí),交換機(jī)根據(jù)該數(shù)據(jù)幀的目的MAC地址來查找MAC地址表,從而得到該地址對應(yīng)的端口,即知道具有該MAC地址的設(shè)備是連接在交換機(jī)的哪個(gè)端口上,然后交換機(jī)把數(shù)據(jù)幀從該端口轉(zhuǎn)發(fā)出去。
1、交換機(jī)根據(jù)收到數(shù)據(jù)幀中的源MAC地址建立該地址同交換機(jī)端口的映射,并將其寫入MAC地址表中。
2、交換機(jī)將數(shù)據(jù)幀中的目的MAC地址同已建立的MAC地址表進(jìn)行比較,以決定由哪個(gè)端口進(jìn)行轉(zhuǎn)發(fā)。
3、如數(shù)據(jù)幀中的目的MAC地址不在MAC地址表中,則向所有端口轉(zhuǎn)發(fā)。這一過程稱為泛洪(flood)。
4、廣播幀和組播幀向所有的端口轉(zhuǎn)發(fā)。
例:某網(wǎng)絡(luò)如圖1所示。
表1端口/MAC地址映射表
假設(shè)主機(jī)pc1向主機(jī)pc7發(fā)送一個(gè)數(shù)據(jù)幀,該數(shù)據(jù)幀被送到交換機(jī)后,交換機(jī)首先查MAC地址表,發(fā)現(xiàn)主機(jī)pc7連接在E0/24接口上,就將數(shù)據(jù)幀從E0/24接口轉(zhuǎn)發(fā)出去。
交換機(jī)的三個(gè)基本功能
1、學(xué)習(xí)
以太網(wǎng)交換機(jī)了解每一端口相連設(shè)備的MAC地址,并將地址同相應(yīng)的端口映射起來存放在交換機(jī)緩存中的MAC地址表中.
2、轉(zhuǎn)發(fā)/過濾
當(dāng)一個(gè)數(shù)據(jù)幀的目的地址在MAC地址表中有映射時(shí),它被轉(zhuǎn)發(fā)到連接目的節(jié)點(diǎn)的端口而不是所有端口(如該數(shù)據(jù)幀為廣播/組播幀則轉(zhuǎn)發(fā)至所有端口)
3、消除回路
當(dāng)交換機(jī)包括一個(gè)冗余回路時(shí),以太網(wǎng)交換機(jī)通過生成樹協(xié)議避免回路的產(chǎn)生,同時(shí)允許存在后備路徑。
1、二層交換技術(shù)
二層交換技術(shù)是發(fā)展比較成熟,二層交換機(jī)屬數(shù)據(jù)鏈路層設(shè)備,可以識別數(shù)據(jù)包中的MAC地址信息,根據(jù)MAC地址進(jìn)行轉(zhuǎn)發(fā),并將這些MAC地址與對應(yīng)的端口記錄在自己內(nèi)部的一個(gè)地址表中。
舉個(gè)例子
比如A要給B發(fā)送數(shù)據(jù),已知目的IP,那么A就用子網(wǎng)掩碼取得網(wǎng)絡(luò)地址,判斷目的IP是否與自己在同一網(wǎng)段。
使用IP的設(shè)備A------------三層交換機(jī)----------------使用IP的設(shè)備B
如果在同一網(wǎng)段,但不知道轉(zhuǎn)發(fā)數(shù)據(jù)所需的MAC地址,A就發(fā)送一個(gè)ARP請求,B返回其MAC地址,A用此MAC封裝數(shù)據(jù)包并發(fā)送給交換機(jī),交換機(jī)起用二層交換模塊,查找MAC地址表,將數(shù)據(jù)包轉(zhuǎn)發(fā)到相應(yīng)的端口。
如果目的IP地址顯示不是同一網(wǎng)段的,那么A要實(shí)現(xiàn)和B的通訊,在流緩存條目中沒有對應(yīng)MAC地址條目,就將個(gè)正常數(shù)據(jù)包發(fā)送向一個(gè)缺省網(wǎng)關(guān),這個(gè)缺省網(wǎng)關(guān)一般在操作系統(tǒng)中已經(jīng)設(shè)好,對應(yīng)第三層路由模塊,所以可見對于不是同一子網(wǎng)的數(shù)據(jù),在MAC表中放的是缺省網(wǎng)關(guān)的MAC地址;然后就由三層路由模塊接收到此數(shù)據(jù)包,查詢路由表以確定到達(dá)B的路由,將構(gòu)造一個(gè)新的幀頭,其中以缺省網(wǎng)關(guān)的MAC地址為源MAC地址,以主機(jī)B的MAC地址為目的MAC地址。通過一定的識別觸發(fā)機(jī)制,確立主機(jī)A與B的MAC地址及轉(zhuǎn)發(fā)端口的對應(yīng)關(guān)系,并記錄進(jìn)流緩存條目表,以后的A到B的數(shù)據(jù),就直接交由二層交換模塊完成。這就通常所說的一次路由多次轉(zhuǎn)發(fā)。
可以看出三層交換的特點(diǎn):
a、由硬件結(jié)合實(shí)現(xiàn)數(shù)據(jù)的高速轉(zhuǎn)發(fā)。
b、這就不是簡單的二層交換機(jī)和路由器的疊加,三層路由模塊直接疊加在二層交換的高速背板總線上,突破了傳統(tǒng)路由器的接口速率限制,速率可達(dá)幾十Gbit/s。算上背板帶寬,這些是三層交換機(jī)性能的兩個(gè)重要參數(shù)。
c 、簡潔的路由軟件使路由過程簡化。
d、大部分的數(shù)據(jù)轉(zhuǎn)發(fā),除了必要的路由選擇交由路由軟件處理,都是又二層模塊高速轉(zhuǎn)發(fā),路由軟件大多都是經(jīng)過處理的優(yōu)化軟件,并不是簡單照搬路由器中的軟件。
所以:
二層交換機(jī):基于MAC地址
三層交換機(jī):具有VLAN功能 ,交換和路由,基于IP,就是網(wǎng)絡(luò)。
路由器是三層設(shè)備,可是三層交換機(jī)卻可以同時(shí)工作在三層和二層的。
事實(shí)上三層交換機(jī)與路由器還是存在很大的差別:
1、主要功能不同。雖然三層交換機(jī)與路由器都具有路由功能,但不能因此而把它們等同起來。路由器不僅具有路由功能,還提供了交換機(jī)端口、硬件防火墻附加功能,其目的是使設(shè)備適用面更廣、使其更加實(shí)用。
三層交換機(jī)也一樣,主要功能仍是數(shù)據(jù)交換,只不過它是具備了一些基本的路由功能的交換機(jī)。三層交換機(jī)同時(shí)具備了數(shù)據(jù)交換和路由轉(zhuǎn)發(fā)兩種功能,但其主要功能還是數(shù)據(jù)交換;而路由器僅具有路由轉(zhuǎn)發(fā)這一種主要功能。
2. 主要適用的環(huán)境不一樣。三層交換機(jī)的路由功能通常比較簡單,因?yàn)樗鎸Φ闹饕呛唵蔚木钟蚓W(wǎng)連接。特性遠(yuǎn)沒有路由器那么復(fù)雜。它用在局域網(wǎng)中的主要用途還是提供快速數(shù)據(jù)交換功能,滿足局域網(wǎng)數(shù)據(jù)交換頻繁的應(yīng)用特點(diǎn)。
而路由器則不同,雖然也適用于局域網(wǎng)之間的連接,但它的路由功能更多的體現(xiàn)在不同類型網(wǎng)絡(luò)之間的互聯(lián)上,如局域網(wǎng)與廣域網(wǎng)之間的連接、不同協(xié)議的網(wǎng)絡(luò)之間的連接等,優(yōu)勢在于選擇路由、負(fù)荷分擔(dān)、鏈路備份及和其他網(wǎng)絡(luò)進(jìn)行路由信息的交換等。另外,為了與各種類型的網(wǎng)絡(luò)連接,路由器的接口類型非常豐富,而三層交換機(jī)則一般僅同類型的局域網(wǎng)接口,非常簡單。
3、技術(shù)實(shí)現(xiàn)不一樣。路由器和三層交換機(jī)在數(shù)據(jù)包交換操作上存在著明顯區(qū)別。
路由器一般由基于網(wǎng)絡(luò)處理器或多核的路由引擎執(zhí)行數(shù)據(jù)包交換。
而三層交換機(jī)通過硬件執(zhí)行數(shù)據(jù)包交換。三層交換機(jī)在對個(gè)數(shù)據(jù)包送控制面進(jìn)行路由查找后,它將會產(chǎn)生一個(gè)供數(shù)據(jù)面查找的MAC地址與IP地址的映射表,當(dāng)同樣的數(shù)據(jù)流再次通過時(shí),將根據(jù)此表查表通過而不是再次送控制面查路由(即“一次路由,多次交換”)。
提高了數(shù)據(jù)包轉(zhuǎn)發(fā)的效率。三層交換機(jī)的路由查找是針對數(shù)據(jù)流的,它利用緩存技術(shù),很容易利用ASIC技術(shù)來實(shí)現(xiàn),因此,可以大大節(jié)約成本,并實(shí)現(xiàn)快速轉(zhuǎn)發(fā)。
而路由器的轉(zhuǎn)發(fā)采用長匹配的方式,實(shí)現(xiàn)復(fù)雜,一般采用價(jià)格高昂的網(wǎng)絡(luò)處理器或多核處理器實(shí)現(xiàn),并且路由表數(shù)目龐大,成本相當(dāng)高。
二層交換機(jī)用于小型的局域網(wǎng)絡(luò)。在小型局域網(wǎng)中,廣播包影響不大,二層交換機(jī)的快速交換功能、多個(gè)接入端口和低謙價(jià)格為小型網(wǎng)絡(luò)用戶提供了很完善的解決方案。
三層交換機(jī)的重要的功能是加快大型局域網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)的快速轉(zhuǎn)發(fā),加入路由功能也是為這個(gè)目的服務(wù)的。如果把大型網(wǎng)絡(luò)按照部門,地域等等因素劃分成一個(gè)個(gè)小局域網(wǎng),這將導(dǎo)致大量的網(wǎng)際互訪,單純的使用二層交換機(jī)不能實(shí)現(xiàn)網(wǎng)際互訪;
如單純的使用路由器,由于接口數(shù)量有限和路由轉(zhuǎn)發(fā)速度慢,將限制網(wǎng)絡(luò)的速度和網(wǎng)絡(luò)規(guī)模,采用具有路由功能的快速轉(zhuǎn)發(fā)的三層交換機(jī)就成為。
具體的工作流程如下:
(1) 當(dāng)交換機(jī)從某個(gè)端口收到一個(gè)數(shù)據(jù)包,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機(jī)器是連在哪個(gè)端口上的;
(2) 再去讀取包頭中的目的MAC地址,并在地址表中查找相應(yīng)的端口;
(3) 如表中有與這目的MAC地址對應(yīng)的端口,把數(shù)據(jù)包直接復(fù)制到這端口上;
(4) 如表中找不到相應(yīng)的端口則把數(shù)據(jù)包廣播到所有端口上,當(dāng)目的機(jī)器對源機(jī)器回應(yīng)時(shí),交換機(jī)又可以學(xué)習(xí)一目的MAC地址與哪個(gè)端口對應(yīng),在下次傳送數(shù)據(jù)時(shí)就不再需要對所有端口進(jìn)行廣播了。
不斷的循環(huán)這個(gè)過程,對于全網(wǎng)的MAC地址信息都可以學(xué)習(xí)到,二層交換機(jī)就是這樣建立和維護(hù)它自己的地址表。
從二層交換機(jī)的工作原理可以推知以下三點(diǎn):
(1) 由于交換機(jī)對多數(shù)端口的數(shù)據(jù)進(jìn)行同時(shí)交換,這就要求具有很寬的交換總線帶寬,如果二層交換機(jī)有N個(gè)端口,每個(gè)端口的帶寬是M,交換機(jī)總線帶寬超過N×M,那么這交換機(jī)就可以實(shí)現(xiàn)線速交換;
(2) 學(xué)習(xí)端口連接的機(jī)器的MAC地址,寫入地址表,地址表的大?。ㄒ话銉煞N表示方式:一為BEFFER RAM,一為MAC表項(xiàng)數(shù)值),地址表大小影響交換機(jī)的接入容量;
(3) 還有一個(gè)就是二層交換機(jī)一般都含有專門用于處理數(shù)據(jù)包轉(zhuǎn)發(fā)的ASIC芯片,因此轉(zhuǎn)發(fā)速度可以做到非??臁S捎诟鱾€(gè)廠家采用ASIC不同,直接影響產(chǎn)品性能。
2、三層交換機(jī)
第三層交換工作在OSI七層網(wǎng)絡(luò)模型中的第三層即網(wǎng)絡(luò)層,是利用第三層協(xié)議中的IP包的包頭信息來對后續(xù)數(shù)據(jù)業(yè)務(wù)流進(jìn)行標(biāo)記,具有同一標(biāo)記的業(yè)務(wù)流的后續(xù)報(bào)文被交換到第二層數(shù)據(jù)鏈路層,從而打通源IP地址和目的IP地址之間的一條通路。這條通路經(jīng)過第二層鏈路層。有了這條通路,三層交換機(jī)就沒有必要每次將接收到的數(shù)據(jù)包進(jìn)行拆包來判斷路由,而是直接將數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),將數(shù)據(jù)流進(jìn)行交換。
表1端口/MAC地址映射表