TCP链接的三次握手、四次挥手

三次握手的过程

第一次握手

客户机首先发出一个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 。

相关文章
相关标签/搜索