当前位置: 首页 > HCIP >简单介绍TCP协议三次握手过程

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

客服
张老师华为答疑老师
思博双IE金牌讲师
客服
客服
客服
更新时间:2021年03月15日   作者:spoto |  TCP协议三次握手  
简单介绍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包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。

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

相关课程内容推荐 

 

HCIP-DATACOM 考试大纲:HCIP-Datacom-Core Technology V1.0

思博HCIP课程安排表:最新开班| HCIP-DATACOM课表

华为hcip认证:华为hcip是什么证书?

华为认证考试指南:HCIP 考试费用

HCIP考试考哪些?hcip考试内容

 

免费预约试听课程
热门推荐
最新推荐
bg
客服扫码咨询考证课程

即刻预约

免费试听-咨询课程-获取免费资料