路由器和交換機的區(qū)別:交換機主要是實現(xiàn)大家通過一根網(wǎng)線上網(wǎng),但是大家上網(wǎng)是分別撥號的,各自使用自己的寬帶,大家各自上網(wǎng)沒有影響,哪怕其他人在下載,對自己上網(wǎng)也沒有影響,并且所有使用同一條交換機的電腦都是在同一個局域網(wǎng)內(nèi)。路由器比交換機多了一個虛擬撥號功能,通過同一臺路由器上網(wǎng)的電腦是共用一個寬帶賬號,大家之間上網(wǎng)是相互影響的,比如一臺電腦在下載,那么同一個路由器上的其他電腦會很明顯的感覺到網(wǎng)速很慢。同一臺路由器上的電腦也是在一個局域網(wǎng)內(nèi)的。
==== 從 普通用戶用途 的角度來劃分:
交換機用來將一根網(wǎng)線變?yōu)槎喔绻W(wǎng)絡(luò)需要登錄大家各自分別登錄。
路由器用來將一條網(wǎng)絡(luò)變?yōu)槎鄺l,分出的多條網(wǎng)絡(luò)共享主線的網(wǎng)絡(luò)帶寬。
// 這里以普通用戶視角描述,用詞不準(zhǔn)確,謝絕打臉
實際情況是大部分家用路由由路由器和交換機兩部分組成,交換機用于內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)傳輸,路由器利用 NAT 轉(zhuǎn)發(fā)數(shù)據(jù)與外部網(wǎng)絡(luò)通信。
==== 從 課本上的定義 的角度來劃分:
交換機
用于同一網(wǎng)絡(luò)內(nèi)部數(shù)據(jù)的快速傳輸
轉(zhuǎn)發(fā)決策通過查看二層頭部完成
轉(zhuǎn)發(fā)不需要修改數(shù)據(jù)幀
工作在 TCP/IP 協(xié)議的二層 —— 數(shù)據(jù)鏈路層
工作簡單,直接使用硬件處理
路由器
用于不同網(wǎng)絡(luò)間數(shù)據(jù)的跨網(wǎng)絡(luò)傳輸
轉(zhuǎn)發(fā)決策通過查看三層頭部完成
轉(zhuǎn)發(fā)需要修改 TTL ,IP 頭部校驗和需要重新計算,數(shù)據(jù)幀需要重新封裝
工作在 TCP/IP 協(xié)議的三層 —— 網(wǎng)絡(luò)層
工作復(fù)雜,使用軟件處理
// 應(yīng)該說,這個定義已經(jīng)很過時了,三層(多層)交換機早就已經(jīng)普遍使用了,但是天知道什么原因,至少我手頭的某一本課本還是這樣說的。
這是許多課本上的標(biāo)準(zhǔn)解答,在傳統(tǒng)上來講也是正確的。
由于交換機只需要查看 二層數(shù)據(jù)幀 的頭部即可決策轉(zhuǎn)發(fā)地址,策略十分簡單,可以直接通過硬件芯片實現(xiàn)相應(yīng)功能,所以可以做到廉價高速,被大量應(yīng)用在接入層。
而路由器由于需要處理跨網(wǎng)絡(luò)的連接,必須在接收到完整的 IP數(shù)據(jù)包 后才能轉(zhuǎn)發(fā)數(shù)據(jù),路由協(xié)議又比較復(fù)雜,所以只能使用軟件的方式實現(xiàn)相應(yīng)的功能,要達(dá)到高性能只能付出更高的價格。
另外,由于二層轉(zhuǎn)發(fā)只需要查看 幀頭部 即可開始轉(zhuǎn)發(fā),也使得 (二層)交換機 有了一項獨門功夫:直通轉(zhuǎn)發(fā)。簡單說就是只接收數(shù)據(jù)幀頭部就開始轉(zhuǎn)發(fā),從而達(dá)到更高的性能。
==== 從 轉(zhuǎn)發(fā)模式 的角度來劃分:
Tips: 這里只討論三層(多層)交換機,二層同上一條
交換機
硬件處理交換 (轉(zhuǎn)發(fā)) 過程
一次路由(尋路),多次交換(轉(zhuǎn)發(fā))
路由器
軟件處理交換 (轉(zhuǎn)發(fā)) 過程
一次路由(尋路),一次交換(轉(zhuǎn)發(fā))
// 據(jù)說也有純軟件轉(zhuǎn)發(fā)的三層交換機,暫不討論
雖然上面寫的是軟/硬件的區(qū)別,實際上更多的是工作模式上的區(qū)別:
三層(多層)交換機并非純硬件工作,而是有單獨的路由引擎,但是路由引擎并非一直工作,而是在第一次通信的時候通過路由引擎查詢路由表,建立轉(zhuǎn)發(fā)表,之后的數(shù)據(jù)不再經(jīng)過路由引擎,而是通過與二層類似的交換引擎進(jìn)行轉(zhuǎn)發(fā)。
由于工作內(nèi)容簡單,轉(zhuǎn)發(fā)引擎可以使用專門的硬件芯片來達(dá)到廉價高性能。
而路由器對每一個數(shù)據(jù)包都進(jìn)行路由查詢,占用大量資源,所以尋路效率較低,
由于路由協(xié)議復(fù)雜,無法通過純硬件芯片處理,造成大量數(shù)據(jù)轉(zhuǎn)發(fā)時性能比不上三層(多層)交換機。
Tips: 事實上路由器方面也有類似的技術(shù),例如思科快速轉(zhuǎn)發(fā)機制(CEF-Cisco Express Forwarding)
也正是工作模式上的差異,造成了他們在實際應(yīng)用時的一些區(qū)別:
三層(多層)交換機的路由引擎較弱,相比路由器支持的路由協(xié)議有限。
同樣由于三層(多層)交換機的路由引擎較弱,且轉(zhuǎn)發(fā)表有限,不適合復(fù)雜的多網(wǎng)絡(luò)互聯(lián)。
因為并不是每一個包都會經(jīng)過路由引擎,三層(多層)交換機的路由策略功能較弱。
三層(多層)交換機更適合網(wǎng)絡(luò)結(jié)構(gòu)簡單,交換數(shù)據(jù)量大的情景下使用(例如小型網(wǎng)絡(luò)的匯聚層)
路由器更適合復(fù)雜的多網(wǎng)絡(luò)互聯(lián)的核心交換區(qū)域。