计算机网络中的拥塞控制和流量控制.ppt
拥塞控制和流量控制 拥塞控制需要确保通讯子网能够承载用户提交的信息量,是针对中间节点资源受限而设置的,是一个全局性的问题,涉及到主机、路由器等很多方面的因素; 流量控制是与点到点的通信量有关的,是针对端系统中的资源受限而设计的,主要是解决快速发送房和慢速接收方的问题,使局部问题,一般都是基于反馈进行控制的。 流量控制和拥塞控制都是限制进入网络的通信量的机制,两者是密切相关的。 网络拥塞控制和流量控制的基础 网络拥塞控制和流量控制的背景知识 拥塞控制和流量控制措施 拥塞控制和流量控制的有效性评价 拥塞控制的措施 单纯增加网络资源并不能从根本上有效的解决网络拥塞,解决这一问题的有效途径是采用拥塞控制。 拥塞控制的目的是在有限的网络资源的情况下,通过通信量的约束与调配减少数据的丢失,提高网络的吞吐量,充分利用已有的网络资源。 因此,拥塞控制通常从两方面入手 通信量的约束:是指控制进入网络的通信量,使其与网络容量相匹配; 通讯量的调配:则是合理处理和转发到达网络数据,实现网络流量的均衡。 从控制理论的角度 从控制理论的角度,拥塞控制又可以分为开环控制和闭环控制。 当流量的特征可以准确的规定、性能的要求可以事先获得的情况下,适合使用开环控制 当流量特征不能准确描述,或者当整个系统不能提供资源预留时,适合使用闭环控制。Internet中主要使用闭环控制的方式。 闭环的拥塞控制可以分为三个阶段: 检测网络拥塞的发生; 将拥塞信息报告到拥塞控点; 拥塞控制点根据拥塞信息采取相应的措施以消除拥塞。 闭环的拥塞控制可以动态的适应网络的变化,当使其性能收到反馈延迟的影响比较大,当拥塞发生点和控制点之间的延迟很大时,其性能会严重下降。 根据算法的实现位置 根据算法的实现位置,可以将拥塞控制算法分为两大类: 链路算法(Link Algorithm):在网络设备中使用(如路由器、交换机) 链路算法主要集中在队列管理和队列调度方面,其中的主动队列管理技术是目前研究的热点问题 源算法(Source Algorithm ):主要在主机和网络边缘设备中使用. 在拥塞控制的源算法方面,大量的工作集中在对TCP协议的研究上 近年来非线性规划理论和系统控制理论的思想被引入到拥塞控制的研究中来,一些研究人员尝试使用严格的数学模型来描述由端系统和网关组成的系统,这对于拥塞控制有很大的帮助。 流量控制措施 同样单纯增大接收端的承受能力也不能从根本上有效地解决接收端流量过剩的问题。解决这一问题的有效途径是采用流量控制。 流量控制的目的是在有限的接收端承受能力的情况下,通过流量约束,减少接收端的数据丢失,提高数据发送效率,充分利用接收端的资源。 目前Internet中流量控制主要分为: 端到端的流量控制:是基于接收端的最终承受能力控制数据源端的数据流量 链路级流量控制:则主要是基于接收端的承受能力来控制上游节点的数据流量。 流量控制涉及到的技术通常有: 停止-等待协议(STOP-and-Wait):主要用于理想的传输信道,即所传输的的任何数据既不会出现差错也不会丢失。 在进行流量控制时,要求发送方将数据发送到发送缓冲区并且立即发送出去,而接受方的接收缓冲区的大小只要能够装得下一个数据帧即可。发送方发送数据后等待,接收方收到数据后将其放入数据链路层的接收缓冲区并交付给主机,同时发一信息个发送节点表示数据帧已经上交给主机;发送方收到接受站点发过来的双方事先商定好的信息,则从主机取下一个新的数据帧再发送。 该协议可以使接收双方同步的很好,并且有接收方控制发送方的数据流量。 由接收方控制发送方的数据流量,这是计算机网络中流量控制的基本思路。 连续ARQ( Automatic Repeat reQuest自动重传请求 ) 连续的自动重传请求协议在发送完一个数据帧后,不是停下来等待确认·帧,而是可以连续在发送若干个数据帧。如果这时候收到接收端发来的确认帧,还可以接着发送数据帧,减少了等待的时间,则整个通信的吞吐量就提高了。 在协议执行的过程中节点每发送完一个帧都要设置一个超时计时器,如果在所设置的超时时间内收到来自接受方的确认帧,就立即将超时计时器清零;但是若在所设置的超时时间到了仍未收到确认帧,就要重传相应的数据帧,同时仍需重新设置超时计时器(可能仅仅因为这些数据帧前面的一个数据帧出了差错),当出现这种情况时,将使传送的效率降低。 由此可见,若传送信道的传输质量很差因而误码率较大时,连续连续的自动重传请求协议不一定优于停止等待协议。 滑动窗口协议 是指一种采用滑动窗口机制进行流量控制的方法,通过限制已经发送当还未得到确认的数据帧的数量,滑动窗口协议可以调整发送方的发送速度。滑动窗口协议在提供流量控制机制的同时,还可以同时实现帧的确认和差错