單元 30 綜合評量與設計答辯
學習目標
以完整課程為基礎,從需求選擇模型、通道與接管方式,追蹤故障並提出可檢驗的修正。期末題組 100 分,課程總成績佔 15%;專題另佔 25%。開書答題,規範可查閱,來源與推論仍需分清。
30.1 期末題組
- 路由與政策(12):筆電手動把 IPv4 預設路由改到 wg0,另保留 peer endpoint 198.51.100.7/32 經實體出口;wg0 唯一 peer 的 AllowedIPs 只有 172.16.0.0/12,IPv6 只有實體介面上的 ::/0。IPv4 網站 203.0.113.30、內部服務 172.16.4.9 與 2001:db8:5::30 各走哪裡?若需要雙協定全隧道,要改哪兩處查表,還要確認什麼?
- 分層分類(10):分類 VLESS、TLS、REALITY、Vision、WebSocket、TUN、WireGuard;找出不能由「標籤都存在」保證相容的組合。
- 密碼與信任(10):比較 PSK 代理與經臨時金鑰協商的 TLS/WireGuard;指出 PFS、防重放和代理可見目的的差異。
- QUIC 語義(12):經 Hysteria 2 轉送兩種 UDP 資料,每個 DATAGRAM 獨立遺失 2%,一個 DATAGRAM 最多裝約 1200 bytes 資料,裝不下的資料報會切片送出。甲是每 20 ms 一份、約 300 bytes 的位置更新,新的一份取代舊的;乙是每 2 秒一份、約 3000 bytes 的設定快照,要完整才能使用,晚到 1 秒仍有用。說明 stream 與 DATAGRAM 的交付語義,求乙經 DATAGRAM 轉送時整份遺失的比例,並說明甲、乙各適合哪種承載、用什麼指標評估。
- 開銷計算(8):outer path MTU 1450,外層 IPv6 40、UDP 8、資料 header 16、tag 16,求未額外計 padding 的 inner IP 預算;說明為何它不是普遍最佳 MTU。
- 排錯(12):網站 shop.test 經 CDN 提供 HTTPS:CDN 終止用戶端的 TLS,再以另一條 TLS 連到源站 origin.shop.test。源站前一天改用公司內部 CA 簽發的憑證。人工日誌:用戶端的 DNS、TCP 與 TLS 都成功,瀏覽器驗證 CDN 出示的憑證通過,回應卻是 CDN 產生的 HTTP 502;CDN 日誌記錄連源站時憑證驗證失敗,原因是簽發者不受信任。說明兩段 TLS 各由誰驗證誰、瀏覽器驗證成功能證明什麼,並給出最低必要的修正與後續驗證;不能關閉 CDN 對源站的憑證驗證。
- 接管證據(12):筆電只設定系統 SOCKS 代理指向 P,沒有 TUN。瀏覽器的 IP 檢查頁顯示 P 的出口;視訊會議軟體的連線診斷卻顯示媒體來自本地 ISP 的位址,P 的日誌只有該軟體的一條 TCP 連線。說明 IP 檢查頁的證據邊界,提出兩個可區分的假設及各自的下一份證據,並說明修正後要逐項核對哪些流量。
- 路由演算法與政策(12):企業內網用鏈路狀態路由,無向鏈路成本為 R1-R2=1、R1-R3=4、R2-R3=2、R2-R4=7、R3-R4=3、R3-R5=5、R4-R5=1。共三小題,建議約 30 分鐘:
- Dijkstra(4 分,約 12 分鐘):從 R1 執行 Dijkstra,寫出每輪已確定的節點與暫時成本,求 R1 到 R5 的路徑與成本。
- 斷線與收斂(4 分,約 8 分鐘):R3-R4 斷線後,新的路徑與成本為何?寫出重算後各節點的成本與 R1 到 R5 的路徑即可,不必再交完整的逐輪表。各路由器靠什麼得知斷線,全網收斂前封包可能遇到什麼?
- BGP 政策(4 分,約 10 分鐘):企業 AS 64496 的邊界路由器從上游甲(AS 64500)與上游乙(AS 64510)都收到同一個目的前綴:經甲的 AS_PATH 有 2 個 AS,經乙的有 4 個;企業政策把經乙路由的 LOCAL_PREF 設為 200,經甲的維持 100。BGP 會選哪條、為什麼?「經甲的 AS_PATH 較短」不能說明什麼?企業不想讓甲、乙之間的流量經過自己,對外宣告時該怎麼做?
- NAT 對映與狀態(12):筆電 192.168.1.20 在家用 NAT 之後,NAT 的外部位址是 203.0.113.70。視訊應用從同一個 UDP 端點 192.168.1.20:5004,在 1 秒內先後送往兩臺 STUN 伺服器 X1=192.0.2.31:3478 與 X2=192.0.2.47:3478;X1 回報的外部端點是 203.0.113.70:61000,X2 回報 203.0.113.70:61001。探測期間原對映未到期、NAT 設定不變。共三小題,建議約 30 分鐘:
- 對映(2 分,約 5 分鐘):這組觀察支持哪一類對映?
- 尚未確定的行為(4 分,約 10 分鐘):這兩次觀察還不能確定哪些行為?例如對方 Y=198.51.100.88 依 X1 的回報,直接把 UDP 送到 203.0.113.70:61000,能否送達要看什麼?要再做什麼觀察?
- 靜默後收不到(6 分,約 15 分鐘):另一個 UDP 應用連到伺服器 S=198.51.100.90:7000,S 總是回送到最近一次收到該用戶端封包的來源端點。雙方靜默約 45 秒後,S 送出的封包筆電收不到;筆電再送出任一封包就恢復,S 的日誌顯示這時用戶端的外部來源埠變了。這組證據支持什麼假設?還要排除哪個假設、用什麼證據?在不放寬 NAT 過濾與防火牆政策的前提下提出修正,並說明怎麼驗證。
第 1 題(12 分)可改為 LAN 題:軟路由 R 的 LAN 介面為 192.168.60.1/24,另一個 VLAN 為 192.168.70.0/24(R 為 .1),WAN 位址為 203.0.113.66。規則 priority 200 from 192.168.60.0/24 lookup 100 把 LAN 客戶端送進 wg0,表 100 只有 default dev wg0;wg0 的 peer endpoint 為 198.51.100.9。R 上的代理程式把上游 socket 綁在 192.168.60.1,作者預期它直連 WAN,實測卻進了 wg0。比較 LAN 客戶端轉送流量與代理上游 socket 查表時的來源,說明原因、取證與修正(7 分);再說明 LAN 客戶端連 R 的 DNS(192.168.60.1)、連 192.168.70.20,以及 R 送往 peer endpoint 的外層封包各怎樣查表,哪裡需要例外、該放在哪裡(5 分)。
第 7 題(12 分)也可改為 LAN 題:筆電在 VLAN 30(192.168.30.0/24),NAS 在 VLAN 40(192.168.40.20,也有 AAAA);VLAN 間路由器上的 discovery gateway 把 VLAN 40 的 _smb._tcp 公告帶到 VLAN 30。筆電開啟全隧道 VPN 後,列表仍有「Studio NAS」,連線卻逾時;關閉 VPN 就恢復。分開畫探索、記錄鏈與資料連線的路徑,提出兩個可區分的假設及證據。
配分:九題合計 100 分,第 2、3 題各 10 分,第 5 題 8 分,其餘六題各 12 分。LAN 題是替換,不是加題:第 1、7 題各自可改作上面對應的 LAN 題,可只換一題,也可兩題都換;換了就不作該題原題,配分沿用原題的 12 分,總分與課程比例不變。第 8、9 題沒有 LAN 替代題。
數值及標準推理見解答冊。可以有多個合格設計,需以具體 policy、workload 和版本支援。
30.2 設計答辯
專題說明每段誰建立連線、誰驗證誰、誰解析、誰終止加密,以及故障時如何定位。回答:若 UDP 被限制?若 peer 不可達?若 DNS bootstrap 失敗?若路徑 MTU 降低?若長期祕密洩漏?若應用繞過系統 proxy?至少選兩項分析。
例如「低延遲互動+檔案下載」可使用不同工作負載指標,不必追求單一協定在所有條件佔優。現有通道的維護、版本相容與可靠回復也屬設計成本。測得高速度不能替代安全驗證;設定有加密也不能替代可用性量測。
答辯計入單元 29 專題規準的「推理」(25)及「表達與限制」(10),不額外加一份分數。
30.3 自學結業檢核
不用看解答,重畫一次「連網到取得受保護內容」:鏈路→設定→下一跳→解析→傳輸→身分驗證→應用。再加入代理或 IP VPN,重畫端點和內外封裝。你應能指出模型變化,而不是只增加一個方塊。
最後提交一頁「已確認/仍未確認/下一份證據」。若能區分各層、算出關鍵預算、保留正確信任驗證、並提出可重現診斷,已達本課核心成果。延伸可進入 socket 系統實作、路由政策、無線、現代壅塞控制或協定研究;先以官方文件與版本為基礎。
來源:題組由本課程編寫,具體規範沿用 13 至 28 各單元。