阅读 81

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

三次握手的过程

第一次握手

客户机首先发出一个SYN消息。

第二次握手

服务器使确认SYN + ACK应答表示接收到了这个消息。

第三次握手

客户机再以ACK确认响应。

SYN是在 TCP 连接的第一次握手时发送的一种数据包。它可以做为黑客攻击的一种手段,SYN攻击属于DDoS攻击的一种,它利用 TCP的缺陷,发送大量的连接请求,耗费CPU和内存资源。

ACK是接收站发给发送站的确认字符, 表示自己已经接收到了。

传输数据的过程

TCP 传输是通过字节流传输的, 传输前会把数据流分割成多段报文发送给接受端。 为了保证传输的可靠性, TCP 会有一些传输机制:

超时重传

当发送数据后,在一定时间内没有收到 ACK 应答, 就会重新发送数据, 直到发送成功。

快速重传

如果发送端收到 3 个以上的重复 ACK 应答, 就知道数据有可能丢失了, 发送端会立即重新传递一次 。

四次挥手的过长

第一次挥手

主动关闭端会先发送一个FIN ,表示数据发送完毕。

第二次挥手

被动关闭收到 FIN, 发送一个 ACK对方确认,执行被动关闭。

第三次挥手

一段时间后, 被动关闭端接发送一个 FIN, 告诉主动端已关闭数据传输。

第四次挥手

主动关闭端收到后确认 FIN 。

文章分类
前端
文章标签