数据通信与计算机网络-09路由选择和拥塞控制_第1页
数据通信与计算机网络-09路由选择和拥塞控制_第2页
数据通信与计算机网络-09路由选择和拥塞控制_第3页
数据通信与计算机网络-09路由选择和拥塞控制_第4页
数据通信与计算机网络-09路由选择和拥塞控制_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9讲路由选择和拥塞控制,课时授课计划课程内容,内容:路由选择策略拥塞控制目的与要求:理解路由选择算法;了解拥塞控制策略方法重点与难点:重点:路由选择算法;难点:路由选择算法。,课堂讨论:路由选择?漏桶算法?现代教学方法与手段:投影PowerPoint幻灯课件复习(提问):虚电路和数据报服务?,复习,虚电路(VirtualCircuit)数据报(Datagram),A,C,B,D,E,A,C,D,H1,H2,H4,H3,H5,H6,(a)数据报服务,(b)虚电路服务,第5章网络层,5.3路由选择5.4拥塞控制5.5X.25协议,固定路由选择,固定路由选择在每个节点上保持一张路由表,表上标明对每一个目的地址应走哪条链路进行转发.路由表是在整个系统进行配置时生成的.配置时根据事先计算好的“网络中任意两个节点之间最短路径”,将这些最短通路制成路由表,存放在各个节点中.每一个分组都可在所到达的节点中查找下一步应转发到哪一个节点(下一站节点或后继节点).经典的求最短路径算法是Dijkstra算法.它的条件是已知网络的拓扑和各链路长度,主要是通过计算任意两节点间的最小链路长度,求得从源节点到目的节点间最短通路.,固定路由选择,Dijkstra算法对于一个无向图G=(V,E),其中V表示网络中所有节点的集合,E表示网络中所有链路的集合,D(v)为源节点到节点v的距离,l(i,j)为节点i至节点j之间的距离.(1)初始化任选一个节点作为源节点,不妨令V=1,对所有不在V中的节点v,写出:,图求最短路径算法的网络拓扑,实际编程时一般取D(v)=1000代替.,源节点,固定路由选择,(2)寻找一个不在V中的节点w,其D(w)值为最小.把w加入到V中.然后对所有不在V中的节点,用D(v),D(w)+l(w,v)中较小的值去更新原有的D(v)值,即:D(v)MinD(v),D(w)+l(w,v)(3)重复步骤(2),直到所有的网络节点都在V中为止.由Dijkstra算法可知,若将已知的各链路长度改为链路时延,跳数,带宽或费用,就相当于求任意两节点之间具有最小时延,最少跳数,最大带宽或最小费用的通路.所以,求最短路径算法具有普遍的应用价值.,固定路由选择,基于左图的网络拓扑结构,采用Dijkstra算法,计算以节点1为源节点的最短通路的过程.,表中带圆圈的数字表示的是:在每一次执行步骤(2)时,所寻找到的具有最小值的D(w)值.,固定路由选择,上述路由表仅是以节点1为源节点,由Dijkstra算法计算得到节点1为根的通路树,然后生成节点1内存中的路由表这样的路由表每个节点都有一个,只需分别以这些节点为源点,重新执行算法即可.,图基于Dijkstra算法生成的最短通路树,图依据最短通路树生成节点1的路由表,随机路由选择,当分组到达某个节点时就随机地选择一条链路作为转发的路由.当网络中的节点或链路发生故障时,采用随机走动法是最有效的,它使得路由算法具有较好的稳健性.,基于流量的路由选择,基本思想既考虑拓扑结构,又兼顾网络负荷;前提:每对结点间平均数据流是相对稳定和可预测的;根据网络带宽和平均流量,可得出平均包延迟,因此路由选择问题归结为找产生网络最小延迟的路由选择算法。提前离线(off-line)计算,基于流量的路由选择,需要预知的信息网络拓扑结构;通信量矩阵Fij;线路带宽矩阵Cij;路由算法(可能是临时的)0,拥塞控制,拥塞控制的意义1.意义计算机网络中的链路容量,交换节点中的缓存和处理机等,都是网络的资源.在某段时间内,若对网络中的某一资源的需求超过了该资源所能提供的可用部分,网络的性能就变坏,这种情况称为网络拥塞(NetworksCongestion).一般地可以表示成如下形式:网络拥塞的原因:(1)网络中某个节点缓存的容量太小,造成到达该节点的分组因无空间暂存而不得不丢弃.,若将站点的容量扩展到很大,所有到达的分组均可在此节点缓存,而由于链路的容量和处理机的速度并未提高,因此分组在队列中的排队时延将会很长,结果上层软件只好将它们进行重传(超时重发).所以简单地扩大缓存的存储空间同样会造成网络资源的严重浪费.,对资源的需求可用资源,拥塞控制,图当通信量太大时,会发生拥塞,性能显著降低.,发送的分组,提交的分组,子网的最大传输容量,拥塞控制,(2)处理机的处理速度太慢如果路由器的CPU处理速度太慢,以至于不能执行要求它们做的日常工作(缓冲区排队,更新路由表等),使得缓存中的队列变得很长,即使线路的容量还很富裕.(3)低带宽的链路由于带宽太低,造成链路上需要传输的分组太多,子网的性能降低.若升级带宽而不提高处理机性能都不会有多大的作用.只升级系统的一部分,而不是整体,往往只会把瓶颈转移到系统其它地方.只有当系统中的所有组件都相互平衡时,网络拥塞才会解决.,拥塞会导致恶性循环:如果路由器没有空余缓冲区,它必须丢掉新到来的分组.当扔掉一个分组时,发送该分组的路由器(一个邻居)可能会因为超时而重传此分组,或许会重发多次.由于发送方路由器在未收到确认之前不能扔掉该分组,故接收端的拥塞迫使发送者不能释放在通常情况下已释放了的缓冲区,这样拥塞加重.,拥塞控制,2.拥塞控制与流量控制的关系,图拥塞控制所起的作用,输入负载,吞吐量,子网的最大传输容量,0,网络吞吐量=网络负载,吞吐量饱和,当网络负载继续增大到某一数值时,网络的吞吐量就下降为零,网络已无法工作.这就是所谓的“死锁”,拥塞控制,死锁主要有两种:一种是直接死锁,另一种重装死锁.(1)直接死锁:即由互相占用了对方需要的资源而造成的死锁.,图直接死锁的例,节点A保留发给节点B的分组的副本,等待节点B的应答.同样,节点B也保留已发送给节点A的分组的副本,等待节点A的应答.谁也无法成功地发出一个分组.,拥塞控制,(2)重装死锁:由于路由器的缓存的拥塞而引起的死锁.设三个报文A,B和C经过路由器P,Q和R发往主机H.每一个报文由4个分组构成.又设每个路由器的缓存只能容纳4个分组.,路由器R为报文A预留了4个分组的缓存.由于分组3还未到达,报文A还不能交付给主机H.,分组A3还暂存在路由器P的缓存中,它无法转发到路由器Q中.因为路由器Q的缓存已满.,路由器Q的缓存中的任何一个分组都不能向前转发,路由器R的缓存是为报文A预留的.,图重装死锁的例,拥塞控制,流量控制与拥塞控制的关系是:(1)拥塞控制是一个全局性的过程,涉及到所有的主机,所有的路由器,以及与降低传输性能有关的所有因素.拥塞控制的前提是网络能够承受现有的网络负荷.(2)流量控制是一个局部性的过程,往往指在给定的发送端和接收端之间的点到点通信量.流量控制所要做的就是使发送端发送数据的速率不能使接收端来不及接收.流量控制总是存在着从接收端到发送端的某种直接反馈,使发送端知道接收端是处于怎样的状况.,在实施拥塞控制时,拥塞控制算法向发送端发送控制报文,并告诉发送端网络已出现拥塞,必须放慢发送速率.这和流量控制“很像”.,拥塞控制,拥塞控制的一般原理拥塞控制算法大致可分成开环控制和闭环控制两大类.(1)开环控制算法原理通过良好的网络系统设计来避免拥塞问题的发生,在网络运行过程中,何时接受新分组,何时丢弃分组以及丢弃哪些分组都是事先规划好的,并不考虑当前的网络流量状况.(2)闭环控制算法原理通过反馈机制来调整当前网络流量,使网络流量与网络可用资源相协调,从而使网络拥塞问题得到解决.,拥塞控制,由于闭环控制算法能够根据当前网络状况对流量进行动态控制,具有较高的效率,因此,现代网络系统大都采用闭环控制算法来解决网络拥塞问题.闭环控制算法中的关键技术是:检索技术:检索机制能够随时发现拥塞问题,判断的依据和参数主要有:因缺少缓冲区空间而丢弃的分组数量;平均分组队列长度;超时重发分组的数量;平均分组延迟时间等.如果基准参数超过临界值,则意味着可能发生了网络拥塞.反馈技术:反馈机制将发生拥塞的信息从检查点传送到控制点.反馈方式主要有两种:显式反馈和隐式反馈.显式,拥塞控制,反馈采用由检查点向控制点反馈一个警告分组的方式来通告网络已发生了拥塞.隐式反馈采用由控制点(源端)通过观察应答分组返回所用时间进行推断的方式来判断网络是否发生了拥塞.调整技术:调整机制是通过检查点和控制点相互协作来共同努力解决拥塞问题.控制点通过降低载荷,即降低分组发送速率来缓解拥塞;检查点通过载荷脱落,即丢弃一些分组来疏导交通,或者通过增加系统资源(如增加附加链路或提高链路带宽)来提高流量通过能力,对于后者,要求系统能够提供后备的资源.,拥塞控制,拥塞控制算法根据数据交换方式(虚电路或数据报)的不同,拥塞控制算法采用不同的策略.1.面向虚电路的拥塞控制算法,连接请求分组中包括:(1)最大分组长度(2)最大传输速率(3)分组序号(4)传输模式等,应答分组对连接分组中的根据流量说明信息进行确定它能接受的流量传输模式.,应答分组经过各路由器时,对各路由器所记录的发送者流量说明信息进行确认.,连接请求分组经过各路由器时,各路由器记录流量说明信息.,图虚电路交换的建立,拥塞控制,在数据传输过程中,路由器将根据协商好的传输模式对该链路上的交通进行整形.交通整形(TrafficShaping)是调整数据传输的平均速率,使数据按照传输模式规定的速率进行传输,尽量避免突发性增大通信量,导致产生拥塞问题.交通整形是对传输速率进行调整,而不是调整流量控制中一次可传送的数据量.交通整形主要采用两种算法:漏桶(LeakyBucket)算法和令牌桶(TokenBucket)算法.(1)漏桶算法,拥塞控制,图一个装水漏桶图一个分组的漏桶模型,水龙头,漏桶,水以恒定速度从孔中流出,漏桶算法相当于在路由器内部实现了一个有限长度队列,路由器将以恒定速率从队列中取出分组发送出去,而进入路由器的分组被排到队列的尾部,一旦队列饱和,新来的分组将被丢弃.这种算法实际上是一种具有恒定服务时间的单服务器排队系统.主机系统也可采用该算法来整形分组的发送,将上层应用进程不均匀的数据流整形成均匀的分组流向网络发送,平滑了突发的数据流,大大减少了发生拥塞的机会.,拥塞控制,(2)令牌桶算法令牌桶算法与恒定输出速率的漏桶算法有所不同,它允许一定量的突发数据流.该算法以恒定速率产生一个个令牌放入桶内,每发送一个分组都要获得和消耗一个令牌,如果令牌消耗完,则新来的分组就要等待生成新令牌或被丢弃.由于突发性的输入流往往导致拥塞的发生,因此获得令牌的分组将被快速地输出,使突发性的输入流得到迅速的疏导.在令牌桶算法中,使用一个令牌计数器来计数令牌数量.令牌计数器每隔t时间加1,表示新增加一个令牌;每发送一个分组,令牌计数器减1,表示已消耗一个令牌.当计数,拥塞控制,器减至0时,表示令牌已消耗完,不能再发送分组了.这两种交通整形算法既可用于平滑主机向网络发送分组的通信量,也可用于两个路由器之间的交通整形.在ATM交换机和RSVP协议中,就是应用上述的交通整形算法来解决网络拥塞问题的.2.面向数据报的拥塞控制算法数据报服务是一种无连接传输方式。路由器一旦检测到系统可用资源(如链路利用率或队列长度)超过临界值,就会向源主机发送一个抑制分组,警告网络可能发生拥塞.源端主机定期地侦听抑制分组,如果在侦听期内收到抑制分组,则会减少发送给目的主机的数据量.当减至在侦听期,拥塞控制,图基于数据报服务的拥塞控制策略,警告!,抑制分组,抑制分组,抑制分组,抑制分组,主机收到抑制分组后,逐步减少发送给目的主机的分组数量,一般改变发送窗口或采用漏桶输出率等。,拥塞控制,在侦听期内不再收到抑制分组后,可以逐渐增加通信量.主机可以通过调整其发送操作的相关参数(发送窗口或漏桶输出率)来减少通信量,路由器通常采用加权公平队列算法来处理分组排队,检测是否超过临界值,以及何时发送抑制分组.在广域网环境下,采用完全由远程的源端主机减少通信量来缓解拥塞的方法并不是很有效的,因为距离远,反应慢.一种改进的方法是抑制分组途径的各个路由器都要抑制通信量,使通信量得到迅速控制,但中间路由器要提供一定数量的缓冲区空间用于暂存过量的分组.当抑制分组到达源端主机后,由源端主机采取适当措施最终才能使通信,拥塞控制,量降下来.在IP协议中,采用了抑制分组的方法来解决网络拥塞问题.当网络发生严重拥塞时,路由器往往需要采用载荷脱落(LoadShedding),即丢弃分组的方法来疏导交通.路由器一般采用按先

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论