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首部内容:同步SYN=1,确认ACK=0,号seq=x。
  • 根据TCP首部的内容,表示这是个请求建 立连接的数据包,期seq=x 为所传送数据的第一个字节的序号。

第二次握手:

  • 服务器收到客户端发送的第一 个数据包后,根据SYN=1 与ACK=0 ,判断出为主动建立连接的数据包。
  • 若服务器同意连接,则服务器发送一个数据包进行回应。
  • 数据包的TCP首部内容:同步SYN=1,确认ACK=1,序号seq=y,确认号ack=x+1
  • 确认ACK=1,代表服务器同意连接;
  • 号seq=y的值由服务器指定,示服务器发送数据时的第一个数据字节的序号;
  • 确认号! ack=x+1,表示已经收到客户端发送的x字节数据,并告诉客户端下次应从数据的第x+1 个字节开始发送;

第三次握手:

  • 客户端收到服务器的确认之后,再给服务器发送一 个数据包。
  • 数据包的TCP首部内容:同步SYN=0,确认ACK=1,序号seq=x+1,确认号ack=y+1
  • SYN=0,示双方已同意建立连接;
  • 确认ACK=1 ,示收到服务器的确认数据包;
  • 号seq=x+1 ,表示发出的数据包就是数据的第x+1 个字节;
  • 确认号ack=y+1 ,表示收到服务器发送y字节数据,并告诉服务器下次应从数据的第y+1 个字节开始发送。

?

二.TCP三次握手的原因

原因如下:

????????建立tcp连接的前两次握手,一个是客户端向服务器发出建立连接的请求,另一次是服务器向客户端确认收到这个请求,这两次只能证明客户端与服务器之间的网络是通畅的,最后一次握手是为了让客户端确认收到服务器发送的数据,避免服务器等待造成资源浪费 。如果过于频繁会导致服务器停止响应。

举个🌰:

????????客户端先发出了一个建立请求的请求数据包,但是由于网络的原因,客户端在设定的超时时间内还未收到服务器的确认数据包,于是又发出第二次的建立链接的请求数据包,这一次网络通畅,数据包很快到达服务器,服务器确认后发送收到的数据包,又开始接下来的数据传递。但是这个时候客户端第一次发出的建立请求的请求数据包到达了服务器,服务器会向向客户端发送确认数据包,由于客户端已经收到了一个确认数据包,所以会忽略服务器发来的第二个确认数据包。但服务器发出确认数据包就一直等待客户端的回复,这就造成服务器的无效等待以及资源浪费。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:24:17  更:2022-09-30 01:24:37 
 
开发: 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/15 9:26:29-

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