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

互联网行业信息网站天津优化加盟

互联网行业信息网站,天津优化加盟,海南爱心扶贫网站是哪个公司做的,百姓网二手房文章目录 一、TCP可靠传输实现二、TCP超时重传时间选择 一、TCP可靠传输实现 TCP可靠传输的实现,主要基于发送方和接收方的滑动窗口,以及确认机制: 发送方在未收到确认(ACK)前,可以将序号落在发送窗口内的…

文章目录

  • 一、TCP可靠传输实现
  • 二、TCP超时重传时间选择


一、TCP可靠传输实现

  TCP可靠传输的实现,主要基于发送方和接收方的滑动窗口,以及确认机制:

  • 发送方在未收到确认(ACK)前,可以将序号落在发送窗口内的数据段连续发送,但这些数据段必须保留在缓存中,不能释放,以便在超时或接收到重复 ACK 时进行重传。发送方的 滑动窗口表示 “允许发送但未确认” 的数据范围;TCP 不会等待一个 ACK 才发送下一个段,而是可以 “流水线” 式发送多个段;
  • 接收方在接收到发送方发送的报文后,要及时发送确认报文,如果接收到的报文段是不连续的,则会对连续报文段的最大序号及之前的数据进行确认。可以对发送方的滑动窗口大小进行调整(流量控制)。

在这里插入图片描述

  对于发送方和接收方的滑动窗口,都有前沿后沿的概念:

  • 发送方:
    • 后沿:已发送并且接收到确认报文的数据,可以删除。
    • 前沿:在滑动窗口的最大范围之外,不允许发送。
  • 接收方:
    • 后沿:已发送确认报文给发送方,并且这部分内容交付了应用进程,可以删除。
    • 前沿:在滑动窗口的最大范围之外,不允许接收。

在这里插入图片描述

  为了维护发送窗口的状态,可以使用P1,P2,P3三个指针:

  • P1:指向的是发送窗口内已发送,但是还未收到确认的部分的第一个数据的序号。
  • P2:指向的是发送窗口内还未发送的部分的第一个数据的序号。
  • P3:指向的是发送窗口外的部分的第一个数据的序号。

在这里插入图片描述
  假设下图的场景:

  • 发送方已经成功发送了 4、5、6 三个报文段;
  • 接收方只成功收到了 5、6,但没有收到 4;
  • TCP 默认使用 累计确认(ACK) 策略 —— 只能确认连续收到的数据段。

  此时接收方收到的ACK应该为4,同时对5,6进行缓存。这种情况并不会引起发送方的快重传,因为是第一次重复确认
在这里插入图片描述
  此时接收方收到了4的报文段,则反馈给发送方7的ack,表示已经接受到了4~6的报文段,现在要接受7的报文段,同时窗口向前滑动:
在这里插入图片描述
  假设此时发送方向接收方发送了7~10号报文段,但是接收方一直都没有ack,因为窗口内的序号已经用完了,发送方在接收到接收方的确认之前,不能发送新的数据,而如果一直接收不到接收方的确认,就会触发超时重传(慢开始 + 拥塞避免算法)
在这里插入图片描述

二、TCP超时重传时间选择

  RTT = 请求的往返时间 = 请求开始时间 - 接收到请求确认的时间。RTO则是超时重传的时间。RTO不能小于RTT,也不能远大于RTT的值,应设置为略大于RTT的值。
  然而上述只是理想情况下的设置,实际网络通信中,每次消息往返的时间都是不固定的,需要动态进行调整。在这里插入图片描述
  RTT的计算也是非常复杂的,当发送方发生超时重传的时候,无法知道接收方发出的确认报文段是针对原报文段的确认,还是重传报文段的确认。(应是对于重传报文段的确认)如果发送方将该报文段当做是对于原有报文段的确认,那么算出的RTT往返时间就会大于应有的值。
在这里插入图片描述
  同理,接收方在发送确认报文段发生了超时,导致发送方触发了超时重传。发送方无法知道接收方的确认报文段,是针对发送方第一次发送的报文的确认,还是超时重传报文的确认(应该是对于发送方第一次报文的确认。)那么算出的RTT往返时间就会小于应有的值。
在这里插入图片描述
  针对上述的问题,提出了一种karn算法。Karn 算法是用于 计算 TCP 中的往返时间(RTT)和重传超时时间(RTO) 的一个改进方法,专门用来避免因重传而导致的 RTT 估算不准确问题。其核心思想在于不要用重传报文段的 ACK 来更新 RTT 估算值。

  • 当发生重传时,不更新 RTT 估计值。
  • 只用未发生重传的报文段的 ACK 来估计 RTT。
  • 启用指数退避策略,即每次重传失败后,将 RTO 值加倍。

在这里插入图片描述

http://www.dtcms.com/wzjs/259785.html

相关文章:

  • 医院网站 功能跟我学seo从入门到精通
  • 石家庄网站建设维护网站搜索引擎
  • 做网站的什么行业好出单网站建设百度推广
  • 网站建设宣传语学生个人网页制作html
  • 哪里有创建网站的培训心得简短200字
  • 做网站ruby还是python网站关键词推广工具
  • 自己做网站怎么挣钱百度升级最新版本
  • 上海做网站 公司排名seo技术培训班
  • 上海市网站设计google play官网
  • 速卖通跨境电商平台免费seo优化工具
  • phpcmsv9网站建设入门教程高德北斗导航
  • 汕尾市企业网站seo点击软件网站优化工具
  • 淘宝联盟推广网站怎么建设百度推广的四种收费形式
  • 如何与导航网站做友情链接账号权重查询
  • 宁波制作网站知名360搜索引擎首页
  • 南京专业做网站的公司有哪些人民日报今日新闻
  • 先做产品网站还是appseo研究中心官网
  • cms管理手机网站免费拓客软件排行榜
  • 健身房网站模板四川省最新疫情情况
  • 养殖企业网站优化网站seo公司
  • 四川做网站公司上海热点新闻
  • 外包网站自己维护怎么样建网站
  • wordpress站点地址没有网站批量查询
  • 西宁做网站ci君博却上seo优化人员
  • 动态网站设计都有什么属性石家庄网站建设案例
  • 政府网站建设指南站长统计app软件下载
  • 江苏哪家做网站排名比较好百度网盘app官网下载
  • 建设局网站施工合同范本目前最好的营销模式
  • 电子商务网站建设与维护展望进入百度
  • 新疆昌吉市建设委员会网站模板建站和开发网站区别