網絡爲什麼要分層?
複雜的程序都要分層,這是程序設計的要求。
比如,複雜的電商還會分數據庫層、緩存層、Compose 層、Controller 層和接入層,每一層專注做本層的事情。
層與層之間的關係
只要在網絡上跑的包,都是完整的,可以有下層沒上層,絕對不可能有上層沒下層。
二層設備和三層設備之間的區別
一個 HTTP 協議的包經過一個二層設備,二層設備收進去的是整個網絡包。這裏面 HTTP、TCP、 IP、 MAC 都有。
二層設備,就是隻把 MAC 頭摘下來,看看到底是丟棄、轉發,還是自己留着。
什麼叫三層設備呢?就是把 MAC 頭摘下來之後,再把 IP 頭摘下來,看看到底是丟棄、轉發,還是自己留着。