首页 > 编程知识 正文

tcp流量控制协议,tcp拥塞控制过程

时间:2023-05-05 00:32:26 阅读:116221 作者:1241

TCP比UDP提供了更多的三个功能,分别是可靠的传输、拥塞控制和流控制。 其中拥塞控制和流控制有很多相似之处,本文将两者的细节展开,并在文章的最后给出比较。

在窗口前,必须明确TCP中三个窗口的概念。 TCP连接的双方分别称为接收方和发送方,接收方维护接收窗口,发送方维护发送窗口。 窗口可以很容易地理解为存储器单元。

3358www.Sina.com/:这是1.接收窗口根据自己的缓存大小设置的值,必须告诉发送方接收方反映接收方的接收能力。

接收方:这是根据2.拥塞窗口自身估计的网络拥塞程度设置的窗口值,反映当前网络的容量。

发送方:发送窗口=min (拥塞窗口,接收窗口)。 让我们来理解这个公式。 由发送方自己计算拥塞窗口,接收方告诉发送方接收窗口,发送窗口取其最小值。 换句话说,要发送的数据不能超过网络的容量,也不能超过接收侧的容量。

例如,图书馆顶层有容量30人的自习室,条件非常好。 我们班有20个人想去那里自习,排在一楼电梯门口。 一楼大厅有LED屏幕,实时显示这个自习室还剩多少个座位。 这时自习室只剩下http://www.Sina.com/http://www.Sina.com/10人,我们班的人得赶紧找位置了! 但是图书馆的电梯一次只能搬12个人。 在3.发送窗口,我们一次最多可以送多少人去自习室? 首先,不能超过10人。 自习室只剩下十个人的座位。 第二,不能超过12人。 电梯只能容纳12人,所以这次我们能上的最大人数是min (10,12 )也就是10人,20个座位已经被别人抢走了

请注意,这三个窗口是动态变化的,每个窗口都是变化的。 我们稍后再谈这个

流控制(自习室的接收窗口为10):基于其接收缓存通知发送方自己接收窗口的大小,以字节为单位动态调整发送方发送窗口的大小

(网络的拥塞窗口12):滑动窗口

1 .接收方在确认消息段的窗口字段中向发送方传递接收窗口rwnd

2 .发送侧的发送窗口具有接收窗口rwnd和拥塞窗口cwnd的最小值

电梯里送来了10个人。 这10人进入自习室后占了10个地方努力学习。 这时,自习室的30个座位已经满了。 但是,这时,五个同学自习结束后离开了自习教室。 实际上还剩下五个空位。 但是,楼下的LED屏幕上显示着剩下的10个座位。 那么,送来10个人,会不会有人失去了座位? 那不行啊。 此时,自习室管理员将修改LED屏幕上的数字,告知一楼学生,现在只有5个座位,为发送窗口为10.。 这个时候,排队的同学知道。 最多只能去五个人。

因此,流量控制是指自习室管理者修正LED画面上的剩馀座位的过程

拥塞控制流量控制要做的事情:监视网络状况,用4种算法估计拥塞窗口的值

因为是图书馆,所以计划去其他楼层阅览室的学生,他们也在这里排队。 假设我们班的同学进电梯之前,还有八个其他人站在电梯里。 这个时候,我们站在门口计算。 电梯限12人,已经有8人,这样还能收到4人。 (拥塞控制算法)聪明的我们计算出拥塞窗口为4,LED屏幕上显式剩下的座位为5。 这样,发送窗口=min (4,5 )=4,也就是说,我们中只能有四个人。

也就是说,拥塞控制是指估计电梯中还能搭载多少人的过程。 但是,网络很复杂,估计拥挤的窗口并不是一个简单的加减乘除。

流量控制的方法

横轴为传输线路(即电梯每次上下移动),纵轴为拥挤窗)电梯的剩馀容量)。 需要注意的是,这四种算法给出上图所示规律(线性增长、指数增长)的是(接收窗口5)

流量控制要做的事情:连接刚建立时,cwnd指数增加,达到慢启动阈值ssthresh时,切换为避免拥塞

估算拥塞窗口的算法::阈值后,cwnd线性增加(加法增大),发生超时(如果网络拥塞),则cwnd=1,ssthresh=cwnd/2

接收方有足够的缓存空间,发送窗口大小取决于拥塞程度

余ACK之后就改变为慢开始。

4.快恢复算法:cwnd变为新的门限值,继续执行拥塞避免

看到这里会不会有一个疑问呢?既然拥塞窗口等价于电梯剩余容量,为什么在这四个算法中拥塞窗口一次比一次大呢?

在上面的例子中,我们知道电梯的限载,也知道电梯目前已经站了几个其他人,所以每次能准确计算我们班还能上多少人,但是在实际网络中,网络的最大容量以及目前网络上已经在传输的报文数量是未知的,相当于我们看不见电梯里面已经站了多少人,也不知道电梯限载。所以我们只能一次一次试探。第一趟上去1个人,发现没有超载,诶!好事儿,那第二趟我们上去4个人,又没有超载,看来现在还不是很挤嘛~下一趟我们上8个(慢开始),哦吼!电梯报警了,上不去,那估计是已经站了很多其他人了,那这次上4个好了(拥塞避免),看看这一次超不超载。

最后总结拥塞避免和流量控制的相同点和不同点

1.目的不同拥塞控制控制量,流量控制控制速度。拥塞控制是控制电梯超不超载,流量控制是控制运人上来的速度不能太快,导致来不及接收

2.范围不同拥塞控制面向整个网络,流量控制面向当前连接。电梯里面站的人不仅有去顶楼自习室的人,还有去其他楼层的人,是面向整个图书馆的,即拥塞控制面向整个网络。LED上显式的仅仅是该自习室的剩余座位,所以流量控制面向的是当前连接。

3.任务不同拥塞控制的任务是发送方根据四个算法监测网络,不断调整拥塞窗口的大小;流量控制的任务是动态修改报文中的窗口字段,及时告知发送方接收窗口大小是多少。拥塞控制是不断计算电梯可承载的剩余人数,流量控制是自习室管理员动态更新LED屏幕上的剩余座位数。

4.结果相同最终结果都是改变了发送窗口(发送窗口=min(拥塞窗口,接收窗口)来控制发送方发送数据的速度。无论是限制进入自习室的人数,还是限制进入电梯的人数,都是通过改变每次运送人数来实现的。

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。