TCP/IP 網路基礎(Layers, IP, Routing)

★★★★Draft

FromHow Linux Works

📚 From the Books

TCP/IP 網路基礎(Layers, IP, Routing)Linux & Networking

網路要回答兩件事:資料該送去哪裡(where)、收到的是什麼(what)。答案由一疊網路層分工完成——應用層講協定、傳輸層管 port 與可靠性、網路層管定址與路由、實體層負責真的把 bit 送出去。搞懂這疊,排網路問題才知道該看哪一層。

🧠 Intuition

TIP

四層由上而下:應用層(HTTP/TLS/DNS,在 user space)→ 傳輸層(TCP/UDP + port,主要在 kernel)→ 網路層(IP 定址與路由)→ 實體層(Ethernet、MAC、frame)。資料下行逐層加標頭,上行逐層拆解。

⚖️ Tradeoffs

手動設定介面與路由 — 靈活但易錯
  • ip addr add / ip route add 手動指派位址與路由,完全可控。
  • 但手動路由通常比想像中複雜、容易設錯;一般建議保持簡單,讓 router 負責 subnet 間的路由
  • 現代機器多半沒有靜態 IP,還要處理無線、斷線重連——超出開機腳本能力。
交給設定管理器 + DHCP — 動態環境的預設
  • DHCP 讓主機連上網就自動取得 IP、子網遮罩、default gateway 與 DNS;IPv6 另有無狀態自動設定。
  • NetworkManager / systemd-networkd 這類 daemon 統一管理連線、委派 dhclient 等工具,處理有線優先、無線重連等情境。
  • 代價:多一層抽象與 daemon;但在動態、無線、多介面的真實環境幾乎必要。

🔑 Takeaways

✍️ My Notes

No notes yet — jot your takeaways or Q&A here.

📖 Further Reading

🔗 Dive Deeper