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