简述TCP三次握手,四次挥手

前言:

通常大多数认为三次握手、四次挥手是HTTP协议产生的。这是一个错误的认知,实际上HTTP协议并不参与握手以及挥手过程,三次握手四次挥手均是在TCP协议层上进行的,而HTTP协议只是在已建立 TCP连接的基础上,进行通信的。

握手过程:

【第一次握手】:

客户端向服务端发送一个带有SYN(同步序列编号)标致的数据包给服务器,表示客户端请求连接,此时客户端进入SYN_SENT 状态。

SYN数据包中,seq表示初始序列号,SYN=1,表示客户端希望建立连接。

【第二次握手】:

服务端在收到客户端建立连接的SYN请求之后,会发送一个带有SYN/ACK(同步/确认序列编号)标致的数据包给客户端。此时服务端进入SYN_RECIVED 状态。

SYN/ACK包中,seq代表服务器的初始序列号;ack代表的是确认号,具体值为客户端发送的SYN数据包的初始序列号加1,表示服务器已经成功接受到了客户端的SYN请求,并且准备好建立连接。SYN标志为1,表示服务端愿意建立连接。ACK标志为1,表示对客户端的 SYN请求进行确认。

【第三次握手】:

客户端在收到服务端发送的SYN/ACK(同步/确认序列编号)标致的数据包后,会发送一个带有ACK(确认序列编号)标志的数据包给服务器,表示客户端接受连接。服务器接收到客户端发送的ACK(确认序列编号)的包后,双方建立连接。服务器进入ESTABLISHED状态,客户端也进入ESTABLISHED状态。

ACK数据包中,seq代表序列号 ,表示客户端期望从该序列号发送数据;ack表示确认号 ,具体值为服务端发送的SYN/ACK数据包中的序列号+1;ACK标志为1,表示对服务器的SYN/ACK响应进行确认。

挥手过程:

【第一次挥手】:

客户端向服务器发送一个FIN(结束)标志数据包,表示客户端不再发送数据,但是仍可以接收数据。客户端进入"FIN_WAIT_1"状态。

FIN包中ACK标志为1,表示发送方不再发送数据,希望关闭连接,ACK标志为1表示希望接收方确认收到FIN包。seq表示发送方当前发送数据的最后一个字节的序列号。

【第二次挥手】:

服务器收到客户端发送的FIN结束包后,发送一个带有ACK(确认)标志的包给客户端,表示服务端已经收到了客户端要关闭连接的请求。服务端进入"CLOSE_WAIT"状态,客户端进入"FIN_WAIT_2"状态。

ACK包中seq,表示接收方当前发送数据的最后一个字节的序列号,ACK标志为1,表示确认收到了客户端发送的FIN包,ack表示确认号,具体值为FIN包的初始序列号+1

【第三次挥手】:

服务器决定关闭连接,会在发送一个FIN标志的数据包给客户端,表示服务器不在接收数据,进入"LAST_ACK"状态

FIN包中seq表示发送方当前发送数据的最后一个字节的序列号。ACK标志为1,表示确认收到了客户端发送的FIN包,FIN为1,表示不再发送数据,ack为确认号,为客户端发送的FIN包的初始序列号+1

【第四次挥手】:

客户端收到服务器的FIN包后,会发送一个ACK标志的数据包给服务器,表示客户端确认收到了服务器的关闭请求。客户端进入"TIME_WAIT"状态,等待服务器端收到ACK包之后,进入"CLOSED"状态,此时服务器端也进入"CLOSED"状态

ACK中seq表示序列号,接收方当前发送数据的最后一个字节的序列号。ACK标志为1,表示确认收到了服务端的FIN包,ack表示确认号,值为客户端的初始序列号+1

复制代码
                                                                                   学海无涯
相关推荐
zt1985q1 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
白狐_7983 小时前
408计算机网络第3章:以太网交换机与共享式以太网——知识总结
服务器·网络·计算机网络
笨鸟先飞,勤能补拙3 小时前
网络安全等级保护 2.0:从定级备案、建设整改到持续合规的系统指南
网络·人工智能·windows·安全·web安全·网络安全·github
wgh6534 小时前
策略路由实验
网络
難釋懷4 小时前
Nginx日志
前端·网络·nginx
Loongproxy4 小时前
大规模采集为啥用隧道代理IP?会话保持如何做到无感轮换
java·服务器·网络
老赵的博客4 小时前
工控机之UDP组播
网络·网络协议·udp
微硬创新5 小时前
耐达讯自动化:16路4-20mA模拟信号,该怎样平稳接入PROFINET控制系统?
人工智能·物联网·网络协议·自动化·信息与通信
麦烤楽鸡翅5 小时前
计算机网络基础且重要芝士
网络·网络协议·计算机网络·面试算法题·无耻之徒
小疆智控5 小时前
工业跨网通讯实践EtherCAT转TCPIP网关关键技术
网络·网络协议