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的三次握手

TCP连接的建立采用客户服务器方式。主动发起连接的建立的应用进程叫做客户(client),而被动等待连接建立的应用进程叫做服务器(server)。
为什么不使用两次
(1)不使用两次的原因:假设客户端发送建立连接的请求由于网络原因滞留在了网络中,没有到达服务端,客户端没有收到确认请求就会进行超时重传这个建立连接的请求,假设服务端收到了第二次建立的连接请求,并返回向客户端发送同意建立连接的报文,至此,连接建立,之后发送数据,数据发送完之后关闭连接。
(2)若此时,滞留在网络中的客户端发送的第一次连接请求有到达了服务端,此时服务端并不知道这是之前的连接请求,会以为客户端又要建立连接,然后服务端发送给客户端同意建立连接的报文,至此又建立一次连接。
(3)如果使用三次握手,客户端在收到第(2)步中的同意建立连接的报文之后,就会丢弃,因为客户端自己知道自己没有要建立连接请求。
为什么不使用四次握手建立连接
(1)第一次握手:服务端:知道了客户端发送的情况,服务端接收的情况
(2)第二次握手:客户端:知道了客户端的发送和接收情况,服务端可以发送和接收
(3)第三次握手:服务端:服务端可以知道自己的发送情况,客户端的接收情况
至此:客户端和服务端都知道了对方的发送和接收能力,所以四次握手就会显得多余或者浪费资源。
在这里插入图片描述

TCP的四次挥手释放

客户端在收到服务端的关闭请求之后,为什么要等待2ML?
(1)为了保证客户端发送的最后一个ACK报文段能够到达服务端。这个ACK报文段有可能丢失,因而使处在LAST_ACK状态的B收不到对已发送的FIN+ACK报文段的确认。
此时服务端会超时重传这个FIN+ACK报文段,而客户端就能在2MSL时间内收到这个重传的FIN+ACK报文段。
接着客户端重传一次确认,重新启动2MSL计时器。
最后,客户端和服务端都正常进入到CLOSED状态。如果客户端在TIME-WAIT状态不等待一段时间,而是在发送完ACK报文段后立即释放连接,那么就无法收到服务端重传的FIN+ACK报文段,因而也不会再发送一次确认报文段。
这样,服务端就无法按照正常步骤进入CLOSED状态。
(2)防止"已失效的连接请求报文段"出现在本连接中。客户端在发送完最后一个ACK报文段后,再经过时间2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。
服务端只要收到了客户端发出的确认,就进入CLOSED状态。
同样,服务端在撤销相应的传输控制块TCB后,就结束了这次的TCP连接。我们注意到,服务端结束TCP连接的时间要比客户端早一些。
在这里插入图片描述

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

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