TCP三次握手四次挥手


TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报
在这里插入图片描述

TCP连接的建立和释放(三次握手和四次挥手)

TCP

在这里插入图片描述

序列号

TCP传送的数据流中每个字节都有一个序号,序号字段代表报文段要发送的数据的第一个字节的序号

确认号

通讯的任何一方在收到对方的一个报文后,都要发送一个相对应的确认报文,来表示确认收到,确认报文包含一个确认号,它的值表示期望收到对方下一个报文段的序号值(在确认报文中确认号才会有效)
标识一个确认报文的方式:6个标志位

3个重点标志位

ACK

ACK标志位为1时确认号有效,当前报文是一个确认报文,ACK=0时确认号无效

SYN

同步比特SYN置为1,表示这是一个连接请求或连接接受报文

FIN

用来释放一个连接,FIN=1时,表示此报文段的发送端的数据已经发送完毕,并要求释放运输连接

三次握手

TCP的连接和建立都是采用客户服务器方式,主动发起连接建立的应用进程叫做客户(Client),被动等待连接建立的应用进程叫做服务器(Server)
TCP/IP中,采用三次握手建立一个连接
在这里插入图片描述

第一次握手

客户(Client)向服务器(Server)发送一个连接请求,此时,SYN=1,同时发送序列号Seq=x.

第二次握手

此时,服务器收到客户的报文要发出一个相对应的确认报文表示收到,ACK=1,接着发送一个确认号ACKnum(是期望收到对方的下一个报文段的数据的第一个字节的序号),ACKnum=x+1,表示收到了SYN标识,同时SYN=1,标识这是一个连接接受报文,再发送自己的序列号Seq=Y

第三次握手

此时,客户端收到服务器的响应报文,也要回复确认报文,ACK=1,ACKnum=Y+1,表示收到了SYN携带标识

四次挥手

在这里插入图片描述

当客户端想关闭连接时,需要四次挥手来释放连接

第一次挥手

客户端发送一个FIN标志位置为1的包,其次携带自己的序列号Seq=x

第二次挥手

服务器端确认客户端的FIN包,发送一个确认包,表明接受了客户端关闭连接的请求(此时未准备好关闭连接),ACK=1,ACKnum=x+1;

第三次挥手

当服务器端准备好关闭连接时,向客户端发送结束连接请求,FIN置为1,同时发送自己的序列号seq=y

第四次挥手

客户端收到来自服务器端的关闭请求,发送一个确认包,ACK=1,ACKnum=y+1,服务器端接收到确认包,就会关闭连接,进入CLOSED状态,如果服务器端关闭,将不再回应客户端,客户端在等待某个固定时间后,将会自行关闭,进入CLOSED状态,这个时候就完成了TCP连接的释放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值