它們在哪裏工作?
根據 OSI模型的網絡體系劃分,自底向上,路由器 工作在第三層(網絡層),而我們常說的交換機 工作在第二層(鏈路層)(目前有更加高級的三層交換機,四層交換機,甚至還有七層交換機)
它們怎麼工作?
它們的主要工作如下:
路由器:尋址,轉發(依靠 IP 地址)
交換機:過濾,轉發(依靠 MAC 地址)
我們可以看出這兩者的主要工作就是轉發數據,但是不同之處是,依靠的地址不同,這是一個根本區別!
路由器內有一份路由表,裏面有它的尋址信息(就像是一張地圖),它收到網絡層的數據報後,會根據路由表和選路算法將數據報轉發到下一站(可能是路由器、交換機、目的主機)
交換機內有一張MAC表,裏面存放着和它相連的所有設備的MAC地址,它會根據收到的數據幀的首部信息內的目的MAC地址在自己的表中查找,如果有就轉發,如果沒有就放棄
我們來看一個網絡拓撲圖例子:
通過拓撲圖我們應該知道:
每一個路由器與其之下連接的設備,其實構成一個局域網
交換機工作在路由器之下,就是也就是交換機工作在局域網內
交換機用於局域網內網的數據轉發
路由器用於連接局域網和外網
舉個例子:
我們每個人相當於主機,路由器相當於快遞員,宿管大爺相當於交換機,學校是一個局域網
快遞員根據學校地址(IP)把包裹送到學校,再根據公寓號(子網IP)把快遞交給這個公寓的宿管大爺,宿管大爺根據你的名字(MAC)交給你
它們兩個可不可以少一個?
交換機在局域網內工作,它根據 MAC 地址轉發數據,如果沒有了路由器在網絡層尋址,那麼我們的數據就不能發送到其他網絡終端上去了
路由器內集成了交換機的功能,主機與路由器相連也可以實現數據轉發,但是不足之處是:
可擴展的接口不如交換機多
交換機通常由硬件加速轉發,路由器主要靠軟件尋址,速度慢
實際網絡數據轉發過程
此處參考:微信公衆號:碼農翻身,作者:劉欣
通過一個實際網絡數據轉發的過程,我們可以更好的理解路由器與交換機的區別所在
假設你使用電腦訪問www.baidu.com
過程大致如下:
你的電腦先在應用層打包一個 HTTP報文,然後在傳輸層在打包成 TCP報文,然後再根據 DNS 查到的 IP 在網絡層打包成 IP數據報,然後在通過鏈路層打包成以太網數據幀,發送給你的交換機:
你的交換機收到後,重新包裝數據幀,再發送給你的路由器:
你的路由器利用 NAT,將 IP 改爲自己的對外的 IP,再根據路由表選擇一條合適的路徑:
在接下來的過程中,每個節點都只改變 MAC 地址,然後在網絡中一路向着目的地發送
---------------------