基礎:網路是什麼

協定堆疊(protocol stack)

把信寄到國外,會經手幾位各司其職、依序交棒的專家:你寫好內容,信封服務替它寫上地址,郵政系統替它選路,航空公司把它飛過去。沒有人需要詳細知道其他人的工作——他們只是信任下一層會送達。協定堆疊就是網路的這種安排:一組協定被組織成多層,每一層疊在下一層之上。

每一層為上一層提供乾淨的服務,並倚賴下一層的服務,且只與緊鄰的鄰居溝通。你的瀏覽器(應用層)把資料交給傳輸層(TCP),TCP 加上可靠性再交給網路層(IP),IP 加上定址再交給連結層(乙太網路或 Wi-Fi),連結層把位元放上實體媒介。在另一端,同樣的堆疊反向運行,每一層剝除並處理其對等層所加上的東西。真實的網際網路運行五層的 TCP/IP 堆疊:應用層、傳輸層、網路層、連結層、實體層。

堆疊的威力在於模組化:你可以更換某一層而不動其他層。Wi-Fi 在連結層取代了乙太網路,Web 卻渾然不覺;HTTP/3 在傳輸層把 TCP 換成 QUIC,IP 路由也毫無改變。這正是網際網路能演進的原因。誠實的提醒是,這些整齊的層在實務中會模糊——一台懂 TLS 的負載平衡器、或一個 NAT 盒子會跨層窺視——但堆疊仍是整個領域賴以建立的組織性心智模型。

載入一個網頁,就是 HTTP 跑在 TCP 上、TCP 在 IP 上、IP 在 Wi-Fi 上、Wi-Fi 在無線電上——五個合作的層,每一層加上自己的工作,並信任下一層替它承載。

層層堆疊,每一層服務上一層、使用下一層。

整齊的層是一種理想化。真實系統有時會故意破壞分層(NAT 讀取傳輸層的連接埠;某些最佳化器檢視應用層資料)——知道這點有用,但堆疊模型仍是大家推理網路的方式。

又稱
network stackTCP/IP stack協定堆疊網路堆疊