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

计算机网络--2

TCP三次握手

TCP连接为什么需要三次握手

1. 由于网络情况复杂,可能会出现丢包现象,如果第二次握手的时候服务器就认为这个端口可用,然后一直开启,但是如果客户端未收到服务器发送的回复,那么就会重新发送请求,服务器就会重新开启一个端口连接,这样就会浪费一个端口。

三次握手每一次没收到报文会怎么样

第一次没收到,服务器不会有任何动作,客户端进入syn-send状态后,等待一段时间,发现没有回复,就会重复这个过程,直到发送次数大于最大重传次数

第二次没有收到,客户端继续重传,服务器会阻塞在accept()(syn-rcvd)状态,等待客户端发送ack报文

第三次没有收到,服务器重传,如果超过次数限制,那么accept()调用返回-1,同时向客户端发送RST报文,消除客户端的单方面连接

第二次握手传回的报文为什么syn = 1?

告诉客户端这响应的时客户端发送的报文

第三次握手可以携带数据吗

两次握手后客户端已经进入established状态,可以发送数据

note:第一次握手不允许发送数据,但是会消耗一个序号,服务器的返回也是

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

相关文章:

  • 基于LLM的6G空天地一体化网络自进化安全框架
  • ubuntu22.04在 Docker容器中安装 ROS2-Humble
  • RuoYi-v4.7.8 jar/war部署
  • RabbitMQ学习(第三天)
  • Spark任务调度流程详解
  • Java大师成长计划之第18天:Java Memory Model与Volatile关键字
  • 游戏引擎学习第273天:动画预览
  • BGP联盟
  • MNIST DDP 分布式数据并行
  • 「OC」源码学习—— 消息发送、动态方法解析和消息转发
  • Docker拉取ubuntu22.04镜像使用ROS2 humble及仿真工具可视化进行导航
  • 【大模型面试每日一题】Day 15:流水线并行的Bubble问题及其缓解方法
  • Apache Flink 与 Flink CDC:概念、联系、区别及版本演进解析
  • 花朵识别系统Python+深度学习+卷积神经网络算法+TensorFlow+人工智能
  • Newton GPU 机器人仿真器入门教程(零)— NVIDIA、DeepMind、Disney 联合推出
  • 【目标检测系列】YOLOV1解读
  • openjdk底层汇编指令调用(一)——汇编指令及指令编码基础
  • 通过 Azure DevOps 探索 Helm 和 Azure AKS
  • Spark 中RDD、Job,stage,task的关系
  • ActiveMQ 生产环境问题排查与调优指南(一)
  • 编程日志5.3
  • 智能语音助手的未来:从交互到融合
  • 实战项目3(04)
  • 画立方体软件开发笔记 js-pytorch xlsx 导出 excel pnpm安装
  • uni-app学习笔记(二)--vue页面代码的构成和新建页面
  • Pandas学习笔记(四)
  • 嵌入式硬件篇---UART
  • 外网访问内网海康威视监控视频的方案:WebRTC + Coturn 搭建
  • Python OpenCV性能优化与部署实战指南
  • python 实现文件批量重命名