计网基础-传输层之流量控制和拥塞控制

UDP无流量控制和拥塞控制,所以,咱们主要讨论的是TCP的拥塞控制和流量控制,并要注意二者的区别。缓存

 

拥塞Congestion

太多发送主机发送了太多数据或者速度过快,以致于网络没法处理网络

表现:学习

- 分组丢失(路由器缓存溢出)blog

- 分组延迟过大,甚至致使路由器不可用(在路由器缓存排队)资源

 

Q:rdt(可靠数据传输)已经解决了分组丢失的问题,为何要学习拥塞控制?路由

A:这是两个不一样的问题,rdt解决的是端到端,针对个体利益的角度,使用确认、重传机制;拥塞控制是社会机制,从群体利益角度,使得每个主机作出必定的牺牲,采用某种机制来控制整个网络的负载。it

 

Q:流量控制和拥塞控制有什么不一样?io

A:流量控制是发送方不要发送的太快,致使接收方处理不了;而拥塞控制是不要让整个网络处理不了路由器

 


 拥塞的成因和代价

1. 两个senders,两个receivers,一个路由器(无限缓存),没用重传方法

致使:

C为带宽bandwidth,in和out是速率

- (右图)拥塞时分组延迟delay太大

- (左图)达到最大throughput吞吐量,<C/2时,线性增加,直至达到maxC

 

2. 一跳/一个路由器(有限的缓存),sender能够重传分组

致使:

备注:

- 状况b,不能提早获知路由器的缓存信息,只能经过肯定丢失才重传

- 状况b相对于a,意味着有效的吞吐量下降了,因为拥塞,因为丢失,须要重传,(网络资源是有限的)形成了网络资源的浪费

- 状况c,不只肯定分组丢失以后才重传,并且会等待必定时间后重传,这时候将有更多的重传,因此吞吐量更低了

 

3. 四个sender,多跳/四个路由器(有限缓存),超时/重传

 致使:

红线绿线竞争,都要使用R2,因为拥塞,吞吐量也变低了,会形成不断的丢失

Q:假如红线已经在前一个路由器正常转发,可是到达R2后因为竞争拥塞,则会产生什么代价?

A:相对于一跳,多跳拥塞会产生另外一个代价——任何用于该分组的”上游“传输能力全被浪费

前半段:in速率和out速率线性增长

后半段:当in速率增大到必定程度的时候,out速率基本等于0——>你们都在往里面发数据,可是,几乎没用数据被正确的接收,意味着网络瘫痪了/网络全部的资源都被浪费掉了

 

 


 

进行拥塞的控制,解决拥塞产生的代价

传输层或者网络层进行控制/管制数据、网络的负载(成因)

 

方法(2种)

- 端到端的拥塞控制(在传输层,TCP就是使用这种方法)

网络层或者网络层的设备,好比路由器路由器并不须要显式的支持,而是端系统经过管制/控制本身的发送速率,经过观察loss、delay等网络行为判断是否发生拥塞

 

- 网络辅助的拥塞控制(在网络层,典型的ATM就是使用这种方式)

路由器向发送方显式的反馈网络拥塞信息

简单的拥塞指示(1bit):SNA、DECbit、TCP/IP ECN、ATM

指示发送方应该使用何种速率

相关文章
相关标签/搜索