用文字描述tcp的流量控制和拥塞控制

用文字描述tcp的流量控制和拥塞控制

ID:33693465

大小:47.30 KB

页数:4页

时间:2019-02-28

用文字描述tcp的流量控制和拥塞控制_第1页
用文字描述tcp的流量控制和拥塞控制_第2页
用文字描述tcp的流量控制和拥塞控制_第3页
用文字描述tcp的流量控制和拥塞控制_第4页
资源描述:

《用文字描述tcp的流量控制和拥塞控制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、TCP在发送端和接收端有两个窗口,发送端的是拥塞窗口而接收端的就叫做接收窗口,两个窗口的作用不同,所谓的流量控制就是收发端的速率要匹配,决定权在接收端而不在发送端,因为发送的慢了可以提速,而接收不了就意味着丢包,这就好比冷了可以穿衣而热了只有扒皮一样。因此对于收发端,流量控制主要由接收端控制,因此接收窗口就表示“我能接收多少”,按照这个数字发送,在该连接独占网络并且带宽无限的情况下流量是平滑的。接收端的接收窗口将按照自己的能力向前滑动。然而网络环境不是那么理想的,第一任何连接不能独占带宽,第二,带宽也不是无限,因此即使接收端建议发送端发送

2、多少数据,发送端也有确保公平的义务,因此发送端也有一个窗口,叫做拥塞窗口,指当前的网络状况只能发送这么多数据报,一般发送端可以发送的数据是接收窗口和拥塞窗口的最小值,由于tcp是全双工的协议,连接两端都是接收者和发送者,因此每端都有两个窗口,其中的拥塞窗口和实际的发送窗口自己维护,而接收窗口要在tcp协议头中传给对方,让对方根据这个窗口和自己的拥塞窗口抉择自己的实际发送窗口。1.慢启动并不慢慢启动是一种拥塞控制机制,只影响拥塞窗口,注意,实际的发送窗口需要取拥塞窗口和对端传来的接收窗口的最小值,慢启动的过程中,拥塞窗口不断增加,因为tcp

3、连接刚启动,并不知道网络的实际情况,需要用一种试探的方式慢慢平滑增加发送窗口的大小,增加的过程是十分快的,是指数增长的,直到发生拥塞或者达到事前配置好的一个阀值,如是是拥塞发生了,那么肯定要调整拥塞窗口了,事实上由于慢启动实际很快,如果仅仅有慢启动,那么网络很快就拥堵不堪了。2.拥塞发现每一个数据报都有一个定时器,如果定时器超时还没有ack回来,那么就说明该数据没有到达目的地,十有八九是网络拥塞了,tcp的设计者必须假定网络交通事故率很低,此时tcp发送端将采取措施,最重要的就是重新开始慢启动,并且将慢启动阀值减小,当拥塞窗口到达该阀值的

4、时候(由于阀值减小了,肯定比刚开始的慢启动过程先到这种状态),实行另一种拥塞控制方法--拥塞避免,就是拥塞避免,其实就是将慢启动的指数增加窗口大小改为线性增加,从而渐渐将拥塞窗口调整到一个合适的大小。3.快速重传还有一种情况会直接使用拥塞避免,那就是当发送端收到三个重复的ack的时候,说明接收端收到了三个序列号靠后数据报,但都不是接收窗口最前面的那个,因此说明那个数据十有八九是丢了,因此可以预测拥塞发生了,因此将拥塞窗口减半,然后线性增加,这就是加增乘减原则。顺便,tcp接收数据的顺序只要在窗口内并不一定非要按序,只要OS的协议栈实现支持

5、缓存窗口内的断序数据即可。4.加增乘减原则该原则体现了公平,因为拥塞窗口增加只会优惠到自己,而减小却会优惠很多别的连接,每一个连接都有维护公平的义务,本着优惠均等的原则,自己的行为应该让包括自己在内的所有连接得到均等的实惠,因此优惠只有一个自己的时候用加法,而优惠很多大家的时候用乘法。5.快速恢复算法快速重传虽然通过减半拥塞窗口的办法可以减缓拥塞,但是自己过分的让步可能会引起别人贪婪地掠夺,虽然我让步了,减半了拥塞窗口,但是我是靠接收了三个重复ack才得到这个消息的,而不是一个包的超时,如果在第一个重复ack时我就开始快速重传,那么此时我

6、的拥塞窗口已经加了三个了,因此需要补偿我无辜的等待三个ack,因此快速恢复过程是对快速重传的修正,将拥塞窗口减半后加上了36.拥塞窗口何时稳定如果仅仅考虑拥塞控制,那么貌似拥塞窗口会一直这么指数增-乘减-加增-乘减-指数增-...循环下去,是的,确实是这样,但是通过统计tcp连接的速率和流量,发现并不是这样,而是发送端的窗口总是会稳定于一个特定的值,而该值就是接受方的接收窗口的大小,最终,一切都被定格在了接收方的协议栈处理性能以及缓冲区内存情况了,拥塞窗口只要增加到接收方的接收窗口就不再增加和减少了,除非接收窗口增加或者减小以及拥塞发生了

7、,总之,拥塞窗口和接收窗口的最小值决定发送窗口,如果拥塞窗口增加到了接收窗口的大小就不再继续慢启动或者拥塞避免。7.网络设备和端机的能力tcp的流量控制在端机,而拥塞却取决于中间的路由器等网络设备以及网线,它们处理能力的匹配至关重要,虽然端机远远不敌中间设备,可是中间设备却由多数端机分享,试想如果端机的性能超越了网络设备,那么流量控制窗口将会很大,如此拥塞窗口将在增加到流控窗口之前出现拥塞,如此一来将会导致频繁调整发送窗口,流控窗口也就失去了意义,虽然接收端能收那么多数据,可是发送端却怎么也到不了该制高点,虽然到不了但是还是会不懈的慢启动

8、-拥塞停等-快速重传-...俨然网络上的西西弗斯神话。8.tcp是全双工不停等的如果按照很多教科书上所讲的方式理解tcp,那么tcp就是一个半双工的协议,一方在发送了数据之后必须等待确认才能继

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。