調查局三等申論題
108年
[資訊科學組] 資通網路
第 二 題
📖 題組:
TCP 標頭(header)中,有兩個欄位叫 sequence number 及 acknowledge number,此標頭另有 6 個重要旗標(flag),URG, ACK, PSH, RST, SYN, FIN 等。
TCP 標頭(header)中,有兩個欄位叫 sequence number 及 acknowledge number,此標頭另有 6 個重要旗標(flag),URG, ACK, PSH, RST, SYN, FIN 等。
📝 此題為申論題,共 2 小題
小題 (二)
請說明於 TCP 協定中,如何利用上述 TCP 標頭資訊來進行 3-way handshaking 程序,以建立一個 TCP 連線。(16 分)
思路引導 VIP
看到 TCP 建立連線,應直覺聯想「三向交握(3-way handshaking)」的 SYN、SYN-ACK、ACK 三個階段。作答時必須嚴格扣緊題目要求的「標頭資訊」,將 Sequence Number(序號)、Acknowledgment Number(確認號)及控制旗標(SYN、ACK)在每個階段的變化與作用具體寫出。
小題 (一)
請說明 sequence number 及 acknowledge number 這 2 個欄位各占幾個位元?(4 分)
思路引導 VIP
看到 TCP 標頭欄位大小,應立即回想 TCP Header 的標準結構圖。Seq 與 Ack 是負責確保可靠傳輸與順序重組的核心欄位,皆需足夠大的定址空間來標記位元組流(Byte stream),因此兩者長度相同,皆為 32 bits。
TCP 三向交握程序
💡 藉由旗標同步與序號加一確認,確保雙方具備全雙工收發能力。
🔗 TCP 三向交握建立流程
- 1 SYN 請求 — Client 發送 SYN (Seq=X),主動開啟連線請求。
- 2 SYN-ACK 回應 — Server 回應 SYN+ACK (Ack=X+1, Seq=Y) 同步狀態。
- 3 ACK 確認 — Client 回應 ACK (Ack=Y+1),完成雙向通道確認。
↓
↓
🔄 延伸學習:延伸學習:連線建立後,序列號(Seq)將隨傳輸位元組數持續累加以利重組。