詳解三層交換機與路由器之間的關聯問題
三層交換機使用了將三層路由技術和二層交換技術結合在一起的新技術,如果把大型網絡按照部門,地域等等因素劃分成一個個小局域網,那么三層交換機就會起著核心的作用。
三層交換機與路由器 近年來隨著互聯網和各企業信息化建設的迅猛發展,使人們越來越感覺到傳統路由器已經從原來的交通指揮員變成了現在的路口瓶頸。而具有三層路由功能的交換機既可以工作在協議第三層替代或部分完成傳統路由器的功能,同時又具有幾乎第二層交換的速度。
且價格相對便宜些,一時間很多人都開始想到三層交換機要替代路由器了!但事實又如何呢? 傳統路由器在網絡中扮演著隔離網絡、隔離廣播、路由轉發、防火墻等角色,并且隨著網絡的不斷發展,它們的工作量也在迅速增長。
如今出于安全和管理方便等方便的考慮,VLAN技術在網絡中大量應用。VLAN技術可以邏輯隔離各個不同的網段、端口甚至主機,而各個不同VLAN間的通信都要經過路由器來完成轉發。由于局域網中數據流量很大,VLAN間大量的信息交換都要通過路由器來完成轉發,這時候隨著數據流量的不斷增長路由器就成為了網絡的瓶頸。
三層交換機使用了將三層路由技術和二層交換技術結合在一起的新技術——三層交換。數據在網絡中是分段傳遞的,三層交換技術對一個數據流的第一段數據進行尋址并轉發,然后在緩存中建立一個關于這個數據流的MAC地址與IP地址的映射表。
當后續的數據流到達交換機時將對照這個映射表直接從二層將數據快速轉發到目的地出口,而不用再經過三層路由功能來完成。正因如此,三層交換技術降低了因路由尋址、轉發而造成的網絡延遲,提高了數據包的轉發效率。
但是從技術上講路由器和交換機在對數據包交換過程的操作上存在著明顯的區別。路由器采用的是最長匹配的方式,實現起來比較復雜,通過基于微處理器的軟件來完成。而對于三層交換來說,它的路由轉發是針對某一數據流進行的,同時利用緩存(CACHE)技術來存儲映射表,所以很容易采用基于硬件的ASIC芯片來實現。
因此不難看出,同三層交換機相比路由器的功能更為強大!像NAT、VPN、ACL等功能目前仍無法完全被取代。 在實際應用過程中處于同一個局域網中的各個子網的互聯以及局域網中VLAN間的路由,可以用三層交換機來代替路由器。
但在局域網必須與公網互聯以實現跨地域的網絡環境下,路由器就變成了不可或缺的設備。同時,一個完全構建在交換機上的網絡會出現諸如碰撞、堵塞以及通信混亂等問題。如果使用路由器將網絡化分為多個子網,通過路由器所具備的功能來有效地進行安全策略控制,則可以避免這些問題。
另外,三層交換機暫時還不能提供完整的路由選擇協議支持,而路由器則具備同時處理多個協議的能力。當連接不同協議的網絡,例如以太網和令牌環的組合網絡,依靠三層交換機是不可能完成網間路由和數據傳輸的。除此之外,路由器還具有第四層網絡管理能力,例如ACL對數據流的安全控制功能,這也是三層交換機所不具備的。
根據三層交換機和路由器各自的特點來看,三層交換機并不等于路由器,同時也不可能取代路由器!在我們的實際選購中,應根據自身網絡的特點與未來可能的發展需求來選擇適合我們的產品。
不論怎樣,隨著技術的發展、產品的完善最終獲益的終將是我們消費者! 局域網絡的出現,迄今為止已經經歷了三十多年,在這三十多年的發展歷程中,從最初的無線技術ALOHA引出CSMA/CD核心技術,直到快速以太網(802.3u)及現代的GE(802.3z)10GE以太網技術的出現,不斷的推陳出新。
這就引發了一個問題,對于一個具體的網絡,因為可選擇的組網方式的多樣化,如何選擇一種好的組網技術成為困惑。 對于用戶來說,在減低成本的前提下,保證網絡的高可靠性,高性能,易維護,易擴展,與采用何種組網技術密切相關;
對于設備廠商來說,在保證用戶的網絡功能實現的基礎上,如何能夠取的更為可觀的利潤,采用組網技術的優劣,也是提高利潤的其中一個手段。 目前技術的發展,可以說直接面向用戶的第一層接口和第二層交換技術已經日趨成熟,它們的發展現狀令人滿意,所以說選擇的重點不在這個層次。
但是,作為網絡的核心,起網間互連作用的路由器技術卻沒有實質性的突破。于是一種新的路由技術應運而生----三層交換技術,說它是路由技術,因為它工作在網絡協議的三層;說它是交換技術,交換速度特別快,幾乎可以達到二層交換速度。
在這些技術選擇的權衡中,二層交換+路由組網與三層交換組網的選擇是一個焦點問題,二層交換機、三層交換機和路由器這三種技術究竟誰優誰劣,它們各自適用在什么環境?#t#
為了解答這問題,我們先從這三種技術的工作原理入手。 (一) 二層交換技術 二層交換技術是發展比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。
具體的工作流程如下:
(1) 當交換機從某個端口收到一個數據包,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機器是連在哪個端口上的; (2) 再去讀取包頭中的目的MAC地址,并在地址表中查找相應的端口;
(3) 如表中有與這目的MAC地址對應的端口,把數據包直接復制到這端口上; (4) 如表中找不到相應的端口則把數據包廣播到所有端口上,當目的機器對源機器回應時,交換機又可以學習一目的MAC地址與哪個端口對應,在下次傳送數據時就不再需要對所有端口進行廣播了。