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

TCP三次握手与四次挥手

时间:2024-08-09 14:49:27浏览次数:12  
标签:挥手 ACK 报文 SYN TCP 四次 服务器 FIN 握手

一、三次握手

三次握手的主要目的是建立一个可靠的连接,确保两端的发送者和接收者都准备好进行数据传输。想象成你(客户端)想要通过电话与一个朋友(服务器)进行长时间的对话。

在你们开始聊天之前,需要先确保彼此都准备好了。这个过程包括以下步骤:

 

1: SYN:客户端发送一个SYN(同步序列编号)报文到服务器,并进入SYN_SENT状态,等待服务器确认。

翻译成人话:你拨打电话(第一次握手): 你打电话给你的朋友,告诉他你想聊天。

 

2: SYN-ACK:服务器接收到SYN报文后,会回应一个SYN-ACK(同步和确认)报文,并进入SYN_RCVD状态。

翻译成人话:朋友回应(第二次握手): 你的朋友接电话,告诉你他也准备好了,并且问你是否准备好。

 

3: ACK:客户端收到SYN-ACK报文后,会发送一个ACK(确认)报文到服务器,完成连接建立。

翻译成人话:你确认(第三次握手): 你回复你的朋友,告诉他你确实准备好了。

二、四次挥手

四次挥手的过程用于终止已建立的TCP连接,其步骤如下:

 

1: FIN:当数据传输完成后,通信的一方(假设为客户端)发送一个FIN(结束)报文,请求关闭连接。

翻译成人话:你说要挂电话(第一次挥手): 你告诉你的朋友你要挂电话了。

 

2: ACK:服务器收到这个FIN报文后,发送一个ACK报文作为响应,并进入CLOSE_WAIT状态。

翻译成人话:朋友确认(第二次挥手): 你的朋友回应说他知道了,但他还有一些话要说。

 

3: FIN:服务器准备好关闭连接时,发送一个FIN报文给客户端。

翻译成人话:朋友说完了(第三次挥手): 你的朋友告诉你他说完了。

 

4: ACK:客户端接收到这个FIN报文后,发送一个ACK报文作为最后的确认,然后进入TIME_WAIT状态等待一段时间以确保服务器接收到ACK报文。

翻译成人话;你确认(第四次挥手): 你告诉你的朋友你也知道了,然后你们两个可以挂电话了。

 

这四个步骤完成后,TCP连接被完全断开。

四次挥手比三次握手多一个步骤,因为当一方完成数据发送后,仍需要接收对方可能仍在发送的数据,所以需要独立地关闭每个方向的通信。

标签:挥手,ACK,报文,SYN,TCP,四次,服务器,FIN,握手
From: https://www.cnblogs.com/vicky-li/p/18350722

相关文章

  • tcp减少2msl的时间
    TCP的2MSL时间通常指的是TIME_WAIT状态的持续时间,它是TCP连接断开过程中的一个阶段,完成以下几个任务:等待丢失的数据包有时间被丢弃。允许老的重复的连接端点(由本地端口号和IP地址组成)被正确处理。解决方案通常涉及调整操作系统层面的设置来减少TIME_WAIT状态的时间......
  • TCP 通信全流程分析:从连接建立到数据传输的深度探索
    目录一、TCP报头二、三次握手三、数据传输四、四次挥手本文通过一次TCP通信过程的分析来学习TCP协议一、TCP报头如图是一份TCP报文的报头,标准报头是20个字节,还可带有选项报头,也就是TCP报头的最小长度是20字节。以下是对报头的各个字段的分析:端口号:向上层交付时交付......
  • TCP协议
    TCP(TransmissionControlProtocol)是一种面向连接的、可靠的传输层协议,用于在网络上可靠地传输数据。TCP协议的特点:面向连接:在通信开始之前,发送方和接收方需要建立一个连接,双方通过这个连接来进行数据的传输和通信(连接的建立和关闭采用三次握手和四次挥手);可靠性:TCP协议提供......
  • ModbusRtuOverTcp读写操作
     .NET免费开源工业物联网网关-小码编匠-博客园(cnblogs.com)IoTClient:IoTClient是一个物联网设备通讯协议实现客户端,将包括主流PLC通信读取、ModBus协议、Bacnet协议等常用工业通讯协议。本组件终身开源免费,采用最宽松MIT协议,您也可以随意修改和商业使用(商业使用请做......
  • TCP客户端服务器的数据传送
    客户端----发送方先导入WSAStartup函数的一个声明//获取文件大小structstats这个结构体包含了文件的基本信息,例如大小、所有者、权限、最后访问和修改时间等。//发送信息给服务器char*ptemp=szbuf;while(*++ptemp!='\0');while(*--ptemp!='\\'); ++ptemp;ptemp就......
  • TCP三次握手和四次挥手
    TCP报文中一些字段的含义确认ACK:仅当ACK=1时,确认号字段才有效。TCP规定,在连接建立后所有报文的传输都必须把ACK置1同步SYN:在连接建立时用来同步序号。当SYN=1,ACK=0,表明是连接请求报文,若同意连接,则响应报文中应该使SYN=1,ACK=1终止FIN:用来释放连接。当FIN=1,表明此报文的发送方......
  • OSI和TCP的握手/挥手
    引子关于3次握手,4次回收,OSI七层模型以及各层的作用,较为深入的整理一下。OSI七层模型全称open-system-interconnect。由国际组织提出的一套关于全球范围的计算机可以开放式通信的规范。OSI参考模型包含7层,从上到下分别是从上到下作用请求发出的流程相关协议应......
  • 认识Modbus RTU与Modbus TCP
    (选自成都纵横智控-ModbusRTU与ModbusTCP协议区别详解 )ModbusRTU和ModbusTCP是两种常用的工业通信协议,用于连接电子设备,但它们在多方面有所不同。以下是它们的详细比较:ModbusRTU协议类型:ModbusRTU是一种串行通信协议,通常使用RS-232、RS-422或RS-485标准进......
  • 泗博MODBUS TCP转PROFINET网关EPN-330实现焊机与西门子PLC的连接
    随着工业自动化水平的不断提高,各种设备之间的互联互通变得至关重要。然而,由于不同设备可能采用不同的通信协议,如何实现它们之间的无缝连接,成为了许多工程师和企业面临的难题。今天,我们就来分享一个上海泗博成功的案例,看看如何通过泗博自动化的MODBUSTCP转PROFINET网关EPN-330,实现......
  • 基于tcp,html,数据库的在线信息查询系统项目总结
    1.项目背景在线信息查询系统是一种可用于检索和展示各种信息的计算机程序或平台。主要特点包括:用户接口:通常提供友好的界面,用户可以方便地输入查询条件。数据存储:系统往往连接到数据库,存储大量信息,以供查询和分析。搜索功能:支持关键词搜索、筛选和分类功能,帮助用户快速找到......