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