论文部分内容阅读
摘要:CE双归属是现实网络中非常普遍的一种组网形式,基于VPN的快速重路由技术立足于此种网络模型,在远端PE上部署,并可以使用路由匹配策略挑选需要保护的远端CE路由,以解决主用PE故障时的业务端到端快速收敛问题。该方法简单可靠,易于部署,有效地缩短了CE双归属网络中PE设备故障引起的端到端业务中断时间。
关键词:VPN快速重路由端到端收敛
VPN是運营商通过其公网向用户提供的虚拟专有网络,即从用户的角度,VPN是用户的一个专有网络。对于运营商来说,公网包括公共的骨干网和公共的运营商边界设备。地理上彼此分离的VPN成员站点通过用户网边缘设备CE连接到对应的运营商骨干网边缘设备PE,通过运营商的公网组成客户的VPN网络。Layer3 MPLS VPN是一种基于路由方式的MPLS VPN解决方案。PE使用LSP进行路由转发,对于运营商骨干路由器P并不需要知道客户VPN网络的信息,这种透明,可以有效地减小PE路由器的负担,提高网络的扩展性和业务开展的灵活性。通过PE之间、PE和CE之间的路由交互,客户的路由器可以知道属于同一个VPN的网络拓扑信息。然而,在CE双归PE的Layer3MPLSVPN网络中,仍存在PE节点故障导致的端到端业务收敛时间长的问题。本文利用快速重路由技术解决了这一问题。
1快速重路由技术
快速重路由是一套用于链路保护和节点保护的机制。当LSP(Label Switching Path)链路或者节点故障时,在发现故障的节点处进行保护,这样可以允许流量继续从保护链路或者节点的隧道中通过,以使得数据传输不至于发生中断;同时头节点就可以在数据传输不受影响的同时,继续发起主路径的重建。
快速重路由的基本原理是用一条预先建立的LSP来保护一条或多条LSP。预先建立的LSP称为快速重路由LSP,被保护的LSP称为主LSP。快速重路由的最终目的就是利用Bypass隧道绕过故障的链路或者节点,从而达到保护主路径的功能。实现快速重路由有两种方式:
Detour方式: One-to-one Backup,分别为每一条被保护LSP提供保护,为每一条被保护LSP创建一条保护路径,该保护路径称为DetourLSP。Bypass方式: Facility Backup,用一条保护路径保护多条LSP,该保护路径称为BypassLSP。Detour方式实现了每条LSP的保护,相对需要更大的开销。在实际使用中, Bypass方式被更广泛使用。
Bypass方式如图1所示,路径为R1-R2-R3-RR5为主LSP,R1-R2-R6-R4--R5为BypassLSP。当主链路失效或节点失效时,主LSP上的数据会切换到BypassLSP上。
2Layer3MPLS VPN
Layer3 MPLS VPN是一种基于路由方式的MPLS VPN解决方案,也被称作是BGP/MPLVPN2。BGP/MPLSVPN使用类似传统路由的方式进行IP分组的转发,在路由器接收到IP数据包以后,通过在转发表查找IP数据包的目的地址,然后使用预先建立的LSP进行IP数据跨运营商骨干的传送。按照标准的MPLS Layer3 VPN技术, PE可以通过静态路由、RIP(支持多实例)、OSPF(支持多实例)或EBGP学习到与它相连的CE的路由信息,并将此路由安装到VPN实例中; PE设备利用MBG穿越公网,把它从CE学习到的路由信息发布给出口PE(带着MPLS标签);同时,获得出口PE学习到的CE路由信息;PE之间通过IGP(如RIP、OSPF)来保证VPN内部节点之间的连通性。CE之间通过上述步骤将建立可达的路由,完成VPN私网路由信息在公网上的传播。
在典型的CE双归PE的网络中,当节点故障时,失效检测发现节点失效,触发切换,把主LSP的转发和信令都会切换到Bypass LSP上,重新下发转发项,完成业务的端到端收敛。在头节点重新下发转发项之前,由于转发引擎的转发项指向的主LS
隧道的节点,而该节点故障,这段时间之内,端到端业务中断。此间,端到端业务收敛的时间包括: 1失效检测发现故障; 2)切换重新发布的VPN路由3)将新的转发项下刷到转发引擎中。很明显,步骤2和步骤3的速度与VPN内部路由的数量、承载网的跳数密切相关,一般在5 s左右。
3关键技术
基于VPN的快速路由切换技术,通过预先在远端PE中设置指向主用PE和备用PE的主备用转发项,并结合PE故障快速探测,解决CE双归PE的MPLSVPN网络中PE节点故障导致的端到端业务收敛时间长的问题,同时解决PE节点故障恢复时间与其承载的私网路由的数量相关的问题,在PE节点故障情况下,使端到端业务收敛时间小于1 s。
3. 1主LSP和Bypass LSP的建立
主LSP的建立是通过在头节点手工配置隧道来触发的。资源预留协议RSVP从头节点逐跳向下游发送PATH消息,从尾节点逐跳向上游发送隧道回复的初始消息RESV。各节点第一次收到RESV消息时,根据RRO(Record Route Object)中记录的这些信息,为该LSP选择合适的Bypass LSP。为主LSP选择合适的Bypass LSP的过程称为绑定,绑定的具体算法在后面有详细描述。在处理RESV消息时分配标签,预留资源,建立LSP。
当一个没有快速重路由属性的隧道被指定保护一个物理接口以后,它所对应的LSP就成为By-passLSP。BypassLSP的建立是通过在PLR(PointofLocalRepair)手工配置触发的。Bypass隧道的带宽一般是用于保护主LSP的,隧道上所有资源仅为切换后使用。在配置时需要保证配带宽大于等于被保护的所有LSP所需的带宽和。
3. 2绑定计算
“绑定”指为一条主LSP选择一条合适的By-passLSP来保护它,称主LSP与Bypass LSP绑定。绑定计算是为一条主LSP绑定Bypass LSP的过程。绑定计算的结果是得到切换时转发所需要的必要数据,如Bypass隧道接口、Bypass LSP的出接口和NHLFE (Next Hop Label Forwarding Entry)、MP(Merge Point)分配的标签等。如果绑定计算成功,RESV会向上游节点通告该主LSP已经被保护。失消息,认为有失效发生。
3.4切换过程
切换是指启用Bypass LSP,主LSP的数据和RSVP消息都不再从原有路径上发送。用命令关闭接口或者失效检测发现“接口失效”都会触发切换。失效接口上有保护的LSP的转发和信令都会切换到Bypass LSP上,并向上游节点通告切换已经发生。
首先发生切换的转发组件。在进行绑定计算时,转发所需要的内层标签已经存放在NHLFE中,这时只要标记该LSP已经切换,数据就可以通过Bypass隧道进行转发了。RESV随后会对切换事件进行响应。对已经绑定Bypass LSP的LSP, RESV会向上游发送有切换标记的PathError (Path错误)消息。Bypass隧道主要用于临时性保护,头节点会对这些切换了的LSP进行适当的处理。如果LSP没有绑定,RSVP直接发送ResvTear(隧道拆除)消息通知上游节点删除该LSP。
3.5转发
在主LSP切换之前,数据转发与普通LSP相同;当主LSP切换到Bypass隧道上以后,数据会从Bypass隧道转发到MP。
当主LSP与Bypass LPS绑定成功,主LSP的NHLFE表项中记录BypassLSP的NHLFE表項索引以及MP为上一个节点分配的标签,即内层标签。在切换的时候,主LSP的NHLFE表项会被转发组件置上切换标志。
报文到达PLR时,转发组件查找到主LSP的NHLFE,如果尚未切换,进行正常的标签交换和数据转发;如果NHLFE表项中有切换标志,则继续查找到对应的Bypass LSP的NHLFE表项,把内层标签压栈以后,按照Bypass LSP的NHLFE表项的信
息进行转发。在Bypass隧道出口(或倒数第二跳),标签出栈,MP就可以继续用原有标签进行转发了。因为内层标签可能会在MP的不同接口上使用,所以要求MP的标签分配必须是每平台的。前面提到,部分失效检测是在链路层进行的, 在链路层检测到失效以后,如果在上层相应失效之前失效恢复,转发组件可以清除主LSP的NHLFE表项上的切换标志,这样,主LSP的数据转发又会按照原路进行,RESV也不会进行切换处理。需要说明一下的是,切换以后,从PLR到MP的RSVP消息从Bypass隧道发送,这只是一般的IP报文从MPLS隧道转发。从MP到PLR的RSVP消息是普通的IP转发。
3. 6与传统的Layer3 VPN的比较
在传统的技术中,当Layer3 VPN中承载了大量的路由时,当远端PE出现故障时,所有这些VPN路由都需要重新迭代到新的隧道上,端到端业务故障收敛的时间与VPN路由的数量相关,VPN路由数量越大,收敛时间越长。而基于VPN的快速重路由技术,只需要检测并修改这些VPN路由迭代的外层公网隧道在转发引擎中的状态,无论转发流量命中的是哪条VPN路由,流量都会切换到VPN快速重路由的备份路径上,其收敛时间只取决于远端PE故障的检测并修改转发引擎中对应公网隧道状态的时间,而与VPN路由的数量无关。
4典型应用
以Layer3 VPN为例,典型的CE双归PE的组网见图2。
当Site1需要访问Site2时, Site1发出一个目的地址为10. 10. 10. 1的IPv4报文到达CE1, CE1查找IP路由表,根据匹配的表项将IPv4报文发送至PE1。PE1根据报文到达的接口及目的地址查找VPN实例表项,获得内层标签、外层标签、BGP下一跳(PE2)、输出接口等。建立完标签栈后, PE2通过输出接口转发MPLS报文到LSP上的第一个P设备。LSP上的P设备利用交换报文的外层标签转发MPLS报文,直到报文传送到倒数第二跳设备,即到PE2前的P设备。倒数第二跳设备将外层标签弹栈,并转发MPLS报文到PE2。PE2根据内层标签和目的地址查找VPN转发表,确定标签操作和报文的出接口,最终弹出内层标签,并由出接口转发IPv4报文至CE2。CE2查找路由表,根据正常的
IPv4报文转发过程将报文传送到Site2。支持PE1设备根据匹配策略选择符合条件的VPN路由,对于这些路由,除了优选的PE2发布的路由信息(包括内层标签、外层标签、BGP下一跳、输出接口等),次优的PE3发布的路由协议(包括内层标签、外层标签、BGP下一跳、输出接口等),也同样填写在转发项中。
当PE2节点故障时,PE1通过BFD、MPLSOAM等技术感知到PE1与PE2之间的外层隧道不可用(端到端故障感知时间小于500 ms)。当PE1感知到MPLS VPN依赖的外层LSP隧道不可用之后,将LSP隧道状态表中的对应标志设置为不可用,并下刷到转发引擎中。转发引擎命中一个转发项之后,检查该转发项对应的LSP隧道的状态,如果为不可用,则使用本转发项中携带的次优路由的转发信息进行转发。这样,报文就会打上PE3分配的内层标签,沿着PE1与PE3之间的外层LSP隧道交换到PE3,再转发给CE2,从而恢复CE到CE2方向的业务,实现PE2节点故障情况下的端到端业务的快速收敛。
5结语
本文利用快速重路由技术,解决了CE双归PE的Layer3MPLSVPN网络中隧道终结点故障时的快速收敛问题,并有效的缩短终结点PE故障引起的业务中断时间。故障恢复时间与私网路由的规模无关,并且简单可靠、部署方便;而且,除了PE之间的故障快速检测机制之外,不依赖于周边设备的配合。在不久的将来,随着MPLSVPN业务的发展,我们提出的基于VPN的快速重路由方案需在实际应用中进一步完善。
参考文献
1张辉,卢炜译.基于MPLS的流量工程.北京:人民邮电出版社,2003
2腾文历.BGP/MPLS VPN的实现技术分析
3胡捷.运营商在实施MPLS TE时需要关注的问题
关键词:VPN快速重路由端到端收敛
VPN是運营商通过其公网向用户提供的虚拟专有网络,即从用户的角度,VPN是用户的一个专有网络。对于运营商来说,公网包括公共的骨干网和公共的运营商边界设备。地理上彼此分离的VPN成员站点通过用户网边缘设备CE连接到对应的运营商骨干网边缘设备PE,通过运营商的公网组成客户的VPN网络。Layer3 MPLS VPN是一种基于路由方式的MPLS VPN解决方案。PE使用LSP进行路由转发,对于运营商骨干路由器P并不需要知道客户VPN网络的信息,这种透明,可以有效地减小PE路由器的负担,提高网络的扩展性和业务开展的灵活性。通过PE之间、PE和CE之间的路由交互,客户的路由器可以知道属于同一个VPN的网络拓扑信息。然而,在CE双归PE的Layer3MPLSVPN网络中,仍存在PE节点故障导致的端到端业务收敛时间长的问题。本文利用快速重路由技术解决了这一问题。
1快速重路由技术
快速重路由是一套用于链路保护和节点保护的机制。当LSP(Label Switching Path)链路或者节点故障时,在发现故障的节点处进行保护,这样可以允许流量继续从保护链路或者节点的隧道中通过,以使得数据传输不至于发生中断;同时头节点就可以在数据传输不受影响的同时,继续发起主路径的重建。
快速重路由的基本原理是用一条预先建立的LSP来保护一条或多条LSP。预先建立的LSP称为快速重路由LSP,被保护的LSP称为主LSP。快速重路由的最终目的就是利用Bypass隧道绕过故障的链路或者节点,从而达到保护主路径的功能。实现快速重路由有两种方式:
Detour方式: One-to-one Backup,分别为每一条被保护LSP提供保护,为每一条被保护LSP创建一条保护路径,该保护路径称为DetourLSP。Bypass方式: Facility Backup,用一条保护路径保护多条LSP,该保护路径称为BypassLSP。Detour方式实现了每条LSP的保护,相对需要更大的开销。在实际使用中, Bypass方式被更广泛使用。
Bypass方式如图1所示,路径为R1-R2-R3-RR5为主LSP,R1-R2-R6-R4--R5为BypassLSP。当主链路失效或节点失效时,主LSP上的数据会切换到BypassLSP上。
2Layer3MPLS VPN
Layer3 MPLS VPN是一种基于路由方式的MPLS VPN解决方案,也被称作是BGP/MPLVPN2。BGP/MPLSVPN使用类似传统路由的方式进行IP分组的转发,在路由器接收到IP数据包以后,通过在转发表查找IP数据包的目的地址,然后使用预先建立的LSP进行IP数据跨运营商骨干的传送。按照标准的MPLS Layer3 VPN技术, PE可以通过静态路由、RIP(支持多实例)、OSPF(支持多实例)或EBGP学习到与它相连的CE的路由信息,并将此路由安装到VPN实例中; PE设备利用MBG穿越公网,把它从CE学习到的路由信息发布给出口PE(带着MPLS标签);同时,获得出口PE学习到的CE路由信息;PE之间通过IGP(如RIP、OSPF)来保证VPN内部节点之间的连通性。CE之间通过上述步骤将建立可达的路由,完成VPN私网路由信息在公网上的传播。
在典型的CE双归PE的网络中,当节点故障时,失效检测发现节点失效,触发切换,把主LSP的转发和信令都会切换到Bypass LSP上,重新下发转发项,完成业务的端到端收敛。在头节点重新下发转发项之前,由于转发引擎的转发项指向的主LS
隧道的节点,而该节点故障,这段时间之内,端到端业务中断。此间,端到端业务收敛的时间包括: 1失效检测发现故障; 2)切换重新发布的VPN路由3)将新的转发项下刷到转发引擎中。很明显,步骤2和步骤3的速度与VPN内部路由的数量、承载网的跳数密切相关,一般在5 s左右。
3关键技术
基于VPN的快速路由切换技术,通过预先在远端PE中设置指向主用PE和备用PE的主备用转发项,并结合PE故障快速探测,解决CE双归PE的MPLSVPN网络中PE节点故障导致的端到端业务收敛时间长的问题,同时解决PE节点故障恢复时间与其承载的私网路由的数量相关的问题,在PE节点故障情况下,使端到端业务收敛时间小于1 s。
3. 1主LSP和Bypass LSP的建立
主LSP的建立是通过在头节点手工配置隧道来触发的。资源预留协议RSVP从头节点逐跳向下游发送PATH消息,从尾节点逐跳向上游发送隧道回复的初始消息RESV。各节点第一次收到RESV消息时,根据RRO(Record Route Object)中记录的这些信息,为该LSP选择合适的Bypass LSP。为主LSP选择合适的Bypass LSP的过程称为绑定,绑定的具体算法在后面有详细描述。在处理RESV消息时分配标签,预留资源,建立LSP。
当一个没有快速重路由属性的隧道被指定保护一个物理接口以后,它所对应的LSP就成为By-passLSP。BypassLSP的建立是通过在PLR(PointofLocalRepair)手工配置触发的。Bypass隧道的带宽一般是用于保护主LSP的,隧道上所有资源仅为切换后使用。在配置时需要保证配带宽大于等于被保护的所有LSP所需的带宽和。
3. 2绑定计算
“绑定”指为一条主LSP选择一条合适的By-passLSP来保护它,称主LSP与Bypass LSP绑定。绑定计算是为一条主LSP绑定Bypass LSP的过程。绑定计算的结果是得到切换时转发所需要的必要数据,如Bypass隧道接口、Bypass LSP的出接口和NHLFE (Next Hop Label Forwarding Entry)、MP(Merge Point)分配的标签等。如果绑定计算成功,RESV会向上游节点通告该主LSP已经被保护。失消息,认为有失效发生。
3.4切换过程
切换是指启用Bypass LSP,主LSP的数据和RSVP消息都不再从原有路径上发送。用命令关闭接口或者失效检测发现“接口失效”都会触发切换。失效接口上有保护的LSP的转发和信令都会切换到Bypass LSP上,并向上游节点通告切换已经发生。
首先发生切换的转发组件。在进行绑定计算时,转发所需要的内层标签已经存放在NHLFE中,这时只要标记该LSP已经切换,数据就可以通过Bypass隧道进行转发了。RESV随后会对切换事件进行响应。对已经绑定Bypass LSP的LSP, RESV会向上游发送有切换标记的PathError (Path错误)消息。Bypass隧道主要用于临时性保护,头节点会对这些切换了的LSP进行适当的处理。如果LSP没有绑定,RSVP直接发送ResvTear(隧道拆除)消息通知上游节点删除该LSP。
3.5转发
在主LSP切换之前,数据转发与普通LSP相同;当主LSP切换到Bypass隧道上以后,数据会从Bypass隧道转发到MP。
当主LSP与Bypass LPS绑定成功,主LSP的NHLFE表项中记录BypassLSP的NHLFE表項索引以及MP为上一个节点分配的标签,即内层标签。在切换的时候,主LSP的NHLFE表项会被转发组件置上切换标志。
报文到达PLR时,转发组件查找到主LSP的NHLFE,如果尚未切换,进行正常的标签交换和数据转发;如果NHLFE表项中有切换标志,则继续查找到对应的Bypass LSP的NHLFE表项,把内层标签压栈以后,按照Bypass LSP的NHLFE表项的信
息进行转发。在Bypass隧道出口(或倒数第二跳),标签出栈,MP就可以继续用原有标签进行转发了。因为内层标签可能会在MP的不同接口上使用,所以要求MP的标签分配必须是每平台的。前面提到,部分失效检测是在链路层进行的, 在链路层检测到失效以后,如果在上层相应失效之前失效恢复,转发组件可以清除主LSP的NHLFE表项上的切换标志,这样,主LSP的数据转发又会按照原路进行,RESV也不会进行切换处理。需要说明一下的是,切换以后,从PLR到MP的RSVP消息从Bypass隧道发送,这只是一般的IP报文从MPLS隧道转发。从MP到PLR的RSVP消息是普通的IP转发。
3. 6与传统的Layer3 VPN的比较
在传统的技术中,当Layer3 VPN中承载了大量的路由时,当远端PE出现故障时,所有这些VPN路由都需要重新迭代到新的隧道上,端到端业务故障收敛的时间与VPN路由的数量相关,VPN路由数量越大,收敛时间越长。而基于VPN的快速重路由技术,只需要检测并修改这些VPN路由迭代的外层公网隧道在转发引擎中的状态,无论转发流量命中的是哪条VPN路由,流量都会切换到VPN快速重路由的备份路径上,其收敛时间只取决于远端PE故障的检测并修改转发引擎中对应公网隧道状态的时间,而与VPN路由的数量无关。
4典型应用
以Layer3 VPN为例,典型的CE双归PE的组网见图2。
当Site1需要访问Site2时, Site1发出一个目的地址为10. 10. 10. 1的IPv4报文到达CE1, CE1查找IP路由表,根据匹配的表项将IPv4报文发送至PE1。PE1根据报文到达的接口及目的地址查找VPN实例表项,获得内层标签、外层标签、BGP下一跳(PE2)、输出接口等。建立完标签栈后, PE2通过输出接口转发MPLS报文到LSP上的第一个P设备。LSP上的P设备利用交换报文的外层标签转发MPLS报文,直到报文传送到倒数第二跳设备,即到PE2前的P设备。倒数第二跳设备将外层标签弹栈,并转发MPLS报文到PE2。PE2根据内层标签和目的地址查找VPN转发表,确定标签操作和报文的出接口,最终弹出内层标签,并由出接口转发IPv4报文至CE2。CE2查找路由表,根据正常的
IPv4报文转发过程将报文传送到Site2。支持PE1设备根据匹配策略选择符合条件的VPN路由,对于这些路由,除了优选的PE2发布的路由信息(包括内层标签、外层标签、BGP下一跳、输出接口等),次优的PE3发布的路由协议(包括内层标签、外层标签、BGP下一跳、输出接口等),也同样填写在转发项中。
当PE2节点故障时,PE1通过BFD、MPLSOAM等技术感知到PE1与PE2之间的外层隧道不可用(端到端故障感知时间小于500 ms)。当PE1感知到MPLS VPN依赖的外层LSP隧道不可用之后,将LSP隧道状态表中的对应标志设置为不可用,并下刷到转发引擎中。转发引擎命中一个转发项之后,检查该转发项对应的LSP隧道的状态,如果为不可用,则使用本转发项中携带的次优路由的转发信息进行转发。这样,报文就会打上PE3分配的内层标签,沿着PE1与PE3之间的外层LSP隧道交换到PE3,再转发给CE2,从而恢复CE到CE2方向的业务,实现PE2节点故障情况下的端到端业务的快速收敛。
5结语
本文利用快速重路由技术,解决了CE双归PE的Layer3MPLSVPN网络中隧道终结点故障时的快速收敛问题,并有效的缩短终结点PE故障引起的业务中断时间。故障恢复时间与私网路由的规模无关,并且简单可靠、部署方便;而且,除了PE之间的故障快速检测机制之外,不依赖于周边设备的配合。在不久的将来,随着MPLSVPN业务的发展,我们提出的基于VPN的快速重路由方案需在实际应用中进一步完善。
参考文献
1张辉,卢炜译.基于MPLS的流量工程.北京:人民邮电出版社,2003
2腾文历.BGP/MPLS VPN的实现技术分析
3胡捷.运营商在实施MPLS TE时需要关注的问题