一种PW链路的回切方法及装置与流程

文档序号:18105376发布日期:2019-07-06 11:37阅读:639来源:国知局
一种PW链路的回切方法及装置与流程

本公开涉及通信技术领域,尤其涉及一种pw链路的回切方法及装置。



背景技术:

vpls(virtualprivatelanservice,虚拟专用局域网服务)是在mpls或ip骨干网上提供的一种点到多点的l2vpn业务。服务提供商通过在骨干网上模拟一台连接多个异地站点的虚拟交换机来模拟用户网络,从而为用户网络提供vpls服务。骨干网对于用户网络的站点来说是透明的,用户网络的各个站点就像工作在一个局域网中一样。

vpls的基本架构主要包括:ce(customeredge,用户网络边缘)设备,用于直接与服务提供商网络相连的用户网络侧设备;pe(provideredge,服务提供商网络边缘)设备,用于与ce相连的服务提供商网络侧设备;ac(attachmentcircuit,接入电路),用于连接ce和pe的物理电路或虚拟电路,例如ethernet接口、vlan;pw(pseudowire,伪线),用于两个pe之间的虚拟双向连接;公网隧道(tunnel),用于穿越ip或mpls骨干网、用来承载pw的隧道。一条公网隧道可以承载多条pw,公网隧道可以是lsp、mplste、gre隧道等;vpls实例,用于当用户网络可能包括分布在不同地理位置的多个站点,可以在骨干网上可以利用vpls技术将这些站点连接起来,为用户提供一个二层vpn。这个二层vpn称为一个vpls实例。不同vpls实例中的站点不能二层互通;vsi(virtualswitchinstance,虚拟交换实例),用于在pe设备上为一个vpls实例提供二层交换服务的虚拟实例。vsi可以看做是pe设备上的一台虚拟交换机,它具有传统以太网交换机的所有功能,包括源mac地址学习、mac地址老化、泛洪等。vpls通过vsi实现在vpls实例内转发二层数据报文。



技术实现要素:

有鉴于此,本公开提供一种pw链路的回切方法及装置,来避免延迟回切时存在一段时间广播报文的问题。

具体地,本公开是通过如下技术方案实现的:

本公开提供一种pw链路的回切方法,所述方法应用于pe设备,所述方法包括:

分别获取已使能备pw链路的本端pe设备连接的ce设备和对端pe设备连接的ce设备的地址信息;

通过所述备pw链路对应的主pw链路接收所述对端pe设备在检测到所述主pw链路恢复正常时发送的第一报文;

判断所述第一报文的地址信息与获取的ce设备的地址信息是否相匹配;

如果相匹配,使能所述主pw链路。

基于相同的构思,本公开还提供一种pw链路的回切装置,所述装置应用于pe设备,所述装置包括:

获取单元,用于分别获取已使能备pw链路的本端pe设备连接的ce设备和对端pe设备连接的ce设备的地址信息;

接收单元,用于通过所述备pw链路对应的主pw链路接收所述对端pe设备在检测到所述主pw链路恢复正常时发送的第一报文;

判断单元,用于判断所述第一报文的地址信息与获取的ce设备的地址信息是否相匹配;

使能单元,用于如果相匹配,使能所述主pw链路。

基于相同的构思,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述pw链路的回切方法的任一步骤。

基于相同的构思,本公开还提供一种计算机设备,所述计算机设备包括存储器、处理器、通信接口以及通信总线;其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现上述pw链路的回切方法的任一步骤。

由此可见,本公开可以使网关pe设备分别获取已使能备pw链路的本端pe设备连接的ce设备和对端pe设备连接的ce设备的地址信息;通过所述备pw链路对应的主pw链路接收所述对端pe设备在检测到所述主pw链路恢复正常时发送的第一报文;判断所述第一报文的地址信息与获取的ce设备的地址信息是否相匹配;如果是,则使能所述主pw链路。由于本公开可以通过比较从主pw链路收到的第一报文的地址信息和本地已获取的ce设备的地址信息是否一致来确定主pw链路切换的时机,从而在链路切换后,避免主pw链路上出现广播报文的情况。

附图说明

图1是现有技术中的一种vpls组网结构示意图;

图2是本公开一种示例性实施方式中的一种pw链路的回切方法的处理流程图;

图3是本公开一种示例性实施方式中的链路回切交互流程图;

图4是本公开一种示例性实施方式中的vpls组网中的报文转发示意图;

图5本公开一种示例性实施方式中的pw链路的回切装置的逻辑结构图;

图6本公开一种示例性实施方式中的一种计算机设备的硬件结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

请参考图1为本公开示例性的一种vpls组网的示意图,其中ce1至ce2的转发路径中,pe之间每段链路均为pw,pe1和pe4是首尾pe节点,分别连接ce1和ce2,pe2和pe3为多段pw的中间节点,对于pe1和pe4而言,pe2和pe3也可以称为邻居pe设备。

上述组网中,可以设置pe1->pe2->pe4的转发路径中的pw1和pw3分别为pe1和pe4上的主pw链路,pe1->pe3->pe4为的转发路径中的pw2和pw4分别为pe1和pe4上的备pw链路,图1中以箭头所指示的ce1至ce2的方向转发报文为例,若图中pw1链路出现了故障,报文会切换至下段pw2链路转发。

当pw1链路恢复后,如果立刻回切,可能会存在pw1可用,但是pe2上一些转发表项还未及时更新(如路由邻居,公网隧道建立等)的问题,而导致立刻回切后会出现转发失败,因此一般会在pe1上配置延迟回切功能,即延迟将pw2切换回pw1的切换时间。如图1中所示,为pe2指定延时回切时间为300秒,则pw1恢复后经过300秒再回切转发表项。转发vpls报文时需要pe2,pe3学习到两端ce的mac地址,才能进行单播转发,否则会进行广播。

由于在主备pw链路切换前,pe2上同时学习了ce1和ce2的mac地址,所以ce1和ce2之间转发经过pe2都是单播转发。在延迟回切时,若pe1上延300秒回切,pe4也配置了延迟回切,时间也是300秒,但是由于pe2和pe4的链路恢复时间是不固定的,有可能pe1至pe2的pw1实际在pe1到pe2的链路恢复10秒后开始计时,而pe4至pe2的pw3链路有可能5秒后开始计时,pe2在305秒时,由于pe1至pe2的pw1链路还没恢复完毕,则pe2还没有学习到ce1的mac地址,若305秒后恢复pe4至pe2的报文转发,则ce2发送的地址为mac2的报文到pe2上时,由于pe2还没学习到ce1的地址mac1,因此pe2无法确定该报文的下一跳,所以pe2会广播该报文,直到pe1至pe2的pw1链路恢复,即再经过5秒后,pe1至pe2的链路才能正确单播双向转发。

因此从以上vpls多段pw的转发场景可见,回切过程因链路恢复必然存在时差,所以现有的延迟回切技术,会在回切后存在一段时间的广播报文。

为了解决现有技术存在的问题,本公开提供一种pw链路的回切方法及装置,可以使网关pe设备分别获取已使能备pw链路的本端pe设备连接的ce设备和对端pe设备连接的ce设备的地址信息;通过所述备pw链路对应的主pw链路接收所述对端pe设备在检测到所述主pw链路恢复正常时发送的第一报文;判断所述第一报文的地址信息与获取的ce设备的地址信息是否相匹配;如果是,则使能所述主pw链路。由于本公开可以通过比较从主pw链路收到的第一报文的地址信息和本地已获取的ce设备的地址信息是否一致来确定主pw链路切换的时机,从而在链路切换后,避免主pw链路上出现广播报文的情况。

请参考图2,是本公开一种示例性实施方式中的一种pw链路的回切方法的处理流程图,所述方法应用于vpls网络中连接ce设备的网关pe设备,所述方法包括:

步骤201、分别获取已使能备pw链路的本端pe设备连接的ce设备和对端pe设备连接的ce设备的地址信息;

在本实施例中,当主pw链路故障,本端pe设备使能备pw链路切换后,备pw链路承载原本由主pw链路传输的ce1和ce2之间的业务流量。本端pe设备可以使能备pw链路时,获取备pw链路上对应的两端ce设备的地址信息,其中包括本端pe设备连接的ce设备和对端pe设备连接的ce设备的地址信息。如图1所述,当使能备pw链路后,pe1可以获取本端连接的ce1的地址信息,例如mac地址,pe1还可以获取对端pe设备(pe4)连接的ce2的地址信息。

步骤202、通过所述备pw链路对应的主pw链路接收所述对端pe设备在检测到所述主pw链路恢复正常时发送的第一报文;

在本实施例中,对端pe设备在检测到所述主pw链路恢复正常时发送的第一报文,该第一报文会通过所述备pw链路对应的主pw链路发送到本端pe设备,因此本端pe设备可以通过该主pw链路接收所述第一报文。

具体来讲,当对端pe设备可以通过端口检测技术确定自身连接的主pw链路的连接是否恢复正常,例如通过判断主pw链路的接口是否被拉起等。由于所述对端pe设备也可以获取已使能备pw链路的两端ce设备的地址信息,因此当所述对端pe设备确定主pw链路的连接恢复正常时,可以构建第一报文,其中可以将所述本端pe设备连接的ce设备的mac地址作为所述一报文的目的mac地址,将自身连接的ce设备的mac地址作为所述第一报文的源mac地址,然后将所述第一报文通过所述主pw链路发送出去。

因此所述本端pe设备可以收到对端pe设备在检测到所述主pw链路恢复正常时通过主pw链路发送的第一报文。

步骤203、判断所述第一报文的地址信息与获取的ce设备的地址信息是否相匹配;

在本实施例中,本端pe设备可以判断所述第一报文的地址信息与获取的ce设备的地址信息是否相匹配,具体来讲,可以通过判断所述第一报文的源mac地址是否与获取的对端pe设备连接的ce设备的mac地址相同,且所述第一报文的目的mac地址是否与获取的本端pe设备连接的ce设备的mac地址相同;如果是,则确定第一报文的地址信息与获取的ce设备的地址信息相匹配;否则,确定第一报文的地址信息与获取的ce设备的地址信息不匹配。

步骤204、如果相匹配,使能所述主pw链路。

在本实施例中,如果通过第一报文的地址信息与获取的ce设备的地址信息相匹配,则说明主pw链路上的邻居pe已经学习到了两端ce设备的mac地址,因此此时本端pe设备可以使能主pw链路,执行将ce1到ce2的业务流量从备pw链路切换至主pw链路的操作,从而可以保证切换后的主pw链路能够进行双向单播报文的传输,可以避免主pw链路上出现广播报文的阶段。

作为一个实施例,如果通过第一报文的地址信息与获取的ce设备的地址信息不匹配时,说明主pw链路上的邻居pe还未学习到两端ce设备的mac地址,因此此时本端pe设备不执行从主备链路切换的操作,从而可以避免主pw链路上出现广播报文的阶段。

作为一个实施例,在本端pe设备使能所述主pw链路之后之后,由于该第一报文是对端pe设备自己构建的vpls报文,因此本端pe设备可以丢弃该第一报文,从而可以避免第一报文被转发到本端连接的ce设备造成额外的业务负担。

作为一个实施例,与对端pe设备构建第一报文同理,本端pe设备在检测到所述主pw链路恢复正常时,可以根据所述获取的ce设备的地址信息构建第二报文,其中,可以将所述获取的对端pe设备连接的ce设备的mac地址作为所述第二报文的目的mac地址,将所述获取的本端pe设备连接的ce设备的mac地址作为所述第二报文的源mac地址。然后将所述第二报文通过所述主pw链路发送至对端pe设备,以使对端pe设备在确定所述第二报文的地址信息与对端pe设备预先获取的ce设备的地址信息相匹配时,使能所述主pw链路。

需要说明的是,本实施例中,本端pe设备构建的第二报文和对端pe设备构建的第一报文均是vpls报文,由于主pw链路未启用,其他协议的报文无法通过该主pw链路转发,只有vpls报文可以通过该主pw链路转发,因此通过构建vpls类型的第二报文和第一报文可以保证报文通过所述主pw链路转发。

相比于现有技术直接在确定主pw链路恢复正常后进行链路回切操作,本公开可以通过在主pw链路中发送携带两端ce设备的mac地址的vpls报文,以使主pw链路上的pe学习到两端ce的mac地址,并且通过两端连接ce的pe设备的判断,确定vpls报文中的两端ce设备的mac地址与自身获取的两端ce设备的mac地址相匹配时,确认主pw链路可以启用,从而在链路回切后,可以避免主pw链路上存在广播报文的情况。

为使本公开的目的、技术方案及优点更加清楚明白,下面结合图3和图4对本公开的方案作进一步地详细说明。

参见图3,是本公开一种示例性的延迟回切的交互流程图,本公开中,以ce1到ce2的转发过程为例,其中pe1、pe2、和pe4之间进行延迟回切的交互流程包括如下步骤:

步骤301、pe1确定pw1链路恢复正常;

pe1可以通过检测本地连接pe2的端口是否可用,或者是否能够发现协议邻居pe链路时,可以确定连接pe2的pw1链路已恢复正常;

步骤302、pe1获取两端ce设备的mac地址,其中包括ce1的mac1,ce2的mac2;

步骤303、pe1创建vpls封装的第一报文,该第一报文的vpls封装中的源mac地址为ce1的mac1和目的mac地址为ce2的mac2;

步骤304、pe1根据该第一报文的vpls封装中的下一跳的节点信息将该第一报文从pw1链路转发至pe2;

步骤305、pe2收到第一报文后,学习该第一报文的源mac地址(即ce1的mac1)和目的mac地址(即ce2的mac2);

步骤306、pe2根据第一报文的vpls封装中的下一跳的节点信息将该第一报文从pw1链路和pw3链路转发至pe4;该第一报文的转发过程如图4中的箭头①所示;

步骤307、pe4收到该pw3链路转发的第一报文后,获取第一报文的源mac地址和目的mac地址,根据比较自身获取的两端ce设备的mac地址,进行比较;若第一报文的源mac地址与本地(pe4)连接的ce2的mac地址相同,第一报文的目的mac地址与对端pe设备(pe1)连接的ce1的mac地址相同,则说明pw3链路上的pe2设备已经获取了ce1和ce2的mac地址,即说明pe2可以通过pw3链路传输单播报文,因此pe4可以使能pw3链路,使流量从pw4链路切换至pw3链路;

步骤308、pe4丢弃所述第一报文;

步骤309、pe4发送所述第二报文,该第二报文的vpls封装中的源mac地址为ce2的mac2,目的mac地址为ce1的mac1;

步骤310、若pe2收到pe4发送的所述第二报文,则学习第二报文的源mac地址(ce2的mac2)和目的mac地址(ce1的mac1);

步骤311、pe2将第二报文转发给pe1;该第一报文的转发过程如图4中的箭头②所示;

步骤312、pe1收到该pw1链路转发的该第二报文后,获取第二报文的源mac地址和目的mac地址,然后根据比较自身获取的两端ce设备的mac地址,进行比较;若第二报文的目的mac地址与本地(pe1)连接的ce1的mac地址相同,第而报文的源的mac地址与对端pe设备(pe4)连接的ce2的mac地址相同,则说明pw1链路上的pe2设备已经获取了ce1和ce2的mac地址,即说明pe2可以通过pw1链路传输单播报文,因此pe1可以使能pw1链路,使流量从pw2链路延迟切换至pw1链路;

步骤313、pe1丢弃所述第二报文。

相比于现有技术中在主链路恢复时就执行链路回切操作,本公开可以使pe设备(例如pe1、pe4)在确定主pw链路恢复时,先不执行延迟回切操作,而是通过主pw链路发送携带两端ce设备mac地址的vpls报文到对端pe设备,从而使vpls报文在多段pw中转发时,每个邻居pe设备转发该vpls报文的同时,会通过地址学习到两端ce设备的mac地址,并在确定本端收到的vpls报文的源和目的mac地址与本端记录的两端ce设备的mac地址对应相同时,说明邻居pe以学习到了两端的ce的mac地址,因此说明当前的主pw链路已满足回切条件,从而开始使能主pw链路,进行将流量从备pw链路回切至主pw链路的操作,因此能保障切换后的主pw链路上的邻居pe对两端的ce设备的mac地址都是已知的,从而避免了报文被广播。

基于相同的构思,本公开还提供一种pw链路的回切装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本公开的pw链路的回切装置作为一个逻辑意义上的装置,是通过其所在装置的cpu将存储器中对应的计算机程序指令读取后运行而成。

请参考图5,是本公开一种示例性实施方式中的一种pw链路的回切装置500,该装置基本运行环境包括cpu,存储器以及其他硬件,所述装置应用于连接ce设备的网关pe设备,从逻辑层面上来看,该装置500的逻辑结构如图5所示,其中包括:

获取单元501,用于分别获取已使能备pw链路的本端pe设备连接的ce设备和对端pe设备连接的ce设备的地址信息;

接收单元502,用于通过所述备pw链路对应的主pw链路接收所述对端pe设备在检测到所述主pw链路恢复正常时发送的第一报文;

判断单元503,用于判断所述第一报文的地址信息与获取的ce设备的地址信息是否相匹配;

使能单元504,用于如果相匹配,使能所述主pw链路。

作为一个实施例,所述判断单元503,具体用于判断所述第一报文的源mac地址是否与获取的对端pe设备连接的ce设备的mac地址相同,且所述第一报文的目的mac地址是否与获取的本端pe设备连接的ce设备的mac地址相同;

如果是,则确定第一报文的地址信息与获取的ce设备的地址信息相匹配。

作为一个实施例,所述装置还包括:

构建单元505,用于当检测到所述主pw链路恢复正常时,根据所述获取的ce设备的地址信息构建第二报文;将所述第二报文通过所述主pw链路发送至对端pe设备,以使对端pe设备在确定所述第二报文的地址信息与对端pe设备预先获取的ce设备的地址信息相匹配时,使能所述主pw链路。

作为一个实施例,所述构建单元505,具体用于将所述获取的对端pe设备连接的ce设备的mac地址作为所述第二报文的目的mac地址,将所述获取的本端pe设备连接的ce设备的mac地址作为所述第二报文的源mac地址。

作为一个实施例,所述装置还包括:

丢弃单元506,用于在使能所述主pw链路之后,丢弃所述第一报文。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

基于相同的构思,本公开还提供一种计算机设备,如图6所示,所述计算机设备包括存储器61、处理器62、通信接口63以及通信总线64;其中,所述存储器61、处理器62、通信接口63通过所述通信总线64进行相互间的通信;

所述存储器61,用于存放计算机程序;

所述处理器62,用于执行所述存储器61上所存放的计算机程序,所述处理器62执行所述计算机程序时实现本公开实施例提供的pw链路的回切方法的任一步骤。

本公开还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例提供的pw链路的回切方法的任一步骤。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于计算机设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

综上所述,本公开可以使网关pe设备分别获取已使能备pw链路的本端pe设备连接的ce设备和对端pe设备连接的ce设备的地址信息;通过所述备pw链路对应的主pw链路接收所述对端pe设备在检测到所述主pw链路恢复正常时发送的第一报文;判断所述第一报文的地址信息与获取的ce设备的地址信息是否相匹配;如果是,则使能所述主pw链路。由于本公开可以通过比较从主pw链路收到的第一报文的地址信息和本地已获取的ce设备的地址信息是否一致来确定主pw链路切换的时机,从而在链路切换后,避免主pw链路上出现广播报文的情况。

以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1