一种数据切换方法和装置与流程

文档序号:15845390发布日期:2018-11-07 08:57阅读:276来源:国知局
一种数据切换方法和装置与流程

本申请涉及通信技术领域,尤其涉及一种数据切换方法和装置。

背景技术

基于bras(broadbandremoteaccessserver,宽带远程接入服务器)的应用场景,可以实施转控分离方案。转控分离方案在后续的运营商环境中,会逐步的作为主流的bras组网方案。

转控分离方案的主要原理是打破传统bras控制面和转发面一体化的结构,选择合适的网元来承载bras-cp(brascontrolplane,bras控制面,以下简称cp)和bras-dp(brasdataplane,bras转发面,以下简称dp)。cp和dp部署于网络中不同物理位置,二者协同配合,能够实现原来单一bras的全部功能,并提供更容易横向扩展的物理结构和更容易支持新业务开发的软件架构。

cp网元专注于传统bras的控制功能,负责处理pppoe(pointtopointprotocoloverethernet,在以太网上承载点到点连接协议)/ipoe(internetprotocoloverethernet,在以太网上承载互联网协议)控制报文,以控制报文触发建立并维护用户会话表,并与远端aaa(authenticationauthorizationaccounting,认证、授权和计费)系统交互认证。用户认证通过后,cp网元整合用户二三层信息和业务信息形成流表,通过openflow接口下发到dp网元,指导dp网元转发用户数据报文。

dp网元聚集于传统bras的转发功能,不对pppoe/ipoe控制报文进行任何解析,直接通过vxlan隧道将其透传至cp网元,待cp网元认证完成并下发流表后,dp网元将流表转换为可指导转发的硬件表项,后续用户数据报文直接由dp网元处理。

转控分离后,仅cp网元需对外部业务系统(如radius服务器、dhcp服务器、策略服务器、portal服务器等)呈现,而剥离了控制功能、数量众多的dp网元无需让业务系统感知。



技术实现要素:

有鉴于此,本申请提供一种数据切换方法和装置,用以实现对dp网元的备份切换。

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

本申请第一方面,提供了一种数据切换方法,所述方法应用于转控分离系统中的nfvo,所述方法包括:

当发现第一dp网元的ac口故障,且第一dp网元与cp网元之间的第一vxlan隧道未故障时,将故障ac口下的子接口确定为待切换子接口;

当发现第一dp网元的ac口未故障,且第一dp网元与cp网元之间的第一vxlan隧道故障时,将所述第一dp网元包括的所有ac口下的子接口确定为待切换子接口;

当发现第一dp网元的ac口故障,且第一dp网元与cp网元之间的第一vxlan隧道故障时,将所述第一dp网元包括的所有ac口下的子接口确定为待切换子接口;

针对每一待切换子接口,确定为该待切换子接口配置的备用子接口;在检测发现该备用子接口所属的ac口正常,且该备用子接口所属的第二dp网元与所述cp网元之间的第二vxlan隧道正常时,将该待切换子接口上的数据切换到该备用子接口。

本申请第二方面,提供了一种数据切换装置,所述装置应用于转控分离系统中的nfvo。所述装置具有实现上述方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块或单元。

一种实现方式中,所述装置可以包括:

子接口确定单元,用于当发现第一dp网元的ac口故障,且第一dp网元与cp网元之间的第一vxlan隧道未故障时,将故障ac口下的子接口确定为待切换子接口;当发现第一dp网元的ac口未故障,且第一dp网元与cp网元之间的第一vxlan隧道故障时,将所述第一dp网元包括的所有ac口下的子接口确定为待切换子接口;当发现第一dp网元的ac口故障,且第一dp网元与cp网元之间的第一vxlan隧道故障时,将所述第一dp网元包括的所有ac口下的子接口确定为待切换子接口;

数据切换单元,用于针对每一待切换子接口,确定为该待切换子接口配置的备用子接口;在检测发现该备用子接口所属的ac口正常,且该备用子接口所属的第二dp网元与所述cp网元之间的第二vxlan隧道正常时,将该待切换子接口上的数据切换到该备用子接口。

另一种实现方式中,所述装置可以包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述处理器通过读取所述存储器中存储的逻辑指令,执行本申请第一方面提供的数据切换方法。

利用本申请的技术方案,通过nfvo监控dp网元和cp网元的状态,发现异常后下发配置对dp网元进行备份切换。由于nfvo具有使用软件来安装、控制、操作通用硬件的网络功能的能力,拥有良好的伸缩性和自动化能力,且nfvo位于dp网元和cp网元的上层,拥有对dp网元和cp网元的管理权限,因此可以容易地实现对dp网元的备份切换。

附图说明

图1是本申请实施例提供的一种转控分离bras架构中dp网元备份的示意图;

图2是本申请实施例提供的方法流程图;

图3是本申请提供的装置功能模块框图;

图4是本申请提供的图3所示装置的硬件架构图。

具体实施方式

bras产品所承担的功能和网络中所处的位置,决定了bras产品需要具有较高的可靠性。在转控分离bras架构下,可以对dp网元实现备份,以保障在dp网元出现故障时,能快速的实现切换和业务恢复,实现用户无感知的服务保障。

图1为一种转控分离bras架构中dp网元备份的示意图。如图1示,dp网元例如dp1、dp2通过vxlan(virtualextensiblelan,可扩展虚拟局域网络)隧道与cp网元连接,同时dp1、dp2通过ac口连接接入交换机,接入交换机是多个终端(如olt(opticallineterminal,光线路终端))的汇聚点;cp网元和dp网元还通过核心交换机连接核心路由器(corerouter,cr),cr则可以连接aaa(authentication,authorizationandaccounting,认证、授权和计费)系统、nfvo(networkfunctionvirtualizationorchestrator,网络功能虚拟化编排器)等。

cp网元和dp网元是平级的设备,对于cp网元而言,它不需要关心dp网元上连接终端的ac口是否正常;而对于任一个dp网元而言,它也不会关心其它dp网元与cp网元之间的连接是否正常。因此,在不改动cp网元和dp网元现有功能和现有逻辑关系的基础上,即使在转控分离bras架构中为dp网元配置了备份设备,也很难实现dp网元的主备切换。

为解决上述问题,本申请提出可以通过nfvo监控dp网元和cp网元的状态,发现异常后下发配置对dp网元进行备份切换。由于nfvo具有使用软件来安装、控制、操作通用硬件的网络功能的能力,拥有良好的伸缩性和自动化能力,且nfvo位于dp网元和cp网元的上层,拥有对dp网元和cp网元的管理权限,因此可以容易地实现对dp网元的备份切换。

本申请实施例中,nfvo可以具有以下功能:

1)创建备份组。

在nfvo中可以预先配置各dp网元的主备关系,比如图1中,可以将dp2配置为dp1的备用设备。在一种实现方式中,各dp网元可以互为主备关系,比如图1中,在将dp2配置为dp1的备用设备的同时,还可以将dp1配置为dp2的备用设备。在再一种实现方式中,还可以为一个dp网元配置多个备用设备,比如假设图1中还存在dp3,则可以将dp2和dp3都配置为dp1的备用设备。

在配置好各dp网元的主备关系后,便可以创建备份组,具体方式是:针对主dp网元的ac(attachmentcircuit,接入电路)口下的待备份的子接口,为其在备dp网元上选择至少一个子接口作为备用子接口。dp网元的ac口为物理口,一个ac口对应一个或多个逻辑口,该逻辑口又可称为子接口,不同的子接口可以配置不同的vsi(virtualswitchinstance,虚拟交换实例)。

本申请实施例中,每个备份组包括一个主用子接口和至少一个备用子接口。在一个例子中,当为一个主用子接口配置了多个备用子接口时,这多个备用子接口可以位于同一备dp网元的同一ac口下,也可以位于同一备dp网元的不同ac口下,还可以位于不同备dp网元的ac口下。

在nfvo中还可以配置备份组的类型,例如配置备份组类型为温备,这样备dp网元在主dp网元正常的情况下也可以处于工作状态,并且当备dp网元收到主dp网元的备份信息后,不会立即下发备份信息到转发平面,当主dp网元发生故障后,主备状态发生切换,备dp网元才开始下发备份信息到转发平面并指导报文转发。

2)监控dp网元的ac口状态。

nfvo可以通过netconf命令周期性地获取dp网元的各个ac口的状态;如果dp网元返回的某个ac口状态为up,则确认该ac口正常;如果dp网元返回的某个ac口状态为down(包括unknown,testing,lowerlayerdown等状态),则确认该ac口故障。如果nfvo未接收到dp网元返回的ac口状态,则可能是nfvo与dp网元之间的连接断开,无法确认dp网元的ac口是正常还是故障,此情况下一般不作切换。

需要注意的是,当一个ac口故障时,意味着该ac口下的所有子接口都故障;但一个ac口故障时,同一设备上的其它ac口不一定故障。因此ac口故障时,只需对故障ac口下的子接口进行切换。

在一个例子中,nfvo可以同时对主dp网元和备dp网元的ac口状态进行周期性探测。在另一个例子中,nfvo可以只对主dp网元的ac口状态进行周期性探测,在发现主dp网元的ac口故障时,再去实时探测该主dp网元对应的备dp网元的ac口状态。

3)监控dp网元与cp网元之间的vxlan隧道的状态。

当dp网元与cp网元之间的vxlan隧道故障时,意味着该vxlan隧道在dp网元和cp网元上的隧道接口均故障。nfvo可以仅向dp网元发送netconf命令,以根据dp网元上的vxlan隧道的接口状态确定dp网元和cp网元之间的vxlan隧道是否故障。或者,nfvo可以仅向cp网元发送netconf命令,以根据cp网元上的vxlan隧道的接口状态确定dp网元和cp网元之间的vxlan隧道是否故障;在这种方式下,nfvo可以通过一个netconf命令获取cp网元上的所有vxlan隧道或指定vxlan隧道的接口状态。当然,nfvo也可以同时向dp网元和cp网元发送netconf命令获取vxlan隧道的接口状态。

如果dp网元和/或cp网元返回的隧道接口状态为up,则nfvo可以确认该隧道接口对应的vxlan隧道正常;如果dp网元和/或cp网元返回的隧道接口状态为down(包括unknown,testing,lowerlayerdown等状态),则nfvo可以确认该隧道接口对应的vxlan隧道发生故障。如果nfvo未接收到dp网元和cp网元返回的隧道接口状态,则可能是nfvo与dp网元、cp网元之间的连接断开,无法确认dp网元与cp网元之间的vxlan隧道是正常还是故障,此情况下一般不作切换。

需要注意的是,由于一个dp网元到一个cp网元之间一般只建立一条vxlan隧道,当该vxlan隧道故障时,意味着dp网元和cp网元之间的连接中断,此时无论dp网元上的ac口是故障或是正常,均需要对该dp网元包括的所有ac口下的子接口进行切换。

在一个例子中,nfvo可以同时对主dp网元和cp网元之间的vxlan隧道、以及备dp网元和cp网元之间的vxlan隧道的接口状态进行周期性探测。在另一个例子中,nfvo可以只对主dp网元和cp网元之间的vxlan隧道的接口状态进行周期性探测,在发现主dp网元和cp网元之间的vxlan隧道接口故障时,再去实时探测该主dp网元对应的备dp网元和cp网元之间的vxlan隧道的接口状态。

4)在发现主dp网元的ac口故障,和/或主dp网元与cp网元之间的vxlan隧道故障时,将该故障涉及的子接口上的数据切换到备用子接口上。其中,在主dp网元的ac口故障,主dp网元与cp网元之间的vxlan隧道未故障的情况下,该故障涉及的子接口包括故障ac口下的所有子接口;在主dp网元的ac口未故障,主dp网元与cp网元之间的vxlan隧道故障的情况下,该故障涉及的子接口包括主dp网元的所有ac口下的子接口;在主dp网元的ac口故障,主dp网元和cp网元之间的vxlan隧道也故障的情况下,该故障涉及的子接口包括主dp网元内的所有ac口下的子接口。

至于如何将故障涉及的子接口上的数据换到备用子接口在下文描述,这里暂不描述。

5)回切。

当nfvo监控到主dp网元的ac口和主dp网元与cp网元之间的vxlan隧道状态恢复正常后,可以通过与第4步类似的方式,将原属于主dp网元的数据从备用子接口切回。

以下通过具体实施例介绍本申请提供的数据切换方法。

参见图2,图2为本申请提供的在多个dp网元间实现数据切换的示范性实施例流程图。该方法应用于转控分离系统中的nfvo,该方法包括以下步骤:

步骤201:当发现第一dp网元的ac口故障,且第一dp网元与cp网元之间的第一vxlan隧道未故障时,将故障ac口下的子接口确定为待切换子接口。

步骤202:当发现第一dp网元的ac口未故障,且第一dp网元与cp网元之间的第一vxlan隧道故障时,将第一dp网元包括的所有ac口下的子接口确定为待切换子接口。

步骤203:当发现第一dp网元的ac口故障,且第一dp网元与cp网元的之间第一vxlan隧道故障时,将第一dp网元包括的所有ac口下的子接口确定为待切换子接口。

步骤204:针对每一待切换子接口,确定为该待切换子接口配置的备用子接口;在检测发现该备用子接口所属的ac口正常,且该备用子接口所属的第二dp网元与cp网元之间的第二vxlan隧道正常时,将该待切换子接口上的数据切换到该备用子接口。

这里,针对每一待切换子接口确定为该待切换子接口配置的备用子接口可包括:根据nfvo中预先配置的备份组信息,判断该待切换子接口是否配置有对应的备份组;如果没有,则表示该待切换子接口不存在备用子接口,此时可以不对该子接口上的数据做切换,或者可以提示管理员实时为该子接口选择一个备用子接口。如果判断结果为待切换子接口存在对应的备份组,则可以从该对应的备份组中选择一个备用子接口;在一个例子中,如果该对应的备份组中存在至少两个备用子接口,此时可以随机或者依据负载均衡原则从这至少两个备用子接口中选择一个备用子接口。

在选定备用子接口之后,该备用子接口需要满足以下两个条件:a)该备用子接口所属ac口的状态正常;b)该备用子接口所属的第二dp网元与cp网元之间的第二vxlan隧道的状态正常。这里nfvo同样可以通过netconf命令实现对ac口状态和vxlan隧道状态的探测。只有两个条件都满足,nfvo才会将待切换子接口上的数据(比如业务流)切换到备用子接口上;只满足一个条件或者两个条件均不满足,nfvo可以从备份组中选择下一个备用子接口,继续探测该下一个备用子接口对应的ac口状态和vxlan隧道状态,直至找到同时满足以上两个条件的备用子接口继而执行数据切换,或者发现备用组中的所有备用子接口都不满足上述条件继而放弃数据切换。

需要说明的是,不同备份组之间的切换互不影响。举例来说,假设有备份组1和备份组2,其中备份组1包括主用子接口a和备用子接口b,备份组2包括主用子接口c和备用子接口d;如果备用子接口b满足上述两个条件,但备用子接口d不满足上述两个条件,则可以暂时只对主用子接口a上的数据做切换。

如果nfvo在备份组中找不到满足以上两个条件的备用子接口,则可以暂时不进行主备子接口之间的数据切换,而是执行以下步骤:对待切换子接口所属ac口的状态、第一vxlan隧道(即待切换子接口所属第一dp网元到cp网元的vxlan隧道)的状态、备用子接口所属ac口的状态以及第二vxlan隧道(即备用子接口所属第二dp网元到同一cp网元的vxlan隧道)的状态进行监控。如果发现某个备用子接口所属的ac口以及第二vxlan隧道先恢复正常,则可以将待切换子接口上的数据切换到该备用子接口;如果发现待切换子接口所属的ac口以及第一vxlan隧道先恢复正常,则继续在该待切换子接口上处理原本接入该待切换子接口的数据。

步骤204中,将待切换子接口上的数据切换到该备用子接口可通过以下方式实现:

1)nfvo指示第一dp网元关闭该待切换子接口上的vsi,以及指示第二dp网元在该备用子接口开启相同的vsi(即开启待切换子接口关闭的vsi)。

子接口上的vsi示例可以参见如下所示:

interfacegigabitethernet1/2/0

//进入千兆以太网端口gigabitethernet1/2/0

interfacegigabitethernet1/2/0.100

//gigabitethernet1/2/01/2/0上创建子接口100

vlan-typedot1qvid100

//该子接口100用来匹配外层vlantag100的入报文,以及用来为出报文

封装外层vlantag100

xconnectvsivpnbaccess-modeethernet

//该子接口100与vsi实例vpnb关联

上述vsi示例的含义是:从gigabitethernet1/2/0的子接口100进入的报文,如果携带外层vlantag100,则会进入vsi实例vpnb转发;属于vsi实例vpnb的报文从gigabitethernet1/2/0的子接口100发出时,需要为该报文封装外层vlantag100。

2)指示cp网元将与上述vsi关联的vxlan隧道从第一vxlan隧道切换为第二vxlan隧道。

3)指示cp网元将待切换子接口的会话流表发送至第二dp网元。

通过以上三步,即可将原接入待切换子接口的数据牵引到备用子接口上。

在一个例子中,为了实现在待切换子接口恢复正常后可以将切换至备用子接口上的数据重新回切至该待切换子接口,可以执行以下步骤:在将待切换子接口上的数据切换到该备用子接口之后,可以将该待切换子接口的实时运行角色信息从主用接口修改为备用接口;这样,在检测发现该待切换子接口所属的ac口以及第一vxlan隧道均恢复正常时,通过判断该待切换子接口的实时运行角色是否与该待切换子接口的预设角色(待切换子接口的预设角色固定为主用接口)相同,发现不相同,从而可以将原本接入该待切换子接口的数据从该备用子接口回切至该待切换子接口;完成回切后,可以将该待切换子接口的实时运行角色信息再从备用接口修改为主用接口。

至于如何将原本接入待切换子接口的数据从备用子接口回切,可以参考上述将待切换子接口上的数据切换到该备用子接口的实现步骤,这里不作详述。

至此,完成图2所示流程。

通过图2所示流程能够实现nfvo对dp网元之间的主备切换,并且可以完成dp网元之间数据的回切。

以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述。

参见图3,为本申请提供的一种数据切换装置,该装置应用于转控分离系统中的nfvo。如图3所示,该装置可以包括以下单元:

子接口确定单元301,用于当发现第一dp网元的ac口故障,且第一dp网元与cp网元之间的第一vxlan隧道未故障时,将故障ac口下的子接口确定为待切换子接口;当发现第一dp网元的ac口未故障,且第一dp网元与cp网元之间的第一vxlan隧道故障时,将所述第一dp网元包括的所有ac口下的子接口确定为待切换子接口;当发现第一dp网元的ac口故障,且第一dp网元与cp网元之间的第一vxlan隧道故障时,将所述第一dp网元包括的所有ac口下的子接口确定为待切换子接口;

数据切换单元302,用于针对每一待切换子接口,确定为该待切换子接口配置的备用子接口;在检测发现该备用子接口所属的ac口正常,且该备用子接口所属的第二dp网元与所述cp网元之间的第二vxlan隧道正常时,将该待切换子接口上的数据切换到该备用子接口。

在其中一种实施方式中,所述数据切换单元302,用于指示所述第一dp网元关闭该待切换子接口上的vsi,以及指示所述第二dp网元在该备用子接口开启所述vsi;指示所述cp网元将与所述vsi关联的vxlan隧道从所述第一vxlan隧道切换为所述第二vxlan隧道;指示所述cp网元将该待切换子接口的会话流表发送至所述第二dp网元。

在其中一种实施方式中,所述数据切换单元302,还用于在检测发现该备用子接口所属的ac口故障,或者该备用子接口所属的第二dp网元与cp网元之间的第二vxlan隧道故障时,对该待切换子接口所属ac口的状态、所述第一vxlan隧道的状态、该备用子接口所属ac口的状态以及所述第二vxlan隧道的状态进行监控;如果发现该备用子接口所属的ac口以及所述第二vxlan隧道先恢复正常,则将该待切换子接口上的数据切换到该备用子接口;如果发现该待切换子接口所属的ac口以及所述第一vxlan隧道先恢复正常,则继续在该待切换子接口上处理原本接入该待切换子接口的数据。

在其中一种实施方式中,所述数据切换单元302,还用于在将该待切换子接口上的数据切换到该备用子接口之后,将该待切换子接口的实时运行角色信息从主用接口修改为备用接口;在检测发现该待切换子接口所属的ac口以及所述第一vxlan隧道均恢复正常时,判断该待切换子接口的实时运行角色是否与该待切换子接口的预设角色相同,该待切换子接口的预设角色为主用接口;若不相同,则将原本接入该待切换子接口的数据从该备用子接口回切至该待切换子接口;完成回切后,将该待切换子接口的实时运行角色信息从备用接口修改为主用接口。

在其中一种实施方式中,所述装置还可以包括:

状态确定单元,用于通过netconf命令获取第一dp网元的ac口状态;接收第一dp网元返回的ac口状态,确认状态为up的ac口未发生故障,确认状态为down的ac口发生故障;以及,通过netconf命令获取第一dp网元上的第一vxlan隧道的接口状态,和/或通过netconf命令获取cp网元上的第一vxlan隧道的接口状态;接收第一dp网元和/或cp网元返回的第一vxlan隧道的接口状态,如果第一vxlan隧道的接口状态为down,则确认第一vxlan隧道发生故障。

需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

至此,完成图3所示装置的功能模块描述。

对应地,本申请还提供了图3所示装置的硬件结构。参见图4,图4为本申请提供的图3所示数据切换装置的硬件结构示意图,该装置包括:通信接口401、处理器402、存储器403和总线404;其中,通信接口401、处理器402、存储器403通过总线404完成相互间的通信。

上述总线404可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口401用于nfvo与网元之间的通信。

存储器403可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。存储器403中可以存储有数据切换逻辑指令。

处理器402可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器402可以执行存储器403中存储的数据切换逻辑指令,以实现上述图2所示的方法。

至此,完成图4所示装置的硬件结构描述。

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

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