互联网拥塞控制中路由优化算法设.docx

上传人:b****6 文档编号:7759073 上传时间:2023-01-26 格式:DOCX 页数:24 大小:127.66KB
下载 相关 举报
互联网拥塞控制中路由优化算法设.docx_第1页
第1页 / 共24页
互联网拥塞控制中路由优化算法设.docx_第2页
第2页 / 共24页
互联网拥塞控制中路由优化算法设.docx_第3页
第3页 / 共24页
互联网拥塞控制中路由优化算法设.docx_第4页
第4页 / 共24页
互联网拥塞控制中路由优化算法设.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

互联网拥塞控制中路由优化算法设.docx

《互联网拥塞控制中路由优化算法设.docx》由会员分享,可在线阅读,更多相关《互联网拥塞控制中路由优化算法设.docx(24页珍藏版)》请在冰豆网上搜索。

互联网拥塞控制中路由优化算法设.docx

互联网拥塞控制中路由优化算法设

 

东海科学技术学院

毕业论文(设计)

题目:

互联网拥塞控制中路由优化算法设

计与编程

系:

电子信息系

学生姓名:

专业:

班级:

指导教师:

起止日期:

年月日

互联网拥塞控制的路由优化算法设计与编程

摘要

随着计算机和通信技术的发展,互联网在过去的二十年中得到了迅猛发展,无论是网络规模、用户数量还是应用类型都呈现出爆炸式的增长趋势,同时人们对低时延和低抖动的网络服务质量的需求也与日俱增。

其中的低时延意味着尽力保证网络通信的实时性,时延的低抖动则反映同一业务流传输速度的均匀性,它们是反映网络服务质量的两个方面。

但是,主要用于数据通信(如远程登陆、电子邮件、网页浏览等)的传统互联网,其网络结构和通信协议对延迟时间或延迟抖动的反应很不敏感,网络只是尽最大努力来满足传输要求,而不能保证足够的传输带宽和传输时延要求,甚至没有传输服务质量的概念。

这种状况使网络数据流量在空间上和时间上具有很大的不均匀性,时常充满拥塞威胁,因此,必须研究和采用功能更稳定的拥塞控制措施,提高互联网的工作稳定性和网络服务质量。

通俗地讲,当网络中存在过多的数据包时,路由器来不及转发分组而使网络性能下降,这种现象称为拥塞。

网络拥塞的主要原因有:

网络资源不足、网络中业务流的分布不均匀。

目前基于路由器的拥塞控制使用最广泛的是“去尾”队列管理,即路由器缓存已满时丢弃后续到达的数据包。

“去尾”队列管理的主要缺点是会产生闭塞和满队列现象,造成大量数据包的丢失,因此专家建议采用“主动队列管理”策略,即在队列满之前就按一定概率丢弃或标记少量数据包,从而在缓存溢出之前源端能对拥塞做出反应。

互联网工程任务组推荐并在一些商业路由器中使用的AQM机制是随机早期检测(RandomEarlyDetection,RED)。

RED的特点是在队列满之前提前开始采取拥塞避免措施,而不是在产生拥塞时再进行处理。

它允许短时的分组突发,可以避免因为网络负荷变化而造成的分组丢弃,能有效地减少路由器的拥塞现象。

另外,RED对各种业务流不加区分,使得有些不需要QoS保证的业务流可以继续占用网络带宽,还以相同的概率丢弃所有业务流中的分组,结果不能有效地控制业务流占用的带宽。

基于上述研究现状,本文通过算法优化等措施增强互联网拥塞中路由的处理能力。

主要通过比较几种主流算法,研究各个算法之间的优劣,在此基础上提出自己的见解。

关键词:

拥塞控制;路由算法;优化

 

ABSTRACT

Ascomputerandcommunicationstechnology,theInternetinthepasttwodecadeshasbeenrapiddevelopmentofbothnetworksize,numberofusersorapplicationtypesemergedexplosivegrowthtrend,whilepeoplewithlowdelayandlowjitternetworkqualityofservicethegrowingdemand.Whichmeansthateveryefforttoensurelowlatencyreal-timenetworkcommunication,delay,andlowjitterreflectsthesamebusiness,theuniformityofflowspeeds,whicharereflectedintwoaspectsofnetworkqualityofservice.However,mainlyfordatacommunications(suchasremotelogin,e-mail,webbrowsing,etc.)ofthetraditionalInternet,thenetworkstructureandcommunicationprotocolonthedelayordelayjitteroftheresponseisverysensitivetothenetworkonlydoitsutmosttomeetthetransmissionrequirementsbutdonotguaranteeadequatebandwidthrequirementsandtransmissiondelay,oreventransfertheconceptofqualityofservice.Thissituationmakesthenetworktrafficinspaceandtimehavegreatheterogeneity,oftenfullofcongestionthreat,therefore,mustbestudied,andfeaturesamorestablecongestioncontrolmeasurestoimprovetheoperationstabilityoftheInternetandnetworkqualityofservice.Generallyspeaking,whenthereistoomuchnetworkpackets,routershasnotimetoforwardpacketsleadingtonetworkperformance’sdegradation,thatisaphenomenonknownascongestion.Networkcongestionthemainreasonsare:

lackofnetworkresources,network,businessflowsunevenlydistributed.

Thecurrentrouter-basedcongestioncontrolthemostwidelyusedis"toend"queuemanagement,namely,thecacheisfull,andtherouterdiscardsthepacketarrivalfollow-up."Toend"thequeuemanagerwillhaveamajordrawbackisthephenomenonofocclusionandfullqueue,resultinginthelossoflargeamountsofdatapackets,soexpertsrecommendusing"activequeuemanagement"strategy,thatis,beforethepressinthequeueoverdiscardormarkacertainprobabilityofasmallamountofdatapacketstothesourcebeforetheendofthebufferoverflowcanrespondtocongestion.InternetEngineeringTaskForcerecommendationand,insomecommercialroutersusedintheAQMmechanismisRandomEarlyDetection(RandomEarlyDetection,RED).REDfeaturesinthequeuestartedtotakefulladvanceofthecongestionavoidancemeasures,ratherthanintheproductionofprocessedagainwhenthecongestion.Itallowsshortpacketburst,avoidedbecauseofchangesinnetworkloadcausedbypacketdropping,routerscaneffectivelyreducecongestion.Inaddition,REDonthevariousbusinessstreamswithoutdistinction,sothatmanydonotneedQoSguaranteedserviceflowmaycontinuetooccupynetworkbandwidth,butalsowiththesameprobabilityofdiscardingthepacketstreamofallbusiness,resultsofoperationscannoteffectivelycontroltheflowofthebandwidth.

Fortheaboveresearch,thealgorithmforincreasedbythemeasurestosupportthethrustoftheprocessingabilityofthemainroute.throughcomparingthemainstream,andstudyofthealgorithmbasedonthemeritsandputforwardhisopinion.

Keywords:

congestioncontrol;routingalgorithm;Optimization

目录

前言1

第一章互联网路由算法概述3

1.1路由算法的工作原理3

1.2路由算法的设计要求4

1.3路由算法的分类5

第二章互联网中的路由器7

2.1路由的基本概念7

2.2路由器的基本功能7

2.3路由器的种类8

2.4路由协议9

2.4.1路由协议的工作原理9

2.4.2路由协议的作用9

2.4.3几种典型的路由协议10

第三章互联网拥塞现象的产生原因11

3.1拥塞的概念11

3.2拥塞的产生原因11

第四章互联网拥塞控制机制及其算法分类12

4.1拥塞控制机制12

4.2拥塞控制算法12

第五章几种优化算法及其比较14

5.1MPLS网络拥塞最小化的全局路由优化算法14

5.2TailDrop15

5.3RED15

5.4Dijkstra18

总结20

致谢21

参考文献22

 

前言

拥塞是一种持续过载的网络状态,此时用户对网络资源(包括链路带宽、存储空间和处理器处理能力等)的需求超过了原有的容量。

就Internet的体系结构而言,拥塞的发生是难以避免的。

因为在事先没有任何协商和请求许可机制的资源共享网络中,几个IP分组同时到达路由器,并期望经同一个输出端口转发的可能性是存在的,显然,不是所有分组可以同时接受处理,必须有一个服务顺序,中间节点上的缓存为等候服务的分组提供一定保护。

然而,如果此状况具有一定的持续性,当缓存空间被耗尽时,路由器只有丢弃分组。

在这种持续过载的状态下,网络性能会急剧下降。

拥塞的出现主要发生在以下两种情况下:

网络资源不足以满足业务流的需求,或网络业务流分布不均衡。

前者需要通过施行源速率限制,队列管理等流控机制,或者扩容这种长期的解决方式。

后者则可以通过合理分配资源,即实施流量工程来避免。

现在防止拥塞主要有以下几个方法:

(1)在传输层可采用:

重传策略、乱序缓存策略、确认策略、流控制策略和确定超时策略。

(2)在网络层可采用:

子网内部份额虚电路与数据报策略、分组排队和服务策略、分组丢弃策略、路由算法和分组生存管理。

(2)在数据链路层可采用:

重传策略、乱序缓存策略、确认策略和流控制策略。

以下是三种拥塞控制的方法。

一种是缓冲区预分配法。

这种方法用于虚电路分组交换网中。

在建立虚电路时,让呼叫请求分组途径的节点为虚电路预先分配一个或多个数据缓冲区。

若某个节点缓冲器已被占满,则呼叫请求分组另择路由,或者返回一个“忙”信号给呼叫者。

这样,通过途径的各节点为每条虚电路开设的永久性缓冲区(直到虚电路拆除),就总能有空间来接纳并转送经过的分组。

一种是分组丢弃法。

该法不用预先保留缓冲区,当缓冲区占满时,将到来的分组丢弃。

若通信子网提供的是数据报服务,则用分组丢弃法来防止拥塞发生不会引起大的影响。

但若通信子网提供的是虚电路服务,则必须在某处保存被丢弃分组的备份,以便拥塞解决后能重新传送。

另一种是定额控制法。

这种方法在通信子网中设置适当数量的称作“许可证”的特殊信息,一部分许可证在通信子网开始工作前预先以某种策略分配给各个源节点,另一部分则在子网开始工作后在网中四处环游。

当源节点要发送来自源端系统的分组时,它必须首先拥有许可证,并且每发送一个分组注销一张许可证。

目的节点则每收到一个分组并将其递交给目的端系统后,便可生成一张许可证。

这样便可确保子网中分组数不会超过许可证的数量,从而防止了拥塞的发生。

互联网拥塞控制不仅是网络稳定、高效运行的关键,同时又是实现各种服务质量的基础和前提。

实际的网络是一个不断发展的系统,互联网拥塞控制研究也是一个很有挑战性的研究领域。

对这方面的研究还有许多事情要做,进一步的工作包括:

(1)拥塞控制基于端主机的控制策略和路由器的队列管理策略存在相互影响、相互作用的关系,如何在网络模型描述的基础上,从控制系统的角度将两者结合起来,设计出最优的拥塞控制策略,是网络拥塞控制研究的一个方向。

(2)主动队列管理技术通过丢包积极相应拥塞,来达到拥塞避免和缓解的目的,是网络拥塞控制最重要的手段。

如何实现AQM高级策略,引入新的人工智能算法和遗传算法与模糊逻辑的综合应用是目前的一个热点问题。

(3)目前已经有越来越多的移动用户通过无线系统接入互联网,由于无线通信固有的特点,使得拥塞控制的研究变得更加困难。

 

第一章互联网路由算法概述

1.1路由算法的工作原理

路由算法是路由协议必须高效地提供其功能,尽量减少软件和应用的开销。

当实现路由算法的软件必须运行在物理资源有限的计算机上时高效显得特别重要[5]。

路由算法必须足够完善,即在出现不正常或不可预见事件的情况下必须仍能正常处理,例如硬件故障、高负载和不正确的实现。

因为路由器位于网络的连接点,当它们失效时会产生重大的问题[8]。

最好的路由算法通常是那些经过了时间考验,证实在各种网络条件下都很稳定的算法。

此外路由算法必须能快速聚合,聚合是所有路由器对最佳路径达成一致的过程。

当某网络事件使路径断掉或不可用时,路由器通过网络分发路由更新信息,促使最佳路径的重新计算,最终使所有路由器达成一致。

聚合很慢的路由算法可能会产生路由环或网路中断。

 

图1.1路由算法原理

 

图1.2路由算法流程图

1.2路由算法的设计要求

路由算法通常具有以下设计目标:

优化、简单、低耗、健壮、稳定,快速聚合,灵活性。

优化是指路由算法选择最佳路径的能力,根据metric(路由算法用以确定到达目的地的最佳路径的计量标准)的值和权值来计算。

例如有一种路由算法可能使用跳数和延迟,但可能延迟的权值要大些。

当然,路由协议必须严格定义计算metric的算法[7]。

路由算法也可以设计得尽量简单。

换句话说,路由协议必须高效地提供其功能,尽量减少软件和应用的开销。

当实现路由算法的软件必须运行在物理资源有限的计算机上时高效尤其重要。

路由算法必须足够完善,即在出现不正常或不可预见事件的情况下必须仍能正常处理,例如硬件故障、高负载和不正确的实现。

因为路由器位于网络的连接点,当它们失效时会产生重大的问题。

最好的路由算法通常是那些经过了时间考验,证实在各种网络条件下都很稳定的算法。

此外,路由算法必须能快速聚合,聚合是所有路由器对最佳路径达成一致的过程。

当某网络事件使路径断掉或不可用时,路由器通过网络分发路由更新信息,促使最佳路径的重新计算,最终使所有路由器达成一致。

聚合很慢的路由算法可能会产生路由环或网路中断[16]。

路由算法还应该是灵活的,即它们应该迅速、准确地适应各种网络环境。

例如,假定某网段断掉了,当知道问题后,很多路由算法对通常使用该网段的路径将迅速选择次佳的路径。

路由算法可以设计得可适应网络带宽、路由器队列大小和网络延迟。

1.3路由算法的分类

各路由算法的区别点包括:

静态与动态、单路径与多路径、平坦与分层、主机智能与路由器智能、域内与域间、链接状态与距离向量等。

具体为:

1)静态算法与动态算法

静态路由算法很难算得上是算法,只不过是开始路由前由网管建立的表映射。

这些映射自身并不改变,除非网管去改动。

使用静态路由的算法较容易设计,在网络通信可预测及简单的网络中工作得很好。

由于静态路由系统不能对网络改变做出反映,通常被认为不适用于现在的大型、易变的网络。

九十年代主要的路由算法都是动态路由算法,通过分析收到的路由的更新信息来适应网络环境的改变。

如果信息表示网络发生了变化,路由软件就重新计算路由并发出新的路由更新信息。

这些信息渗入网络,促使路由器重新计算并对路由表做相应的改变。

动态路由算法可以在适当的地方以静态路由作为补充[20]。

例如,最后可选路由(routeroflastresort),作为所有不可路由分组的去路,保证了所有的数据至少有方法处理。

2)单路径算法与多路径算法

一些复杂的路由协议支持到同一目的的多条路径。

与单路径算法不同,这些多路径算法允许数据在多条线路上重复使用。

多路径算法的优点很明显:

它们可以提供更好的吞吐量和可靠性。

3)平坦算法与分层算法

一些路由协议在平坦的空间里运作,其它的则有路由的层次。

在平坦的路由系统中,每个路由器与其它所有路由器是对等的;在分层次的路由系统中,一些路由器构成了路由主干,数据从非主干路由器流向主干路由器,然后在主干上传输直到它们到达目标所在区域,在这里,它们从最后的主干路由器通过一个或多个非主干路由器到达终点。

路由系统通常设计有逻辑节点组,称为域、自治系统或区间。

在分层的系统中,一些路由器可以与其它域中的路由器通信,其它的则只能与域内的路由器通信。

在很大的网络中,可能还存在其它级别,最高级的路由器构成了路由主干。

分层路由的主要优点是它模拟了多数公司的结构,从而能很好地支持其通信。

多数的网络通信发生在小组中(域)[18]。

因为域内路由器只需要知道本域内的其它路由器,它们的路由算法可以简化,根据所使用的路由算法,路由更新的通信量就可以相应地减少。

4)主机智能算法与路由器智能算法

一些路由算法假定源结点来决定整个路径,这通常称为源路由。

在源路由系统中,路由器只作为存贮转发设备,无意识地把分组发向下一跳。

其它路由算法假定主机对路径一无所知,在这些算法中,路由器基于自己的计算决定通过网络的路径。

前一种系统中,主机具有决定路由的智能,后者则为路由器具有此能力。

主机智能和路由器智能的折衷实际是最佳路由与额外开销的平衡。

主机智能系统通常能选择更佳的路径,因为它们在发送数据前探索了所有可能的路径,然后基于特定系统对“优化”的定义来选择最佳路径。

然而确定所有路径的行为通常需要很多的探索通信量和很长的时间。

5)域内算法与域间算法

一些路由算法只在域内工作,其它的则既在域内也在域间工作。

这两种算法的本质是不同的。

其遵循的理由是优化的域内路由算法没有必要也成为优化的域间路由算法。

6)链接状态算法与距离向量算法

链接状态算法(也叫做短路径优先算法)把路由信息散布到网络的每个节点,不过每个路由器只发送路由表中描述其自己链接状态的部分。

距离向量算法(也叫做Bellman-Ford算法)中每个路由器发送路由表的全部或部分,但只发给其邻居。

也就是说,链接状态算法到处发送较少的更新信息,而距离向量算法只向相邻的路由器发送较多的更新信息[15]。

由于链接状态算法聚合得较快,它们相对于距离算法产生路由环的倾向较小。

在另一方面,链接状态算法需要更多的CPU和内存资源,因此链接状态算法的实现和支持较昂贵。

虽然有差异,这两种算法类型在多数环境中都可以工作得很好。

第二章互联网中的路由器

2.1路由的基本概念

路由包含两个基本的动作:

确定最佳路径和通过网络传输信息。

在路由的过程中,后者也称为(数据)交换。

交换相对来说比较简单,而选择路径很复杂。

1、路径选择

metric是路由算法用以确定到达目的地的最佳路径的计量标准,如路径长度。

为了帮助选路,路由算法初始化并维护包含路径信息的路由表,路径信息根据使用的路由算法不同而不同。

路由算法根据许多信息来填充路由表。

目的/下一跳地址对告知路由器到达该目的最佳方式是把分组发送给代表“下一跳”的路由器,当路由器收到一个分组,它就检查其目标地址,尝试将此地址与其“下一跳”相联系。

路由表还可以包括其它信息。

路由表比较metric以确定最佳路径,这些metric根据所用的路由算法而不同。

路由器彼此通信,通过交换路由信息维护其路由表,路由更新信息通常包含全部或部分路由表,通过分析来自其它路由器的路由更新信息,该路由器可以建立网络拓扑细图。

路由器间发送的另一个信息例子是链接状态广播信息,它通知其它路由器发送者的链接状态,链接信息用于建立完整的拓扑图,使路由器可以确定最佳路径。

2、交换

交换算法相对而言较简单,对大多数路由协议而言是相同的,多数情况下,某主机决定向另一个主机发送数据,通过某些方法获得路由器的地址后,源主机发送指向该路由器的物理(MAC)地址的数据包,其协议地址是指向目的主机的[4]。

路由器查看了数据包的目的协议地址后,确定是否知道如何转发该包,如果路由器不知道如何转发,通常就将之丢弃。

如果路由器知道如何转发,就把目的物理地址变成下一跳的物理地址并向之发送。

下一跳可能就是最终的目的主机,如果不是,通常为另一个路由器,它将执行同样的步骤。

当分组在网络中流动时,它的物理地址在改变,但其协议地址始终不变。

2.2路由器的基本功能

路由是把信息从源穿过网络传递到目的地的行为,在路上,至少遇到一个中间节点。

路由通常与桥接来对比,在粗心的人看来,它们似乎完成的是同样一件事。

它们的主要区别在于桥接发生在OSI参考协议的第二层(链接层),而路由发生在第三层(网络层)。

这一区别使二者在传递信息的过程中使用不同的信息,从而以不同的方式来完成其任务。

路由的话题很早就在计算机界出现,但直到八十年代中期才获得商业成功,这一时间延迟的主要原因是七十年代的网络很简单,后来大型的网络才较为普遍。

路由器(Router):

工作在OSI第三层(网络层)上、具有连接不同类型网络的能力并能够选择数据传送路径的网络设备。

路由器有三个特征:

工作在网络层上、能够连接不同类型的网络、能够选择数据传递路径。

1)路由器工作在第三层上,路由器是第三层网络设备。

集线器工作在第一层(即物理层),它没有智能处理能力,对它来说,数据只是电流而已,当一个端口的电流传到集线器中时,它只是简单地将电流传送到其他端口,至于其他端口连接的计算机接收不接收这些数据,它就不管了。

交换机工作在第二层(即数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1