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

电子商务网站建设调查报告学生网页设计主题推荐

电子商务网站建设调查报告,学生网页设计主题推荐,做洗衣液的企业网站,藁城住房和城乡建设局网站接下来,以三个方面分析三次握手的原因: 1、三次握手才可以阻止重复历史连接的初始化(主要原因) 2、三次握手才可以同步双方的初始化序列号 3、三次握手才可以避免资源浪费 原因一:避免历史连接 简单来说&#xff0…

接下来,以三个方面分析三次握手的原因:

1、三次握手才可以阻止重复历史连接的初始化(主要原因)

2、三次握手才可以同步双方的初始化序列号

3、三次握手才可以避免资源浪费

原因一:避免历史连接

        简单来说,三次握手的首要原因是为了防止旧的重复连接初始化造成混乱。

        我们考虑个场景,客户端发送了SYN(seq=90)报文,然后客户端宕机了,而且这个SYN报文还被网络阻塞了,服务端并没有收到,接着客户端重启后,又重新向服务端建立连接,发送了SYN(seq=100)报文。       

        三次握手是如何阻止历史连接的?

         客户端连续发送多次SYN(都是同一个四元组)建立连接的报文,在网络拥堵情况下:

  •   一个旧SYN报文比最新的SYN报文早到达了服务端,那么此时服务端就会回一个SYN+ACK报文给客户端,此报文中的确认号是91(90+1)。
  • 客户端收到后,发现自己期望收到的确认号是100+1,而不是90+1,于是就会回RST报文。
  • 服务端收到RST报文后,就会释放连接。
  • 后续最新的SYN抵达了服务端后,客户端与服务端就可以正常的完成三次握手了。

        上述中的“旧SYN报文”称为历史连接,TCP使用三次握手建立连接的最主要原因就是防止历史连接初始化了连接。

        如果是两次握手连接,就无法阻止历史连接,那为什么TCP两次握手无法阻止历史连接呢?

        因为在两次握手的情况下,服务器没有中间状态给客户端来阻止历史连接,导致服务端可能建立一个历史连接,造成资源浪费。

原因二:同步双方初始序列号

        TCP协议的通信双方,都必须维护一个序列号,序列号是可靠传输的一个关键因素,它的作用:

  •   接收方可以去除重复的数据;
  • 接收方可以根据数据包的序列号按序接收;
  • 可以标识发送出去的数据包中,哪些是已经被对方收到的(通过ACK报文中的序列号知道);

        可见,序列号在TCP连接中占据着非常重要的作用,所以当客户端发送携带初始序列号的SYN报文的时候,需要服务端回一个ACK应答报文,表示客户端的SYN报文已被服务端成功接收,那当服务端发送初始序列号给客户端的时候,依然也要得到客户端的应答回应,这样一来一回,才能确保双方的初始序列号能被可靠的同步。

        四次握手其实也能够可靠的同步双方的初始化序号,但由于第二步和第三步可以优化成一步,所以就成了三次握手。

原因三:避免资源浪费

        如果服务端发送的SYN报文在网络中阻塞了,重复发送多次SYN报文,那么服务端在收到请求后就会建立多个冗余的无效连接,造成不必要的资源浪费。(缺少中间状态--RST)

总结

        TCP建立连接时,通过三次握手能防止历史连接的建立,能减少不必要的资源开销,能帮助双方同步初始化序列号。序列号能保证数据包不重复、不丢弃和按序传输。

        不使用两次握手和四次握手的原因?

  •   两次握手:无法防止历史连接的建立,会造成双方资源的浪费,也无法可靠的同步双方序列号。
  • 四次握手:三次握手就已经理论上最少可靠连接建立,所以不需要使用更多的通信次数。

http://www.dtcms.com/a/593785.html

相关文章:

  • wordpress全站模板阿里巴巴的关联网站
  • 卫生器具工程量清单计量
  • 2025年11月10日 AI快讯
  • 新康芮邹圣灿与德克萨斯大学杰瑞・肖恩教授进行学术会晤
  • 今日行情明日机会——20251110
  • Linux之rsyslog(4)属性配置
  • 解码维立志博研发日:IO 2.0 时代的中国答卷与破局之道
  • Python的特殊方法和调用
  • 网站数据库怎么建立wordpress 转为中文版
  • 电子商务网站设计毕业设计论文wordpress怎样做手机站
  • 01机器学习中的一些基本概念(重点)
  • TDengine 字符串函数 FIND_IN_SET 用户手册
  • FastAPI × SQLAlchemy 2.0 Async:从“能跑”到“可压测”的完整工程实践
  • 伪装图像生成之——GAN与Diffusion
  • 分布式系统中的CAP理论和BASE理论
  • 做网站建设的怎么赢利网站建设多少费用
  • Python字典--第1关:元组使用:这份菜单能修改吗?
  • 【S2ANet】Align Deep Features for Oriented Object Detection 译读笔记
  • 二维数组及经典案例
  • 【VMware Workstation】虚拟机网络配置流程+MobaXterm连接步骤
  • 西安微网站建设wordpress视频预览插件
  • CodeBuddy + GLM-4.6:儿童诗词宝典全栈开发实战
  • PSU过程11.2.0.4.250415
  • Nanopb基本概念
  • 微网站开发平台 知乎东家乐装修公司简介
  • 基于交替方向乘子法(ADMM)的RPCA MATLAB实现
  • redis删除一个键用del还是unlink
  • 用vue.js做网站百度区域代理
  • 好人一生平安网站哪个好抖音代运营培训
  • 前端基础面试题(Css,Html,Js,Ts)