CN104253711A - 一种SDN网络中Openflow的Group表的管理方法和设备 - Google Patents
一种SDN网络中Openflow的Group表的管理方法和设备 Download PDFInfo
- Publication number
- CN104253711A CN104253711A CN201410497682.1A CN201410497682A CN104253711A CN 104253711 A CN104253711 A CN 104253711A CN 201410497682 A CN201410497682 A CN 201410497682A CN 104253711 A CN104253711 A CN 104253711A
- Authority
- CN
- China
- Prior art keywords
- network equipment
- link
- state
- group
- corresponding ports
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种SDN网络中Openflow的Group表的管理方法和设备,该方法包括:网络设备生成Group表,所述Group表内记录多个动作指令桶;所述网络设备分别对主链路和备链路进行检测,根据检测结果将所述主链路对应端口的端口状态设置为Live状态或者非Live状态,并根据检测结果将所述备链路对应端口的端口状态设置为Live状态或者非Live状态;所述网络设备在收到报文时,如果所述报文匹配到的流表对应Group表,则执行所述Group表中的第一个处于Live状态的端口对应的动作指令桶。本发明实施例中,优化了SDN网络中的路径选择方式,避免了错误的路径选择方式所导致的报文丢失问题。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种SDN网络中OpenFlow的Group表的管理方法和设备。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对流量的灵活控制,为核心网络以及应用的创新提供良好的平台。在SDN网络中,包括网络设备(如交换机)和SDN控制器。SDN控制器用于根据用户的配置或者动态运行的协议生成流表(Flow Table),并将流表发送到网络设备。网络设备用于接收来自SDN控制器的流表,并根据流表来匹配和处理报文。
在SDN控制器下发的流表中包括匹配选项和动作选项,动作选项为出端口或者Group(组)表的标识。为了实现流量的快速切换,动作选项为Group表的标识。Group表中定义了多个动作指令桶,第一个动作指令桶为主链路对应的端口,第二个动作指令桶为备链路对应的端口。如图1所示,为SDN网络的组网示意图,针对主机10发送给主机20的报文,流表的匹配选项为主机20的IP地址,动作选项为Group表1。在Group表1内,第一个动作指令桶为端口2(即主链路对应的端口),第二个动作指令桶为端口1(即备链路对应的端口)。
Group表总是执行第一个处于有效状态的动作指令桶,当第一个动作指令桶无效时执行第二个动作指令桶,依此类推。其中,当动作指令桶中的端口的端口状态为UP(正常)时,该动作指令桶为有效,当动作指令桶中的端口的端口状态为DOWN(故障)时,该动作指令桶为无效。在上述方式下,会导致报文发生丢失。例如,当端口2的端口状态为UP,但网络设备2与网络设备5之间的链路发生故障时,第一个动作指令桶为有效。网络设备1在收到主机10发送给主机20的报文时,动作选项为Group表1,并执行第一个处于有效状态的动作指令桶,即通过端口2发送报文。由于网络设备2与网络设备5之间的链路发生故障,因此报文无法发送到网络设备5,从而导致报文发生丢失。
发明内容
本发明实施例提供一种软件定义网络SDN网络中Openflow的组Group表的管理方法,所述方法包括以下步骤:
网络设备生成Group表;所述Group表内记录多个动作指令桶,第一个动作指令桶包括主链路对应的端口,其它动作指令桶包括备链路对应的端口;
所述网络设备分别对主链路和备链路进行检测,根据检测结果将所述主链路对应端口的端口状态设置为存活Live状态或者非Live状态,并根据检测结果将所述备链路对应端口的端口状态设置为Live状态或者非Live状态;
所述网络设备在收到报文时,如果所述报文匹配到的流表对应Group表,则执行所述Group表中的第一个处于Live状态的端口对应的动作指令桶。
所述Group表内记录了目的网络设备的介质访问控制MAC地址、检测周期、检测时间间隔;所述网络设备将端口的端口状态设置为Live状态或者非Live状态,具体包括:所述网络设备构造目的MAC地址为目的网络设备的MAC地址的第一检测报文,并按照第一检测时间间隔周期性的通过所述主链路对应端口发送所述第一检测报文;如果在第一检测周期内收到所述目的网络设备返回的第一响应报文,则所述网络设备确定所述主链路未发生故障,并将所述主链路对应端口的端口状态设置为Live状态;如果在第一检测周期内未收到所述目的网络设备返回的第一响应报文,则所述网络设备确定所述主链路发生故障,并将所述主链路对应端口的端口状态设置为非Live状态;
所述网络设备构造目的MAC地址为所述目的网络设备的MAC地址的第二检测报文,并按照第二检测时间间隔周期性的通过所述备链路对应端口发送所述第二检测报文;如果在第二检测周期内收到所述目的网络设备返回的第二响应报文,则所述网络设备确定所述备链路未发生故障,并将所述备链路对应端口的端口状态设置为Live状态;如果在所述第二检测周期内未收到所述目的网络设备返回的第二响应报文,则所述网络设备确定所述备链路发生故障,并将所述备链路对应端口的端口状态设置为非Live状态。
所述方法进一步包括:
所述网络设备接收来自SDN控制器的Openflow Group消息,所述Openflow Group消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group消息用于触发网络设备生成Group表;或者,
所述网络设备接收来自SDN控制器的Group修改消息,所述Group修改消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group修改消息用于触发网络设备修改本网络设备上当前存在的Group表。
所述网络设备分别对主链路和备链路进行检测的过程,具体包括:
所述网络设备通过连通错误检测CFD检测方式对所述主链路进行链路检测,或者,所述网络设备通过操作管理维护OAM检测方式对所述主链路进行链路检测;所述网络设备通过CFD检测方式对所述备链路进行链路检测,或者,所述网络设备通过OAM检测方式对所述备链路进行链路检测。
所述网络设备分别对主链路和备链路进行检测之前,所述方法进一步包括:当所述主链路对应端口为故障DOWN状态、或阻塞BLOCK状态、或学习LEARN状态时,所述网络设备不对所述主链路进行检测,直接将所述主链路对应端口的端口状态设置为非Live状态;当所述主链路对应端口为UP状态、或转发Forward状态时,所述网络设备执行对所述主链路进行检测的过程;当所述备链路对应端口为DOWN状态、或BLOCK状态、或LEARN状态时,所述网络设备不对所述备链路进行检测,直接将所述备链路对应端口的端口状态设置为非Live状态;当所述备链路对应端口为UP状态、或Forward状态时,所述网络设备执行对所述备链路进行检测的过程。
本发明实施例提供一种网络设备,用于对软件定义网络SDN网络中Openflow的组Group表进行管理,所述网络设备具体包括:
生成模块,用于生成Group表;其中,所述Group表内记录多个动作指令桶,第一个动作指令桶包括主链路对应的端口,其它动作指令桶包括备链路对应的端口;
检测模块,用于分别对主链路和备链路进行检测,根据检测结果将所述主链路对应端口的端口状态设置为存活Live状态或者非Live状态,并根据检测结果将所述备链路对应端口的端口状态设置为Live状态或者非Live状态;
处理模块,用于在收到报文时,如果所述报文匹配到的流表对应Group表,则执行所述Group表中的第一个处于Live状态的端口对应的动作指令桶。
所述Group表内记录了目的网络设备的介质访问控制MAC地址、检测周期、检测时间间隔;所述检测模块,具体用于构造目的MAC地址为目的网络设备的MAC地址的第一检测报文,并按照第一检测时间间隔周期性的通过所述主链路对应端口发送所述第一检测报文;如果在第一检测周期内收到所述目的网络设备返回的第一响应报文,则确定所述主链路未发生故障,并将所述主链路对应端口的端口状态设置为Live状态;如果在第一检测周期内未收到所述目的网络设备返回的第一响应报文,则确定所述主链路发生故障,并将所述主链路对应端口的端口状态设置为非Live状态;构造目的MAC地址为所述目的网络设备的MAC地址的第二检测报文,并按照第二检测时间间隔周期性的通过所述备链路对应端口发送所述第二检测报文;如果在第二检测周期内收到所述目的网络设备返回的第二响应报文,则确定所述备链路未发生故障,并将所述备链路对应端口的端口状态设置为Live状态;如果在所述第二检测周期内未收到所述目的网络设备返回的第二响应报文,则确定所述备链路发生故障,并将所述备链路对应端口的端口状态设置为非Live状态。
所述检测模块,进一步用于接收来自SDN控制器的Openflow Group消息,所述Openflow Group消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group消息用于触发网络设备生成Group表;或者,接收来自SDN控制器的Group修改消息,所述Group修改消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group修改消息用于触发网络设备修改本网络设备上当前存在的Group表。
所述检测模块,进一步用于通过连通错误检测CFD检测方式对所述主链路进行链路检测,或者,通过操作管理维护OAM检测方式对所述主链路进行链路检测;通过CFD检测方式对所述备链路进行链路检测,或者,通过OAM检测方式对所述备链路进行链路检测。
所述检测模块,进一步用于在对所述主链路和所述备链路进行检测之前,当所述主链路对应端口为故障DOWN状态、或阻塞BLOCK状态、或学习LEARN状态时,不对所述主链路进行检测,直接将所述主链路对应端口的端口状态设置为非Live状态;当所述主链路对应端口为UP状态、或转发Forward状态时,执行对所述主链路进行检测的过程;当所述备链路对应端口为DOWN状态、或BLOCK状态、或LEARN状态时,不对所述备链路进行检测,直接将所述备链路对应端口的端口状态设置为非Live状态;当所述备链路对应端口为UP状态、或Forward状态时,执行对所述备链路进行检测的过程。
基于上述技术方案,本发明实施例中,网络设备通过对主链路和备链路进行检测,并基于检测结果将主链路对应端口的端口状态设置为Live(存活)状态或者非Live状态,将备链路对应端口的端口状态设置为Live状态或者非Live状态,并在报文匹配到的流表对应Group表时,由网络设备执行Group表中的第一个处于Live状态的端口对应的动作指令桶,从而优化了SDN网络中基于Group表的路径切换方法,为SDN网络中的端口状态监控提供了更有效的检测方法,避免了单一端口状态UP/DOWN决定所有业务的切换路径,优化了SDN网络中的路径选择方式,避免了错误的路径选择方式所导致的报文丢失问题。
附图说明
图1是SDN网络的组网示意图;
图2是本发明实施例提出的一种SDN网络中Openflow的Group表的管理方法流程示意图;
图3是本发明实施例提出的Openflow Group/Group修改消息格式示意图;
图4是本发明实施例提出的一种网络设备的结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种SDN网络中Openflow的Group表的管理方法,以图1为本发明实施例的应用场景示意图。网络设备1与网络设备5之间有两条链路,网络设备1-网络设备2-网络设备5之间的链路为主链路,网络设备1-网络设备3-网络设备4-网络设备5之间的链路为备链路。在上述应用场景下,如图2所示,该SDN网络中Openflow的Group表的管理方法,具体可以包括以下步骤:
步骤201,网络设备生成Group表,该Group表内记录多个动作指令桶,第一个动作指令桶包括主链路对应的端口,其它动作指令桶包括备链路对应的端口。进一步的,该Group表内还记录了目的网络设备的MAC地址、检测周期、检测时间间隔。其中,当只有一条备链路时,则Group表内将记录两个动作指令桶,第二个动作指令桶包括该备链路对应的端口。当有两条备链路时,则Group表内将记录三个动作指令桶,第二个动作指令桶包括第一条备链路对应的端口,第三个动作指令桶包括第二条备链路对应的端口,以此类推;对于其它数量的动作指令桶的情况,在此不再重复赘述。
例如,在SDN控制器给网络设备1下发的流表中包括匹配选项和动作选项,该动作选项为Group表的标识。进一步的,SDN控制器给网络设备1下发Openflow Group消息,该Openflow Group消息用于触发网络设备生成Group表。基于此,网络设备生成Group表,该Group表中定义了多个动作指令桶,第一个动作指令桶为主链路对应的端口,第二个动作指令桶为备链路对应的端口。针对主机10发送给主机20的报文,流表的匹配选项为主机20的IP地址,动作选项为Group表1。在Group表1内,第一个动作指令桶包括端口2(主链路对应的端口),第二个动作指令桶包括端口1(备链路对应的端口)。
步骤202,网络设备分别对主链路和备链路进行检测,根据检测结果将主链路对应端口的端口状态设置为Live(存活)状态或者非Live状态,并根据检测结果将备链路对应端口的端口状态设置为Live状态或者非Live状态。
本发明实施例中,网络设备分别对主链路和备链路进行检测的过程,具体包括但不限于如下方式:网络设备分别按照目的网络设备的MAC地址、检测周期、检测时间间隔对主链路和备链路进行检测的过程。
本发明实施例中,网络设备分别对主链路和备链路进行检测之前,如果主链路对应端口为DOWN状态、或BLOCK(阻塞)状态、或LEARN(学习)状态,网络设备不对主链路进行检测,直接将主链路对应端口的端口状态设置为非Live状态;如果主链路对应端口为UP状态、或Forward状态(转发),则网络设备执行对主链路进行检测的过程。如果备链路对应端口为DOWN状态、或BLOCK状态、或LEARN状态,网络设备不对备链路进行检测,直接将备链路对应端口的端口状态设置为非Live状态;如果备链路对应端口为UP状态、或Forward状态,网络设备执行对备链路进行检测的过程。其中,UP状态和DOWN状态是物理上的端口状态,BLOCK状态、LEARN状态和Forward状态是基于STP(Spanning Tree Protocol,生成树协议)的端口状态。
本发明实施例中,网络设备分别对主链路和备链路进行检测的过程,具体包括但不限于如下方式:网络设备通过CFD(Connectivity Fault Detection,连通错误检测)检测方式对主链路进行链路检测,或者,网络设备通过OAM(Operation Administration and Maintenance,操作管理维护)检测方式对主链路进行链路检测。进一步的,网络设备通过CFD检测方式对备链路进行链路检测,或者,网络设备通过OAM检测方式对备链路进行链路检测。
本发明实施例中,网络设备将端口(即主链路对应端口和备链路对应端口)的端口状态设置为Live状态或者非Live状态的过程,具体包括但不限于如下设置方式:网络设备构造目的MAC(Media Access Control,介质访问控制)地址为目的网络设备的MAC地址的第一检测报文,并按照第一检测时间间隔周期性的通过主链路对应端口发送第一检测报文;如果在第一检测周期内收到目的网络设备返回的第一响应报文,则网络设备确定主链路未发生故障,并将主链路对应端口的端口状态设置为Live状态;如果在第一检测周期内未收到目的网络设备返回的第一响应报文,则网络设备确定主链路发生故障,并将主链路对应端口的端口状态设置为非Live状态。进一步的,网络设备构造目的MAC地址为目的网络设备的MAC地址的第二检测报文,并按照第二检测时间间隔周期性的通过备链路对应端口发送第二检测报文;如果在第二检测周期内收到目的网络设备返回的第二响应报文,则网络设备确定备链路未发生故障,并将备链路对应端口的端口状态设置为Live状态;如果在第二检测周期内未收到目的网络设备返回的第二响应报文,则网络设备确定备链路发生故障,并将备链路对应端口的端口状态设置为非Live状态。
为了使网络设备能够获得目的网络设备的MAC地址、检测周期、检测时间间隔等信息,SDN控制器可以通过Openflow Group消息将目的网络设备的MAC地址、检测周期、检测时间间隔等信息通知给网络设备,也可以通过Group修改消息将目的网络设备的MAC地址、检测周期、检测时间间隔等信息通知给网络设备。基于此,网络设备接收来自SDN控制器的Openflow Group消息,且该Openflow Group消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且该Openflow Group消息用于触发网络设备生成Group表;或者,网络设备接收来自SDN控制器的Group修改消息,该Group修改消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且该Group修改消息用于触发网络设备修改本网络设备上当前存在的Group表。
其中,目的网络设备的MAC地址为端口所在链路的目的网络设备的MAC地址,也是检测报文的目的网络设备的MAC地址。检测周期定义了最长收包的时间间隔,当在一个检测周期内没有接收到响应报文时,则认为本网络设备的端口到目的网络设备之间的链路发生故障,当在一个检测周期内接收到响应报文时,则认为本网络设备的端口到目的网络设备之间的链路没有发生故障。检测时间间隔定义了本网络设备的端口上发送检测报文的时间,即网络设备按照该检测时间间隔周期性的通过相应端口发送检测报文。
其中,对于同一个Group表内的主链路对应端口和备链路对应端口,主链路对应端口对应的目的网络设备的MAC地址与备链路对应端口对应的目的网络设备的MAC地址相同。主链路对应端口对应的检测周期(第一检测周期)与备链路对应端口对应的检测周期(第二检测周期)可以相同,也可以不同;主链路对应端口对应的检测时间间隔(第一检测时间间隔)与备链路对应端口对应的检测时间间隔(第二检测时间间隔)可以相同,也可以不同。
进一步的,不同的Group表有相同的主链路和备链路时,其检测时间间隔和检测周期可以不一样,以适用于不同优先级业务的引用。比如业务1的流表引用Group表1,业务2的流表引用Group表2,Group表1和Group表2的主链路和备链路相同,目的网络设备的MAC地址也相同,但是检测精度不一样。Group表1的检测时间间隔为10ms,检测周期为30ms,Group表2的检测时间间隔为100ms,检测周期为300ms,主链路在存在抖动和延时时,若超过30ms但是未超过300ms,则业务1的Group表发生链路切换,流量切换到备链路,而业务2的检测正常,仍然从主链路转发报文。按照这种方式,使用不同的Group表可以满足不同的业务要求,达到对业务的精确控制。
如图3所示,为Openflow Group/Group修改消息的格式示意图。在该Openflow Group/Group修改消息中,Watch Port(检测端口)字段携带的是主链路对应端口或者备链路对应端口,Check Time(检查时间)字段携带的是检测时间间隔,Check Period(检查周期)字段携带的是检测周期,Check RemoteDestination(检查远程目的)字段携带的是目的网络设备的MAC地址。
在图1所示的应用场景下,为了方便描述,以检测时间间隔为10ms,检测周期为30ms为例进行说明。基于此,网络设备1构造目的MAC地址为网络设备5的MAC地址的第一检测报文,每隔10ms周期性的通过端口2发送第一检测报文;假设网络设备2与网络设备5之间的链路发生故障,则网络设备1在30ms内将不会收到网络设备5返回的第一响应报文,因此,网络设备1将端口2的端口状态设置为非Live状态。网络设备1构造目的MAC地址为网络设备5的MAC地址的第二检测报文,每隔10ms周期性的通过端口1发送第二检测报文;网络设备1在30ms内会收到网络设备5返回的第二响应报文,因此,网络设备1将端口1的端口状态设置为Live状态。
步骤203,网络设备在收到报文时,如果报文匹配到的流表对应Group表,则执行Group表中的第一个处于Live状态的端口对应的动作指令桶。
例如,端口2的端口状态设置为非Live状态,端口1的端口状态设置为Live状态。因此,当报文匹配到的流表对应Group表时,由于Group表中的第一个动作指令桶中包括的主链路对应的端口(端口2)为非Live状态,因此该第一个动作指令桶为无效的动作指令桶。由于Group表中的第二个动作指令桶中包括的备链路对应的端口(端口1)为Live状态,因此该第二个动作指令桶为有效的动作指令桶。网络设备1在执行Group表中的第一个处于Live状态的端口对应的动作指令桶时,网络设备1将通过端口1发送报文。
因此,当端口2的端口状态为UP,但网络设备2与网络设备5之间的链路发生故障时,由于端口2的端口状态设置为非Live状态,因此,网络设备1在收到主机10发送给主机20的报文时,动作选项为Group表1,并执行第一个处于Live状态的端口对应的动作指令桶,基于此,网络设备1不会从端口2发送报文,而是从端口1发送报文,从而避免报文无法发送到网络设备5。
基于上述技术方案,本发明实施例中,网络设备通过对主链路和备链路进行检测,并基于检测结果将主链路对应端口的端口状态设置为Live状态或者非Live状态,将备链路对应端口的端口状态设置为Live状态或者非Live状态,并在报文匹配到的流表对应Group表时,由网络设备执行Group表中的第一个处于Live状态的端口对应的动作指令桶,从而优化了SDN网络中基于Group表的路径切换方法,为SDN网络中的端口状态监控提供了更有效的检测方法,避免了单一端口状态UP/DOWN决定所有业务的切换路径,优化了SDN网络中的路径选择方式,避免了错误的路径选择方式所导致的报文丢失问题。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种网络设备,用于对软件定义网络SDN网络中Openflow的组Group表进行管理,如图4所示,所述网络设备具体包括:
生成模块11,用于生成Group表;其中,所述Group表内记录多个动作指令桶,第一个动作指令桶包括主链路对应的端口,其它动作指令桶包括备链路对应的端口;
检测模块12,用于分别对主链路和备链路进行检测,根据检测结果将所述主链路对应端口的端口状态设置为存活Live状态或者非Live状态,并根据检测结果将所述备链路对应端口的端口状态设置为Live状态或者非Live状态;
处理模块13,用于在收到报文时,如果所述报文匹配到的流表对应Group表,则执行所述Group表中的第一个处于Live状态的端口对应的动作指令桶。
本发明实施例中,所述Group表内记录了目的网络设备的介质访问控制MAC地址、检测周期、检测时间间隔;所述检测模块12,具体用于构造目的MAC地址为目的网络设备的MAC地址的第一检测报文,并按照第一检测时间间隔周期性的通过所述主链路对应端口发送所述第一检测报文;如果在第一检测周期内收到所述目的网络设备返回的第一响应报文,则确定所述主链路未发生故障,并将所述主链路对应端口的端口状态设置为Live状态;如果在第一检测周期内未收到所述目的网络设备返回的第一响应报文,则确定所述主链路发生故障,并将所述主链路对应端口的端口状态设置为非Live状态;构造目的MAC地址为所述目的网络设备的MAC地址的第二检测报文,并按照第二检测时间间隔周期性的通过所述备链路对应端口发送所述第二检测报文;如果在第二检测周期内收到所述目的网络设备返回的第二响应报文,则确定所述备链路未发生故障,并将所述备链路对应端口的端口状态设置为Live状态;如果在所述第二检测周期内未收到所述目的网络设备返回的第二响应报文,则确定所述备链路发生故障,并将所述备链路对应端口的端口状态设置为非Live状态。
所述检测模块12,进一步用于接收来自SDN控制器的Openflow Group消息,所述Openflow Group消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group消息用于触发网络设备生成Group表;或者,接收来自SDN控制器的Group修改消息,所述Group修改消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group修改消息用于触发网络设备修改本网络设备上当前存在的Group表。
所述检测模块12,进一步用于通过连通错误检测CFD检测方式对所述主链路进行链路检测,或者,通过操作管理维护OAM检测方式对所述主链路进行链路检测;通过CFD检测方式对所述备链路进行链路检测,或者,通过OAM检测方式对所述备链路进行链路检测。
所述检测模块12,进一步用于在对所述主链路和所述备链路进行检测之前,当所述主链路对应端口为故障DOWN状态、或阻塞BLOCK状态、或学习LEARN状态时,不对所述主链路进行检测,直接将所述主链路对应端口的端口状态设置为非Live状态;当所述主链路对应端口为UP状态、或转发Forward状态时,执行对所述主链路进行检测的过程;当所述备链路对应端口为DOWN状态、或BLOCK状态、或LEARN状态时,不对所述备链路进行检测,直接将所述备链路对应端口的端口状态设置为非Live状态;当所述备链路对应端口为UP状态、或Forward状态时,执行对所述备链路进行检测的过程。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种软件定义网络SDN网络中Openflow的组Group表的管理方法,其特征在于,所述方法包括以下步骤:
网络设备生成Group表;所述Group表内记录多个动作指令桶,第一个动作指令桶包括主链路对应的端口,其它动作指令桶包括备链路对应的端口;
所述网络设备分别对主链路和备链路进行检测,根据检测结果将所述主链路对应端口的端口状态设置为存活Live状态或者非Live状态,并根据检测结果将所述备链路对应端口的端口状态设置为Live状态或者非Live状态;
所述网络设备在收到报文时,如果所述报文匹配到的流表对应Group表,则执行所述Group表中的第一个处于Live状态的端口对应的动作指令桶。
2.如权利要求1所述的方法,其特征在于,所述Group表内记录了目的网络设备的介质访问控制MAC地址、检测周期、检测时间间隔;所述网络设备将端口的端口状态设置为Live状态或者非Live状态的过程,具体包括:
所述网络设备构造目的MAC地址为目的网络设备的MAC地址的第一检测报文,并按照第一检测时间间隔周期性的通过所述主链路对应端口发送所述第一检测报文;如果在第一检测周期内收到所述目的网络设备返回的第一响应报文,则所述网络设备确定所述主链路未发生故障,并将所述主链路对应端口的端口状态设置为Live状态;如果在第一检测周期内未收到所述目的网络设备返回的第一响应报文,则所述网络设备确定所述主链路发生故障,并将所述主链路对应端口的端口状态设置为非Live状态;
所述网络设备构造目的MAC地址为所述目的网络设备的MAC地址的第二检测报文,并按照第二检测时间间隔周期性的通过所述备链路对应端口发送所述第二检测报文;如果在第二检测周期内收到所述目的网络设备返回的第二响应报文,则所述网络设备确定所述备链路未发生故障,并将所述备链路对应端口的端口状态设置为Live状态;如果在所述第二检测周期内未收到所述目的网络设备返回的第二响应报文,则所述网络设备确定所述备链路发生故障,并将所述备链路对应端口的端口状态设置为非Live状态。
3.如权利要求2所述的方法,其特征在于,所述方法进一步包括:
所述网络设备接收来自SDN控制器的Openflow Group消息,所述Openflow Group消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group消息用于触发网络设备生成Group表;或者,
所述网络设备接收来自SDN控制器的Group修改消息,所述Group修改消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group修改消息用于触发网络设备修改本网络设备上当前存在的Group表。
4.如权利要求1或2所述的方法,其特征在于,所述网络设备分别对主链路和备链路进行检测的过程,具体包括:
所述网络设备通过连通错误检测CFD检测方式对所述主链路进行链路检测,或者,所述网络设备通过操作管理维护OAM检测方式对所述主链路进行链路检测;所述网络设备通过CFD检测方式对所述备链路进行链路检测,或者,所述网络设备通过OAM检测方式对所述备链路进行链路检测。
5.如权利要求1或2所述的方法,其特征在于,所述网络设备分别对主链路和备链路进行检测之前,所述方法进一步包括:
当所述主链路对应端口为故障DOWN状态、或阻塞BLOCK状态、或学习LEARN状态时,所述网络设备不对所述主链路进行检测,直接将所述主链路对应端口的端口状态设置为非Live状态;当所述主链路对应端口为UP状态、或转发Forward状态时,所述网络设备执行对所述主链路进行检测的过程;
当所述备链路对应端口为DOWN状态、或BLOCK状态、或LEARN状态时,所述网络设备不对所述备链路进行检测,直接将所述备链路对应端口的端口状态设置为非Live状态;当所述备链路对应端口为UP状态、或Forward状态时,所述网络设备执行对所述备链路进行检测的过程。
6.一种网络设备,用于对软件定义网络SDN网络中Openflow的组Group表进行管理,其特征在于,所述网络设备具体包括:
生成模块,用于生成Group表;其中,所述Group表内记录多个动作指令桶,第一个动作指令桶包括主链路对应的端口,其它动作指令桶包括备链路对应的端口;
检测模块,用于分别对主链路和备链路进行检测,根据检测结果将所述主链路对应端口的端口状态设置为存活Live状态或者非Live状态,并根据检测结果将所述备链路对应端口的端口状态设置为Live状态或者非Live状态;
处理模块,用于在收到报文时,如果所述报文匹配到的流表对应Group表,则执行所述Group表中的第一个处于Live状态的端口对应的动作指令桶。
7.如权利要求6所述的网络设备,其特征在于,所述Group表内记录了目的网络设备的介质访问控制MAC地址、检测周期、检测时间间隔;
所述检测模块,具体用于构造目的MAC地址为目的网络设备的MAC地址的第一检测报文,并按照第一检测时间间隔周期性的通过所述主链路对应端口发送所述第一检测报文;如果在第一检测周期内收到所述目的网络设备返回的第一响应报文,则确定所述主链路未发生故障,并将所述主链路对应端口的端口状态设置为Live状态;如果在第一检测周期内未收到所述目的网络设备返回的第一响应报文,则确定所述主链路发生故障,并将所述主链路对应端口的端口状态设置为非Live状态;构造目的MAC地址为所述目的网络设备的MAC地址的第二检测报文,并按照第二检测时间间隔周期性的通过所述备链路对应端口发送所述第二检测报文;如果在第二检测周期内收到所述目的网络设备返回的第二响应报文,则确定所述备链路未发生故障,并将所述备链路对应端口的端口状态设置为Live状态;如果在所述第二检测周期内未收到所述目的网络设备返回的第二响应报文,则确定所述备链路发生故障,并将所述备链路对应端口的端口状态设置为非Live状态。
8.如权利要求7所述的网络设备,其特征在于,
所述检测模块,进一步用于接收来自SDN控制器的Openflow Group消息,所述Openflow Group消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group消息用于触发网络设备生成Group表;或者,接收来自SDN控制器的Group修改消息,所述Group修改消息中携带目的网络设备的MAC地址、检测周期、检测时间间隔,且所述Group修改消息用于触发网络设备修改本网络设备上当前存在的Group表。
9.如权利要求6或7所述的网络设备,其特征在于,
所述检测模块,进一步用于通过连通错误检测CFD检测方式对所述主链路进行链路检测,或者,通过操作管理维护OAM检测方式对所述主链路进行链路检测;通过CFD检测方式对所述备链路进行链路检测,或者,通过OAM检测方式对所述备链路进行链路检测。
10.如权利要求6或7所述的网络设备,其特征在于,
所述检测模块,进一步用于在对所述主链路和所述备链路进行检测之前,当所述主链路对应端口为故障DOWN状态、或阻塞BLOCK状态、或学习LEARN状态时,不对所述主链路进行检测,直接将所述主链路对应端口的端口状态设置为非Live状态;当所述主链路对应端口为UP状态、或转发Forward状态时,执行对所述主链路进行检测的过程;当所述备链路对应端口为DOWN状态、或BLOCK状态、或LEARN状态时,不对所述备链路进行检测,直接将所述备链路对应端口的端口状态设置为非Live状态;当所述备链路对应端口为UP状态、或Forward状态时,执行对所述备链路进行检测的过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410497682.1A CN104253711B (zh) | 2014-09-25 | 2014-09-25 | 一种SDN网络中Openflow的Group表的管理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410497682.1A CN104253711B (zh) | 2014-09-25 | 2014-09-25 | 一种SDN网络中Openflow的Group表的管理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104253711A true CN104253711A (zh) | 2014-12-31 |
CN104253711B CN104253711B (zh) | 2018-08-24 |
Family
ID=52188278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410497682.1A Active CN104253711B (zh) | 2014-09-25 | 2014-09-25 | 一种SDN网络中Openflow的Group表的管理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104253711B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836731A (zh) * | 2015-05-14 | 2015-08-12 | 杭州华三通信技术有限公司 | 一种Open Flow协议的Group表处理方法和装置 |
CN106209634A (zh) * | 2015-04-30 | 2016-12-07 | 中兴通讯股份有限公司 | 地址映射关系的学习方法及装置 |
US9705949B2 (en) | 2015-08-11 | 2017-07-11 | At&T Intellectual Property I, L.P. | Multi-hop small cell auto discovery for software defined networking-enabled radio access network |
CN107995048A (zh) * | 2017-12-22 | 2018-05-04 | 盛科网络(苏州)有限公司 | 将链路OAM Session实例化为接口的方法和系统 |
CN108833430A (zh) * | 2018-06-29 | 2018-11-16 | 华中科技大学 | 一种软件定义网络的拓扑保护方法 |
WO2019007139A1 (zh) * | 2017-07-06 | 2019-01-10 | 华为技术有限公司 | 一种实现故障检测的方法、设备和系统 |
CN109981450A (zh) * | 2017-12-28 | 2019-07-05 | 中国电信股份有限公司 | 路径连通维护方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200122A (zh) * | 2013-03-05 | 2013-07-10 | 中兴通讯股份有限公司 | 一种软件定义网络中组表的处理方法、系统和控制器 |
US20130283374A1 (en) * | 2012-04-18 | 2013-10-24 | Radware, Ltd. | Techniques for separating the processing of clients' traffic to different zones in software defined networks |
CN103428067A (zh) * | 2013-08-14 | 2013-12-04 | 杭州华三通信技术有限公司 | 一种基于二层虚拟专用网络的报文转发方法和设备 |
CN103782552A (zh) * | 2013-09-03 | 2014-05-07 | 华为技术有限公司 | 一种业务路径的保护方法、控制器、设备及系统 |
-
2014
- 2014-09-25 CN CN201410497682.1A patent/CN104253711B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130283374A1 (en) * | 2012-04-18 | 2013-10-24 | Radware, Ltd. | Techniques for separating the processing of clients' traffic to different zones in software defined networks |
CN103200122A (zh) * | 2013-03-05 | 2013-07-10 | 中兴通讯股份有限公司 | 一种软件定义网络中组表的处理方法、系统和控制器 |
CN103428067A (zh) * | 2013-08-14 | 2013-12-04 | 杭州华三通信技术有限公司 | 一种基于二层虚拟专用网络的报文转发方法和设备 |
CN103782552A (zh) * | 2013-09-03 | 2014-05-07 | 华为技术有限公司 | 一种业务路径的保护方法、控制器、设备及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209634A (zh) * | 2015-04-30 | 2016-12-07 | 中兴通讯股份有限公司 | 地址映射关系的学习方法及装置 |
CN106209634B (zh) * | 2015-04-30 | 2020-05-22 | 中兴通讯股份有限公司 | 地址映射关系的学习方法及装置 |
CN104836731A (zh) * | 2015-05-14 | 2015-08-12 | 杭州华三通信技术有限公司 | 一种Open Flow协议的Group表处理方法和装置 |
CN104836731B (zh) * | 2015-05-14 | 2017-12-08 | 新华三技术有限公司 | 一种Open Flow协议的Group表处理方法和装置 |
US9705949B2 (en) | 2015-08-11 | 2017-07-11 | At&T Intellectual Property I, L.P. | Multi-hop small cell auto discovery for software defined networking-enabled radio access network |
US10187437B2 (en) | 2015-08-11 | 2019-01-22 | At&T Intellectual Property I, L.P. | Multi-hop small cell auto discovery for software defined networking-enabled radio access network |
WO2019007139A1 (zh) * | 2017-07-06 | 2019-01-10 | 华为技术有限公司 | 一种实现故障检测的方法、设备和系统 |
CN109218059A (zh) * | 2017-07-06 | 2019-01-15 | 华为技术有限公司 | 一种实现故障检测的方法、设备和系统 |
US11106517B2 (en) | 2017-07-06 | 2021-08-31 | Huawei Technologies Co., Ltd. | Multi-path fault detection |
CN109218059B (zh) * | 2017-07-06 | 2021-09-14 | 华为技术有限公司 | 一种实现故障检测的方法、设备和系统 |
CN107995048A (zh) * | 2017-12-22 | 2018-05-04 | 盛科网络(苏州)有限公司 | 将链路OAM Session实例化为接口的方法和系统 |
CN109981450A (zh) * | 2017-12-28 | 2019-07-05 | 中国电信股份有限公司 | 路径连通维护方法、装置和系统 |
CN109981450B (zh) * | 2017-12-28 | 2021-06-15 | 中国电信股份有限公司 | 路径连通维护方法、装置和系统 |
CN108833430A (zh) * | 2018-06-29 | 2018-11-16 | 华中科技大学 | 一种软件定义网络的拓扑保护方法 |
CN108833430B (zh) * | 2018-06-29 | 2020-05-19 | 华中科技大学 | 一种软件定义网络的拓扑保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104253711B (zh) | 2018-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104253711A (zh) | 一种SDN网络中Openflow的Group表的管理方法和设备 | |
US8537720B2 (en) | Aggregating data traffic from access domains | |
CN107171883A (zh) | 检测转发表的方法、装置和设备 | |
CN103944828A (zh) | 一种协议报文的传输方法和设备 | |
CN104852828B (zh) | 一种网络时延检测方法,装置及系统 | |
CN102571492B (zh) | 检测路由设备故障的方法和装置 | |
US8520534B2 (en) | In-service throughput testing in distributed router/switch architectures | |
CN102347905A (zh) | 一种网络设备及其转发信息更新方法 | |
CN104243205A (zh) | 一种虚拟交换机故障时的报文处理方法和设备 | |
CN105743687B (zh) | 节点故障的判断方法及装置 | |
CN101909006B (zh) | 双向转发检测报文发送、接收方法及其装置与通信系统 | |
CN102158422B (zh) | 一种用于二层环网中的报文转发的方法和设备 | |
EP3203693B1 (en) | User message forwarding control method and processing node | |
CN108989204B (zh) | 一种链路状态确定方法及设备 | |
CN104219149A (zh) | 一种基于虚连接的报文传输方法和设备 | |
US9379938B2 (en) | Method and system for SOAM flow switching | |
CN110784378B (zh) | 使用twamp实现精准流量均衡的方法及装置 | |
WO2011124178A2 (zh) | 故障检测方法、路由节点及系统 | |
CN104168169B (zh) | 一种mac表项删除方法和设备 | |
US8614958B2 (en) | Systems and methods of snooping connectivity fault messages to configure maintenance end point for alarm suppression messages | |
CN104518902A (zh) | 一种应用软件定义网络优化二层网络流量的方法和设备 | |
CN113489613B (zh) | 报文转发方法及装置 | |
Senthilkumaran et al. | Memory and load-aware traffic rerouting (mltr) in openflow-based sdn | |
CN104092582A (zh) | 一种链路故障的检测方法和设备 | |
CN105634839A (zh) | 一种用于获得网络可达地址空间的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |