JAC88 Critic

This paper discusses ways to avoid network congestion and mainly focus on five algorithms putted in 4BSD TCP which are: 

1: round-trip-time variance estimation

2: exponential retransmit timer backoff

3:  slow-start

4:  more aggressive receiver ack policy

5:  dynamic window sizing on congestion

This paper starts with a brief introduction to the 1980s network: explosive growth computer networks leads to the common situation that gateways drop off 10% of the incoming packets. And in October  '86,  the "first congestion collapses"  made things worse. By investigation of some of this problems, the author find out that much of these cause lies in transport protocol implementations rather than protocols themselves.

According to the author, the main reason that "network congestion"  could occur is because of the broken of so called 'conservation of packets' , and the author points out that there are only three ways for packet conservation to fail:

  1: The connection doesn't get to equilibrium, or

  2: A sender injects a new packet before an old packet has exited, or

  3: The equilibrium can't be reached because of resource limits along the path.

   So the following paragraphs are divided  in to three sections correspondingly , each section shows different  solutions to the ways mentioned above. 

  The first section focus on getting to network equilibrium, in short, it is about how to start transiting data between sender and receiver and how to start this transiting in equilibrium. Here the author introduces Slow-start algorithm which can be concluded in four sentences: Add a congestion, cwnd, to the per-connection state. When starting or restarting after a loss, set cwnd to one packet. On each ack for new data, increase cwnd by one packet. When sending, send the minimum of the receiver's advertised window and cwnd. Since the window increase exponentially, it takes negligible effect on performance. By contracting with connection without slow-start, slow-start model shows good performance on 'equilibrium'.

  The second shows solution to " A sender injects a new packet before an old packet has exited".  Here the author points out that if protocol implementation is correct, then it is because the wrong 'round trip timer estimator' that leads to the failure of sender's retransimit timer. But, unfortunately, though it is important to have a good round trip time estimator, but it is frequently botched. The author lists two common mistakes. First is using fixed value rather than a ‘pleasant side effect of estimating β’. Another mistake is in the backoff after a retransmit, here the author proposes "Exponential Backoff"  method to fix up this mistake.

  The third section introduces strategy about congestion avoidance which is, in my view,  detecting the network's congestion and recovering from congestion. Since a timeout indicates a lost packet, if the timers are in good shape, then the timeout also is a signal that congestion is occurring. In this case,  the sender should decrease  the window size in a multiplicative way. On the other hand, since the available bandwidth changed dynamically, in order to increase the network's utilization, rather than simply multiplicative increase, the author points out the best increase policy is to make small, constant changes to the window size which is called "additive-increase".

   The last paragraph gives us a brief introduction about gateway side congestion control and what the author will do in the future. Since algorithms at transport endpoints cannot insure fair sharing of that capacity, and gateway has enough information to control sharing and fair allocation. So,  it is necessary to view the gateway 'congestion detection' algorithm as the next big step.


Critique:

 First, I got confused when I read the slow-start algorithm, it's obvious that the author forget to mention when should the sender quit the "slow-start" model.There must be a signal to tell the sender to stop slow-start. Should it be when the cwnd equals window size in packets or should it be a  timeout? And what should the sender do after "slow-start" model? Second, at the last paragraph of this paper the author says algorithms at the transport endpoints can insure the network capacity isn't exceeded, and in order for fair allocation, the author take gateway 'congestion detection' algorithm as the next step. But, in fact, all these algorithms in endpoints can not afford a good robust for the entire net work, since the author's solution to network congestion are based on the precondition that all the endpoints obey these algorithms. What if a bad endpoint misbehave by sending large amount of waste packets? Then the entire net work would breakdown. So the congestion avoidance on the gateway side is also a 'patch' for the previous algorithms.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
电子图书资源服务系统是一款基于 Java Swing 的 C-S 应用,旨在提供电子图书资源一站式服务,可从系统提供的图书资源中直接检索资源并进行下载。.zip优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人系统开发经验充足,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(若有),项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注计算机领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能 【无积分此资源可联系获取】 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。积分/付费仅作为资源整理辛苦费用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值