一种OpenFlow协议的Group表处理方法和装置的制造方法_2

文档序号:8514547阅读:来源:国知局
Replace Group ID),其中所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口;
[0033]步骤103,如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group链表(Group Chain)中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
[0034]现有技术中,若控制器删除Group Chain中的待删除Group表,必须从引用所述待删除Group表的头结点开始更新,直到不再有任何Group表引用和被引用所述待删除Group表后才能删除所述待删除Group表。本发明的Group表处理方法中,定义替换Group表,扩展现有的 Group Modificat1n Message 并在其中增加 Replace Group ID,当需要对GroupChain中的Group表进行删除时,在所述待删除Group表存在引用Group表的情况下,只需要将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,就可以删除所述待删除Group表。通过这种方式,能够快速的更新Group Chain上的Group表,从而减少了 Group表在更新过程中导致的流量丢失,同时提高了 SDN网络中Group表转发资源的利用率。
[0035]请参考图2,本发明另一种实施方式中提供了一种Open Flow协议的Group表处理方法,应用在SDN中的控制器上,所述方法包括如下步骤:
[0036]步骤201,预先设置替换Group表,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空端口 ;
[0037]步骤202,接收交换机发送的 Group Status Message,所述 Group StatusMessage包括待删除Group表的状态信息,根据所述待删除Group表的状态信息生成GroupModificat1n Message ;
[0038]步骤203,向所述交换机发送 Group Modificat1n Message,所述 GroupModificat1n Message 中包括待删除 Group 表的 Group ID 和替换 Group 表的 Group ID,以使所述交换机如果根据所述待删除Group表的Group ID判断出待删除Group表存在于Group Chain中,当所述待删除Group表存在引用Group表时,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表。
[0039]请参考图3,本发明再一种实施方式中提供了一种Group表处理方法,作为对图1和图2所示的Open Flow协议的Group表处理方法的详细描述,包括以下步骤:
[0040]步骤301,交换机向控制器发送 Group Status Message,所述 Group StatusMessage包括待删除Group表的状态信息。
[0041]具体地,如果Group Chain中有group表由于下一跳接口失效等原因需要删除,交换机向控制器通过发送Group Status Message向控制器反馈待删除group表的状态信息,所述状态信息包括待删除的状态以及待删除group表的Group ID等信息。
[0042]步骤302,根据所述待删除Group表的Group状态消息,控制器生成GroupModificat1n Message 并向交换机发送所述 Group Modificat1n Message,所述 GroupModificat1n Message 包括待删除 Group 表的 Group ID 和替换 Group 表的 Group ID,所述替换Group表没有动作指令桶,或者,所述替换Group表的动作指令桶所指定的出端口是空立而口。
[0043]具体地,和现有技术相比,在本发明中的控制器预先定义一替换Group表,所述替换Group表没有动作指令桶,或者所述替换Group表的动作指令桶所指定的出端口是空端口,因此若Open Flow交换机接收到控制器下发的所述替换Group表,没有资源需要释放,且任何需要丢弃的报文都可以下发流表指定其出接口为所述替换Group表。
[0044]如果接收到来自交换机的待删除Group表的Group Status Message,控制器向交换机发送Group Modificat1n Message。和现有技术相比,在本发明中对现有的GroupModificat1n Message 进行扩展,增加了 Replace Group ID0
[0045]步骤303,交换机从所述Group Modificat1n Message获取待删除Group ID和Replace Group ID。
[0046]步骤304,根据所述待删除Group ID,交换机判断待删除Group表是否存在于Group Chain中,如果不存在,进行步骤305 ;如果存在,进行步骤306。
[0047]具体地,Group Chain中存储有组成引用链表的所有Group表的Group ID。
[0048]在本步骤中,通过在Group Chain中查找是否有所述待删除Group ID来判断所述待删除Group表是否存在于Group Chain中。
[0049]步骤305,交换机删除所述待删除Group表,释放所述待删除Group表占用的转发资源。
[0050]步骤306,判断所述待删除Group表是否存在弓I用Group表,如果不存在,进行步骤305 ;如果存在,进行步骤307。
[0051]具体地,Group表通过在动作指令桶中指定下一跳Group表的Group ID来引用其他的Group表,例如:Group A表中的动作指令桶中指定下一跳为Group B表的Group ID和Group C 表的 Group ID,则 Group A 表引用 Group B 表和 Group C 表,Group A 表为 GroupB表和Group C表的引用Group表,Group B表和Group C表为Group A表的被引用Group表。
[0052]在本步骤中,如果在Group Chain中查找到所述待删除Group ID,则待删除Group表存在于Group Chain中,还进一步判断所述待删除Group表是否存在引用Group表。
[0053]步骤307,将所述待删除Group表的引用Group表的被引用Group表替换成所述替换Group表,并删除所述待删除Group表,释放所述待删除Group表占用的转发资源。
[0054]具体地,和现有技术相比,在本发明中对现有的Group Modificat1n Message的命令(command)类型进行扩展,增加了一替换删除类型OFPGC_REPLACE_DELETE。
[0055]在本步骤中,如果所述待删除Group表存在弓I用Group表,则将所述待删除Group表的引用Group表的被引用Group表的Group ID替换成所述Replace Group ID,然后删除所述待删除Group表,释放所述待删除Group表占用的转发资源。
[0056]优选地,本发明的实施例中还可以进行如下步骤:
[0057]步骤308,判断所述待删除Group表的被引用Group表是否是闲置Group表,如果是,则进行步骤309 ;如果不是,则结束本流程。
[0058]在本步骤中,如果所述待删除Group表也是引用Group表,贝U判断被所述待删除Group表的引用Group表是否还存在其他引用Group表,具体可以通过查找所述被引用Group表中是否有除所述待删除Group表之外的引用Group ID来查找是否还存在其他引用Group 表。
[0059]如果查找到存在其他引用Group表,则所述待删除Group表的被引用Group表不是闲置Group表,结束本流程。如果没有查找到存在其他引用Group表,则需要进一步判断所述待删除Group表的被引用Group表是否被其他流表引用,具体可以通过流表更新消息(Flow Modificat1n Message)查询流表判断是否被其他流表引用,其中如何利用流表更新消息查询为本领域技术人员所知,在此不赘述。
[0060]如果查找到有被其他流表引用,则所述待删除Group表的被引用Group表也不是闲置Group表,结束本流程。如果没有查找到有被其他流表引用,则所述待删除Group表的被引用Group表是闲置Group表。
[0061]在本发明的实施例中,先判断被所述待删除Group表的引用Group表是否还存在其他引用Group表,再判断所述待删除Group表在删除前的被引用Group表是否被其他流表引用,当然也可以有其他的顺序,在此不限定。也就是说,所述待删除Group表的被引用Group表不存在除所述待删除Group表之外的其他引用Group表且没有被其他流表引用,则所述待删除Group表的被引用Group表是闲置Group表。
[0062]步骤309,交换机向所述控制器发送Group Status Message,所述Group StatusMessage包括所述闲置Group表的状态信息。
[0063]具体地,和现有技术相比,在本发明中,Open Flow交换机通过Group StatusMessage主动将闲置
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1