一种利用控制面链路自动保护数据面链路的方法和系统与流程

文档序号:18406380发布日期:2019-08-10 00:25阅读:215来源:国知局
本发明属于通信管理设施
技术领域
:,特别涉及一种利用控制面链路自动保护数据面链路的方法和系统。
背景技术
::软件定义网络(softwaredefinednetwork,sdn)技术是一种新型网络创新架构,是一种实现网络虚拟化的方式。sdn中主要包含两类设备:控制器、传送节点。sdn架构的核心思想是将网络设备的控制面(controlplane)与数据面(dataplane)分离开,传送节点开放可编程的控制接口,由位于中心的控制器对整个网络的传送节点进行集中控制,实现丰富的网络新功能,灵活控制和调度网络资源,满足快速发展的网络需求。其中,控制面指控制器和传送节点之间的网络互连及相关控制行为,数据面指传送节点之间的网络互连及相关数据传送行为。数据面的具体数据传送行为方式将取决于控制面的具体控制行为,通常控制器通过下发数据转发流表项(flowtable)到传送节点中对其进行控制,下发过程可遵循一些已颁布的协议标准,比如openflow协议、netconf协议、ovsdb协议等。图1为sdn整体结构示意图。sdn有两种控制方式:带内控制和带外控制。带外控制,是指传送节点采用独立的控制面端口连接控制器,多个传送节点和控制器的连接需要一张独立的网络来运行。通常情况下,该独立的网络使用传统技术实现。但是由于现有sdn技术中带外控制需要组建独立的控制面网络,如图2所示的传统sdn传送节点设备结构示意图,其明显的劣势在于需要投入更多的网络设备资源和网络链路资源,并且数据面与控制面各自独享相关网络资源,以至于数据面链路一旦出现故障会直接导致传送节点之间网络互连以及相关数据传送能力失效。为此需要一种新的sdn控制方式,充分避免数据面链路出现故障,而导致整个sdn架构瘫痪的情况。技术实现要素:针对上述问题,本发明提供一种利用控制面链路自动保护数据面链路的方法,其特征在于,所述方法包括:通过控制器收集全网拓扑信息;在数据面链路中建立传送节点之间业务交换的主用路径,在传送节点之间建立业务交换的备用路径;将所述备用路径和控制面链路合路,构建合路链路;检测所述主用路径和备用路径的链路故障情况;根据链路故障情况自动进行主用路径和备用路径的倒切动作。优选的,所述全网拓扑信息包括传送节点信息、网络端口信息和链路互连信息。优选的,所述传送节点信息包括与网络端口相对应的旁路端口信息。优选的,其特征在于,所述控制器通过控制面下发数据转发流表项到各个所述传送节点建立所述主用路径,所述控制器下发链路保护流表项建立所述备用路径。优选的,根据所述主用路径的网络端口对应信息以及所述备用路径的旁路端口对应信息下发所述链路保护流表项。优选的,所述主用路径上进行单跳行为或多跳行为,所述备用路径对主用路径进行逐跳的冗余保护。优选的,所述备用路径和控制面链路通过波分复用技术建立合路链路。优选的,所述控制器为所述主用路径和所述备用路径配合及绑定相对应的链路故障检测会话,通过链路故障检测会话检测链路故障情况。优选的,所述故障检测会话报告主用路径故障时,针对发生链路故障的一跳,交换板自动根据流表项将业务数据流倒切到对应的备用路径的一跳上进行保护。一种利用控制面链路自动保护数据面链路的系统,包括连接在相邻传送节点的交换板之间的数据面链路,作为传送节点之间业务交换的主用路径;以及设置在所述传送节点内的旁路通道和合路模块,所述交换板通过所述旁路通道连接至所述合路模块,相邻所述传送节点的所述合路模块之间连接合路链路,通过所述旁路通道和所述合路链路作为所述传送节点之间业务交换的备用路径;所述传送节点内的主控板和合路模块连接,通过合路模块将备用路径和控制面链路合路连接至合路链路。优选的,所述交换板包括网络端口和旁路端口,相邻两组传送节点的交换板之间通过网络端口连接数据面链路,交换板通过旁路端口连接旁路通道,所述旁路通道连接至合路模块。优选的,所述交换板包括至少两组的网络端口,通过网络端口进行业务数据的交换。优选的,所述交换板包括至少两组的旁路端口,所述旁路端口与所述网络端口一一对应。优选的,所述网络端口和旁路端口均采用以太网端口。优选的,所述合路模块包括光电转化模块、波分复用模块以及合路端口,所述光电转化模块与波分复用模块连接,波分复用模块连接合路端口,相邻两组传送节点的合路模块通过合路端口连接合路链路;光电转化模块具有双向功能,用于进行特定波长的光信号线路和电信号线路的相互转换;所述波分复用模块具有双向功能,进行多条光线路和一条光线路的相互转化。优选的,所述旁路通道设置在背板上。本发明的有益效果在于:1、本发明通过设计传送节点设备的新结构,然后由控制器下发流表项在原控制面链路资源中为数据面主用路径创建备用路径,提供对数据面链路内主用路径的冗余保护,避免了业务通信因链路故障发生中断,进一步提高了sdn网络通信的可靠性;2、本发明设计sdn传送节点的新结构中,在背板上增加旁路通道,交换板新增旁路端口接入背板上的旁路通道,主控板的控制端口也改为旁路控制端口接入背板上的旁路通道;其次,增加合路模块,内含光电转换模块、波分复用模块,可将旁路端口与旁路控制端口的旁路通道进行合路后传输;3、故障检测会话报告主用路径故障时,针对发生链路故障的一跳,交换板自动根据流表项将业务数据流倒切到对应的备用路径的一跳上进行保护,该保护倒切过程不需要控制器的参与。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了根据现有技术的sdn整体结构示意图;图2示出了传统sdn传送节点设备结构示意图;图3示出了利用控制面链路自动保护数据面链路的系统;图4示出了本发明的利用控制面链路自动保护数据面链路的流程图;图5示出了本发明的控外部控制软件模块依据多种输入进行处理后,输出设置user_failover类型组表标志位flag的示意框图;图6示出了本发明的外部控制软件模块处理流程图;图7示出了本发明发生故障倒切保护时的通路示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。一种利用控制面链路自动保护数据面链路的方法,包括:通过控制器收集全网拓扑信息,所述全网拓扑信息包括传送节点信息、网络端口信息和链路互连信息,控制器基于sdn基本原理收集全网拓扑信息,包括传送节点、网络端口、链路互连等信息。此外,传送节点还上报与网络端口相对应的旁路端口信息。注意到交换板的旁路端口和网络端口在逻辑上都是以太网端口,其区别在于网络端口在面板上,旁路端口接到背板旁路通道上。因此按照sdn基本原理,旁路端口和网络端口都可以在拓扑收集阶段被传送节点上报给控制器。只是在本发明中,传送节点要额外上报网络端口与旁路端口的对应信息,比如网络端口1对应旁路端口1,网络端口2对应旁路端口2。在数据面链路中建立传送节点之间业务交换的主用路径,控制器根据用户对业务的规划,通过合路链路中的控制面下发数据转发流表项到各个传送节点,数据转发流表项下发到各个传送节点的主控板,主控板根据数据转发流表项确定交换板之间业务交换的主用路径;在传送节点之间建立业务交换的备用路径,控制器检查主用路径使用的网络端口,并根据网络端口和旁路端口的对应信息下发链路保护流表项,链路保护流表项下发至各个传送节点的主控板,主控板根据链路保护流表项对主控板所在网络节点的交换板进行控制,采用交换板的旁路通道以及合路链路创建业务交换的备用路径,通过备用路径对业务交换的主用路径进行逐跳的冗余保护。将所述备用路径和控制面链路合路,构建合路链路,备用路径和控制面链路通过波分复用技术构建合路链路。具体的,备用路径的旁路通道和主控板均通过光电转化模块进行光电转化工作,将电信号转化为特定波长的光信号进行独立传送,之后将独立传输的特定波长的光信号通过波分复用模块合路在一条光线路传输,并传输至相邻传送节点的波分复用模块;邻站的波分复用模块对单条光线路进行分路,根据单条光线路中光信号的波长分成多条线路输出,并输出至对应的光电转化模块,通过光电转化模块再次将光信号转化为电信号,并将电信号分别发送至主控板和交换板。检测所述主用路径和备用路径的链路故障情况。所述控制器为所述主用路径和所述备用路径配合及绑定相对应的链路故障检测会话,通过链路故障检测会话检测链路故障情况。在故障检测会话报告主用路径故障时,针对发生链路故障的一跳,交换板自动根据流表项将业务数据流倒切到对应的备用路径的一跳上进行保护。针对上述的控制方法,提出一种利用控制面链路自动保护数据面链路的系统,如图3所示,相对于传统的sdn网络,首先,在背板上增加旁路通道,交换板新增旁路端口接入背板上的旁路通道,主控板的控制端口也改为旁路控制端口接入背板上的旁路通道;其次,增加合路模块,内含光电转换模块、波分复用模块,可将旁路端口与旁路控制端口的旁路通道进行合路后传输再在接收端重新解复用。其中,光电转换模块可将旁路通道的多路以太网电信号转换为多路以太网光信号,波分复用模块可将多路以太网光信号调制到各不相同的光波长上,然后统一在同一路光纤链路中传输,不同波长的以太网光信号互不干扰,各自享有充足的传输带宽,接收端也可从同一路光纤链路中解出多路以太网光信号。增加合路模块后,由合路模块提供合路端口用于网络互连,其中包含了控制面的网络互连。以两组传送节点(传送节点x和传送节点x+1)之间的通信方式进行说明,每组传送节点内包括一组主控板和n组交换板(n为任意正整数),主控板上设有旁路控制端口1和旁路控制端口2,每组交换板上均设旁路端口和网络端口,旁路端口包括旁路端口1和旁路端口2,网络端口包括网络端口1和网络端口2。相邻两组传送节点的交换板通过数据面链路一对一对应连接,示例性的,传送节点x的交换板1的网络端口2通过数据面链路连接传送节点x+1的交换板1的网络端口1,传送节点x的交换板n的网络端口2通过数据面链路连接传送节点x+1的交换板n的网络端口1。交换板的旁路端口连接至设置在背板上的旁路通道,主控板的旁路控制端口以及交换板的旁路通道均连接至合路模块,通过合路模块在两组相邻的传送节点之间建立合路链路。合路模块包括光电转化模块、两组波分复用模块(wdm,wavelengthdivisionmultiplexing)以及两组合路端口,旁路通道和旁路控制端口均连接至光电转化模块,光电转化模块连接波分复用模块,波分复用模块通过合路端口连接合路链路。示例性的,传送节点x的交换板1的旁路端口2依次通过传送节点x的旁路通道、光电转化模块、波分复用模块2、合路端口2连接至传送节点x+1,且传送节点x的合路端口2依次经过传送节点x+1的合路端口1、波分复用模块1、光电转化模块连接至传送节点x+1的交换板1的旁路端口1,以此构建传送节点x的交换板1和传送节点x+1的交换板1之间主用路径的备用路径,对主用路径进行冗余保护。其中,传送节点x的交换板1和传送节点x+1的交换板1之间的备用路径通过光电转化模块进行以太网电信号和波长为λ1的光信号的互相转化,波长为λ1的光信号通过波分复用模块合并在合路链路传输,且通过波分复用模块将合路后的光信号分离出,传输至光电转化模块的对应端口。同样的,传送节点x的交换板n旁路端口2依次通过传送节点x的旁路通道、光电转化模块、波分复用模块2、合路端口2连接至传送节点x+1,且传送节点x的合路端口2依次经过传送节点x+1的合路端口1、波分复用模块1、光电转化模块连接至传送节点x+1的交换板1的旁路端口1,以此构建交换板1和交换板2之间主用路径的备用路径,对主用路径进行冗余保护。其中,传送节点x的交换板n和传送节点x+1的交换板n之间的备用路径通过光电转化模块进行以太网电信号和波长为λn的光信号的互相转化,波长为λn的光信号通过波分复用模块合并在合路链路传输,且通过波分复用模块将合路后的光信号分离出,传输至光电转化模块的对应端口。主控板的两组旁路控制端口连接至合路模块,并通过合路模块接入与相邻传送节点的合路链路。示例性的,传送节点x的主控板的旁路控制端口2通过光电转化模块、波分复用模块2、合路端口2连接至传送节点x+1的合路端口1,并依次通过传送节点x+1的波分复用模块1、光电转化模块连接至传送节点x+1的主控板的旁路控制端口1。其中,传送节点x的主控板和传送节点x+1的主控板之间通过光电转化模块进行以太网电信号和波长为λ0的光信号的互相转化,波长为λ0的光信号通过波分复用模块合并在合路链路传输,且通过波分复用模块将合路后的光信号分离出,传输至光电转化模块的对应端口。本发明针对上述结构提出一种利用控制面链路自动保护数据面链路的系统的控制方法,如图4所示的利用控制面链路自动保护数据面链路的流程图。步骤1:控制器基于sdn基本原理收集全网拓扑信息,包括传送节点、网络端口、链路互连等信息。此外,传送节点还上报与网络端口相对应的旁路端口信息。注意到交换板的旁路端口和网络端口在逻辑上都是以太网端口,其区别在于网络端口在面板上,旁路端口接到背板旁路通道上。因此按照sdn基本原理它们都可以在拓扑收集阶段被传送节点上报给控制器,其区别在于,传送节点要额外上报网络端口与旁路端口的对应信息,例如,网络端口1对应旁路端口1,网络端口2对应旁路端口2。步骤2:控制器根据用户对业务的规划,通过合路链路中的控制面下发数据转发流表项到各个传送节点,为业务建立数据面内的主用路径。即,控制器通过合路链路向主控板下发数据转发流表项,通过主控板向对应的交换板发出控制,控制相邻传送节点之间的交换板之间建立业务传输的主用路径。示例性的,控制器通过合路链路内的控制面向传送节点x的主控板以及传送节点x+1的主控板下发数据转发流表项。传送节点x的主控板控制传送节点x的交换板1的网络端口2作为传送节点x的交换板1和传送节点x+1的交换板1的通信端口,且传送节点x+1的主控板控制传送节点x+1的交换板1的网络端口1作为与传送节点x的交换板1通信的对应通信端口,以此建立传送节点x的交换板1和传送节点x+1的交换板1的主用路径。同样的,传送节点x的主控板控制传送节点x的交换板n的网络端口2作为传送节点x的交换板n和传送节点x+1的交换板n的通信端口,且传送节点x+1的主控板控制传送节点x+1的交换板n的网络端口1作为与传送节点x的交换板n通信的对应通信端口,以此建立传送节点x的交换板n和传送节点x+1的交换板n的主用路径。步骤3:控制器检查主用路径使用的各网络端口,并根据网络端口和旁路端口的对应信息下发链路保护流表项,使用旁路通道和合路链路创建备用路径,对主用路径进行逐跳的冗余保护。主用路径可包含单跳行为或多跳行为,备用路径是对逐跳进行备用保护的。例如在图3中,针对主用路径中从传送节点x的交换板1的网络端口2发出传送到传送节点x+1的交换板1的网络端口1这一跳,备用路径中对应的一跳为:从传送节点x的交换板1的旁路端口2经过旁路通道、合路模块的合路端口2发出传送到传送节点x+1的合路模块的合路端口1再经过旁路通道、交换板1的旁路端口1。如图7所示。步骤4:控制器为业务的主用路径、备用路径配置及绑定相应的链路故障检测会话,链路故障检测可基于oam(操作维护管理,operationadministrationandmaintenance)协议监测机制。步骤5:故障检测会话报告主用路径故障时,针对发生链路故障的一跳,交换板自动根据流表项将业务数据流倒切到对应的备用路径的一跳上进行保护。该保护倒切过程不需要控制器的参与。发生故障倒切保护时的通路示意图示例如图7所示。假设主用路径中从传送节点x的交换板1的网络端口2发出传送到传送节点x+1的交换板1的网络端口1这一跳发生链路故障,故障检测会话报告故障信息给交换板,交换板自动根据数据转发流表项和链路保护流表项配置,将业务数据流的这一跳倒切到如下备用路径中对应的一跳上:从传送节点x的交换板1的旁路端口2经过旁路通道、合路模块的合路端口2发出传送到传送节点x+1的合路模块的合路端口1再经过旁路通道、交换板1的旁路端口1。上述控制器通过下发链路保护流表项为主用路径创建备用路径,并且交换板针对发生链路故障的一跳自动根据流表项将业务数据流倒切到对应的备用路径的一跳上进行保护,具体实现技术的一种实施例为:参照sdnopenflow标准流表协议(版本1.1及以上)中的fast_failover(快速故障倒切)类型的组表(grouptable),为openflow协议增添一种新类型组表,本实施例称之为user_failover(用户自定义的故障倒切)类型组表。与fast_failover类型组表类似的是:fast_failover类型组表与user_failover类型组表都支持携带多个行动桶(actionbuckets),并能根据一定准则判定当前应选择执行其中哪一个行动桶。与fast_failover类型组表不同的是:fast_failover类型组表主要支持根据端口故障情况进行选择执行行动桶,user_failover类型组表将其扩展为可根据外部软件自定义的故障类型进行选择执行行动桶。如表1所示是user_failover类型组表的组表项,它的type为已扩展的user_failover,每个行动桶包含一个watch_failure项用于指定检测的故障位置和事件。在本例子中,行动桶1对应主用路径(从传送节点x的交换板1的网络端口2发出),行动桶2对应备用路径(从传送节点x的交换板1的旁路端口2发出)。行动桶1的watch_failure内容为检测到数据面链路正常,当数据面链路无故障时,组表选择执行行动桶1,即转发数据流到out_port为传送节点x的交换板1的网络端口2上,进入主用路径。行动桶2的watch_failure内容为检测到数据面链路故障,当检测到该故障时,组表选择执行行动桶2,即转发数据流到out_port为传送节点x的交换板1的旁路端口2上,进入备用路径。表1user_failover类型组表的组表项(扩展方式一)由于openflow的组表是按照行动桶顺序依次检查watch_failure内容是否满足,上述组表扩展方式下总是优先使用行动桶1(主用路径)。当主用路径故障时,数据流按照组表被自动倒切到行动桶2(备用路径)上,当主用路径恢复时,按照行动桶顺序数据流又被自动倒切回到主用路径上。在某些应用场景下,可能会对主备路径倒切方式提出更多样化的需求,例如:1、要求当主用路径故障时,先检查一个用户参数“自动倒切开关”,如果开关打开,则数据流被倒切到备用路径,否则不自动发生倒切;2、要求当主用路径故障后又恢复时,数据流先等待一定的时间再倒切回到主用路径上,该时间称为“延后倒切时间”(wait_to_reverttime);3、要求当主用路径故障后又恢复时,数据流不一定会被倒切回到主用路径上,而是根据一个用户参数开关“可翻转性”(revertiveness)决定是倒切回主用路径还是停留在备用路径上;4、要求用户可以手动发出指令,人为指定数据流被强制倒切到主用路径上,或被强制倒切到备用路径上,该指令称为“手动倒切至主用/备用路径”(manualreverttowork/protectpath)指令。此时,可以采取另一种实施例为:如表2所示是第二种扩展方式的user_failover类型组表的组表项,其中的watch_failure被watch_flag替代,即不再依据故障判定行动桶是否执行,而是检查行动桶对应的标志位flag,flag为1则执行该行动桶,flag为0则不执行。该flag可由外部控制软件模块进行设置,上述多样化的需求都可以通过在外部软件中增加更多逻辑来实现,功能的灵活度大大提高。表2user_failover类型组表的组表项(扩展方式二)外部控制软件模块依据多种输入进行处理后,输出设置user_failover类型组表标志位flag的示意框图如图5所示:外部控制软件的输入事件包括检测到数据链路故障以及检测到数据链路恢复,外部控制软件模块的输入参数包括自动倒切开关、延后倒切时间、可翻转性,外部控制软件的指令输入包括手动倒切至主用路径、手动倒切至备用路径,外部控制软件模块经过上述输入,确定输出设置user_failover类型组表,user_failover类型组表包括flag1和flag2。上述多样化需求的外部控制软件模块的处理流程图如图6所示,其中flag1置1、flag2置0代表选择主用路径,flag1置0、flag2置1代表选择备用路径。在flag1置1、flag2置0时判断是否手动倒切至备用路径,若判断手动倒切至备用路径,则进行flag1置0、flag2置1的操作;若flag1置1、flag2置0时,判断不是手动倒切至备用路径,则检测数据链路是否故障;在检测到数据链路发生故障时,检测自动倒切开关是否打开,并在检测到自动倒切开关为打开时,进行flag1置0、flag2置1的操作。在执行flag1置0、flag2置1后,判断是否执行手动倒切至主用路径;在判断手动倒切至主用路径时,执行flag1置1、flag2置0的操作,在判断不进行手动倒切至主用路径时,检测数据链路是否恢复正常;在检测到数据链路未恢复到正常时,再次执行flag1置0、flag2置1的操作,在检测到数据链路恢复到正常时,检测自动倒切开关是否打开;在检测到自动倒切开关未打开后,再次执行flag1置0、flag2置1的操作,而在检测到自动倒切开关打开后,检测可翻转性是否为1;在可翻转性不为1时,再次执行flag1置0、flag2置1的操作,而检测到可翻转性为1时,检测延后倒切时间是否为0;在检测到延后倒切时间为0时,执行flag1置1、flag2置0的操作,而在检测到延后倒切时间不为0时等待相应时间,并执行flag1置1、flag2置0的操作。在传统sdn中,控制器通过控制面下发数据转发流表项给传送节点的主控板,主控板将其配置到交换板中,控制交换板在数据面上的数据传送行为,比如指定某个业务的单跳行为:该业务数据流从传送节点x的交换板1的网络端口2发出,传送到传送节点x+1的交换板1的网络端口1;当指定该业务的多个单跳行为组成多跳行为时,即指定了该业务在sdn中的一条传送路径(path)。本发明中,控制器为业务下发数据转发流表项建立传送路径的同时,也下发相应的链路保护流表项,在原控制面链路资源(现为合路链路)中创建备用路径,利用控制面链路资源提供对数据面链路内主用路径的冗余保护。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1