当前位置: 首页 > news >正文

网络原理--TCP/IP(2)

我们在之前已经介绍到TCP协议的核心机制二,接下来我们将继续介绍其他的核心机制。

核心机制三:连接管理

即建立连接,断开连接,在正常情况下,TCP要经过三次握⼿建⽴连接,四次挥⼿断开连接。

建立连接:TCP是通过“三次握手”

在生活中的握手就是打招呼,,但握手操作没有实际的业务,只是打个“打个招呼”,我发送一个不携带业务的数据,通过这个数据和对方“打招呼”,像HTTPS、获取证书、验证证书,加密对称密钥、传输对称密钥等就是SSL协议的“握手流程”。

具体流程:

A给B发送同步报文段sync(synchronizd),在TCP中的同步,指的是数据上的同步,A告诉B,接下来我要和你建立连接,就需要你把我的关键信息保存好,同时你也把你的信息发送给我,然后B会给A返回一个ack和syn,然后A再返回一个ack.即各自让对方保存一下自己的关键信息,并各自给对方返回一个ack,告知自己收到了。

客户端和服务器在同一个场景下可以扮演不同的角色,主动发起syn的一方是客户端;在网络传输中,是要能够进行“封装和分用”的,且合并操作,是能够提高传输的效率。

注:syn这一位为1,表示同步报文.

三次握手原理:

第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端;

第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了;

第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。

其中:SYN标志位数置1,表示建立TCP连接;ACK标志表示验证字段。

详细过程


‌第一次握手‌:客户端发送一个SYN报文段,表示希望建立连接。该报文段包含一个随机生成的初始序列号(Seq=x),用于标识数据传输的起点。此时,客户端进入SYN_SENT状态。‌‌

‌第二次握手‌:服务器收到SYN报文段后,发送一个SYN-ACK报文段作为响应。该报文段包含一个随机生成的序列号(Seq=y)以及对客户端序列号的确认(Ack=x+1)。服务器此时进入SYN_RCVD状态,等待客户端的确认。

‌第三次握手‌:客户端收到SYN-ACK报文段后,发送一个ACK报文段作为确认。该报文段包含对服务器序列号的确认(Ack=y+1)。此时,客户端进入ESTABLISHED状态,表示连接已建立。服

http://www.lryc.cn/news/545016.html

相关文章:

  • Ragflow与Dify之我见:AI应用开发领域的开源框架对比分析
  • 文件上传漏洞绕过WAF
  • [含文档+PPT+源码等]精品基于Python实现的vue3+Django计算机课程资源平台
  • Qt 开源音视频框架模块之QtAV播放器实践
  • 【前端】XML,XPATH,与HTML的关系
  • ubuntu服务器安装VASP.6.4.3
  • 市场加速下跌,但监管「坚冰」正在消融
  • 7.2 - 定时器之计算脉冲宽度实验
  • Imagination DXTP GPU IP:加速游戏AI应用,全天候畅玩无阻
  • 关于流水线的理解
  • 采样算法二:去噪扩散隐式模型(DDIM)采样算法详解教程
  • 北京大学DeepSeek提示词工程与落地场景(PDF无套路免费下载)
  • Hutool - POI:让 Excel 与 Word 操作变得轻而易举
  • IDEAPyCharm安装ProxyAI(CodeGPT)插件连接DeepSeek-R1教程
  • Iceberg Catalog
  • 2025年2月个人工作生活总结
  • vscode java环境中文乱码的问题
  • Java数据结构第十五期:走进二叉树的奇妙世界(四)
  • 【MySQL】CAST()在MySQL中的用法以及其他常用的数据类型转换函数
  • 使用Truffle、Ganache、MetaMask、Vue+Web3完成的一个简单区块链项目
  • 初出茅庐的小李博客之按键驱动库使用
  • 如何调试Linux内核?
  • ECharts组件封装教程:Vue3中的实践与探索
  • NAT 代理服务 内网穿透
  • CAN硬件协议详解
  • 网络安全等级保护:网络安全等级保护基本技术
  • 信刻光盘安全隔离与信息交换系统让“数据摆渡”安全高效
  • 数据结构课程设计(java实现)---九宫格游戏,也称幻方
  • [思考记录]AI时代下,悄然的改变
  • JAVA笔记【一】