封裝:資料是怎麼一層層被包起來的
理解封裝,你就理解了「為什麼交換器看得到 MAC 卻看不到 IP」。
約 12 分鐘
資料從應用程式往下送的時候,每經過一層就被加上一個標頭(header),這個過程叫封裝(encapsulation)。到了對方那邊再一層層拆開,叫解封裝(de-encapsulation)。
第 7 層 ┌───────────────────────────────┐
應用層 │ 資料 Data │
└───────────────────────────────┘
第 4 層 ┌──────┬────────────────────────┐
傳輸層 │ TCP │ 資料 │ → 稱為「區段 Segment」
└──────┴────────────────────────┘
第 3 層 ┌─────┬──────┬───────────────────┐
網路層 │ IP │ TCP │ 資料 │ → 稱為「封包 Packet」
└─────┴──────┴───────────────────┘
第 2 層 ┌──────┬─────┬──────┬────────┬────┐
連結層 │ MAC │ IP │ TCP │ 資料 │FCS │ → 稱為「訊框 Frame」
└──────┴─────┴──────┴────────┴────┘
第 1 層 0101110100101101... → 稱為「位元 Bits」關鍵推論:誰看得到什麼
一台設備只會拆到它需要的那一層。這解釋了整個網路的分工:
- 交換器只拆到第 2 層,看得到 MAC 標頭,看不到(也不在乎)裡面的 IP。所以它無法做跨網段的決策。
- 路由器拆到第 3 層,會把舊的第 2 層標頭整個丟掉,查完路由表後重寫一個新的再送出去。這就是第 0 章說的「MAC 每一跳都變」。
- 防火牆通常拆到第 4 層甚至第 7 層,才能判斷「這是不是 HTTPS 流量」。
MTU 與分片
乙太網路一個訊框最多裝 1500 位元組的資料,這個上限叫 MTU(Maximum Transmission Unit)。超過就得切開,叫分片(fragmentation)。分片會拖慢效能,所以實務上會盡量避免 —— 這在 VPN 和穿隧(tunnel)情境特別重要,因為多一層封裝就少一點可用空間。
立即測驗這一節(2 題)