流表修改方法、流表修改装置和开放流网络系统与流程

文档序号:15779410发布日期:2018-10-30 21:15阅读:359来源:国知局
本发明涉及通信
技术领域
:,具体涉及一种流表修改方法、流表修改装置和开放流网络系统。
背景技术
::随着网络技术的不断发展,出现了软件定义网络(softwaredefinednetwork,简称SDN),开放流(OpenFlow,简称OF)协议是SDN中的一种典型的技术。OF协议中的网元包括OF控制器(controller)、OF交换机(switch),OF控制器简称控制器,OF交换机简称交换机。控制器根据报文特征,例如五元组、以太网帧头、虚拟局域网(virtuallocalareanetwork,简称VLAN)标识(identification,简称ID)等,确定该业务流的转发动作,例如转发、丢弃、修改报文头、封装、解封装等,并向交换机发送与该业务流对应的流规则和对应执行的一个或多个动作。交换机接收并存储控制器发送的流规则,对于后续符合该流规则的报文,执行该流规则对应的动作,从而实现报文的转发或处理。首先,控制器通过更新流表表项消息(modifyflowentrymessage,简称Flow_Mod)向交换机发送流规则。流规则包括流匹配规则及对应的处理动作。流匹配规则可以包括以太网帧头、因特网协议(internetprotocol,简称IP)头信息或者传输控制协议(transmissioncontrolprotocol,简称TCP)/用户数据报协议(userdateprotocol,简称UDP)端口号等信息的组合。处理动作包括处理类型及相关的参数,处理类型例如转发、丢弃、修改、封装、解封装等。控制器可能通过多个更新流表表项消息将属于不同流表(flowtable)的流匹配规则发送给交换机。然后,交换机将从控制器接收到的所有流匹配规则及对应的处理动作存储或安装到流表中。最后,当交换机接收到用户发送的报文时,交换机执行流表匹配,并根据匹配的流规则对应的动作集对用户发送的报文进行处理。OF协议可以通过更新流表表项消息实现流规则的增加/修改/删除。但是,控制器只能通过增加或删除流表的动作,来完成流表项的修改。例如,对一条MAC地址、IP地址的流表项的修改需要发送两条更新流表表项消息。首先,控制器向交换机发送一条更新流表表项消息,携带删除指示以删除一条流表项,匹配域携带(源IP地址等于IP2,源MAC地址等于MAC2)。然后,控制器向交换机发送一条更新流表表项消息,携带增加指示以增加一条新的流表项,新的流表项的匹配域携带(源IP地址等于IP3,源MAC地址等于MAC3)。修改N条流表项,控制器需要向交换机发送2N条更新流表表项消息,且每条更新流表表项消息携带完整的匹配(match)/操作(action)字段。综上所述,通常的修改流表的方法存在信息冗余、效率低、接口负载过重的缺点。技术实现要素:技术问题有鉴于此,本发明要解决的技术问题是,如何提高修改流表的效率、减少接口负载。解决方案为了解决上述技术问题,在第一方面,本发明提供了一种流表修改方法,包括:交换机接收控制器发送的更新流表表项消息,所述更新流表表项消息包括流表标识、操作类型、待修改目标信息和新匹配域字段;所述交换机在与所述流表标识相对应的流表中,查找是否存在与所述待修改目标信息匹配的流表项;在存在与所述待修改目标信息匹配的流表项的情况下,所述交换机将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。结合第一方面,在第一方面的第一种可能的实现方式中,所述待修改目标信息为流表关联值;所述交换机在与所述流表标识相对应的流表中,查找是否存在与所述待修改目标信息匹配的流表项,包括:所述交换机在所述流表中,判断当前查找到的流表项中的流表关联值与接收到的流表关联值是否匹配;如果当前查找到的流表项中的流表关联值与接收到的流表关联值相匹配,将所述当前查找到的流表项确定为所述匹配的流表项。结合第一方面,在第一方面的第二种可能的实现方式中,所述待修改目标信息为旧匹配域字段;所述交换机在与所述流表标识相对应的流表中,查找是否存在与所述待修改目标信息匹配的流表项,包括:所述交换机在所述流表中,判断当前查找到的流表项中的匹配域字段与所述旧匹配域字段是否匹配;如果当前查找到的流表项中的匹配域字段与所述旧匹配域字段相匹配,将所述当前查找到的流表项确定为所述匹配的流表项。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,在不存在与所述待修改目标信息匹配的流表项的情况下,所述交换机向所述控制器发送错误指示,所述错误指示用于通知所述控制器流表修改失败。第二方面,本发明提供了一种流表修改方法,包括:控制器向交换机发送更新流表表项消息,所述更新流表表项消息中包括流表标识、操作类型、待修改目标信息和新匹配域字段,所述更新流表表项消息用于指示所述交换机在与所述流表标识相对应的流表中,查找与所述待修改目标信息匹配的流表项,并将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。结合第二方面,在第二方面的第一种可能的实现方式中,所述待修改目标信息为流表关联值或旧匹配域字段。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述控制器接收所述交换机发送的错误指示,所述错误指示用于通知所述控制器流表修改失败。第三方面,本发明提供了一种流表修改装置,包括:接收模块,用于接收控制器发送的更新流表表项消息,所述更新流表表项消息包括流表标识、操作类型、待修改目标信息和新匹配域字段;查找模块,与所述接收模块连接,用于在与所述流表标识相对应的流表中,查找是否存在与所述接收模块接收到的所述待修改目标信息匹配的流表项;修改模块,与所述查找模块连接,用于在所述查找模块查找到存在与所述待修改目标信息匹配的流表项的情况下,将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。结合第三方面,在第三方面的第一种可能的实现方式中,所述待修改目标信息为流表关联值;所述查找模块被配置为:在所述流表中,判断当前查找到的流表项中的流表关联值与所述接收模块接收到的流表关联值是否匹配;如果判定当前查找到的流表项中的流表关联值与所述接收模块接收到的流表关联值相匹配,将所述当前查找到的流表项确定为所述匹配的流表项。结合第三方面,在第三方面的第二种可能的实现方式中,所述待修改目标信息为旧匹配域字段;所述查找模块被配置为:在所述流表中,判断当前查找到的流表项中的匹配域字段与所述接收模块接收到的所述旧匹配域字段是否匹配;如果判定当前查找到的流表项中的匹配域字段与所述接收模块接收到的所述旧匹配域字段相匹配,将所述当前查找到的流表项确定为所述匹配的流表项。结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述流表修改装置还包括:发送模块,与所述查找模块连接,用于在所述查找模块查找到不存在与所述待修改目标信息匹配的流表项的情况下,向所述控制器发送错误指示,所述错误指示用于通知所述控制器流表修改失败。第四方面,本发明提供了一种流表修改装置,包括:发送模块,用于向交换机发送更新流表表项消息,所述更新流表表项消息中包括流表标识、操作类型、待修改目标信息和新匹配域字段,所述更新流表表项消息用于指示所述交换机在与所述流表标识相对应的流表中,查找与所述待修改目标信息匹配的流表项,并将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。结合第四方面,在第四方面的第一种可能的实现方式中,所述待修改目标信息为流表关联值或旧匹配域字段。结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述流表修改装置还包括:接收模块,用于接收所述交换机发送的错误指示,所述错误指示用于通知所述流表修改装置流表修改失败。第五方面,本发明提供了一种开放流网络系统,包括:交换机和控制器;所述交换机采用第三方面或第三方面的第一种可能的实现方式至第三方面的第三种可能的实现方式中任一种可能的实现方式中的流表修改装置;所述控制器采用第四方面或第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式中任一种可能的实现方式中的流表修改装置。有益效果本实施例的流表修改方法、流表修改装置和开放流网络系统,交换机通过接收控制器发送的更新流表表项消息,在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,并将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。图1为根据本发明实施例一的流表修改方法的流程图;图2为根据本发明实施例二的流表修改方法的流程图;图3为根据本发明实施例三的流表修改方法的流程图;图4a为根据本发明实施例四的流表修改装置的一种结构框图;图4b为根据本发明实施例四的流表修改装置的另一种结构框图;图5为根据本发明实施例五的流表修改装置的结构框图;图6为根据本发明实施例六的流表修改装置的结构框图;图7为根据本发明实施例七的流表修改装置的结构框图;以及图8为根据本发明实施例八的开放流网络系统的结构框图。具体实施方式以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在另外一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。如
背景技术
:和
发明内容所述,OF网络系统包括控制器和交换机,控制器使用开放流协议,通过更新流表表项消息向交换机发送流表,交换机接收并存储控制器发送的流表。所有经过交换机的报文都会与交换机存储的流表项(flowentry)进行匹配。当前OF协议中,交换机可以支持多个流表,每个流表包含若干个流表项,每个流表项包含匹配字段、计数器(statistics)和操作。报文与交换机存储的第一个流表的流表项中的匹配域进行匹配,在数据包匹配到第一个流表的某表项的情况下,则执行上述流表项中的操作,如果匹配的流表项中的操作包括再跳转到下一个流表,则在执行完其它操作之后转到下一个流表匹配流表项,如果匹配的流表项中的操作不包括跳转到下一个流表,则流表匹配结束,并执行该报文所对应的动作集(actionset),例如将数据包转发到指定输出端口,丢弃数据包,修改数据包头等。本发明实施例中,控制器可以通过修改流表项来控制交换机存储的流表。实施例1图1为根据本发明实施例一的流表修改方法的流程图。如图1所示,该流表修改方法主要包括:步骤S110、交换机接收控制器发送的更新流表表项消息,所述更新流表表项消息包括流表标识、操作类型、待修改目标信息和新匹配域字段。具体地,若交换机接收到控制器发送的更新流表表项消息,则交换机可以对待修改目标信息指定的流表项进行相应的处理。更新流表表项消息除了包括流表标识、待修改目标信息和新匹配域字段,还应该包括操作类型。操作类型除了包括删除和增加,还可以包括修改。交换机可以根据流表标识确定需要修改的流表,进一步根据待修改目标信息确定该需要修改的流表中需要修改的流表项,需要修改的流表项为与待修改目标信息匹配的流表项,并将需要修改的流表项中的匹配域字段修改为新匹配域字段。步骤S130、所述交换机在与所述流表标识相对应的流表中,查找是否存在与所述待修改目标信息匹配的流表项。具体地,交换机从控制器接收到更新流表表项消息之后,可以根据流表标识确定需要修改的流表,并在该需要修改的流表中查找是否有流表项与待修改目标消息匹配的流表项。待修改目标信息可以为流表关联值,也可以为旧匹配域字段。在待修改目标信息为流表关联值的情况下,交换机在与上述流表标识相对应的流表中,查找是否存在与待修改目标信息匹配的流表项,可以包括:交换机在该流表中,判断当前查找到的流表项中的流表关联值与接收到的流表关联值是否匹配;如果当前查找到的流表项中的流表关联值与接收到的流表关联值相匹配,将当前查找到的流表项确定为匹配的流表项。具体地,更新流表表项消息中的待修改目标信息可以为流表关联值,但是交换机只是存储流表关联值,在更新流表表项消息的处理之外并不对流表关联值进行其它处理。交换机从控制器接收到流表关联值之后,可以查找自身存储的流表项中的流表关联值是否与当前从控制器接收到的流表关联值匹配,如果交换机查找到自身存储的流表项中的流表关联值与当前从控制器接收到的流表关联值相匹配,则交换机可以确定当前查找到的自身存储的流表项中的流表关联值与当前从控制器接收到的流表关联值匹配成功,交换机可以确定当前查找到的流表项为匹配的流表项。在待修改目标信息为旧匹配域字段的情况下,交换机在与上述流表标识相对应的流表中,查找是否存在与待修改目标信息匹配的流表项,包括:交换机在该流表中,判断当前查找到的流表项中的匹配域字段与所述旧匹配域字段是否匹配;如果当前查找到的流表项中的匹配域字段与所述旧匹配域字段相匹配,将当前查找到的流表项确定为匹配的流表项。具体地,交换机可以根据旧匹配域字段查找需要修改的流表项。交换机从控制器接收到旧匹配域字段之后,交换机可以查找自身存储与上述流表标识相对应的流表中的流表项中的匹配域字段是否与该旧匹配域字段相匹配,如果交换机查找到自身存储的流表项中的匹配域字段与该旧匹配域字段相匹配,则交换机可以确定当前查找到的自身存储的流表项中的匹配域字段与该旧匹配域字段匹配成功,交换机可以确定当前查找到的流表项为匹配的流表项。步骤S150、在存在与所述待修改目标信息匹配的流表项的情况下,所述交换机将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。具体地,交换机确定了匹配的流表项之后,就可以将匹配的流表项中的匹配域字段修改为该新匹配域字段,流表项自修改之后即时生效。对比于现有的流表修改方法,若修改N条流表项,则交换机需要从控制器接收2N条更新流表表项消息,且每条更新流表表项消息携带完整的匹配字段或动作字段,信息冗余高,效率低,且接口负载过重。而本发明实施例的流表修改方法,若修改N条流表项,则交换机从控制器接收的更新流表表项消息至多N条,效率高且减轻了接口负载。此外,本发明实施例的流表修改方法,标识仅对与待修改目标信息相匹配的流表项进行修改,信息冗余低。在一种可能的实现方式中,在不存在与所述待修改目标信息匹配的流表项的情况下,所述交换机向所述控制器发送错误指示,所述错误指示用于通知所述控制器流表修改失败。具体地,如果交换机查找到自身存储的流表项不存在与修改目标消息相匹配的流表项,则交换机可以向控制器发送错误指示。错误指示可以只通知控制器流表修改失败并不通知控制器流表修改失败的具体原因,错误指示也可以既通知控制器流表修改失败又通知控制器流表修改失败的具体原因。本实施例的流表修改方法,交换机通过接收控制器发送的更新流表表项消息,在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,并将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。实施例2图2为根据本发明实施例二的流表修改方法的流程图。如图2所示,该流表修改方法主要包括:步骤S210、控制器向交换机发送更新流表表项消息,所述更新流表表项消息中包括流表标识、操作类型、待修改目标信息和新匹配域字段,所述更新流表表项消息用于指示所述交换机在与所述流表标识相对应的流表中,查找与所述待修改目标信息匹配的流表项,并将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。具体地,控制器可以通过向交换机发送更新流表表项消息来使交换机修改流表项。若交换机接收到控制器发送的更新流表表项消息,则交换机可以根据流表标识确定需要修改的流表,进一步根据待修改目标信息确定该需要修改的流表中需要修改的流表项,需要修改的流表项为与待修改目标信息匹配的流表项,并将需要修改的流表项中的匹配域字段修改为新匹配域字段。具体示例可以参见上述实施例一中的步骤S110的相关描述。待修改目标信息可以为流表关联值,也可以为旧匹配域字段。在待修改目标信息为流表关联值的情况下,交换机可以在与上述流表标识相对应的流表中,查找自身存储的控制器之前发送的流表项中的流表关联值是否与当前控制器发送的流表关联值匹配,如果交换机查找到自身存储的控制器之前发送的流表项中的流表关联值与当前控制器发送的流表关联值相匹配,则交换机可以确定当前查找到的流表项中的流表关联值与当前控制器发送的流表关联值匹配成功,交换机可以确定当前查找到的流表项为匹配的流表项,就可以将匹配的流表项中的匹配域字段修改为新匹配域字段。具体示例可以参见上述实施例一中步骤S130和步骤S150的相关描述。在待修改目标信息为旧匹配域字段的情况下,交换机可以与上述流表标识相对应的流表中,查找自身存储的流表项中的匹配域字段是否与该旧匹配域字段相匹配,如果交换机查找到自身存储的流表项中的匹配域字段与该旧匹配域字段相匹配,则交换机可以确定当前查找到的自身存储的流表项中的匹配域字段与该旧匹配域字段匹配成功,交换机可以确定当前查找到的流表项为匹配的流表项,就可以将匹配的流表项中的匹配域字段修改为新匹配域字段。具体示例可以参见上述实施例一中步骤S130和步骤S150的相关描述。在一种可能的实现方式中,所述控制器接收所述交换机发送的错误指示,所述错误指示用于通知所述控制器流表修改失败。具体地,如果交换机查找到自身存储的流表项不存在与修改目标消息匹配的流表项,则控制器可以接收到交换机发送的错误指示。错误指示可以只通知控制器流表修改失败并不通知控制器流表修改失败的具体原因,错误指示也可以既通知控制器流表修改失败又通知控制器流表修改失败的具体原因。本实施例的流表修改方法,控制器通过向交换机发送更新流表表项消息,指定交换机在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,并将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。实施例3图3为根据本发明实施例三的流表修改方法的流程图。如图3所示,该流表修改方法主要包括:步骤S310、控制器向交换机发送更新流表表项消息,指示交换机根据更新流表表项消息对流表项匹配域进行修改。步骤S330、交换机根据更新流表表项消息,在与流表标识相匹配的流表中查找是否存在与更新流表表项消息中的待修改目标信息相匹配的流表项,如果该流表中存在与更新流表表项消息中的待修改目标信息相匹配的流表项,则执行步骤S350和步骤S370;如果该流表中不存在与更新流表表项消息中的待修改目标信息相匹配的流表项,则执行步骤S390。步骤S350、交换机将匹配的流表项的匹配域字段修改为更新流表表项消息中的新匹配域字段。具体地,控制器可以通过向交换机发送更新流表表项消息来使交换机修改流表项。交换机接收到更新流表表项消息之后,可以在与流表标识相匹配的流表中,查找是否有流表项与待修改目标消息匹配的流表项。待修改目标信息可以为流表关联值,也可以为旧匹配域字段。交换机在该流表中查找与待修改目标信息相匹配的流表项的具体示例可以参见上述实施例一中步骤S130的相关描述。交换机确定了匹配的流表项之后,就可以将匹配的流表项中的匹配域字段修改为该新匹配域字段。步骤S370、交换机将报文与修改之后的流表项进行匹配,如果报文与修改之后的流表项匹配成功,则对报文执行匹配成功的表项中的操作。步骤S390、交换机向控制器发送错误指示,错误指示用于通知所述控制器流表修改失败。具体地,交换机查找到自身存储的流表项不存在与待修改目标消息相匹配的流表项,则交换机可以向控制器发送错误指示。具体可以参见上述实施例一中步骤S150的相关描述。本实施例的流表修改方法,控制器通过向交换机发送更新流表表项消息,指定交换机在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,并将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。实施例4图4a为根据本发明实施例四的流表修改装置的一种结构框图。如图4a所示,该流表修改装置400主要包括:接收模块410,用于接收控制器发送的更新流表表项消息,所述更新流表表项消息包括流表标识、操作类型、待修改目标信息和新匹配域字段。具体地,流表修改装置400可以为交换机。若接收模块410接收到控制器发送的更新流表表项消息,则流表修改装置400可以对待修改目标信息指定的流表项进行相应的处理。更新流表表项消息除了包括流表标识、待修改目标信息和新匹配域字段,还应该包括操作类型。操作类型除了包括删除和增加,还可以包括修改。流表修改装置400可以根据流表标识确定需要修改的流表,进一步根据待修改目标信息确定该需要修改的流表中需要修改的流表项,需要修改的流表项为与待修改目标信息匹配的流表项,并将需要修改的流表项中的匹配域字段修改为新匹配域字段。具体示例可以参见上述实施例一中步骤S110的相关描述。查找模块430,与所述接收模块410连接,用于在与所述流表标识相对应的流表中,查找是否存在与所述接收模块410接收到的所述待修改目标信息匹配的流表项。具体地,接收模块410从控制器接收到更新流表表项消息之后,查找模块430可以根据流表标识确定需要修改的流表,并在该需要修改的流表中进一步查找是否有流表项与待修改目标消息匹配的流表项。待修改目标信息可以为流表关联值,也可以为旧匹配域字段。在一种可能的实现方式中,所述待修改目标信息为流表关联值;所述查找模块430被配置为:在所述流表中,判断当前查找到的流表项中的流表关联值与所述接收模块410接收到的流表关联值是否匹配;如果判定当前查找到的流表项中的流表关联值与所述接收模块410接收到的流表关联值相匹配,将所述当前查找到的流表项确定为所述匹配的流表项。具体示例可以参见上述实施例一中步骤S130的相关描述。在一种可能的实现方式中,所述待修改目标信息为旧匹配域字段;所述查找模块430被配置为:在所述流表中,判断当前查找到的流表项中的匹配域字段与所述接收模块410接收到的所述旧匹配域字段是否匹配;如果判定当前查找到的流表项中的匹配域字段与所述接收模块410接收到的所述旧匹配域字段相匹配,将所述当前查找到的流表项确定为所述匹配的流表项。具体示例可以参见上述实施例一中步骤S130的相关描述。修改模块450,与所述查找模块430连接,用于在所述查找模块430查找到存在与所述待修改目标信息匹配的流表项的情况下,将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。具体示例可以参见上述实施例一中步骤S150的相关描述。图4b为根据本发明实施例四的流表修改装置400的另一种结构框图,如图4b所示,在一种可能的实现方式中,所述流表修改装置400还可以包括发送模块470,与所述查找模块430连接,用于在所述查找模块430查找到不存在与所述待修改目标信息匹配的流表项的情况下,向所述控制器发送错误指示,所述错误指示用于通知所述控制器流表修改失败。具体示例可以参见上述实施例一中步骤S150的相关描述。本实施例的流表修改装置,接收模块接收控制器发送的更新流表表项消息,查找模块在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,修改模块在查找模块查找到与待修改目标信息相匹配的流表项的情况下,将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。实施例5图5为根据本发明实施例五的流表修改装置的结构框图。如图5所示,该流表修改装置500主要包括:发送模块510,用于向交换机发送更新流表表项消息,所述更新流表表项消息中包括流表标识、操作类型、待修改目标信息和新匹配域字段,所述更新流表表项消息用于指示所述交换机在与所述流表标识相对应的流表中,查找与所述待修改目标信息匹配的流表项,并将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。该流表修改装置500可以为控制器。具体示例可以参见上述实施例二中的步骤S210的相关描述。在一种可能的实现方式中,所述待修改目标信息为流表关联值或旧匹配域字段。具体示例可以参见上述实施例一中步骤S130和步骤S150的相关描述。在一种可能的实现方式中,所述流表修改装置500还可以包括接收模块530,用于接收所述交换机发送的错误指示,所述错误指示用于通知所述流表修改装置500流表修改失败。具体示例可以参见上述实施例一中步骤S150的相关描述。本实施例的流表修改装置,发送模块向交换机发送更新流表表项消息,指定交换机在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,并将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。实施例6图6为根据本发明实施例六的流表修改装置600的结构框图。所述流表修改装置600包括处理器(processor)610、通信接口(communicationsinterface)620、存储器(memory)630和总线640。其中,处理器610、通信接口620、以及存储器630通过总线640完成相互间的通信。处理器610用于执行程序。处理器610可能是一个中央处理器CPU,也可能由一个中央处理器CPU和硬件芯片组成,其中硬件芯片可以包括复杂可编程逻辑器件(complexprogrammablelogicdevice,CPLD)。存储器630可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,RAM),或者非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,ROM),快闪存储器(flashmemory),硬盘(harddiskdrive,HDD)或固态硬盘(solid-statedrive,SSD)。存储器630与处理器610相连。在一种可能的实现方式中,上述程序可为包括计算机操作指令的程序代码。该处理器610根据程序指令执行以下步骤:接收控制器发送的更新流表表项消息,所述更新流表表项消息包括流表标识、操作类型、待修改目标信息和新匹配域字段;在与所述流表标识相对应的流表中,查找是否存在与所述待修改目标信息匹配的流表项;在存在与所述待修改目标信息匹配的流表项的情况下,将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。本发明实施例的流表修改装置,通过接收更新流表表项消息,在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,并将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。实施例7图7为根据本发明实施例七的流表修改装置700的结构框图。所述流表修改装置700包括处理器(processor)710、通信接口(communicationsinterface)720、存储器(memory)730和总线740。其中,处理器710、通信接口720、以及存储器730通过总线740完成相互间的通信。处理器710用于执行程序。处理器710可能是一个中央处理器CPU,也可能由一个中央处理器CPU和硬件芯片组成,其中硬件芯片可以包括复杂可编程逻辑器件(complexprogrammablelogicdevice,CPLD)。存储器730可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,RAM),或者非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,ROM),快闪存储器(flashmemory),硬盘(harddiskdrive,HDD)或固态硬盘(solid-statedrive,SSD)。存储器730与处理器710相连。在一种可能的实现方式中,上述程序可为包括计算机操作指令的程序代码。该处理器710根据程序指令执行以下步骤:向交换机发送更新流表表项消息,所述更新流表表项消息中包括流表标识、操作类型、待修改目标信息和新匹配域字段,所述更新流表表项消息用于指示所述交换机在与所述流表标识相对应的流表中,查找与所述待修改目标信息匹配的流表项,并将所述匹配的流表项的匹配域字段修改为所述新匹配域字段。本发明实施例的流表修改装置,通过向交换机发送更新流表表项消息,指定交换机在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,并将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。实施例8图8为根据本发明实施例八的开放流网络系统的结构框图。如图8所示,该开放流网络系统主要包括:控制器810和交换机830。所述交换机830采用上述实施例四中所述的流表修改装置400或实施例六所述的流表修改装置600;所述控制器810采用上述实施例五中所述的流表修改装置500或实施例七所述的流表修改装置700。具体可以参见上述实施例一至七的相关描述。本实施例的开放流网络系统,交换机通过接收控制器发送的更新流表表项消息,在与流表标识相对应的流表中查找与待修改目标信息相匹配的流表项,并将匹配的流表项的匹配域字段修改为新匹配域字段,修改流表的效率高且减轻了接口负载。此外,标识仅对与待修改目标信息相匹配的流表项进行修改,修改流表的信息冗余低。本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以计算机软件来实现。在一定程度上可以认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括USB闪存驱动器(USBflashdrive)、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(random-accessmemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替代,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1