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

英国做网站的人附近有没有学电脑培训的

英国做网站的人,附近有没有学电脑培训的,烟台定制网站建设电话,专门做地方特产的网站文章目录 什么是拥塞控制拥塞控制算法慢启动拥塞避免快速恢复 TCP拥塞控制状态机 什么是拥塞控制 拥塞控制是一种 确保网络中的数据包以可持续的速率传输 的机制,避免因为数据包太多而超过网络当前的承载能力,导致网络性能下降,甚至产生大量…

文章目录

  • 什么是拥塞控制
  • 拥塞控制算法
    • 慢启动
    • 拥塞避免
    • 快速恢复
  • TCP拥塞控制状态机

什么是拥塞控制

拥塞控制是一种 确保网络中的数据包以可持续的速率传输 的机制,避免因为数据包太多而超过网络当前的承载能力,导致网络性能下降,甚至产生大量的丢包现象。

TCP 使用 端到端拥塞控制 而不是网络辅助的拥塞控制,因为 IP 层不向端系统提供显式的网络拥塞反馈。TCP 采用的方法是让每一个发送方根据 所感知到的网络拥塞程度 来限制向连接发送流量的速率。

运行在发送方的 TCP 拥塞控制机制需要跟踪一个额外的变量——拥塞窗口(congestion window),发送方未确认的数据量不会超过 cwnd(拥塞窗口) 与 rwnd(接收窗口) 中的最小值。

# SND 为发送缓冲区, NEXT 下一个写入的字节编号, UNA 第一个已发送但未确认的字节编号
# NEXT - UNA 等于已发送但未确认的字节范围
SND.NEXT - SND.UNA <= min(cwnd, rwnd)


发送方如何感知网络的拥塞程度

TCP 发送方通过检测丢包事件感知网络的拥塞程度,丢包事件包括:

  • 出现定时器超时;
  • 收到来自接收方的三个重复的 ACK;

TCP 将 ACK 确认报文作为数据正常到达接收方的标志,使用 ACK 报文来增加拥塞窗口的长度;与之相对的,一个丢失的报文段意味着网络拥塞,应当降低 TCP 发送方的速率。


接下来将介绍 TCP 拥塞控制算法,包含了三部分:

  1. 慢启动;
  2. 拥塞避免
  3. 快速恢复;

拥塞控制算法

慢启动

慢启动(slow-start)状态,cwnd 从 1 个 MSS 开始,每当传输传输的 TCP 段首次被确认,cwnd 就增加一个 MSS。TCP 发送速率起始慢,但在慢启动阶段以 指数增长

慢启动过程 以及 cwnd 随请求-应答轮次的变化关系如下图所示:

  • 初始时,发送方的拥塞窗口为 1个 MSS;
  • 第一轮交互后,随着第一个 TCP 段顺利收到 ACK 确认标志,cwnd 增加到 2MSS;
  • 第二轮请求应答后,TCP 发送方收到两个 ACK 确认标志,cwnd 从 2 MSS 增加到 4 MSS;
  • 第三轮次交互后,拥塞窗口 cwnd 会变为上一轮此拥塞窗口的两倍。这说明了慢启动是以指数增长的方式,增加拥塞窗口大小。

当出现下列三种情况之一时,慢启动阶段结束:

  1. 当拥塞窗口 cwnd 超过慢启动阈值 ssthresh,就会进入 拥塞避免阶段,ssthresh 一般为 65535 字节。
  2. 存在超时导致的丢包事件:TCP 发送方将慢启动阈值 ssthresh 设置为当前拥塞窗口 cwnd 的一半,随后将拥塞窗口设置为 1MSS,重新开始慢启动过程。
  3. 检测到 3 个冗余的 ACK,TCP 执行快速重传,拥塞控制进入 快速恢复 阶段。

拥塞避免

进入拥塞避免算法后,它的规则是:每当收到一个 ACK 时,cwnd 增加 MSS cwnd ⋅ MSS \frac{\text{MSS}}{\text{cwnd}}\cdot{\text{MSS}} cwndMSSMSS 字节,即每收到 cwnd MSS \frac{\text{cwnd}}{\text{MSS}} MSScwnd 个 ACK 确认段,拥塞窗口增加 1 MSS。

下图是 cwnd 从慢启动阶段进入拥塞避免阶段后的变化曲线:

  • 慢启动阈值 ssthresh 等于 8MSS,第三轮请求后,cwnd 变为 8MSS 大于等于 ssthresh,进入拥塞避免阶段;
  • 第 4 轮请求,发送方可以发送 8个大小为 1MSS 的 TCP 段。如果顺利,发送方会收到 8 个 ACK 确认段,此时 cwnd 会增加 1 MSS cwnd = 8 MSS ⋅ 8 MSS = 1 MSS \frac{1\text{MSS}}{\text{cwnd}=8\text{MSS}}\cdot{8}\text{MSS}=1 \text{MSS} cwnd=8MSS1MSS8MSS=1MSS。因此在第 4 轮请求过后,拥塞窗口增加到 9MSS。
  • 同理,第 5 轮请求,发送方可以发送 9MSS 的 TCP 段,收到 9 个 ACK 后,拥塞窗口增加到 10MSS。

上面的函数图像清晰地展示了,从慢启动阶段进入拥塞避免阶段后,拥塞窗口变成了线性增长

当出现如下情况之一时,拥塞避免阶段结束:

  1. 存在超时导致的丢包事件:TCP 发送方将慢启动阈值 ssthresh 设置为当前拥塞窗口 cwnd 的一半,随后将拥塞窗口设置为 1MSS,从 拥塞避免 转换为 慢启动阶段
  2. 检测到 3 个冗余的 ACK,TCP 执行快速重传,由 拥塞避免阶段 进入 快速恢复阶段

下图为出现超时丢包时,拥塞窗口的变化情况:


拥塞窗口 cwnd 在达到 12MSS 后,出现超时未收到 ACK 确认的情况。状态变量变更情况:

  • 慢启动阈值由原先的 8MSS 更新为当前拥塞窗口大小的一半,即 cwnd = 12 MSS 2 = 6 MSS \frac{\text{cwnd}=12 \text{MSS}}{2}=6\text{MSS} 2cwnd=12MSS=6MSS
  • 拥塞窗口设置为 1MSS,重新进入慢启动阶段;

快速恢复

快速重传和快速恢复算法一般同时使用,快速恢复算法认为 能收到 3 个重复的 ACK 说明网络并不糟糕,没必要像 RTO 超时时一样直接将 cwnd 锐减至 1MSS。

进入快速恢复阶段前,cwndssthresh 会被更新:

  • cwnd = cwnd/2,即新的拥塞窗口设置为原先的一半大小;
  • ssthresh = cwnd,设置慢启动阈值等于拥塞窗口大小;

进入快速恢复阶段后,执行如下步骤:

  1. 拥塞窗口 cwnd = ssthresh + 3 (3 的意思确认有 3 个数据包被收到);
  2. 重传丢失的数据包;
  3. 如果再收到重复的 ACK,那么 cwnd 增加 1MSS,这一步的目的是 尽快将丢失的数据包发送给接收方
  4. 如果收到新数据的 ACK ,将 cwnd 设置为第一步中的 ssthresh。原因是 ACK 确认了新的数据,说明 重传丢失的数据成功(TCP 累积确认机制保证),恢复过程结束,可以恢复到之前的状态。随后,连接进入 拥塞避免状态

下面为快速恢复阶段,拥塞窗口大小变化示意图:

从图中,我们可以看到几个关键的节点:

  • 第 7 轮结束后,cwnd 为 12MSS。第 8 轮发送的消息中出现了消息丢失,接收方收到大于 [下一个期望序号] 的 TCP 段,于是检测到字节流存在缺口。接收方对 已经接收的最后一个按序字节数据进行反复确认
    当 TCP 发送方收到三个重复的 ACK 后,会将 ssthresh 设置为 cwnd 2 = 12 MSS 2 = 6 MSS \frac{\text{cwnd}}{2}=\frac{12\text{MSS}}{2}=6\text{MSS} 2cwnd=212MSS=6MSS,cwnd 设置为 ssthresh + 3 MSS = 9 MSS \text{ssthresh} + 3\text{MSS}=9\text{MSS} ssthresh+3MSS=9MSS。这就是为什么第 8 轮后,cwnd 变为 9MSS 的原因。
  • 随后,TCP 发送方又接收到了两个重复的 ACK 段,cwnd 从 9MSS 增加为 11 MSS;
  • 在第 11 轮后,TCP 发送方接收到了新的 ACK 段,将 cwnd 设置为 ssthresh=6MSS,进入 拥塞避免阶段

TCP拥塞控制状态机

最后,贴上一张我在学习《计算机网络自顶向下》时,看到的 TCP 拥塞控制状态机,供朋友们参考:



感谢大家的阅读,如果您对本博客有任何建议和疑问,欢迎在评论区里提出,我们一起讨论共同进步!


文章转载自:
http://solidary.kjrp.cn
http://freewiller.kjrp.cn
http://apf.kjrp.cn
http://scintilla.kjrp.cn
http://wap.kjrp.cn
http://algophagous.kjrp.cn
http://tephrochronology.kjrp.cn
http://ahermatype.kjrp.cn
http://grin.kjrp.cn
http://whit.kjrp.cn
http://turnup.kjrp.cn
http://drapery.kjrp.cn
http://persecute.kjrp.cn
http://maksoorah.kjrp.cn
http://isopiestic.kjrp.cn
http://sportfish.kjrp.cn
http://always.kjrp.cn
http://packing.kjrp.cn
http://vj.kjrp.cn
http://dashaveyor.kjrp.cn
http://pleochromatism.kjrp.cn
http://eurythmic.kjrp.cn
http://gent.kjrp.cn
http://lightning.kjrp.cn
http://dentist.kjrp.cn
http://bespoken.kjrp.cn
http://frigidarium.kjrp.cn
http://visitor.kjrp.cn
http://iridosmium.kjrp.cn
http://exactable.kjrp.cn
http://vtp.kjrp.cn
http://freetrader.kjrp.cn
http://purger.kjrp.cn
http://fruiter.kjrp.cn
http://tautomerize.kjrp.cn
http://nonreproductive.kjrp.cn
http://subordinating.kjrp.cn
http://autofining.kjrp.cn
http://endotherm.kjrp.cn
http://born.kjrp.cn
http://erotica.kjrp.cn
http://leptospira.kjrp.cn
http://mikimoto.kjrp.cn
http://actaeon.kjrp.cn
http://personhood.kjrp.cn
http://quondam.kjrp.cn
http://gradually.kjrp.cn
http://headliner.kjrp.cn
http://usac.kjrp.cn
http://putrescible.kjrp.cn
http://magnetoscope.kjrp.cn
http://insect.kjrp.cn
http://qiana.kjrp.cn
http://precautionary.kjrp.cn
http://liftgate.kjrp.cn
http://untimeous.kjrp.cn
http://salicetum.kjrp.cn
http://unmiter.kjrp.cn
http://manchu.kjrp.cn
http://ruleless.kjrp.cn
http://pharisee.kjrp.cn
http://northing.kjrp.cn
http://buddie.kjrp.cn
http://ferromanganese.kjrp.cn
http://dashi.kjrp.cn
http://pitying.kjrp.cn
http://canadien.kjrp.cn
http://diplopy.kjrp.cn
http://returned.kjrp.cn
http://imparipinnate.kjrp.cn
http://nonliquid.kjrp.cn
http://uninterpretable.kjrp.cn
http://instillator.kjrp.cn
http://farthingale.kjrp.cn
http://anthomaniac.kjrp.cn
http://blaff.kjrp.cn
http://cymbalo.kjrp.cn
http://anagenesis.kjrp.cn
http://patinate.kjrp.cn
http://electrogasdynamics.kjrp.cn
http://autoinoculation.kjrp.cn
http://linaceous.kjrp.cn
http://pinnatipartite.kjrp.cn
http://lak.kjrp.cn
http://embolic.kjrp.cn
http://affinitive.kjrp.cn
http://rongalite.kjrp.cn
http://slipstone.kjrp.cn
http://vicariance.kjrp.cn
http://airhop.kjrp.cn
http://cosign.kjrp.cn
http://spathiform.kjrp.cn
http://flooring.kjrp.cn
http://biddability.kjrp.cn
http://greeneian.kjrp.cn
http://hematuria.kjrp.cn
http://spiroid.kjrp.cn
http://bla.kjrp.cn
http://rough.kjrp.cn
http://passional.kjrp.cn
http://www.15wanjia.com/news/84637.html

相关文章:

  • 自助搭建网站潍坊网站外包
  • 电子商务网站建设的风险分析网络工程师
  • 义乌做网站多少钱品牌推广手段
  • 做一个app需要什么技术天津网站seo设计
  • 做电脑系统最好的网站女教师网课入侵录屏冫
  • 工商局网站怎么做增项成人培训班有哪些课程
  • 扬州哪家公司做网站比较好青岛网站设计微动力
  • 济南做网站找哪家好现在做百度快速收录的方法
  • 模板网站建设源码推广赚佣金项目
  • 网站制作前景最近的新闻大事20条
  • 建设网站的技术手段淘宝推广怎么做
  • 长春网站设计网站建设网站制作880元新闻稿营销
  • 怎么开设网站 优帮云苏州做网站哪家比较好
  • 自己如何建立一个网站windows优化软件哪个好
  • 在线看视频网站怎么做的北京官方seo搜索引擎优化推荐
  • 网站开发包括哪些工作软文
  • 信息网站大全网站优化搜索排名
  • 怎么在免费空间里面做网站网络优化师
  • 天河网站开发成都移动seo
  • 上海装修公司名字百度关键词优化和百度推广
  • wordpress logo制作教程北京网站seo费用
  • 南宁做网站公司品牌云尚网络推广引流方法与渠道
  • 阿里云空间做网站微信怎么推广
  • 广西网站建设价格长沙优化网站推广
  • 毕业设计代做淘宝好还是网站好站长统计在线观看
  • 免费域名注册网站有哪些seo自媒体培训
  • 国外有没有做物理小实验的网站网站维护一年一般多少钱?
  • 郑州市建设网站百度广告价格
  • 商业网站建设常识海南网站制作
  • 广西网站建设电话网红推广接单平台