課程大綱
課程定位與成果
本課程從一臺電腦連上遠端服務的完整過程出發,依序建立區域網路、位址與路由、名稱解析、可靠傳輸、安全通訊及代理/VPN 的知識。每個模型都連到可以觀察或量測的現象。
完成課程後,學習者應能:
- 畫出一次通訊的拓樸,逐跳追蹤 IP 封包、鏈路訊框與代理連線。
- 根據位址、子網與路由表判斷下一跳,並說明 DNS 與資料流的關係。
- 用延遲、視窗、頻寬延遲乘積與遺失模型分析傳輸行為。
- 用 Socket 建立可重現的小型網路應用,分析 TCP 與 UDP 的差異。
- 區分驗證、加密、前向保密、重放防護及流量可觀察性。
- 比較代理協定、承載方式、安全機制、接管方式與 IP 層 VPN。
- 以封包、日誌及受控制的量測作為故障診斷與設計選擇的依據。
先備知識與入門補充
不要求先修網路課。附錄補充二進位、單位換算、Python 程式啟動、命令列路徑與 Socket 的基本概念。必修程式以標準函式庫為主。路由演算法用小型圖例與虛擬碼說明;實作密碼學不是本課必修工作。
閱讀採兩層深度:正文提供完整的問題、模型與例題;「延伸」提供規範細節、演算法推導及版本差異。先完成正文再進入延伸。
評量與自學
自學者可用相同規準檢核。解答獨立成冊,說明推理過程與常見錯法。基本題、分析題及延伸題分開標示;延伸題不作為完成零基礎路線的必要條件。
| 項目 | 比例 | 核心證據 |
|---|---|---|
| 習題 | 15% | 正確假設、推導與解釋 |
| 實驗 | 25% | 預測、紀錄、差異分析與可重現性 |
| 期中 | 20% | 概念、計算與路徑追蹤 |
| 期末題組 | 15% | 10 至 22 單元的概念、計算與故障定位 |
| 期末專題 | 25% | 設計、量測、故障定位與取捨 |
24 週核心進度與兩個 LAN 補充單元
| 週次/單元 | 問題與內容 | 可觀察成果 |
|---|---|---|
| 01 網路全貌 | 主機、交換器、路由器、AP、ISP;端點與路徑 | 家庭拓樸圖及服務路徑假設 |
| 02 分層與效能 | 封裝、封包交換、傳送/傳播/排隊延遲、吞吐量、BDP | 計算與受控延遲模型 |
| 03 IPv4 | CIDR、子網、最長前綴匹配、預設路由、ICMP、MTU | 位址設定與下一跳判斷 |
| 04 區域網路 | Ethernet、MAC、ARP、交換表、VLAN、迴路與 STP 概念 | 逐跳訊框表與交換演練 |
| 05 DHCP 與 DNS | 租約、遞迴/權威解析、快取、TTL、名稱與位址 | DHCP 時序圖及 DNS 回應分析 |
| 06 Socket 與 UDP | 埠、端點、多工、資料報與位元組串流的應用介面 | 本機 UDP 與 TCP 小型服務 |
| 07 可靠傳輸 | 校驗、序號、ACK、逾時、重傳、滑動視窗 | ARQ 模擬與視窗效率圖 |
| 08 TCP | 建連、關閉、序號、流量控制、壅塞控制、RTT | TCP 串流與離線遺失模型分析 |
| 09 期中整合 | 網路設定到取得內容;概念、計算與證據 | 期中題組與路徑診斷報告 |
| 10 路由演算法 | 轉送/路由、距離向量、鏈路狀態、OSPF、BGP 政策 | 最短路徑與路由選擇演練 |
| 11 IPv6 | 位址、NDP、SLAAC、DHCPv6、雙協定、ICMPv6 | IPv6 位址與路徑分析 |
| 12 NAT 與防火牆 | 對映/過濾、連線狀態、CGNAT、STUN、TURN、ICE | NAT 表與穿透可行性分析 |
| 13 密碼學概念 | 對稱/非對稱、雜湊、MAC、簽章、DH、AEAD、PFS、重放 | 安全性需求與信任分析 |
| 14 TLS 與 HTTPS | 信任鏈、名稱驗證、握手、SNI、0-RTT、可見資訊 | 本機 TLS 驗證與憑證觀察 |
| 15 HTTP 與 QUIC | HTTP/1.1/2/3、串流、DATAGRAM、快取、CDN、WebSocket/gRPC 承載 | 隊首阻塞與快取決策分析 |
| 16 無線、量測與排錯 | Wi-Fi 媒介競爭、AP、家庭分段、分層排錯、量測誤差 | 最低路線做排錯;無線細節列延伸 |
| 17 代理基礎 | HTTP CONNECT、SOCKS5、目的位址、名稱解析位置、正向/反向代理 | 本機代理與連線路徑 |
| 18 加密代理 | Shadowsocks AEAD 2017/2022、VMess AEAD、驗證、時間與重放 | 封裝與安全機制對照 |
| 19 VLESS/Trojan 與分層組合 | VLESS、Trojan、TLS/REALITY、Vision、WebSocket/gRPC/XHTTP、VLESS Encryption;AnyTLS/NaïveProxy 延伸 | 分欄辨認 protocol、encryption、transport、security、flow |
| 20 QUIC 代理 | Hysteria 2、TUIC v5、串流/資料報、UDP 轉送、壅塞與填充 | 同條件量測設計 |
| 21 IP 層 VPN | WireGuard、AllowedIPs、路由、MTU、OpenVPN、IKEv2/IPsec | IP 隧道與代理的路徑對照 |
| 22 接管與整合 | 系統代理、TUN/TAP、透明代理、分流、Fake IP、DoH/DoT、鏈式代理;軟路由整合 | DNS/IPv6/UDP 路徑檢查 |
| 23 專題設計 | 拓樸、服務、量測、受控故障、報告 | 專題初稿與證據 |
| 24 綜合評量 | 設計取捨、故障定位、協定組合與反思 | 完整專題與期末題組 |
專題於第 17 週選題,第 19 週交拓樸,第 21 週交量測計畫,第 23 週完成初稿,第 24 週整合。這些里程碑與每週實驗共用成果。
LAN 補充的正式位置
LAN 補充包含必讀 03A「單介面多 IP、來源選擇與政策路由」及 04A「單播、多播、廣播與 LAN 服務探索」,以及 L15、L16 與獨立解答。完整自學可用 26 次學習,03A 接 03、04A 接 04;4A.5 的 DNS-SD 在 05 後回讀,政策路由細節可在 10 後回讀。
若維持 24 週,將 03A 分在第 03 與 10 週,04A 分在第 04 與 05 週,每個補充單元約另需 3 小時,完整 Linux 延伸另計。這兩單元是完整課程的必讀內容;需在 09 期中前完成基礎,在 22 整合前完成來源政策與探索分析。LAN 評量題組可替換原期中/期末部分題目,維持總比例。
新增成果:能追蹤同介面兩個來源的規則、表與下一跳;能預測 FDB/MDB/VLAN 的資料出口;能分開畫探索、單播服務及代理上游路徑。
每章結構
每章依序包含:學習目標與先備關係、具體問題、原理與模型、完整例題、圖解或時序表、常見誤解、實驗連結、習題、章末檢核及來源。抽象模型會明示假設與限制;實作特性會標示版本與平臺。
必修環境與實驗
必修環境:macOS、Windows 或 Linux 的 Python 3.10 以上;僅使用標準函式庫。L13 的本機憑證實驗另需 OpenSSL 相容指令,提供憑證資料的離線條件表替代路線。Wireshark 為延伸工具,非必修前提。每週最低路線為正文、基本題與指定實驗步驟,約 5 至 6 小時;完整分析與延伸約 7 至 8 小時,代理單元可拆成兩次學習。
必修實驗提供本機可執行版本或離線資料分析:
- L01(01、06)觀察端點、資料與連線;建立本機 HTTP 服務。
- L02(02、07、08)延遲、單位、視窗及頻寬延遲乘積。
- L03(03、11)位址與最長前綴匹配。
- L04(05)DNS 訊息與名稱解析。
- L05(06、08)TCP/UDP Socket 與訊息邊界。
- L06(07、08)ARQ 與滑動視窗模擬。
- L07(10)路由演算法。
- L08(12)NAT 對映、過濾與連線狀態模型。
- L09(17、22)本機 CONNECT/SOCKS 代理與 DNS 路徑。
- L10(19、21、22)隧道開銷、MTU 與分流決策。
- L11(15、16、18、20、23)同條件效能比較與統計摘要。
- L12(09、12、16、23、24)綜合故障診斷與專題。
- L13(13、14)本機 TLS、名稱驗證、信任與憑證。
- L14(15、18、19、20、21、22)代理/VPN 的協定欄位與路徑分析工作表。
- L15(03A、10、22)單介面多 IP、來源選擇、RPDB 與 LAN/endpoint 例外。
- L16(04A、05、11、22)單播/廣播/多播交付、成員老化與 DNS-SD 路徑。
每份實驗包含預測、步驟、預期現象、紀錄表、判讀題與驗證範圍。模擬結果只能支持模型內的結論;真實代理/VPN 的效能與可辨識性需要指定實作及實際網路資料。
Linux 虛擬環境延伸提供封包擷取、多網段、NAT/防火牆與 WireGuard/代理設定的指引。它們不列為零基礎讀者完成必修課程的環境前提。將清楚區分已在本機驗證的程式、可離線分析的範例與尚未執行的跨平臺延伸。
代理與 VPN 的評估方法
對每個協定使用相同欄位:設計目標、轉送單位、目的位址、驗證方式、加密位置、金鑰與前向保密、重放防護、TCP/UDP 承載、多工、DNS 解析位置、可觀察資訊、實作相容性、效能條件與失敗案例。
協定名稱、承載方式、安全機制、流量接管及軟體核心分開描述。TLS 與 REALITY 不當作和 VLESS 等價的代理協定;TUN 不被當作加密保證。各種組合的有效性以指定實作及版本核對,不能將工具中的一個標籤當作普遍標準。
不以一次測速排列「最快協定」。比較要控制硬體、實作版本、路徑、延遲、遺失、頻寬、工作負載與並行連線數;同時紀錄延遲分布、吞吐量、CPU 與額外流量。安全、匿名性、偽裝與可用性分別分析。