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有一个重要的特性,就是可靠性

怎么实现可靠性呢?

 就是我现在发一个消息给到对方,
 并不是我发完了就完了,
 需要对方说我收到了,这样算真的发成功

 只要它没有说,
 我就要不停的重复的发,这就是可靠性。

 通过可靠性可以反推出,
 我们在发的过程中,怎么证明我这个消息发过去了,
 我才能发下一个消息,
 这样我们需要对每一个消息进行编号,
 就是所谓的序列号:sequence (seq)


现在的客户端和服务器在同步的同时发消息
(同时发消息也叫双工),
就需要知道对方的序列号,否则的话,
就无法回复说我收到你哪一个消息的序列号,
是第一个第二个还是第三个消息。

单工:一个只能发送,另一个只能接受

这里的序列号不能从0开始,客户端和服务器会建立很多个连接,如果从0开始,这样就会产生混淆。

所以序列号会根据很多设置生成的,相对随机一些的。


在TCP在通信之前,就需要获得对方的序列号,怎么获得呢?就需要三次握手来获得。

当然在握手中不只是同步序列号,还做了其他事情,比如同步MSS(最大报文长度)、同步滑动窗口等

为什么是三次握手,不是两次握手呢?

为什么不是四次握手,客户端发送连接,服务端回复确认,服务端发送连接,客户端回复收到。

关闭连接是四次,为什么建立连接是三次??

关闭连接简称关连接

关连接的时候,它可以让连接处于半打开状态,继续传输消息,
也就是说服务器说我关连接了,客户端没有关连接的情况下,客户端还能继续长时间发送消息,
只要服务器没有强制关链接的情况下,在符合协议的情况下,它可以几天几个月的不关都是可以的。
在像Linux操作系统下,永远不会对半打开状态设置超时时间,可以无限的使用这个时间。

在建立连接的过程中,不允许出现,连接处于半打开状态,半建立的状态下,就开始传输消息。
这是TCP的规范所不允许的。
所以,服务器在回复ACK的时候,它就必须把它的seq发过来,这样就是三次握手。
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 11:11:55  更:2021-07-23 11:13:21 
 
开发: 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/7 2:19:06-

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