CN104836731B - 一种Open Flow协议的Group表处理方法和装置 - Google Patents
一种Open Flow协议的Group表处理方法和装置 Download PDFInfo
- Publication number
- CN104836731B CN104836731B CN201510245687.XA CN201510245687A CN104836731B CN 104836731 B CN104836731 B CN 104836731B CN 201510245687 A CN201510245687 A CN 201510245687A CN 104836731 B CN104836731 B CN 104836731B
- Authority
- CN
- China
- Prior art keywords
- group
- tables
- deleted
- group tables
- idle
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种Open Flow协议的Group表处理方法和装置,其中方法包括:向控制器发送包括待删除Group表的状态信息的Group状态消息,以使控制器根据待删除Group表的状态信息生成Group更新消息;接收控制器发送的Group更新消息,并获取待删除Group表的Group ID和替换Group表的Group ID,其中替换Group表没有动作指令桶,或者,替换Group表的动作指令桶所指定的出端口是空端口;如果根据待删除Group表的Group ID判断出待删除Group表存在于Group链表中,当待删除Group表存在引用Group表时,将待删除Group表的引用Group表的被引用Group表替换成替换Group表,删除待删除Group表。本发明减少了Group表在更新过程中导致的流量丢失。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种软件定义网络(SDN,Software DefinedNetwork)中开放流(Open Flow)协议的Group表处理方法和装置。
背景技术
SDN是一种新型的网络架构,其可以通过Open Flow技术将网络设备的控制面与数据面进行分离,从而实现对网络流量的灵活控制。Group表是Open flow协议中规定的一种流表类型,由控制器生成内容,然后下发到Open flow交换机上,交换机生成相应的流转发表。
在SDN网络中,Open Flow协议的Group表有很多种运用,类型为ALL的Group表用于多播出接口,其中Group表的每个动作指令桶(Bucket)指定一个出接口;类型为Select的Group表用于等价出接口,其中Group表的首个有效的动作指令桶作为真实出接口;类型为Indirect的Group用于下一跳的引用;类型为Fast Failover的Group用于路径切换。Group表可以通过动作指令桶中的动作引用其他Group表,形成Group链表(Group Chain),例如:一个ALL类型的Group1引用一个Select类型的Group2,该Group2可以继续引用FastFailover类型的Group3。通过Group表的运用,控制器可以适配不同的业务,执行不同的数据操作。
当前的Open flow协议标准中,在Group Chain存在的情况下,控制器删除链表中除头节点之外的任何节点时交换机都必须返回失败,控制器必须从引用该Group表的所有的Group Chain的头结点开始更新Group表,直到不再有任何Group引用该Group后才能删除该Group表。对于Group表而言,Open flow交换机实际维护的是转发资源,而Group Chain中的Group表资源受限于是否被其他Group引用,不能及时的释放资源,影响业务的转发流表创建。虽然可以修改Group Chain中上游Group表的内容达到删除目的Group表的目的,但是每次更新Group表时,交换机必须将原有Group表的动作指令桶删除后重新建立,影响原有Group表中的其他指令桶的出接口转发。
发明内容
有鉴于此,本发明提供一种Open Flow协议的Group表处理方法和装置,能够在存在Group Chain的情况下,快速的更新Group Chain上的Group表,从而减少了Group表在更新过程中导致的流量丢失,且提高了SDN网络中Group表转发资源的利用率。
在本发明的一个实施例中,提供一种Open Flow协议的Group表处理方法,应用在SDN中的交换机上,包括:
向控制器发送Group状态消息,所述Group状态消息包括待删除Group表的状态信息,以使所述控制器根据所述待删除Group表的状态信息生成Group更新消息;
接收控制器发送的所述Group更新消息,并从所述Group更新消息中获取待删除Group表的Group ID和替换Group表的Group ID,其中所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group链表Group Chain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
在本发明的另一个实施例中,提供一种Open Flow协议的Group表处理方法,应用在SDN中的控制器上,包括:
预先设置替换Group表,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
接收交换机发送的Group状态消息,所述Group状态消息包括待删除Group表的状态信息;
根据所述待删除Group表的状态信息生成Group更新消息,并向所述交换机发送所述Group更新消息,所述Group更新消息中包括待删除Group表的Group ID和替换Group表的Group ID,以使所述交换机如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group链表Group Chain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
在本发明的又一个实施例中,提供一种Open Flow协议的Group表处理装置,应用在SDN中的交换机上,包括:
发送模块,用于向控制器发送Group状态消息,所述Group状态消息包括待删除Group表的状态信息,以使所述控制器根据所述待删除Group表的状态信息生成Group更新消息;
第一处理模块,用于接收控制器发送的Group更新消息,并从所述Group更新消息中获取待删除Group表的Group ID和替换Group表的Group ID,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
第二处理模块,用于如果根据所述待删除Group表的Group ID判断出所述待删除Group表存在于Group链表Group Chain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
在本发明的再一个实施例中,提供一种Open Flow协议的Group表处理装置,应用在SDN中的控制器上,包括:
设置模块,用于预先设置替换Group表,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
接收模块,用于接收交换机发送的Group状态消息,所述Group状态消息包括待删除Group表的状态信息;
生成发送模块,用于根据所述待删除Group表的状态信息生成Group更新消息,并向所述交换机发送Group更新消息,所述Group更新消息中包括待删除Group表的Group ID和替换Group表的Group ID,以使所述交换机如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group链表中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
由以上技术方案可见,本发明通过定义替换Group表,扩展现有的GroupModification Message并在其中增加Replace Group ID,在待删除Group表存在引用Group表的情况下,只需要将所述待删除Group表的引用Group表的被引用Group表替换成预先定义的替换Group表,就可以删除所述待删除Group表,释放所述待删除Group表的转发资源,因此,能够在存在Group Chain的情况下,快速的更新Group Chain上的Group表,从而减少了Group表在更新过程中导致的流量丢失,同时提高了SDN网络中Group表转发资源的利用率。
附图说明
图1是本发明一种实施方式中Open Flow协议的Group表处理方法的流程图。
图2是本发明另一种实施方式中Open Flow协议的Group表处理方法的流程图。
图3是本发明一种实施方式中Open Flow协议的Group表处理方法的详细流程图。
图4是本发明一种实施方式中Open Flow协议的Group表处理方法的一种具体应用场景示意图。
图5是基于图4应用场景中一交换机上Group Chain的示意图。
图6是本发明一种实施方式中Open Flow协议的Group表处理装置的逻辑结构图。
图7是本发明另一种实施方式中Open Flow协议的Group表处理装置的逻辑结构图。
具体实施方式
本发明针对Group链表上Group表的更新进行优化,最大限度的减少数据业务的转发并合理利用资源。请参考图1,本发明一种实施方式中提供了一种Open Flow协议的Group表处理方法,应用在软件定义网络(SDN)中的Open Flow交换机上,所述方法包括如下步骤:
步骤101,向控制器发送Group状态消息(Group Status Message),所述GroupStatus Message包括待删除Group表的状态信息,以使所述控制器根据所述待删除Group表的状态信息生成Group更新消息(Group Modification Message);
步骤102,接收控制器发送的Group Modification Message,所述GroupModification Message中包括待删除Group表的Group ID和替换Group表的Group ID(Replace Group ID),其中所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
步骤103,如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group链表(Group Chain)中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
现有技术中,若控制器删除Group Chain中的待删除Group表,必须从引用所述待删除Group表的头结点开始更新,直到不再有任何Group表引用和被引用所述待删除Group表后才能删除所述待删除Group表。本发明的Group表处理方法中,定义替换Group表,扩展现有的Group Modification Message并在其中增加Replace Group ID,当需要对GroupChain中的Group表进行删除时,在所述待删除Group表存在引用Group表的情况下,只需要将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,就可以删除所述待删除Group表。通过这种方式,能够快速的更新Group Chain上的Group表,从而减少了Group表在更新过程中导致的流量丢失,同时提高了SDN网络中Group表转发资源的利用率。
请参考图2,本发明另一种实施方式中提供了一种Open Flow协议的Group表处理方法,应用在SDN中的控制器上,所述方法包括如下步骤:
步骤201,预先设置替换Group表,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
步骤202,接收交换机发送的Group Status Message,所述Group Status Message包括待删除Group表的状态信息,根据所述待删除Group表的状态信息生成GroupModification Message;
步骤203,向所述交换机发送Group Modification Message,所述GroupModification Message中包括待删除Group表的Group ID和替换Group表的Group ID,以使所述交换机如果根据所述待删除Group表的Group ID判断出待删除Group表存在于GroupChain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
请参考图3,本发明再一种实施方式中提供了一种Group表处理方法,作为对图1和图2所示的Open Flow协议的Group表处理方法的详细描述,包括以下步骤:
步骤301,交换机向控制器发送Group Status Message,所述Group StatusMessage包括待删除Group表的状态信息。
具体地,如果Group Chain中有group表由于下一跳接口失效等原因需要删除,交换机向控制器通过发送Group Status Message向控制器反馈待删除group表的状态信息,所述状态信息包括待删除的状态以及待删除group表的Group ID等信息。
步骤302,根据所述待删除Group表的Group状态消息,控制器生成GroupModification Message并向交换机发送所述Group Modification Message,所述GroupModification Message包括待删除Group表的Group ID和替换Group表的Group ID,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口。
具体地,和现有技术相比,在本发明中的控制器预先定义一替换Group表,所述替换Group表没有动作指令桶,或者所述替换Group表的动作指令桶所指定的出端口是空端口,因此若Open Flow交换机接收到控制器下发的所述替换Group表,没有资源需要释放,且任何需要丢弃的报文都可以下发流表指定其出接口为所述替换Group表。
如果接收到来自交换机的待删除Group表的Group Status Message,控制器向交换机发送Group Modification Message。和现有技术相比,在本发明中对现有的GroupModification Message进行扩展,增加了Replace Group ID。
步骤303,交换机从所述Group Modification Message获取待删除Group ID和Replace Group ID。
步骤304,根据所述待删除Group ID,交换机判断待删除Group表是否存在于GroupChain中,如果不存在,进行步骤305;如果存在,进行步骤306。
具体地,Group Chain中存储有组成引用链表的所有Group表的Group ID。
在本步骤中,通过在Group Chain中查找是否有所述待删除Group ID来判断所述待删除Group表是否存在于Group Chain中。
步骤305,交换机删除所述待删除Group表,释放所述待删除Group表占用的转发资源。
步骤306,判断所述待删除Group表是否存在引用Group表,如果不存在,进行步骤305;如果存在,进行步骤307。
具体地,Group表通过在动作指令桶中指定下一跳Group表的Group ID来引用其他的Group表,例如:Group A表中的动作指令桶中指定下一跳为Group B表的Group ID和Group C表的Group ID,则Group A表引用Group B表和Group C表,Group A表为Group B表和Group C表的引用Group表,Group B表和Group C表为Group A表的被引用Group表。
在本步骤中,如果在Group Chain中查找到所述待删除Group ID,则待删除Group表存在于Group Chain中,还进一步判断所述待删除Group表是否存在引用Group表。
步骤307,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表,释放所述待删除Group表占用的转发资源。
具体地,和现有技术相比,在本发明中对现有的Group Modification Message的命令(command)类型进行扩展,增加了一替换删除类型OFPGC_REPLACE_DELETE。
在本步骤中,如果所述待删除Group表存在引用Group表,则将所述待删除Group表的引用Group表的被引用Group表的Group ID替换成所述Replace Group ID,然后删除所述待删除Group表,释放所述待删除Group表占用的转发资源。
优选地,本发明的实施例中还可以进行如下步骤:
步骤308,判断所述待删除Group表的被引用Group表是否是闲置Group表,如果是,则进行步骤309;如果不是,则结束本流程。
在本步骤中,如果所述待删除Group表也是引用Group表,则判断被所述待删除Group表的引用Group表是否还存在其他引用Group表,具体可以通过查找所述被引用Group表中是否有除所述待删除Group表之外的引用Group ID来查找是否还存在其他引用Group表。
如果查找到存在其他引用Group表,则所述待删除Group表的被引用Group表不是闲置Group表,结束本流程。如果没有查找到存在其他引用Group表,则需要进一步判断所述待删除Group表的被引用Group表是否被其他流表引用,具体可以通过流表更新消息(FlowModification Message)查询流表判断是否被其他流表引用,其中如何利用流表更新消息查询为本领域技术人员所知,在此不赘述。
如果查找到有被其他流表引用,则所述待删除Group表的被引用Group表也不是闲置Group表,结束本流程。如果没有查找到有被其他流表引用,则所述待删除Group表的被引用Group表是闲置Group表。
在本发明的实施例中,先判断被所述待删除Group表的引用Group表是否还存在其他引用Group表,再判断所述待删除Group表在删除前的被引用Group表是否被其他流表引用,当然也可以有其他的顺序,在此不限定。也就是说,所述待删除Group表的被引用Group表不存在除所述待删除Group表之外的其他引用Group表且没有被其他流表引用,则所述待删除Group表的被引用Group表是闲置Group表。
步骤309,交换机向所述控制器发送Group Status Message,所述Group StatusMessage包括所述闲置Group表的状态信息。
具体地,和现有技术相比,在本发明中,Open Flow交换机通过Group StatusMessage主动将闲置Group表及时上报给控制器。所述Group Status Message包括闲置的状态以及闲置Group表的Group ID等信息。
步骤310,控制器根据闲置Group表的状态信息生成闲置Group表的Group删除消息,并向交换机发送所述闲置Group表的Group删除消息,所述Group删除消息中包括闲置Group表的Group ID。
步骤311,交换机接收到所述Group删除消息后,删除所述闲置Group表,并释放所述闲置Group表的转发资源。
具体地,交换机接收到所述控制器发送的Group删除消息后,获取所述Group删除消息中的闲置Group表的Group ID,根据所述闲置Group表的Group ID删除所述闲置Group表,并释放所述闲置Group表的转发资源。
下面将对Group表更新处理列举具体实例。
如图4所示SDN网络中,SW1、SW2、SW3和SW4都是Open Flow交换机,在OVS(OpenVSwitch)1上存在多播业务,控制器针对这些业务下发了流表,其中流表引用了GroupChain,Group Chain中存在多个Group表,SW1交换机上创建了这些转发流表,并申请了响应的转发资源,业务报文按照流表正常转发,多播流量在SDN网络中分别进行了多播复制、ECMP(Equal-Cost MultiPath,等价路由)和下一跳引用的方式进行了转发。
其中,SW1上多播流量的Group Chain示意图如图5所示,Group10表头结点首先进行两个出接口的复制,出接口分别是Group6和Group5,其中Group6为Select类型,出接口为两个等价的下一跳,最后通过Group4或者Group3转发出去;Group5为Fast Failover类型,出接口为两个主备切换的下一跳,最后通过Group1和Group2转发出去,且Group1引用了Group7用于端口分担。
在某时刻Group1表对应的下一跳出接口失效需要删除,SW1接收到控制器下发的删除命令后不会执行删除操作,而是向控制器返回ERROR消息。因为Group1表被其他Group表引用和被引用,若是直接删除所有引用Group1表的Group Chain,则必然影响多播业务在其他出接口上的流量,所以控制器向SW1下发Group Modification Message,命令类型为OFPGC_REPLACE_DELETE,携带Group 1表的Group ID和Replace Group ID。SW1接收到GroupModification Message后,将Group Chain中所有引用Group1的Group表的被引用者的Group ID替换为Replace Group ID,如图中将Group5表的被引用者替换为Replace GroupID,删除Group 1表,释放Group1表的转发资源,其他业务不受影响。此外,SW1还检查Group1表所引用的Group7表是否是闲置Group表,如果是闲置Group表,SW1向控制器发送GroupStatus Message通知控制器存在闲置Group7表,控制器发起删除闲置Group7表的操作,SW1接收到Group7表的删除消息后,删除Group7表,并释放Group7表的转发资源。
本发明还提供了一种Open Flow协议的Group表处理装置,该装置应用在SDN中的交换机上,作为该逻辑装置的运行载体,所述装置的硬件环境通常至少都包括CPU、内存以及非易失性存储器。请参考图6,在本发明的一种实施方式中,所述装置还包括:
发送模块,用于向控制器发送Group Status Message,所述Group StatusMessage包括待删除Group表的状态信息,以使所述控制器根据所述待删除Group表的状态信息生成Group Modification Message;
第一处理模块,用于接收控制器发送的Group Modification Message,并从所述Group Modification Message中获取待删除Group表的Group ID和替换Group表的GroupID,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
第二处理模块,用于如果根据所述待删除Group表的Group ID判断出所述待删除Group表存在于Group Chain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
其中,第二处理模块,包括:
第一判断模块,用于根据所述待删除Group表的Group ID判断所述待删除Group表是否存在于Group Chain中;
第二判断模块,用于当所述第一判断模块判断出所述待删除Group表存在于GroupChain中后,判断所述待删除Group表是否存在引用Group表;
替换删除模块,用于当所述第二判断模块判断出所述待删除Group表存在引用Group表时将所述待删除Group表的引用Group表的被引用Group表的Group ID替换成所述替换Group ID,并删除所述待删除Group表,释放所述待删除Group表占用的转发资源。
优选地,所述装置,还包括:第三处理模块,用于如果所述待删除Group表的被引用Group表是闲置Group表,向所述控制器发送Group Status Message,所述Group StatusMessage包括所述闲置Group表的状态信息。
其中,所述第三处理模块,包括:
第三判断模块,用于判断所述待删除Group表的被引用Group表是否存在除所述待删除Group表之外的其他引用Group表;
第四判断模块,用于判断所述待删除Group表的被引用Group表是否被其他流表引用;
状态通告模块,用于所述第三判断模块判断出所述待删除Group表的被引用Group表不存在除所述待删除Group表之外的其他引用Group表,以及在第四判断模块判断出所述待删除Group表的被引用Group表没有被其他流表引用,确认所述待删除Group表在删除前的被引用Group表是闲置Group表;向所述控制器发送Group Status Message,所述GroupStatus Message包括所述闲置Group表的状态信息;
删除模块,用于接收到所述控制器发送的Group删除消息后,删除所述闲置Group表,并释放所述闲置Group表的转发资源。
本发明还提供了一种Open Flow协议的Group表处理装置,该装置应用在SDN中的控制上,作为该逻辑装置的运行载体,所述装置的硬件环境通常至少都包括CPU、内存以及非易失性存储器。请参考图7,在本发明的一种实施方式中,所述装置还包括:
设置模块,用于预先设置替换Group表,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
接收模块,用于接收交换机发送的Group Status Message,所述Group StatusMessage包括待删除Group表的状态信息;
生成发送模块,用于根据所述待删除Group表的状态信息生成GroupModification Message,并向所述交换机发送Group Modification Message,所述GroupModification Message中包括待删除Group表的Group ID和替换Group表的Group ID,以使所述交换机如果根据所述待删除Group表的Group ID判断出待删除Group表存在于GroupChain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
此外,所述接收模块,还用于:接收交换机发送的Group Status Message,所述Group Status Message包括闲置Group表的状态信息;
所述生成发送模块,还用于根据所述闲置Group表的状态信息生成Group删除消息,并向所述交换机发送Group删除消息,所述Group删除消息中包括所述闲置Group表的Group ID,以使所述交换机根据所述所述闲置Group表的Group ID删除闲置Group表。
通过以上描述可以看出,通过定义替换Group表,扩展现有的Group ModificationMessage并在其中增加Replace Group ID,在Group Chain中,待删除Group表存在引用Group表的情况下,只需要将所述待删除Group表的引用Group表的被引用Group表替换成预先定义的替换Group表,就可以删除所述待删除Group表,释放所述待删除Group表的转发资源,因此,能够快速的更新Group Chain上的Group表,从而减少了Group表在更新过程中导致的流量丢失,同时提高了SDN网络中Group表转发资源的利用率。
此外,交换机还进一步判断在Group Chain中是否存在闲置Group表,如果存在,主动向控制器上报闲置Group表,从而使得控制器能够及时触发闲置Group表的删除流程,进一步减少了在更新过程中导致的流量丢失和提高了Group表转发资源的利用率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种开放流Open Flow协议的组Group表处理方法,应用在软件定义网络SDN中的交换机上,其特征在于,包括:
向控制器发送Group状态消息,所述Group状态消息包括待删除Group表的状态信息,以使所述控制器根据所述待删除Group表的状态信息生成Group更新消息;
接收控制器发送的所述Group更新消息,并从所述Group更新消息中获取待删除Group表的组标识Group ID和替换Group表的Group ID,其中所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group链表Group Chain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
2.根据权利要求1所述的方法,其特征在于,所述将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表,包括:
将所述待删除Group表的引用Group表的被引用Group表的Group ID替换成所述替换Group表的Group ID,并删除所述待删除Group表。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若判断出所述待删除Group表的被引用Group表是闲置Group表,向所述控制器发送Group状态消息,所述Group状态消息包括所述闲置Group表的状态信息。
4.根据权利要求3所述的方法,其特征在于,所述若判断出所述待删除Group表的被引用Group表是闲置Group表,包括:
如果所述待删除Group表的被引用Group表不存在除所述待删除Group表之外的其他引用Group表,且所述待删除Group表的被引用Group表没有被其他流表引用,则判断出所述待删除Group表的被引用Group表是闲置Group表。
5.一种开放流Open Flow协议的组Group表处理方法,应用在SDN中的控制器上,其特征在于,包括:
预先设置替换Group表,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
接收交换机发送的Group状态消息,所述Group状态消息包括待删除Group表的状态信息;
根据所述待删除Group表的状态信息生成Group更新消息,并向所述交换机发送所述Group更新消息,所述Group更新消息中包括待删除Group表的组标识Group ID和替换Group表的Group ID,以使所述交换机如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group链表Group Chain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:接收交换机发送的Group状态消息,所述Group状态消息包括闲置Group表的状态信息;
根据所述闲置Group表的状态信息生成Group删除消息,并向所述交换机发送Group删除消息,所述Group删除消息中包括所述闲置Group表的Group ID,以使所述交换机根据所述闲置Group表的Group ID删除闲置Group表。
7.一种开放流Open Flow协议的组Group表处理装置,应用在SDN中的交换机上,其特征在于,包括:
发送模块,用于向控制器发送Group状态消息,所述Group状态消息包括待删除Group表的状态信息,以使所述控制器根据所述待删除Group表的状态信息生成Group更新消息;
第一处理模块,用于接收控制器发送的Group更新消息,并从所述Group更新消息中获取待删除Group表的组标识Group ID和替换Group表的Group ID,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
第二处理模块,用于如果根据所述待删除Group表的Group ID判断出所述待删除Group表存在于Group链表Group Chain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
8.根据权利要求7所述的装置,其特征在于,所述第二处理模块,包括:
第一判断模块,用于根据所述待删除Group表的Group ID判断所述待删除Group表是否存在于Group Chain中;
第二判断模块,用于当所述第一判断模块判断出所述待删除Group表存在于GroupChain中后,判断所述待删除Group表是否存在引用Group表;
替换删除模块,用于当所述第二判断模块判断出所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表的Group ID替换成所述替换Group表的Group ID,并删除所述待删除Group表。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
第三处理模块,用于如果所述待删除Group表的被引用Group表是闲置Group表,向所述控制器发送Group状态消息,所述Group状态消息包括所述闲置Group表的状态信息。
10.根据权利要求9所述的装置,其特征在于,所述第三处理模块,包括:
第三判断模块,用于判断所述待删除Group表的被引用Group表是否存在除所述待删除Group表之外的其他引用Group表;
第四判断模块,用于判断所述待删除Group表的被引用Group表是否被其他流表引用;
状态通告模块,用于所述第三判断模块判断出所述待删除Group表的被引用Group表不存在除所述待删除Group表之外的其他引用Group表,以及在第四判断模块判断出所述待删除Group表的被引用Group表没有被其他流表引用,确认所述待删除Group表的被引用Group表是闲置Group表;向所述控制器发送Group状态消息,所述Group状态消息包括所述闲置Group表的状态信息;
删除模块,用于接收到所述控制器发送的Group删除消息后,删除所述闲置Group表。
11.一种开放流Open Flow协议的组Group表处理装置,应用在SDN中的控制器上,其特征在于,包括:
设置模块,用于预先设置替换Group表,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
接收模块,用于接收交换机发送的Group状态消息,所述Group状态消息包括待删除Group表的状态信息;
生成发送模块,用于根据所述待删除Group表的状态信息生成Group更新消息,并向所述交换机发送Group更新消息,所述Group更新消息中包括待删除Group表的组标识GroupID和替换Group表的Group ID,以使所述交换机如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group链表中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
12.根据权利要求11所述的装置,其特征在于,所述接收模块,还用于:接收交换机发送的Group状态消息,所述Group状态消息包括闲置Group表的状态信息;
所述生成发送模块,还用于根据所述闲置Group表的状态信息生成Group删除消息,并向所述交换机发送Group删除消息,所述Group删除消息中包括所述闲置Group表的GroupID,以使所述交换机根据所述闲置Group表的Group ID删除闲置Group表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510245687.XA CN104836731B (zh) | 2015-05-14 | 2015-05-14 | 一种Open Flow协议的Group表处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510245687.XA CN104836731B (zh) | 2015-05-14 | 2015-05-14 | 一种Open Flow协议的Group表处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104836731A CN104836731A (zh) | 2015-08-12 |
CN104836731B true CN104836731B (zh) | 2017-12-08 |
Family
ID=53814376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510245687.XA Active CN104836731B (zh) | 2015-05-14 | 2015-05-14 | 一种Open Flow协议的Group表处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104836731B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591805B (zh) * | 2015-09-28 | 2018-10-26 | 新华三技术有限公司 | 一种修改服务链配置的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243340A (zh) * | 2014-09-28 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种软件定义网络中报文处理方法和装置 |
CN104253711A (zh) * | 2014-09-25 | 2014-12-31 | 杭州华三通信技术有限公司 | 一种SDN网络中Openflow的Group表的管理方法和设备 |
CN104252504A (zh) * | 2013-06-29 | 2014-12-31 | 华为技术有限公司 | 数据查询方法、设备和系统 |
CN104426768A (zh) * | 2013-09-05 | 2015-03-18 | 华为技术有限公司 | 一种数据报文转发方法及装置 |
-
2015
- 2015-05-14 CN CN201510245687.XA patent/CN104836731B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252504A (zh) * | 2013-06-29 | 2014-12-31 | 华为技术有限公司 | 数据查询方法、设备和系统 |
CN104426768A (zh) * | 2013-09-05 | 2015-03-18 | 华为技术有限公司 | 一种数据报文转发方法及装置 |
CN104253711A (zh) * | 2014-09-25 | 2014-12-31 | 杭州华三通信技术有限公司 | 一种SDN网络中Openflow的Group表的管理方法和设备 |
CN104243340A (zh) * | 2014-09-28 | 2014-12-24 | 杭州华三通信技术有限公司 | 一种软件定义网络中报文处理方法和装置 |
Non-Patent Citations (3)
Title |
---|
"OpenFlow Switch Specification(Version1.3.1)";OPEN NETWORKING FOUNDATION;《https://www.opennetworking.org/standards/intro-to-openflow》;20120906;第1-128页 * |
"P2P中的匿名通信技术研究";汤念;《中国优秀硕士学位论文全文数据库信息科技辑》;20090815;第I139-142页 * |
"一种拓扑相关的P2P系统模型研究";林永听;《中国优秀硕士学位论文全文数据库信息科技辑》;20080215;第I139-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104836731A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10263889B2 (en) | Data forwarding method, device, and system in software-defined networking | |
CN102197627B (zh) | 组播流量收敛的改善 | |
CN107483345B (zh) | 业务处理方法、设备及系统 | |
JP6055009B2 (ja) | パケット処理方法、装置及びシステム | |
WO2015165312A1 (zh) | 业务链负载均衡方法及其装置、系统 | |
CN101588296B (zh) | 一种转发组播报文的方法、头节点和尾节点 | |
EP3179687B1 (en) | Network flow information statistics method and apparatus | |
US10826823B2 (en) | Centralized label-based software defined network | |
CN101073226A (zh) | 在标签交换的通信网络中创建隧道的方法和设备 | |
WO2015108106A1 (ja) | パケット転送装置、制御装置、通信システム、通信方法及びプログラム | |
CN111181855B (zh) | 一种组播的方法及路由设备 | |
CN106656905A (zh) | 防火墙集群实现方法及装置 | |
CN107566292B (zh) | 报文转发方法及装置 | |
KR101658824B1 (ko) | 소프트웨어 정의 네트워크에서 플로우 룰을 변경하는 방법, 장치 및 컴퓨터 프로그램 | |
US10666562B2 (en) | Network path computation method, apparatus, and system | |
CN103078794A (zh) | 一种报文处理控制方法及装置 | |
CN106559323A (zh) | 一种sdn设备首包上送的方法和装置 | |
US20200028779A1 (en) | Packet processing method and apparatus | |
EP2648382A1 (en) | Method, device and system for establishing lsp | |
US20240235937A1 (en) | Service processing method and network device | |
JP2004159112A (ja) | 通信制御システム、通信制御方法、これらに用いて好適なルーティング制御装置及びルータ装置 | |
CN104836731B (zh) | 一种Open Flow协议的Group表处理方法和装置 | |
Tegueu et al. | Towards application driven networking | |
JP4383216B2 (ja) | 通信端末 | |
CN108123871B (zh) | 等价多路径ecmp处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |