在计算机网络中的链路容量(带宽),交换结点中的缓存空间和处理机的处理能力等,都是网络的资源
一.拥塞的发生与其不可避免
拥塞发生的主要原因在于网络能够提供的资源不足以满足用户的需求
对资源的需求 > 可用资源
若网络中许多资源同时呈现供应不足,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降
但是,是不是说只要增加网络资源(例如:把结点缓存的存储空间扩大,或者把链路更换为更高速的链路,或者把结点处理机的运算速度提高),就能避免拥塞呢???
答案却是否定的!如:当某个节点缓存的容量太小时,到达该节点的分组因无存储空间暂存而不得不被丢弃。现在设想将该节点缓存的容量扩展到非常大。于是凡到达该结点的分组均可在结点的缓存队列中排队,不受任何限制。由于输出链路的容量和处理机的速度并未提高,因此在这个队列中的绝大部分分组的排队时间将会大大增加,结果发送方在超时计数器内没有收到确认(早就超时了),只好进行重传,甚至还可能重传多次,这样会引起更多的分组流入网络和被网络中的路由器丢弃,,由此可见,简单的扩大缓存的存储空间同样会造成网络资源的严重浪费,并不能解决网络拥塞的问题,有可能还会加剧拥塞,,,
也有人会说:那么把处理机的速率提高呢???把速率提高(付出的代价:硬件的替换,材质的替换,物理架构的替换),及时的从结点的存储空间中把数据拿走了,而且还导致结点的存储空间长时间的是空的状态,相比与代价,还是很不合理的,,,
所以说:我们可以(把结点缓存的存储空间扩大,把链路更换为更高速的链路,把结点处理机的运算速度提高),但是直接就导致了其他方面的麻烦了,不管是:硬件,物理架构,还是人力物力,时间等
所以我们通过一些合理的算法来
对资源的需求 > 可用资源
若网络中许多资源同时呈现供应不足,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降
但是,是不是说只要增加网络资源(例如:把结点缓存的存储空间扩大,或者把链路更换为更高速的链路,或者把结点处理机的运算速度提高),就能避免拥塞呢???
答案却是否定的!如:当某个节点缓存的容量太小时,到达该节点的分组因无存储空间暂存而不得不被丢弃。现在设想将该节点缓存的容量扩展到非常大。于是凡到达该结点的分组均可在结点的缓存队列中排队,不受任何限制。由于输出链路的容量和处理机的速度并未提高,因此在这个队列中的绝大部分分组的排队时间将会大大增加,结果发送方在超时计数器内没有收到确认(早就超时了),只好进行重传,甚至还可能重传多次,这样会引起更多的分组流入网络和被网络中的路由器丢弃,,由此可见,简单的扩大缓存的存储空间同样会造成网络资源的严重浪费,并不能解决网络拥塞的问题,有可能还会加剧拥塞,,,
也有人会说:那么把处理机的速率提高呢???把速率提高(付出的代价:硬件的替换,材质的替换,物理架构的替换),及时的从结点的存储空间中把数据拿走了,而且还导致结点的存储空间长时间的是空的状态,相比与代价,还是很不合理的,,,
所以说:我们可以(把结点缓存的存储空间扩大,把链路更换为更高速的链路,把结点处理机的运算速度提高),但是直接就导致了其他方面的麻烦了,不管是:硬件,物理架构,还是人力物力,时间等
所以我们通过一些合理的算法来