HCIP
当前位置:首页 > 学习资料 > HCIP >

简单介绍TCP协议三次握手过程

更新时间:2021年03月15日   作者:spoto   标签(Tag):
简单介绍TCP协议三次握手过程:对于网络工程师来说,TCP协议几乎是大家每天都会接触到的网络协议,要知道,绝大多数网络连接的建立都是基于 TCP 协议的,那么接下来,我们就要来简单介绍一下使用 TCP 协议建立连接所需要经过的三次握手过程。

TCP协议三次握手过程

何为TCP协议三次握手?

先来说说什么是TCP协议三次握手,所谓三次握手,英文我们称Three-Way Handshake,即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。

TCP协议三次握手的目的

那么为什么要进行三次握手呢?就是在你来我间,确认信息,以便建立连接。谢希仁的《计算机网络》中是这么说的:“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。三次握手其实就是为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。业内有一个通俗的说法:“喂,你听得到吗?”“我听得到呀,你听得到我吗?”“我能听到你”虽然不能说是很全面的,但是也有助于大家更简单的理解它。

TCP协议三次握手过程

第一次握手

客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器,客户端进入SYN_SENT状态,等待服务器确认。

第二次握手

服务器收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给客户端以确认连接请求,服务器进入SYN_RCVD状态。

第三次握手

客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务器,服务器检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器进入ESTABLISHED(TCP连接成功)状态。
完成三次握手,客户端与服务器就开始传送数据了。

TCP协议三次握手中的一些概念

在TCP协议三次握手过程中,还有一些重要的概念:比如说未连接列队、Backlog参数、半连接存活时间等等。当服务器维护一个未连接队列,该队列为每个客户端的SYN包(seq=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包;Backlog参数表示内核为相应套接字排队的最大连接个数;而半连接存活时间是指半连接队列的条目存活的最长时间,也即服务器从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。

还有其他疑问,可随时咨询思博

              马上抢免费试听资格
意向课程: *必选
姓名: *必填
联系方式: *必填
QQ:
思博SPOTO在线咨询

相关资讯

7天无条件退款
24小时实验室开放
全程跟踪服务
无条件免费重读

如在过程中遇到任何问题
欢迎在此填写反馈意见