随着网络的普及,信息交流与信息共享成为人们日常生活中必不可少的一部分。而网络中信息(数据包)的不断增长,必然引起网络拥塞。于是,拥塞避免显得尤为重要,现在Internet上使用得比较广泛的拥塞避免机制是丢尾(DropTail):当队列的长度达到规定的最大长度时,所有到来的报文都被丢弃。这种丢弃策略会引发tcp 全局同步(global synchronization)现象——由于Internet上数据(Traffic)的突发本质,到达路由器的数据包也往往是突发的。如果队列是满的或者几乎是满的,就会导致在短时间内连续大量地丢封包。而TCP流具有自适应特性(Adaptiveness),来源端发现数据包丢失就急剧地减小发送窗口(congestion window,cwnd),数据包到达速率就会迅速下降,于是网络拥塞得以解除。但来源端得知网络不再拥塞后又开始增加发送速度,最终又造成网络拥塞,而且这种现象常常会周而复始地进行下去,从而在一段时间内网络处于网络利用率(Network Utilization)很低的用状态,降低了整体吞吐量(throughput),这就是所谓地"TCP全局同步"现象。

丢尾会造成TCP流量之间分配带宽不均衡,一些"贪婪"的流量会占用大部分的带宽,而普通的TCP流量分配不了带宽而"饿死"。特别是网络中既有TCP又有UDP流量的时候,TCP流量因为窗口机制(丢尾造成滑动窗口cwnd减小)而释放带宽,UDP流量没有窗口机制,于是UDP流量会迅速占用TCP释放的带宽,最终造成UDP流量占用了所有带宽而TCP流量因没有带宽分配而"饿死"。

TCP全局同步问题发生的原因相关推荐

  1. MySQL出现同步延迟有哪些原因?如何解决?

    MySQL出现同步延迟有哪些原因?如何解决?   1.从库太多导致复制延迟 优化:建议从库数量3-5个为宜   2.从库硬件比主库硬件差 优化:提升硬件性能   3.慢SQL语句过多 优化:SQL语句 ...

  2. [TCP/IP]TCP服务端accept发生在三次握手的哪一个阶段

    TCP服务端accept发生在三次握手之后 客户端 socket()==>connect()==>write()==>read() 服务端 socket()==>bind()= ...

  3. 区别对待 【找到问题发生的原因】 以及   【关于这个问题的 「正确可行」 的解决方法】

    区别对待 [找到问题发生的原因]  以及 [关于这个问题的 「正确可行」 的解决方法] 在我们工作中,常常会发现一些问题, 当我们调查并找到这个问题的原因后, 常常会非常高兴, 然后不假思索,找了一种 ...

  4. @ControllerAdvice全局异常处理不起作用原因及解决办法

    @ControllerAdvice全局异常处理不起作用原因及解决办法 参考文章: (1)@ControllerAdvice全局异常处理不起作用原因及解决办法 (2)https://www.cnblog ...

  5. 导致word文档损坏故障发生的原因是什么?

    当Word软件找不到你要打开的特定Word文件时,一般会发出"找不到此文件"的错误信息.此故障主要是由Word文件损坏引起的.导致word文档损坏故障发生的原因是什么? word文 ...

  6. TCP的CLOSING状态发生条件

    TCP的CLOSING状态发生条件 当主动关闭方发送了FIN后(主动方状态FIN_TAIT_1)到达被动关闭方.被动关闭方接受FIN并发送了确认ACK(被动方变为CLOSE_WAIT),之后发送了被动 ...

  7. 【Netty入门】TCP 粘包/拆包问题产生原因

    TCP粘包/分包问题的由来 因为TCP是以流的方式来处理数据,一个完整的包可能会被TCP拆分成多个包进行发送,也可能把小的封装成一个大的数据包发送. 这样说可能比较抽象,下面举例来说明TCP拆包/粘包 ...

  8. TCP协议规定2MSL等待的原因

    TCP协议规定主动关闭一方,进入FIN_WAIT_2->TIME_WAIT,必须等待2MSL(MSL为最大报文段生存时间)时间然后才进入CLOSED,删除TCP控制块.在2MSL等待时间内迟到的 ...

  9. iframe内联元素有白边原因_必看|番茄卷叶病发生的原因以及防治方法!

    点击上方蓝色,关注我,学习更多农业知识 番茄在种植过程中,会发生各种病虫害现象,影响西红柿质量和产量,其中西红柿卷叶病在西红柿种植中非常常见.番茄卷叶只是病症的外在表现,是作物应对不良环境或生物危害所 ...

最新文章

  1. SQL-61 对于employees表中,给出奇数行的first_name
  2. css自动限制图片大小
  3. RabbitMQ之比较好的资料
  4. 【Python基础】python使用python-docx操作word
  5. 中间件系列「三」netty之NIO基础
  6. 对linux的CFS调度算法的理解
  7. Python之基本数据类型set常用基本方法简述
  8. cad制图初学入门_CAD自学不要怕,这里有你需要的CAD制图初学入门教程!
  9. mysql pdo 获取最后一条sql_一条sql语句的执行过程-mysql
  10. 【Windows XP系统壁纸设置有哪些技巧】
  11. 华为主题包hwt下载_emui主题打包下载-emui主题打包 v1.0_手机乐园
  12. 抖音的计算机技术优势,抖音系统的四大优势是什么?
  13. NFT新玩法丨一文了解将NFT所有权分割成ERC20代币的Fractional协议
  14. 人工智能深度神经网络的研究
  15. printf 打印结构体成员函数出错原因分析
  16. Linux CRDA(Central Regulatory Domain Agent)
  17. 数据脱敏为何如此重要?
  18. iOS 播放gif图片
  19. win10开机“正在准备自动修复”,且无法修复你的电脑
  20. Sallen-Key 有源滤波器(1)

热门文章

  1. php 前端及时同步,php与前端界面的实时通信
  2. html中多边形图形怎么制作,CSS制作图形速查表
  3. 与c交互_SV DPI-C接口学习心得
  4. Win 11大更新:可安装超千款Android应用
  5. 皮一皮:狗子的眼神很绝望...
  6. 每日一皮:当代互联网企业真实写照!
  7. 用了这个 IDE 插件,5分钟解决前后端联调!
  8. java solr 实现_Java实现全文检索-Solr后台管理
  9. subcenter arcface学习笔记
  10. 百度飞浆行人多目标跟踪笔记