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