TCP三次握手的过程

Wesley13
• 阅读 814

TCP(Transmission control Protocol)

是一种面向连接,可靠的,基于字节流的运输层通信协议,是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的。

每一次tcp连接需要3个阶段:连接建立,数据传送和连接释放

三次握手发生在连接建立阶段,目的是为了防止已失效的连接请求报文端突然又传送到服务器端,因而产生错误

三次握手指的是建立一个TCP连接时,需要客户端和服务器总共发送3个包

第一次握手:客户端发送一个TCP的syn标志位置为1的包,指明客户打算连接的服务器的端口,以及初始序号x,保存在包头序列号字段里

第二次握手:服务器发回确认包(ack)应答,即syn标志位和ack标志位均为1,同时将确认序号(acknowledgement number)设置为客户的isn+1,即x+1

第三次握手:客户端再次发送确认包(ack) syn标志位为0,ack标志位为1.并且把服务器发来的ack序号字段+1,放在确认字段中发送给对方,并且在数据段放的isn+1

点赞
收藏
评论区
推荐文章
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
东方客主 东方客主
3年前
HTTP面试题精选_langsiming的博客
1.简述下TCP三次握手的过程,并解释采用3次握手建立连接的原因?1.客户端发送建立连接请求,携带信息syn1,seq X 第一次握手2.
xiguaapp xiguaapp
3年前
tcp的三次握手四次挥手
tcp的三次握手流程:在tcp/ip协议中,tcp协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送SYN包【synj】到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到SYN包,必须确认客户的SYN(ackj1),同时自己也发送一个SYN包(syn
Stella981 Stella981
3年前
PHP Swoole与TCP三次握手
握手常见问题1、连接拒绝2、Operationnowinprogress多是因为丢包、错误ip、backlog满了&阻塞&tcp_abort_on_overflow03、min(maxconn,backlog)sslt连接拒绝在TCP三次握手的时候,客户端发送
Wesley13 Wesley13
3年前
TCP的三次握手与四次挥手
TCP的三次握手与四次挥手一、TCP(TransmissionControlProtocol传输控制协议)TCP是面向对连接,可靠的进程到进程通信的协议TCP是提供全双工服务,即数据可在同一时间双向传输二、TCP报文段(封装在IP数据报
Wesley13 Wesley13
3年前
TCP三次握手和四次挥手
建立TCP连接:三次握手TCP在传输数据之前,首先需要建立好TCP连接,后续所有数据都基于这个已建立的连接来传输,建立TCP连接的过程通常被描述为三次握手屏幕快照2020072716.44.59!TCP三次握手和四次挥手(https://s4.51cto.com/images/blog/202007/27/e095cdb6ee5e99
Easter79 Easter79
3年前
TCP三次握手与Linux的TCP内核参数优化
感谢各位技术大佬的资料分享,这里我把我理解的内容做一个整理一:TCP的三次握手1、TCP简述  TCP是一个面向连接的协议,在连接双方发送数据之前,首先需要建立一条连接。TCP建立连接可以简单称为:三次握手(说白了就是建立一个TCP连接的时候,客户端
Wesley13 Wesley13
3年前
TCP是如何实现三次握手的?
什么是三次握手1.TCP是网络传输层的协议,提供面向连接的可靠的字节流服务,要通信得先建立连接2.所谓三次握手就是指,建立一个TCP连接时,需要CLient与Server发送三个包,确认连接的建立3.这一过程由Client执行connect触发简单描述下三次握手的具体过程第一
Wesley13 Wesley13
3年前
Go语言 之TCP三次握手
所谓三次握手(ThreeWayHandshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。好比两个人在打电话:Client:“喂,你听得到吗?”Server:“我听得到,你听得到我吗?”Client:“我能听到你,今天balabala…”建立连接(三次握手)的过程:1.客户端
融云IM即时通讯 融云IM即时通讯
1星期前
融云IM干货丨客户端和服务端长连接是如何建立的?
客户端和服务端之间建立长连接的过程通常涉及以下几个步骤:连接建立:客户端首先发起连接请求至服务端。这个过程通常包括TCP的三次握手,确保连接的可靠性。控制层交互:在某些架构中,客户端在建立连接前需要与控制层进行交互,以获取合法标识(Token)和接入配置(