單元 12 期中整合與路徑追蹤
學習目標與案例
本章整合 01 至 11,不增加新的協定。你應能將鏈路、設定、解析、路由、TCP 與 HTTP 連成一份有假設及證據的報告。以下為人工題組,文中的位址與日誌均是教學資料。
A=192.0.2.70/26,閘道 .65,DNS=.66;三者在同一 Ethernet。DNS 將 lesson.test 解析為 198.51.100.20。假設 ARP 快取空、伺服器支援 TCP/HTTP,沒有 TLS 與 NAT,路由及回程有效。應用取得 1000000 bytes,瓶頸 20 Mb/s,RTT 50 ms;視窗 65536 bytes。
12.1 先畫依賴,再畫訊息
查詢本地 DNS 前先判斷 .66 的下一跳,必要時 ARP 找 .66。DNS 回覆之後,目的 .20 不在 on-link 前綴,ARP 找 .65,送 SYN 到閘道 MAC。TCP 成功後才能傳 HTTP 請求與回應。這是本題的順序,不能說所有網路一律先 DNS 再 ARP:快取、IPv6、加密 DNS、代理與既有連線會改變依賴。
每個路由器重新做鏈路封裝,轉送時降低 TTL。沒有 NAT 的假設下,IP 來源/目的保持端點;TCP 可靠性在兩個 TCP 端點之間。若加入終止 TCP 的代理,應重畫兩段連線。
12.2 100 分期中題組
共六題,合計 100 分。第 1 至 5 題用上面的案例;第 6 題是另一組人工情境。
- 位址與路由(20):列網路/廣播/範圍,解析 DNS 與遠端時各找誰的 MAC。
- 依賴與責任(15):畫上述時序,列出 DNS 回答能證明和不能證明的事。
- 效能(15):求 BDP、視窗上界、忽略啟動和開銷的內容時間下界。
- 串流(15):HTTP 內容含中文時 Content-Length 如何計算?回應中途 EOF 如何處理?
- 診斷(20):已收到 DNS 回答,TCP connect 卻 timeout。提出兩個不同層次假設,以及能區分它們的下一份證據。
- 可靠傳輸(15):傳送端一次送出序號 60 至 64 共五個資料單位,視窗為 5,序號不會重用。GBN 的 ACK n 表示 n 和之前的序號都已按序收到,接收端丟棄失序資料,並再送一次最後按序收到序號的 ACK;SR 逐單位確認、暫存失序資料,每個單位各自計時。第一輪中資料 63 遺失,接收端收到 61 後回的 ACK 也遺失;除了指定的遺失,資料依傳送順序到達、不重排;其餘資料與 ACK 都在任何逾時之前到達,之後的重傳與 ACK 不再遺失。分別就 GBN 與 SR 回答:第一輪後接收端交付了哪些序號、傳送端還有哪些未確認?逾時後各重傳哪些序號?哪些重傳到達時,接收端已交付過同一序號?接收端應如何處理,為何仍要回 ACK?
第 1 題(20 分)可改作下面的 LAN 題,兩者擇一:作 LAN 題就不作第 1 題,也不能兩題都作再取高分;第 2 至 6 題照常作答,總分仍 100 分。主機 H 的 eth0 持有 192.0.2.140/26(來源 1)與 198.51.100.100/27(來源 2),只有 main 表,路由都走 eth0:
| 前綴 | 下一跳 | 偏好來源 |
|---|---|---|
| 192.0.2.128/26 | on-link | 192.0.2.140 |
| 198.51.100.96/27 | on-link | 198.51.100.100 |
| 0.0.0.0/0 | 192.0.2.129(G1) | 192.0.2.140 |
H 接在一台四埠交換器上:埠 1 接 G1、埠 2 接 H、埠 3 接主機 N(198.51.100.110),屬 VLAN 30;埠 4 接電視 T,屬 VLAN 40。VLAN 30 的 FDB 記有 G1、H、N 分別在埠 1、2、3。群組 239.255.30.30 的 MDB:VLAN 30 的成員埠是 2、3,router port 是埠 1;VLAN 40 的成員埠是 4。
- 路由(12 分):應用 bind 來源 2 後,分別送往遠端 203.0.113.45 與同網段的 N。各匹配哪個前綴、交給哪個下一跳、從哪個介面送出、來源是誰、ARP 找誰?遠端的回覆要回到 H,需要哪些可達條件?
- 交換(8 分):H 的 ARP 快取還有印表機 Q 的 MAC,交換器的 FDB 卻已沒有 Q;H 從埠 2 送出給 Q 的單播訊框。H 也送出 239.255.30.30 的資料。兩者各從哪些埠送出?目的 MAC 有沒有改變?
評分看假設、步驟與證據,不只數值。數值誤差可給方法分;將 ping 成功等同 HTTP 成功不得給該推論分。
12.3 完整分析例題
以下是另一組人工情境,示範第 3、5 題的分析方法;數字與情境都和題組不同。
例一(效能):主機下載 3000000 bytes,瓶頸 40 Mb/s,RTT 30 ms,傳送端視窗固定 32768 bytes。BDP=40e6*0.03/8=150000 bytes,視窗小於 BDP。視窗上界=32768*8/0.03≈8.74 Mb/s,比瓶頸 40 Mb/s 低。理想有效資料時間至少 3e6*0.03/32768≈2.75 秒;實際還有建立、請求、慢啟動、標頭與停頓。因此單用檔案大小除以 40 Mb/s 得到的 0.6 秒,低估了本視窗模型。
例二(診斷):更換交換器後,一臺筆電仍能連上閘道,卻連不上同網段檔案伺服器的服務;筆電的 ARP 快取裡沒有這臺伺服器。假設一在鏈路層:新交換器把伺服器的埠設在另一個 VLAN,筆電的 ARP 廣播到不了伺服器;下一份證據是在伺服器上擷取是否收到筆電的 ARP 請求,並核對兩個埠的 VLAN 設定。假設二在主機設定:伺服器的 IP 位址設錯,筆電詢問的位址不屬於它,所以收到 ARP 請求也不回覆;下一份證據是伺服器的介面設定,以及擷取中它是否收到並回覆 ARP。只在筆電端看到「ARP 沒有回覆」時,兩個假設都還可能成立;沒有伺服器端證據時不要指定唯一原因。
實驗與章末檢核
L12 首次完成案例 A、C,併入 28 後一次評分;其餘案例依手冊的完成時點,在 16、21、28 之後做。12.2 題組只借用 L12 證據表的「已知事實、假設 1/2、下一份證據、仍不能確定」欄位作答,附時序與計算;不需要先完成其他案例,案例 A、C 的紀錄也不計入期中分數。至少指出一個目前證據不能確定的原因。解答冊提供標準推理及評分。來源沿用 01 至 11;題組與人工案例由本課程編寫。