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