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连接作为一种可靠连接,需要两个端点都发送请求和收到确认才可以进行数据通信。

——————————————————————————————————————

建立连接图示:


如图所示,首先客户端需要发送连接请求(Syn为同步报文),服务端接受请求后返回收到确认(Ack为确认报文)。然后客户端收到了服务端返回的ACK报文后也向服务端返回ACK报文,分配资源,至此TCP连接就形成。

断开连接图示:

在这里插入图片描述
如图所示,首先客户端需要发送关闭请求(FIN为关闭连接报文),服务端接受请求后返回收到确认(Ack为确认报文)。但此时很可能不会立刻关闭Socket连接,因为很可能服务端有尚未传送完毕的数据。只有等待服务端所有的报文发送完毕后,才向客户端发送FIN报文。
在这个过程中,客户端接收到服务端的ACK报文后,进入等待服务端完成剩余报文传输状态,然后在接受到服务端的FIN报文后,返回一个ACK报文给服务端。但是由于网络是不可靠的,我们必须保证连接关闭,所以此时客户端需要等待最大报文段生存时间,在这段时间内如果没有再收到来自服务端的请求,则说明ACK回复报文发送成功,连接结束。否则说明报文丢失,需要再次重发ACK报文。

举个很好理解的例子:
其实就像是古代和邻国(客户端)通信约好一起打另一个国家一样,邻国写信通知我这件事“我攻打左部,你攻打右部”,我要回信告诉他“你的请求我已经知道了”,同时邻国也需要返回一次来告诉我“现在出兵!”
至此我们完成一次通信,我当然也可以继续给邻国发送确认回信,为了一直确认降低风险无数次都可以,但是最少需要三次。

而结束战争的时候,我们需要进行四次挥手,是因为邻国告诉我“他已经拿下敌国左部,准备收兵”而我在右部还剩下少量敌军尚未解决,我只能告诉他“我收到你的信息了”。那这时候他就需要等待我结束战斗,等到我结束了战斗以后我就告诉他“我已经解决右部了,现在收兵”,然后邻国就回信告诉我“收到”。但是邻国因为担心信使在路上被拦截,所以需要等待多一段时间(最大报文段生存时间),如果在这个时间中,我没回信则说明通讯皆成功,大捷收兵。

这样,应该可以很简单易懂地理解为什么TCP连接需要三次握手,四次挥手了吧。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 11:24:18  更:2021-12-10 11:25:41 
 
开发: 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年11日历 -2024/11/26 10:16:35-

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