CN104205745A - 报文处理的方法与设备 - Google Patents
报文处理的方法与设备 Download PDFInfo
- Publication number
- CN104205745A CN104205745A CN201480000358.2A CN201480000358A CN104205745A CN 104205745 A CN104205745 A CN 104205745A CN 201480000358 A CN201480000358 A CN 201480000358A CN 104205745 A CN104205745 A CN 104205745A
- Authority
- CN
- China
- Prior art keywords
- processing
- code
- sign
- message
- state
- 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
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提出了一种报文处理的方法,包括:根据第一代码,对报文进行第一处理并确定第一处理切换表的标识;根据第一处理切换表的描述信息生成第一查找关键字;查找第一处理切换表以确定第一表项;根据第一表项确定SDN流表的标识或者第二代码的标识;并根据SDN流表对进行第一处理后的报文进行SDN流表对应的处理,或者根据第二代码对进行第一处理后的报文进行第二处理。能够实现一个用于实现非SDN的报文处理的代码对报文处理后,另一个用于实现非SDN的报文处理的代码对处理后的报文进行处理。或者一个用于实现非SDN的报文处理的代码对报文处理后,SDN流表对处理后的报文进行处理。上述技术方案中,报文的处理方式比较灵活。
Description
技术领域
本发明实施例涉及信息技术领域,并且更具体地,涉及一种报文处理的方法与设备。
背景技术
传统的报文的转发过程完全是由交换机/路由器控制的。交换机/路由器通过传统转发动作表对获取到的报文进行控制。该传统的转发动作表的内容都是根据转发面微码和控制面约定好的格式确定的。也就是说,传统的转发动作表的每一个域中的内容都是转发面微码和控制面驱动约定好的。传统的转发动作表可以是桥动作表(bridge table)或者路由动作表(route table)。完全由交换机/路由器控制实现的对报文的控制过程具有性能高、技术成熟的优点。但是,完全由交换机/路由器控制实现的对报文的控制过程不够灵活,不能较好地适应业务需求的变化。
随着技术的发展,出现了开放流(OpenFlow)技术。开放流技术将原来完全由交换机/路由器控制的转发过程转化为由OpenFlow交换机(OpenFlowswitch)和控制器(controller)共同控制。OpenFlow技术实现了数据转发和路由控制的分离。OpenFlow技术采用多级流表(flow table)的流水线完成报文从输入到输出的转发处理过程。具体来说,流表由多个流表项组成,每个流表项对应一个转发规则。报文的目的端口是通过查询流表来获得的。流表包括匹配域(match field)、指令(instruction)域以及计数器(counter)域。匹配域用于匹配报文。指令域用于对报文进行处理。其中处理可以是修改、封装、解封装、转发或丢弃。上述技术方案中报文的处理方式不够灵活。
发明内容
本发明实施例提供了一种报文处理的方法,有助于提高报文的处理方式的灵活性。
第一方面,提供了一种报文处理的方法,包括:根据第一代码,对报文进行第一处理,所述第一代码用于实现所述第一处理,所述第一处理是非软件定义网络(英文:software defined network,简称:SDN)的报文处理;
根据所述第一代码,确定第一标识,所述第一标识为第一处理切换表的标识;
根据与所述第一标识对应的所述第一处理切换表的描述信息,生成第一查找关键字;
根据所述第一查找关键字,查找所述第一处理切换表以确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;
根据所述第一表项,确定第二标识,所述第二标识为SDN流表的标识或者第二代码的标识,所述第二代码用于实现第二处理,所述第二处理是非SDN的报文处理;
根据与所述第二标识对应的所述SDN流表,对进行所述第一处理后的所述报文进行所述SDN流表对应的处理,或者根据与所述第二标识对应的所述第二代码,对进行所述第一处理后的所述报文进行所述第二处理。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第二标识为所述SDN流表的标识,在所述根据所述SDN流表,对进行所述第一处理后的所述报文进行所述SDN流表对应的处理以后,所述方法还包括:
根据所述SDN流表中的指令,确定第三标识,所述第三标识为第三代码的标识,所述第三代码用于实现第三处理,所述第三处理是非SDN的报文处理;
根据与所述第三标识对应的所述第三代码,对进行所述SDN流表对应的处理后的所述报文进行所述第三处理。
结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在所述根据第一代码,对报文进行第一处理之前,所述方法还包括执行第四代码,
所述执行第四代码具体包括:
生成第二查找关键字;
根据所述第二查找关键字,查找第二处理切换表,确定第二表项,所述第二表项为在所述第二处理切换表中与所述第二查找关键字匹配的表项;
根据所述第二表项,确定第四标识,所述第四标识为所述第一代码的标识;
或者,所述执行第四代码具体包括:
检测第一控制开关的状态;
确定所述第一控制开关的状态为第一状态,所述第一控制开关的状态为第一状态用于指示执行所述第一代码。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,在所述生成第二查找关键字之前,所述执行第四代码还包括:
检测第一控制开关的状态,所述第一控制开关与所述第二处理切换表所对应;
确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第二处理切换表。
结合第一方面或者上述第一方面的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述第一代码,确定第一标识,包括:
根据所述第一代码中的第一指令,检测第二控制开关的状态,所述第二控制开关与所述第一处理切换表所对应;
确定所述第二控制开关的状态为第二状态,所述第二控制开关的状态为第二状态用于指示查找所述第一处理切换表;
根据所述第一代码中的第二指令,确定所述第一标识。
第二方面,提供了一种报文处理的方法,包括:根据软件定义网络SDN流表,对报文进行第一处理;
根据所述SDN流表中的指令,确定第一标识,所述第一标识为第一代码的标识,所述第一代码用于实现第二处理,所述第二处理是非SDN的报文处理;
根据与所述第一标识对应的所述第一代码,对进行所述第一处理后的所述报文进行所述第二处理。
结合第二方面,在第二方面的第一种可能的实现方式中,在所述根据SDN流表,对报文进行第一处理之前,所述方法还包括执行第二代码,
所述执行第二代码包括:
生成第一查找关键字;
根据所述第一查找关键字,查找第一处理切换表,确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;
根据所述第一表项,确定第二标识,所述第二标识为所述SDN流表的标识。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,在所述生成第一查找关键字之前,所述执行第二代码还包括:
检测第一控制开关的状态,所述第一控制开关与所述第一处理切换表所对应;
确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第一处理切换表。
第三方面,提供了一种报文处理的设备,包括:第一处理单元,用于根据第一代码,对报文进行第一处理,所述第一代码用于实现所述第一处理,所述第一处理是非软件定义网络SDN的报文处理;
第一确定单元,用于根据所述第一代码,确定第一标识,所述第一标识为第一处理切换表的标识;
生成单元,用于根据与所述第一确定单元确定的所述第一标识对应的所述第一处理切换表的描述信息,生成第一查找关键字;
第二确定单元,用于根据所述生成单元生成的所述第一查找关键字,查找所述第一处理切换表以确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;
第三确定单元,用于根据所述第二确定单元确定的所述第一表项,确定第二标识,所述第二标识为SDN流表的标识或者第二代码的标识,所述第二代码用于实现第二处理,所述第二处理是非SDN的报文处理;
第二处理单元,用于根据与所述第三确定单元确定的所述第二标识对应的所述SDN流表,对所述第一处理单元进行所述第一处理后的所述报文进行所述SDN流表对应的处理,或者根据与所述第三确定单元确定的所述第二标识对应的所述第二代码,对所述第一处理单元进行所述第一处理后的所述报文进行所述第二处理。
结合第三方面,在第三方面的第一种可能的实现方式中,所述第三确定单元确定的所述第二标识为所述SDN流表的标识,所述设备还包括:
第四确定单元,用于根据与所述第三确定单元确定的所述第二标识对应的所述SDN流表中的指令,确定第三标识,所述第三标识为第三代码的标识,所述第三代码用于实现第三处理,所述第三处理是非SDN的报文处理;
第三处理单元,用于根据与所述第四确定单元确定的所述第三标识对应的所述第三代码,对所述第二处理单元进行所述SDN流表对应的处理后的所述报文进行所述第三处理。
结合第三方面或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述设备还包括执行单元,用于执行第四代码,
所述执行单元,具体用于:
生成第二查找关键字;
根据所述第二查找关键字,查找第二处理切换表,确定第二表项,所述第二表项为在所述第二处理切换表中与所述第二查找关键字匹配的表项;
根据所述第二表项,确定第四标识,所述第四标识为所述第一代码的标识;
或者,所述执行单元,具体用于:
检测第一控制开关的状态;
确定所述第一控制开关的状态为第一状态,所述第一控制开关的状态为第一状态用于指示执行所述第一代码。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述执行单元在所述生成第二查找关键字之前,还用于:
检测第一控制开关的状态,所述第一控制开关与所述第二处理切换表所对应;
确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第二处理切换表。
结合第三方面或者上述第三方面的任一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述第一确定单元,具体用于:
根据所述第一代码中的第一指令,检测第二控制开关的状态,所述第二控制开关与所述第一处理切换表所对应;
确定所述第二控制开关的状态为第二状态,所述第二控制开关的状态为第二状态用于指示查找所述第一处理切换表;
根据所述第一代码中的第二指令,确定所述第一标识。
第四方面,提供了一种报文处理的设备,包括:第一处理单元,用于根据软件定义网络SDN流表,对报文进行第一处理;
第一确定单元,用于根据所述SDN流表中的指令,确定第一标识,所述第一标识为第一代码的标识,所述第一代码用于实现第二处理,所述第二处理是非SDN的报文处理;
第二处理单元,用于根据与所述第一确定单元确定的所述第一标识对应的所述第一代码,对所述第一处理单元进行所述第一处理后的所述报文进行所述第二处理。
结合第四方面,在第四方面的第一种可能的实现方式中,所述设备还包括执行单元,用于执行第二代码,
所述执行单元,具体用于:
生成第一查找关键字;
根据所述第一查找关键字,查找第一处理切换表,确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;
根据所述第一表项,确定第二标识,所述第二标识为所述SDN流表的标识。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述执行单元在所述生成第一查找关键字之前,还用于:
检测第一控制开关的状态,所述第一控制开关与所述第一处理切换表所对应;
确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第一处理切换表。
本发明实施例中,根据第一代码确定第一处理切换表的标识。查找所述第一处理切换表以确定第一表项。进一步根据所述第一表项确定第二标识。其中第二标识为SDN流表的标识或者为第二代码的标识。这样,在报文处理过程中,能够实现一个用于实现非SDN的报文处理的代码对报文处理后,另一个用于实现非SDN的报文处理的代码对处理后的报文进行处理。或者一个用于实现非SDN的报文处理的代码对报文处理后,SDN流表对处理后的报文进行处理。上述技术方案中,报文的处理方式比较灵活。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的报文处理的方法的流程图。
图2是本发明另一个实施例的报文处理的方法的流程图。
图3是本发明一个实施例的报文处理的设备的框图。
图4是本发明另一个实施例的报文处理的设备的框图。
图5是本发明另一个实施例的报文处理的设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
报文处理(packet processing)是报文处理的设备执行的。所述报文处理可以是对报文进行转发、对报文进行丢弃、对报文进行修改(例如对报文进行封装或者解封装)、对报文进行承诺接入速率(committed access rate,CAR)操作或者对报文执行计数(counter)操作。其中,对报文进行转发可以具体包括确定查找关键字(search key)、查找路由表、获得下一跳的IP地址、确定所述下一跳的IP地址对应的物理出接口以及对生存时间(time to live,TTL)域的值减1。所述报文处理的设备可以是路由器、网络交换机、防火墙、负载均衡器、波分复用设备、分组传送网设备、基站、基站控制器或者数据中心。具体来说,所述报文处理可以是报文处理的设备的处理器执行的。所述处理器可以是网络处理器(network processer,NP)或者中央处理器(centralprocessing unit,CPU)。报文处理的设备执行报文处理时,可以根据表和/或代码执行所述报文处理。
SDN的报文处理是指报文处理的设备根据SDN流表执行报文处理。所述SDN流表可以是一个或者多个。流表跳转指令可以将多个SDN流表进行关联。所述SDN流表可以是开放流流表。具体来说,SDN流表中包含了指令。所述指令可以是开放流指令(英文:OpenFlow instruction)。所述OpenFlowinstruction可以是表跳转(GOTO_TABLE)、丢弃(DROP)或者输出(OUTPUT)。关于OpenFlow flow table以及OpenFlow instruction,可以参考开放网络基础(open networking foundation,ONF)发布的《开放流交换机规范1.3.0》(OpenFlow switch specification1.3.0)。
另外,所述报文处理的设备可以对所述指令进行解析以执行所述SDN的报文处理。所述报文处理的设备可以运行SDN代码对所述指令进行解析。所述SDN代码可以是报文处理的设备的供应商提供的。
从上可以看出,SDN的报文处理是SDN流表定义的。执行报文处理的报文处理的设备的用户可以定义SDN流表。例如,所述用户可以定义SDN流表的表项的长度、SDN流表的表项中的匹配域或者SDN流表的表项中的指令域。因此,所述用户可以通过定义SDN流表定义SDN的报文处理。因此,SDN的报文处理属于用户有权定义的报文处理。所述用户可以是运营商。
非SDN的报文处理是指报文处理的设备根据非SDN代码执行报文处理。举例来说,所述非SDN代码可以是传统报文处理的设备(非SDN的报文处理的设备,例如路由器)执行网际协议(internet protocol,IP)的代码、执行媒体访问控制(media access control,MAC)协议的代码、执行地址解析协议(address resolution protocol,ARP)代码或者执行双向转发检测(bidirectionalforwarding detection,BFD)协议的代码。关于BFD协议可以参考请求注解(request for comments,RFC)5880。报文处理的设备根据非SDN代码执行报文处理具体可以是报文处理的设备根据非SDN代码以及传统表执行报文处理。传统表可以是桥表或者路由表。传统表的表项中包括为非SDN代码提供的参数。
从上可以看出,非SDN的报文处理可以是非SDN代码定义的。非SDN的报文处理也可以是非SDN代码以及传统表定义的。非SDN代码是报文处理的设备的供应商提供的,报文处理的设备的用户不能修改。传统表的参数格式是报文处理的设备的供应商定义的,报文处理的设备的用户不能修改。因此,所述用户不能通过修改非SDN代码修改非SDN的报文处理。所述用户也不能通过修改非SDN代码以及传统表修改非SDN的报文处理。因此,非SDN的报文处理属于用户无权定义的报文处理。
图1是本发明一个实施例的报文处理的方法的流程图。图1所示的方法的执行主体可以是报文处理的设备。具体地,执行主体可以是报文处理的设备中的NP。具体地,可以是NP中的查找引擎。例如,该报文处理的设备可以是路由器、网络交换机、防火墙、负载均衡器或者数据中心。其中,网络交换机可以是OpenFlow交换机。
101,根据第一代码,对报文进行第一处理,所述第一代码用于实现所述第一处理,所述第一处理是非SDN的报文处理。
102,根据所述第一代码,确定第一标识,所述第一标识为第一处理切换表的标识。
103,根据与所述第一标识对应的所述第一处理切换表的描述信息,生成第一查找关键字。
104,根据所述第一查找关键字,查找所述第一处理切换表以确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项。
105,根据所述第一表项,确定第二标识,所述第二标识为SDN流表的标识或者第二代码的标识,所述第二代码用于实现第二处理,所述第二处理是非SDN的报文处理。
106,根据与所述第二标识对应的所述SDN流表,对进行所述第一处理后的所述报文进行所述SDN流表对应的处理,或者根据与所述第二标识对应的所述第二代码,对进行所述第一处理后的所述报文进行所述第二处理。
本发明实施例中,根据第一代码确定第一处理切换表的标识。查找所述第一处理切换表以确定第一表项。进一步根据所述第一表项确定第二标识。其中第二标识为SDN流表的标识或者为第二代码的标识。这样,在报文处理过程中,能够实现一个用于实现非SDN的报文处理的代码对报文处理后,另一个用于实现非SDN的报文处理的代码对处理后的报文进行处理。或者一个用于实现非SDN的报文处理的代码对报文处理后,SDN流表对处理后的报文进行处理。上述技术方案中,报文的处理方式比较灵活。
本发明实施例中,用于实现非SDN的报文处理的代码可以是入接口模块、寻路模块、访问控制模块、性能控制模块或者出接口模块。本发明对用于实现非SDN的报文处理的代码不作限定。
本发明实施例中,每一个用于实现非SDN的报文处理的代码都对应一个处理切换表。例如,102中的第一处理切换表即为第二代码对应的处理切换表。
本发明实施例中,执行主体接收到报文之后,可直接执行第一代码。
可选的,在101之前,所述方法还包括:执行第四代码。
可选的,该执行第四代码包括:检测第一控制开关的状态,该第一控制开关与第二处理切换表所对应。确定该第一控制开关的状态为第一状态。这里,第一控制开关的状态为第一状态用于指示执行与第二处理切换表所对应的第一代码。
可选的,该执行第四代码包括:生成第二查找关键字。根据所述第二查找关键字,查找第二处理切换表,确定第二表项,该第二表项为在该第二处理切换表中与该第二查找关键字匹配的表项。根据该第二表项,确定第四标识,该第四标识为第一代码的标识。其中,第二处理切换表是与第一代码对应的处理切换表。
可替换的,该第四代码包括:检测第一控制开关的状态,该第一控制开关与第二处理切换表所对应;确定该第一控制开关的状态为第二状态,这里,第一控制开关的状态为第二状态用于指示查找第二处理切换表;生成第二查找关键字;根据所述第二查找关键字,查找第二处理切换表,确定第二表项;根据该第二表项,确定第四标识。
其中,第二查找关键字可以是执行主体从该报文中所获取的,也可以是执行主体查找端口表所获取的,或者也以是执行主体通过其他方式所获取的,本发明对此不作限定。第二处理切换表可以是由控制器生成并发送至该执行主体的。控制器生成第二处理切换表具体实现时,可以是控制器的用户对控制器进行配置以使所述控制器生成所述第二处理切换表。控制器的用户可以是运营商。例如,所述运营商可以是中国移动通信集团公司(英文:Chinamobile communications corporation)或者威讯通信(英文:Verizoncommunications)。
本发明实施例中,第二处理切换表与第一代码对应,第一控制开关与第二处理切换表对应。所述第一控制开关用于指示是否需要访问所述第二处理切换表。
当所述第一控制开关的状态为第二状态时,所述执行主体需要访问所述第二处理切换表。当所述第一控制开关的状态为第一状态时,所述执行主体不需要访问所述第二处理切换表,而是执行与所述第二处理切换表对应的第一代码。
也就是说,本发明实施例中,执行主体接收到该报文之后,可以直接执行第一代码。或者,也可以先匹配第二处理切换表的相应表项,再执行第一代码。或者,也可以先检测第一控制开关的状态,当确定第一控制开关的状态为第一状态时,再执行第一代码。或者,也可以检测第一控制开关的状态,当确定第一控制开关的状态为第二状态时,匹配第二处理切换表的相应表项,再执行第一代码。本发明对此不作限定。
在101中,第一处理可以是第一代码确定的,也可以是根据第一代码,查找相应的一个或多个传统表所确定的,本发明对此不作限定。
在102中,第一代码可直接携带该第一标识。或者,也可以是根据该第一代码,查找存储在该执行主体中的表所获取的,本发明对此不作限定。
本发明实施例中,第一处理切换表可以是由控制器生成并发送至该执行主体的。控制器生成第一处理切换表具体实现时,可以是控制器的用户对控制器进行配置以使所述控制器生成所述第一处理切换表。控制器的用户可以是运营商。例如,所述运营商可以是中国移动通信集团公司或者威讯通信。
可选地,在102中,执行主体可先根据第一代码中的第一指令,检测第二控制开关的状态,该第二控制开关与第一处理切换表所对应。当第二控制开关的状态为第二状态时,根据第一代码中的第二指令,确定第一标识。其中,第一代码中的第二指令用于指示该执行主体确定第一标识。
可选地,作为另一个实施例,执行主体可根据第一代码中的第一指令,检测第二控制开关的状态。当第二控制开关的状态为第一状态时,执行第一代码中的第三指令,根据该第三指令,确定第二标识,并且该第二标识为第二代码的标识。其中,第二代码用于实现第二处理,该第二处理为非SDN的报文处理。也就是说,当执行主体在执行第一代码之后,若检测到第二控制开关的状态为第一状态,则可直接执行第二代码。
举例来说,所述第一处理不同于所述第二处理。
上述技术方案中,第一处理切换表与第二代码对应,第二控制开关与第一处理切换表对应。所述第二控制开关用于指示是否需要查找所述第一处理切换表。
当所述第二控制开关的状态为所述第二状态时,所述执行主体需要查找所述第一处理切换表。当所述第二控制开关的状态为所述第一状态时,所述执行主体不需要查找所述第一处理切换表,而是执行与所述第一处理切换表对应的第二代码。
具体地,当第二控制开关的状态为第二状态时,执行主体根据第一代码中的第二指令,确定第一标识为所述第一处理切换表的标识,从而访问所述第一处理切换表。当所述第二控制开关的状态为所述第一状态时,执行主体根据第一代码中的第三指令,确定第二标识为所述第二代码的标识。
这样,在报文处理过程中,能够实现一个用于实现非SDN的报文处理的代码对报文处理后,另一个用于实现非SDN的报文处理的代码对处理后的报文进行处理。
在103中,可首先根据102中所确定的第一标识所对应的第一处理切换表,来确定对应的第一处理切换表的描述信息。再根据该第一处理切换表的描述信息,生成第一查找关键字。
具体地,该第一处理切换表的描述信息可以存储在数组中。并且,该第一处理切换表的标识可以是所述数组的名称。通过访问该数组获得该第一处理切换表的描述信息。具体地,该第一处理切换表的描述信息中可包括该第一处理切换表的存储位置的信息以及获取第一查找关键字的方式的信息。所述第一处理切换表的存储位置的信息可以是所述第一处理切换表的存储地址。
可选地,该执行主体的存储器包括用于存储计算机程序的存储区域以及用于存储数据的存储区域。该第一处理切换表的描述信息可存储在用于存储数据的存储区域。其中,该第一处理切换表的描述信息可以是控制器生成的,进一步由控制器通过控制通道将该第一处理切换表的描述信息发送至该执行主体。或者,该第一处理切换表的描述信息也可以是被预配置在该执行主体中的。本发明对此不作限定。
在104中,可通过查找引擎查找第一处理切换表。具体地,可将103所确定的第一查找关键字提供给查找引擎,从而可触发查找引擎对第一处理切换表进行查找,并将查找结果返回到该查找引擎。
具体地,该第一处理切换表的描述信息中可包括该第一处理切换表的存储地址以及查找该第一处理切换表的查找算法的标识。此时,查找引擎可根据该第一处理切换表的查找算法进行查找。所述查找算法可以是精确匹配(英文:exact match)算法。
或者,具体地,该第一处理切换表的描述信息中可包括该第一处理切换表的存储地址,但不包括该第一处理切换表的查找算法的标识。此时,查找引擎可采用默认的查找算法进行查找。
本发明实施例中,在105中,第一表项中可包括第二标识。该第二标识可以是SDN流表的标识,也可以是第二代码的标识。
如前所述,当第二标识为第二代码的标识时,执行主体执行第二代码,这样便实现了对该报文处理过程中,一个用于实现非SDN的报文处理的代码对报文处理后,另一个用于实现非SDN的报文处理的代码对处理后的报文进行处理。
当第二标识为SDN流表的标识时,在106中,执行主体根据该SDN流表,对进行第一处理后的报文进行所述SDN流表对应的处理。例如,在106中,可查找一个或多个SDN流表,对进行第一处理后的报文进行处理。这样,便实现了在报文处理过程中,一个用于实现非SDN的报文处理的代码对报文处理后,SDN流表对处理后的报文进行处理。
可选地,当第二标识为SDN流表的标识时,还可包括:根据SDN流表中的指令,确定第三标识,该第三标识为第三代码的标识,所述第三代码用于实现第三处理,所述第三处理是非SDN的报文处理;并根据与该第三标识对应的第三代码,对进行所述SDN流表对应的处理后的报文进行第三处理。
举例来说,所述第三处理不同于所述第一处理。所述第三处理不同于所述第二处理。
具体地,当第二标识为SDN流表的标识时,执行主体查找该SDN流表,进一步可根据SDN流表中的指令,确定第三标识。其中,SDN流表中的指令可以是goto指令或者output指令。该goto指令的操作数或者output指令的操作数可为该第三标识。
或者,具体地,当第二标识为SDN流表的标识时,执行主体查找该SDN流表,并根据SDN流表中的GOTO Table指令跳转到其他的SDN流表,例如另一SDN流表。再进一步根据该另一SDN流表中的指令,确定第三标识。应注意,可以从SDN流表直接跳转至另一SDN流表,或者,也可以从SDN流表经一个或多个其他的SDN流表之后再跳转至另一SDN流表。其中,另一SDN流表中的指令可以是goto指令或者output指令。该goto指令的操作数或者output指令的操作数可为该第三标识。
这样,能够实现在报文处理过程中,一个用于实现非SDN的报文处理的代码对报文处理后,SDN流表对所述一个用于实现非SDN的报文处理的代码处理后的报文进行处理。然后,另一个用于实现非SDN的报文处理的代码对所述SDN流表处理后的报文进行处理。
也就是说,本发明实施例中,执行主体接收到报文之后,可以直接执行第一代码。或者,也可以先匹配第二处理切换表的相应表项,再执行第一代码。或者,也可以先检测第一控制开关的状态,当确定第一控制开关的状态为第一状态时,再执行第一代码。或者,也可以检测第一控制开关的状态,当确定第一控制开关的状态为第二状态时,查找第二处理切换表的相应表项,再执行第一代码。
执行主体在执行第一代码之后,可以直接查找第一处理切换表,以确定后续执行第二代码或者SDN流表。
或者,执行主体在执行第一代码之后,可以先检测与第一处理切换表对应的第二控制开关的状态,根据该第二控制开关的状态确定是否查找第一处理切换表。
当该第二控制开关的状态为第一状态时,则可直接执行第二代码。当该第二控制开关的状态为第二状态时,则查找第一处理切换表,以确定后续执行第二代码或者SDN流表。
并且,根据查找第一处理切换表的结果,当确定后续执行SDN流表时,还可再根据SDN流表中的指令,继续执行第三代码。
这样,能够实现在报文处理过程中,用于实现非SDN的报文处理的代码对报文处理后,SDN流表对处理后的报文进行处理。提高报文处理的灵活性。
图2是本发明另一个实施例的报文处理的方法的流程图。图2所示的方法的执行主体可以是报文处理的设备。具体地,执行主体可以是报文处理的设备中的NP。具体地,可以是NP中的查找引擎。例如,该报文处理的设备可以是路由器、网络交换机、防火墙、负载均衡器或者数据中心。其中,网络交换机可以是OpenFlow交换机。
201,根据SDN流表,对报文进行第一处理。
202,根据所述SDN流表中的指令,确定第一标识,所述第一标识为第一代码的标识,所述第一代码用于实现第二处理,所述第二处理是非SDN的报文处理。
203,根据与所述第一标识对应的所述第一代码,对进行所述第一处理后的所述报文进行所述第二处理。
举例来说,所述第一处理不同于所述第二处理。
本发明实施例中,根据SDN流表中的指令,确定第一标识,该第一标识为用于实现非SDN的报文处理的标识。这样,在报文处理过程中,能够实现对报文进行SDN流表对应的处理后,一个用于实现非SDN报文处理的代码对处理后的报文进行处理。能够提高报文处理的灵活性。
具体地,在201中,可根据SDN流表,查找一个或多个流表,对报文进行第一处理。
可选地,在202中,执行主体可以根据SDN流表中的指令,直接确定第一标识。其中,SDN流表中的指令可以是goto指令或者output指令。该goto指令的操作数或者output指令的操作数可为该第一标识。
或者,可选地,在202中,执行主体可以根据SDN流表中的GOTO Table指令跳转到其他的SDN流表,例如另一SDN流表,再进一步根据该另一SDN流表中的指令,确定第一标识。应注意,可以从SDN流表直接跳转至另一SDN流表,或者,也可以从SDN流表经一个或多个其他的SDN流表之后再跳转至另一SDN流表。其中,另一SDN流表中的指令可以是goto指令或者output指令。该goto指令的操作数或者output指令的操作数可为该第一标识。
这样,能够实现在报文处理过程中,对报文进行SDN流表对应的处理后,一个用于实现非SDN的报文处理的代码对处理后的报文进行处理。上述技术方案中,报文的处理方式比较灵活。
可选地,在201之前,所述方法还包括:执行第二代码。
可选地,该执行第二代码可包括:生成第一查找关键字。根据第一查找关键字,查找第一处理切换表,确定第一表项,该第一表项为在该第一处理切换表中与该第一查找关键字匹配的表项。根据该第一表项,确定第二标识,该第二标识为SDN流表的标识。
或者,可选地,该执行第二代码可包括:检测第一控制开关的状态,该第一控制开关与第一处理切换表所对应。确定该第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第一处理切换表。生成第一查找关键字。根据第一查找关键字,查找第一处理切换表,确定第一表项,该第一表项为在该第一处理切换表中与该第一查找关键字匹配的表项。根据该第一表项,确定第二标识,该第二标识为SDN流表的标识。
本发明实施例中,第一控制开关与第一处理切换表对应。所述第一控制开关用于指示是否需要查找所述第一处理切换表。当所述第一控制开关的状态为第二状态时,所述执行主体查找所述第一处理切换表。
本发明实施例中,执行主体接收到报文之后,可直接执行SDN流表。
或者,执行主体接收到报文之后,可先查找第一处理切换表,并根据第一处理切换表的匹配结果,执行SDN流表。
或者,执行主体接收到报文之后,可先检测第一控制开关的状态。当确定第一控制开关的状态为第二状态时,查找第一处理切换表,并根据第一处理切换表的匹配结果,执行SDN流表。
这样,在报文处理过程中,能够实现对报文进行SDN流表对应的处理后,一个用于实现非SDN报文处理的代码对处理后的报文进行处理。能够提高报文处理的灵活性。
图3是本发明一个实施例的报文处理的设备的框图。图3所示的设备300可以是报文处理的设备。具体地,设备300可以是报文处理的设备中的NP,或者也可以是NP中的查找引擎。例如,该报文处理的设备可以是路由器、网络交换机、防火墙、负载均衡器或者数据中心。其中,网络交换机可以是OpenFlow交换机。图3所示的设备可以用于执行图1所示的方法。
设备300包括第一处理单元301、第一确定单元302、生成单元303、第二确定单元304、第三确定单元305和第二处理单元306。
第一处理单元301用于根据第一代码,对报文进行第一处理,所述第一代码用于实现所述第一处理,所述第一处理是非软件定义网络SDN的报文处理。
第一确定单元302用于根据所述第一代码,确定第一标识,所述第一标识为第一处理切换表的标识。
生成单元303用于根据与第一确定单元301确定的所述第一标识对应的所述第一处理切换表的描述信息,生成第一查找关键字。
第二确定单元304用于根据生成单元303生成的所述第一查找关键字,查找所述第一处理切换表以确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项。
第三确定单元305用于根据第二确定单元304确定的所述第一表项,确定第二标识,所述第二标识为SDN流表的标识或者第二代码的标识,所述第二代码用于实现第二处理,所述第二处理是非SDN的报文处理。
第二处理单元306用于根据与第三确定单元305确定的所述第二标识对应的所述SDN流表,对第一处理单元301进行所述第一处理后的所述报文进行所述SDN流表对应的处理,或者根据与第三确定单元305确定的所述第二标识对应的所述第二代码,对第一处理单元301进行所述第一处理后的所述报文进行所述第二处理。
本发明实施例中,根据第一代码确定第一处理切换表的标识。查找所述第一处理切换表以确定第一表项。进一步根据所述第一表项确定第二标识。其中第二标识为SDN流表的标识或者为第二代码的标识。这样,在报文处理过程中,能够实现一个用于实现非SDN的报文处理的代码对报文处理后,另一个用于实现非SDN的报文处理的代码对处理后的报文进行处理。或者一个用于实现非SDN的报文处理的代码对报文处理后,SDN流表对处理后的报文进行处理。上述技术方案中,报文的处理方式比较灵活。
可选地,作为一个实施例,第三确定单元305确定的第二标识为SDN流表的标识,如图4所示,设备300还包括第四确定单元307和第三处理单元308。
第四确定单元307用于根据与第三确定单元305确定的所述第二标识对应的所述SDN流表中的指令,确定第三标识,所述第三标识为第三代码的标识,所述第三代码用于实现第三处理,所述第三处理是非SDN的报文处理。
第三处理单元308用于根据与第四确定单元307确定的所述第三标识对应的所述第三代码,对第二处理单元306进行所述SDN流表对应的处理后的所述报文进行所述第三处理。
具体地,第四确定单元307可根据SDN流表中的指令,直接确定第三标识。其中,SDN流表中的指令可以是goto指令或者output指令。该goto指令的操作数或者output指令的操作数可为该第三标识。
或者,具体地,第四确定单元307可根据SDN流表中的GOTO Table指令跳转到其他的SDN流表,例如另一SDN流表,再进一步根据该另一SDN流表中的指令,确定第三标识。应注意,可以从SDN流表直接跳转至另一SDN流表,或者,也可以从SDN流表经一个或多个其他的SDN流表之后再跳转至另一SDN流表。其中,另一SDN流表中的指令可以是goto指令或者output指令。该goto指令的操作数或者output指令的操作数可为该第三标识。
可选地,作为另一个实施例,设备300还可包括执行单元,用于执行第四代码。
所述执行单元,具体用于:生成第二查找关键字;根据所述第二查找关键字,查找第二处理切换表,确定第二表项,所述第二表项为在所述第二处理切换表中与所述第二查找关键字匹配的表项;根据所述第二表项,确定第四标识,所述第四标识为所述第一代码的标识。
或者,所述执行单元,具体用于:检测第一控制开关的状态;确定所述第一控制开关的状态为第一状态,所述第一控制开关的状态为第一状态用于指示执行所述第一代码。
或者,所述执行单元,具体用于:检测所述第一控制开关的状态,所述第一控制开关与所述第二处理切换表所对应;确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第二处理切换表;生成第二查找关键字;根据所述第二查找关键字,查找第二处理切换表,确定第二表项,所述第二表项为在所述第二处理切换表中与所述第二查找关键字匹配的表项;根据所述第二表项,确定第四标识,所述第四标识为所述第一代码的标识。
可选地,作为另一个实施例,第一确定单元302具体用于:根据所述第一代码中的第一指令,检测第二控制开关的状态,所述第二控制开关与所述第一处理切换表所对应。确定所述第二控制开关的状态为第二状态,所述第二控制开关的状态为第二状态用于指示查找所述第一处理切换表。根据所述第一代码中的第二指令,确定所述第一标识。
图3和图4中的设备300能够实现图1的实施例中由执行主体所实现的各个过程,为避免重复,这里不再赘述。
图5是本发明另一个实施例的报文处理的设备的框图。图5所示的设备500可以是报文处理的设备。具体地,设备500可以是报文处理的设备中的NP,或者也可以是NP中的查找引擎。例如,该报文处理的设备可以是路由器、网络交换机、防火墙、负载均衡器或者数据中心。其中,网络交换机可以是OpenFlow交换机。图5所示的设备可以用于执行图2所示的方法。
设备500包括第一处理单元501、第一确定单元502和第二处理单元503。
第一处理单元501用于根据SDN流表,对报文进行第一处理。
第一确定单元502用于根据所述SDN流表中的指令,确定第一标识,所述第一标识为第一代码的标识,所述第一代码用于实现第二处理,所述第二处理是非SDN的报文处理。
第二处理单元503用于根据与第一确定单元502确定的所述第一标识对应的所述第一代码,对第一处理单元501进行所述第一处理后的所述报文进行所述第二处理。
本发明实施例中,根据SDN流表中的指令,确定第一标识,该第一标识为用于实现非SDN的报文处理的标识。这样,在报文处理过程中,能够实现对报文进行SDN流表对应的处理后,一个用于实现非SDN报文处理的代码对处理后的报文进行处理。能够提高报文处理的灵活性。
本发明实施例中,第一确定单元502可以根据SDN流表中的指令,直接确定第一标识。其中,SDN流表中的指令可以是goto指令或者output指令。该goto指令的操作数或者output指令的操作数可为该第一标识。
或者,可选地,第一确定单元502可以根据SDN流表中的GOTO Table指令跳转到其他的SDN流表,例如另一SDN流表,再进一步根据该另一SDN流表中的指令,确定第一标识。应注意,可以从SDN流表直接跳转至另一SDN流表,或者,也可以从SDN流表经一个或多个其他的SDN流表之后再跳转至另一SDN流表。其中,另一SDN流表中的指令可以是goto指令或者output指令。该goto指令的操作数或者output指令的操作数可为该第一标识。
可选地,作为一个实施例,设备500还可包括执行单元,用于执行第二代码。
所述执行单元,具体用于:生成第一查找关键字;根据所述第一查找关键字,查找第一处理切换表,确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;根据所述第一表项,确定第二标识,所述第二标识为所述SDN流表的标识。
或者,所述执行单元,具体用于:检测第一控制开关的状态,所述第一控制开关与所述第一处理切换表所对应;确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第一处理切换表;生成第一查找关键字;根据所述第一查找关键字,查找第一处理切换表,确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;根据所述第一表项,确定第二标识,所述第二标识为所述SDN流表的标识。
图5中的设备500能够实现图2的实施例中由执行主体所实现的各个过程,为避免重复,这里不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者报文处理的设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种报文处理的方法,其特征在于,包括:
根据第一代码,对报文进行第一处理,所述第一代码用于实现所述第一处理,所述第一处理是非软件定义网络SDN的报文处理;
根据所述第一代码,确定第一标识,所述第一标识为第一处理切换表的标识;
根据与所述第一标识对应的所述第一处理切换表的描述信息,生成第一查找关键字;
根据所述第一查找关键字,查找所述第一处理切换表以确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;
根据所述第一表项,确定第二标识,所述第二标识为SDN流表的标识或者第二代码的标识,所述第二代码用于实现第二处理,所述第二处理是非SDN的报文处理;
根据与所述第二标识对应的所述SDN流表,对进行所述第一处理后的所述报文进行所述SDN流表对应的处理,或者根据与所述第二标识对应的所述第二代码,对进行所述第一处理后的所述报文进行所述第二处理。
2.根据权利要求1所述的方法,其特征在于,所述第二标识为所述SDN流表的标识,在所述根据所述SDN流表,对进行所述第一处理后的所述报文进行所述SDN流表对应的处理以后,所述方法还包括:
根据所述SDN流表中的指令,确定第三标识,所述第三标识为第三代码的标识,所述第三代码用于实现第三处理,所述第三处理是非SDN的报文处理;
根据与所述第三标识对应的所述第三代码,对进行所述SDN流表对应的处理后的所述报文进行所述第三处理。
3.根据权利要求1或2所述的方法,其特征在于,在所述根据第一代码,对报文进行第一处理之前,所述方法还包括执行第四代码,
所述执行第四代码具体包括:
生成第二查找关键字;
根据所述第二查找关键字,查找第二处理切换表,确定第二表项,所述第二表项为在所述第二处理切换表中与所述第二查找关键字匹配的表项;
根据所述第二表项,确定第四标识,所述第四标识为所述第一代码的标识;
或者,所述执行第四代码具体包括:
检测第一控制开关的状态;
确定所述第一控制开关的状态为第一状态,所述第一控制开关的状态为第一状态用于指示执行所述第一代码。
4.根据权利要求3所述的方法,其特征在于,在所述生成第二查找关键字之前,所述执行第四代码还包括:
检测第一控制开关的状态,所述第一控制开关与所述第二处理切换表所对应;
确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第二处理切换表。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述第一代码,确定第一标识,包括:
根据所述第一代码中的第一指令,检测第二控制开关的状态,所述第二控制开关与所述第一处理切换表所对应;
确定所述第二控制开关的状态为第二状态,所述第二控制开关的状态为第二状态用于指示查找所述第一处理切换表;
根据所述第一代码中的第二指令,确定所述第一标识。
6.一种报文处理的方法,其特征在于,包括:
根据软件定义网络SDN流表,对报文进行第一处理;
根据所述SDN流表中的指令,确定第一标识,所述第一标识为第一代码的标识,所述第一代码用于实现第二处理,所述第二处理是非SDN的报文处理;
根据与所述第一标识对应的所述第一代码,对进行所述第一处理后的所述报文进行所述第二处理。
7.根据权利要求6所述的方法,其特征在于,在所述根据SDN流表,对报文进行第一处理之前,所述方法还包括执行第二代码,
所述执行第二代码包括:
生成第一查找关键字;
根据所述第一查找关键字,查找第一处理切换表,确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;
根据所述第一表项,确定第二标识,所述第二标识为所述SDN流表的标识。
8.根据权利要求7所述的方法,其特征在于,在所述生成第一查找关键字之前,所述执行第二代码还包括:
检测第一控制开关的状态,所述第一控制开关与所述第一处理切换表所对应;
确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第一处理切换表。
9.一种报文处理的设备,其特征在于,包括:
第一处理单元,用于根据第一代码,对报文进行第一处理,所述第一代码用于实现所述第一处理,所述第一处理是非软件定义网络SDN的报文处理;
第一确定单元,用于根据所述第一代码,确定第一标识,所述第一标识为第一处理切换表的标识;
生成单元,用于根据与所述第一确定单元确定的所述第一标识对应的所述第一处理切换表的描述信息,生成第一查找关键字;
第二确定单元,用于根据所述生成单元生成的所述第一查找关键字,查找所述第一处理切换表以确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;
第三确定单元,用于根据所述第二确定单元确定的所述第一表项,确定第二标识,所述第二标识为SDN流表的标识或者第二代码的标识,所述第二代码用于实现第二处理,所述第二处理是非SDN的报文处理;
第二处理单元,用于根据与所述第三确定单元确定的所述第二标识对应的所述SDN流表,对所述第一处理单元进行所述第一处理后的所述报文进行所述SDN流表对应的处理,或者根据与所述第三确定单元确定的所述第二标识对应的所述第二代码,对所述第一处理单元进行所述第一处理后的所述报文进行所述第二处理。
10.根据权利要求9所述的设备,其特征在于,所述第三确定单元确定的所述第二标识为所述SDN流表的标识,所述设备还包括:
第四确定单元,用于根据与所述第三确定单元确定的所述第二标识对应的所述SDN流表中的指令,确定第三标识,所述第三标识为第三代码的标识,所述第三代码用于实现第三处理,所述第三处理是非SDN的报文处理;
第三处理单元,用于根据与所述第四确定单元确定的所述第三标识对应的所述第三代码,对所述第二处理单元进行所述SDN流表对应的处理后的所述报文进行所述第三处理。
11.根据权利要求9或10所述的设备,其特征在于,还包括执行单元,用于执行第四代码,
所述执行单元,具体用于:
生成第二查找关键字;
根据所述第二查找关键字,查找第二处理切换表,确定第二表项,所述第二表项为在所述第二处理切换表中与所述第二查找关键字匹配的表项;
根据所述第二表项,确定第四标识,所述第四标识为所述第一代码的标识;
或者,所述执行单元,具体用于:
检测第一控制开关的状态;
确定所述第一控制开关的状态为第一状态,所述第一控制开关的状态为第一状态用于指示执行所述第一代码。
12.根据权利要求11所述的设备,其特征在于,所述执行单元在所述生成第二查找关键字之前,还用于:
检测第一控制开关的状态,所述第一控制开关与所述第二处理切换表所对应;
确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第二处理切换表。
13.根据权利要求9至12任一项所述的设备,其特征在于,所述第一确定单元,具体用于:
根据所述第一代码中的第一指令,检测第二控制开关的状态,所述第二控制开关与所述第一处理切换表所对应;
确定所述第二控制开关的状态为第二状态,所述第二控制开关的状态为第二状态用于指示查找所述第一处理切换表;
根据所述第一代码中的第二指令,确定所述第一标识。
14.一种报文处理的设备,其特征在于,包括:
第一处理单元,用于根据软件定义网络SDN流表,对报文进行第一处理;
第一确定单元,用于根据所述SDN流表中的指令,确定第一标识,所述第一标识为第一代码的标识,所述第一代码用于实现第二处理,所述第二处理是非SDN的报文处理;
第二处理单元,用于根据与所述第一确定单元确定的所述第一标识对应的所述第一代码,对所述第一处理单元进行所述第一处理后的所述报文进行所述第二处理。
15.根据权利要求14所述的设备,其特征在于,还包括执行单元,用于执行第二代码,
所述执行单元,具体用于:
生成第一查找关键字;
根据所述第一查找关键字,查找第一处理切换表,确定第一表项,所述第一表项为在所述第一处理切换表中与所述第一查找关键字匹配的表项;
根据所述第一表项,确定第二标识,所述第二标识为所述SDN流表的标识。
16.根据权利要求15所述的设备,其特征在于,所述执行单元在所述生成第一查找关键字之前,还用于:
检测第一控制开关的状态,所述第一控制开关与所述第一处理切换表所对应;
确定所述第一控制开关的状态为第二状态,所述第一控制开关的状态为第二状态用于指示查找所述第一处理切换表。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/074841 WO2015149367A1 (zh) | 2014-04-04 | 2014-04-04 | 报文处理的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104205745A true CN104205745A (zh) | 2014-12-10 |
CN104205745B CN104205745B (zh) | 2017-02-15 |
Family
ID=52088183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480000358.2A Active CN104205745B (zh) | 2014-04-04 | 2014-04-04 | 报文处理的方法与设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104205745B (zh) |
WO (1) | WO2015149367A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791237A (zh) * | 2014-12-24 | 2016-07-20 | 中兴通讯股份有限公司 | 协议转化方法和装置 |
CN106533943A (zh) * | 2016-12-06 | 2017-03-22 | 中国电子科技集团公司第三十二研究所 | 基于网络交换芯片的微码和流表的实现方法 |
CN106961412A (zh) * | 2016-01-11 | 2017-07-18 | 中国移动通信集团公司 | 一种报文转换方法、装置及系统 |
WO2017190579A1 (zh) * | 2016-05-05 | 2017-11-09 | 中兴通讯股份有限公司 | 一种sdn架构中实现保护倒换的方法及转发设备 |
EP3349402A4 (en) * | 2015-09-30 | 2018-09-26 | Huawei Technologies Co., Ltd. | Message processing method and device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025643A (zh) * | 2010-12-30 | 2011-04-20 | 华为技术有限公司 | 一种流表查找方法和装置 |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、系统及设备 |
US20130163475A1 (en) * | 2011-12-22 | 2013-06-27 | Ludovic Beliveau | Controller for flexible and extensible flow processing in software-defined networks |
CN103209121A (zh) * | 2013-03-15 | 2013-07-17 | 中兴通讯股份有限公司 | 基于开放流协议的控制面设备的发现处理方法及装置 |
CN103560951A (zh) * | 2013-11-13 | 2014-02-05 | 华为技术有限公司 | 报文处理方法及物理转发设备 |
-
2014
- 2014-04-04 WO PCT/CN2014/074841 patent/WO2015149367A1/zh active Application Filing
- 2014-04-04 CN CN201480000358.2A patent/CN104205745B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025643A (zh) * | 2010-12-30 | 2011-04-20 | 华为技术有限公司 | 一种流表查找方法和装置 |
US20130163475A1 (en) * | 2011-12-22 | 2013-06-27 | Ludovic Beliveau | Controller for flexible and extensible flow processing in software-defined networks |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、系统及设备 |
CN103209121A (zh) * | 2013-03-15 | 2013-07-17 | 中兴通讯股份有限公司 | 基于开放流协议的控制面设备的发现处理方法及装置 |
CN103560951A (zh) * | 2013-11-13 | 2014-02-05 | 华为技术有限公司 | 报文处理方法及物理转发设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791237A (zh) * | 2014-12-24 | 2016-07-20 | 中兴通讯股份有限公司 | 协议转化方法和装置 |
CN105791237B (zh) * | 2014-12-24 | 2020-05-08 | 中兴通讯股份有限公司 | 协议转化方法和装置 |
EP3349402A4 (en) * | 2015-09-30 | 2018-09-26 | Huawei Technologies Co., Ltd. | Message processing method and device |
US10630584B2 (en) | 2015-09-30 | 2020-04-21 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
US11184281B2 (en) | 2015-09-30 | 2021-11-23 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
CN106961412A (zh) * | 2016-01-11 | 2017-07-18 | 中国移动通信集团公司 | 一种报文转换方法、装置及系统 |
CN106961412B (zh) * | 2016-01-11 | 2020-04-24 | 中国移动通信集团公司 | 一种报文转换方法、装置及系统 |
WO2017190579A1 (zh) * | 2016-05-05 | 2017-11-09 | 中兴通讯股份有限公司 | 一种sdn架构中实现保护倒换的方法及转发设备 |
CN106533943A (zh) * | 2016-12-06 | 2017-03-22 | 中国电子科技集团公司第三十二研究所 | 基于网络交换芯片的微码和流表的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2015149367A1 (zh) | 2015-10-08 |
CN104205745B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715634B2 (en) | System and method for creating virtual interfaces based on network characteristics | |
CN104205745A (zh) | 报文处理的方法与设备 | |
US20160337247A1 (en) | Network controller security monitor | |
CN104580027A (zh) | 一种OpenFlow报文转发方法及设备 | |
CN103731377A (zh) | 处理报文的方法与设备 | |
ATE437502T1 (de) | Teilung von weiterleitungszustand zwischen mehrfach-verkehrswegen in einem kommunikationsnetz | |
CN103560951A (zh) | 报文处理方法及物理转发设备 | |
CN102957617B (zh) | 实现多业务叠加的方法及装置 | |
CN102891803B (zh) | 拥塞处理方法及网络设备 | |
CN105591914B (zh) | 一种openflow流表的查表方法和装置 | |
CN103873464A (zh) | 报文处理的方法及转发设备 | |
CN103795622A (zh) | 一种报文转发方法及其装置 | |
RU2016137124A (ru) | Система связи, устройство управления, способ управления связью и программа | |
CN103441927A (zh) | 报文处理方法及装置 | |
CN103560957A (zh) | 查表键值构造方法、微码下发方法、装置及系统 | |
CN105814843A (zh) | 一种流表的生成方法和装置 | |
CN102014065A (zh) | 报文包头的解析方法、包头解析预处理装置和网络处理器 | |
CN103825824A (zh) | 一种报文处理方法及装置 | |
CN102821049A (zh) | 转发报文的方法和装置 | |
EP2736202B1 (en) | Message receiving and sending method, device, and system | |
CN108111422B (zh) | 一种基于dpdk的数据高速多路转发方法及装置 | |
CN106161233A (zh) | 一种报文转发方法及装置 | |
CN103581020B (zh) | 一种报文转发的方法、装置及系统 | |
CN105207904A (zh) | 报文的处理方法、装置和路由器 | |
CN104348723A (zh) | 生成路由表项的方法和边界网关协议演讲者 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |