首页 > 其他分享 >TCP协议的握手与分手

TCP协议的握手与分手

时间:2023-06-29 19:55:37浏览次数:35  
标签:Seq 22 ACK 主机 握手 TCP Win 分手

TCP的三次握手四次分手

TCP协议建立连接总共需要进行三步

  • 主机A请求主机B
  • B确认收到请求回复A
  • A确认收到B的回复

三次握手都是进行同一个端口(随机端口)

SYN: 请求同步

ACK:确认同步

# 第一次握手,从主机A的60517端口发送到远程22端口,[SYN]请求
60517 → 22 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM
# 第二次握手,主机B响应A成功,[ACK] = 1
22 → 60517 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1406 SACK_PERM WS=128
# 第三次握手,A通知B已成功收到响应,[ACK] = 1
60517 → 22 [ACK] Seq=1 Ack=1 Win=262912 Len=0

TCP协议断开连接总共需要进行四步

  • 主机A通知主机B断开连接
  • B确认收到通知
  • B发送通知给A确定是否断开连接
  • A回复确认

四次都是走的同一个随机端口

FIN:分手同步

# 第一次分手,主机A发送断开请求,[FIN] = 1,[ACK] =1
61271 → 22 [FIN, ACK] Seq=253 Ack=349 Win=1027 Len=0
# 第二次分手,主机B确认收到请求,[ACK] = 1
22 → 61271 [ACK] Seq=349 Ack=253 Win=261 Len=0
# 第三次分手,主机B问主机A你确定要分手吗,[FIN] = 1,[ACK] = 1
22 → 61271 [FIN, ACK] Seq=349 Ack=254 Win=261 Len=0
# 第四次分手,主机A说我确定分手,[ACK] = 1
61271 → 22 [ACK] Seq=254 Ack=350 Win=1027 Len=0

tcp和http关系

TCP:只是用来建立连接的;

http:超文本传输协议,连接建立好之后用来发数据的,实际应用数据的载体;

HTTP一定是基于TCP的;TCP建立好连接之后,我们需要进行数据交互,就会在已经建立好连接的基础上使用HTTP协议;

举例:HTTP相当于信的载体,信的内容,邮编,地址等信息,然后被放到邮箱里面;

​ TCP相当于,你这个邮箱的载体,你只管把信放到邮箱里面,具体邮箱里面的信怎么发到人家手里,不需要HTTP去管;底层工作完全由TCP来处理了;

标签:Seq,22,ACK,主机,握手,TCP,Win,分手
From: https://www.cnblogs.com/xy20211005/p/17515061.html

相关文章

  • EPSON机械手跟相机搭配走tcp ip协议,及跟plc通讯将手动操作部分映射到触摸屏
    EPSON机械手跟相机搭配走tcpip协议,及跟plc通讯将手动操作部分映射到触摸屏EPSON机械手与相机通过TCP/IP协议进行配对,并与PLC进行通信,以将手动操作部分映射到触摸屏。这样做的好处是可以实现更高效的自动化操作和监控。在这段话中涉及到的知识点和领域范围包括:EPSON机械手:机械手是......
  • TCP三次握手/四次挥手
    三次握手第一次握手:主机A发送位码为syn=1,随机产生seqnumber=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;第二次握手:主机B收到请求后要确认联机信息,向A发送acknumber=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;第三次握手:主机A收到......
  • C#TCP通讯
    服务端代码TcpListenertcpListener=newTcpListener(IPAddress.Parse("192.168.1.1"),9000);tcpListener.Start();//启动服务While(true){TcpClienttcpClient=tcpListener.AcceptTCPClient();//收到链接NetWorkStreamsteam=tcpClient.GetStream();byte[]receiveData=n......
  • ETH-TCP协议与常见问题分析
    SourcePort:源端口,标识发送方的应用进程DestinationPort:目的端口,标识接收方的应用进程SequenceNumber:序列号,用于标识从发送端发出的不同的TCP数据段的序号。数据段在网络中传输时,它们的顺序可能会发生变化;接收端依据此序列号,便可按照正确的顺序重组数据。保证数据传输的有序性......
  • Kong入门学习实践(6)HTTPS与TCP流代理
    最近在学习Kong网关,因此根据老习惯,我会将我的学习过程记录下来,一来体系化整理,二来作为笔记供将来翻看。由于我司会直接使用Kong企业版,学习过程中我会使用Kong开源版。本篇,我们学习快速配置HTTPS跳转与TCP流代理。HTTPS跳转配置HTTP协议虽然应用广泛,简单易用,但存在着巨大的安......
  • TCP的拥塞发生时为什么超时重传触发的是cwnd重置为1,而快速恢复触发的cwnd设置为cwnd/2
    首先要明确的是超时重传的情况相对于快速恢复而言是更恶劣的,发生了超时重传可以理解为超过了设定的时间都没有收到3个相同的ACK,那么网络肯定拥堵的更严重。所以超时重传时将cwnd重置为1,尽可能少的向网络中发送数据。而快速恢复不以时间为标度,触发条件是接收到了三个相同的ACK。......
  • tcp_bbr 代码分析
     brr算法流程:bbr算是一个完全独立的拥塞算法,具有自己的拥塞状态机.tcp_cong_control函数已经被bbr_main函数接管了 staticvoidtcp_cong_control(structsock*sk,u32ack,u32acked_sacked,intflag,conststructrate_sample*rs){conststr......
  • TCP相关知识
    1、TCP可靠传输是怎么实现的?TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的、可靠的传输协议。在TCP中,可靠传输是通过以下几种机制来实现的:序列号和确认应答机制:在TCP通信过程中,每个数据包都有一个唯一的序列号。接收方通过确认应答机制来告诉发送方已经正......
  • TCP连接中CLOSE_WAIT状态的原因与解决方法?
        关闭socket分为主动关闭和被动关闭两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机检测到远程主机发起关闭之后,作出回应,从而关闭整个连接;将关闭部分的状态转移摘出来,就得到了下图: 产生原因?通过图上,我们来分析,什么情况下,连接处于CLOSE_WAIT状......
  • Modbus RTU 转 Modbus TCP协议转换网关
    现今,工业自动化系统中,西门子和欧姆龙PLC是最常用的控制器之一。然而,由于PLC之间使用的通信协议不尽相同,因此需要一种能够实现多种协议转换的采集网关产品。BL110采集网关就是一款能够支持西门子和欧姆龙PLC远程数据上云平台的产品。BL110采集网关采用嵌入式Linux系统开发,具有高度的......