電腦網路與 Internet 通訊

單元 12 至 21 解答

這是解答。建議先完成對應的習題與實驗,再對照推理過程與評分規準。

單元 12 期中題組

  1. 網路 192.0.2.64、廣播 .127、一般主機 .65 至 .126。DNS 同網段所以找 .66 MAC,遠端走閘道 .65。完整範圍 10 分、兩次鄰居對象各 5 分。
  2. ARP→DNS→路由/閘道鄰居→TCP→HTTP,按本題條件;快取/IPv6 等會改變。DNS 只提供名稱資料,不證明 TCP、TLS 或 HTTP。依賴 9 分、限制 6 分。
  3. BDP 125000 bytes,視窗 65536 小於 BDP;上界 10.48576 Mb/s,內容下界 0.76294 秒。三個結果各 5 分,須含單位;未計啟動與開銷。
  4. Content-Length 計 UTF-8 等實際編碼 bytes。中途 EOF 不得當完整內容;使用 HTTP parser 時不足長度應報 IncompleteRead 等錯誤。Content-Length 7 分、中途 EOF 8 分。
  5. 正向丟棄、回程不可達、server 未回、state policy 等兩項不同假設各 5 分;提出出口 SYN 和服務端接收/回覆證據 10 分。
  6. 兩種模型的第一輪都交付 60、61、62。

常見錯誤:SR 只重傳 63,忽略遺失的 ACK;GBN 重傳 61 至 64,忽略累積 ACK;收到重複資料就不回 ACK。兩種模型最後都是 60 至 64 各交付一次,差別在重傳哪些單位、接收端暫存多少,以及 ACK 遺失的影響。

LAN 替代題只替換第 1 題:作 LAN 題就不作原第 1 題,也不能兩題都作再取高分;第 2 至 6 題照常計分,總分仍 100 分,評量比例不變。20 分的分配如下:

單元 13

  1. B 經 A-B 成本 2、C 經 A-B-C 成本 3、D 經 A-B-C-D 成本 4。
  2. A-B-D 與 A-C-D 皆成本 6,tie-breaking 可選其一或依能力 ECMP。
  3. 各節點取得失效與更新資訊的時間不同,舊表可不一致;迴路防護與收斂機制需明列。
  4. BGP 考量 AS 政策、授權與屬性,沒有單一全域成本圖決定所有組織願意轉送的路徑。

單元 14

  1. 2001:db8::10:1。
  2. 通常 RA;DHCPv6 沒有預設路由選項。其他手動設定情境另列。
  3. global 位址可路由仍需路徑、服務監聽及允許的防火牆政策。NAT 和存取控制不同。
  4. 兩套分開查。路由:IPv4 的 0.0.0.0/0 與更具體前綴的下一跳是否都是 R;IPv6 的 ::/0 下一跳是否是 R(常是 RA 給的 link-local 位址),而不是另一臺發 RA 的路由器。可達性:名稱同時有 A 與 AAAA 時,兩種位址各測一次,不能只看應用成功,因為應用可能改用另一條可用路徑。防火牆:R 要同時有 IPv4 與 IPv6 規則,只設 IPv4 規則不會限制 IPv6。

單元 15

  1. snooping 只在 VLAN 10 內限制副本,querier 只維持該鏈路的成員資訊;兩者都不建立跨 VLAN 的轉送路徑。跨網段要有多播路由(PIM 等):路由器由 VLAN 20 的成員報告得知下游需要 G,建立跨鏈路的轉送樹;RPF 檢查確認封包從往來源的介面進來才往下游複製,避免迴路與重複。另需確認 G 的 scope 允許路由(224.0.0.x 屬本鏈路控制範圍,不轉送)、TTL 足夠,以及 ACL/防火牆政策允許。
  2. 記錄鏈與連線:
  1. 列表顯示「Home NAS」只證明收到或快取中仍有 PTR(可能也有 SRV/TXT)。尚未證明:A/AAAA 解析成功且可達、該埠有服務接受、服務身分已驗證;它也可能是裝置離線後 TTL 尚未到期的舊記錄。
  2. 假設一:mDNS 被 VLAN 邊界/ACL 限制,查兩端 5353 與 group/interface。假設二:根本未公告所查服務或 cache 過期,查 PTR/SRV/TXT 與 server 狀態。ping 只支持 ICMP 單播可達,不能替探索作證。
  3. 不行。服務廣告不提供可信身分;若實際連 HTTPS 仍需獨立驗證名稱/信任。一般 IPP 631 可能另有其安全模式,應先確認協定與預期端點。

單元 16

  1. EIM 只描述對映;入站可能仍 ADF/APDF。
  2. STUN 回報特定目的看到的對映並可做連通性檢查;TURN 提供 relay。
  3. ISP 的上游對映仍擋在家用路由外,家庭 port forward 不自動建立 ISP 轉送。
  4. NAT 對映可能隨目的、協定、state、時間不同;單次觀察不能覆蓋所有組合。

單元 17

  1. priority 90 的目的規則先匹配 203.0.113.90,查表 300 時 default 已成功,查找就此停止、不再讀 main,所以以來源 1 交給 G2(198.51.100.1);G2 還須能回到來源 1。main 的 /32 在另一張表,不能跨表推翻已成功的查找。修正一:在表 300 補 203.0.113.90/32 via 192.0.2.1。修正二:在 90 之前加更精確的目的例外,例如 ip rule add priority 80 to 203.0.113.90/32 lookup main,並確認 main 的 default 不會讓例外涵蓋過廣。也可以縮小 priority 90 規則的目的範圍。
  2. throw:priority 100 命中來源 2、查表 200;203.0.113.0/24 的 throw 比 default 長而被選中,表 200 的查找當作沒有路由而結束,繼續下一條規則 32766 查 main,經 G1 送出,來源仍是來源 2,回程條件同 07。unreachable:查找在表 200 終止並回報錯誤,不再查 main;本機程式會收到 EHOSTUNREACH 類錯誤。會繼續查 main 的是 throw。L15 的 throw_fallthrough 與 explicit_reject 是同一機制、不同目的。
  3. 未指定來源:priority 100 的 from 規則無法匹配尚未選定的來源,150 命中,查 main 經 G1,取偏好來源 1。來源 1:100 不匹配,150 命中,經 G1。來源 2:100 先命中,表 200 的 default 已成功,經 G2;150 的例外不會執行,違反「只能經 G1 到達」。應移到 100 之前,例如 50,並保留 priority 0 的 local。測試:在隔離環境分別執行 ip route get 203.0.113.81、ip route get 203.0.113.81 from 192.0.2.10、ip route get 203.0.113.81 from 198.51.100.10,或在 L15 模型改 priority 後重算。修正後來源 2 經 G1 送出,仍須驗證 G1 與伺服器能回到 198.51.100.10。

單元 18

  1. 普通 hash 無共享祕密,攻擊者可對修改資料重算;MAC 有 key 並提供對應認證。
  2. 舊密文 tag 可仍有效,需要 session、序號視窗或已見材料等狀態防重放。
  3. 固定 PSK 洩漏可能解開使用其衍生 key 的舊資料;臨時 DH 在祕密正確銷毀、協定驗證正確條件下提供 PFS。
  4. 不會。代理替客戶端連往最後目的地,必須知道目的才能建立出口連線;客戶端到代理這段的加密只對路徑上的觀察者保密,不能對負責解密並轉送的代理隱瞞它本來就要處理的請求。

單元 19

  1. 信任鏈與名稱是獨立檢查,SAN 須符合預期名稱。
  2. 未啟用 ECH 時 SNI 通常可見。成功 ECH 仍有外層 public_name、IP、大小/時間,其他 DNS 管道可能暴露目標。
  3. 代理可見請求目的、出口 IP 及未被 ECH 保護的協商資訊,未終止內層 TLS 則不直接讀 HTTP 內容。
  4. AEAD 驗證完整性不記住已執行操作,0-RTT 有重放風險及不同 PFS 條件,業務需另行處理。

單元 20

  1. H2 frames 仍在同一條可靠有序 TCP 中,遺失缺口阻止後續 bytes 交付。
  2. stream 按該 stream 可靠有序交付,DATAGRAM 不重傳、可能遺失,仍受壅塞控制。
  3. cwnd、連線級流控、路徑、CPU、QPACK 和應用依賴都可產生等待。
  4. no-cache 通常要求使用前驗證,不禁止儲存;no-store 禁止儲存該內容的指令語義。

單元 21

  1. PHY rate 不等於應用有效速率,媒介競爭、干擾、重傳、標頭、回程及端點能力都會影響。
  2. TCP 是否建成、TLS 驗證是否成功、HTTP 對端回應與狀態、內容等依次查;DNS 成功不能代替它們。
  3. 固定 route/server/load 比較空閒與負載期間 RTT 分布、瓶頸排隊及負載停止後恢復;註明對照與計時。
  4. 還缺版本、路徑、工作負載、樣本數、尾端/變異、CPU、同時競爭與有效 bytes 定義等。