相信有很多人在學(xué)習(xí)網(wǎng)絡(luò)的過程中,都會(huì)對路由器與交換機(jī)的區(qū)別與聯(lián)系感到疑惑不解,因?yàn)檫@兩臺(tái)設(shè)備的功能看起來似乎一樣。然而,其實(shí)路由器與交換機(jī)大有不同,下面是我對此的一些理解,希望能夠幫助到你! 它們在哪里工作? 根據(jù) OSI模型的網(wǎng)絡(luò)體系劃分,自底向上,路由器 工作在第三層(網(wǎng)絡(luò)層),而我們常說的交換機(jī) 工作在第二層(鏈路層)(目前有更加高級的三層交換機(jī),四層交換機(jī),甚至還有七層交換機(jī)) 圖1 OSI所處層次 它們怎么工作? 它們的主要工作如下: 路由器:尋址,轉(zhuǎn)發(fā)(依靠 IP 地址) 交換機(jī):過濾,轉(zhuǎn)發(fā)(依靠 MAC 地址) 我們可以看出這兩者的主要工作就是轉(zhuǎn)發(fā)數(shù)據(jù),但是不同之處是,依靠的地址不同,這是一個(gè)根本區(qū)別! 路由器內(nèi)有一份路由表,里面有它的尋址信息(就像是一張地圖),它收到網(wǎng)絡(luò)層的數(shù)據(jù)報(bào)后,會(huì)根據(jù)路由表和選路算法將數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到下一站(可能是路由器、交換機(jī)、目的主機(jī)) 交換機(jī)內(nèi)有一張MAC表,里面存放著和它相連的所有設(shè)備的MAC地址,它會(huì)根據(jù)收到的數(shù)據(jù)幀的首部信息內(nèi)的目的MAC地址在自己的表中查找,如果有就轉(zhuǎn)發(fā),如果沒有就放棄 我們來看一個(gè)網(wǎng)絡(luò)拓?fù)鋱D例子: 圖2 網(wǎng)絡(luò)拓?fù)?/span> 通過拓?fù)鋱D我們應(yīng)該知道: 每一個(gè)路由器與其之下連接的設(shè)備,其實(shí)構(gòu)成一個(gè)局域網(wǎng) 交換機(jī)工作在路由器之下,就是也就是交換機(jī)工作在局域網(wǎng)內(nèi) 交換機(jī)用于局域網(wǎng)內(nèi)網(wǎng)的數(shù)據(jù)轉(zhuǎn)發(fā) 路由器用于連接局域網(wǎng)和外網(wǎng) 舉個(gè)例子: 我們每個(gè)人相當(dāng)于主機(jī),路由器相當(dāng)于快遞員,宿管大爺相當(dāng)于交換機(jī),學(xué)校是一個(gè)局域網(wǎng) 快遞員根據(jù)學(xué)校地址(IP)把包裹送到學(xué)校,再根據(jù)公寓號(子網(wǎng)IP)把快遞交給這個(gè)公寓的宿管大爺,宿管大爺根據(jù)你的名字(MAC)交給你 它們兩個(gè)可不可以少一個(gè)? 交換機(jī)在局域網(wǎng)內(nèi)工作,它根據(jù) MAC 地址轉(zhuǎn)發(fā)數(shù)據(jù),如果沒有了路由器在網(wǎng)絡(luò)層尋址,那么我們的數(shù)據(jù)就不能發(fā)送到其他網(wǎng)絡(luò)終端上去了 路由器內(nèi)集成了交換機(jī)的功能,主機(jī)與路由器相連也可以實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),但是不足之處是: 可擴(kuò)展的接口不如交換機(jī)多 交換機(jī)通常由硬件加速轉(zhuǎn)發(fā),路由器主要靠軟件尋址,速度慢 實(shí)際網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)過程 通過一個(gè)實(shí)際網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)的過程,我們可以更好的理解路由器與交換機(jī)的區(qū)別所在 假設(shè)你使用電腦訪問www.baidu.com 過程大致如下: 圖3 過程 你的電腦先在應(yīng)用層打包一個(gè) HTTP報(bào)文,然后在傳輸層在打包成 TCP報(bào)文,然后再根據(jù) DNS 查到的 IP 在網(wǎng)絡(luò)層打包成 IP數(shù)據(jù)報(bào),然后在通過鏈路層打包成以太網(wǎng)數(shù)據(jù)幀,發(fā)送給你的交換機(jī): 圖4 你的交換機(jī)收到后,重新包裝數(shù)據(jù)幀,再發(fā)送給你的路由器: 圖5 你的路由器利用 NAT,將 IP 改為自己的對外的 IP,再根據(jù)路由表選擇一條合適的路徑: 在接下來的過程中,每個(gè)節(jié)點(diǎn)都只改變 MAC 地址,然后在網(wǎng)絡(luò)中一路向著目的地發(fā)送 |
|