交换及路由课程结课报告.docx
《交换及路由课程结课报告.docx》由会员分享,可在线阅读,更多相关《交换及路由课程结课报告.docx(21页珍藏版)》请在冰点文库上搜索。
交换及路由课程结课报告
IP交换与路由技术课程报告
姓名:
xxxxxx
班级:
xxxxxx
专业:
网络工程
学号:
xxxxxxxxxxxx
指导老师:
xxxxxxxxxxxxxxxxxx
2013年7月
MPLS流量工程研究学习
摘要
随着Internet持续高速的发展,人们开始对其服务质量、可靠性和效率进行重新思考,其中关键的解决方案之一就是采用多协议标记交换(MPLS)全面提高IP网络性能。
这种趋势导致传统的路由协议和ATM的核心技术发生融合,而其中最重要的内容之一就是让MPLS借鉴ATM的流控机制实现MPLS的流工程(TrafficEngineering)。
目前在MPLS流量工程的方法有最小化抢占路径选择法、双种群遗传算法等算法,本文将对MPLS进行详细的介绍,再此基础上分析流量工程在MPLS中的应用以及若干具体的方法。
关键词:
多协议标签交换(Multi-ProtocolLabelSwitchingMPLS)
流量工程(TrafficEngineering)
Abstract
WiththerapiddevelopmentofInternet,peoplebegantorethinkitsservicequality,reliabilityandefficiency,inwhichkeysolutionisoneofthemulti-protocollabelswitching(MPLS)improveIPnetworkperformance.ThistrendledtothetraditionalroutingprotocolsandATMcoretechnologyhappenfusion,andoneofthemostimportantcontentistoletoneofMPLSreferenceATM'sflowcontrolmechanismtorealizemulti-protocollabelswitching(MPLS)flowEngineering(TrafficEngineering).
AtpresentinMPLStrafficengineeringmethodstominimizetheroutechoicemethod,doublepopulationgeneticalgorithmandsoon,thispaperwillcarryonthedetailedintroductionofMPLS,thenbasedontheanalysisoftrafficengineeringinMPLSandapplicationofanumberofspecificmethods.
Key
MPLS(Multi-ProtocolLabelSwitching)
trafficengineering
目录
一MPLS概况1
二MPLS原理2
三流量工程概况4
四MPLS领域的流量工程8
五MIRA及其相关研究9
六MPLSATCC机制14
七致谢16
一MPLS概况
因特网迅猛发展对IP的承载网提出各种挑战,比如路由问题、QoS保障问题等同时也为Internet服务提供商(ISP)提供了巨大的商业机会,也对其骨干网络提出了更高的要求。
网络的发展正向宽带化、智能化和一体化的方向发展。
未来的业务以突发性数据业务为主,ATM对其显得效率不足,传输和交换成本较高,而IP又显得能力不足。
如此人们就希望IP也能提供ATM一样多种类型的服务。
MPLS(MultiprotocolLabelSwitch,多协议标签交换)就是在这种背景下产生的一种技术,而且越来越被运营商看好,成为在IP网络运营商提供增值业务的手段。
在维基百科上市这样定义MPLS:
多协议标签交换(Multi-ProtocolLabelSwitch,简称MPLS)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。
多协议的含义是指MPLS不但可以支持多种网络层层面上的协议,还可以兼容第二层的多种链路层技术。
而XX百科上是这样定义MPLS:
核心路由器利用含有边缘路由器在IP分组内提供的前向信息的标签(label)或标记(tag)实现网络层(3层)交换的一种交换方式。
从中我们可以发现两个特点,一个是性能上的特点:
高速、高效;另一个是:
标签标记。
随着IPV6时代的来临MPLS将以它优秀的QoS保障吸引了越来越多的人目光,相信它必将成为IP时代的主力军。
MPLS是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。
多协议的含义是指MPLS不但可以支持多种网络层层面上的协议,还可以兼容第二层的多种链路层技术。
可以认为MPLS是一个2.5层的协议如图1所示。
图1OSI 最底层三层结构
它的价值在于能够在一个无连接的网络中引入连接模式的特性;其主要优点是减少了网络复杂性,兼容现有各种主流网络技术,能降低网络成本,在提供IP业务时能确保QoS和安全性,具有流量工程能力。
此外,MPLS能解决VPN扩展问题和维护成本问题。
MPLS属于第三代网络架构,是新一代的IP高速骨干网络交换标准,由IETF所提出,由Cisco、ASCEND、3Com等网络设备大厂所主导。
采用MPLS的数据包只须在OSI第二层(数据链结层)执行硬件式交换(取代第三层(网络层)软件式routing),它整合了IP选径与第二层标记交换为单一的系统,因此可以解决Internet路由的问题,使数据包传送的延迟时间减短,增加网络传输的速度,更适合多媒体讯息的传送。
因此,MPLS最大技术特色为可以指定数据包传送的先后顺序。
MPLS使用标记交换(LabelSwitching),网络路由器只需要判别标记后即可进行转送处理。
在传统的IP转发中,一个路由器在自己的路由表中为两个不同的报文进行路由查找的时候,如果发现他们具有相同的地址前缀X,并且这个X是对每个报文的目的IP地址进行最长匹配的结果,则认为他们属于相同的FEC(ForwardingEquivalenceClass)。
当一个报文在网络中传送的过程中,每一跳都重新检查该报文的首部,并且将其分配的一个FEC在MPLS网络中,一个报文被分配到一个FEC的动作只会发生在这个报文进入MPLS网络的时候。
报文所属的FEC使用一个定长的值来编码,就是所谓的标签。
当一个报文被转发给它的下一跳的时候,标签和报文一起发送,也就是说这个报文转发之前被打上了标签。
在后续的路由器的处理中,不需要再对报文的网络层首部进行分析。
报文的标签被当作索引对转发表进行查找,得到下一跳和一个新的标签。
老的标签被新的标签替换,报文被转发给它的下一跳。
在MPLS的转发中,一旦一个报文被分配给一个FEC,后续的路由器都将不再进行进一步的报文首部的分析。
所有的后续的转发工作都是由标签驱动的。
这是和传统的报文转发相比具有优势的地方。
二MPLS原理
网络的基本构成单元是标签交换路由器LSR(labelSwitchingRouter)由LSR构成的网络叫做MPLS域,位于区域边缘和其它用户网络相连的LSR称为边缘LER(LabeledEdgeRouter),位于区域内部的LSR则称为核心LSR核心LSR可以是支持MPLS的路由器也可以是由ATM交换机等升级而成的ATM-LSR被标签的分组沿着由一系列LSR构成的标签交换路径LSPLabelSwitchedPath传送其中入口LSR叫Ingress出口LSR叫Egress,如图2。
图2LSR的网络结构
MPLS域外采用传统的IP转发,MPLS域内按照标签交换,无需查找IP,由于内部按标签交换,就省去了去查询路由表的时间,之所以内按标签去交换,是由于进入网络的数据包都加上了MPLS标记;MPLS标记是在0~1048575之间的一个20比特的整数如图3所示,它用于识别某个特定的FEC;该标记被封装在分组的第二层信头中;标签仅具有本地意义。
图3MPLS帧结构
由于每个进入MPLS区域的数据包都封装了标签,因此,MPLS设备就会自始至终查看这些标记信息,将这些有标记的包交换至其目的地(如图4MPLS交换示意图)。
由于路由处理减少,网络的等待时间也就随之缩短,而可伸缩性却有所增加。
MPLS数据包的服务质量类型可以由MPLS边界路由器根据IP包的各种参数来确定,如IP的源地址、目的地址、端口号、TOS值等参数。
对于到达同一目的地的IP包,可根据其TOS值的要求来建立不同的转发路径,以达到其对
传输质量的要求。
同时,通过对特殊路由的管理,还能有效地解决网络中的负载均衡和拥塞问题。
当网络中出现拥塞时,MPLS可实时建立新的转发路由来分散流量以缓解网络拥塞。
图4MPLS交换示意图
至此我们已经讲明白MPLS的转发原理,总的来说就是在MPLS网络内部用标签来替代IP地址的作用,由于不用去查询路由表一次转发效率有了很大的提高,可是随着MPLS网络的规模不断增加,其网络内部也会存在拥塞,因此在MPLS网络规模扩大,带宽要求不断增加的今天,MPLS的流量工程就显得十分重要,下面将对MPLS的流量工程做详细的介绍。
三流量工程概况
在早期IP核心网络的流量工程问题90年代初期,IP网络大都是通过使用单条带宽小于E1(2048Kb/s)的链路将路由器互连而组成的。
当Internet开始爆发性增长后,单条网络链接的带宽已经难以满足业务发展的需要,为了能够提供更高的带宽,网络需要更多的链接。
当存在多条并行或备选路径时,就存在如
何有效地使用集成的网络带宽的问题,这就是流量工程问题。
最初基于量度的流量工程在早期基于路由器的核心网中,流量工程技术是通过简单地使用路由量度值(Metric)来实现的。
即给每条链路规定一个量度值,两点之间的路由是按照一定的策略计算量度值后来确定的。
因为那时无论从路由器数量、链路数还是业务流量来讲,Internet骨干网都是非常“小”的,所以基于量度的控制是足以胜任的。
同时,在万维网普遍流行之前,Internet的拓扑层次也强制业务流通过网络中较为确定的路径,不会产生临时的“热点”。
但是随着网络软硬件的不断提高和用户对带宽的需求,IP网络规模越来越大,基于量度的流量控制越来越显出它的局限性。
通过上面的介绍不难发现其实流量工程(TrafficEngineering)是一种能将业务流映射到实际物理链路上,同时又可以自动优化网络资源以实现特定应用程序服务性能要求的、具有宏观调节和微观控制能力的网络工程技术。
流量工程属于宏观层次的控制技术,是不依赖于特定的二层技术的网络级的控制技术。
流量工程应用的两个关键:
负荷均衡和网络恢复。
为了更好地理解流量工程下面将举一个例子来进一步理解流量工程。
图5鱼型问题所示的网络拓扑形状如一条鱼,节点G代表鱼头,A和B代表鱼尾,数据流从A和B流向G。
从鱼尾到鱼头有C→D→F和C→E→F两条路径。
如果C→D→F比C→E→F短,则路由协议将选择C→D→F作为最短路由,A和B的业务流都将沿着C→D→F走,结果造成C→D→F负载沉重而C→E→F却被闲置的情形。
从这个例子我们可以发现,路由协议实际上很“傻”。
这个问题源于IP路由协议的两个基本特点:
第一,基于目的地选路。
目的地址相同的数据包在被转发时,选择的下一跳也相同。
所以,在路由表中,到达某目的地的路径只有一条(除非有多条成本相同的路径存在)。
这样,网络中可用的其他链路就无法被利用起来,流量分布很难预测,实现均衡更不可能。
第二,局部优化。
每个节点都独自选择路径,相互之间缺乏协调合作,故整个网络的路径选择无法得到优化。
如在图5中,很多节点都独立地选择C→D→F,结果导致最短路径成了最拥挤的路径。
在这种情况下,较长的路径反而可能是更好的选择。
为了优化网络总体资源利用率,路由决策应该从全局观点出发,把整个网络视为一个对象考虑。
在极端的情况下,最短路径算法还可能导致路由振荡。
假如某节点在某时刻根据路由协议选择C→D→F作为从C到F的最短路径,当所有业务流都经过时,该路径就变得异常拥塞,而另一条C→E→F则很空闲。
下一次路由更新时,假如路由协议把C→E→F选为最短路径,则此改变就会将原来C→D→F的流量转移到C→E→F上。
结果呢,情况倒置,C→E→F拥塞,而C→D→F却变得空闲。
每次路由更新都会引起路径选择的翻转,从理论上讲,该过程会持续到无穷大。
要克服鱼型问题,让路由技术变“聪明”,就必须改变网络选路基于目的地的特点,并提供网络内部流量管理机制,即路由技术必须能够精确地控制业务流所遍历的路径,这需要路由技术提供额外的能力以及更好的管理工具。
过去,服务提供商一般采用IPoverATM技术解决此问题。
ATM虚电路可以映射到物理拓扑结构中,所以,ATM骨干网的业务流能够得到有效管理。
近几年来,MPLS异军突起,逐渐成了IP网络流量工程的主要机制,IETF正在对MPLS
图5鱼型问题
标记分配协议和IP路由协议扩展进行相应的标准化工作。
MPLS采用覆盖模型解决流量工程。
服务提供商使用MPLS建立由所有网络边缘节点组成的逻辑连接的虚拟网络,这些逻辑连接是通过带宽预留获得的MPLS显式路由,然后在物理网络上建立显式路由路径,从而均衡网络中所有干线的业务流,最终实现流量工程的目的。
目前为止我们已经将流量工程和MPLS连续到一起,简单的来说流量工程就是寻找合适的算法将网络上的流量映射到具体的物理链路上,而映射的要求要符合负载均衡和最低链路消耗,如图6。
图6流量到物理网络的映射
总的来说流量工程在MPLS网络中主要是解决了一下几个问题:
1.智能连接
为了实现对网络资源的优化,减少管理人员的负担,MPLS节点将采用信令协议建立端到端标记交换通道(LSR)。
智能连接可以由用户决定(明确路由),也可由通路计算算法实现。
目前采用的链路状态数据库可以是OSPF-TE(OSPF流量工程)或IS-IS-TE(IS-IS流量工程)库,但是计算算法是一样的。
这里必须明确注意,没有附加限制的通路计算算法将无疑于最小费用路径。
如果没有附加限制条件,路径算法只能明显地改善管理人员配置明确路由工作量,但是对改善网络业务量分布并没有实质贡献。
2.带宽估计
为了改善路径计算算法分配业务量的有效性,还需要其它参数。
估计带宽便是其中之一。
事实上,每个LSP都需要一个估计带宽,而且每条链路还要有一个链路拥塞系数,而该系数又是根据该链路容量和已经占用LSP的容量和估值进行计算的结果。
当增加新的路径时,每条相关路径都要重新计算其路径拥塞系数。
新的连接将选择具有最低拥塞系数的链路构成。
这与TCP网络中的带宽估计不同,TCP的带宽估计是全网络的估计,服务器和客户端采用滑动窗口机制,因此从服务器和客户端就可以根据网络拥塞程度来控制流量,已有的TCP带宽估计算法有包对算法(PacketPairAlgorithm)在开始建立连接时使用PacketPair算法,其目的是为ssthresh设置一个初始值以减少由于过高的默认值而导致多包丢失现象的发生,尽管ssthresh与可用带宽等价,但是通过对接收到的ACKs之间的时间变化分析,可以很容易获得对瓶颈带宽的估计。
3.带宽测量
虽然估计带宽对提高网络资源利用率有很大的改进,但是这毕竟还是一种估算。
很显然,对实际业务量的估算越准确,路径选择的有效性也就越高。
由于前述的路径计算算法采用的是一种静态方式,没有考虑实际的时变链路利用率,所以其结果可能是对一条链路的业务量估计过高或过低。
过低的流量估计可能导致实际链路的业务量过载,造成我们希望避免的拥塞和分组丢失;而过高的流量估计则可导致实际链路利用不足,造成网络其它部分不必要的潜在拥塞。
因此,让估计带宽算法更好地发挥作用的办法将是采用测量带宽。
定期测量链路的使用率,使用率波动,缓冲器占用和缓冲器占用率波动将至关重要。
这些新的参数可以通过路由协议定期发布或是在超过某一门限时触发发布。
籍此,可以动态计算聚合业务量的有效带宽。
这种方法比普通的带宽估计更精确,因此进一步提高了网络资源的利用率。
现在我们对MPLS网络和流量工程有了基本了解,下面讲述一些流量工程在MPLS领域的应用以及具体的某些算法。
四MPLS领域的流量工程
MPLS本身就具备了完成重叠模型所实现的各种流量工程功能的潜力。
不同的是,它使用的是集成模型,其成本与可扩展性较之重叠模型以及现有的其他同类技术都更为理想。
同样重要的是,它将有可能实现流量工程功能的自动化。
MPLS的吸引人之处可以被归结为以下几点:
(1)通过手工的网管配置或是下层协议的自动配置,可以很容易的建立起不受传统逐跳路由协议限制的显式LSP。
(2)LSP可以被高效的维护。
(3)流量主干可以被使用并被映射到LSP上。
(4)可以给流量主干规定一套属性来调整流量主干的行为。
(5)可以给各种网络资源规定一套属性,以便对以上建立的LSP通过的流量主干加以限制。
(6)既可以对业务进行组合,也可以对业务进行分割,而基于传统的路由协议的IP转发只支持对业务的组合。
(7)可以较容易的实现“约束路由”,正是由于这些优点吸引着很多学者研究流量工程在MPLS领域的应用,最重要的是MPLS流量工程的开销要比其他的流量工程技术小的多。
MPLS领域的流量工程最关键的问题是如何建立具有带宽保证的显式路径,下面分析有代表性的几种算法。
约束最短路径优先(CSPF)算法计算通过网络的最短路径,将特定的约束参数(如带宽需求、最大跳转数、管理策略需求等)也考虑在内,首先在当前网络拓扑结构中删除不满足约束条件的节点和链路,然后根据MHA算法计算最短路径。
但是,CSPF算法只能保证单个业务的服务质量,未能从全网的范围内考虑网络流量分配和性能优化。
最宽最短路径(WSP)算法是选择跳数最少的最短可行路径,如果存在多条,则选择可用带宽最多的一条。
它利用了链路状态信息和一些辅助的容量信息,但它只关心单条链路的当前可用带宽和对路由业务的带宽需求,既不关心也不知道它对其他进出节点对的影响以及影响程度有多大。
因而网络容易产生瓶颈效。
最小干扰路由(MIRA:
minimuminterferenceroutingalgorithm)算法是与以上算法相比更好的算法,它的关键思想足在源和目的点对之间选择一条对未来业务产生最小干扰的路径。
下面将就MIRA算法进行详细的阐述。
五MIRA及其相关研究
当一个LSP请求到达时,首端标签边缘路由器(LER)根据当前网络的拓扑和容量信息,为该LSP计算一条满足其QoS需求的路径。
如果选择的路径会影响其它节点对之间未来请求路径的建立,则称该路径会对其它节点对的请求产生干扰。
MIRA算法的关键思想是:
在进行路由计算时,着重选取那些对其他各个节点对的未来流量请求干扰最小的链路。
根据最大网络流理论,一个节点对的最大网络流,就是在这个节点对上能够传输的业务流量的上限值。
假设节点对(S1,D1)的最大流值为v1。
当一个流量为D的从S1到D1的请求被接受,此节点对的最大流值会随之减少D。
同时,存在这样的情况:
当一个其他节点对的LSP被建立,(S1,D1)的最大流值也会减少。
这种情况就叫做对节点对(S1,D1)的干扰。
引入节点对的带宽需求预测,并将此预测信息转化为节点对的权值,利用MIR路由的WSUM-MAX算法和LEX-MAX算法,求得链路权值,进而用Dijkstra算法计算得到更优路由。
WSUM-MAX模型
WSUM-MAX模型将目标函数表示为最优化各节点对的带权最大流之和:
Maximize
将LSP路由请求用三元组(u,v,d)表示,u代表入口节点,v代表出口节点,而宽带需求用d表示。
当前LSP请求为(a,b,d)。
目标函数式中的αsd代表节点
对(s,d)的权值,用来表示节点对的相对重要性。
例如,对于一个至关重要的节点对,将其Asd值设置足够大,从而保证路由请求在一般情况下不会干扰它。
另外,P代表网络中节点对的集合,P\(a,b)表示不包括节点对(a,b)的集合。
在生成具体算法的过程中,将目标函数式进行求导计算转化为各个链路的权值,然后利用Dijkstra算法计算最短加权路径。
在介绍链路权值公式前,先给出关键链路的概念:
当一条链路的可用带宽减少时,若一个节点对的最大网络流随之减小,那么这个链路就是这个节点对的关键链路。
作为改进,Kodialam又提出了∆-criticallink8的概念,并把它们都称作关键链路。
令Csd表示节点对(s,d)的关键链路集合。
可以看出,一条链路可以同时是很多个节点对的关键链路,当路由通过此链路,加权最大网络流之和会减少。
链路的权值计算公式表明了这种思
想:
ω(ι)=
LEX-MAX模型
虽然WSUM-MAX模型与CSPF和WSP相比已经有很不错的性能,但它仍然有不足之处。
为了目标函数式的最优化,一些节点对可能要作出牺牲,即当目标函数式最优化时,一些节点对的最大网络流值可能会变为0或者一个很小的值。
为了避免出现这种情况,Kodialam又提出了LEX-MAX模型。
在此模型中,按照各节点对的最大网络流I(θ)次序,从小到大依次进行各节点对最大流值最优化处理。
换句话说,算法先找出最大网络流值最小的那个节点对来,首先对它进行最优化;然后找出剩余节点对集合中最大网络流最小的节点对来,进行优化;这样按次序进行下去,直到最后一个节点对被优化完成。
它的优化公式及推导出的链路权值公式分别为:
Maximize=
ω(ι)=
MIRA是一个基于流量的原创性的路由算法。
关键链路是MIRA的重要概念,是指如果该链路上的剩余带宽减少一个单位,则相应的SD对间最大流值也减少一个单位。
在基于最小干涉面向负载平衡的路由算法中,许多算法的中心思想是如何定义和寻找关键链路;MIRA算法在计算路径权值时也存在一些局限性。
以图6(a)为例(每条边上的数字代表剩余带宽),设有LSP请求r(s2d2,b)(b≤10),MIRA为该请求分配路径{6,2,3,10,11},这导致s2d2间的最大流减少了26,大于请求的带宽值b。
注意到路径{6,7,8,9,10,11}上只有s2d2间的流量能够通过,即s2d2在该路径上具有独占性,不会影响其它SD对,因此应该首先在该路径上分配流量。
MIRA的另外一个局限性在于计算最短路径时,只是将各链路的关键性权值简单地相加。
以图7(b)为例,设3个LSP请求r1(s1d1,1)、r2(s2d2,1)和r3(s3d3,1)依次到达,MIRA首先为r1(s1d1,1)分配路径P1={1,2,3,9,10,11},然后为r2(s2d2,1)分配路径P2={1,2,3,4,5,6},r3(s3d3,1)因为没有可行路径而被拒绝。
但是,如果为r1(s1d1,1)选路时选中的是权值较大的路径P3={1,2,3,4,5,10,11},网络能够接受请求r3(s3d3,1)并为之分配路径{8,9,10,12}。
MIRA算法导致r3(s3d3,1)不能被接受的原因在于路径P1同时使得3个SD对的最大流各自减少了1个单位,而路径P仅使得两个SD对间的最大流各自减少1个单位。
为了更好地说明这个问题,首先提出了与之相关的定义和定理,然后根据提出的定义和定理解释MCRA的基本原理。