一文读懂TCP的三次握手(详细图解)
创始人
2025-01-17 21:03:34
0

在学习TCP三次握手的过程前,首先熟悉几个缩写简称:

TCB

传输控制块,打开后服务器/客户端进入监听(LISTEN)状态

SYNTCP报文标志位,该位为1时表示发起一个新连接
ACKTCP报文标志位,该位为1时,确认序号有效,确认接收到消息。TCP规定,在连接建立后所有报文的传输都必须把ACK置1
seqsequence number,报文初始序列号,代表发送的第一个字节的序号
ackacknowledgement number,报文确认序号,代表希望收到的下一个数据的第一个字节的序号

熟悉上面几个标志位和序列号含义后,下面来看TCP的三次握手过程:

先上几个帮助理解的点:

不管请求还是应答,都是带两种数据:请求号SYN/应答号ACK+ 数据包报文号;

请求时要发请求号SYN,应答时要发送应答号ACK;在数据包传送时,发送方要发送当前数据包报文号seq和确认收到上一个数据包的确认报文号ack。

下面结合示意图来理解三次握手过程:

前期:

TCP服务器创建传输控制块TCB,进入监听LISTEN状态,准备接收请求。

第一次握手:客户端——请求(发送请求SYN+数据包当前序列号seq,无需应答)

客户端创建传输控制块TCB,进入监听LISTEN状态。
设置SYN=1,表示这是握手报文,并发送给服务器
设置发送的数据包序列号seq=x
此时客户端处于同步已发送SYN-SENT状态

第二次握手:服务器——确认(发送应答ACK+请求SYN+确认收到上一个数据包的确认号ack+ 当前数据包序列号seq)

设置ACK=1,表示确认应答。
设置ack=x+1,表示已收到客户端x之前的数据,希望下次数据从x+1开始
设置SYN=1,表示握手报文,并发送给客户端
设置发送的数据包序列号seq=y
此时服务器处于同步已接收SYN-RCVD状态

第三次握手:客户端——确认服务器的确认(发送应答ACK+确认收到上一个数据包的确认号ack+ 当前数据包序列号seq ,连接已建立,无需请求)

设置ACK=1,表示确认应答。
设置ack=y+1,表示收到服务器发来的序列号为seq=y的数据包,希望下次数据从y+1开始
设置seq=x+1,表示接着上一个数据包seq=x继续发送
至此三次握手结束,连接建立

为什么要使用三次握手机制?

1.为了阻止历史连接

若网络状况不好的时候,客户端发送的SYN信号未能及时传输给服务器。当网络恢复时已经失效的SYN信号又到达服务器。如果只有两次握手便可建立连接,那么此时客户端就不知道这个连接是不是已经失效了的历史连接,从而导致错误的发生。三次握手时,客户端便可以根据上下文来判断此次连接是否为历史连接,避免错误的发生。

2. 为了避免服务器开启无用连接增加服务器开销

客户端设置了一个超时时间,超过了就重新发送一个TCP连接请求。如果没有第三次握手的话,服务端是不知道客户端是否收到服务返回的信息的,这样没有给服务器端一个创建还是关闭连接端口的请求,服务器端的端口就一直开着,等到客户端因超时重新发出请求时,服务器就会重新开启一个端口连接。那么服务器端上没有接收到请求数据的上一个端口就一直开着,长此以往,这样的端口多了,就会造成服务器端开销的严重浪费。

相关内容

热门资讯

攻略辅助!吉祥填大坑辅助(辅助... 攻略辅助!吉祥填大坑辅助(辅助挂)一直是有辅助教程(有挂神器)1、吉祥填大坑辅助公共底牌简单,吉祥填...
黑科技代打!wpk辅助购买,w... 黑科技代打!wpk辅助购买,wepoker怎么提高运气,步骤教程(有挂规律)1、wepoker怎么提...
机巧辅助!方片十三张辅助器软件... 机巧辅助!方片十三张辅助器软件(辅助挂)其实是有辅助技巧(有挂技巧)1、点击下载安装,方片十三张辅助...
总结辅助挂!wepoker私人... 总结辅助挂!wepoker私人局开挂视频,aapoker透视脚本入口,教程书教程(有挂神器)1、完成...
讲义辅助!全民内蒙古辅助(辅助... 讲义辅助!全民内蒙古辅助(辅助挂)总是是真的有辅助软件(有挂详细)1)全民内蒙古辅助有没有挂:进一步...
据悉!sohoo poker辅... 据悉!sohoo poker辅助器,hhpoker怎么开透视,指南教程(存在有挂)小薇(辅助器软件下...
总结辅助!福州天天开心辅助(辅... 总结辅助!福州天天开心辅助(辅助挂)总是确实有辅助攻略(有挂神器)1、福州天天开心辅助模拟器是什么优...
第三方辅助!德普之星辅助工具如... 第三方辅助!德普之星辅助工具如何设置,哈糖大菠萝助手,指南书教程(存在有挂)1、实时德普之星辅助工具...
办法辅助!海商娱乐辅助器(辅助... 办法辅助!海商娱乐辅助器(辅助挂)其实确实有辅助教程(真实有挂)暗藏猫腻,小编详细说明海商娱乐辅助器...
明白辅助挂!hhpoker是真... 明白辅助挂!hhpoker是真的假的,wepokerplus外挂,指南书教程(确实有挂)1、超多福利...