03.06 「詳解」三層交換機與路由器,區別在哪裡?

交換機的工作原理

當交換機收到數據時,它會檢查它的目的MAC地址,然後把數據從目的主機所在的接口轉發出去。交換機之所以能實現這一功能,是因為交換機內部有一個MAC地址表,MAC地址表記錄了網絡中所有MAC地址與該交換機各端口的對應信息。

某一數據幀需要轉發時,交換機根據該數據幀的目的MAC地址來查找MAC地址表,從而得到該地址對應的端口,即知道具有該MAC地址的設備是連接在交換機的哪個端口上,然後交換機把數據幀從該端口轉發出去。

  • 交換機根據收到數據幀中的源MAC地址建立該地址同交換機端口的映射,並將其寫入MAC地址表中。
  • 交換機將數據幀中的目的MAC地址同已建立的MAC地址表進行比較,以決定由哪個端口進行轉發。
  • 如數據幀中的目的MAC地址不在MAC地址表中,則向所有端口轉發。這一過程稱為泛洪(flood)。
  • 廣播幀和組播幀向所有的端口轉發。

例:某網絡如圖所示。

「詳解」三層交換機與路由器,區別在哪裡?


「詳解」三層交換機與路由器,區別在哪裡?

假設主機pc1向主機pc7發送一個數據幀,該數據幀被送到交換機後,交換機首先查MAC地址表,發現主機pc7連接在E0/24接口上,就將數據幀從E0/24接口轉發出去。


交換機的三個基本功能

1、學習

以太網交換機瞭解每一端口相連設備的MAC地址,並將地址同相應的端口映射起來存放在交換機緩存中的MAC地址表中。

2、轉發/過濾

當一個數據幀的目的地址在MAC地址表中有映射時,它被轉發到連接目的節點的端口而不是所有端口(如該數據幀為廣播/組播幀則轉發至所有端口)

3、消除迴路

當交換機包括一個冗餘迴路時,以太網交換機通過生成樹協議避免迴路的產生,同時允許存在後備路徑。


二、三層交換機對比

1、二層交換技術

二層交換技術是發展比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,並將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。

具體的工作流程如下:

(1) 當交換機從某個端口收到一個數據包,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機器是連在哪個端口上的;

(2) 再去讀取包頭中的目的MAC地址,並在地址表中查找相應的端口;

(3) 如表中有與這目的MAC地址對應的端口,把數據包直接複製到這端口上;

(4) 如表中找不到相應的端口則把數據包廣播到所有端口上,當目的機器對源機器回應時,交換機又可以學習一目的MAC地址與哪個端口對應,在下次傳送數據時就不再需要對所有端口進行廣播了。

不斷的循環這個過程,對於全網的MAC地址信息都可以學習到,二層交換機就是這樣建立和維護它自己的地址表。

從二層交換機的工作原理可以推知以下三點:

(1) 由於交換機對多數端口的數據進行同時交換,這就要求具有很寬的交換總線帶寬,如果二層交換機有N個端口,每個端口的帶寬是M,交換機總線帶寬超過N×M,那麼這交換機就可以實現線速交換;

(2) 學習端口連接的機器的MAC地址,寫入地址表,地址表的大小(一般兩種表示方式:一為BEFFER RAM,一為MAC表項數值),地址表大小影響交換機的接入容量;

(3) 還有一個就是二層交換機一般都含有專門用於處理數據包轉發的ASIC芯片,因此轉發速度可以做到非常快。由於各個廠家採用ASIC不同,直接影響產品性能。

2、三層交換機

第三層交換工作在OSI七層網絡模型中的第三層即網絡層,是利用第三層協議中的IP包的包頭信息來對後續數據業務流進行標記,具有同一標記的業務流的後續報文被交換到第二層數據鏈路層,從而打通源IP地址和目的IP地址之間的一條通路。這條通路經過第二層鏈路層。

有了這條通路,三層交換機就沒有必要每次將接收到的數據包進行拆包來判斷路由,而是直接將數據包進行轉發,將數據流進行交換。

「詳解」三層交換機與路由器,區別在哪裡?

舉個例子,比如A要給B發送數據,已知目的IP,那麼A就用子網掩碼取得網絡地址,判斷目的IP是否與自己在同一網段。

使用IP的設備A------------三層交換機----------------使用IP的設備B

如果在同一網段,但不知道轉發數據所需的MAC地址,A就發送一個ARP請求,B返回其MAC地址,A用此MAC封裝數據包併發送給交換機,交換機起用二層交換模塊,查找MAC地址表,將數據包轉發到相應的端口。

如果目的IP地址顯示不是同一網段的,那麼A要實現和B的通訊,在流緩存條目中沒有對應MAC地址條目,就將第一個正常數據包發送向一個缺省網關,這個缺省網關一般在操作系統中已經設好,對應第三層路由模塊,所以可見對於不是同一子網的數據,最先在MAC表中放的是缺省網關的MAC地址。

然後就由三層路由模塊接收到此數據包,查詢路由表以確定到達B的路由,將構造一個新的幀頭,其中以缺省網關的MAC地址為源MAC地址,以主機B的MAC地址為目的MAC地址。

通過一定的識別觸發機制,確立主機A與B的MAC地址及轉發端口的對應關係,並記錄進流緩存條目表,以後的A到B的數據,就直接交由二層交換模塊完成。這就通常所說的一次路由多次轉發。

可以看出三層交換的特點:

a、由硬件結合實現數據的高速轉發。

b、這就不是簡單的二層交換機和路由器的疊加,三層路由模塊直接疊加在二層交換的高速背板總線上,突破了傳統路由器的接口速率限制,速率可達幾十Gbit/s。算上背板帶寬,這些是三層交換機性能的兩個重要參數。

c 、簡潔的路由軟件使路由過程簡化。

d、大部分的數據轉發,除了必要的路由選擇交由路由軟件處理,都是又二層模塊高速轉發,路由軟件大多都是經過處理的高效優化軟件,並不是簡單照搬路由器中的軟件。

所以,得出結論:

二層交換機:基於MAC地址

三層交換機:具有VLAN功能 ,交換和路由,基於IP,就是網絡。


路由器與三層交換機的區別

路由器是三層設備,可是三層交換機卻可以同時工作在三層和二層的。

事實上三層交換機與路由器還是存在很大的差別:

1、主要功能不同。雖然三層交換機與路由器都具有路由功能,但不能因此而把它們等同起來。路由器不僅具有路由功能,還提供了交換機端口、硬件防火牆附加功能,其目的是使設備適用面更廣、使其更加實用。

三層交換機也一樣,主要功能仍是數據交換,只不過它是具備了一些基本的路由功能的交換機。三層交換機同時具備了數據交換和路由轉發兩種功能,但其主要功能還是數據交換;而路由器僅具有路由轉發這一種主要功能。

2、主要適用的環境不一樣。三層交換機的路由功能通常比較簡單,因為它所面對的主要是簡單的局域網連接。特性遠沒有路由器那麼複雜。它用在局域網中的主要用途還是提供快速數據交換功能,滿足局域網數據交換頻繁的應用特點。

而路由器則不同,雖然也適用於局域網之間的連接,但它的路由功能更多的體現在不同類型網絡之間的互聯上,如局域網與廣域網之間的連接、不同協議的網絡之間的連接等,優勢在於選擇最佳路由、負荷分擔、鏈路備份及和其他網絡進行路由信息的交換等。

另外,為了與各種類型的網絡連接,路由器的接口類型非常豐富,而三層交換機則一般僅同類型的局域網接口,非常簡單。

3、技術實現不一樣。路由器和三層交換機在數據包交換操作上存在著明顯區別。

路由器一般由基於網絡處理器或多核的路由引擎執行數據包交換。

而三層交換機通過硬件執行數據包交換。三層交換機在對第一個數據包送控制面進行路由查找後,它將會產生一個供數據面查找的MAC地址與IP地址的映射表,當同樣的數據流再次通過時,將根據此表查表通過而不是再次送控制面查路由(即“一次路由,多次交換”)。

「詳解」三層交換機與路由器,區別在哪裡?

提高了數據包轉發的效率。三層交換機的路由查找是針對數據流的,它利用緩存技術,很容易利用ASIC技術來實現,因此,可以大大節約成本,並實現快速轉發。

而路由器的轉發採用最長匹配的方式,實現複雜,一般採用價格高昂的網絡處理器或多核處理器實現,並且路由表數目龐大,成本相當高。


總結

二層交換機用於小型的局域網絡。在小型局域網中,廣播包影響不大,二層交換機的快速交換功能、多個接入端口和低謙價格為小型網絡用戶提供了很完善的解決方案。

三層交換機的最重要的功能是加快大型局域網絡內部的數據的快速轉發,加入路由功能也是為這個目的服務的。如果把大型網絡按照部門,地域等等因素劃分成一個個小局域網,這將導致大量的網際互訪,單純的使用二層交換機不能實現網際互訪;

如單純的使用路由器,由於接口數量有限和路由轉發速度慢,將限制網絡的速度和網絡規模,採用具有路由功能的快速轉發的三層交換機就成為首選。


分享到:


相關文章: