本系列使用 Google Gemini 作為 AI 教授,協助規劃 30 天網路底層實作課程;並使用 Antigravity CLI 作為程式碼助教,負責審查每日實作成果、檢查封包處理邏輯與避免污染 Gemini 的主要教學上下文。
課程將從 Linux TAP Device 開始,逐步實作 Ethernet Frame、ARP、IPv4、ICMP、UDP、TCP 三向交握、Socket API 與 HTTP Server。每一天都會有可執行的程式、可觀察的封包,以及可以透過 Wireshark 或 tcpdump 驗證的成果。
系列介紹:用 Google AI 從零打造 Network Stack 這個系列是我報名 2026 iThome 鐵人賽 Build on Google AI...
昨天我們已經成功建立 tap0,並透過 read() 從 Linux Kernel 接收到原始 Ethernet Frame。 今天將正式進入 OSI Laye...
Day 03:Ethernet Broadcast & Unicast —— 建立接收過濾器(Receive Filter) 昨天我們已經成功解析 Et...
昨天我們完成了 Ethernet Layer(Layer 2)的接收過濾機制(Receive Filter),讓自製網路堆疊能夠像真正的網卡一樣判斷哪些封包該接...
昨天我們完成了發送 ARP Request 。今天我們要完成 ARP 協定的另一半:接收與解析 ARP Reply,並建立了網路堆疊的第一個快取記憶庫 ── A...
昨天我們完成了 Layer 2 的 ARP Reply 解析 與 ARP Table 快取機制。 從今天開始,我們將正式跨越資料鏈結層(Data Link La...
昨天我們完成了 IPv4 Header 的基本解析。 今天加入 IPv4 Header Checksum,讓我們的 Network Stack 可以判斷 IPv...
Day 8:ICMP 基礎 — 看懂 Ping 封包 昨天我們完成了 IPv4 Header 的 Checksum 驗證機制。今天我們開始解析 IPv4 的第一...
昨天我們完成了 ICMP Echo Request 的接收與解析。今天我們不再只是「被動解析封包」,而是讓我們的網路堆疊具備真正的雙向互動能力 ── 自動回應...
昨天我們完成了 ICMP Echo Reply,讓我們的 Network Stack 具備了主機端(Endpoint)回應 Ping 的能力。 今天我們要邁向路...