TCP协议三次握手、四次挥手

2024-05-26 10:04

本文主要是介绍TCP协议三次握手、四次挥手,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • TCP协议三次握手的方式建立连接
  • TCP协议四次挥手的方式关闭连接


TCP协议三次握手的方式建立连接

  1. 第一次握手(SYN):客户端向服务器发送SYN报文,请求建立连接。该报文包含客户端选择的初始序列号(ISN);
  2. 第二次握手(SYN + ACK):服务器收到SYN报文后,向客户端发送SYN + ACK报文,表示同意建立连接。该报文同时也包含服务器选择的初始序列号(ISN);
  3. 第三次握手(ACK):客户端收到SYN + ACK 报文后,向服务器发送ACK报文,表示确认建立连接。该报文的序列号为服务器的ISN + 1,确认号为服务器的序列号 + 1。

以上就是TCP三次握手的全过程。需要注意的是,三次握手是建立可靠连接的基础,其目的是确认双方的发送和接收能力正常。在握手过程中,客户端和服务器都需要发送和接收三个报文,因此整个握手过程需要6个数据包。


TCP协议四次挥手的方式关闭连接

  1. 第一次挥手(FIN):客户端向服务器发送FIN报文,表示客户端不在发送数据,但仍可以接收数据;
  2. 第二次挥手(ACK):服务器收到FIN报文后,向客户端发送ACK报文,确认收到FIN报文;
  3. 第三次挥手(FIN):服务器向客户端发送FIN报文,表示服务器不在发送数据;
  4. 第四次挥手(ACK):客户端收到FIN报文后,向服务器发送ACK报文,确认收到FIN报文。

以上就是TCP四次挥手的全过程。需要注意的是,挥手过程中,客户端和服务器都需要发送和接收四个报文,因此整个挥手过程中需要8个数据包。在挥手过程中,客户端和服务器分别表示自己不在发送数据,但仍可以接收数据,以避免可能的数据丢失。最后,客户端和服务器都确认对方已经释放连接,关闭连接。

这篇关于TCP协议三次握手、四次挥手的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1004149

相关文章

探索蓝牙协议的奥秘:用ESP32实现高质量蓝牙音频传输

蓝牙(Bluetooth)是一种短距离无线通信技术,广泛应用于各种电子设备之间的数据传输。自1994年由爱立信公司首次提出以来,蓝牙技术已经经历了多个版本的更新和改进。本文将详细介绍蓝牙协议,并通过一个具体的项目——使用ESP32实现蓝牙音频传输,来展示蓝牙协议的实际应用及其优点。 蓝牙协议概述 蓝牙协议栈 蓝牙协议栈是蓝牙技术的核心,定义了蓝牙设备之间如何进行通信。蓝牙协议

【杂记-浅谈DHCP动态主机配置协议】

DHCP动态主机配置协议 一、DHCP概述1、定义2、作用3、报文类型 二、DHCP的工作原理三、DHCP服务器的配置和管理 一、DHCP概述 1、定义 DHCP,Dynamic Host Configuration Protocol,动态主机配置协议,是一种网络协议,主要用于在IP网络中自动分配和管理IP地址以及其他网络配置参数。 2、作用 DHCP允许计算机和其他设备通

TCP 可靠传输的工作原理

转载地址:https://my.oschina.net/xinxingegeya/blog/485233 感谢原作者 TCP 可靠传输的工作原理 ARQ(Automatic Repeat-reQuest)(自动重传请求) 停止等待ARQ协议 连续ARQ协议   停止等待ARQ协议 全双工通信的双发既是发送方也是接收方。下面为了讨论问题的方便,我们仅考虑A发送数据而B接受数据

视频监控平台:支持交通部行业标准JT/T905协议(即:出租汽车服务管理信息系统)的源代码的函数和功能介绍及分享

目录 一、视频监控平台介绍 (一)概述 (二)视频接入能力介绍 (三)功能介绍 二、JT/T905协议介绍 (一)概述 (二)主要内容 1、设备要求 2、业务功能要求 3、技术功能要求 4、性能要求 5、接口要求 6、设备通信协议与数据格式 三、代码和解释 (一)代码和注释 (二)函数功能说明 1. 头文件保护 2. 包含必要的头文件 3. 引入命名空间std

ESP32使用MQTT_TCP连接阿里云

ESP32-IDF中MQTT函数的介绍 esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config) 函数功能:mqtt 客户端初始化 函数形参: mqtt 客户端的配置 函数返回值:正确则返回根据配置创建的 mqtt 客户端句柄;异常则返回 NULL。 其中函数形参 esp_mqtt

计算机网络协议常考点!!!

应用层协议 HTTP协议 基于TCP协议,是一种用于传输超文本和多媒体内容的协议,主要是为浏览器之前的通信而设计的; get请求和post请求区别 请求参数位置不同:get会将请求参数放在URL后面并通过&运算符连接,而post提交会将请求参数放在请求体里; 请求数据量不同:get的请求参数会受到浏览器对URL最大长度的限制,而post是将请求参数放在请求体中,可以请求大量数据; 安全

网络编程篇:HTTP协议

一.预备知识 在客户端访问服务端时,要用ip+port,但是在日常用户访问服务端的时候,并不会直接使用ip,而是使用域名,比如:百度(www.baidu,com)。                                                                                    在浏览器处理时,会将域名解析为对应的ip+port。

【LinuxC语言】第一个简单的tcp/ip客户端

文章目录 前言一、客户端连接服务器的示意图二、客户端涉及的相关函数socket函数connect函数struct sockaddr结构体相关的转换函数connect主体函数 发送数据函数接收数据函数关闭socket客户端示例代码 总结 前言 在计算机网络中,TCP/IP 是最常见的网络协议。它为我们提供了一种可靠的方式来发送和接收数据。在这篇文章中,我们将使用 Linux C

rtp与rtcp协议详解

目录: 1 RTP概述 1.1 是什么RTP1.2 RTP的应用环境 2 RTP详解 2.1 RTP的协议层次 2.1.1 传输层的子层2.1.2 应用层的一部分 2.2 RTP的封装2.3 RTCP的封装2.4 RTP的会话过程 3 相关的协议 3.1 实时流协议RTSP3.2 资源预定协议RSVP 4 常见的疑问5 实现方案6 参考资料 1 RTP概述 1.1 是什么RTP

RTSP协议,这个写的不错,赚了

1. RTSP连接的建立过程       RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClientSession类,用于处理单独的客户会话。       首先创建RTSP服务器(具体实现类是DynamicRTSPServer),在创建过程中,先建立Socket(ourSocket)在TCP的554端口进行监听,然后把连接处理函数句柄(RTSPSer