CN107547420B - 一种流表控制方法和装置 - Google Patents
一种流表控制方法和装置 Download PDFInfo
- Publication number
- CN107547420B CN107547420B CN201710335805.5A CN201710335805A CN107547420B CN 107547420 B CN107547420 B CN 107547420B CN 201710335805 A CN201710335805 A CN 201710335805A CN 107547420 B CN107547420 B CN 107547420B
- Authority
- CN
- China
- Prior art keywords
- flow table
- event
- network device
- specified type
- controller
- 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.)
- Active
Links
Images
Abstract
本申请提供一种流表控制方法和装置,该方法包括:确定网络设备上发生指定类型事件;确定与所述指定类型事件匹配的异常信息;向控制器发送通知消息,所述通知消息携带所述异常信息,以使所述控制器根据所述异常信息对所述网络设备的流表进行控制;其中,指定类型事件包括能够导致流表异常的事件。通过本申请的技术方案,可以避免报文转发路径、流表的反复调整,减少报文转发路径、流表的无效计算,避免网路震荡,增强网络稳定性和健壮性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种流表控制方法和装置。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,是网络虚拟化的一种实现方式,通过将网络设备(如路由器或者交换机等)的控制平面与转发平面分离开来,从而实现网络流量的灵活控制。控制器和网络设备是SDN的重要组成部分,控制器用于根据报文特征信息或者用户配置信息生成流表,并将流表下发给网络设备,而网络设备用于根据该流表转发报文。
为了实现控制器与网络设备的通信,在控制器与网络设备之间建立TCP(Transmission Control Protocol,传输控制协议)连接。而且,控制器周期性向网络设备发送检测报文,若在预设时间内未接收到针对该检测报文的响应报文,就认为TCP连接断开。然后,控制器调整报文转发路径,并重新生成以及下发流表。但实际上,TCP连接断开可能只是短暂的,当TCP连接重新恢复后,控制器又需要调整报文转发路径,并重新生成以及下发流表。显然,上述方式会导致报文转发路径、流表的反复调整,导致网路震荡,引起网络的不稳定。
发明内容
本申请提供一种流表控制方法,应用于网络设备,所述方法包括:
确定所述网络设备上发生指定类型事件;
确定与所述指定类型事件匹配的异常信息;
向控制器发送通知消息,所述通知消息携带所述异常信息,以使所述控制器根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件。
本申请提供一种流表控制方法,应用于控制器,所述方法包括:
接收网络设备发送的通知消息,所述通知消息携带与指定类型事件匹配的异常信息;所述通知消息是所述网络设备在发生指定类型事件时发送的;
根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件。
本申请提供一种流表控制装置,应用于网络设备,所述装置包括:
第一确定模块,用于确定所述网络设备上发生指定类型事件;
第二确定模块,用于确定与所述指定类型事件匹配的异常信息;
发送模块,用于向控制器发送通知消息,所述通知消息携带所述异常信息,以使所述控制器根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件。
本申请提供一种流表控制装置,应用于控制器,所述装置包括:
接收模块,用于接收网络设备发送的通知消息,所述通知消息携带与指定类型事件匹配的异常信息;通知消息是网络设备在发生指定类型事件时发送的;
控制模块,用于根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件。
基于上述技术方案,本申请实施例中,网络设备可以在发生指定类型事件时,将与指定类型事件匹配的异常信息发送给控制器,控制器根据异常信息对网络设备的流表进行控制,这样可以避免报文转发路径、流表的反复调整,减少报文转发路径、流表的无效计算,避免网路震荡,增强网络稳定性和健壮性。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的流表控制方法的流程图;
图2是本申请一种实施方式中的应用场景示意图;
图3是本申请一种实施方式中的流表控制装置的结构图;
图4是本申请一种实施方式中的网络设备的硬件结构图;
图5是本申请一种实施方式中的流表控制装置的结构图;
图6是本申请一种实施方式中的控制器的硬件结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本申请实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或者,“当……时”,或者,“响应于确定”。
本申请实施例提出一种流表控制方法,该方法可以应用于包括网络设备和控制器(如SDN控制器)的网络(如SDN)。参见图1所示,为该流表控制方法的流程示意图,该方法可以包括以下步骤:
步骤101,网络设备确定本网络设备上发生指定类型事件,该指定类型事件可以包括能够导致流表异常的事件。其中,指定类型事件可以为:ISSU(In-Service SoftwareUpgrade,不中断业务升级)事件、或者主备倒换事件、或者配置变化事件。当然,指定类型事件并不局限于此,对此指定类型事件不做限制,所有能够导致流表异常的事件均在本申请实施例的保护范围之内,在此不再赘述。
步骤102,网络设备确定与该指定类型事件匹配的异常信息。
在一个例子中,当该指定类型事件为ISSU事件时,则该异常信息可以包括ISSU事件标识,且该ISSU事件标识用于使控制器对该网络设备的流表进行冻结处理。或者,当该指定类型事件为主备倒换事件时,则该异常信息可以包括主备倒换标识,且该主备倒换标识用于使控制器对该网络设备的流表进行平滑处理。或者,当该指定类型事件为配置变化事件时,则该异常信息可以包括配置变化标识和失效流表信息,且该配置变化标识和该失效流表信息用于使控制器查询出该网络设备上的失效流表,并对该失效流表进行更新处理。
在一个例子中,当指定类型事件为配置变化事件时,为了得到失效流表信息,则网络设备还可以从硬件转发表中删除与该配置变化事件匹配的流表;然后,将被删除的流表确定为失效流表,并确定该失效流表的失效流表信息。
步骤103,网络设备向控制器发送通知消息,该通知消息携带该异常信息。
步骤104,控制器接收网络设备发送的携带异常信息的通知消息。
步骤105,控制器根据该异常信息对网络设备的流表进行控制。
在一个例子中,针对“控制器根据该异常信息对网络设备的流表进行控制”的过程,可以包括:当指定类型事件为ISSU事件时,则控制器可以从该通知消息中解析出ISSU事件标识,并根据该ISSU事件标识对网络设备的流表进行冻结处理;或者,当指定类型事件为主备倒换事件时,则控制器可以从该通知消息中解析出主备倒换标识,并根据该主备倒换标识对网络设备的流表进行平滑处理;或者,当指定类型事件为配置变化事件时,则控制器可以从该通知消息中解析出配置变化标识和失效流表信息,并根据该配置变化标识和该失效流表信息查询出网络设备上的失效流表,并对所述失效流表进行更新处理。
具体的,控制器在接收到通知消息之后,若从该通知消息中解析出ISSU事件标识(如标记A),就可以认为网络设备发生ISSU事件,并对该网络设备的流表进行冻结处理。若从该通知消息中解析出主备倒换标识(如标记B),就可以认为网络设备发生主备倒换事件,并对该网络设备的流表进行平滑处理。若从该通知消息中解析出配置变化标识(如标记C),就可以认为网络设备发生配置变化事件,并从该通知消息中解析出失效流表信息,并根据所述失效流表信息查询出该网络设备上的失效流表,并对所述失效流表进行更新处理。
在一个例子中,针对“控制器对网络设备的流表进行冻结处理”的过程,可以包括:在控制器与网络设备之间的连接断开之后,控制器禁止根据网络设备的连接断开状态,调整报文转发路径、重新生成以及下发流表;在控制器与网络设备之间的连接恢复之后,控制器禁止对网络设备的流表进行平滑处理。
在一个例子中,针对“控制器对网络设备的流表进行平滑处理”的过程,可以包括:控制器从网络设备上获取所有流表(将其称为第一类流表),并从控制器本地获取与该网络设备有关的流表(将其称为第二类流表);如果第一类流表和第二类流表相同,则结束流程;如果第一类流表和第二类流表不同,则将第二类流表中存在、但是第一类流表中不存在的流表,下发给网络设备。
在一个例子中,针对“控制器根据失效流表信息查询出网络设备上的失效流表,并对所述失效流表进行更新处理”的过程,可以包括:由于网络设备上的流表均是控制器下发的,且每个流表对应有唯一标识,因此,控制器在得到失效流表信息(也就是失效流表的唯一标识)后,可以从本地查询出与失效流表信息匹配的失效流表。然后,控制器可以从本控制器和网络设备上删除与失效流表信息匹配的失效流表,并调整报文转发路径、重新生成以及下发流表。
基于上述技术方案,本申请实施例中,网络设备可以在发生指定类型事件时,将与指定类型事件匹配的异常信息发送给控制器,控制器根据异常信息对网络设备的流表进行控制,这样可以避免报文转发路径、流表的反复调整,减少报文转发路径、流表的无效计算,避免网路震荡,增强网络稳定性和健壮性。
以下结合具体应用场景,对上述技术方案进行说明。参见图2所示,为本申请实施例的应用场景示意图,假设报文转发路径是网络设备1-网络设备2-网络设备3,且以网络设备2的处理为例进行说明,其它网络设备的处理类似。
应用场景1:指定类型事件是ISSU事件。
在传统方式中,在网络设备2执行ISSU期间,控制器与网络设备2之间的TCP连接断开,控制器认为网络设备2离开,计算新的报文转发路径为:网络设备1-网络设备4-网络设备5-网络设备3。因此,控制器为网络设备1生成新流表(原流表的下一跳是网络设备2,新流表的下一跳是网络设备4),而且,为网络设备4生成流表,为网络设备5生成流表,并删除网络设备2的流表。
此外,在网络设备2的ISSU结束之后,控制器与网络设备2之间的TCP连接重新恢复,控制器计算新的报文转发路径为:网络设备1-网络设备2-网络设备3。因此,控制器为网络设备1生成新流表(原流表的下一跳是网络设备4,新流表的下一跳是网络设备2),而且,控制器可以为网络设备2生成流表(下一跳是网络设备3),并删除网络设备4的流表,删除网络设备5的流表。
显然,上述方式会导致报文转发路径、流表的反复调整,导致网路震荡。
本实施例中,网络设备2在确定发生ISSU事件时,确定与ISSU事件匹配的异常信息(如ISSU事件标识),并在执行ISSU事件之前,向控制器发送携带该ISSU事件标识的通知消息(由于何时执行ISSU事件是网络设备2控制的,因此可以在执行ISSU事件之前发送通知消息)。控制器在接收到通知消息后,从该通知消息中解析出ISSU事件标识,并对网络设备2的流表进行冻结处理。
其中,针对“控制器对网络设备2的流表进行冻结处理”的过程,在控制器与网络设备2之间的连接断开之后,则控制器禁止根据网络设备2的连接断开状态,调整报文转发路径、重新生成以及下发流表。而且,在控制器与网络设备之间的连接恢复之后,则控制器禁止对网络设备的流表进行平滑处理。
例如,在网络设备2执行ISSU期间,虽然控制器与网络设备2之间的TCP连接断开,但是由于控制器已经从通知消息中解析出ISSU事件标识,即获知TCP连接断开的原因是网络设备2执行ISSU,因此不认为网络设备2离开,不会计算新的报文转发路径,报文转发路径仍然是网络设备1-网络设备2-网络设备3。控制器不会为网络设备1生成新流表(即流表下一跳仍然是网络设备2),不会为网络设备4、网络设备5生成流表,不会删除网络设备2的流表。
此外,在网络设备2的ISSU结束之后,控制器与网络设备2之间的TCP连接重新恢复,控制器不会计算新的报文转发路径,报文转发路径仍然是网络设备1-网络设备2-网络设备3。控制器不会为网络设备1生成新流表(即流表下一跳仍然是网络设备2),不会为网络设备2生成新流表。综上所述,网络设备2的ISSU过程,不会导致报文转发路径的变化,也不会导致流表的变化。
在一个例子中,上述“报文转发路径不发生变化,流表不发生变化”的原因是:为了实现ISSU,保证经过网络设备2的流量不会由于ISSU而中断,使得业务不受影响,则网络设备2包括主控板1和主控板2,当主控板1进行ISSU时,将主控板1上的所有流表备份到主控板2,这样,主控板2可以基于这些流表传输报文,报文转发路径仍然是网络设备1-网络设备2-网络设备3,且网络设备2的流表不会发生变化。在主控板1的ISSU结束之后,将主控板2上的所有流表恢复到主控板1,这样,主控板1可以基于这些流表传输报文,报文转发路径仍然是网络设备1-网络设备2-网络设备3,且网络设备2的流表不会发生变化。
基于上述技术方案,可以避免报文转发路径、流表的反复调整,减少报文转发路径、流表的无效计算,避免网路震荡,增强网络稳定性和健壮性。
在传统方式中,在控制器与网络设备2之间的连接恢复之后,则控制器还可以对网络设备2的流表进行平滑处理。具体的,控制器从网络设备2上获取所有流表(将其称为第一类流表),并从控制器本地获取与网络设备2有关的流表(将其称为第二类流表);如果第一类流表和第二类流表相同,则结束平滑处理流程;如果第一类流表和第二类流表不同,则将第二类流表中存在、但是第一类流表中不存在的流表,下发给网络设备2。平滑处理需要针对网络设备2的每个流表执行上述操作,这个操作的耗时比较长,无用操作比较多。
本实施例中,在控制器与网络设备2之间的连接恢复之后,则控制器禁止对网络设备2的流表进行平滑处理,减少了不必要的平滑开销。具体的,由于在网络设备2的ISSU过程中,网络设备2的流表未发生变化,因此,在网络设备2的ISSU结束之后,即控制器与网络设备2之间的连接恢复之后,不用对网络设备2的流表进行平滑处理,也可以保证第一类流表和第二类流表一致。
应用场景2:指定类型事件是主备倒换事件。
在传统方式中,网络设备2可以包括主控板1和主控板2,其中,主控板1是主用主控板,而主控板2是备用主控板。当主控板1发生故障时,则可以将业务迁移到主控板2,主控板2可以充当主用主控板,并完成主用主控板的工作,上述过程也就是主备倒换过程。为了提高网络设备运行的可靠性,在一种实现方式中,当网络设备2发生主备倒换时,可以使控制器与网络设备2之间的TCP连接不会断开,而且,控制器不会对网络设备2的流表进行平滑处理。其中,“当网络设备2发生主备倒换时,控制器与网络设备2之间的TCP连接不会断开”的原因可以是:在控制器与网络设备2建立TCP连接时,控制器是与备用主控板(主控板2)建立TCP连接,而不是与主用主控板(主控板1)建立TCP连接,备用主控板通过该TCP连接接收到来自控制器的报文后,将报文发送给主用主控板,备用主控板接收到来自主用主控板的报文后,通过该TCP连接将报文发送给控制器。在此基础上,当网络设备2发生主备倒换(即主用主控板发生故障,由备用主控板充当主用主控板)时,由于是在控制器与备用主控板之间建立连接,因此控制器与网络设备2之间的TCP连接不会断开。
但实际上,流表下发过程是:控制器将多个流表(如流表1-流表10)发送到主控板1的CPU(Central Processing Unit,中央处理器)队列,主控板1依次将CPU队列中的每个流表下发到硬件转发表,并同步给主控板2,假设将流表6下发到硬件转发表,并同步给主控板2后,发生主备倒换,则同步给主控板2的流表只有流表1-流表6,而不包括流表7-流表10,但控制器认为已经将流表1-流表10下发到网络设备2,从而导致控制器无法感知网络设备2的流表状况。
在本申请实施例中,网络设备2在确定发生主备倒换事件时,则可以确定与该主备倒换事件匹配的异常信息(如主备倒换标识),并可以向控制器发送携带该主备倒换标识的通知消息。控制器在接收到该通知消息之后,从该通知消息中解析出该主备倒换标识,并对网络设备2的流表进行平滑处理。
其中,针对“控制器对网络设备2的流表进行平滑处理”的过程,控制器从网络设备2上获取所有流表(将其称为第一类流表),并从控制器本地获取与网络设备2有关的流表(将其称为第二类流表);如果第一类流表和第二类流表相同,则结束平滑处理流程;如果第一类流表和第二类流表不同,则将第二类流表中存在、但是第一类流表中不存在的流表,下发给网络设备2。
基于上述技术方案,当网络设备2发生主备倒换事件时,即使控制器与网络设备2之间的TCP连接未断开,控制器也可以对网络设备2的流表进行平滑处理,使得第一类流表和第二类流表一致,保证网络设备2上流表的准确性。
应用场景3:指定类型事件是配置变化事件。
网络设备2可以维护软件转发表(由CPU维护)和硬件转发表(由转发芯片维护),网络设备2在接收到控制器发送的流表(如流表1-流表10)后,先将流表1-流表10存储到软件转发表,然后将流表1-流表10存储到硬件转发表。
在传统方式中,当网络设备2的配置(如接口配置或者VXLAN(Virtual ExtensibleLocal Area Network,虚拟可扩展局域网)配置等)发生变化时,则与该配置匹配的流表就会失效。例如,若流表1的出接口为接口A,且接口A的配置发生变化,则流表1失效。又例如,若流表2的出接口为VXLAN隧道A,且VXLAN隧道A的VXLAN标识由100更改为200,则流表2失效。在配置发生变化时,网络设备2会从硬件转发表中删除与该配置匹配的流表(即失效流表),但是,网络设备2不会从软件转发表中删除与该配置匹配的流表。
其中,网络设备2从硬件转发表中删除与该配置匹配的流表,但是,网络设备2不从软件转发表中删除与该配置匹配的流表的原因是:对于软件转发表中流表的删除,只能基于控制器的命令实现,网络设备2不能主动删除软件转发表中的流表,而对于硬件转发表中流表的删除,网络设备2可以主动删除。
显然,上述实现方式会导致硬件转发表中的流表与软件转发表中的流表不同,且软件转发表中会存在失效流表(即与配置匹配的流表),而且,控制器无法感知网络设备2的流表状况,也就无法对网络设备2的流表进行调整。
本申请实施例中,网络设备2在确定发生配置变化事件时,确定与该配置变化事件匹配的异常信息(如配置变化标识和失效流表信息),并向控制器发送携带该配置变化标识和该失效流表信息的通知消息。控制器在接收到该通知消息之后,从该通知消息中解析出该配置变化标识和该失效流表信息,根据该失效流表信息查询出网络设备2上的失效流表,并对该失效流表进行更新处理。
其中,针对“网络设备2确定与该配置变化事件匹配的失效流表信息”的过程,可以包括:在配置发生变化时,网络设备2会从硬件转发表中删除与该配置匹配的流表,并将被删除的流表确定为失效流表,并确定该失效流表的失效流表信息,也就是失效流表的唯一标识,如失效流表的Cookie信息等。
在一个例子中,针对“控制器根据该失效流表信息查询出网络设备2上的失效流表,并对该失效流表进行更新处理”的过程,可以包括:控制器在得到该失效流表信息后,由于失效流表信息具有唯一性,因此可以从本地查询出与该失效流表信息匹配的失效流表,并可以从本控制器和网络设备上删除与该失效流表信息匹配的失效流表,并调整报文转发路径、重新生成以及下发流表。
例如,当网络设备2上的流表1(流表1是网络设备2向网络设备3发送报文时使用的流表)失效时,网络设备2从硬件转发表中删除流表1,但是不从软件转发表中删除流表1。然后,网络设备2向控制器发送携带配置变化标识和流表1的Cookie信息的通知消息,而控制器在接收到该通知消息后,从本控制器上删除流表1,并向网络设备2发送删除流表1的命令,而网络设备2在接收到该命令后,从软件转发表中删除流表1。进一步的,控制器在删除流表1之后,会发现报文无法从网络设备2传输给网络设备3,因此需要调整报文转发路径、重新生成和下发流表。例如,控制器计算新的报文转发路径为:网络设备1-网络设备4-网络设备5-网络设备3,为网络设备1生成新流表(新流表的下一跳是网络设备4),为网络设备4生成流表,为网络设备5生成流表,对此不做限制。
基于上述技术方案,控制器可以感知网络设备2的流表状况,可以对网络设备2的流表进行调整,可以保证网络设备2的硬件转发表中的流表与软件转发表中的流表一致,避免软件转发表中存在失效流表,避免报文丢失(在传统方式中,若流表1已经失效,且控制器没有调整报文转发路径、重新生成以及下发流表,就会导致网络设备2传输给网络设备3的报文发生丢失)。
在一个例子中,针对上述三个应用场景,通知消息可以包括头字段(header)、标记字段(flags)、信息字段(info)。该头字段可以包括控制器的地址信息(如IP地址和MAC地址等)和网络设备2的地址信息(如IP地址和MAC地址等)。
当标记字段的取值为第一数值(如0)时,表示通知消息是reststart(升级开始)消息,以用于区分其它类型的通知消息,在此情况下,信息字段携带ISSU事件标识等异常信息。当标记字段的取值为第二数值(如1)时,表示通知消息是reqsmooth(触发平滑)消息,以用于区分其它类型的通知消息,在此情况下,信息字段携带主备倒换标识等异常信息。当标记字段的取值为第三数值(如2)时,表示通知消息是uneffect(失效)消息,以用于区分其它类型的通知消息,在此情况下,信息字段携带配置变化标识和失效流表信息等异常信息。
针对应用场景1,在实际应用中,当网络设备2的ISSU完成,且网络设备2与控制器之间的TCP连接恢复后,网络设备2还可以向控制器发送通知消息,该通知消息用于表示网络设备2的ISSU完成,由控制器解除对网络设备2的流表的冻结处理。其中,该通知消息的标记字段的取值为第四数值(如3),表示通知消息是restend(重新恢复)消息,以用于区分其它类型的通知消息,在此情况下,信息字段携带ISSU事件标识,且表示ISSU事件已经被执行完成。
基于与上述方法同样的申请构思,本申请实施例中还提出了一种流表控制装置,该流表控制装置可以应用于网络设备,如图3所示,为本申请实施例提出的流表控制装置的结构图,所述流表控制装置可以包括:
第一确定模块301,用于确定所述网络设备上发生指定类型事件;
第二确定模块302,用于确定与所述指定类型事件匹配的异常信息;
发送模块303,用于向控制器发送通知消息,所述通知消息携带所述异常信息,以使所述控制器根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件。
所述第一确定模块301确定的所述指定类型事件具体可以包括但不限于:不中断业务升级ISSU事件、或者主备倒换事件、或者配置变化事件;
当所述指定类型事件为ISSU事件时,则所述第二确定模块302确定的所述异常信息包括ISSU事件标识,所述ISSU事件标识用于使控制器对所述网络设备的流表进行冻结处理;或者,当所述指定类型事件为主备倒换事件时,则所述第二确定模块302确定的所述异常信息包括主备倒换标识,所述主备倒换标识用于使控制器对所述网络设备的流表进行平滑处理;或者,当所述指定类型事件为配置变化事件时,则所述第二确定模块302确定的所述异常信息包括配置变化标识和失效流表信息,所述配置变化标识和所述失效流表信息用于所述使控制器查询出所述网络设备上的失效流表,并对所述失效流表进行更新处理。
在一个例子中,当所述指定类型事件为配置变化事件时,所述第二确定模块302,还用于从硬件转发表中删除与所述配置变化事件匹配的流表,并将被删除的流表确定为失效流表,并确定所述失效流表的失效流表信息。
本申请实施例提供的网络设备,从硬件层面而言,其硬件架构示意图具体可以参见图4所示。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的流表控制操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
基于与上述方法同样的申请构思,本申请实施例中还提出了一种流表控制装置,该流表控制装置可以应用于控制器,如图5所示,为本申请实施例提出的流表控制装置的结构图,所述流表控制装置可以包括:
接收模块501,用于接收网络设备发送的通知消息,该通知消息携带与指定类型事件匹配的异常信息;通知消息是网络设备在发生指定类型事件时发送的;
控制模块502,用于根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件。
在一个例子中,所述指定类型事件具体可以包括但不限于:不中断业务升级ISSU事件、或者主备倒换事件、或者配置变化事件;
所述控制模块502,具体用于在根据所述异常信息对所述网络设备的流表进行控制的过程中,当所述指定类型事件为ISSU事件时,从所述通知消息中解析出ISSU事件标识,并根据所述ISSU事件标识对所述网络设备的流表进行冻结处理;或者,当所述指定类型事件为主备倒换事件时,从所述通知消息中解析出主备倒换标识,并根据所述主备倒换标识对所述网络设备的流表进行平滑处理;或者,当所述指定类型事件为配置变化事件时,从所述通知消息中解析出配置变化标识和失效流表信息,并根据所述配置变化标识和所述失效流表信息查询出所述网络设备上的失效流表,并对所述失效流表进行更新处理。
在一个例子中,所述控制模块502,具体用于在根据所述ISSU事件标识对所述网络设备的流表进行冻结处理的过程中,在所述控制器与所述网络设备之间的连接断开后,禁止根据所述网络设备的连接断开状态,调整报文转发路径、重新生成以及下发流表;在所述控制器与所述网络设备之间的连接恢复后,禁止对所述网络设备的流表进行平滑处理。
本申请实施例提供的控制器,从硬件层面而言,其硬件架构示意图具体可以参见图6所示。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的流表控制操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种流表控制方法,其特征在于,应用于网络设备,所述方法包括:
确定所述网络设备上发生指定类型事件;
确定与所述指定类型事件匹配的异常信息;
向控制器发送通知消息,所述通知消息携带所述异常信息,以使所述控制器根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件;所述指定类型事件具体为:不中断业务升级ISSU事件、或者主备倒换事件、或者配置变化事件。
2.根据权利要求1所述的方法,其特征在于,
当所述指定类型事件为ISSU事件时,所述异常信息包括ISSU事件标识,所述ISSU事件标识用于使控制器对所述网络设备的流表进行冻结处理;或者,
当所述指定类型事件为主备倒换事件时,所述异常信息包括主备倒换标识,所述主备倒换标识用于使控制器对所述网络设备的流表进行平滑处理;或者,
当所述指定类型事件为配置变化事件时,所述异常信息包括配置变化标识和失效流表信息,所述配置变化标识和所述失效流表信息用于所述使控制器查询出所述网络设备上的失效流表,并对所述失效流表进行更新处理。
3.根据权利要求2所述的方法,其特征在于,当所述指定类型事件为配置变化事件时,所述向控制器发送通知消息之前,所述方法还包括:
从硬件转发表中删除与所述配置变化事件匹配的流表;
将被删除的流表确定为失效流表,并确定所述失效流表的失效流表信息。
4.一种流表控制方法,其特征在于,应用于控制器,所述方法包括:
接收网络设备发送的通知消息,所述通知消息携带与指定类型事件匹配的异常信息;所述通知消息是所述网络设备在发生指定类型事件时发送的;
根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件;所述指定类型事件具体为:不中断业务升级ISSU事件、或者主备倒换事件、或者配置变化事件。
5.根据权利要求4所述的方法,其特征在于,
所述根据所述异常信息对所述网络设备的流表进行控制的过程,具体包括:
当所述指定类型事件为ISSU事件时,从所述通知消息中解析出ISSU事件标识,并根据所述ISSU事件标识对所述网络设备的流表进行冻结处理;或者,
当所述指定类型事件为主备倒换事件时,从所述通知消息中解析出主备倒换标识,并根据所述主备倒换标识对所述网络设备的流表进行平滑处理;或者,
当所述指定类型事件为配置变化事件时,从所述通知消息中解析出配置变化标识和失效流表信息,并根据所述配置变化标识和所述失效流表信息查询出所述网络设备上的失效流表,并对所述失效流表进行更新处理。
6.根据权利要求5所述的方法,其特征在于,所述根据所述ISSU事件标识对所述网络设备的流表进行冻结处理的过程,具体包括:
在所述控制器与所述网络设备之间的连接断开后,禁止根据所述网络设备的连接断开状态,调整报文转发路径、重新生成以及下发流表;在所述控制器与所述网络设备之间的连接恢复后,禁止对所述网络设备的流表进行平滑处理。
7.一种流表控制装置,其特征在于,应用于网络设备,所述装置包括:
第一确定模块,用于确定所述网络设备上发生指定类型事件;
第二确定模块,用于确定与所述指定类型事件匹配的异常信息;
发送模块,用于向控制器发送通知消息,所述通知消息携带所述异常信息,以使所述控制器根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件;所述指定类型事件具体为:不中断业务升级ISSU事件、或者主备倒换事件、或者配置变化事件。
8.根据权利要求7所述的装置,其特征在于,
当所述指定类型事件为ISSU事件时,则所述第二确定模块确定的所述异常信息包括ISSU事件标识,且所述ISSU事件标识用于使控制器对所述网络设备的流表进行冻结处理;或者,当所述指定类型事件为主备倒换事件时,则所述第二确定模块确定的所述异常信息包括主备倒换标识,且所述主备倒换标识用于使控制器对所述网络设备的流表进行平滑处理;或者,当所述指定类型事件为配置变化事件时,则所述第二确定模块确定的所述异常信息包括配置变化标识和失效流表信息,且所述配置变化标识和所述失效流表信息用于所述使控制器查询出所述网络设备上的失效流表,并对所述失效流表进行更新处理。
9.根据权利要求7所述的装置,其特征在于,
当所述指定类型事件为配置变化事件时,所述第二确定模块,还用于从硬件转发表中删除与所述配置变化事件匹配的流表,并将被删除的流表确定为失效流表,并确定所述失效流表的失效流表信息。
10.一种流表控制装置,其特征在于,应用于控制器,所述装置包括:
接收模块,用于接收网络设备发送的通知消息,所述通知消息携带与指定类型事件匹配的异常信息;通知消息是网络设备在发生指定类型事件时发送的;
控制模块,用于根据所述异常信息对所述网络设备的流表进行控制;
其中,所述指定类型事件包括能够导致流表异常的事件;所述指定类型事件具体为:不中断业务升级ISSU事件、或者主备倒换事件、或者配置变化事件。
11.根据权利要求10所述的装置,其特征在于,
所述控制模块,具体用于在根据所述异常信息对所述网络设备的流表进行控制的过程中,当所述指定类型事件为ISSU事件时,从所述通知消息中解析出ISSU事件标识,并根据所述ISSU事件标识对所述网络设备的流表进行冻结处理;或者,当所述指定类型事件为主备倒换事件时,从所述通知消息中解析出主备倒换标识,并根据所述主备倒换标识对所述网络设备的流表进行平滑处理;或者,当所述指定类型事件为配置变化事件时,从所述通知消息中解析出配置变化标识和失效流表信息,并根据所述配置变化标识和所述失效流表信息查询出所述网络设备上的失效流表,并对所述失效流表进行更新处理。
12.根据权利要求11所述的装置,其特征在于,所述控制模块,具体用于在根据所述ISSU事件标识对所述网络设备的流表进行冻结处理的过程中,在所述控制器与所述网络设备之间的连接断开后,禁止根据所述网络设备的连接断开状态,调整报文转发路径、重新生成以及下发流表;在所述控制器与所述网络设备之间的连接恢复后,禁止对所述网络设备的流表进行平滑处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710335805.5A CN107547420B (zh) | 2017-05-12 | 2017-05-12 | 一种流表控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710335805.5A CN107547420B (zh) | 2017-05-12 | 2017-05-12 | 一种流表控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547420A CN107547420A (zh) | 2018-01-05 |
CN107547420B true CN107547420B (zh) | 2020-06-09 |
Family
ID=60966269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710335805.5A Active CN107547420B (zh) | 2017-05-12 | 2017-05-12 | 一种流表控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547420B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064622B (zh) * | 2019-12-26 | 2022-03-25 | 新华三大数据技术有限公司 | 网络设备、同步装置及信息传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601470A (zh) * | 2015-01-21 | 2015-05-06 | 杭州华三通信技术有限公司 | 一种流表处理方法及装置 |
CN105933253A (zh) * | 2016-04-13 | 2016-09-07 | 浪潮集团有限公司 | 一种sdn网络下交换机配置恢复方法 |
CN105959221A (zh) * | 2016-06-29 | 2016-09-21 | 中国电子科技集团公司第五十四研究所 | 软件定义卫星网络中的流表更新及流表一致性优化的方法 |
CN106027497A (zh) * | 2016-05-04 | 2016-10-12 | 山东大学 | 面向SDN的基于OpenFlow-DPM的DDoS溯源与源端过滤方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9699064B2 (en) * | 2015-07-20 | 2017-07-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and an apparatus for network state re-construction in software defined networking |
-
2017
- 2017-05-12 CN CN201710335805.5A patent/CN107547420B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104601470A (zh) * | 2015-01-21 | 2015-05-06 | 杭州华三通信技术有限公司 | 一种流表处理方法及装置 |
CN105933253A (zh) * | 2016-04-13 | 2016-09-07 | 浪潮集团有限公司 | 一种sdn网络下交换机配置恢复方法 |
CN106027497A (zh) * | 2016-05-04 | 2016-10-12 | 山东大学 | 面向SDN的基于OpenFlow-DPM的DDoS溯源与源端过滤方法 |
CN105959221A (zh) * | 2016-06-29 | 2016-09-21 | 中国电子科技集团公司第五十四研究所 | 软件定义卫星网络中的流表更新及流表一致性优化的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107547420A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667695B (zh) | 一种bras转控分离的备份方法和装置 | |
CN108243106B (zh) | 控制网络切片的方法、转发设备、控制设备和通信系统 | |
US20170142000A1 (en) | Packet control method, switch, and controller | |
CN108667575B (zh) | 一种bras转控分离的备份方法和装置 | |
US9401958B2 (en) | Method, apparatus, and system for migrating user service | |
CN107786450B (zh) | 一种数据报文传输方法、装置及机器可读存储介质 | |
US9401772B2 (en) | Communication system, control device, forwarding node, communication control method, and program | |
CN111431800B (zh) | 一种建立路径的方法、装置、设备及机器可读存储介质 | |
CN108259218B (zh) | 一种ip地址分配方法和装置 | |
CN108390954B (zh) | 一种报文传输方法和设备 | |
CN108566344B (zh) | 一种报文处理方法和装置 | |
CN106453099B (zh) | 一种流表信息的恢复方法及装置 | |
EP2775675B1 (en) | Synchronization method among network devices, network device and system | |
CN107547420B (zh) | 一种流表控制方法和装置 | |
US10171355B2 (en) | Data packet sending method and apparatus | |
CN110708275B (zh) | 一种协议报文的处理方法和装置 | |
CN107919979B (zh) | 控制器状态处理方法及装置 | |
US9743371B2 (en) | Control apparatus, communication system, synchronization method and program | |
US10104018B2 (en) | Method, apparatus, and system for controlling forwarding of service data in virtual network | |
CN104272789A (zh) | 移动通信系统、呼叫处理节点以及通信控制方法 | |
WO2017071430A1 (zh) | 处理报文的方法、网卡及系统、更新信息的方法及主机 | |
KR20160090485A (ko) | 소프트웨어 정의 네트워크에서 분산 컨트롤러를 운용하는 방법 및 장치 | |
CN109842892B (zh) | 一种nsi的pnf更新方法、设备和计算机可读存储介质 | |
CN107888495B (zh) | 一种路由计算方法和装置 | |
CN107547422B (zh) | 一种数据流的监控方法、控制器和交换机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |