客戶機首先發出一個SYN消息。服務器
服務器使確認SYN + ACK應答表示接收到了這個消息。markdown
客戶機再以ACK確認響應。app
SYN是在 TCP 鏈接的第一次握手時發送的一種數據包。它能夠作爲黑客攻擊的一種手段,SYN攻擊屬於DDoS攻擊的一種,它利用 TCP的缺陷,發送大量的鏈接請求,耗費CPU和內存資源。ui
ACK是接收站發給發送站的確認字符, 表示本身已經接收到了。url
TCP 傳輸是經過字節流傳輸的, 傳輸前會把數據流分割成多段報文發送給接受端。 爲了保證傳輸的可靠性, TCP 會有一些傳輸機制:spa
當發送數據後,在必定時間內沒有收到 ACK 應答, 就會從新發送數據, 直到發送成功。3d
若是發送端收到 3 個以上的重複 ACK 應答, 就知道數據有可能丟失了, 發送端會當即從新傳遞一次 。code
主動關閉端會先發送一個FIN ,表示數據發送完畢。orm
被動關閉收到 FIN, 發送一個 ACK對方確認,執行被動關閉。cdn
一段時間後, 被動關閉端接發送一個 FIN, 告訴主動端已關閉數據傳輸。
主動關閉端收到後確認 FIN 。