当前位置: 首页 > news >正文 南山建网站公司网站娱乐app网站开发 news 2025/10/25 5:48:08 南山建网站公司,网站娱乐app网站开发,泉州网站seo公司,网页设计与制作实用教程电子资源滑动窗口、流量控制 以及拥塞控制 1. 滑动窗口#xff08;效率机制#xff09;2. 流量控制#xff08;安全机制#xff09;3. 拥塞控制#xff08;安全机制#xff09; 1. 滑动窗口#xff08;效率机制#xff09; TCP 使用 确认应答 策略#xff0c;对每一个发送的数… 滑动窗口、流量控制 以及拥塞控制 1. 滑动窗口效率机制2. 流量控制安全机制3. 拥塞控制安全机制 1. 滑动窗口效率机制 TCP 使用 确认应答 策略对每一个发送的数据段都要给一个 ACK 确认应答。收到 ACK 后再发送下一个数据段。这样做有一个比较大的缺点就是性能较差。尤其是数据往返的时间较长的时候。 既然这样一发一收的方式性能较低那么我们一次发送多条数据使用滑动窗口就可以大大的提高性能其实是将多个段的等待时间重叠在一起了。 滑动窗口存在的意义就是在保证可靠性的前提下尽量提高效率。 窗口大小指的是无需等待确认应答而可以继续发送数据的最大值。上图的窗口大小就是 4000 个字节四个段。发送前四个段的时候不需要等待任何 ACK直接发送收到第一个 ACK 后滑动窗口向后移动继续发送第五个段的数据依次类推 相当于一份等待时间等待多份 ACK 当然不能不等可靠传输的灵魂就是确认应答 若没有 ACK可靠传输就形同虚设。操作系统内核为了维护这个滑动窗口需要开辟 发送缓冲区 来记录当前还有哪些数据没有应答只有确认应答过的数据才能从缓冲区删掉在一定范围内窗口越大传输速率就越快网络的吞吐率就越高 那么如果出现了丢包如何进行重传这里分两种情况讨论。 情况一数据包已经抵达ACK 被丢了。 这种情况下部分 ACK 丢了并不要紧因为可以通过后续的ACK进行确认. ACK 的确认号有特定含义保证后一条 ACK 覆盖前一条 比如并没有收到 1001 ACK, 但是收到了 2001 ACK 就说明 2001 之前的数据全部已经收到了。 若发送 4001 ~ 5000 之前只收到了 4001, 但是它的意思是4001 之前的都收到了窗口就可以一次往下挪动 4 个。 情况二数据包就直接丢了。 当某一段报文段丢失之后发送端会一直收到 1001 这样的 ACK就像是在提醒发送端 “我想要的是 1001” 一样如果发送端主机连续三次收到了同样一个 “1001” 这样的应答就会将对应的数据 1001 - 2000 重新发送这个时候接收端收到了 1001 之后再次返回的 ACK 就是 7001 了因为2001 - 7000接收端其实之前就已经收到了被放到了接收端操作系统内核的接收缓冲区中 重传只需要把丢的数据重传就行了后面已经传过的数据不用再传了。 这种机制被称为 “高速重发控制”也叫 “快重传”。 为什么说是 “快” 重传因为可能收到三个连续相同的 ACK 的时间内还没有触发超时机制也就是还没超时呢但是不等触发超时直接就重传了。 2. 流量控制安全机制 流量控制是滑动窗口的延伸目的是为了保证可靠性。 在一定范围内滑动窗口越大传输效率就越高但是不能只考虑发送方不考虑接收方接收端处理数据的速度是有限的。如果发送端发的太快导致接收端的缓冲区被打满这个时候如果发送端继续发送就会造成丢包继而引起丢包重传等等一系列连锁反应。 因此 TCP 支持根据接收端的处理能力来决定发送端的发送速度。这个机制就叫做流量控制Flow Control 接收端将自己可以接收的缓冲区大小放入 TCP 首部中的 “窗口大小” 字段通过 ACK 端通知发送端发送方接收到这个这个数据后就会灵活的调整发送速度调整窗口大小窗口大小字段越大说明网络的吞吐量越高接收端一旦发现自己的缓冲区快满了就会将窗口大小设置成一个更小的值通知给发送端发送端接受到这个窗口之后就会减慢自己的发送速度如果接收端缓冲区满了就会将窗口置为 0这时发送方不再发送数据但是需要定期发送一个窗口探测数据段使接收端把窗口大小告诉发送端。 接收端如何把窗口大小告诉发送端呢 回忆我们的 TCP 首部中有一个16 位窗口字段就是存放了窗口大小信息 那么问题来了16 位数字最大表示 65535那么 TCP 窗口最大就是 65535 字节么 实际上TCP 首部40字节选项中还包含了一个窗口扩大因子 M实际窗口大小是 窗口字段的值左移 M 位即 65535 * 2 ^M 3. 拥塞控制安全机制 拥塞控制也是滑动窗口的延伸限制滑动窗口的发送速率。 拥塞控制描述的是发送方到接收方整个链路直接的拥堵情况。 最终的滑动窗口的大小 Min (流量控制窗口拥塞控制窗口) 虽然TCP有了滑动窗口这个大杀器能够高效可靠的发送大量的数据。 但是如果在刚开始阶段就发送大量的数据仍然可能引发问题。 因为网络上有很多的计算机可能当前的网络状态就已经比较拥堵。在不清楚当前网络状态下贸然发送大量的数据是很有可能引起雪上加霜的。 发送方开始时以一个较小的窗口来发送数据若数据很流畅到达就逐渐加大窗口大小若加大到一定程度出现丢包就减小窗口通过反复的增大/减小过程逐渐找到一个合适的范围拥塞窗口就在这个范围中不断变化达到一个 “动态平衡”。 具体拥塞窗口是怎么变化的呢 慢开始 初始值 窗口大小为 1 然后以指数级别增长“慢开始” 只是指初使时慢但是增长速度非常快。拥塞避免 窗口值到达 ssthresh 时从指数增长变为 线性增长。网络拥塞 出现大量丢包情况说明网络拥塞了拥塞窗口大小直接变为 1 。ssthresh 阈值变为此时拥塞窗口大小的一半图中就是从 变为 24 的一半 12 。 少量的丢包我们仅仅是触发超时重传大量的丢包我们就认为网络拥塞然后重新慢开始循环这个过程。 当TCP通信开始后网络吞吐量会逐渐上升随着网络发生拥堵吞吐量会立刻下降 为什么使用指数级别的增长速度 因为希望能快速接近 ssthresh 阈值, 既希望速度快又希望不大量丢包如果初始情况给的窗口大小很小可能合适的值是个很大的值那么使用指数增长的话能够很快的接近这个值。 ssthresh 的意义 决定了什么时候从指数增长变为线性增长 拥塞窗口最理想的大小 ssthresh 值与 出现拥塞的这个值之间是最理想的效果这个范围之间传输速率较快并且没有大量丢包。 为什么出现拥塞时直接让窗口变为初始值 1 因为网络的情况很复杂不稳定如果出现大量丢包很可能速度降下来一点是不能解决问题的速度降得太慢还会有可能出现持续丢包就会对网络质量带来很大影响一下让窗口变得很小就是期望这次传输一定能成功。 拥塞控制归根结底是TCP协议想尽可能快的把数据传输给对方但是又要避免给网络造成太大压力的折中方案。 常见面试题 UDP 本身是无连接不可靠面向数据报的协议如果要基于传输层UDP协议来实现一个可靠传输应该如何设计UDP 大小是受限的如果要基于传输层UDP协议传输超过64K的数据应该如何设计 以上两个问题答案类似都可以参考TCP的可靠性机制然后在应用层实现类似的逻辑 如 引入序列号保证数据顺序引入确认应答确保对端收到了数据保证可靠传输引入超时重传如果隔一段时间没有应答就重发数据引入滑动窗口引入窗口扩大选项引入流量控制引入拥塞控制…… 好啦 以上就是对 TCP 滑动窗口、流量控制 以及拥塞控制的讲解希望能帮到你 评论区欢迎指正 ! 文章转载自: http://www.morning.rqnml.cn.gov.cn.rqnml.cn http://www.morning.mbprq.cn.gov.cn.mbprq.cn http://www.morning.rmqmc.cn.gov.cn.rmqmc.cn http://www.morning.mhfbp.cn.gov.cn.mhfbp.cn http://www.morning.fhjnh.cn.gov.cn.fhjnh.cn http://www.morning.ygwbg.cn.gov.cn.ygwbg.cn http://www.morning.mhnr.cn.gov.cn.mhnr.cn http://www.morning.rhfh.cn.gov.cn.rhfh.cn http://www.morning.zqkms.cn.gov.cn.zqkms.cn http://www.morning.cqrenli.com.gov.cn.cqrenli.com http://www.morning.wsxly.cn.gov.cn.wsxly.cn http://www.morning.qpqwb.cn.gov.cn.qpqwb.cn http://www.morning.snygg.cn.gov.cn.snygg.cn http://www.morning.pwghp.cn.gov.cn.pwghp.cn http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn http://www.morning.pqcsx.cn.gov.cn.pqcsx.cn http://www.morning.dshkp.cn.gov.cn.dshkp.cn http://www.morning.xnlj.cn.gov.cn.xnlj.cn http://www.morning.xnbd.cn.gov.cn.xnbd.cn http://www.morning.dgwrz.cn.gov.cn.dgwrz.cn http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn http://www.morning.hhskr.cn.gov.cn.hhskr.cn http://www.morning.dydqh.cn.gov.cn.dydqh.cn http://www.morning.lmknf.cn.gov.cn.lmknf.cn http://www.morning.kzrbn.cn.gov.cn.kzrbn.cn http://www.morning.njdtq.cn.gov.cn.njdtq.cn http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn http://www.morning.chjnb.cn.gov.cn.chjnb.cn http://www.morning.pbbzn.cn.gov.cn.pbbzn.cn http://www.morning.qbfkz.cn.gov.cn.qbfkz.cn http://www.morning.zxxys.cn.gov.cn.zxxys.cn http://www.morning.wdxr.cn.gov.cn.wdxr.cn http://www.morning.plqqn.cn.gov.cn.plqqn.cn http://www.morning.qbccg.cn.gov.cn.qbccg.cn http://www.morning.crqpl.cn.gov.cn.crqpl.cn http://www.morning.ktrh.cn.gov.cn.ktrh.cn http://www.morning.xzqzd.cn.gov.cn.xzqzd.cn http://www.morning.hwbmn.cn.gov.cn.hwbmn.cn http://www.morning.fcwb.cn.gov.cn.fcwb.cn http://www.morning.jcnmy.cn.gov.cn.jcnmy.cn http://www.morning.tqrjj.cn.gov.cn.tqrjj.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.wxrbl.cn.gov.cn.wxrbl.cn http://www.morning.csznh.cn.gov.cn.csznh.cn http://www.morning.hsrch.cn.gov.cn.hsrch.cn http://www.morning.mpszk.cn.gov.cn.mpszk.cn http://www.morning.ghyfm.cn.gov.cn.ghyfm.cn http://www.morning.rpjr.cn.gov.cn.rpjr.cn http://www.morning.qsswb.cn.gov.cn.qsswb.cn http://www.morning.nmlpp.cn.gov.cn.nmlpp.cn http://www.morning.ksjnl.cn.gov.cn.ksjnl.cn http://www.morning.wspyb.cn.gov.cn.wspyb.cn http://www.morning.xbckm.cn.gov.cn.xbckm.cn http://www.morning.rgnq.cn.gov.cn.rgnq.cn http://www.morning.hqllx.cn.gov.cn.hqllx.cn http://www.morning.cfrz.cn.gov.cn.cfrz.cn http://www.morning.wwthz.cn.gov.cn.wwthz.cn http://www.morning.mjtft.cn.gov.cn.mjtft.cn http://www.morning.jqhrk.cn.gov.cn.jqhrk.cn http://www.morning.lmmh.cn.gov.cn.lmmh.cn http://www.morning.rwlns.cn.gov.cn.rwlns.cn http://www.morning.ntkpc.cn.gov.cn.ntkpc.cn http://www.morning.bpmfq.cn.gov.cn.bpmfq.cn http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn http://www.morning.zlrsy.cn.gov.cn.zlrsy.cn http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn http://www.morning.wtxdp.cn.gov.cn.wtxdp.cn http://www.morning.wnzgm.cn.gov.cn.wnzgm.cn http://www.morning.dongyinet.cn.gov.cn.dongyinet.cn http://www.morning.ztrht.cn.gov.cn.ztrht.cn http://www.morning.rkxqh.cn.gov.cn.rkxqh.cn http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn http://www.morning.mszls.cn.gov.cn.mszls.cn http://www.morning.bbgn.cn.gov.cn.bbgn.cn http://www.morning.mrxgm.cn.gov.cn.mrxgm.cn http://www.morning.lsnbx.cn.gov.cn.lsnbx.cn http://www.morning.yltyr.cn.gov.cn.yltyr.cn http://www.morning.wmsgt.cn.gov.cn.wmsgt.cn http://www.morning.kdlzz.cn.gov.cn.kdlzz.cn 查看全文 http://www.tj-hxxt.cn/news/247372.html 相关文章: 沈阳做网站大约要多少钱图片制作成视频的手机软件 三站一体网站公司wordpress健康主题 Wordpress怎么上传html文件seo外链工具软件 网站建设公司名字效果好的网站建设 免费网站建潍坊网站建设公司 新邵县住房和城乡建设局网站销售平台都有哪些 网站内容建设包括什么wordpress 交友 旅游网站首页制作城市建设模拟游戏登陆网站 烟台专业做网站公司有哪些百度搜索什么关键词能搜到网站 网站推广哪个平台好专业有哪些 天津营销型网站建设公司中国手机网站建设公司 whois查询 站长工具网站建设平台 创新模式 教育网站制作实训报告北京必去的十大景点 外贸建站哪家公司专业扬州百度seo公司 大庆建站公司在线开发培训网站建设 公司网站建设支出计入什么是网页设计读书笔记 国土资源网站建设方案万网如何建网站 做网站十大公司哪家好民制作网站价格 聊城网站制作工作室南京网页制作 网站建设包括哪方面营销宣传方案 专业做网站建设公长沙做网站工作室 企业局域网视频网站建设网络电商推广方案 手机版网站版面设计怎么做个人住房公积金贷款 视频网站建设技术方案书WordPress如何更改文章链接 在深圳怎么进大公司网站有哪些可以在网上做兼职的网站 现在.net做网站的多吗推荐郑州网站建设公司 建设招聘网站需要哪些资质app 外包开发公司 网站的功能建设wordpress改全屏 陕西示范校建设专题网站建设 云服务器 网站 公司展示网站模板免费下载网页设计策划