路由器和交換機的不同之處有哪些?
這個問題本身並不是很準確,實際中,按照不同的劃分方式有不同的理解。
==== 從 普通用戶用途 的角度來劃分:
- 交換機用來將一根網線變為多根,如果網路需要登錄大家各自分別登錄。
- 路由器用來將一條網路變為多條,分出的多條網路共享主線的網路帶寬。
// 這裡以普通用戶視角描述,用詞不準確,謝絕打臉
實際情況是大部分家用路由由路由器和交換機兩部分組成,交換機用於內部網路數據傳輸,路由器利用 NAT 轉發數據與外部網路通信。
==== 從 課本上的定義 的角度來劃分:
- 交換機
- 用於同一網路內部數據的快速傳輸
- 轉發決策通過查看二層頭部完成
- 轉發不需要修改數據幀
- 工作在 TCP/IP 協議的二層 —— 數據鏈路層
- 工作簡單,直接使用硬體處理
- 路由器
- 用於不同網路間數據的跨網路傳輸
- 轉發決策通過查看三層頭部完成
- 轉發需要修改 TTL ,IP 頭部校驗和需要重新計算,數據幀需要重新封裝
- 工作在 TCP/IP 協議的三層 —— 網路層
- 工作複雜,使用軟體處理
// 應該說,這個定義已經很過時了,三層(多層)交換機早就已經普遍使用了,但是天知道什麼原因,至少我手頭的某一本課本還是這樣說的。
這是許多課本上的標準解答,在傳統上來講也是正確的。
- 由於交換機只需要查看 二層數據幀 的頭部即可決策轉發地址,策略十分簡單,可以直接通過硬體晶元實現相應功能,所以可以做到廉價高速,被大量應用在接入層。
- 而路由器由於需要處理跨網路的連接,必須在接收到完整的 IP數據包 後才能轉發數據,路由協議又比較複雜,所以只能使用軟體的方式實現相應的功能,要達到高性能只能付出更高的價格。
另外,由於二層轉發只需要查看 幀頭部 即可開始轉發,也使得 (二層)交換機 有了一項獨門功夫:直通轉發。簡單說就是只接收數據幀頭部就開始轉發,從而達到更高的性能。
==== 從 轉發模式 的角度來劃分:
Tips: 這裡只討論三層(多層)交換機,二層同上一條
- 交換機
- 硬體處理交換 (轉發) 過程
- 一次路由(尋路),多次交換(轉發)
- 路由器
- 軟體處理交換 (轉發) 過程
- 一次路由(尋路),一次交換(轉發)
// 據說也有純軟體轉發的三層交換機,暫不討論
雖然上面寫的是軟/硬體的區別,實際上更多的是工作模式上的區別:- 三層(多層)交換機並非純硬體工作,而是有單獨的路由引擎,但是路由引擎並非一直工作,而是在第一次通信的時候通過路由引擎查詢路由表,建立轉發表,之後的數據不再經過路由引擎,而是通過與二層類似的交換引擎進行轉發。
- 由於工作內容簡單,轉發引擎可以使用專門的硬體晶元來達到廉價高性能。
- 而路由器對每一個數據包都進行路由查詢,佔用大量資源,所以尋路效率較低,
- 由於路由協議複雜,無法通過純硬體晶元處理,造成大量數據轉發時性能比不上三層(多層)交換機。
Tips: 事實上路由器方面也有類似的技術,例如思科快速轉發機制(CEF-Cisco Express Forwarding)
也正是工作模式上的差異,造成了他們在實際應用時的一些區別:
- 三層(多層)交換機的路由引擎較弱,相比路由器支持的路由協議有限。
- 同樣由於三層(多層)交換機的路由引擎較弱,且轉發表有限,不適合複雜的多網路互聯。
- 因為並不是每一個包都會經過路由引擎,三層(多層)交換機的路由策略功能較弱。
- 三層(多層)交換機更適合網路結構簡單,交換數據量大的情景下使用(例如小型網路的匯聚層)
- 路由器更適合複雜的多網路互聯的核心交換區域。
==== 從 課本厚度 的角度劃分:
上面那本是交換,中間那本是路由,你懂的。
參考資料:
[1] Google
[2] CCNP SWITCH 642-813 學習指南
[3] CCNP ROUTE 642-902 學習指南
樓上這些,沒一個說的精華的,其實就8個字:
路由謀短,交換求快。
交換機工作於數據鏈路層,用來隔離衝突域,連接的所有設備同屬於一個廣播域(子網),負責子網內部通信。
路由器工作於網路層,用來隔離廣播域(子網),連接的設備分屬不同子網,工作範圍是多個子網之間,負責網路與網路之間通信。------------------------------------------------------
舉個例子:
家用寬頻路由器,其實是交換機和路由器的結合體,有兩個網路層介面,一個連接運營商網路,物理上也就是wan口,IP地址由運營商分配。另一個連接家庭網路,沒有物理介面,IP地址由自己通過路由器管理界面配置,一般默認是192.168.1.1
那另外幾個Lan口乾什麼用的?這就是交換機介面,和家庭網路介面相連,負責家庭網路內部通信。
我也來做一個比喻:
路由器就像是計程車,上車後司機司機需要知道你的目的地(IP 地址),然後司機來負責選擇線路到達目的地。到達目的地的線路可能根據實際的交通情況有所變化。
交換機就像地鐵,從A到B的線路是固定的,只要你選擇了到達地址(MAC),你就只能乘坐某條固定的線路,地鐵司機也不會司機也不問你去哪裡。
工作層次不同:
交換機主要工作在數據鏈路層(第二層)
路由器工作在網路層(第三層)。
轉發依據不同:
交換機轉發所依據的對象時:MAC地址。(物理地址)
路由轉發所依據的對象是:IP地址。(網路地址)
主要功能不同:
交換機主要用於組建區域網,
而路由主要功能是將由交換機組好的區域網相互連接起來,或者接入Internet。
交換機能做的,路由都能做。
交換機不能分割廣播域,路由可以。
路由還可以提供防火牆的功能。
路由配置比交換機複雜。
價格不同
路由器可以當交換機,交換機不能當路由器。
路由器:找路
交換機:轉發數據
路由器實現了不同網路之間的數據轉發,交換機實現了特定網路內的數據交換
從網路專用設備這個角度來說:
路由器是三層設備,可以處理IP協議。比如,路由器可以把一個發自廈門的網路包,經過定址,一部一部的經由部署在全國各地的路由器,轉發到北京或者美國。
交換機是二層設備,不能處理IP。多用於區域網電腦的連接,比如你們宿舍電腦想連起來、你們單位電腦想連起來,那麼用交換機就夠了。
從價格上來說:交換機從幾百到幾千,普通單位使用。路由器可能要上萬到幾十萬,一般適用於電信這樣的大型企業,是一種專用的網路設備。
路由器本質上就是一種交換機,用戶區域網電腦的互聯。現在很多路由器都帶有ADSL撥號功能,實現自動聯網功能。
交換機,是個加強版的集線器。而集線器,就是每台機器連一根線,然後把這些線綁在一起。路由器,就是加強版的網橋。而網橋,就是連接不同類型的網路,把他們串起來。
路由器可以提供豐富的路由屬性,同時路由器可以提供豐富的插卡式的廣域網模塊,交換機做不到
簡單點說,交換機(一般二層的)僅用於區域網互連,網口較多。路由器可用於連通外網,嚴格來說只需要兩個網口就行,一個對外一個對內。但市面上的路由器,對內的網口至少有4個吧,所以這些對內的網口相當於一個交換機下的區域網。
現在三層交換機比較流行,綜合了普通二層交換機和路由器的功能。表面上是路由器多了些對內的網口而已,其實不然。局域內網的連通走的是二層的交換,速度快。但其路由功能比不上專業的路由器,所以沒那麼貴,一般中小企業可以採用。
「技術」點說,兩者都是維護著一張map表而已。交換機維護的是埠-MAC地址的映射表,區域網的那些主機對它而言,就是一個個MAC物理地址。路由器維護的是目地IP地址-網關IP地址的映射表,即通常說的路由表。對於經過的每一個網路包,路由器要做的就是,為它找到下一跳的網關IP地址,然後填入網關的MAC地址送過去。路由協議眾多,籍此分享路由表信息,一個路由器可以探知整個網路的拓撲結構。
本來想簡單說,結果還是啰嗦了這麼多:)
交換機是連接一個區域網內的設備的,路由器是連接不同網路的設備
交換機工作在數據鏈路層,根據mac表來轉發數據
路由器工作在網路層,根據ip路由錶轉發數據
一個是ip層轉發,一個是mac層轉發。
二層交換機基於MAC進行轉發數據幀,每個VLAN屬於一個廣播域。開始的時候,交換機進行廣播,獲取MAC地址,並在設備上保存MAC列表,每個數據幀中都含有原MAC和目標MAC,交換機根據已有MAC列表進行幀的轉發。
路由器基於路由條目轉發,根據路由器中的路由表進行遞歸查找,然後轉發數據包。數據包包括原IP地址,目標IP地址,每台路由器中都存有相關的路由表條目,路由條目通過不同的協議而獲得。根據協議的機制,選舉出最佳路由保存在路由表中。
三層交換機是基於路由功能與交換功能一身。純二層交換轉發速度快,效率高,三層交換以路由功能為主,其交換效果要稍遜色與二層交換。
功能不一樣。
交換機在單個網路中和若干計算機相連。
路由器連接好幾個網路,可在這幾個網路中轉發IP分組,這些互聯的網路可以是異構的(有線、無線)。
不是同一個層面上的東西。。
路由器一般會包含交換的功能。
回去詳答。
-----------------------------------------
一般把網路定義為一個自洽的ip地址集合。那麼交換器就是用於把一些機器連接到同一個ip地址區里,他們共享一組ip地址。路由是用於連接兩個這樣的集合。
在計算機網路體系分層中,路由器工作在TCP/IP的網路層,交換機工作在數據鏈路層,集線器工作在物理層。
交換機:數據鏈路層
路由器:網路層
網路間了連接。
推薦閱讀: