下载此文档

用文字描述TCP的流量控制和拥塞控制.doc


文档分类:通信/电子 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
TCP在发送端和接收端有两个窗口,发送端的是拥塞窗口而接收端的就叫做接收窗口,两个窗口的作用不同,所谓的流量控制就是收发端的速率要匹配,决定权在接收端而不在发送端,因为发送的慢了可以提速,而接收不了就意味着丢包,这就好比冷了可以穿衣而热了只有扒皮一样。因此对于收发端,流量控制主要由接收端控制,因此接收窗口就表示“我能接收多少”,按照这个数字发送,在该连接独占网络并且带宽无限的情况下流量是平滑的。接收端的接收窗口将按照自己的能力向前滑动。然而网络环境不是那么理想的,第一任何连接不能独占带宽,第二,带宽也不是无限,因此即使接收端建议发送端发送多少数据,发送端也有确保公平的义务,因此发送端也有一个窗口,叫做拥塞窗口,指当前的网络状况只能发送这么多数据报,一般发送端可以发送的数据是接收窗口和拥塞窗口的最小值,由于tcp是全双工的协议,连接两端都是接收者和发送者,因此每端都有两个窗口,其中的拥塞窗口和实际的发送窗口自己维护,而接收窗口要在tcp协议头中传给对方,让对方根据这个窗口和自己的拥塞窗口抉择自己的实际发送窗口。,只影响拥塞窗口,注意,实际的发送窗口需要取拥塞窗口和对端传来的接收窗口的最小值,慢启动的过程中,拥塞窗口不断增加,因为tcp连接刚启动,并不知道网络的实际情况,需要用一种试探的方式慢慢平滑增加发送窗口的大小,增加的过程是十分快的,是指数增长的,直到发生拥塞或者达到事前配置好的一个阀值,如是是拥塞发生了,那么肯定要调整拥塞窗口了,事实上由于慢启动实际很快,如果仅仅有慢启动,那么网络很快就拥堵不堪了。,如果定时器超时还没有ack回来,那么就说明该数据没有到达目的地,十有八九是网络拥塞了,tcp的设计者必须假定网络交通事故率很低,此时tcp发送端将采取措施,最重要的就是重新开始慢启动,并且将慢启动阀值减小,当拥塞窗口到达该阀值的时候(由于阀值减小了,肯定比刚开始的慢启动过程先到这种状态),实行另一种拥塞控制方法--拥塞避免,就是拥塞避免,其实就是将慢启动的指数增加窗口大小改为线性增加,从而渐渐将拥塞窗口调整到一个合适的大小。,那就是当发送端收到三个重复的ack的时候,说明接收端收到了三个序列号靠后数据报,但都不是接收窗口最前面的那个,因此说明那个数据十有八九是丢了,因此可以预测拥塞发生了,因此将拥塞窗口减半,然后线性增加,这就是加增乘减原则。顺便,tcp接收数据的顺序只要在窗口内并不一定非要按序,只要OS的协议栈实现支持缓存窗口内的断序数据即可。,因为拥塞窗口增加只会优惠到自己,而减小却会优惠很多别的连接,每一个连接都有维护公平的义务,本着优惠均等的原则,自己的行为应该让包括自己在内的所有连接得到均等的实惠,因此优惠只有一个自己的时候用加法,而优惠很多大家的时候用乘法。,但是自己过分的让步可能会引起别人贪婪地掠夺,虽然我让步了,减半了拥塞窗口,但是我是靠接收了三个重复ack才得到这个消息的,而不是一个包的超时,如果在第一个重复ack时我就开始快速重传,那么此时我的拥塞窗口已经加了三个了,因此需要补偿我无辜的等待三个ack,因此快速恢复过程是

用文字描述TCP的流量控制和拥塞控制 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sanyuedoc
  • 文件大小47 KB
  • 时间2019-02-26
最近更新