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

TCP IP

TCP/IP 通信协议,不是单一协议,是一组协议的集合 TCP IP UDP

1.建立链接 三次握手

第一步:客户端发送一个FIN报文,SEQ=X,等待服务器回应

第二步:服务器端受到,发送ack=x+1,seq=y, 等待客户端回应

第三步:客户端受到,返回 ACK=y+1,连接建立

a:首先客户端先向服务器端发送一个TCP报文

标记位为SYN,表示“请求建立新连接”;
序号为Seq=X(X一般为1)(传输信息的时候每个数据包的序号);
随后客户端进入SYN-SENT阶段(请求连接的阶段)。

b:服务器端收到来自客户端的TCP报文之后,结束LISTEN阶段。并返回一段报文

标志位为SYN和ACK,表示“确认客户端的报文Seq序号有效,服务器能正常接收客户端发送的数据,并同意创建新连接”(即告诉客户端,服务器收到了你的数据);
序号为Seq=y;(返回一个收到信息的数据包 并给其标序号为y)
确认号为Ack=x+1,表示收到客户端的序号Seq并将其值加1作为自己确认号Ack的值(两端配对 接收到消息 并反馈的过程;随后服务器端进入SYN-RCVD阶段。
ACK:代表确认收到消息

c:客户端接收到来自服务器确认收到数据的TCP报文后,明确了从客户端到服务器的数据传输是正常的,结束SYN-SENT阶段,并返回一段TCP报文

标志位为ACK,表示“确认收到服务器端同意连接的信号”(即告诉服务器,我知道你收到我发的数据了);
序号为Seq=x+1,表示收到服务器端的确认号Ack,并将其值作为自己的序号值;
确认号为Ack=y+1,表示收到服务器端序号Seq,并将其值加1作为自己的确认号Ack的值;
随后客户端进入ESTABLISHED阶段。(即成功建立了连接)

断开连接,四次挥手

在这里插入图片描述

http://www.xdnf.cn/news/5266.html

相关文章:

  • 社区商城分销团长扩充与扩散策略优化的系统方案
  • Information Fusion期刊期刊投稿经验分享
  • 23、DeepSeekMath论文笔记(GRPO)
  • 计算机网络与多线程同步机制详解
  • Linux系统之----模拟实现shell
  • 轻量级因果语言视觉模型简述:nanoVLM-222M
  • 每日一题:两个仓库的最低配送费用问题
  • DNS负载均衡和CDN的区别
  • Redis 主从同步与对象模型(四)
  • 出现 SEGMENT: ?C_INITSEG 的原因:
  • ERP学习(一): 用友u8安装
  • 结合 ECharts / Ant Design Blazor 构建高性能实时仪表盘
  • smbd:快速拉取服務端SMB共享文件脚本工具
  • 从0开始学linux韦东山教程第三章问题小结(2)
  • 长短期记忆网络(LSTM)深度解析:理论、技术与应用全景
  • 每日算法刷题Day2 5.10:leetcode数组1道题3种解法,用时40min
  • MySQL索引详解(上)(结构/分类/语法篇)
  • Excel里面怎样批量去掉字串包含的标点符号
  • Qt解决自定义窗口样式不生效问题
  • 基于ssm+mysql的快递管理系统(含LW+PPT+源码+系统演示视频+安装说明)
  • Linux 离线安装 Docker 和 Docker Compose 最新版 的完整指南
  • 【Linux基础】程序和软件安装管理命令
  • Python爬虫学习路径与实战指南 06
  • Java基础 集合框架 Collection接口和抽象类AbstractCollection
  • Java Spring 常用注解详解
  • 算法-贪婪算法
  • en33网络配置文件未托管
  • 【MyBatis-7】深入理解MyBatis二级缓存:提升应用性能的利器
  • Python核心编程深度解析:作用域、递归与匿名函数的工程实践
  • 17.Excel:实用的 VBA 自动化程序