112 司法特考三等 檢察事務官電子資訊組 計算機網路 考古題詳解
第 一 題20 分
請試述下列名詞之意涵:(每小題 5 分,共 20 分)
(一) Reverse Proxy
(二) DNS Reflection/Amplification DDoS Attack
(三) AQM(Active Queue Management)
(四) BGP(Border Gateway Protocol)
登入後即可作答並保存紀錄。
核心觀念
本題考查四個網路與網路安全名詞:反向代理伺服器、利用 DNS 進行反射與放大的分散式阻斷服務攻擊、主動佇列管理,以及網際網路自治系統間的路由協定。作答時應掌握各自的角色、運作方式與主要目的,並能指出關鍵特性。
解題方法
逐項以「定義 → 運作方式 → 目的或特性」說明。四小題均為名詞解釋,無須計算;答案應避免只翻譯英文名稱,並以功能與機制交代其意涵。
(一)Reverse Proxy(反向代理)
反向代理是設置於伺服器端與外部用戶端之間的代理伺服器。用戶端將請求送至反向代理,由反向代理代表後端伺服器接收請求、選擇適當的伺服器轉送,再將伺服器回應傳回用戶端。
常見用途包括:
- 負載平衡:將請求分配至多台後端伺服器。
- 隱藏與保護後端:對外提供統一入口,降低後端伺服器直接暴露的程度。
- 快取與加速:快取常用內容,減少後端負載與回應時間。
- 集中處理安全與連線功能:例如 TLS 終止、存取控制及請求過濾。
「反向」是相對於正向代理而言:正向代理代表用戶端存取外部伺服器;反向代理則代表伺服器端處理用戶端請求。
(二)DNS Reflection/Amplification DDoS Attack(DNS 反射/放大式分散式阻斷服務攻擊)
此攻擊利用 DNS 伺服器作為第三方回應來源,攻擊者偽造 DNS 查詢封包的來源 IP 位址為受害者位址,並將查詢送往可回應的 DNS 伺服器。DNS 伺服器會將較大的回覆傳送給受害者,而非實際發出查詢的攻擊者。
- 反射(Reflection):DNS 伺服器將回覆反射至遭偽造為來源位址的受害者。
- 放大(Amplification):精心選擇可產生較大回覆的查詢,使回覆封包遠大於查詢封包,放大流向受害者的流量。
- DDoS 效果:攻擊者可同時利用大量 DNS 伺服器,使受害者的網路頻寬或設備資源遭大量流量耗盡。
反射的關鍵是偽造來源位址;放大的關鍵是回覆流量大於查詢流量。部署來源位址驗證、限制 DNS 伺服器對外遞迴服務,並採取流量過濾等措施,有助降低此類攻擊風險。
(三)AQM(Active Queue Management,主動佇列管理)
第 二 題20 分
目前網際網路應用大多採行 HTTP 通訊協定傳輸訊息。以瀏覽器瀏覽一遠端網站伺服器之網頁內容為例,瀏覽器先請求下載網頁(HTML)文件,解析內容後,另須下載四個小的影像檔案,方可呈現完整網頁畫面。
從整體延遲觀點,說明下列四種不同 HTTP 版本取得完整網頁內容之特性:(每小題 5 分,共 20 分)
(一) HTTP 1.0
(二) HTTP 1.1
(三) HTTP 2.0
(四) HTTP 3.0
登入後即可作答並保存紀錄。
核心觀念
本題比較 HTTP 版本在下載一份 HTML 與其引用的四個小影像檔時,如何建立及重用連線,以及是否能平行傳送多個請求。整體延遲主要取決於:
- TCP 連線建立所需的往返時間(RTT)。
- 是否重複建立 TCP 連線。
- 多個請求能否平行傳送。
- 是否另有 TLS 握手成本。
以下以單一伺服器、忽略傳輸資料量與伺服器處理時間、且先不計 TLS 握手為比較基準。HTML 必須先下載並解析,才能得知四個影像檔案的位置,因此影像請求須在 HTML 到達後才開始。
解題方法
先計算 HTML 下載完成前的共同成本,再比較影像階段:
- 瀏覽器建立 TCP 連線並請求 HTML。
- 收到 HTML 後,瀏覽器解析文件,發出四個影像請求。
- 依各版本的連線管理與多工能力,判斷影像請求需多少輪 RTT。
令 為一個 RTT;以下只比較連線與請求往返造成的延遲,不計影像傳輸時間。
各版本分析
(一)HTTP 1.0
HTTP 1.0 通常採用非持續連線:每個物件傳送完畢後,連線即關閉。下載 HTML 使用一條 TCP 連線;之後四個影像各自建立 TCP 連線。
若瀏覽器依序下載影像,每個影像都要重新建立連線並請求一次,影像階段約需 :一個 RTT 建立 TCP 連線,另一個 RTT 傳送請求並等候回應。因此從開始連線到取得全部物件,約為:
若瀏覽器同時開啟多條 TCP 連線下載影像,四個影像可平行取得,影像階段約為 ,總計約 。實際可用的平行連線數會影響延遲。
(二)HTTP 1.1
HTTP 1.1 預設採用持續連線,同一條 TCP 連線可依序傳送多個物件,避免每個影像都重新建立 TCP 連線。
若採序列請求且不使用流水線,HTML 下載後,四個影像請求各自仍需等待回應,影像階段約需 ;加上開始連線與取得 HTML 的 ,總計約 。
HTTP 1.1 也支援 pipelining(管線化):瀏覽器可在同一連線上連續送出多個請求,不必等前一個回應才送下一個,影像階段可縮短至約 的請求等待時間,總計約 。不過回應仍須依序排列,若前方物件較慢,後方物件會受阻,形成隊頭阻塞;此外,管線化在實務上的支援與使用有限。
第 三 題20 分
軟體定義網路 SDN 提供網管人員管理設備彈性。說明一部 SDN 設備如何透過 SDN 控制器設定其 Flow Table 內哪些表頭(Header)參數,可實現下列網路設備之功能:(每小題 5 分,共 20 分)
(一) NAT Server
(二) Firewall
(三) Layer 2 Ethernet Switch
(四) Layer 3 Router
登入後即可作答並保存紀錄。
核心觀念
SDN 將控制平面與資料平面分離:控制器透過南向介面(例如 OpenFlow)下達流表項目,設備依封包表頭欄位比對封包,再執行指定動作。流表項目可概括為:
比對欄位可包含輸入埠、乙太網路來源/目的 MAC 位址、EtherType、VLAN 標籤、IP 來源/目的位址、IP 協定、TCP/UDP 埠號等;動作則可包含轉送至指定埠、修改表頭欄位、丟棄封包或送交控制器。控制器藉由設定比對欄位與動作,使 SDN 設備呈現不同網路設備的功能。
解題方法
逐項辨認傳統設備的主要工作,再將工作拆成兩部分:封包依哪些表頭欄位分類,以及比對成功後要執行什麼動作。NAT 著重 IP 位址或傳輸層埠號的改寫;Firewall 著重依規則允許或阻擋;Layer 2 Switch 依 MAC 位址轉送;Layer 3 Router 依 IP 位址選路並處理轉送所需的表頭欄位。
(一)NAT Server
控制器設定流表比對內部主機的來源 IP 位址,必要時再比對 TCP/UDP 來源埠號;對外連線的回程流量則比對目的 IP 位址與目的埠號。比對成功後,設備執行網路位址轉換:
- 來源 NAT(SNAT):將封包的來源 IP 位址改為對外使用的公網 IP 位址;若採用連接埠位址轉換(PAT),也可改寫來源 TCP/UDP 埠號。
- 目的 NAT(DNAT):將封包的目的 IP 位址改為內部伺服器 IP 位址;必要時也改寫目的埠號。
- 回程方向設定對應的反向轉換,使內外連線的位址與埠號能正確還原。
因此,NAT 的關鍵是比對 IP 位址及視需要比對傳輸層埠號,並改寫來源或目的位址/埠號。若改寫 IP 表頭,設備也須更新 IP 標頭檢查碼;若改寫 TCP/UDP 埠號,亦須更新相應的傳輸層檢查碼。
(二)Firewall
控制器設定流表依安全政策比對封包欄位,例如來源/目的 IP 位址、IP 協定、TCP/UDP 來源與目的埠號、輸入埠或連線狀態。比對後的動作可設定為:
- 允許:轉送至指定輸出埠,或送往後續流表繼續處理。
- 拒絕:丟棄封包;也可設定回覆拒絕訊息等處置。
- 記錄或送交控制器:視管理需求記錄流量,或將特定封包交由控制器處理。
例如,只允許特定來源網段連線至伺服器的 TCP 443 埠,便可比對來源 IP 網段、目的 IP、IP 協定及目的埠,再對符合條件的封包轉送;其餘封包則丟棄。Firewall 的核心是依規則比對欄位,再允許或阻擋封包,而不是以位址改寫為主要目的。
第 四 題20 分
若一個網路同時支援 CSMA/CD 與 CSMA/CA 兩種媒體存取控制通訊協定,其框架格式(Frame Format)與隨機倒退(Random Backoff)演算法則與相關時槽參數完全相同;其中 CSMA/CD 通訊協定支援全雙工(Full-Duplex)能力,可以邊送邊收,而 CSMA/CA 通訊協定支援半雙工(Half-Duplex)能力,送與收以分時方式交互動作;此外亦支援確認(ACK)機制,但未啟用 RTS/CTS 交握機制。假設實體層通道狀態理想且無位元錯誤率,請回答下列問題:(每小題 10 分,共 20 分)
(一) 當網路內只有一個裝置欲持續傳送大量資料時,何種通訊協定可獲得較高吞吐量(throughput)?原因為何?
(二) 當網路內一定數量裝置欲持續傳送大量資料時,何種通訊協定可獲得較高吞吐量(throughput)?原因為何?
登入後即可作答並保存紀錄。
核心觀念
本題比較的是相同框架格式、隨機倒退演算法與時槽參數下,CSMA/CD 與 CSMA/CA 的媒體存取效率。關鍵差異在於:
- CSMA/CD 可全雙工,傳送期間仍可接收;碰撞發生時偵測碰撞並停止傳送。題目假設通道理想且無位元錯誤,且只有一個裝置傳送時,不會有碰撞。
- CSMA/CA 為半雙工,傳送與接收不能同時進行;啟用 ACK 時,每個成功傳送的資料框後都須等待接收端回覆確認。
- 吞吐量可視為單位時間內成功傳送的有效資料量。成功傳送所花的時間相同時,額外的等待、控制框與閒置時間越少,吞吐量越高。
題目明定未啟用 RTS/CTS,因此分析 CSMA/CA 時只計入其資料框傳送、ACK 及相關等待時間。
解題方法
逐一比較兩種協定完成相同有效資料傳送量所需的通道時間。可用下式表示:
單一裝置傳送時,重點是是否須為確認機制額外付出時間;多個裝置競爭時,則再比較碰撞與競爭造成的時間損失。
(一)只有一個裝置持續傳送大量資料
CSMA/CD 吞吐量較高。
單一裝置傳送時沒有其他裝置與它競爭,理想通道也不會引入位元錯誤,因此不會發生碰撞。CSMA/CD 可連續傳送資料,不必等待碰撞處理,也不必像 CSMA/CA 一樣在每個資料框後等待 ACK。
CSMA/CA 雖然同樣不會因競爭而碰撞,但半雙工且啟用 ACK,傳送端必須在資料框送出後切換接收並等待 ACK,再繼續傳送。ACK 及其等待時間增加了每筆資料的服務時間,降低有效資料所占的通道時間比例。因此在只有一個裝置持續傳送的情況下,CSMA/CD 的有效吞吐量較高。
第 五 題20 分
關於 TCP 連線,請回答下列問題:(每小題 5 分,共 20 分)
(一) 以圖示說明建立 TCP 連線之程序。
(二) 以圖示說明關閉 TCP 連線之程序。
(三) 說明 TCP 連線處於半打開(half-open)狀態之原因與特性。
(四) 說明 TCP 連線處於半關閉(half-closed)狀態之原因與特性。
登入後即可作答並保存紀錄。
核心觀念
TCP 是提供可靠、雙向位元組串流的傳輸層協定。建立連線時,雙方須同步初始序號並確認彼此可收發資料;關閉連線時,則須分別處理兩個方向的資料流,因此建立通常採「三向交握」,正常關閉通常採「四次揮手」。
本題的兩個狀態須區分:
- 半打開(half-open):一端認為連線仍存在,另一端卻已失去連線狀態。
- 半關閉(half-closed):一端已停止傳送資料,但仍可接收對方傳來的資料;連線的另一個方向尚未關閉。
解題方法
依序追蹤用戶端與伺服器的 TCP 狀態及 SYN、ACK、FIN 旗標:
- 建立連線時,追蹤雙方交換的初始序號及確認號。
- 關閉連線時,分別追蹤兩個傳輸方向的
FIN與ACK。一方送出FIN只代表該方向不再傳送資料,不代表雙向連線立即完全關閉。 - 分析半打開與半關閉時,確認兩端對連線是否仍存在的認知,並判斷哪個資料方向仍可使用。
(一)建立 TCP 連線:三向交握
用戶端(主動開啟) 伺服器(被動開啟)
| |
| 1. SYN,序號 = x |
| -----------------------------------------> |
| |
| 2. SYN + ACK,序號 = y,確認號 = x + 1 |
| <----------------------------------------- |
| |
| 3. ACK,確認號 = y + 1 |
| -----------------------------------------> |
| |
ESTABLISHED ESTABLISHED
- 用戶端送出
SYN,提出連線要求,並告知自己的初始序號 ;用戶端進入SYN-SENT。 - 伺服器回覆
SYN + ACK,表示接受連線要求,告知自己的初始序號 ,並以確認號 確認收到用戶端的SYN;伺服器進入SYN-RECEIVED。 - 用戶端回送
ACK,以確認號 確認收到伺服器的SYN。完成交握後,雙方進入ESTABLISHED,可開始傳送資料。
SYN 會消耗一個序號,因此收到序號為 的 SYN,確認號為 ;FIN 也會消耗一個序號。
(二)關閉 TCP 連線:正常四次揮手
以下以用戶端先關閉連線為例: