IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP的三次握手和四次断开详解 -> 正文阅读

[网络协议]TCP的三次握手和四次断开详解

TCP:传输控制协议----是一种面向连接的、可靠的、基于字节流的传输层通信协议

一.TCP三次握手

? ?所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。整体流程如图:

第一次握手

? ? 建立连接时,客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手

? ? 服务器收到syn包,必须确认客户的SYN,同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手

? ? 客户端收到服务器的SYN_ACK包,向服务器发送确认包ACK,此时包发送完毕,客户端贺1服务端进入ESTABLISHED状态,完成三次握手;

为什么要进行三次握手?

? ? 为了保证客户端发送的最后一个ACK报文能够到达服务端。三次握手才能确认两方都准备好了。

二.TCP四次挥手

?

第一次挥手

? ? ?客户端向服务端发送一个FIN报文段;然后,客户端进入FIN_WAIT_1状态,这表示客户端没有数据要发送给服务端了

第二次挥手

? ? 服务端收到客户端发送的FIN报文段,向客户端回一个ACK报文段;客户端进入FIN_WAIT_2状态;服务端告诉客户端,我“同意”你的关闭请求;

第三次挥手

? ? 服务端向客户端发送FIN报文段,请求关闭连接,同时服务端进入FIN_ACK状态

第四次挥手

? ? 客户端接收到服务端发送的FIN报文段,向服务端发送ACK报文段,然后客户端进入TIME_WAIT状态;服务端接收到客户端的ACK报文段以后,就关闭连接;此时,客户端等待2MSL后依然没有收到回复,则证明server端已正常关闭,那么,客户端也可以关闭连接了;

这就是TCP的三次握手和四次断开的基本过程。

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:37:39  更:2022-08-19 19:39:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 9:44:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码