一种基于网络拓扑判定的SDN混合模式流表下发方法及装置与流程

文档序号:11206106阅读:552来源:国知局
一种基于网络拓扑判定的SDN混合模式流表下发方法及装置与流程

本发明属于信息通信技术领域,具体涉及一种基于网络拓扑判定的sdn混合模式流表下发方法及装置。



背景技术:

在软件定义网络(softwaredefinednetwork,sdn)中,有静态模式流表下发和动态模式流表下发两种机制。

静态模式流表下发(如附图1所示)是指在传输数据前就下发了流表项。控制器流表的主动下发过程,可以使用restful风格的web调用,使用http协议在远端进行,也可以在sdn控制器内部内嵌的app使用嵌入式的api直接下发流表。静态模式流表下发适用于可提前规划的sdn网络,由于在数据传输前就已经定好规则并下发给了相应设备,因此,这种流表下发模式更加的快速,但是,这种下发模式在网络状态频繁变化的情况下,会造成集中控制系统巨大的运算量。

动态模式流表下发(如附图2所示)是指当交换机接收到第一个数据包时,因为不存在相关的流表项,会将数据包使用packet-in消息发送给控制器处理。当控制器确定了相应的处理方式后,就会将相关流表项下发到交换机,交换机在下一次就可以直接转发了。被动模式的流表下发速率主要和控制器收到packet-in消息并生成相关的流表规则并下发的响应时间有关。动态模式流表下发的机制由sdn网络南向接口的协议定义,所有的转发规则由控制器运算完成。

因此,需要提供一种基于网络拓扑判定的sdn混合模式流表下发方法及装置来解决静态模式流表下发机制和动态模式流表下发机制存在的不足。



技术实现要素:

针对现有技术的不足,本发明提出了一种基于网络拓扑判定的sdn混合模式流表下发方法及装置。

一种基于网络拓扑判定的sdn混合模式流表下发方法,

在预设周期内监控网络拓扑是否有变化,并根据网络拓扑变化/未变化情况标记网络状态;

根据网络状态调整流表老化时间;

当有流表下发时,根据所述网络状态和流表老化时间选择采用静态流表模式或动态流表模式下发所述流表。

进一步的,所述根据所述网络状态和流表老化时间选择采用静态流表模式或动态流表模式下发所述流表包括:

当所述网络状态为正常状态时,采用静态流表模式下发所述流表;

当所述网络状态为频繁变化状态时,判断所述流表类型的老化时间,如果所述流表类型的老化时间为第一老化时间时,采用静态流表模式下发所述流表,否则,采用动态流表模式下发所述流表;

所述第一老化时间为∞。

进一步的,所述在预设周期内监控网络拓扑是否有变化,并根据网络拓扑变化/未变化情况标记网络状态包括:

设定第一周期为t;

监控网络拓扑是否变化;若是,则调整周期为t=t/n,并设定n=n+1;

若否,则判断当前周期是否为第一周期t,如果是第一周期,则周期保持不变,否则调整周期为t/n,并设定n=n-1;

判断t/n是否等于周期阈值,如果是,则设定当前网络为频繁变化状态stc;否则设定当前网络为正常状态st;

所述n的初值为1。

进一步的,还包括按流表类型设定优先级。

进一步的,根据网络状态调整流表老化时间包括:

当所述网络状态为正常状态st时,设定所有类型的流表老化时间为第一老化时间;

当所述网络状态为频繁变化状态stc时,选择流表老化时间为第一老化时间的流表,设定最低优先级的流表老化时间为第二老化时间,次低优先级的流表老化时间为第三老化时间;

所述第二老化时间为0;

所述第三老化时间为周期阈值。

一种基于网络拓扑判定的sdn混合模式流表下发装置,所述装置包括:

监控标记模块,用于在预设周期内监控网络拓扑是否有变化,并根据网络拓扑变化/未变化情况标记网络状态;

调整模块,用于根据网络状态调整流表老化时间;

执行模块,用于当有流表下发时,根据所述网络状态和流表老化时间选择采用静态流表模式或动态流表模式下发所述流表。

进一步的,所述执行模块,用于,

当所述网络状态为正常状态时,采用静态流表模式下发所述流表;

当所述网络状态为频繁变化状态时,判断所述流表类型的老化时间,如果所述流表类型的老化时间为第一老化时间时,采用静态流表模式下发所述流表,否则,采用动态流表模式下发所述流表;

所述第一老化时间为∞。

进一步的,所述监控标记模块,用于,

设定第一周期为t;

监控网络拓扑是否变化;若是,则调整周期为t=t/n,并设定n=n+1;

若否,则判断当前周期是否为第一周期t,如果是第一周期,则周期保持不变,否则调整周期为t/n,并设定n=n-1;

判断t/n是否等于周期阈值,如果是,则设定当前网络为频繁变化状态stc;否则设定当前网络为正常状态st;

所述n的初值为1。

进一步的,还包括:优先级模块,用于按流表类型设定优先级。

进一步的,所述调整模块,用于,

当所述网络状态为正常状态st时,设定所有类型的流表老化时间为第一老化时间;

当所述网络状态为频繁变化状态stc时,选择流表老化时间为第一老化时间的流表,设定最低优先级的流表老化时间为第二老化时间,次低优先级的流表老化时间为第三老化时间;

所述第二老化时间为0;

所述第三老化时间为周期阈值。

与最接近的现有技术比,本发明提供的技术方案具有以下有益效果:

1、本发明提供的技术方案结合sdn网络静态和动态两种模式的流表下发特性,通过监控网络拓扑的状态,实现实时调整业务流表的下发模式。

2、本发明提供的技术方案通过在应用系统中设定拓扑阈值模块并对业务进行优先级划分,利用北向接口调用控制器拓扑信息,并进行循环判定和实时下发模式变换,实现静态模式与动态模式相结合的混合模式流表下发机制,可有效控制大规模sdn网络中由于拓扑变化造成的巨大的软件运算量,同时,保障关键业务的实时性与可靠性。

附图说明

图1为静态模式流表下发流程图;

图2为动态模式流表下发流程图;

图3为本发明流程图;

图4为本发明调整周期后流表下发模式流程图;

图5为本发明的任意周期拓扑阈值判定流程图。

具体实施方式

下面结合附图对本发明做进一步详细说明。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本实施例提供了一种基于网络拓扑判定的sdn混合模式流表下发机制(如图3所示)。

1)应用系统通过北向接口调用sdn控制器信息,所有业务通过静态模式流表下发机制,以周期(n初始值为1)刷新网络拓扑并更新流表规则。

2)当周期内,拓扑发生了变化,则拓扑刷新与流表更新周期变化为如拓扑未发生变化,则保持周期

3)在应用系统中设定拓扑阈值模块。当拓扑刷新与流表更新周期变化为时(如图4所示),判断tc是否等于周期阈值,若是,则判定当前为网络拓扑频繁变化状态stc,反之,则为正常状态st。其中,周期阈值是根据应用系统等不同情况和具体需要而人为预先设定的。

4)当tc周期内拓扑未发生变化,则此时拓扑刷新与流表更新周期变为反复此过程,直到周期为t为止。

5)当tc周期内拓扑发生了变化,则下一次刷新周期变化为以此类推。

6)在应用系统中为所传输的业务,根据重要程度标记优先级,且所有业务的流表老化时间设为∞。

7)当应用系统根据步骤(3)所述的拓扑阈值模块,判定网络状态为st时,业务转发规则以静态流表下发模式执行。(如图1所示)

8)当应用系统根据步骤(3)所述的拓扑阈值模块,判定网络状态为stc时,优先级最低的业务流表老化时间变为0,优先级次低的业务流表老化时间变为tc。

9)当业务流表老化时间为0,在应用系统中针对该业务的流表下发规则失效,此时,该业务的流表下发过程,自动下移到sdn控制器,此时,该业务的转发规则以动态流表下发模式执行。(如图2所示)

10)当网络状态为stc的一个周期时间tc内,网络拓扑未发生变化,则根据步骤(4),此时拓扑刷新与流表更新周期变为且网络状态变为st,此时,流表老化时间为0的最低优先级业务和流表老化时间为tc的次低优先级业务的流表老化时间恢复为∞。

11)当网络状态为stc的一个周期时间tc内,网络拓扑仍发生了变化,则根据步骤(5),此时拓扑刷新与流表更新周期变为且网络状态仍为stc,由于在stc状态下又经历了一次刷新周期tc,优先级次低的业务流表老化时间已到(即变为0),根据步骤(9),该业务将转换为动态流表下发模式执行。此时,优先级第三低的业务流表老化时间变为tc′,以此类推。(如图5所示)

实施例

本实施例提供了一种基于网络拓扑判定的sdn混合模式流表下发方法。

设当前sdn网络的应用系统中有四种业务β1,β2,β3,β4,业务的流表老化时间为tβ,初始拓扑刷新与流表更新周期t为20s,拓扑阈值触发周期tc为即5s,四种业务的优先级顺序为β1>β2>β3>β4。

s1:在20s的周期内,若拓扑未发生变化,则此时,拓扑刷新与流表更新周期仍然为20s,网络状态为st,四种业务的流表老化时间为

s2:在20s周期内,若拓扑发生了变化,则此时,拓扑刷新与流表更新周期变为10s,网络状态为st,四种业务的流表老化时间为

s3:在10s周期内,若拓扑未发生变化,则此时,拓扑刷新与流表更新周期变为20s,网络状态为st,四种业务的流表老化时间为

s4:在10s周期内,若拓扑发生了变化,则此时,拓扑刷新与流表更新周期变为20/3s,网络状态为st,四种业务的流表老化时间为

s5:在20/3s周期内,若拓扑未发生变化,则此时,拓扑刷新与流表更新周期变为10s,网络状态为st,四种业务的流表老化时间为

s6:在20/3s周期内,若拓扑发生了变化,则此时,拓扑刷新与流表更新周期变为5s,触发拓扑阈值,网络状态变为四种业务的流表老化时间为β4业务变为动态模式流表下发。

s7:在5s周期内,若拓扑未发生变化,则此时,拓扑刷新与流表更新周期变回为20/3s,网络状态变回为st,四种业务的流表老化时间为β4业务由动态模式变回为静态模式流表下发。

s8:在5s周期内,若拓扑发生了变化,则此时,拓扑刷新与流表更新周期变为4s,网络状态为四种业务的流表老化时间为β3业务变为动态模式流表下发(β4业务在上个周期已变为动态模式)。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。

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