百科學習

2025-06-11

TCP是什麼?TCP 工作原理與 TCP 常見的 DDoS攻擊|Skycloud

TCP 是在傳輸層運作的一種通訊協定,它可靠的傳輸機制成為許多資料傳輸的主要依靠,但卻也存在許多的限制和問題,如 攻擊者會利用 TCP 的特性發起 DDoS 攻擊,因此 TCP 層的防禦同樣不可忽視。

TCP是什麼?TCP 工作原理與 TCP 常見的 DDoS攻擊|Skycloud
background image

TCP 是在傳輸層運作的一種通訊協定,它可靠的傳輸機制成為許多資料傳輸的主要依靠,但卻也存在許多的限制和問題,如 攻擊者會利用 TCP 的特性發起 DDoS 攻擊,因此 TCP 層的防禦同樣不可忽視。

目錄

➤TCP是什麼?
 ➤TCP的工作原理
 ➤TCP 使用案例
 ➤TCP 常見問題
 ➤TCP 常見的 DDoS攻擊
 ➤如何防禦 TCP 的 DDoS攻擊


TCP是什麼?

 TCP (Transmission Control Protocol) 傳輸控制通訊協定,存在於 OSI 模型中的第四層傳輸層。而同樣在這一層運作的還有 UDP(User Datagram Protocol) 使用者資料包通訊協定,這兩者都是負責端點對端點的資料發送,兩者的工作目的相同,但是運作方式不同。

  • TCP 在正式傳遞資料前,會使用三次握手(Three-way handshake)協議,確保資料完整無誤地傳送,防止錯誤的連結。因此大多數的網路協定都是建立在 TCP 上,因為比較「可靠」。

  • UDP 不需要建立連結,就可以直接發送資料,因此適用在不需要在程式中執行錯誤檢查和糾正的應用,例如串流媒體、即時多人遊戲和 VoIP(Voice over Internet Protocol 網路電話)。

不過,因為 TCP 是「可靠」傳輸,因此會相較於 UDP 複雜許多,他有以下幾個機制:

  1. 連線導向(Connection-oriented)

  2. 全雙工服務(Full-duplex service)

  3. 可靠資料傳輸(Reliable data transfer)

  4. 流量控制(Flow Control)

  5. 壅塞控制(Congestion Control)


TCP的工作原理

 TCP 傳輸控制通訊協定是一種「連線導向」的通訊協定,也就是說它在傳輸資料之前,必須先建立一條穩定的連線,而 TCP 為了確保資料可靠並安全的傳輸到接收端,建立了一套機制,包括連線建立、封包編號、確認回覆、錯誤檢查與重傳控制...等。

 以下這些機制讓 TCP 成為一種可靠、有序且穩定的通訊軟體,TCP 被廣泛應用於對資料可靠性與完整性要求高的應用層協定中,如 HTTP、SMTP、FTP …等。


三次握手:建立連線

在開始資料傳輸前,TCP 必須在傳送端與接收端之間建立連線,過程會像這樣:

  • Step 1:SYN
    傳送端發送一個 SYN 封包(請求建立連線) 給接收端。

  • Step 2:SYN-ACK
    接收端收到後回應一個 SYN-ACK 封包,表示同意連線請求。

  • Step 3:ACK
    傳送端再回傳一個 ACK 封包,表示確認連線成功。

完成三次握手後,即可正式建立連線,雙方可以開始進行資料傳輸。

三次握手


封包編號與確認

TCP 將資料拆分為多個封包,每個封包都會有一個「序號(Sequence Number)」,接收端會依序組裝資料;收到封包後,接收端會回傳「確認號(ACK Number)」,告知已成功接收的封包編號。

例如:

  • 傳送端發送 Seq=1 的封包

  • 接收端回應 ACK=2,表示「我收到第 1 號封包了,請傳第 2 號」

這個機制確保封包不會遺漏,也能保證資料順序。


錯誤偵測與重傳機制

TCP 使用「檢查碼(Checksum)」來檢測封包是否在傳輸中損壞。

如果接收端偵測到資料錯誤或根本沒收到封包,則不會回傳 ACK,傳送端在超時後會自動重傳該封包,確保資料可靠送達。


流量控制

TCP 會依據接收端的處理能力調整傳輸速率,避免資料傳太快導致接收端來不及處理,造成封包遺失。

這種機制透過「滑動視窗(Sliding Window) 」來實現,動態調整每次可傳輸的封包數量。


壅塞控制

若網路過於擁擠,也可能造成封包遺失。

TCP 會偵測網路壅塞的情況,自動降低傳輸速率,再逐步加快,避免進一步壅塞,這是維持整體網路穩定的重要設計。


終止連線

資料傳輸完畢之後,連線終止程序開始:

  1. 用戶端傳送一個 FIN 封包,啟動終止。

  2. 伺服器回應一個 ACK 封包,伺服器傳送專有的 FIN 封包。

  3. 用戶端確認伺服器的 FIN 封包,連線終止。


TCP 使用案例

  • 瀏覽網頁:HTTP/ HTTPS 依賴 TCP 傳送完整的網頁資料。

  • 傳輸檔案:FTP 依賴 TCP 確保每一筆資料正確傳送。

  • 電子郵件:SMTP/ POP3/ IMAP 使用TCP 處理電子郵件的傳送與接收。

  • 遠端登入系統:SSH/ Telnet 利用 TCP 要求資料即時且正確的在遠端登入系統。

這些 TCP 使用案例,都能表現 TCP 的核心優勢,如:

  • 確保資料不漏、不重複、順序正確。

  • 有自動重傳與確認回覆機制。

  • 對使用者來說,TCP 提升了網站、應用與檔案傳輸的穩定性與信任感。


TCP 常見問題

 雖然 TCP 穩定可靠,但 TCP 在某些情境下仍有一些缺點。TCP 非常適合需要穩定與正確性的應用,但在效能、即時性與資源消耗方面存在限制,因此在某些場景會改用 UDP 或其他協定作為替代。

  • 傳輸延遲較高
    TCP 需要三次握手建立連線、每個封包都要確認與回覆,這會增加延遲,對即時性要求高的應用不利,如遊戲或語音通話。

  • 封包開銷大
    TCP 為確保傳輸正確,需要加入額外資訊,如序號、確認碼、檢查碼...等,相較 UDP 而言,封包體積較大,效率較低。

  • 不適合廣播/多播
    TCP 是點對點通訊,不支援廣播(Broadcast) 或多播(Multicast),限制了在某些應用場景的使用,如線上直播。

  • 容易受到特定攻擊
    例如 SYN Flood 攻擊,攻擊者大量發送未完成握手的請求,使伺服器資源耗盡,導致正常用戶無法連線。


TCP 常見的 DDoS攻擊

 TCP 因為可靠連接特性和三次握手機制,成為 DDoS 主要的攻擊目標之一,攻擊者目的是透過大量的惡意流量將其資源耗盡,達到癱瘓線上服務的目的。


SYN 洪水攻擊 (SYN Flood Attack)

  • 攻擊原理:
    攻擊者在 TCP 三次握手過程中發送大量 SYN (同步) 封包,卻不完成最後一步握手,導致伺服器資源耗盡。

  • 攻擊目的:
    使伺服器的半開放連接表達到上限,阻止正常用戶建立新的連接。


ACK 洪水攻擊 (ACK Flood Attack)

  • 攻擊原理:
    攻擊者偽造大量 ACK 封包,並持續發送至目標伺服器。

  • 攻擊目的:
    佔用伺服器資源,降低其處理正常請求的能力。


RST 洪水攻擊 (RST Flood Attack)

  • 攻擊原理:
    透過發送大量 RST 封包,中斷伺服器與用戶間的 TCP 連接。

  • 攻擊目的:
    干擾伺服器的正常數據傳輸,破壞用戶體驗。


Push+Ack攻擊 (Push+Ack Attack)

  • 攻擊原理:
    攻擊者持續向目標伺服器發送帶有 PUSH 和 ACK 標誌的封包。

  • 攻擊目的:
    耗盡伺服器資源,導致其運作效率大幅下降。

  • 備註:
    此類攻擊雖不像 SYN Flood 般消耗連線表,但可能透過過量資料觸發伺服器應答與計算開銷。


TCP連接耗盡攻擊 (TCP Connection Exhaustion Attack)

  • 攻擊原理:
    攻擊者完成正常的 TCP 三次握手,但保持這些連接空閒而不進行數據傳輸。

  • 攻擊目的:
    佔滿伺服器的同時連接數,妨礙新用戶的連線請求。


慢速攻擊 (Slowloris Attack)

  • 攻擊原理:
    攻擊者建立多個 TCP 連接,並以極慢的速度持續發送 HTTP 請求,保持連線狀態。

  • 攻擊目的:
    長時間佔用伺服器資源,使其他用戶無法正常連接或提交請求。


零日攻擊 (Zero-Day Exploits)

  • 攻擊原理:
    利用伺服器 TCP 協定中的未知安全漏洞進行攻擊。

  • 攻擊目的:
    繞過現有安全防護,對伺服器造成直接損害。


如何防禦 TCP 的 DDoS攻擊

 隨著 DDoS 攻擊頻率增加,TCP 層防禦已成為重要的課題,面對各種針對 TCP 的攻擊,以下是常見的防禦方式。

  • 啟用 SYN Cookies
    對抗 SYN Flood 攻擊最有效的方式之一,就是啟用「SYN Cookies」。SYN Cookies 技術透過在未真正建立連線前,不使用資源紀錄半連線狀態,而是將必要資訊封裝在回應封包中,等對方回傳 ACK 時再確認連線建立。

  • 設定連線數與超時限制
    限制每個 IP 的 TCP 連線數、縮短連線閒置時間,有助於防止連線耗盡類型的攻擊。

  • 使用防火牆與入侵偵測系統
    透過防火牆過濾異常 TCP 流量,或用入侵偵測系統檢測攻擊特徵,自動阻擋可疑來源。

  • 部署 DDoS 防禦服務
    部署具備 DDoS 防護能力的 CDN 或雲端清洗中心,可有效協助分散並過濾惡意 TCP 攻擊流量,如Cloudflare、Akamai 或 騰雲運算

  • 流量清洗
    將流量引導至清洗中心,篩選掉惡意請求,只讓正常連線通過,該技術通常由專業的清洗中心或 DDoS 緩解服務提供。



資料來源:
HackMD|Transmission Control Protocol (TCP)
1nce|TCP 是什麼及其應用情境?
騰雲運算|什麼是TCP、UDP協議?

延伸閱讀:
HTTP攻擊是什麼?網站變慢可能是HTTP攻擊!DDoS洪水型攻擊解析
DDoS攻擊原理解析!如何防禦DDoS攻擊
OSI 模型是什麼?OSI網路七層架構
哪些網站或系統容易被DDoS攻擊?容易被DDoS攻擊的網站類型風險與防禦

Previous:面對 DDoS 攻擊怎麼辦?數發部提出三階段應對建議|騰雲運算DDoS防禦

Next:UDP 是什麼?UDP 工作原理與 UDP常見的 DDoS攻擊|Skycloud

SkyCloud Offers Free Trials

Activate When Ready!

check-black Experience fast, secure, and reliable service.

check-blackTest first, decide later. Zero risk.

We invite you to experience our superior performance firsthand. Discover SkyCloud's speed, reliability, and flexibility. Test it out, and activate only when you are satisfied.

background imagebackground image