首页 > 其他分享 >三次握手与四次挥手

三次握手与四次挥手

时间:2024-04-26 11:57:10浏览次数:15  
标签:状态 挥手 ACK 握手 SYN 四次 序号 服务端 客户端

三次握手

握手前双方都处于close态

服务器主动监听进入LISTEN 状态

假设客户端要建立连接

第一次握手

客户端随机初始化序号client_isn发送SYN报文进入SYN-SENT 状态

第二次握手

服务端接收 SYN 报文后随机初始化序号序号server_isn 把确认应答填为 client_isn + 1

开启 SYNACK 位服务器处于 SYN-RCVD 状态。

第三次握手

客户端向服务端回应 ACK 标志位置为 1 其次「确认应答号」字段填入 server_isn + 1 ,客户端进入 ESTABLISHED 状态 

服务端收到客户端的应答报文后,也进入 ESTABLISHED 状态。

四次挥手

假设客户端要断开连接

第一次挥手

客户端将FIN和ACK位置为1,发送报文,进入FIN_WAIT_1状态

第二次挥手

服务端发送ACK回应序号位对方的确认号,确认号为对方序号加一 进入CLOSE_WAIT 状态

第三次挥手

服务端发送完数据让把FIN和ACK位置一,确认号和序号不变进入 FIN_WAIT_2 状态

第四次挥手

客户端将ACK位置1,序号用对方的确认号,确认号用对方的序号加一进入 LAST_ACK 状态。

服务端接收该报文后进入 CLOSE 状态

客户端在两个最长路由周期后进入CLOSE 状态

标签:状态,挥手,ACK,握手,SYN,四次,序号,服务端,客户端
From: https://www.cnblogs.com/cuberxh/p/18159698

相关文章

  • 网络为什么要三次握手四次挥手?
    三次握手和四次挥手是TCP协议中建立和终止连接时的标准流程,其设计的目的是确保数据的可靠传输和连接的安全关闭。三次握手(Three-wayHandshake)客户端发送SYN:客户端向服务器发送一个SYN(同步)包,表示请求建立连接,并指定初始序列号(SequenceNumber)。服务器发......
  • TCP 三次握手与四次挥手面试题(计算机网络)
    TCP基本认识TCP头格式有哪些?  序列号:在建立连接时由计算机生成的随机数作为其初始值,通过SYN包传给接收端主机,每发送一次数据,就「累加」一次该「数据字节数」的大小。用来解决网络包乱序问题。确认应答号:指下一次「期望」收到的数据的序列号,发送端收到这个确认应......
  • 说说TCP为什么需要三次握手和四次挥手?
    一、三次握手三次握手(Three-wayHandshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备过程如下:第一次握手:客户端给服务端发一个SYN报文,并指明客......
  • 计网:TCP三次握手和四次挥手
    老生常谈的问题,直接参考连接:https://zhuanlan.zhihu.com/p/108504297(存在部分问题,配合下面CSDN)https://blog.csdn.net/m0_56649557/article/details/119492899 自己需要记住的点:三次握手:第一次:客户端:只有SYN置1,发送seq=J第二次:服务端:SYN和ACK都置1,......
  • 前端系列-三次握手
     客户端和服务器端的交互简单过程:seq=xseq=yack=x+1seq=y+1 第一次握手(SYN)客户端(Client)向服务器(Server)发出一个带有SYN标志的数据段,其中包含一个随机序列号seq=x(x为随机生成的数字)。1Client->Server:SYN(seq=x)第二次握手(SYN+ACK)服务器接收到客户端的SYN数......
  • 使用QR分解 求一元四次方程的根
            在求特征值的时候,通过QR迭代后就是一个拟上三角矩阵,但不一定是上三角矩阵。        在一定条件下,由QR算法生成的序列{Ak}收敛为Schur分块上三角形,对角块按特征值的模从大到小排列。但有特殊情况,当收敛结果为Schur分块上三角形时,序列{Ak}的对角块以上......
  • HTTPS ECDHE 握手解析(计算机网络)
    使用了ECDHE,在TLS第四次握手前,客户端就已经发送了加密的HTTP数据,而对于RSA握手过程,必须要完成TLS四次握手,才能传输应用数据。所以,ECDHE相比RSA握手过程省去了一个消息往返的时间,有点「抢跑」的意思,它被称为是「TLSFalseStart」,跟「TCPFastOpen」有点像,都是在......
  • tcp三次握手
    tcp是可靠的传输协议。为什么这么说?首先我们得了解一下他的报文格式。源端口号和目的端口号,数据根据这两个端口号决定发给哪个应用。2.序号,只是让包有序一点而已。3.确认序列呢。顾名思义,就是确认对方有没有收到。如果对方没收到,要重新发送,直到送达。解决丢包问题的。4.还......
  • 山东大学23强基班计算机导论第四次习题答案
    T7.1#include<iostream>usingnamespacestd;intmain(){intlower,upper;cin>>lower>>upper;if(lower>upper||upper>100||lower<=0){cout<<"Invalid.";return0;}......
  • TCP三次握手、四次挥手出现意外情况时,如何保证稳定可靠?
    TCP作为一个靠谱的协议,在传输数据的前后,需要在双端之间建立连接,并在双端各自维护连接的状态。TCP并没有什么特别之处,在面对多变的网络情况,也只能通过不断的重传和各种算法来保证可靠性。建立连接前,TCP会通过三次握手来保证双端状态正确,然后就可以正常传输数据了。当数据传......