论文部分内容阅读
由于历史的原因,互联网的发展一直处于无序的状态。随着网络规模的日益扩大,无序的网络管理逐步成为制约网络发展的一个重要因素。由此,人们开始思考如何在不影响现有互联网业务的前提下,提供一个更加有序的互联网,更好地利用有限的网络资源。因此,流量工程逐步受到广泛的关注。
一、流量工程的目标
流量工程的目标就是使网络的运营更加高效和可靠,同时优化网络资源的利用。流量工程可以帮助互联网的网络运营者更合理地运用网络资源,降低网络运营成本,从而具有更强的竞争力。因此,流量工程已经成为大型ISP网络运营中不可缺少的一个重要功能。
我们可以从两个角度衡量网络性能的好坏,一是从业务角度。业务传输的质量包括数据的丢失率、延迟以及通过量等,是检验网络性能的一个最直观的标准。在同样业务量的情况下,提高best effort型业务的传输质量,而不是单纯通过牺牲其它业务而提高某些有特殊需求的业务的服务质量,是流量工程的一个主要目标,也是检验网络整体性能的一个重要指标。二是从网络资源角度看,以当前最为匮乏的带宽资源为例,在网络的所有主干线路上业务量均匀分布,并且达到一定负荷(如60%),而且没有出现拥塞,这时的网络性能可以称为最佳,资源的利用最为合理而充分。要实现网络性能最佳这一目标,除了在网络初建时的设计规划上,对网络业务量分布进行准确的估计,对网络的结构进行合理的配置外,流量工程技术可以帮助运营者根据业务量的发展变化,适时地进行动态调整。
二、流量工程的工作原理
流量工程的功能模块由两个子模块组成,性能监视系统和网络管理配置系统。要想实现业务量的合理分布,首先必须知道业务量是如何分布的,也就是说,需要在每个网络分枝点对网络上实时传递的业务流进行统计,同时还需要统计网络资源的使用状况。这个统计功能模块是流量工程的一个重要组成,称为性能监视系统。有了实时获取的网络状态信息,根据一些预先设置的调整策略,流量工程通过它的另一个重要组件——网络配置管理系统对网络进行相应调整,可调整的内容包括:
* 业务量管理参数
* 与路由选择相关的参数
* 与网络资源相关的属性和限制
这三个方面概括了与流量工程有关的网络参数,其具体内容与网络所采用的技术有很大关系。后面我们将以MPLS为例具体介绍流量工程的网络调整策略。通过对这些参数的调整,可以将业务流重新导向、分流,从而减轻网络的局部压力,同时也可以使业务流的传输性能得到改善。
以图1的网络为例,根据RIP或OSPF(假定所有链路的metric相同)的路径选择原则,R8和R1上指向R5或R9的业务流一定会选择上面R2-R3-R4的路径。很显然,这样的网络拓扑结构会造成R2-R3-R4路径的负担大大高于R2-R6-R7-R4,甚至在R2-R3-R4出现拥塞的情况下,只要不严重到丢失路由信息,网络都不会主动选择R2-R6-R7-R4路由分流业务。虽然在空载情况下,R2-R3-R4路径的确优于R2-R6-R7-R4,但在负载不均衡的情况下则应另当别论。然而目前使用的IGP算法中,除了Cisco的IGRP/EIGRP将网络运行的一些动态特性作为路由选择的参考信息外,其它路由协议只考虑了网络的静态特性(如链路的物理带宽)和网络拓扑的变化(链路的通断状态),没有考虑更详细的网络动态特性,如链路的实际可用带宽、链路传输的动态延迟等。使用这些参数作为路由选择的依据确实有很大困难,而且非常危险。一方面,获取这些信息会给网络带来沉重的资源开销(包括CPU和带宽),因为它要求对网络的很多运行参数都进行实时采集和实时传递;另一方面,再实时的信息也会存在延迟,而网络中业务量分布瞬息万变,根据过时的信息做出的决策很可能会事倍功半。正是存在这些顾虑,即使IGRP早已提供了这些功能,在实际应用中人们还是将其束之高阁。
流量工程作为一个单独的概念提出,可以在较大程度上减少人们的这些顾虑。首先它可以只在部分链路上使用,不需要保证全网的一致性,这样就不会造成网络的过多开销;其次,它还可以从多个角度出发,依靠多种手段来实现业务量的重新分布,而不拘泥于依靠路由选择。以图1为例,流量工程就可以预先设定两条Traffic Trunk,一条路径为R2-R3-R4(TT1),一条为R2-R6-R7-R4(TT2),在两条Traffic Trunk的入口设定负载均担的准则和业务流的过滤器,比如我们可以设定将指向R5的业务流送入TT1,而将指向R9的业务流送入TT2,这样业务量的分布就比较合理了。
图1 鱼型网络拓扑
从上面的例子可以看出,实现流量工程有两大步骤。第一步是发现问题,第二步是解决问题。所谓发现问题就是发现网络中业务量分布不合理的地方。发现问题有三个途径,一是人为观察和分析网络结构中存在的问题。在上例中我们就是采用这种方法;二是网络管理人员根据性能监视系统提供的数据,做出相应的调整;三是网络根据性能监视系统提供的数据自行调整。
解决问题的方法则会依据网络而有所不同,上例就是MPLS实现流量工程的一个示例。下面我们就详细介绍MPLS中的流量工程。
三、MPLS的流量工程
MPLS采用的是集成的模型,节点LSR集成了转发和路由的功能,路由信息交互沿用传统的IGP和BGP路由协议,对于Best Effort型业务仍采用基于目的地的路由方式。因此,鱼型网络模型在MPLS中同样会存在负载不均衡的问题。
根据流量工程的原则,MPLS并没有试图在基本的业务处理中实现流量工程的目标,而是为流量工程建立了一套单独的体系。Traffic Trunk就是这套体系中的基本元素,它的作用类似于MPLS中的LSP(标记交换路径),但它的建立方法和功能又与LSP有所不同。
1.Traffic Trunk
Traffic Trunk(业务流干线,以下简称TT)是MPLS流量工程中一个非常重要的概念。TT是一个同类业务流的“集合”,在单一业务类别的模型中,TT可以在入口LSR和出口LSR间封装所有业务流。就象ATM 的VC一样,TT是一个可路由的实体。TT和MPLS中的LSP是相互独立的,TT可以从一个LSP转移到另一个LSP中。另外,MPLS流量工程目前规定TT是单向的。一个双向TT可以用两个反向TT相关联而构成。
(1)Traffic Trunk的属性
MPLS业务量管理为TT规定了若干属性,这些属性为网络管理人员参与TT的配置管理提供了工具。流量工程在很大程度上依赖于厂家的实现,特别是使用了TT,如何将分组映射到FEC、如何将FEC映射TT以及TT的重路由等问题的决策都由TT的入口节点完成。通过对TT属性的设置,管理员可以在一定程度上干预流量工程的运行。
TT的基本属性包括:
* 业务量参数属性
* 一般性路由选择和管理属性
* 优先级属性
* 强占属性
* 恢复属性
* 策略属性
这些属性是从业务的需要出发设计的。因为属性只在TT的源端记忆,所以它并不要求各节点在属性的定义上保持一致。厂家可以根据自己的需要和实现的难易设计更细致或更粗略的属性。
(2)Traffic Trunk的操作和维护
MPLS目前还未确立建立和拆除Traffic Trunk的信令协议,扩展的RSVP是建议中一个比较切实可行的选择。
从流量工程的应用出发,建立Traffic Trunk有两个途径,一是人为配置,一是自动生成。自动生成路径还可以作为人为配置的补充手段,当人工配置的路径中断时,通过自动生成,TT可以恢复通信。
“人为配置”要求Traffic Trunk的建立信令支持源路由。与PVC的建立过程不同,Traffic Trunk的建立过程是由网管对Traffic Trunk的源端进行配置,而由源端用信令发起建立这条TT。这样,在TT所经历的路径出现断路等故障时,源端就可以自动完成重路由的功能。
“自动生成”则要求与该TT相关的各节点支持“基于QoS的路由”。当节点自行决定TT的路径时,它期望网络能够根据当时的网络运行状况为TT选择一条最佳的路径。以图1所示的网络为例,R1在发现业务流出现堵塞后会试图建立一条新的TT以分流部分业务。但在完成传统的SPF算法后,R7-R4一枝已被剪断,留给R1的只有一个选择——最短路径R1-R2-R3-R4-R5(但此时已非最佳路径)。基于QoS的路由选择是将QoS参数作为路由选择的依据,改变以往SPF算法中只用metric(只参照链路带宽)作为剪枝依据的方法,而是根据网络可用资源的分布状况,首先将不满足QoS要求的枝剪去,然后再用“延迟metric”(利用可用带宽等信息计算出的metric值)进行SPF运算。完成这一过程还要有一个先决条件,就是必须具备一个触发QoS路由算法并提供QoS参数的手段。目前建议中采用RSVP PATH消息来完成这一功能。
扩展的RSVP就是在原有的RSVP基础上增加源路由能力,加上原有RSVP PATH消息中的资源预留能力,扩展的RSVP就很好地满足了作为TT建立信令的要求。
除了建立信令而外,TT的操作和维护还需要拆除、中断检查和恢复等一系列信令相配套,而RSVP早已具备了一套完善的体系。RSVP利用超时(time out)作为中断检查和拆除TT的触发消息。
2.MPLS流量工程的应用示例
因为目前MPLS流量工程的标准体系还没有完善,流量工程的实现还处于百花齐放、百家争鸣的时期。根据流量工程的特点,即使将来标准体系完善了,实现流量工程给网络带来的优化效果在很大程度上仍然取决于厂家的技术。
Cisco较早地在其Tag Switching中实现了流量工程。我们以Cisco的流量工程技术为例介绍厂家的实现方案。
我们仍然以鱼型网络为例,Cisco首先在R1上设定一个过滤器,过滤器的策略为:BGP下一跳=R5。然后利用扩展的RSVP建立一条Traffic Trunk,Cisco将其称为TSP Tunnel(隧道)。建立隧道的信令过程见图2。RSVP PATH消息由源端携带路径上每一跳的详细IP地址信息(R1-R2-R6-R7-R4)、隧道标识符和资源预留信息(QoS参数)沿所选路径到达R4,RSVP RESV消息由R4返回R1,完成资源预留和标记分配。在完成隧道(即TT)的建立后,R1会建立过滤器和该隧道的映射关系。在通常情况下,Cisco的流量工程允许过滤器和多条隧道(相同的源点和终点)建立映射关系,并为每一条隧道设定管理优先级。过滤器将从中选择优先级最高的可用隧道传递所指定的业务流(BGP下一跳=R5)。
图2 建立TT的信令过程
图3 通过隧道完成进一步的标记发布过程
TT通常应用于骨干网络,一般不会在用户间端到端地建立,如何将TT和LSP很好地结合对于MPLS而言是一个非常重要的课题。以图3为例,在建立了R1到R4的TT后,S1到D2的业务流如果想利用这条TT,就必须以IP流的形式发往R1,经过R1的过滤器过滤后发送到TT中,在TT中间传递时会以标记交换的方式,但在到达TT的终点R4后,仍需以IP路由的方式hop-by-hop地传递。
为了更好地利用流量工程,也为了更好地将流量工程的优势和MPLS的优势相结合,MPLS将TT与MPLS的分层结构紧密结合起来,利用LDP对等的概念,在隧道的两个端节点间建立LDP相邻关系,用LDP完成S1到D2端到端的标记发布过程。如图3所示,通过LDP,R5向R4发布标记为“出栈”(MPLS建议由LSP终点的前一站将标记弹出),R4穿过隧道向R1发布标记25。R1在收到S1到D2的业务流后,首先将标记25压入标记栈中,然后送入隧道,通过隧道的标记交换到达隧道终点R4后,R4根据标记25进行标记交换,25所对应的标记是pop,因而将标记弹出,恢复IP封装传送给R5。这样,既充分利用了流量工程的优点,又不会因为引入了流量工程而放弃端到端的标记交换的优势。
四、小结
流量工程是一门新兴的技术,人们赋予了它很多的期望。实现流量工程可以使原本无序的IP网络成为一个可以管理、并且可以动态调整和优化的网络,为网络运营商提供更高的网络利用率、更好的网络性能和更大的经济效益。这是人们的期望,也是流量工程的目标,然而理想与现实往往存在很大距离。流量工程能否被广泛应用,还取决于:
(1)标准体系是否完善;
(2)流量工程实际应用效果如何;
(3)流量工程的开销(业务量统计的开销、TT的管理开销等)/性能优化度的比率如何。
一、流量工程的目标
流量工程的目标就是使网络的运营更加高效和可靠,同时优化网络资源的利用。流量工程可以帮助互联网的网络运营者更合理地运用网络资源,降低网络运营成本,从而具有更强的竞争力。因此,流量工程已经成为大型ISP网络运营中不可缺少的一个重要功能。
我们可以从两个角度衡量网络性能的好坏,一是从业务角度。业务传输的质量包括数据的丢失率、延迟以及通过量等,是检验网络性能的一个最直观的标准。在同样业务量的情况下,提高best effort型业务的传输质量,而不是单纯通过牺牲其它业务而提高某些有特殊需求的业务的服务质量,是流量工程的一个主要目标,也是检验网络整体性能的一个重要指标。二是从网络资源角度看,以当前最为匮乏的带宽资源为例,在网络的所有主干线路上业务量均匀分布,并且达到一定负荷(如60%),而且没有出现拥塞,这时的网络性能可以称为最佳,资源的利用最为合理而充分。要实现网络性能最佳这一目标,除了在网络初建时的设计规划上,对网络业务量分布进行准确的估计,对网络的结构进行合理的配置外,流量工程技术可以帮助运营者根据业务量的发展变化,适时地进行动态调整。
二、流量工程的工作原理
流量工程的功能模块由两个子模块组成,性能监视系统和网络管理配置系统。要想实现业务量的合理分布,首先必须知道业务量是如何分布的,也就是说,需要在每个网络分枝点对网络上实时传递的业务流进行统计,同时还需要统计网络资源的使用状况。这个统计功能模块是流量工程的一个重要组成,称为性能监视系统。有了实时获取的网络状态信息,根据一些预先设置的调整策略,流量工程通过它的另一个重要组件——网络配置管理系统对网络进行相应调整,可调整的内容包括:
* 业务量管理参数
* 与路由选择相关的参数
* 与网络资源相关的属性和限制
这三个方面概括了与流量工程有关的网络参数,其具体内容与网络所采用的技术有很大关系。后面我们将以MPLS为例具体介绍流量工程的网络调整策略。通过对这些参数的调整,可以将业务流重新导向、分流,从而减轻网络的局部压力,同时也可以使业务流的传输性能得到改善。
以图1的网络为例,根据RIP或OSPF(假定所有链路的metric相同)的路径选择原则,R8和R1上指向R5或R9的业务流一定会选择上面R2-R3-R4的路径。很显然,这样的网络拓扑结构会造成R2-R3-R4路径的负担大大高于R2-R6-R7-R4,甚至在R2-R3-R4出现拥塞的情况下,只要不严重到丢失路由信息,网络都不会主动选择R2-R6-R7-R4路由分流业务。虽然在空载情况下,R2-R3-R4路径的确优于R2-R6-R7-R4,但在负载不均衡的情况下则应另当别论。然而目前使用的IGP算法中,除了Cisco的IGRP/EIGRP将网络运行的一些动态特性作为路由选择的参考信息外,其它路由协议只考虑了网络的静态特性(如链路的物理带宽)和网络拓扑的变化(链路的通断状态),没有考虑更详细的网络动态特性,如链路的实际可用带宽、链路传输的动态延迟等。使用这些参数作为路由选择的依据确实有很大困难,而且非常危险。一方面,获取这些信息会给网络带来沉重的资源开销(包括CPU和带宽),因为它要求对网络的很多运行参数都进行实时采集和实时传递;另一方面,再实时的信息也会存在延迟,而网络中业务量分布瞬息万变,根据过时的信息做出的决策很可能会事倍功半。正是存在这些顾虑,即使IGRP早已提供了这些功能,在实际应用中人们还是将其束之高阁。
流量工程作为一个单独的概念提出,可以在较大程度上减少人们的这些顾虑。首先它可以只在部分链路上使用,不需要保证全网的一致性,这样就不会造成网络的过多开销;其次,它还可以从多个角度出发,依靠多种手段来实现业务量的重新分布,而不拘泥于依靠路由选择。以图1为例,流量工程就可以预先设定两条Traffic Trunk,一条路径为R2-R3-R4(TT1),一条为R2-R6-R7-R4(TT2),在两条Traffic Trunk的入口设定负载均担的准则和业务流的过滤器,比如我们可以设定将指向R5的业务流送入TT1,而将指向R9的业务流送入TT2,这样业务量的分布就比较合理了。
图1 鱼型网络拓扑
从上面的例子可以看出,实现流量工程有两大步骤。第一步是发现问题,第二步是解决问题。所谓发现问题就是发现网络中业务量分布不合理的地方。发现问题有三个途径,一是人为观察和分析网络结构中存在的问题。在上例中我们就是采用这种方法;二是网络管理人员根据性能监视系统提供的数据,做出相应的调整;三是网络根据性能监视系统提供的数据自行调整。
解决问题的方法则会依据网络而有所不同,上例就是MPLS实现流量工程的一个示例。下面我们就详细介绍MPLS中的流量工程。
三、MPLS的流量工程
MPLS采用的是集成的模型,节点LSR集成了转发和路由的功能,路由信息交互沿用传统的IGP和BGP路由协议,对于Best Effort型业务仍采用基于目的地的路由方式。因此,鱼型网络模型在MPLS中同样会存在负载不均衡的问题。
根据流量工程的原则,MPLS并没有试图在基本的业务处理中实现流量工程的目标,而是为流量工程建立了一套单独的体系。Traffic Trunk就是这套体系中的基本元素,它的作用类似于MPLS中的LSP(标记交换路径),但它的建立方法和功能又与LSP有所不同。
1.Traffic Trunk
Traffic Trunk(业务流干线,以下简称TT)是MPLS流量工程中一个非常重要的概念。TT是一个同类业务流的“集合”,在单一业务类别的模型中,TT可以在入口LSR和出口LSR间封装所有业务流。就象ATM 的VC一样,TT是一个可路由的实体。TT和MPLS中的LSP是相互独立的,TT可以从一个LSP转移到另一个LSP中。另外,MPLS流量工程目前规定TT是单向的。一个双向TT可以用两个反向TT相关联而构成。
(1)Traffic Trunk的属性
MPLS业务量管理为TT规定了若干属性,这些属性为网络管理人员参与TT的配置管理提供了工具。流量工程在很大程度上依赖于厂家的实现,特别是使用了TT,如何将分组映射到FEC、如何将FEC映射TT以及TT的重路由等问题的决策都由TT的入口节点完成。通过对TT属性的设置,管理员可以在一定程度上干预流量工程的运行。
TT的基本属性包括:
* 业务量参数属性
* 一般性路由选择和管理属性
* 优先级属性
* 强占属性
* 恢复属性
* 策略属性
这些属性是从业务的需要出发设计的。因为属性只在TT的源端记忆,所以它并不要求各节点在属性的定义上保持一致。厂家可以根据自己的需要和实现的难易设计更细致或更粗略的属性。
(2)Traffic Trunk的操作和维护
MPLS目前还未确立建立和拆除Traffic Trunk的信令协议,扩展的RSVP是建议中一个比较切实可行的选择。
从流量工程的应用出发,建立Traffic Trunk有两个途径,一是人为配置,一是自动生成。自动生成路径还可以作为人为配置的补充手段,当人工配置的路径中断时,通过自动生成,TT可以恢复通信。
“人为配置”要求Traffic Trunk的建立信令支持源路由。与PVC的建立过程不同,Traffic Trunk的建立过程是由网管对Traffic Trunk的源端进行配置,而由源端用信令发起建立这条TT。这样,在TT所经历的路径出现断路等故障时,源端就可以自动完成重路由的功能。
“自动生成”则要求与该TT相关的各节点支持“基于QoS的路由”。当节点自行决定TT的路径时,它期望网络能够根据当时的网络运行状况为TT选择一条最佳的路径。以图1所示的网络为例,R1在发现业务流出现堵塞后会试图建立一条新的TT以分流部分业务。但在完成传统的SPF算法后,R7-R4一枝已被剪断,留给R1的只有一个选择——最短路径R1-R2-R3-R4-R5(但此时已非最佳路径)。基于QoS的路由选择是将QoS参数作为路由选择的依据,改变以往SPF算法中只用metric(只参照链路带宽)作为剪枝依据的方法,而是根据网络可用资源的分布状况,首先将不满足QoS要求的枝剪去,然后再用“延迟metric”(利用可用带宽等信息计算出的metric值)进行SPF运算。完成这一过程还要有一个先决条件,就是必须具备一个触发QoS路由算法并提供QoS参数的手段。目前建议中采用RSVP PATH消息来完成这一功能。
扩展的RSVP就是在原有的RSVP基础上增加源路由能力,加上原有RSVP PATH消息中的资源预留能力,扩展的RSVP就很好地满足了作为TT建立信令的要求。
除了建立信令而外,TT的操作和维护还需要拆除、中断检查和恢复等一系列信令相配套,而RSVP早已具备了一套完善的体系。RSVP利用超时(time out)作为中断检查和拆除TT的触发消息。
2.MPLS流量工程的应用示例
因为目前MPLS流量工程的标准体系还没有完善,流量工程的实现还处于百花齐放、百家争鸣的时期。根据流量工程的特点,即使将来标准体系完善了,实现流量工程给网络带来的优化效果在很大程度上仍然取决于厂家的技术。
Cisco较早地在其Tag Switching中实现了流量工程。我们以Cisco的流量工程技术为例介绍厂家的实现方案。
我们仍然以鱼型网络为例,Cisco首先在R1上设定一个过滤器,过滤器的策略为:BGP下一跳=R5。然后利用扩展的RSVP建立一条Traffic Trunk,Cisco将其称为TSP Tunnel(隧道)。建立隧道的信令过程见图2。RSVP PATH消息由源端携带路径上每一跳的详细IP地址信息(R1-R2-R6-R7-R4)、隧道标识符和资源预留信息(QoS参数)沿所选路径到达R4,RSVP RESV消息由R4返回R1,完成资源预留和标记分配。在完成隧道(即TT)的建立后,R1会建立过滤器和该隧道的映射关系。在通常情况下,Cisco的流量工程允许过滤器和多条隧道(相同的源点和终点)建立映射关系,并为每一条隧道设定管理优先级。过滤器将从中选择优先级最高的可用隧道传递所指定的业务流(BGP下一跳=R5)。
图2 建立TT的信令过程
图3 通过隧道完成进一步的标记发布过程
TT通常应用于骨干网络,一般不会在用户间端到端地建立,如何将TT和LSP很好地结合对于MPLS而言是一个非常重要的课题。以图3为例,在建立了R1到R4的TT后,S1到D2的业务流如果想利用这条TT,就必须以IP流的形式发往R1,经过R1的过滤器过滤后发送到TT中,在TT中间传递时会以标记交换的方式,但在到达TT的终点R4后,仍需以IP路由的方式hop-by-hop地传递。
为了更好地利用流量工程,也为了更好地将流量工程的优势和MPLS的优势相结合,MPLS将TT与MPLS的分层结构紧密结合起来,利用LDP对等的概念,在隧道的两个端节点间建立LDP相邻关系,用LDP完成S1到D2端到端的标记发布过程。如图3所示,通过LDP,R5向R4发布标记为“出栈”(MPLS建议由LSP终点的前一站将标记弹出),R4穿过隧道向R1发布标记25。R1在收到S1到D2的业务流后,首先将标记25压入标记栈中,然后送入隧道,通过隧道的标记交换到达隧道终点R4后,R4根据标记25进行标记交换,25所对应的标记是pop,因而将标记弹出,恢复IP封装传送给R5。这样,既充分利用了流量工程的优点,又不会因为引入了流量工程而放弃端到端的标记交换的优势。
四、小结
流量工程是一门新兴的技术,人们赋予了它很多的期望。实现流量工程可以使原本无序的IP网络成为一个可以管理、并且可以动态调整和优化的网络,为网络运营商提供更高的网络利用率、更好的网络性能和更大的经济效益。这是人们的期望,也是流量工程的目标,然而理想与现实往往存在很大距离。流量工程能否被广泛应用,还取决于:
(1)标准体系是否完善;
(2)流量工程实际应用效果如何;
(3)流量工程的开销(业务量统计的开销、TT的管理开销等)/性能优化度的比率如何。