CN105103516A - 处理规则的修改方法、装置及设备 - Google Patents
处理规则的修改方法、装置及设备 Download PDFInfo
- Publication number
- CN105103516A CN105103516A CN201480000147.9A CN201480000147A CN105103516A CN 105103516 A CN105103516 A CN 105103516A CN 201480000147 A CN201480000147 A CN 201480000147A CN 105103516 A CN105103516 A CN 105103516A
- Authority
- CN
- China
- Prior art keywords
- modification
- information
- action command
- modified
- transponder
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Security & Cryptography (AREA)
- Game Theory and Decision Science (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开一种处理规则的修改方法、装置和设备,方法包括:所述转发器接收控制器发送的规则修改信息;所述规则修改信息包括规则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修改;当所述转发器确定所述第一处理规则的规则描述信息满足所述规则描述匹配信息时,所述转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令进行修改。本发明能够提高转发器中处理规则的修改效率,减少控制器和转发器之间的通信资源占用。
Description
处理规则的修改方法、 装置及设备
技术领域
[01] 本发明涉及通信领域, 尤其涉及处理规则的修改方法、 装置及设备。 背景技术
[02] 为解决网元的部署灵活性和可管理性, 业界提出了软件定义网络 (SDN, Software-Defined Network) 的概念。 SDN 通过将网元的控制逻辑和转发功能解 耦, 并将控制逻辑进行集中部署, 使得对网络的控制和维护工作能够简单地通过 对控制面设备的操作实现, 从而提高网络的管理效率, 并使得转发面设备更为简 单化, 有利于实现转发面设备的高性能和可重用性。
[03] 在实际应用中, SDN 网络中一般包括作为控制面设备的控制器和作为转发 面设备的转发器, 控制器通过控制转发器上的处理规则实现对数据报文处理流程 的控制, 每个处理规则包括匹配域信息及由一个或多个动作指令组成的指令集, 所述匹配域信息用于确定待匹配的数据报文, 即与该处理规则对应的数据报文, 所述指令集用于指示根据所述指令集中的所述动作指令对所述处理规则对应的数据 报文进行处理。 每个动作指令又可选地包括动作类型及动作参数; 本发明中将动 作类型和动作参数统称为动作指令的动作变量。 通常, 处理规则还可以包括处理 规则的标识或者索引。 处理规则的匹配域信息和处理规则的标识或者索引可以称 为该处理规则的规则描述信息, 该处理规则的规则描述信息可以用于标识该处理规 贝1」。值得注意的是, 这里规则描述信息用于标识处理规则, 并不一定是指唯一标识处 理规则, 不同的处理规则可以有相同的规则描述信息。
[04] 开放流(Openflow)协议是 SDN网络中最典型和应用最多的协议。 Openflow 协议中的网元包括开放流控制器 (Openflow Controller ) 和开放流转发器 ( Openflow Switch) , 以下分别简称为 OF控制器和 OF转发器。 Openflow协议中 的数据报文处理以业务流为粒度, 每个业务流可以采用源媒体接入控制 (MAC ) 地址、 目的 MAC地址、 源互联网协议 (IP ) 地址、 目的 IP地址、 源端口号、 目 的端口号等不同的报文头域的组合来表示。 OF 转发器将这些流粒度的处理规则 存储在 OF转发器的流表中, 因此 Openflow协议中的处理规则又被称为流表项, 每个流表项的组成结构如下表 1所示:
表 1
[05] 其中, 每个流表项包括: 匹配域 (Match Fields)、 优先权 (Priority)、 计数 器 ( Counters ) 指令集 ( Instructions ) 超时 ( Timeouts) 以及暂存 ( Cookie) 等 部分, 所述匹配域可以认为是流表项的规则描述信息, 指令集中包括流表项对应 的动作指令, 每一动作指令的动作变量包括动作类型和动作参数; 此时, 所述规 则描述信息还可以用于确定所述处理规则对应的数据报文,所述处理规则对应的数据 报文满足所述规则描述信息。
[06] 当 OF转发器接收到用户的数据报文时, 对数据报文与各流表项的匹配域进 行匹配, 并根据匹配成功的流表项对数据报文执行指令集包含的动作, 从而实现 数据报文的转发、 修改等控制处理。
[07] Openflow协议采用流修改 (Flow_mod) 消息实现对流表项的增加、 修改和 删除。 每个 FlOW_mod 消息的主要组成结构如下: FlOW_mod={消息类型 (MsgType),表 ID ( Table ID) ,匹配规贝 lj ( match rule), Instructions( Action 1, Action 2, … Action n)} ; 当执行流表项修改时, Flow_mod 消息通过包含有 Msg_Type 为修改 (Modify) 或严格修改 (Modify_Strict) 的标识, 分别实现对流表项的非 严格匹配修改和严格匹配修改。 所谓严格匹配修改, 即将匹配域与 FlOW_mod消 息携带的匹配规则完全相同的流表项的指令集修改为 FlOW_mod消息携带的指令 集。 非严格匹配修改, 即将所有匹配域被 FlOW_mod消息携带的匹配规则覆盖的 流表项的指令集均修改为 FlOW_mod消息携带的指令集。 以下举例说明两种修改 的区别:
[08] 对于流表中存储的如下三个流表项(以下举例及后续本发明实施例中仅列出 与专利相关的部分流表项内容, 其它域如 timeouts/cookie与本发明无关, 在此不 再列举):
[09] 流表项 1: 匹配规则 (Match rule) (src_ip=ipl , dst_ip=ip2, protocol=TCP, dst_port=80), instructions(actionl , action4);
[10] 、流表项 2: Match rule(src_ip=ipl , dst_ip=ip2, protocol=UDP , dst_port=53), instructions(action2 , action4);
[11] 流表项 3 : Match rule(src_ip=ipl , dst_ip=ip2), instructions(action3 , action4);
[12] 假设 Flow_mod消息中携带的信息为: Msg—type, match rule(src_ip=ipl , d st_ip=ip2), instructions(action4, action5); 贝 lj, 如果该 Flow_mod消息中携带的 M
sg_Type为 Modify_Strict, 由于仅有流表项 3与 Flow_mod消息中携带的匹配规 则完全匹配, 因此只将流表项 3的 instructions替换为 instructions(action4, action 5); 如果 Flow_mod消息中携带的 Msg_Type为 Modify, 由于流表项 1、 2、 3中 均包括 Flow_mod消息中的匹配规则, 因此将流表项 1、 2、 3的 instructions均替 换为 instructions(action4 , action5)。
[13] 从上述描述和实例可以看出, Openflow 协议所定义的流表项修改方法中, 可以通过严格匹配修改或非严格匹配修改, 对一个或多个流表项进行批量修改。 但这种修改仅限于使用 FlOW_mod消息携带的指令集完全替代流表项原有的指令 集。
[14] 这种流表项的修改方法仅限于使用 FlOW_mod消息携带的指令集完全替代流 表项原有的指令集, 修改方式过于死板, 在很多情况下修改效率低, 且较多地占 用了 OF控制器和 OF转发器之间的通信资源。 发明内容
[15] 本发明实施例提供一种处理规则的修改方法、装置及设备, 能够提高转发器 中处理规则的修改效率, 减少控制器和转发器之间的通信资源占用。
[16] 第一方面, 提供一种处理规则的修改装置, 所述修改装置上存有第一处理规 贝 ij, 所述第一处理规则包括规则描述信息和指令集, 所述规则描述信息用于标识 所述第一处理规则, 所述指令集包括至少一个动作指令, 所述指令集用于指示根 据所述指令集中的所述动作指令对所述第一处理规则对应的数据报文进行处理; 所述装置包括:
[17] 接收单元, 用于接收控制器发送的规则修改信息; 所述规则修改信息包括规 则描述匹配信息和动作指令修改信息, 所述规则描述匹配信息用于确定待修改的 处理规则, 所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息, 所述动作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动 作指令进行修改;
[18] 修改单元,用于确定所述第一处理规则的规则描述信息满足所述接收单元接 收到的所述规则描述匹配信息时, 根据所述接收单元接收到的所述动作指令修改 信息对所述第一处理规则的指令集中指定的动作指令进行修改。
[19] 结合第一方面, 在第一方面第一种可能的实现方式中, 所述动作指令修改信 息包括: 动作指令匹配条件和修改操作信息; 其中, 所述动作指令匹配条件用于
确定待修改的动作指令, 所述修改操作信息用于指示对所述待修改的动作指令的 修改操作;
[20] 所述修改单元包括:
[21] 指令确定子单元,用于确定所述第一处理规则的规则描述信息满足所述接收单 元接收到的所述规则描述匹配信息时,根据所述动作指令匹配条件确定所述第一处理 规则的指令集中待修改的第一动作指令;
[22] 修改子单元, 用于根据所述修改操作信息对所述第一动作指令进行修改。
[23] 结合第一方面第一种可能的实现方式, 在第一方面第二种可能的实现方式 中, 所述动作指令匹配条件包括位置信息, 所述位置信息用于指示所述待修改的 动作指令在所述待修改的处理规则的指令集中的位置;
[24] 所述指令确定子单元具体用于:确定所述第一处理规则的规则描述信息满足所 述接收单元接收到的所述规则描述匹配信息时, 根据所述位置信息确定所述第一动 作指令。
[25] 结合第一方面第二种可能的实现方式, 在第一方面第三种可能的实现方式 中, 所述位置信息包括第一掩码, 所述第一掩码中每一掩码位的位置对应所述待 修改的处理规则的指令集中每一动作指令的位置;
[26] 所述指令确定子单元具体用于:确定所述第一处理规则的规则描述信息满足所 述接收单元接收到的所述规则描述匹配信息时, 确定所述第一掩码中具有第一预设 数值的掩码位; 根据所述具有第一预设数值的掩码位的位置确定所述第一动作指 令。
[27] 结合第一方面第二种可能的实现方式, 在第一方面第四种可能的实现方式 中, 所述位置信息包括修改指示列表, 所述修改指示列表包括修改指示, 所述修 改指示列表中每一修改指示在所述修改指示列表中的位置对应所述待修改的处理 规则的指令集中每一动作指令的位置, 所述修改指示用于指示是否修改动作指 令;
[28] 所述指令确定子单元具体用于:确定所述第一处理规则的规则描述信息满足所 述接收单元接收到的所述规则描述匹配信息时,确定所述修改指示列表中用于指示修 改动作指令的修改指示;根据所述用于指示修改动作指令的修改指示在所述修改指示 列表中所在的第一位置, 确定与所述第一位置对应的所述第一动作指令。
[29] 结合第一方面第一种可能的实现方式, 在第一方面第五种可能的实现方式 中, 所述动作指令匹配条件包括: 指令类型信息, 所述指令类型信息用于指示所
述待修改的动作指令的指令类型;
[30] 所述指令确定子单元具体用于:确定所述第一处理规则的规则描述信息满足所 述接收单元接收到的所述规则描述匹配信息时, 根据所述指令类型信息确定所述第 一动作指令。
[31] 结合第一方面第一种可能的实现方式, 和 /或第一方面第二种可能的实现方 式, 和 /或第一方面第三种可能的实现方式, 和 /或第一方面第四种可能的实现方 式,和 /或第一方面第五种可能的实现方式,在第一方面第六种可能的实现方式中, 所述修改操作信息包括: 新的动作指令;
[32] 所述修改子单元具体用于: 将所述第一动作指令修改为所述新的动作指令。
[33] 结合第一方面第一种可能的实现方式, 和 /或第一方面第二种可能的实现方 式, 和 /或第一方面第三种可能的实现方式, 和 /或第一方面第四种可能的实现方 式,和 /或第一方面第五种可能的实现方式,在第一方面第七种可能的实现方式中, 所述修改操作信息包括: 修改参数指示信息, 所述修改参数指示信息用于指示对 所述待修改的动作指令的动作变量进行修改;
[34] 所述修改子单元具体用于:根据所述修改参数指示信息对所述第一动作指令 的动作变量进行修改。
[35] 结合第一方面第七种可能的实现方式, 在第一方面第八种可能的实现方式 中, 所述修改参数指示信息包括参数匹配条件和参数修改操作信息, 所述参数匹 配条件用于确定所述待修改的动作指令中的待修改的动作变量, 所述参数修改操 作信息用于指示对所述待修改的动作变量的修改;
[36] 所述修改子单元包括:
[37] 确定模块,用于根据所述参数匹配条件确定所述第一动作指令中待修改的第 一动作变量;
[38] 修改模块, 用于根据所述参数修改操作信息对所述第一动作变量进行修改。
[39] 结合第一方面第八种可能的实现方式, 在第一方面第九种可能的实现方式 中, 所述参数修改操作信息包括新的变量值;
[40] 所述修改模块具体用于:将所述第一动作变量的变量值修改为所述新的变量 值。
[41] 结合第一方面第八种可能的实现方式, 在第一方面第十种可能的实现方式 中, 所述参数修改操作信息包括运算方法信息, 所述运算方法信息用于指示获取 变量值的运算方法;
[42] 所述修改模块具体用于:
[43] 根据所述运算方法信息获取新的变量值;
[44] 将所述第一动作变量的变量值修改为所述新的变量值。
[45] 第二方面, 提供一种处理规则的修改装置, 该装置适用于与转发器进行通信 的控制器, 所述转发器上存有第一处理规则, 所述第一处理规则包括规则描述信 息和指令集, 所述规则描述信息用于标识所述第一处理规则, 所述指令集包括至 少一个动作指令, 所述指令集用于指示根据所述指令集中的所述动作指令对所述 第一处理规则对应的数据报文进行处理; 所述装置包括:
[46] 生成单元, 用于生成规则修改信息;
[47] 发送单元, 用于向所述转发器发送所述生成单元生成的规则修改信息; 所述 规则修改信息包括规则描述匹配信息和动作指令修改信息, 所述规则描述匹配信 息用于确定待修改的处理规则, 所述待修改的处理规则的规则描述信息符合所述 规则描述匹配信息, 所述动作指令修改信息用于指示对所述待修改的处理规则的 指令集中指定的动作指令进行修改; 以便所述转发器确定所述第一处理规则的规 则描述信息满足所述规则描述匹配信息时, 根据所述动作指令修改信息对所述第 一处理规则的指令集中指定的动作指令进行修改。
[48] 第三方面, 提供一种处理规则的修改方法, 适用于转发器, 所述转发器上存 有第一处理规则, 所述第一处理规则包括规则描述信息和指令集, 所述规则描述 信息用于标识所述第一处理规则, 所述指令集包括至少一个动作指令, 所述指令 集用于指示根据所述指令集中的所述动作指令对所述第一处理规则对应的数据 报文进行处理; 所述方法包括:
[49] 所述转发器接收控制器发送的规则修改信息;所述规则修改信息包括规则描 述匹配信息和动作指令修改信息, 所述规则描述匹配信息用于确定待修改的处理 规则, 所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息, 所述 动作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指 令进行修改;
[50] 当所述转发器确定所述第一处理规则的规则描述信息满足所述规则描述匹 配信息时, 所述转发器根据所述动作指令修改信息对所述第一处理规则的指令集 中指定的动作指令进行修改。
[51] 结合第三方面, 在第三方面第一种可能的实现方式中, 所述动作指令修改信 息包括: 动作指令匹配条件和修改操作信息; 其中, 所述动作指令匹配条件用于
确定待修改的动作指令, 所述修改操作信息用于指示对所述待修改的动作指令的 修改操作;
[52] 所述转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指 定的动作指令进行修改, 包括:
[53] 所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中 待修改的第一动作指令;
[54] 所述转发器根据所述修改操作信息对所述第一动作指令进行修改。
[55] 结合第三方面第一种可能的实现方式中,在第三方面第二种可能的实现方式 中, 所述动作指令匹配条件包括位置信息, 所述位置信息用于指示所述待修改的 动作指令在所述待修改的处理规则的指令集中的位置;
[56] 所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中 待修改的第一动作指令包括:
[57] 所述转发器根据所述位置信息确定所述第一动作指令。
[58] 结合第三方面第二种可能的实现方式, 在第三方面第三种可能的实现方式 中, 所述位置信息包括第一掩码, 所述第一掩码中每一掩码位的位置对应所述待 修改的处理规则的指令集中每一动作指令的位置;
[59] 所述转发器根据所述位置信息确定所述第一动作指令包括:
[60] 所述转发器确定所述第一掩码中具有第一预设数值的掩码位;
[61] 所述转发器根据所述具有第一预设数值的掩码位的位置确定所述第一动作 指令。
[62] 结合第三方面第二种可能的实现方式, 在第三方面第四种可能的实现方式 中, 所述位置信息包括修改指示列表, 所述修改指示列表包括修改指示, 所述修 改指示列表中每一修改指示在所述修改指示列表中的位置对应所述待修改的处理 规则的指令集中每一动作指令的位置, 所述修改指示用于指示是否修改动作指 令;
[63] 所述转发器根据所述位置信息确定所述第一动作指令包括:
[64] 所述转发器确定所述修改指示列表中用于指示修改动作指令的修改指示;所 述转发器根据所述用于指示修改动作指令的修改指示在所述修改指示列表中所 在的第一位置, 确定所述第一动作指令。
[65] 结合第三方面第一种可能的实现方式, 在第三方面第五种可能的实现方式 中, 所述动作指令匹配条件包括: 指令类型信息, 所述指令类型信息用于指示所
述待修改的动作指令的指令类型;
[66] 所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中 待修改的第一动作指令包括:
[67] 所述转发器根据所述指令类型信息确定所述第一动作指令。
[68] 结合第三方面第一种可能的实现方式, 和 /或第三方面第二种可能的实现方 式, 和 /或第三方面第三种可能的实现方式, 和 /或第三方面第四种可能的实现方 式,和 /或第三方面第五种可能的实现方式,在第三方面第六种可能的实现方式中, 所述修改操作信息包括: 新的动作指令;
[69] 所述转发器根据所述修改操作信息对所述第一动作指令进行修改包括:
[70] 所述转发器将所述第一动作指令修改为所述新的动作指令。
[71] 结合第三方面第一种可能的实现方式, 和 /或第三方面第二种可能的实现方 式, 和 /或第三方面第三种可能的实现方式, 和 /或第三方面第四种可能的实现方 式,和 /或第三方面第五种可能的实现方式,在第三方面第七种可能的实现方式中, 所述修改操作信息包括: 修改参数指示信息, 所述修改参数指示信息用于指示对 所述待修改的动作指令的动作变量进行修改;
[72] 所述转发器根据所述修改操作信息对所述第一动作指令进行修改包括:
[73] 所述转发器根据所述修改参数指示信息对所述第一动作指令的动作变量进 行修改。
[74] 结合第三方面第七种可能的实现方式, 在第三方面第八种可能的实现方式 中, 所述修改参数指示信息包括参数匹配条件和参数修改操作信息, 所述参数匹 配条件用于确定所述待修改的动作指令中的待修改的动作变量, 所述参数修改操 作信息用于指示对所述待修改的动作变量的修改;
[75] 所述转发器根据所述修改参数指示信息对所述第一动作指令的参数进行修 改包括:
[76] 所述转发器根据所述参数匹配条件确定所述第一动作指令中待修改的第一 动作变量;
[77] 所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改。
[78] 结合第三方面第八种可能的实现方式, 在第三方面第九种可能的实现方式 中, 所述参数修改操作信息包括新的变量值;
[79] 所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改包括:
[80] 所述转发器将所述第一动作变量的变量值修改为所述新的变量值。
[81] 结合第三方面第八种可能的实现方式, 在第三方面第十种可能的实现方式 中, 所述参数修改操作信息包括运算方法信息, 所述运算方法信息用于指示获取 变量值的运算方法;
[82] 所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改包括:
[83] 所述转发器根据所述运算方法信息获取新的变量值;
[84] 所述转发器将所述第一动作变量的变量值修改为所述新的变量值。
[85] 第四方面, 提供一种处理规则的修改方法, 该方法适用于与转发器进行通信 的控制器, 所述转发器上存有第一处理规则, 所述第一处理规则包括规则描述信 息和指令集, 所述规则描述信息用于标识所述第一处理规则, 所述指令集包括至 少一个动作指令, 所述指令集用于指示根据所述指令集中的所述动作指令对所述 第一处理规则对应的数据报文进行处理; 所述方法包括:
[86] 所述控制器向所述转发器发送规则修改信息;所述规则修改信息包括规则描 述匹配信息和动作指令修改信息, 所述规则描述匹配信息用于确定待修改的处理 规则, 所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息, 所述 动作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指 令进行修改; 以便所述转发器确定所述第一处理规则的规则描述信息满足所述规 则描述匹配信息时, 根据所述动作指令修改信息对所述第一处理规则的指令集中 指定的动作指令进行修改。
[87] 本发明实施例中, 转发器接收控制器发送的规则修改信息; 所述规则修改信息 包括规则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改 的处理规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所 述动作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令 进行修改;所述转发器确定所述第一处理规则的规则描述信息满足所述规则描述匹配 信息时,所述转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指定 的动作指令进行修改。从而转发器不再仅使用类似于用 FlOW_mod消息携带的指令 集完全替代流表项原有的指令集的方式来实现第一处理规则的修改, 而是可以对 第一处理规则的指定动作和 /或指定动作变量单独进行修改,第一处理规则的修改 方式灵活, 提高了控制器对转发器中第一处理规则进行修改的效率; 而且, 在仅 需要修改第一处理规则的指令集中部分动作指令的场景下, 相对于现有技术可以 通过相对较少的消息数量完成第一处理规则的指令集中部分动作指令的修改, 相 对于现有技术减少了第一处理规则修改所使用的消息数量, 从而减少了控制器和
转发器之间通信资源的占用。 附图说明
[88] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例 或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的 附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造 性劳动性的前提下, 还可以根据这些附图获得其他的附图。
[89] 图 1为本发明实施例处理规则修改方法应用场景结构图;
[90] 图 2本发明处理规则的修改方法第一实施例示意图;
[91] 图 3为本发明处理规则的修改方法第二实施例示意图;
[92] 图 4为本发明处理规则的修改方法第三实施例示意图;
[93] 图 5为本发明处理规则的修改装置第一实施例示意图;
[94] 图 6为本发明处理规则的修改装置第二实施例示意图;
[95] 图 7为本发明转发器结构示意图;
[96] 图 8为本发明控制器结构示意图。 具体实施方式
[97] 在一些场景下流表项指令集中的某些动作指令是流表项特有的, 或者, 很多 场景下实际需要修改的仅是流表项指令集中的部分动作指令, 因此, OF 控制器 希望在批量修改流表项指令集中的部分动作指令的同时, 保留流表项指令集中的 其他动作指令。 例如, 对于背景技术中举例的流表项 1~3, 假设 aCti0nl、 2、 3 分别表示将数据报文进行流表项对应的不同隧道封装动作, action4表示将数据报 文从端口 1转发, acti0n5表示将数据报文从端口 2转发; 如果 OF控制器希望在 保留 actionl、 2、 3不变的情况下, 将流表项 1、 2、 3的 action4均修改为 action5, 从而使数据报文的最后转发端口从端口 1迁移到端口 2; 由于现有技术中仅支持 通过 FlOW_mod 消息对流表项指令集完全替换, OF 控制器无法通过一条 Flow_mod消息实现上述批量修改能力, 只能通过 3条 Flow_mod消息分别对三 个处理规则进行修改。 从而导致对于转发器中流表项的修改效率低, 且需要 3条 Flow_mod消息才能实现流表项 1~3的修改, 占用了 OF控制器和 OF转发器之间 的通信资源; 尤其在 OF转发器中存在大量流表项的场景下, 这种低效率的流表 项修改会导致 OF控制器和 OF转发器之间大量 FlOW_mod消息的传输,降低流表
项的修改效率, 消耗 OF控制器和 OF转发器之间的通信资源。
[98] 为此, 本发明实施例提供一种处理规则的修改方法、 装置及设备, 能够提高 转发器中处理规则的修改效率, 减少控制器和转发器之间的通信资源占用。
[99] 本发明实施例处理规则的修改方法、装置及设备,不仅可以适用于 Openflow 协议下 OF控制器对 OF转发器中流表项的修改, 还可以适用于其他 SDN网络中 控制器对转发器中处理规则的修改。
[100]参见图 1, 为本发明实施例处理规则修改方法所应用的 SDN 网络结构示意 图, 其中, 包括控制器 110和转发器 120, 其中, 控制器 110通过向转发器 120 发送规则修改信息, 来对转发器 120中存储的各种第一处理规则进行修改。 转发 器 120中存储的第一处理规则与前述的处理规则所指代的对象相同, 这里以及后 续将转发器 120中存储的处理规则称为第一处理规则主要用于将第一处理规则与 待修改的处理规则进行区分。 具体的, 所述第一处理规则可以包括规则描述信息和 指令集, 所述规则描述信息用于标识所述第一处理规则, 所述指令集包括至少一个 动作指令,所述指令集用于指示根据所述指令集中的所述动作指令对所述第一处理规 则对应的数据报文进行处理。
[101]参见图 2, 为本发明处理规则修改方法第一实施例示意图, 该方法包括:
[102]步骤 201 : 转发器接收控制器发送的规则修改信息; 所述规则修改信息包括规 则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理 规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作 指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修 改;
[103]步骤 202: 当所述转发器确定所述第一处理规则的规则描述信息满足所述规则 描述匹配信息时,所述转发器根据所述动作指令修改信息对所述第一处理规则的指令 集中指定的动作指令进行修改。
[104]本实施例中, 转发器接收控制器发送的规则修改信息; 所述规则修改信息包括 规则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处 理规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动 作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行 修改;从而,对于规则描述信息满足所述规则描述匹配信息的每一个第一处理规则, 转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令
进行修改。 从而转发器不再仅使用类似于用 FlOW_mod消息携带的指令集完全替 代流表项原有的指令集的方式来实现第一处理规则的修改, 而是可以对第一处理 规则的指定动作和 /或指定动作变量单独进行修改, 第一处理规则的修改方式灵 活, 提高了控制器对转发器中第一处理规则进行修改的效率; 而且, 在仅需要修 改第一处理规则的指令集中部分动作指令的场景下, 相对于现有技术可以通过相 对较少的消息数量完成第一处理规则的指令集中部分动作指令的修改, 相对于现 有技术减少了第一处理规则修改所使用的消息数量, 从而减少了控制器和转发器 之间通信资源的占用。 [105]参见图 3, 为本发明处理规则修改方法第二实施例示意图, 该方法包括:
[106]步骤 301 : 控制器向转发器发送规则修改信息; 所述规则修改信息包括规则描 述匹配信息和动作指令修改信息, 所述规则描述匹配信息用于确定待修改的处理规 贝 U,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作指 令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修改;
[107]以便所述转发器确定所述第一处理规则的规则描述信息满足所述规则描述匹配 信息时,根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令 进行修改。
[108]可选地, 步骤 301之前还可以包括: 所述控制器生成所述规则修改信息。
[109]其中, 控制器具体如何生成所述规则修改信息这里不再赘述。
[no]本实施例中, 控制器向转发器发送规则修改信息, 所述规则修改信息包括规 则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理 规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作 指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修 改; 从而, 对于规则描述信息满足所述规则描述匹配信息的每一个第一处理规则, 转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令 进行修改。 从而转发器不再仅使用类似于用 FlOW_mod消息携带的指令集完全替 代流表项原有的指令集的方式来实现第一处理规则的修改, 而是可以对第一处理 规则的指定动作和 /或指定动作变量单独进行修改, 第一处理规则的修改方式灵 活, 提高了控制器对转发器中第一处理规则进行修改的效率; 而且, 在仅需要修 改第一处理规则的指令集中部分动作指令的场景下, 相对于现有技术可以通过相 对较少的消息数量完成第一处理规则的指令集中部分动作指令的修改, 相对于现
有技术减少了第一处理规则修改所使用的消息数量, 从而减少了控制器和转发器 之间通信资源的占用。
[111]参见图 4, 为本发明处理规则修改方法第三实施例示意图, 该方法包括:
[112]步骤 401 : 控制器向转发器发送规则修改信息, 所述规则修改信息包括规则 描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理规 贝 u,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作指 令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修改;
[113]其中, 控制器如何被触发进行第一处理规则的修改, 如何确定需要修改第一 处理规则的哪些动作指令这里并不限定。 例如, 控制器可以根据外部条件如来自 转发器的数据报文上报、 来自控制器上层管理系统的规则修改请求或虚拟机迁移 通知等, 或者根据内部条件如修改定时器超时等触发对某一个或多个第一处理规 则的修改; 例如, 控制器可以从转发器上报的数据报文头域中提取或者从上层管 理系统直接输入的信息中获取需要修改的第一处理规则、 以及每个第一处理规则 中需要修改的动作指令, 或者, 根据转发器所转发的数据报文的类型、 所转发数 据报文所属用户的签约信息、 网络状态等信息确定需要修改的第一处理规则、 以 及每个第一处理规则中需要修改的动作或动作变量等。
[114]其中, 控制器和转发器之间如何实现所述规则修改信息的传输, 本发明并不 限制。 例如, 在 Openflow协议中, 本步骤可以通过 OF控制器向 OF发送携带所 述规则修改信息的 floW_ mod消息实现; 在其他的 SDN网络中, 也可以通过控制 器和转发器之间的其他消息实现等等。
[115]所述规则描述信息用于标识第一处理规则; 例如所述规则描述信息可以是所 述控制器或转发器为第一处理规则分配的唯一标识等。 在某些场景下例如 Openflow协议中, 所述规则描述信息可以为流表项的匹配域, 此时所述规则描述 信息还可以用于确定第一处理规则对应的数据报文,所述第一处理规则对应的数据报 文满足所述规则描述信息。
[116]所述规则描述匹配信息在不同的应用场景下可以有不同的实现。
[117]举例 1 : 在 Openflow协议中,所述规则描述匹配信息可以是 flow_ mod消息 中携带的匹配规则 (Match Rule) , 按照 flow_ mod消息中携带的是严格匹配修改 或非严格匹配修改标识, 匹配规则可以覆盖不同匹配域范围, 进而指示不同的流 表项集合。
[118]例如, 背景技术中对于匹配规则与流表项中匹配域匹配的举例;
[119]或者, 例如 Flow—mod 消息中携带匹配规则为: match rule={src_ip=ipl , dst_ip=ip2, protocol: ALL, port=ALL, tunnel_id=ALL}; 贝 lj,
[120]如果 flOW_ mod消息中携带严格匹配修改标识,转发器中与上述匹配规则完 全相同的匹配域就是该匹配规则覆盖的范围, 如果 flOW_ mod消息中携带非严格 匹配修改标识, 转发器中包括上述匹配规则的匹配域就是该匹配规则覆盖的范 围。
[121]或者, 例如所述匹配规则可以通过媒体接入控制 (MAC , Media Access Control) /互联网协议(IP, Internet Protocol) /传输控制协议(TCP, Transmission Control Protocol) /用户数据包协议 (UDP, User Datagram Protocol) 等头域的通 配或者 cookie 掩码等方式, 使得该匹配规则能够覆盖一个或多个流表项的匹配 域。 如匹配规则为: match rule = {src_ip=ipl, dst_ip=ip2, cookie =0x0031, cookie_mask = Oxfffe} , 则该匹配规则可以覆盖所有源 IP地址和目的 IP地址为指 定地址, 以及满足以下逻辑的流表项的匹配域: (flow entry ookie&flow modxookie mask) == (Flow modxookie&flow modxookie mask;)。
[122]举例 2: 假设所述规则描述信息通过唯一标识第一处理规则的处理规则标识 实现, 则所述规则描述匹配信息可以包括: 一个或多个规则标识, 如规则描述匹 配信息为 { 1, 3, 4}; 或者, 规则标识掩码, 如规则描述匹配信息为 {0x001, mask=0xfffe} ; 或者规则标识范围, 如规则描述匹配信息为 {Min=l, MAX=3 }等。
[123]在实际应用中, 所述规则描述匹配信息的实现灵活, 可以根据实际应用环境 具体设定, 这里并不限制。
[124]其中, 所述动作指令修改信息可以包括: 动作指令匹配条件、 修改操作信息; 其中,所述动作指令匹配条件用于确定待修改的动作指令,所述修改操作信息用于指 示对所述待修改的动作指令的修改操作;
[125]具体的, 所述动作指令匹配条件可以包括:
[126]位置信息, 所述位置信息用于指示所述待修改的动作指令在所述待修改的处理 规则的指令集中的位置;
[127]或者, 指令类型信息, 所述指令类型信息用于指示所述待修改的动作指令的指 令类型;
[128]或者, 待修改的动作指令。
[129]其中, 所述位置信息可以包括: 第一掩码, 所述第一掩码中每一掩码位的位置
对应所述待修改的处理规则的指令集中每一动作指令的位置;
[130]或者, 所述位置信息可以包括修改指示列表, 所述修改指示列表包括修改指示, 所述修改指示列表中每一修改指示在所述修改指示列表中的位置对应所述待修改的 处理规则的指令集中每一动作指令的位置, 所述修改指示用于指示是否修改动作指 令。
[131]其中, 所述修改操作信息可以包括:
[132]新的动作指令;
[133]或者, 修改参数指示信息, 所述修改参数指示信息用于指示对所述待修改的动 作指令的动作变量进行修改。
[134]其中, 所述修改参数指示信息可以包括:
[135]参数匹配条件和参数修改操作信息, 所述参数匹配条件用于确定所述待修改的 动作指令中的待修改的动作变量,所述参数修改操作信息用于指示对所述待修改的动 作变量的修改。
[136]其中, 所述参数匹配条件可以包括:
[137]待修改的动作变量;
[138]或者, 动作变量和与动作变量绑定的修改指示; 所述修改指示用于指示绑定的 动作变量是否进行修改。
[139]所述参数修改操作信息可以包括新的变量值; 或者, 运算方法信息, 所述运算 方法信息用于指示获取变量值的运算方法。
[140]其中, 所述动作的动作变量包括动作类型和动作参数。 动作参数可以包括一种 或多种参数。
[141]步骤 402: 转发器接收所述规则修改信息。
[142]步骤 403 :当转发器确定所述第一处理规则的规则描述信息满足所述规则描述匹 配信息时,所述转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指 定的动作指令进行修改。
[143]以下对本步骤中所述转发器根据所述动作指令修改信息对所述第一处理规则的 指令集中指定的动作指令进行修改的实现进行说明。
[144]其中, 所述动作指令修改信息可以包括: 动作指令匹配条件和修改操作信息; 其中,所述动作指令匹配条件用于确定待修改的动作指令,所述修改操作信息用于指 示对所述待修改的动作指令的修改操作;
[145]所述转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指定的
动作指令进行修改可以包括:
[146]所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中待修 改的第一动作指令;
[147]所述转发器根据所述修改操作信息对所述第一动作指令进行修改。
[148]以下对所述动作指令匹配条件的实现进行举例说明:
[149] 1.1、 所述动作指令匹配条件可以包括位置信息, 所述位置信息用于指示所述待 修改的动作指令在所述待修改的处理规则的指令集中的位置;
[150]所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中待修 改的第一动作指令可以包括: 所述转发器根据所述位置信息确定所述第一动作指令。
[151]在第一种可能的实现方式中, 所述位置信息可以包括第一掩码, 所述第一掩码 中每一掩码位的位置对应所述待修改的处理规则的指令集中每一动作指令的位置;
[152]所述转发器根据所述位置信息确定所述第一动作指令可以包括:
[153]所述转发器确定所述第一掩码中具有第一预设数值的掩码位;
[154]所述转发器根据所述具有第一预设数值的掩码位的位置确定所述第一动作指 令。
[155]在实际应用中, 所述第一动作指令对应的掩码位为第一预设数值, 其他掩码位 的数值与所述第一预设数值不同。
[156]例如, 以本发明实施例应用于 Openflow协议为例, OF控制器向 OF转发器发 送 Flow_mod 消息如下:
[157] Flow_mod={MODIFY , table id=l , match rule , Mask=0x001 , Instructions {action3} ;
[158]其中, 位置信息通过掩码 0x001 实现, 假设第一预设数值为 1, 则掩码 0x001 中仅最后一个掩码位是 1, 表示流表项指令集的最后一个动作指令为第一动作指令。
[159]在第二种可能的实现方式中, 所述位置信息可以包括修改指示列表, 所述修改 指示列表包括修改指示,所述修改指示列表中每一修改指示在所述修改指示列表中的 位置对应所述待修改的处理规则的指令集中每一动作指令的位置,所述修改指示用于 指示是否修改动作指令;
[160]所述转发器根据所述位置信息确定所述第一动作指令可以包括:
[161]所述转发器确定所述修改指示列表中用于指示修改动作指令的修改指示; 所述 转发器根据所述用于指示修改动作指令的修改指示在所述修改指示列表中所在的第 一位置, 确定所述第一动作指令。
[162]例如, 以本发明实施例应用于 Openflow协议为例, OF控制器向 OF转发器发 送 Flow_mod 消息如下:
[163] Flow_mod={MODIFY, table id=l, match rule, Instructions { (action 1 , 0), (action2, 1), (action3 , 0)}};
[164]其中, Flow_mod 消息的指令集中携带的 actionl、 action2、 action3分别为修改 操作信息,具体为新的动作指令,后续描述中会进行详细说明,这里不赘述; (actionl , 0) (action3 , 0)中的 0、 (action2, 1)中的 1 分别是所述修改指示; 假设修改指示为 1 时, 表示对修改指示对应的动作指令进行修改, 修改指示为 0时, 表示对修改指示对 应的动作指令不进行修改; 贝 ij, (actionl , 0)在 FlOW_mod 消息的指令集中位于第 1 位, 其对应流表项指令集中的第一个动作指令, 但是修改指示为 0, 则转发器不对流 表项指令集中的第一个动作指令进行修改; 同样的原理,转发器对流表项指令集中的 第二个动作指令进行修改, 不对流表项指令集中的第三个动作指令进行修改。
[165] 1.2, 所述动作指令匹配条件可以包括: 指令类型信息, 所述指令类型信息用于 指示所述待修改的动作指令的指令类型;
[166]所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中待修 改的第一动作指令可以包括:
[167]所述转发器根据所述指令类型信息确定所述第一动作指令。
[168]例如, 以本发明实施例应用于 Openflow协议为例, OF控制器向 OF转发器发 送 Flow_mod 消息如下:
[169] Flow_mod={MODIFY, table id, match rule, Type—Only, Instructions {action3 } };
[170]其中, action为修改操作信息, 具体为新的动作指令, 后续描述中会进行详细 说明, 这里不赘述; Type_Only为指令类型信息, 用来表示待修改的动作指令的动作 类型与修改操作信息中的 acti0n3的动作类型相同; 贝 1」, 转发器会将流表项指令表中 动作类型与 acti0n3相同的动作指令均确定为所述第一动作指令。
[171] 1.3 , 所述动作指令匹配条件可以包括: 待修改的动作指令;
[172]所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中待修 改的第一动作指令可以包括:
[173]所述转发器根据动作指令匹配条件中包括的动作指令从所述第一处理规则的指 令集中确定所述第一动作指令。
[174]例如, 以本发明实施例应用于 Openflow协议为例, OF控制器向 OF转发器发 送 Flow mod 消息如下:
[175] Flow_mod={MODIFY, table id, match rule, Instructions { ( action 1 , action3 ) ,
(action2, action4 ) }};
[176]其中, 动作指令对 (actionl , action3 ), ( action2, action4) 中每一个动作指令 对的前一个动作指令为动作指令匹配条件,后一个动作指令为修改操作信息;具体的, 动作指令对 (actionl , action3 ), (action2, action4) 中的前一个动作指令 actionl 和 action3 分别为待修改的动作指令, 则转发器将流表项指令集中的 actionl 和 action3 分别确定为第一动作指令。
[177]以上实例中的每个动作指令都包括动作类型以及动作参数,例如 actionl是将数 据报文从端口 1转发的动作, 贝 U actionl可以为: action (type=OUTPUT, port=l ); 由 于本发明实施例的以上描述与每个动作指令的具体实现无关, 因此, 这里并未详述。
[178]以下对所述修改操作信息的实现进行举例说明:
[179] 2.1、 所述修改操作信息可以包括: 新的动作指令;
[180]所述转发器根据所述修改操作信息对所述第一动作指令进行修改可以包括:
[181]所述转发器将所述第一动作指令修改为所述新的动作指令。
[182]例如, 在上述 1.2 1.3所示的举例中, 修改操作信息均是通过新的操作指令实现 的。 具体的,
[183]如果 OF控制器向 OF转发器发送的 Flow_mod 消息如下:
[184] Flow_mod={MODIFY , table id=l , match rule , Mask=0x001 , Instructions {action3} ;
[185]则, 修改操作信息携带在 FlOW_mod 消息的指令集中, 为 acti0n3 ; 贝 ij, 转发器 只将流表项指令集的最后 1 个动作指令修改为 FlOW_mod 消息中指示的新的动作指 令: action , 流表项指令集中的其他动作不变。
[186]如果 OF控制器向 OF转发器发送的 Flow_mod 消息如下:
[187] Flow_mod={MODIFY, table id=l, match rule, Instructions {(actionl , 0), (action2, 1), (action3 , 0)}};
[188]其中, Flow_mod 消息的指令集中携带的 actionl、 action2、 action3分别为修改 操作信息, 具体为新的动作指令; (actionl , 0) (action3 , 0)中的 0、 (action2, 1)中的 1 分别是所述修改指示; 贝 ij, (actionl , 0)在 FlOW_mod 消息的指令集中位于第 1位, 其对应流表项指令集中的第一个动作指令, 修改指示为 0, 则转发器不将流表项指令 集中的第一个动作指令修改为 actionl ; 同样的原理, 转发器将流表项指令集中的第 二个动作指令修改为 acti0n2,不将流表项指令集中的第三个动作指令修改为 acti0n3。
[189]如果 OF控制器向 OF转发器发送的 Flow_mod 消息如下:
[190] Flow_mod={MODIFY, table id, match rule, Type—Only, Instructions {action3 } };
[191]其中, action为修改操作信息, 具体为新的动作指令; 贝 1」, 转发器会将流表项 指令表中动作类型与 acti0n3相同的动作指令均修改为 acti0n3, 其他动作指令保持不 变。
[192]如果 OF控制器向 OF转发器发送的 Flow_mod 消息如下:
[193] Flow_mod={MODIFY, table id, match rule, Instructions { ( action 1 , action3 ) ,
(action2, action4 ) }};
[194]其中, 动作指令对 ( actionl , action3 ), ( action2, action4) 中每一个动作指令 对的前一个动作指令为动作指令匹配条件,后一个动作指令为修改操作信息;具体的, 转发器将流表项指令集中的 actionl修改为 action3, action2修改为 action4,其他动作 指令保持不变。
[195] 2.2、 所述修改操作信息可以包括: 修改参数指示信息, 所述修改参数指示信息 用于指示对所述待修改的动作指令的动作变量进行修改;
[196]所述转发器根据所述修改操作信息对所述第一动作指令进行修改包括:
[197]所述转发器根据所述修改参数指示信息对所述第一动作指令的动作变量进行修 改。
[198]其中, 所述修改参数指示信息可以包括参数匹配条件和参数修改操作信息, 所 述参数匹配条件用于确定所述待修改的动作指令中的待修改的动作变量,所述参数修 改操作信息用于指示对所述待修改的动作变量的修改;
[199]所述转发器根据所述修改参数指示信息对所述第一动作指令的动作变量进行修 改可以包括:
[200]所述转发器根据所述参数匹配条件确定所述第一动作指令中待修改的第一动作 [201]所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改。
[202]在第一种可能的实现方式中, 所述参数匹配条件可以包括: 待修改的动作变量;
[203]所述转发器根据所述参数匹配条件确定所述第一动作指令中待修改的第一动作 变量可以包括:
[204]所述转发器根据所述参数匹配条件中的动作变量确定所述第一动作指令中待修 改的第一动作变量。
[205]例如, 以本发明实施例应用于 Openflow协议为例, OF控制器向 OF转发器
发送 Flow_mod 消息如下:
[206] Flow_mod={MODIFY, table id=l, match rule, Instructions [action 1 (MBR=3Mbps] }
[207]其中, 以动作参数 MBR作为所述参数匹配条件。
[208]在第二种可能的实现方式中, 所述参数匹配条件可以包括: 动作变量和与动作 变量绑定的修改指示;
[209]所述转发器根据所述参数匹配条件确定所述第一动作指令中待修改的第一动作 变量可以包括:
[210]所述转发器根据动作变量和与动作变量绑定的修改指示确定所述第一动作指令 中待修改的第一动作变量。
[211]例如, OF控制器向 OF转发器发送 Flow_mod 消息如下:
[212] Flow_mod={MODIFY, table id=l, match rule, Instructions [action 1 ( (MBR=3Mbps, para_modify_ind=false), (GBR= 1Mbps, para modify ind =true)),action2 ( (port=l, para modify ind =false))]}
[213]其中, 以动作参数 MBR、 GBR及其绑定的修改指示 para_modify_ind作为所 述参数匹配条件, 其中, 假设 para_modify_ind=false 表示动作变量不进行修改, para_modify_ind =true 表示动作变量进行修改, 则转发器将流表项指令表中 actionl的动作参数 GBR确定为第一动作变量。
[214]在第一种可能的实现方式中, 所述参数修改操作信息可以包括新的变量值;
[215]所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改可以 包括:
[216]所述转发器将所述第一动作变量的变量值修改为所述新的变量值。
[217]例如, 以本发明实施例应用于 Openflow协议为例, OF控制器向 OF转发器 发送 Flow_mod 消息如下:
[218] Flow_mod={MODIFY, table id=l, match rule, Instructions [actionl (MBR=3Mbps] }
[219]其中, 将 actionl这一动作指令为第一动作指令, MBR这一动作变量为参数 匹配条件, 参数修改操作信息为 3Mbps这一新的变量值; 贝 1」, 转发器将流表项指 令集中 actionl这一动作指令的动作参数 MBR修改为 3Mbps。
[220]在第二种可能的实现方式中, 所述参数修改操作信息可以包括运算方法信 息, 所述运算方法信息用于指示获取变量值的运算方法;
[221]所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改可以 包括:
[222]所述转发器根据所述运算方法信息获取新的变量值;
[223]所述转发器将所述第一动作变量的变量值修改为所述新的变量值。
[224]例如, 所述运算方法信息可以包括: 第二掩码以及需要修改的变量位对应的 目标值; 所述第二掩码的每一掩码位对应第一动作变量的变量值的每一变量位, 需要修改的所述变量位对应的掩码位为第二预设数值, 其他掩码位的数值与所述 第二预设数值不同;
[225]所述转发器根据所述运算方法信息获取新的变量值可以包括:
[226]转发器将第二掩码中具有第二预设数值的掩码位所对应的第一动作变量的 变量值的变量位确定为需要修改的变量位;
[227]转发器将所述需要修改的变量位的数值修改为变量位对应的目标值,得到新 的变量值。
[228]例 1, 以本发明实施例应用于 Openflow协议为例, OF控制器向 OF转发器 发送 Flow_mod 消息如下:
[229]Flow_mod={MODIFY, table id=l, match rule, Instructions [actionl (type =PUSH_TUNNEL, tunnel_id=Oxffff, mask=0x0000), action2 (type=OUTPUT, po rt=l, mask=0xfffe)]} ;
[230]其中, 运算方法信息的第二掩码分别为动作 actionl 中的 mask=0x0000以及 动作 action2中的 mask=0xfffe, 假设以掩码位为 0表示对应的变量位修改, 掩码 位为 1表示对应的变量位不修改, 则 0x0000表示每一变量位都进行修改, Oxfffe 表示仅最后一个变量位进行修改, 则转发器将流表项指令集中 actionl的动作参 数 tunneljd的参数值修改为 Oxffff; 将 action2的动作参数 port的参数值的最后 一个参数位修改为 1。
[231]例 2, ORIGIN TUNNEL ID; 指示保留原有隧道标识 ( ORIGIN_TUNNEL_ ID);
[232] DEC(0RGIN PORT); 指示将原有端口号 (0RGIN_P0RT) 在原变量值的基 础上减 1运算, 结果作为新的变量值;
[233] INC(0RIGIN_P0RT); 指示将原有端口号在原变量值的基础上加 1运算, 结 果作为新的变量值;
[234] MUL(ORIGIN GBR, 2); 指示将原有 GBR ( ORIGIN GBR) 的原变量值执
行乘 2运算, 结果作为新的变量值;
[235]其中的 DEC、 INC、 MUL (变量, 2 ) 等即为所述运算方法。
[236]步骤 404: 转发器接收需要转发的数据报文, 根据修改后的第一处理规则进 行数据报文的转发。
[237]其中,转发器具体如何根据第一处理规则对数据报文进行转发,这里不赘述。
[238]可选的, 本发明实施例中, 转发器可以根据对指定动作指令的修改结果, 向 所述控制器发送修改结果指示信息; 所述修改结果指示信息可以包括: 处理规则修改 结果指示信息和 /或动作修改结果指示信息, 所述处理规则修改结果指示信息可以用 于指示第一处理规则的修改结果,所述动作修改结果指示信息可以用于指示所述指定 动作指令的修改结果。
[239]例如, 转发器根据所述动作指令修改信息对指定动作指令修改成功时, 所述处 理规则修改结果指示信息可以包括: 第一成功指示、修改成功的第一处理规则的规则 描述信息, 所述动作修改结果指示信息可以包括: 第二成功指示、 修改成功的动作指 令; 或者, 转发器根据所述动作指令修改信息对指定动作变量未修改成功时, 所述 处理规则修改结果指示信息可以包括: 第一失败指示、未修改成功的第一处理规则的 规则描述信息, 所述动作失败指示信息可以包括: 第二失败指示、 未修改成功的动作 指令。其中, 第一成功指示和第二成功指示可以相同或不同; 第一失败指示和第二失 败指示可以相同或不同。
[240]在实际应用中,转发器根据所述动作指令修改信息对指定动作指令修改成功时, 也可以不上报修改结果指示信息, 在转发器根据所述动作指令修改信息对指定动作 指令未修改成功时, 上报修改结果指示信息, 本发明并不限定。
[241]另外, 不同的第一处理规则和 /或不同的动作指令的修改结果可以由转发器分别 通过不同的修改结果指示信息发送给控制器; 或者, 不同的修改结果 (成功和失败) 也可以由转发器分别通过不同的修改结果指示信息发送给控制器等等。所述修改结果 指示信息的实现本发明并不限制, 可以在实际应用中灵活实现。
[242]其中, 所述对指定动作指令未修改成功的原因可以很多, 例如本发明实施例应 用于 Openflow协议时, 流表项指令集中的动作可能与 OF控制器发送的 Flow_mod 消息中的动作数量不匹配,或 FlOW_mod 消息中的指定动作变量与流表项指令集中动 作变量格式不同, 或 OF转发器对流表项指令集中动作变量的变量值运算出错如端口 号计算结果为负值, 或 OF转发器无法对某个流表项的动作参数执行运算或修改等。
[243]本发明实施例应用于 Openflow协议时, 所述修改结果指示信息可以通过 ACTI
ON PARA ERROR消息实现。
[244]本实施例中, 控制器向转发器发送规则修改信息, 所述规则修改信息包括规 则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理 规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作 指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修 改; 从而, 对于规则描述信息满足所述规则描述匹配信息的每一个第一处理规则, 转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令 进行修改。 从而转发器不再仅使用类似于用 FlOW_mod消息携带的指令集完全替 代流表项原有的指令集的方式来实现第一处理规则的修改, 而是可以对第一处理 规则的指定动作和 /或指定动作变量单独进行修改, 第一处理规则的修改方式灵 活, 提高了控制器对转发器中第一处理规则进行修改的效率; 而且, 在仅需要修 改第一处理规则的指令集中部分动作指令的场景下, 相对于现有技术可以通过相 对较少的消息数量完成第一处理规则的指令集中部分动作指令的修改, 相对于现 有技术减少了第一处理规则修改所使用的消息数量, 从而减少了控制器和转发器 之间通信资源的占用。
[245]参见图 5,为本发明处理规则的修改装置第一实施例示意图,该装置可以适用于 转发器,所述修改装置上存有第一处理规则,所述第一处理规则包括规则描述信息和 指令集,所述规则描述信息用于标识第一处理规则,所述指令集包括至少一个动作指 令,所述指令集用于指示根据所述指令集中的所述动作指令对所述第一处理规则对应 的数据报文进行处理; 该装置 500包括:
[246]接收单元 510,用于接收控制器发送的规则修改信息;所述规则修改信息包括规 则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理 规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作 指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修 改;
[247]修改单元 520,用于确定所述第一处理规则的规则描述信息满足所述接收单元 5 10接收到的所述规则描述匹配信息时, 根据所述接收单元 510接收到的所述动作指 令修改信息对所述第一处理规则的指令集中指定的动作指令进行修改。
[248]可选地, 所述动作指令修改信息可以包括: 动作指令匹配条件和修改操作信息; 其中,所述动作指令匹配条件用于确定待修改的动作指令,所述修改操作信息用于指
示对所述待修改的动作指令的修改操作;
[249]所述修改单元 520可以包括:
[250]指令确定子单元, 用于确定所述第一处理规则的规则描述信息满足所述接收单 元接收到的所述规则描述匹配信息时,根据所述动作指令匹配条件确定所述第一处理 规则的指令集中待修改的第一动作指令;
[251]修改子单元, 用于根据所述修改操作信息对所述第一动作指令进行修改。
[252]可选地, 所述动作指令匹配条件可以包括位置信息, 所述位置信息用于指示所 述待修改的动作指令在所述待修改的处理规则的指令集中的位置;
[253]所述指令确定子单元具体可以用于: 确定所述第一处理规则的规则描述信息满 足所述接收单元接收到的所述规则描述匹配信息时,根据所述位置信息确定所述第一 动作指令。
[254]可选地, 所述位置信息可以包括第一掩码, 所述第一掩码中每一掩码位的位置 对应所述待修改的处理规则的指令集中每一动作指令的位置;
[255]所述指令确定子单元具体可以用于: 确定所述第一处理规则的规则描述信息满 足所述接收单元接收到的所述规则描述匹配信息时,确定所述第一掩码中具有第一预 设数值的掩码位; 根据所述具有第一预设数值的掩码位的位置确定所述第一动作指 令。
[256]可选地, 所述位置信息可以包括修改指示列表, 所述修改指示列表包括修改指 示,所述修改指示列表中每一修改指示在所述修改指示列表中的位置对应所述待修改 的处理规则的指令集中每一动作指令的位置,所述修改指示用于指示是否修改动作指 令;
[257]所述指令确定子单元具体可以用于: 确定所述第一处理规则的规则描述信息满 足所述接收单元接收到的所述规则描述匹配信息时,确定所述修改指示列表中用于指 示修改动作指令的修改指示;根据所述用于指示修改动作指令的修改指示在所述修改 指示列表中所在的第一位置, 确定与所述第一位置对应的所述第一动作指令。
[258]可选地, 所述动作指令匹配条件可以包括: 指令类型信息, 所述指令类型信息 用于指示所述待修改的动作指令的指令类型;
[259]所述指令确定子单元具体可以用于: 确定所述第一处理规则的规则描述信息满 足所述接收单元接收到的所述规则描述匹配信息时,根据所述指令类型信息确定所述 第一动作指令。
[260]可选地, 所述修改操作信息可以包括: 新的动作指令;
[261]所述修改子单元具体可以用于:将所述第一动作指令修改为所述新的动作指令。
[262]可选地, 所述修改操作信息可以包括: 修改参数指示信息, 所述修改参数指示 信息用于指示对所述待修改的动作指令的动作变量进行修改;
[263]所述修改子单元具体可以用于: 根据所述修改参数指示信息对所述第一动作指 令的动作变量进行修改。
[264]可选地, 所述修改参数指示信息可以包括参数匹配条件和参数修改操作信息, 所述参数匹配条件用于确定所述待修改的动作指令中的待修改的动作变量,所述参数 修改操作信息用于指示对所述待修改的动作变量的修改;
[265]所述修改子单元可以包括:
[266]确定模块, 用于根据所述参数匹配条件确定所述第一动作指令中待修改的第一 动作变量;
[267]修改模块, 用于根据所述参数修改操作信息对所述第一动作变量进行修改。
[268]可选地, 所述参数修改操作信息可以包括新的变量值;
[269]所述修改模块具体可以用于: 将所述第一动作变量的变量值修改为所述新的变 量值。
[270]可选地, 所述参数修改操作信息可以包括运算方法信息, 所述运算方法信息用 于指示获取变量值的运算方法;
[271]所述修改模块具体可以用于:
[272]根据所述运算方法信息获取新的变量值;
[273]将所述第一动作变量的变量值修改为所述新的变量值。
[274]可选地, 所述接收单元 510具体可以用于: 接收控制器发送的流修改 FlOW_mo d消息, 所述 FlOW_mod消息中携带所述规则修改信息。
[275]本实施例中, 转发器接收控制器发送的规则修改信息; 所述规则修改信息包括 规则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处 理规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动 作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行 修改; 从而, 对于规则描述信息满足所述规则描述匹配信息的每一个第一处理规则, 转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令 进行修改。从而转发器不再仅使用类似于用 FlOW_mod消息携带的指令集完全替代流 表项原有的指令集的方式来实现第一处理规则的修改,而是可以对第一处理规则的指 定动作和 /或指定动作变量单独进行修改, 第一处理规则的修改方式灵活, 提高了控
制器对转发器中第一处理规则进行修改的效率; 而且,在仅需要修改第一处理规则的 指令集中部分动作指令的场景下,相对于现有技术可以通过相对较少的消息数量完成 第一处理规则的指令集中部分动作指令的修改,相对于现有技术减少了第一处理规则 修改所使用的消息数量, 从而减少了控制器和转发器之间通信资源的占用。
[276]参见图 6,为本发明处理规则的修改装置第二实施例示意图,该装置适用于与转 发器进行通信的控制器,所述转发器上存有第一处理规则,所述第一处理规则包括规 则描述信息和指令集,所述规则描述信息用于标识所述第一处理规则,所述指令集包 括至少一个动作指令,所述指令集用于指示根据所述指令集中的所述动作指令对所述 第一处理规则对应的数据报文进行处理; 所述装置 600包括:
[277]生成单元 610, 用于生成规则修改信息;
[278]发送单元 620,用于向所述转发器发送所述生成单元 610生成的所述规则修改信 息; 所述规则修改信息包括规则描述匹配信息和动作指令修改信息,所述规则描述匹 配信息用于确定待修改的处理规则,所述待修改的处理规则的规则描述信息符合所述 规则描述匹配信息,所述动作指令修改信息用于指示对所述待修改的处理规则的指令 集中指定的动作指令进行修改;以便所述转发器确定所述第一处理规则的规则描述信 息满足所述规则描述匹配信息时,根据所述动作指令修改信息对所述第一处理规则的 指令集中指定的动作指令进行修改。
[279]可选地, 所述发送单元 620具体可以用于: 向转发器发送流修改 Flow_mod消 息, 所述 FlOW_mod消息中携带所述规则修改信息。
[280]本实施例中, 控制器向转发器发送规则修改信息, 所述规则修改信息包括规则 描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理规 贝 U,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作指 令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修改; 从而,对于规则描述信息满足所述规则描述匹配信息的每一个第一处理规则,转发器 根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令进行修 改。从而转发器不再仅使用类似于用 FlOW_mod消息携带的指令集完全替代流表项原 有的指令集的方式来实现第一处理规则的修改,而是可以对第一处理规则的指定动作 和 /或指定动作变量单独进行修改, 第一处理规则的修改方式灵活, 提高了控制器对 转发器中第一处理规则进行修改的效率; 而且,在仅需要修改第一处理规则的指令集 中部分动作指令的场景下,相对于现有技术可以通过相对较少的消息数量完成第一处
理规则的指令集中部分动作指令的修改,相对于现有技术减少了第一处理规则修改所 使用的消息数量, 从而减少了控制器和转发器之间通信资源的占用。
[281]参见图 7,为本发明实施例转发器结构示意图,该转发器 700包括:处理器 710、 存储器 720、 收发器 730和总线 740;
[282]处理器 710、 存储器 720、 收发器 730通过总线 740相互连接; 总线 740可以是 ISA总线、 PCI总线或 EISA总线等。 所述总线可以分为地址总线、 数据总线、 控制 总线等。 为便于表示, 图 7中仅用一条粗线表示, 但并不表示仅有一根总线或一种类 型的总线。
[283]存储器 720, 用于存放程序, 还用于存储第一处理规则, 所述第一处理规则包括 规则描述信息和指令集,所述规则描述信息用于标识第一处理规则,所述指令集包括 至少一个动作指令,所述指令集用于指示根据所述指令集中的所述动作指令对所述第 一处理规则对应的数据报文进行处理。 具体地, 程序可以包括程序代码, 所述程序代 码包括计算机操作指令。 存储器 720可能包含高速 RAM存储器, 也可能还包括非易 失性存储器 (non-volatile memory), 例如至少一个磁盘存储器。
[284]收发器 730用于连接其他设备, 并与其他设备进行通信。所述收发器 730, 用于 接收控制器发送的规则修改信息;所述规则修改信息包括规则描述匹配信息和动作指 令修改信息,所述规则描述匹配信息用于确定待修改的处理规则,所述待修改的处理 规则的规则描述信息符合所述规则描述匹配信息,所述动作指令修改信息用于指示对 所述待修改的处理规则的指令集中指定的动作指令进行修改;
[285]所述处理器 710执行所述程序代码, 用于确定所述第一处理规则的规则描述信 息满足所述收发器 730接收到的所述规则描述匹配信息时,根据所述收发器 730接收 到的所述动作指令修改信息对所述存储器 720 中存储的所述第一处理规则的指令集 中指定的动作指令进行修改。
[286]可选地, 所述动作指令修改信息可以包括: 动作指令匹配条件和修改操作信息; 其中,所述动作指令匹配条件用于确定待修改的动作指令,所述修改操作信息用于指 示对所述待修改的动作指令的修改操作;
[287]所述处理器 710具体可以用于: 根据所述动作指令匹配条件确定所述第一处理 规则的指令集中待修改的第一动作指令;根据所述修改操作信息对所述第一动作指令 进行修改。
[288]可选地, 所述动作指令匹配条件可以包括位置信息, 所述位置信息用于指示所
述待修改的动作指令在所述待修改的处理规则的指令集中的位置;
[289]所述处理器 710具体可以用于: 根据所述位置信息确定所述第一动作指令。
[290]可选地, 所述位置信息可以包括第一掩码, 所述第一掩码中每一掩码位的位置 对应所述待修改的处理规则的指令集中每一动作指令的位置;
[291]所述处理器 710具体可以用于: 确定所述第一掩码中具有第一预设数值的掩码 位; 根据所述具有第一预设数值的掩码位的位置确定所述第一动作指令。
[292]可选地, 所述位置信息可以包括修改指示列表, 所述修改指示列表包括修改指 示,所述修改指示列表中每一修改指示在所述修改指示列表中的位置对应所述待修改 的处理规则的指令集中每一动作指令的位置,所述修改指示用于指示是否修改动作指 令;
[293]所述处理器 710具体可以用于: 确定所述修改指示列表中用于指示修改动作指 令的修改指示;根据所述用于指示修改动作指令的修改指示在所述修改指示列表中所 在的第一位置, 确定所述第一动作指令。
[294]可选地, 所述动作指令匹配条件可以包括: 指令类型信息, 所述指令类型信息 用于指示所述待修改的动作指令的指令类型;
[295]所述处理器 710具体可以用于:根据所述指令类型信息确定所述第一动作指令。
[296]可选地, 所述修改操作信息可以包括: 新的动作指令;
[297]所述处理器 710具体可以用于:将所述第一动作指令修改为所述新的动作指令。
[298]可选地, 所述修改操作信息可以包括: 修改参数指示信息, 所述修改参数指示 信息用于指示对所述待修改的动作指令的动作变量进行修改;
[299]所述处理器 710具体可以用于: 根据所述修改参数指示信息对所述第一动作指 令的动作变量进行修改。
[300]可选地, 所述修改参数指示信息可以包括参数匹配条件和参数修改操作信息, 所述参数匹配条件用于确定所述待修改的动作指令中的待修改的动作变量,所述参数 修改操作信息用于指示对所述待修改的动作变量的修改;
[301]所述处理器 710具体可以用于: 根据所述参数匹配条件确定所述第一动作指令 中待修改的第一动作变量; 根据所述参数修改操作信息对所述第一动作变量进行修 改。
[302]可选地, 所述参数修改操作信息可以包括新的变量值;
[303]所述处理器 710具体可以用于: 将所述第一动作变量的变量值修改为所述新的 变量值。
[304]可选地, 所述参数修改操作信息可以包括运算方法信息, 所述运算方法信息用 于指示获取变量值的运算方法;
[305]所述处理器 710具体可以用于: 根据所述运算方法信息获取新的变量值; 将所 述第一动作变量的变量值修改为所述新的变量值。
[306]可选地, 所述收发器 730 具体可以用于: 接收控制器发送的流修改 FlOW_mod 消息, 所述 FlOW_mod消息中携带所述规则修改信息。
[307]本实施例中, 转发器接收控制器发送的规则修改信息; 所述规则修改信息包括 规则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处 理规则,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动 作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行 修改; 从而, 对于规则描述信息满足所述规则描述匹配信息的每一个第一处理规则, 转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令 进行修改。从而转发器不再仅使用类似于用 FlOW_mod消息携带的指令集完全替代流 表项原有的指令集的方式来实现第一处理规则的修改,而是可以对第一处理规则的指 定动作和 /或指定动作变量单独进行修改, 第一处理规则的修改方式灵活, 提高了控 制器对转发器中第一处理规则进行修改的效率; 而且,在仅需要修改第一处理规则的 指令集中部分动作指令的场景下,相对于现有技术可以通过相对较少的消息数量完成 第一处理规则的指令集中部分动作指令的修改,相对于现有技术减少了第一处理规则 修改所使用的消息数量, 从而减少了控制器和转发器之间通信资源的占用。
[308]参见图 8,为本发明实施例控制器结构示意图,该控制器 800包括:处理器 810、 存储器 820、 收发器 830和总线 840;
[309]处理器 810、 存储器 820、 收发器 830通过总线 840相互连接; 总线 840可以是 ISA总线、 PCI总线或 EISA总线等。 所述总线可以分为地址总线、 数据总线、 控制 总线等。 为便于表示, 图 8中仅用一条粗线表示, 但并不表示仅有一根总线或一种类 型的总线。
[310]存储器 820, 用于存放程序。 具体地, 程序可以包括程序代码, 所述程序代码包 括计算机操作指令。 存储器 820可能包含高速 RAM存储器, 也可能还包括非易失性 存储器 (non- volatile memory), 例如至少一个磁盘存储器。
[311]所述处理器 810用于执行所述程序代码。
[312]收发器 830用于连接其他设备, 并与其他设备进行通信。所述收发器 830, 用于
向所述转发器发送规则修改信息;所述规则修改信息包括规则描述匹配信息和动作指 令修改信息,所述规则描述匹配信息用于确定待修改的处理规则,所述待修改的处理 规则的规则描述信息符合所述规则描述匹配信息,所述动作指令修改信息用于指示对 所述待修改的处理规则的指令集中指定的动作指令进行修改;以便所述转发器确定所 述第一处理规则的规则描述信息满足所述规则描述匹配信息时,根据所述动作指令修 改信息对所述第一处理规则的指令集中指定的动作指令进行修改;
[313]其中, 所述转发器上存有第一处理规则, 所述第一处理规则包括规则描述信息 和指令集,所述规则描述信息用于标识第一处理规则,所述指令集包括至少一个动作 指令,所述指令集用于指示根据所述指令集中的所述动作指令对所述第一处理规则对 应的数据报文进行处理。
[314]可选地, 所述收发器 830具体可以用于:
[315]向转发器发送 FlOW_mod消息, 所述 FlOW_mod消息中携带所述规则修改信息。
[316]可选地, 所述处理器 810还可以用于: 生成所述规则修改信息, 将生成的规则 修改信息发送给收发器 830。
[317]本实施例中, 控制器向转发器发送规则修改信息, 所述规则修改信息包括规则 描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理规 贝 u,所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息,所述动作指 令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指令进行修改; 从而,对于规则描述信息满足所述规则描述匹配信息的每一个第一处理规则,转发器 根据所述动作指令修改信息对所述第一处理规则的指令集中指定的动作指令进行修 改。从而转发器不再仅使用类似于用 FlOW_mod消息携带的指令集完全替代流表项原 有的指令集的方式来实现第一处理规则的修改,而是可以对第一处理规则的指定动作 和 /或指定动作变量单独进行修改, 第一处理规则的修改方式灵活, 提高了控制器对 转发器中第一处理规则进行修改的效率; 而且,在仅需要修改第一处理规则的指令集 中部分动作指令的场景下,相对于现有技术可以通过相对较少的消息数量完成第一处 理规则的指令集中部分动作指令的修改,相对于现有技术减少了第一处理规则修改所 使用的消息数量, 从而减少了控制器和转发器之间通信资源的占用。
[318]本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加 必需的通用硬件平台的方式来实现。 基于这样的理解, 本发明实施例中的技术方 案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该
计算机软件产品可以存储在存储介质中, 如 ROM/RAM、 磁碟、 光盘等, 包括若 干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等) 执行本发明各个实施例或者实施例的某些部分所述的方法。
[319]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似 的部分互相参见即可, 每个实施例重点说明的都是与其他实施例的不同之处。 尤 其, 对于系统实施例而言, 由于其基本相似于方法实施例, 所以描述的比较简单, 相关之处参见方法实施例的部分说明即可。
[320]以上所述的本发明实施方式, 并不构成对本发明保护范围的限定。任何在本 发明的精神和原则之内所作的修改、 等同替换和改进等, 均应包含在本发明的保 护范围之内。
Claims (26)
- 权 利 要 求1、 一种处理规则的修改装置, 其特征在于, 所述修改装置上存有第一处理 规则,所述第一处理规则包括规则描述信息和指令集,所述规则描述信息用于标 识所述第一处理规则, 所述指令集包括至少一个动作指令, 所述指令集用于指 示根据所述指令集中的所述动作指令对所述第一处理规则对应的数据报文进行 处理; 所述装置包括:接收单元, 用于接收控制器发送的规则修改信息; 所述规则修改信息包括规 则描述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的 处理规则, 所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息, 所述动作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动 作指令进行修改;修改单元,用于确定所述第一处理规则的规则描述信息满足所述接收单元接 收到的所述规则描述匹配信息时,根据所述接收单元接收到的所述动作指令修改 信息对所述第一处理规则的指令集中指定的动作指令进行修改。
- 2、 根据权利要求 1所述的装置, 其特征在于, 所述动作指令修改信息包括: 动作指令匹配条件和修改操作信息; 其中, 所述动作指令匹配条件用于确定待修 改的动作指令, 所述修改操作信息用于指示对所述待修改的动作指令的修改操 作;所述修改单元包括:指令确定子单元,用于确定所述第一处理规则的规则描述信息满足所述接收 单元接收到的所述规则描述匹配信息时,根据所述动作指令匹配条件确定所述第 一处理规则的指令集中待修改的第一动作指令;修改子单元, 用于根据所述修改操作信息对所述第一动作指令进行修改。 3、 根据权利要求 2所述的装置, 其特征在于, 所述动作指令匹配条件包括 位置信息,所述位置信息用于指示所述待修改的动作指令在所述待修改的处理规 则的指令集中的位置;所述指令确定子单元具体用于:确定所述第一处理规则的规则描述信息满足 所述接收单元接收到的所述规则描述匹配信息时,根据所述位置信息确定所述第 一动作指令。
- 4、 根据权利要求 3所述的装置, 其特征在于, 所述位置信息包括第一掩码, 所述第一掩码中每一掩码位的位置对应所述待修改的处理规则的指令集中每一 动作指令的位置;所述指令确定子单元具体用于:确定所述第一处理规则的规则描述信息满足 所述接收单元接收到的所述规则描述匹配信息时,确定所述第一掩码中具有第一 预设数值的掩码位;根据所述具有第一预设数值的掩码位的位置确定所述第一动 作指令。
- 5、 根据权利要求 3所述的装置, 其特征在于, 所述位置信息包括修改指示 列表, 所述修改指示列表包括修改指示, 所述修改指示列表中每一修改指示在所 述修改指示列表中的位置对应所述待修改的处理规则的指令集中每一动作指令 的位置, 所述修改指示用于指示是否修改动作指令;所述指令确定子单元具体用于:确定所述第一处理规则的规则描述信息满足 所述接收单元接收到的所述规则描述匹配信息时,确定所述修改指示列表中用于 指示修改动作指令的修改指示;根据所述用于指示修改动作指令的修改指示在所 述修改指示列表中所在的第一位置,确定与所述第一位置对应的所述第一动作指 令。
- 6、 根据权利要求 2所述的装置, 其特征在于, 所述动作指令匹配条件包括: 指令类型信息, 所述指令类型信息用于指示所述待修改的动作指令的指令类型; 所述指令确定子单元具体用于:确定所述第一处理规则的规则描述信息满足 所述接收单元接收到的所述规则描述匹配信息时,根据所述指令类型信息确定所 述第一动作指令。
- 7、 根据权利要求 2至 6任一项所述的装置, 其特征在于, 所述修改操作信 息包括: 新的动作指令;所述修改子单元具体用于: 将所述第一动作指令修改为所述新的动作指令。
- 8、 根据权利要求 2至 6任一项所述的装置, 其特征在于, 所述修改操作信 息包括: 修改参数指示信息, 所述修改参数指示信息用于指示对所述待修改的动 作指令的动作变量进行修改;所述修改子单元具体用于:根据所述修改参数指示信息对所述第一动作指令 的动作变量进行修改。
- 9、 根据权利要求 8所述的装置, 其特征在于, 所述修改参数指示信息包括 参数匹配条件和参数修改操作信息,所述参数匹配条件用于确定所述待修改的动 作指令中的待修改的动作变量,所述参数修改操作信息用于指示对所述待修改的 动作变量的修改;所述修改子单元包括: 确定模块,用于根据所述参数匹配条件确定所述第一动作指令中待修改的第 一动作变量;修改模块, 用于根据所述参数修改操作信息对所述第一动作变量进行修改。
- 10、 根据权利要求 9 所述的装置, 其特征在于, 所述参数修改操作信息包 括新的变量值;所述修改模块具体用于:将所述第一动作变量的变量值修改为所述新的变量 值。
- 11、 根据权利要求 9所述的装置, 其特征在于, 所述参数修改操作信息包括 运算方法信息, 所述运算方法信息用于指示获取变量值的运算方法;所述修改模块具体用于:根据所述运算方法信息获取新的变量值;将所述第一动作变量的变量值修改为所述新的变量值。
- 12、 根据权利要求 1至 11任一项所述的装置, 其特征在于, 所述接收单元 具体用于: 接收控制器发送的流修改 Fl<sub>OW</sub>_mod消息, 所述 Fl<sub>OW</sub>_mod消息中携 带所述规则修改信息。
- 13、 一种处理规则的修改装置, 其特征在于, 该装置适用于与转发器进行通 信的控制器, 所述转发器上存有第一处理规则, 所述第一处理规则包括规则描述 信息和指令集, 所述规则描述信息用于标识所述第一处理规则, 所述指令集包 括至少一个动作指令,所述指令集用于指示根据所述指令集中的所述动作指令对 所述第一处理规则对应的数据报文进行处理; 所述装置包括:生成单元, 用于生成规则修改信息;发送单元, 用于向所述转发器发送所述生成单元生成的所述规则修改信息; 所述规则修改信息包括规则描述匹配信息和动作指令修改信息,所述规则描述匹 配信息用于确定待修改的处理规则,所述待修改的处理规则的规则描述信息符合 所述规则描述匹配信息,所述动作指令修改信息用于指示对所述待修改的处理规 则的指令集中指定的动作指令进行修改;以便所述转发器确定所述第一处理规则 的规则描述信息满足所述规则描述匹配信息时,根据所述动作指令修改信息对所 述第一处理规则的指令集中指定的动作指令进行修改。
- 14、 根据权利要求 13所述的装置, 其特征在于, 所述发送单元具体用于: 向转发器发送流修改 Flow_mod消息, 所述 Flow_mod消息中携带所述规则修改 信息。 15、 一种处理规则的修改方法, 其特征在于, 适用于转发器, 所述转发器上 存有第一处理规则, 所述第一处理规则包括规则描述信息和指令集, 所述规则描 述信息用于标识所述第一处理规则, 所述指令集包括至少一个动作指令, 所述 指令集用于指示根据所述指令集中的所述动作指令对所述第一处理规则对应的 数据报文进行处理; 所述方法包括:所述转发器接收控制器发送的规则修改信息;所述规则修改信息包括规则描 述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理 规则, 所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息, 所述 动作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指 令进行修改;当所述转发器确定所述第一处理规则的规则描述信息满足所述规则描述匹 配信息时,所述转发器根据所述动作指令修改信息对所述第一处理规则的指令集 中指定的动作指令进行修改。
- 16、 根据权利要求 15所述的方法, 其特征在于, 所述动作指令修改信息包 括: 动作指令匹配条件和修改操作信息; 其中, 所述动作指令匹配条件用于确定 待修改的动作指令,所述修改操作信息用于指示对所述待修改的动作指令的修改 操作;所述转发器根据所述动作指令修改信息对所述第一处理规则的指令集中指 定的动作指令进行修改, 包括:所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中 待修改的第一动作指令;所述转发器根据所述修改操作信息对所述第一动作指令进行修改。
- 17、 根据权利要求 16所述的方法, 其特征在于, 所述动作指令匹配条件包 括位置信息,所述位置信息用于指示所述待修改的动作指令在所述待修改的处理 规则的指令集中的位置;所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中 待修改的第一动作指令包括:所述转发器根据所述位置信息确定所述第一动作指令。
- 18、 根据权利要求 17所述的方法, 其特征在于, 所述位置信息包括第一掩 码,所述第一掩码中每一掩码位的位置对应所述待修改的处理规则的指令集中每 一动作指令的位置; 所述转发器根据所述位置信息确定所述第一动作指令包括: 所述转发器确定所述第一掩码中具有第一预设数值的掩码位;所述转发器根据所述具有第一预设数值的掩码位的位置确定所述第一动作 指令。
- 19、 根据权利要求 17所述的方法, 其特征在于, 所述位置信息包括修改指 示列表, 所述修改指示列表包括修改指示, 所述修改指示列表中每一修改指示在 所述修改指示列表中的位置对应所述待修改的处理规则的指令集中每一动作指 令的位置, 所述修改指示用于指示是否修改动作指令;所述转发器根据所述位置信息确定所述第一动作指令包括:所述转发器确定所述修改指示列表中用于指示修改动作指令的修改指示;所 述转发器根据所述用于指示修改动作指令的修改指示在所述修改指示列表中所 在的第一位置, 确定所述第一动作指令。
- 20、 根据权利要求 16所述的方法, 其特征在于, 所述动作指令匹配条件包 括: 指令类型信息, 所述指令类型信息用于指示所述待修改的动作指令的指令类 型;所述转发器根据所述动作指令匹配条件确定所述第一处理规则的指令集中 待修改的第一动作指令包括:所述转发器根据所述指令类型信息确定所述第一动作指令。
- 21、 根据权利要求 16至 20任一项所述的方法, 其特征在于, 所述修改操作 信息包括: 新的动作指令;所述转发器根据所述修改操作信息对所述第一动作指令进行修改包括: 所述转发器将所述第一动作指令修改为所述新的动作指令。
- 22、 根据权利要求 16至 20任一项所述的方法, 其特征在于, 所述修改操作 信息包括: 修改参数指示信息, 所述修改参数指示信息用于指示对所述待修改的 动作指令的动作变量进行修改;所述转发器根据所述修改操作信息对所述第一动作指令进行修改包括: 所述转发器根据所述修改参数指示信息对所述第一动作指令的动作变量进 行修改。
- 23、 根据权利要求 22所述的方法, 其特征在于, 所述修改参数指示信息包 括参数匹配条件和参数修改操作信息,所述参数匹配条件用于确定所述待修改的 动作指令中的待修改的动作变量,所述参数修改操作信息用于指示对所述待修改 的动作变量的修改; 所述转发器根据所述修改参数指示信息对所述第一动作指令的参数进行修 改包括:所述转发器根据所述参数匹配条件确定所述第一动作指令中待修改的第一 动作变量;所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改。
- 24、 根据权利要求 23所述的方法, 其特征在于, 所述参数修改操作信息包 括新的变量值;所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改包括: 所述转发器将所述第一动作变量的变量值修改为所述新的变量值。
- 25、 根据权利要求 23所述的方法, 其特征在于, 所述参数修改操作信息包 括运算方法信息, 所述运算方法信息用于指示获取变量值的运算方法;所述转发器根据所述参数修改操作信息对所述第一动作变量进行修改包括: 所述转发器根据所述运算方法信息获取新的变量值;所述转发器将所述第一动作变量的变量值修改为所述新的变量值。
- 26、 根据权利要求 15至 25任一项所述的方法, 其特征在于, 所述转发器接 收控制器发送的规则修改信息包括:所述转发器接收控制器发送的流修改 FlOW_mod消息, 所述 FlOW_mod消息 中携带所述规则修改信息。 27、 一种处理规则的修改方法, 其特征在于, 该方法适用于与转发器进行通 信的控制器, 所述转发器上存有第一处理规则, 所述第一处理规则包括规则描述 信息和指令集, 所述规则描述信息用于标识所述第一处理规则, 所述指令集包 括至少一个动作指令,所述指令集用于指示根据所述指令集中的所述动作指令对 所述第一处理规则对应的数据报文进行处理; 所述方法包括:所述控制器向所述转发器发送规则修改信息;所述规则修改信息包括规则描 述匹配信息和动作指令修改信息,所述规则描述匹配信息用于确定待修改的处理 规则, 所述待修改的处理规则的规则描述信息符合所述规则描述匹配信息, 所述 动作指令修改信息用于指示对所述待修改的处理规则的指令集中指定的动作指 令进行修改;以便所述转发器确定所述第一处理规则的规则描述信息满足所述规 则描述匹配信息时,根据所述动作指令修改信息对所述第一处理规则的指令集中 指定的动作指令进行修改。
- 28、 根据权利要求 27所述的方法, 其特征在于, 所述控制器向所述转发器 发送规则修改信息包括:所述控制器向所述发送流修改 FlOW_mod消息, 所述 FlOW_mod消息中携带 所述规则修改信息。
- 29、 根据权利要求 27或 28所述的方法, 其特征在于, 所述控制器向所述转 发器发送规则修改信息之前, 还包括:所述控制器生成所述规则修改信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810312364.1A CN108777629B (zh) | 2014-01-28 | 2014-01-28 | 处理规则的修改方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/071609 WO2015113191A1 (zh) | 2014-01-28 | 2014-01-28 | 处理规则的修改方法、装置及设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810312364.1A Division CN108777629B (zh) | 2014-01-28 | 2014-01-28 | 处理规则的修改方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105103516A true CN105103516A (zh) | 2015-11-25 |
CN105103516B CN105103516B (zh) | 2018-06-26 |
Family
ID=53756088
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480000147.9A Active CN105103516B (zh) | 2014-01-28 | 2014-01-28 | 处理规则的修改方法、装置及设备 |
CN201810312364.1A Active CN108777629B (zh) | 2014-01-28 | 2014-01-28 | 处理规则的修改方法、装置及设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810312364.1A Active CN108777629B (zh) | 2014-01-28 | 2014-01-28 | 处理规则的修改方法、装置及设备 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9985878B2 (zh) |
EP (2) | EP3531653B1 (zh) |
CN (2) | CN105103516B (zh) |
ES (1) | ES2719541T3 (zh) |
WO (1) | WO2015113191A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765857A (zh) * | 2020-06-04 | 2021-12-07 | 华为技术有限公司 | 报文转发方法、装置、设备及存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5986310B2 (ja) * | 2012-06-29 | 2016-09-06 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | 情報を処理するための方法、転送プレーンデバイスおよび制御プレーンデバイス |
EP3531653B1 (en) * | 2014-01-28 | 2021-03-10 | Huawei Technologies Co., Ltd. | Processing rule modification method, apparatus and device |
US10623339B2 (en) * | 2015-12-17 | 2020-04-14 | Hewlett Packard Enterprise Development Lp | Reduced orthogonal network policy set selection |
CN109150752B (zh) * | 2017-06-16 | 2023-02-10 | 华为技术有限公司 | 缓存控制方法、网元及控制器 |
US11522815B2 (en) * | 2018-08-01 | 2022-12-06 | Nec Corporation | Switch, control apparatus, communication system, communication control method and program |
US10812507B2 (en) * | 2018-12-15 | 2020-10-20 | KnowBe4, Inc. | System and methods for efficient combining of malware detection rules |
CN114579056B (zh) * | 2022-03-11 | 2023-08-08 | 联想开天科技有限公司 | 一种系统的分区方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2482495A1 (en) * | 2011-01-27 | 2012-08-01 | Verint Systems Limited | System and method for flow table management |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、系统及设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740533A (en) * | 1996-06-03 | 1998-04-14 | Motorola, Inc. | Congestion control system and method for efficient multi-frequency messaging |
US6850521B1 (en) * | 1999-03-17 | 2005-02-01 | Broadcom Corporation | Network switch |
US7058424B2 (en) * | 2004-01-20 | 2006-06-06 | Lucent Technologies Inc. | Method and apparatus for interconnecting wireless and wireline networks |
US7525958B2 (en) * | 2004-04-08 | 2009-04-28 | Intel Corporation | Apparatus and method for two-stage packet classification using most specific filter matching and transport level sharing |
US8346918B2 (en) * | 2005-08-19 | 2013-01-01 | Cpacket Networks, Inc. | Apparatus and method for biased and weighted sampling of network traffic to facilitate network monitoring |
US20080256095A1 (en) * | 2007-04-10 | 2008-10-16 | Apertio Limited | Adaptation in network data repositories |
US20090092136A1 (en) * | 2007-10-09 | 2009-04-09 | Broadcom Corporation | System and method for packet classification, modification and forwarding |
US8019709B2 (en) * | 2007-11-09 | 2011-09-13 | Vantrix Corporation | Method and system for rule-based content filtering |
US8806630B2 (en) * | 2008-05-13 | 2014-08-12 | At&T Intellectual Property, I, L.P. | Methods and apparatus for intrusion protection in systems that monitor for improper network usage |
US20100179995A1 (en) | 2009-01-12 | 2010-07-15 | Yahoo! Inc. | Instant message forwarding to selectable accounts |
US8266673B2 (en) * | 2009-03-12 | 2012-09-11 | At&T Mobility Ii Llc | Policy-based privacy protection in converged communication networks |
JPWO2011083780A1 (ja) * | 2010-01-05 | 2013-05-13 | 日本電気株式会社 | 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム |
CN102884768A (zh) * | 2010-06-08 | 2013-01-16 | 日本电气株式会社 | 通信系统、控制装置、分组捕获方法和分组捕获程序 |
US8627448B2 (en) * | 2010-11-02 | 2014-01-07 | Jose Renato Santos | Selective invalidation of packet filtering results |
US9521079B2 (en) * | 2012-09-24 | 2016-12-13 | Hewlett Packard Enterprise Development Lp | Packet forwarding between packet forwarding elements in a network device |
US9071529B2 (en) * | 2012-10-08 | 2015-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for accelerating forwarding in software-defined networks |
CN106170024B (zh) | 2012-12-24 | 2019-12-24 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的系统、方法和节点 |
CN105009529B (zh) * | 2013-06-14 | 2018-11-16 | 华为技术有限公司 | 一种处理报文的方法和转发器 |
CN103428094B (zh) * | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
EP3531653B1 (en) * | 2014-01-28 | 2021-03-10 | Huawei Technologies Co., Ltd. | Processing rule modification method, apparatus and device |
-
2014
- 2014-01-28 EP EP18214531.8A patent/EP3531653B1/en active Active
- 2014-01-28 CN CN201480000147.9A patent/CN105103516B/zh active Active
- 2014-01-28 ES ES14880996T patent/ES2719541T3/es active Active
- 2014-01-28 CN CN201810312364.1A patent/CN108777629B/zh active Active
- 2014-01-28 WO PCT/CN2014/071609 patent/WO2015113191A1/zh active Application Filing
- 2014-01-28 EP EP14880996.5A patent/EP3091708B1/en not_active Not-in-force
-
2016
- 2016-07-28 US US15/222,777 patent/US9985878B2/en not_active Expired - Fee Related
-
2018
- 2018-04-27 US US15/965,217 patent/US10715426B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2482495A1 (en) * | 2011-01-27 | 2012-08-01 | Verint Systems Limited | System and method for flow table management |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、系统及设备 |
Non-Patent Citations (1)
Title |
---|
THE OPEN NETWORKING FOUNDATION: "《OpenFlow Switch Specification》", 《OPENFLOW》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765857A (zh) * | 2020-06-04 | 2021-12-07 | 华为技术有限公司 | 报文转发方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
ES2719541T3 (es) | 2019-07-11 |
CN108777629B (zh) | 2021-08-20 |
EP3531653A1 (en) | 2019-08-28 |
CN108777629A (zh) | 2018-11-09 |
WO2015113191A1 (zh) | 2015-08-06 |
EP3531653B1 (en) | 2021-03-10 |
EP3091708A1 (en) | 2016-11-09 |
US20160337250A1 (en) | 2016-11-17 |
US10715426B2 (en) | 2020-07-14 |
EP3091708B1 (en) | 2019-01-23 |
EP3091708A4 (en) | 2016-12-28 |
US20180248789A1 (en) | 2018-08-30 |
CN105103516B (zh) | 2018-06-26 |
US9985878B2 (en) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105103516A (zh) | 处理规则的修改方法、装置及设备 | |
CN102334112B (zh) | 用于虚拟机网络的方法和系统 | |
US8611335B1 (en) | System and method for assigning paths for data flows through a wide-area network | |
US9876756B2 (en) | Network access method and device for equipment | |
CN105051688A (zh) | 经扩展的标记联网 | |
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
JP2019500822A (ja) | 仮想マシンパケット制御 | |
US20170034063A1 (en) | Prioritization of network traffic in a distributed processing system | |
CN104219145A (zh) | 网络系统及路由方法 | |
JP5993817B2 (ja) | キャリア網における経路制御システム及び方法 | |
JP2018107791A5 (zh) | ||
EP3136662B1 (en) | Construction method, device and system for multi-path forwarding rules | |
CN105359472B (zh) | 一种用于OpenFlow网络的数据处理方法和装置 | |
CN103973568A (zh) | 用于在mpls核心网上转发sdn流的方法和设备 | |
EP3718269B1 (en) | Packet value based packet processing | |
CN113542059B (zh) | 段路由多路径bfd检测方法、装置及存储介质 | |
US20200028779A1 (en) | Packet processing method and apparatus | |
JP6524911B2 (ja) | ネットワーク制御装置、ネットワーク制御方法およびプログラム | |
US10177935B2 (en) | Data transfer system, data transfer server, data transfer method, and program recording medium | |
JPWO2014168164A1 (ja) | ネットワーク検証装置、ネットワーク検証方法及びプログラム | |
JP6287443B2 (ja) | 制御装置、及びそのテーブル作成方法 | |
US9894017B2 (en) | Communication system, physical machine, virtual network management apparatus, and network control method | |
CN105103503B (zh) | 一种转发报文的方法和装置 | |
WO2015121304A1 (en) | Sdn-based processing platform | |
JP6540299B2 (ja) | 仮想ネットワーク管理システム、仮想ネットワーク管理装置、仮想ネットワーク管理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |