一种SDN架构中实现快速保护倒换的方法及装置与流程

文档序号:12917370阅读:247来源:国知局
本发明涉及快速保护倒换
技术领域
:,更具体地,涉及一种sdn(softwaredefinednetwork,软件定义网络)架构中实现快速保护倒换的方法及装置。
背景技术
::面对数据流量的激增,基于传统的网络架构只会无限制的增加网络复杂度,无法满足业务发展的需要,而sdn通过把控制面与数据转发面解耦,构建开放的、可编程的网络体系,进而提供一个高效、灵活、便捷、可编程的网络环境,故被认为是下一代网络架构变革的最主要方向之一。如今,sdn已经成为全球网络领域最热门研究方向,不仅仅主流运营商们正在积极推动北向、南向接口标准的制定,主流芯片厂商博通也提出了基于ttp(tabletypepatterns,表类型模式)模型的of-dpa(openflowdataplanabstraction,开放流数据抽象的计划),以让传统芯片支持流表配置,中兴、华为、思科、爱立信、ibm(internationalbusinessmachinescorporation,国际商业机器公司)、hp(hewlett-packard,惠普)等it(internettechnology,互联网技术)厂商也正在加班加点研制自己的控制器和转发设备,以掌握标准制定的主动权,赢得市场先机。转发设备上的功能可以按与业务的关系分为三类:基本业务、业务相关、业务无关的功能。目前的openflow协议对于二层业务,二层vpn(virtualprivatenetwork,虚拟专用网络)业务的支持已经比 较成熟;与业务无关的功能,如qos(qualityofservice,服务质量)、告警、时钟等,完全可以按各厂家原有的传统方式实现;但是与业务相关的oam(operationadministrationandmaintenance,操作管理维护)、保护功能就比较复杂了,因业务配置已经被流表组表替代,相比传统方式发生了本质变化,导致基本业务已经“不存在”了,若想完全按原来方式实现就必须要控制器额外提取抽象成传统业务并下发给转发设备,以便配置与业务相关的功能。sdn的核心思想是把设备控制面与转发面分离出来,其南向接口、北向接口必须使用运营商或者onf(opennetworkfoundation,开放式网络基金会)标准接口,否则各厂家提供的转发设备就无法实现互连互通及由任一控制器集中管理,也就失去了sdn的初衷,所以不可能由控制器下发任何私有配置信息以辅助配置与业务相关的功能。对于传统业务的配置,如ptn(packettransportnetwork,分组传送网)设备,需要配置段层、隧道、伪线、业务,它们的id(identity,身份标识号码)也是唯一的。目前的ttp模型中其业务实现是以流表表项及组表经过转换后下发到asic(applicationspecificintegratedcircuit,集成电路)(交换芯片)中,比如博通的of-dpa。如果想要把oam、保护功能完全通过交换芯片实现,可以使用芯片厂家的解决方案即可,这里不会出现问题,博通of-dpa中对于oam和保护的处理也正是完全由asic芯片实现,但是这并非最好的解决方案。将来标准的南向接口对于oam和保护的处理也必定会有转发设备实现,而不是控制器。但是转发设备中如果实现oam、保护功能就是设备内部自己的事了。对于慢速(报文发送周期较大,如大于100ms)oam报文的收发或者由于丢包率过高等引起的保护倒换由asic芯片处理非常恰当,传统设备也通常这么实现,但是对于cc(continuitycheck,连续性检测)/cv(connectivityverification,连通性检测)报文,其发送间隔一般为3.3ms,由asic芯片处理并非最优选择,事实上,设备提供商的ptn设备对于快速oam的报 文及相应的保护倒换确实并不全是通过asic芯片实现,常见的处理方式为侧挂fpga(field-programmablegatearray,现场可编程门阵列)与asic芯片共同实现,侧挂fpga负责快速oam报文收发,asic芯片仅负责转发报文,当业务中断,是由fpga直接修改asic转发路径表项实现快速保护倒换,这种利用fpga的处理方式实现的快速保护倒换在同类设备中存在明显优势,快速保护倒换能力对于电信级业务至关重要,一般都以50ms作为红线。但是使用传统的fpga实现oam保护收发及表项生成都需要配置传统业务,从而生成流点及业务树。而sdn架构下使用openflow配置业务转发规则,是通过配置流表表项、组表实现,故标准的南向接口绝对不可能为了部分厂商设备去考虑额外从流表中抽象出传统业务并进行私有下发,以帮助转发设备实现oam、保护功能,这也有违sdn的设计初衷。那么如何保留侧挂fpga实现快速保护倒换的优势,进而延续产品竞争力,这正是亟待解决的问题。技术实现要素:根据本发明实施例提供的方案解决的技术问题是在检测到快速oam报文收发业务路径发生中断时,无法保留侧挂fpga实现快速保护倒换。根据本发明实施例提供的一种sdn架构中实现快速保护倒换的方法,包括:sdn交换机中的驱动模块接收来自控制器的业务流表和业务组表,从所述业务流表和业务组表中提取信息并组成完整的入出业务树后下发到侧挂fpga;所述侧挂fpga根据所述入出业务树,创建完整的入流点、出流点和出业务树;在检测到业务路径发生中断时,所述侧挂fpga利用所述入流点、出流点和出业务树以及其保存的保护路径和保护参数直接修改 sdn交换机中交换芯片的业务转发表项来切换业务转发路径,实现业务转发路径的快速保护倒换。优选地,还包括:sdn交换机中的驱动模块接收来自控制器的基础oam和快速oam,并将其配置到所述侧挂fpga中。优选地,还包括:sdn交换机中的驱动模块接收来自控制器的保护路径和保护参数,并将其配置到所述侧挂fpga中。优选地,所述检测到业务路径发生中断包括:当所述侧挂fpga检测到在大于3.5个连续性检测的配置周期内未接收到所述快速oam报文时,则所述快速oam报文的收发业务路径发生中断。优选地,还包括:在实现业务转发路径的快速保护倒换后,所述侧挂fpga经由sdn交换机中openflow代理模块上报业务路径切换信息给所述控制器。根据本发明实施例提供的一种sdn架构中实现快速保护倒换的装置,包括:创建业务树模块,用于sdn交换机中的驱动模块接收来自控制器的业务流表和业务组表,从所述业务流表和业务组表中提取信息并组成完整的入出业务树后下发到侧挂fpga,以及所述侧挂fpga根据所述入出业务树,创建完整的入流点、出流点和出业务树;业务路径切换模块,用于在检测到业务路径发生中断时,所述侧挂fpga利用所述入流点、出流点和出业务树以及其保存的保护路径和保护参数直接修改sdn交换机中交换芯片的业务转发表项来切换业务转发路径,实现业务转发路径的快速保护倒换。优选地,还包括:配置oam单元,用于sdn交换机中的驱动模块接收来自控制器的基础oam和快速oam,并将其配置到所述侧挂fpga中。优选地,还包括:配置保护路径和保护参数单元,用于sdn交换机中的驱动模块接收来自控制器的保护路径和保护参数,并将其配置到所述侧挂fpga中。优选地,所述业务路径切换模块包括:检测单元,用于当所述侧挂fpga检测到在大于3.5个连续性检测的配置周期内未接收到所述快速oam报文时,则所述快速oam报文的收发业务路径发生中断;业务路径切换单元,用于所述侧挂fpga利用所述入流点、出流点和出业务树以及其保存的保护路径和保护参数修改sdn交换机中交换芯片的业务转发表项来切换业务转发路径。优选地,还包括:业务路径切换上报单元,用于在实现业务转发路径的快速保护倒换后,所述侧挂fpga经由sdn交换机中openflow代理模块上报业务路径切换信息给所述控制器。根据本发明实施例提供的方案,实现了业务转发路径的快速切换,保留了侧挂fpga实现快速保护倒换的优势,进而延续了产品的竞争力。附图说明图1是本发明实施例提供的一种sdn架构中实现快速保护倒换的方法流程图;图2是本发明实施例提供的一种sdn架构中实现快速保护倒换的装置示意图;图3是本发明实施例提供的转发设备中各功能模块示意图;图4是本发明实施例提供的转发设备自配置acl(accesscontrollist,访问控制列表)的示意图;图5是本发明实施例提供的流表、组表配置示意图;图6是本发明实施例提供的oam配置示意图;图7是本发明实施例提供的保护路径及保护参数配置示意图;图8是本发明实施例提供的cc/cv报文转发处理示意图;图9是本发明实施例提供的cc/cv报文丢弃处理示意图;图10是本发明实施例提供的保护路径与工作路径倒换处理示意图。具体实施方式以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图1是本发明实施例提供的一种sdn架构中实现快速保护倒换的方法流程图,如图1所示,包括:步骤s101:sdn交换机中的驱动模块接收来自控制器的业务流表和业务组表,从所述业务流表和业务组表中提取信息并组成完整的入出业务树后下发到侧挂fpga;步骤s102:所述侧挂fpga根据所述入出业务树,创建完整的入流点、出流点和出业务树;步骤s103:在检测到业务路径发生中断时,所述侧挂fpga利用所述入流点、出流点和出业务树以及其保存的保护路径和保护参数直接修改sdn交换机中交换芯片的业务转发表项来切换业务转发路径,实现业务转发路径的快速保护倒换。本发明实施例还包括:sdn交换机中的驱动模块接收来自控制 器的基础oam和快速oam,并将其配置到所述侧挂fpga中,以及sdn交换机中的驱动模块接收来自控制器的保护路径和保护参数,并将其配置到所述侧挂fpga中。其中,所述检测到业务路径发生中断包括:当所述侧挂fpga检测到在大于3.5个连续性检测的配置周期内未接收到所述快速oam报文时,则所述快速oam报文的收发业务路径发生中断。本发明实施例还包括:在实现业务转发路径的快速保护倒换后,所述侧挂fpga经由sdn交换机中openflow代理模块上报业务路径切换信息给所述控制器。图2是本发明实施例提供的一种sdn架构中实现快速保护倒换的装置示意图,如图2所示,包括:创建业务树模块201和业务路径切换模块202。具体地说,所述创建业务树模块201,用于sdn交换机中的驱动模块接收来自控制器的业务流表和业务组表,从所述业务流表和业务组表中提取信息并组成完整的入出业务树后下发到侧挂fpga,以及所述侧挂fpga根据所述入出业务树,创建完整的入流点、出流点和出业务树;所述业务路径切换模块202,用于在检测到业务路径发生中断时,所述侧挂fpga利用所述入流点、出流点和出业务树以及其保存的保护路径和保护参数直接修改sdn交换机中交换芯片的业务转发表项来切换业务转发路径,实现业务转发路径的快速保护倒换。本发明实施例还包括:配置oam单元,用于sdn交换机中的驱动模块接收来自控制器的基础oam和快速oam,并将其配置到所述侧挂fpga中,以及配置保护路径和保护参数单元,用于sdn交换机中的驱动模块接收来自控制器的保护路径和保护参数,并将其配置到所述侧挂fpga中。其中,所述业务路径切换模块202包括:检测单元,用于当所述侧挂fpga检测到在大于3.5个连续性检测的配置周期内未接收到所述快速oam报文时,则所述快速oam报文的收发业务路径发生中断;业务路径切换单元,用于所述侧挂fpga利用所述入流点、出流 点和出业务树以及其保存的保护路径和保护参数修改sdn交换机中交换芯片的业务转发表项来切换业务转发路径。本发明实施例还包括:业务路径切换上报单元,用于在实现业务转发路径的快速保护倒换后,所述侧挂fpga经由sdn交换机中openflow代理模块上报业务路径切换信息给所述控制器。综上所述,本发明实施例sdn交换机中的驱动模块接收来自控制器的业务流表和业务组表后,从所述业务流表和业务组表中提取信息并组成完整的入出业务树后下发到侧挂fpga;所述侧挂fpga根据所述入出业务树参数,创建完整的入流点、出流点及出业务树,从而使用其业务模型与交换芯片完全一致;控制器下发的基础oam及快速oam配置,也会转发到侧挂fpga,从而让侧挂fpga能够收发和处理快速oam报文,以实现对业务路径的监控;控制器下的发保护路径和保护参数也转发到侧挂fpga,以实现fpga与交换芯片中的保护路径一致;侧挂fpga通过快速oam报文检测到业务路径发生中断时,由于侧挂fpga与交换芯片中完全一致的业务配置和保护路径,所以其可以直接修改交换芯片的业务转发表项来正确切换业务转发路径,从而实现业务转发路径的快速保护倒换。图3是本发明实施例提供的转发设备中各功能模块示意图,如图3所示,包括:of-agent、api(applicationprograminterface,应用程序接口)-switch、sdk(softwaredevelopmentkit,软件开发工具包)、linux、asic、driver以及fpga。具体地说,所述of(openflow)-agent:负责与控制器建立链接、与控制器进行交互配置、上报消息,可以通过openflow协议、net-conf(networkconfiguration,网络配置)协议、snmp(simplenetworkmanagementprotocol,简单网络管理协议)协议等,本发明实施例以openflow和net-conf协议为例进行说明。所述api-switch:符合ttp模型的api转换,比如博通的of-dpa(dataplaneabstraction,数据面抽象)。所述sdk:软件开发工具包,与asic芯片配套。所述linux:操作系统,可以是linux,也可以是vxwork等。所述asic:专用集成电路、数据交换 芯片。所述driver:包括原fpga的硬件驱动,此外还负责缓存流表组表、分析提取流点及业务树。所述fpga:通用的fpga,现场可编程门阵列。图4是本发明实施例提供的转发设备自配置acl的示意图,如图4所示,of-agent负责把acl规则保存在数据库中,在设备启动后便优先按传统方式(不经过api-switch)把cc/cv报文的转发规则配置下去。以便asic芯片能正确处理cc/cv报文,除转发到下一设备或者丢弃外,需要转发设备本身处理的则转发到fpga模块处理。图5是本发明实施例提供的流表、组表配置示意图,如图5所示,控制器通过openflow协议下发业务流表和业务组表到of-agent模块,然后由其分发给api-switch模块和driver模块。对于driver模块,只需要下发与构建业务树有关的业务流表和业务组表即可,如使用博通的of-dpa,则只需要下发向fpga配置业务树需要的业务流表和业务组表。api-switch调用sdk把流表转换成传统芯片架构处理的逻辑和表项;driver模块保存流表组表并提取组成完整的入出业务树后下发到侧挂fpga中,从而在fpga中创建出完整的入流点、出流点和出业务树。具体地说,基于标准南向接口实现在侧挂fpga中配置流点及业务树,包括:1、缓存业务流表、组表流表表项及组表描述的业务转发路径与传统直观描述的业务配置差别很大,所以不能通过传统的方式下发到fpga,需要先缓存再提取相应的表项、组表构建出传统的流点及业务树,最后调用fpga接口下发。2、创建流点出流点的创建,以博通的of-dpa中的组表为例。vs流点的主要参数:源mac(mediaaccesscontrol,媒体访问控制)地址取组表mpls(multi-protocollabelswitch,多协议标签交换)interfacegroup中的源mac地址;目的mac地址取组表mplsinterfacegroup中的目的mac地址;端口取组表mplsinterfacegroup指向的l2interfacegroup的输出端口;vlan(virtuallocalareanetwork,虚拟局域网)id取组表mplsinterfacegroup中设置的vlan。vp流点的主要参数:标签取组表mplstunnellabel1group中设置的隧道标签。vc流点的主要参数:标签取组表mplsl2vpnlabelgroup中设置的伪线标签。入流点的创建,以博通的of-dpa中的流表为例。vs流点主要参数:端口取流表ingressportflowtable中表项的入端口;vlanid取vlanflowtable中表项的vlanid;vp流点主要参数:标签取自流表mplsflow1table中标签,其中bos为0;vc流点主要参数:标签取自流表mplsflow2table中标签,其中bos为1。3、创建业务树出业务树的创建,以博通的of-dpa中的组表为例:vc流点与vp流点的路径取mplsl2vpnlabelgroup指向的mplstunnellabel1group;vp流点与vc流点的路径取mplstunnellabel1group指向的mplsinterfacegroup;入业务树的处理,以博通的of-dpa中的流表为例:由于各个mplsflowtable之间并没有通过表项确定其流水线关系,而是仅仅依序弹出标签,并没有标签之间的关系,故仅依靠各个mplsflowtable无法确定入流点vc、vp、vs之前的路径,故不创建入业务树,同时修改fpga对入业务树不完整的告警,对于oam保护的实现则进行段层、隧道、伪线分别进行保护倒换,不向其客户层进行告警繁殖。图6是本发明实施例提供的oam配置示意图,如图6所示,转发设备需要支持的oam功能很多,配置也很多,本发明实施例把oam功能分成三类,如表1所示,分别为基础oam配置、按需或者慢速oam、快速oam。其中,快速oam与基础oam配置需要必须下发到侧挂fpga中。表1:oam功能分类表rdi是依赖在cc/cv帧中扩展的rdi标志位实现,所以传统转发设备中其周期也与cc/cv报文发送周期一致,故也划分到快速oam,由fpga实现。由于博通提供的policyaclflowtable流表表项并不能区分cc/cv报文,故通过原来的方式直接调用sdk去配置acl,从而通过acl控制cc/cv报文的转发处理。图7是本发明实施例提供的保护路径及保护参数配置示意图,如图7所示,保护路径需要下发到了asic芯片和fpga,以保证fpga的工作保护路径与asic中完全一致,从而可以让fpga直接修改asic芯片中的表项以直接切换业务路径,达到快速保护的目的。对于保护配置的流表组表,如博通的of-dpa中的mpls1+1head endprotectiongroup,driver模块收到入即可按传统方式设置保护方式为1+1。本发明实施例中转发设备的处理,包括:对于需要转发的快速cc/cv报文,由交换芯片转发给下一个转发设备;对于需要直接丢弃的cc/cv报文,由交换芯片直接丢弃;对于需要处理的快速cc/cv报文,由交换芯片转发给fpga处理。所述fpga处理快速cc/cv报文,如果在3.5个已配置周期内收不到相应的报文,则直接修改交换芯片业务路径转发表项,从而把业务切换到保护路径。综上所述,本发明实施例经过转发设备的处理及oam、fpga的配置共同构建了快速保护倒换功能的实现方法。通过fpga对于快速oam报文收发处理及通过修改交换芯片表项切换业务转发路径,从而实现业务转发路径的快速切换。所述fpga修改交换芯片中的业务转发表项,切换业务路径后,需要通过net-conf协议上报路径切换信息给控制器,以便of-agent与控制器时刻掌控转发设备上的业务转发路径。也就是说,路径切换是通过fpga主动修改asic芯片表项实现的,所以不会导致asic芯片主动上报切换信息到控制器,而控制器负责管理所有转发设备,需要对真实的传输路径实时掌控,所以需要fpga切换路径后立即发送消息到of-agent,从而按标准接口上报给控制器。图8是本发明实施例提供的cc/cv报文转发处理示意图,如图8所示,由于只关心cc/cv报文,故图中报文只是cc/cv报文。图中转发设备1为mep,转发设备2为同等级的mip,转发设备3为远端mep,mep可以绑定到端口、隧道或伪线。转发设备1中cc/cv报文由fpga组包发送到交换芯片,再由交换芯片通过端口转发到下游设备,转发设备2收到该报文后,经acl规则及mip配置决定把报文从指定端口转发到转发设备3。转发设备3收到报文,由于自己是远端mep,根据acl规则把报文转 发到fpga处理。当cc/cv报文中的等级小于转发设备配置的mep等级时,asic芯片将直接丢弃该报文,如图9所示,即不向下游设备转发也不向fpga转发.其中,图8中以downmep为例说明,对于upmep同样适用,适用于efm(efm:ethernetinthefirstmile,第一英里以太网)、cfm(connectivityfaultmanagement,连接故障管理)、tp-mplsoam及bfd(bi-directionalforwardingdetection,双向转发检测)。图10是本发明实施例提供的保护路径与工作路径倒换处理示意图,当fpga在大于3.5个连接性检测的配置周期收不到cc/cv报文时,则视该路径中断(隧道、伪线或者物理链路),则直接修改asic芯片中的业务转发表项,以把业务从工作路径切换到保护路径,如图9,图中为1:1保护时工作路径业务中断,把业务传输切换到保持路径上。以上所述实施方式适用于efm、cfm、tp-mplsoam和bfd,保护方式也适用于1:1保护、1+1和环形保护。由于对acl规则及fpga配置处理方式原理一致,故未分别附图说明。同样,非流表配置的标准南向接口也未必是采用net-conf协议下发,使用其它协议也可以,如snmp,也属于此实施方式范畴。本实施方式并不限于博通的k2芯片,其它厂商的各种芯片也可以采用本发明的实施方式,原理完全一样。本发明实施例内容中并未详细介绍慢速oam功能,慢速oam也可以通过fpga实现,与快速oam一样,也是本发明实施例所涉及的内容。本发明实施例中的使用的net-conf协议配置只是为了方便说明非流表配置的下发,并不限于使用某个具体协议,也可以通过snmp等协议下发;各个模块的命名,只是为了更好的描述处理流程, 并不仅限于此模块名,也可以把同一个模块功能分成多个模块或者把多个模块整合分拆成不同的模块实现,如of-agent、driver模块。根据本发明实施例提供的方案,通过fpga收发处理快速oam报文及通过修改交换芯片表项切换业务转发路径,从而实现业务转发路径的快速切换,保留了侧挂fpga实现快速保护倒换的优势,进而延续了产品的竞争力。尽管上文对本发明进行了详细说明,但是本发明不限于此,本
技术领域
:技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1