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

在哪做网站鞍钢节能公司网站开发

在哪做网站,鞍钢节能公司网站开发,禅城区城乡建设局网站,网站开发网页超链接路径一、TCP 三次握手(建立连接) TCP 是面向连接的、可靠的传输层协议,为了建立可靠的连接,TCP 采用三次握手(Three-way Handshake)机制。 1.1 三次握手过程次数发送方接收方说明第一次握手发送 SYN1&#xff0…

一、TCP 三次握手(建立连接)

TCP 是面向连接的、可靠的传输层协议,为了建立可靠的连接,TCP 采用三次握手(Three-way Handshake)机制。

1.1 三次握手过程

次数发送方接收方说明
第一次握手发送 SYN=1,seq=x客户端发送连接请求,进入 SYN_SEND 状态
第二次握手发送 SYN=1,ACK=1,seq=y,ack=x+1服务器收到请求,确认后进入 SYN_RCVD 状态
第三次握手发送 ACK=1,seq=x+1,ack=y+1客户端收到确认,进入 ESTABLISHED 状态,服务器收到后也进入 ESTABLISHED

1.2 报文示意图

客户端                             服务器| ----------- SYN ------------> || <-------- SYN + ACK --------- || ----------- ACK ------------> |
连接建立

1.3 握手各个阶段详解

  • 第一次握手
    客户端发送一个带 SYN 标志的数据包,表示请求建立连接,包内包含初始序列号 seq = x

  • 第二次握手
    服务器收到 SYN 包,确认(ACK)客户端的 SYN,同时发送自己的 SYN,seq = yack = x+1

  • 第三次握手
    客户端收到 SYN+ACK,发送 ACK 确认,ack = y+1

连接正式建立,双方可以开始数据传输了。


二、为什么需要三次握手?

  • 防止历史连接请求造成的错误连接(防止旧的重复连接初始化请求报文被服务器误处理)。
  • 确认双方的接收与发送能力均正常。
  • 确认客户端的初始序列号,服务器的初始序列号。

三、TCP 四次挥手(释放连接)

TCP 连接释放采用四次挥手(Four-way Handshake)机制,目的是保证双方都能彻底释放连接,避免数据丢失。

3.1 四次挥手过程

次数发送方接收方说明
第一次挥手发送 FIN=1,seq=u客户端请求关闭连接,进入 FIN_WAIT_1
第二次挥手发送 ACK=1,ack=u+1服务器确认关闭请求,进入 CLOSE_WAIT,客户端进入 FIN_WAIT_2
第三次挥手发送 FIN=1,seq=v服务器准备关闭,通知客户端
第四次挥手发送 ACK=1,ack=v+1客户端确认,进入 TIME_WAIT,服务器关闭,最后客户端关闭

3.2 报文示意图

客户端                             服务器| ----------- FIN ------------> || <----------- ACK ------------ || <----------- FIN ------------ || ----------- ACK ------------> |
连接关闭

3.3 各阶段详解

  • 第一次挥手
    客户端主动发送 FIN,表示不再发送数据,进入 FIN_WAIT_1

  • 第二次挥手
    服务器收到 FIN,返回 ACK,进入 CLOSE_WAIT,客户端进入 FIN_WAIT_2

  • 第三次挥手
    服务器处理完剩余事务后,发送 FIN,通知客户端,进入 LAST_ACK

  • 第四次挥手
    客户端确认后,进入 TIME_WAIT,等待 2MSL 后,最终关闭。


四、为什么需要四次挥手?

  • TCP 是全双工通信,关闭需要双方单独关闭各自的发送方向。
  • 第二次挥手后,服务器可能还有数据未发送完,不能直接关闭,需等待全部发送完成才发 FIN。

五、TIME_WAIT 状态及意义

  • 保证最后一个 ACK 能被对方接收到(如果丢失,服务器会重发 FIN)。
  • 防止旧连接中的延迟数据影响新连接。
  • 通常等待时间是 2 倍的 MSL(Maximum Segment Lifetime)。

六、状态迁移图(简化版)

客户端状态:
CLOSED -> SYN_SENT -> ESTABLISHED -> FIN_WAIT_1 -> FIN_WAIT_2 -> TIME_WAIT -> CLOSED服务器状态:
CLOSED -> LISTEN -> SYN_RCVD -> ESTABLISHED -> CLOSE_WAIT -> LAST_ACK -> CLOSED

七、总结对比

建立连接断开连接
三次握手四次挥手
双方都需要确认对方双方都需要关闭发送功能
主要防止失效连接请求确保数据完整可靠传输

八、附加 — 常见面试考点

  • 为什么不是两次握手?
    防止失效的连接请求导致的伪连接。

  • 为什么不是三次挥手?
    因为连接是双向的,必须双方都关闭发送端。

  • TIME_WAIT 为什么必须有?
    确保可靠性,避免延迟包干扰。

  • 如果客户端 TIME_WAIT 太多怎么办?

    • 调整操作系统参数,缩短 TIME_WAIT 时间
    • 使用连接复用(如 HTTP Keep-Alive)
http://www.dtcms.com/a/420764.html

相关文章:

  • 网站放到iis如何做指向内网安装wordpress
  • 去他的4.3a
  • 成都网站seo厂家wordpress rss解析
  • 网站开发 接口还是ajax如何选择o2o网站建设
  • 个人介绍网站模板舆情分析报告范文
  • 传输层协议与 Socket API 网络编程
  • 山东网站制作上海建站系统
  • 甘肃网站建设哪家好js模拟点击网站的按钮
  • 摇一摇抽签用什么网站做阿里邮箱企业版app下载
  • 做网站傻瓜软件淮安网站制作设计
  • 常州网站建设方案维护建设银行etc信用卡申请网站
  • 企业网站的网址通常包括网站色调设计方案
  • 建设网站深圳seo点击排名
  • Linux之vi编辑器
  • 范例网站怎么做制作ppt免费软件
  • 网站做桌面应用 iOS网站做影集安全吗
  • 企业静态网站需要备案吗成都网站制作网站设计
  • 设计的网站都有哪些上海有哪些做网站的公司
  • 网站建设公司宣传语网页制作哪家服务好
  • dede 网站版权信息最让顾客心动的促销活动
  • 坚持写博客-前序
  • 动态ip建设网站网络营销推广软件
  • 常州金坛建设局网站外包
  • 龙岗网站建设价位shop++是什么
  • 海外短剧 APP 开发:Google Play/App Store 上架合规与性能优化​
  • 济南集团网站建设公司好国外工业设计网站
  • 网站排名标准app制作需要学什么
  • 基于 Spring Security 的最小项目模板
  • SpringBoot 自定义字典翻译组件
  • Interview-SpringCloud/SpringBoot