CN103166866B - 生成表项的方法、接收报文的方法及相应装置和系统 - Google Patents
生成表项的方法、接收报文的方法及相应装置和系统 Download PDFInfo
- Publication number
- CN103166866B CN103166866B CN201110412195.7A CN201110412195A CN103166866B CN 103166866 B CN103166866 B CN 103166866B CN 201110412195 A CN201110412195 A CN 201110412195A CN 103166866 B CN103166866 B CN 103166866B
- Authority
- CN
- China
- Prior art keywords
- list item
- message
- forwarding flows
- chain
- forwarding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种生成表项的方法,包括:流转发装置接收第一报文,该流转发装置为控制与转发分离的网络架构中的装置;该流转发装置在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;该流转发装置根据该第一表项生成第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合。此外,本发明实施例还提供了接收消息的方法、流转发装置、控制面装置以及通信系统。通过本发明实施例提供的技术方案,流转发装置不需要通过控制通道与控制面装置进行交互,即可获得精细匹配表项。
Description
技术领域
本发明涉及网络通信领域,尤其涉及生成表项的方法、接收消息的方法、流转发装置、控制面装置和通信系统。
背景技术
控制与转发分离的网络架构是一种新型的网络架构。该网络架构中包括流转发装置以及控制面装置。流转发装置根据流表对收到的报文进行处理。控制面装置通过控制通道对流转发装置进行控制。
流转发装置在流表中查找到与收到的报文匹配的流表表项。为获得与该报文对应的精细匹配表项,流转发装置需要将该报文或者该报文的报文头上送至控制面装置,以便于控制面装置生成该精细匹配表项,并将该精细匹配表项下发至流转发装置。
发明人发现现有技术存在如下技术问题:
为获得精细匹配表项,流转发装置需要通过控制通道与控制面装置进行交互,流转发装置与控制面装置交互将占用控制通道的带宽。
发明内容
本发明实施例提供了生成表项的方法、接收消息的方法、流转发装置、控制面装置和通信系统,流转发装置不需要通过控制通道与控制面装置进行交互即可获得精细匹配表项。
一方面,本发明实施例提供了一种生成表项的方法,包括:
流转发装置接收第一报文,该流转发装置为控制与转发分离的网络架构中的流转发装置;
该流转发装置在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;
该流转发装置根据该第一表项生成第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合。
另一方面,本发明实施例还提供了一种接收消息的方法,包括:
控制面装置通过控制通道接收流转发装置发送的第一消息,该控制面装置为控制与转发分离的网络架构中的控制面装置,该第一消息包含第二表项,该第二表项通过如下途径得到:该流转发装置接收第一报文,该流转发装置为控制与转发分离的网络架构中的流转发装置;该流转发装置在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;该流转发装置根据该第一表项生成该第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合;
该控制面装置存储该第二表项。
另一方面,本发明实施例还提供了一种流转发装置,该流转发装置为控制与转发分离的网络架构中的流转发装置,该流转发装置包括:
第一接收器、查找单元以及表项生成单元;
该第一接收器用于接收第一报文;
该查找单元用于在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;
该表项生成单元用于根据该第一表项生成第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合。
另一方面,本发明实施例还提供了一种控制面装置,该控制面装置为控制与转发分离的网络架构中的控制面装置,该控制面装置包括:
第二接收器以及保存单元;
该第二接收器用于通过控制通道接收流转发装置发送的第一消息,该第一消息包含第二表项,该第二表项通过如下途径得到:该流转发装置接收第一报文,该流转发装置为控制与转发分离的网络架构中的流转发装置;该流转发装置在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;该流转发装置根据该第一表项生成该第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合;
该保存单元用于保存该第二表项。
另一方面,本发明实施例还提供了一种通信系统,包括:
流转发装置以及控制面装置,该流转发装置为控制与转发分离的网络架构中的流转发装置,该控制面装置为控制与转发分离的网络架构中的控制面装置;
该流转发装置包括第一接收器、查找单元、表项生成单元以及发送器;
该第一接收器用于接收第一报文;
该查找单元用于在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;
该表项生成单元用于根据该第一表项生成第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合;
该发送器用于通过控制通道向该控制面装置发送第一消息,该第一消息包含该第二表项;
该控制面装置包括第二接收器以及保存单元;
该第二接收器用于通过控制通道接收该第一消息;
该保存单元用于将该第二表项保存到该控制面装置。
可见,通过本发明实施例,流转发装置可根据与接收到的报文匹配第一表项生成第二表项,,而不需要将通过与控制面装置交互而获得第二表项,减少了对流转发装置与控制面装置之间的控制通道的带宽的占用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的生成表项的方法的一个流程图;
图2是本发明实施例提供的流表的一个结构示意图;
图3是本发明实施例提供的第一表项的一个结构示意图;
图4是本发明实施例提供的第二表项的一个结构示意图;
图5是本发明实施例提供的消息接收的方法的一个流程图;
图6是本发明实施例提供的流转发装置的结构示意图;
图7是本发明实施例提供的控制面装置的结构示意图;
图8是本发明实施例提供的通信系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例涉及到控制与转发分离的网络架构。控制与转发分离的网络架构中包括流转发装置以及控制面装置。流转发装置根据流表对收到的报文进行处理。控制面装置通过控制通道对流转发装置进行控制。
控制与转发分离的网络架构中,控制与转发分离是指流转发装置与控制面装置分离。其中,流转发装置将控制面的部分或者全部功能转移到控制面装置。流转发装置具备与控制面装置进行通信的能力。流转发装置可以通过控制通道与控制面装置通信。
流转发装置可以根据流表对收到的报文进行转发。对报文进行转发具体实现时,可以是二层转发,也可以是三层转发。关于二层与三层,具体请参考开放系统互连模型(OpenSystemsInterconnectionmodel,OSImodel)。
流转发装置具体实现时,可以是交换机或者路由器。
当流转发装置是交换机时,具体可以是开放流交换机(OpenFlowSwitch)。关于开放流交换机,请参考标准制定组织开放流网络基础(OpenFlowNetworkingFoundation,OFN)发布的《开放流交换机规范》版本1.0(OpenFlowSwitchSpecification1.0)。
控制面装置具体实现时,可以是开放流控制器(OpenFlowController)。关于开放流控制器,请参考标准制定组织开放流网络基础发布的《开放流交换机规范》版本1.0。
控制通道具体实现时,可以是开发流交换机与开放流控制器进行交互的安全通道(SecureChannel)。具体请参考标准制定组织开放流网络基础发布的《开放流交换机规范》版本1.0。
实施例一
本发明实施例提供了一种生成表项的方法,流转发装置不需要与控制面装置交互即可获得精细匹配表项。如图1所示,该方法包括:
101、流转发装置接收第一报文,该流转发装置为控制与转发分离的网络架构中的流转发装置。
流转发装置具体实现时,可以是开放流交换机。
第一报文具体实现时,可以是因特网协议分组(InternetProtocolPacket,IP分组),也可以是媒体接入控制(MediaAccessControl,MAC)协议帧(Frame)。
102、该流转发装置在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合。
该流表(FlowTable)保存在流转发装置。该流表包括第一表项。第一表项具体实现时,可以是:控制面装置生成该第一表项,并将该第一表项发送至该流转发装置。
流表可以包括多个流表表项(FlowEntry)。图2为本实施例提供的流表的一个结构示意图。参见图2,流表中包括多个流表表项,分别是流表表项1、流表表项2、流表表项3……
参见图2,流表表项可以包括匹配字段(MatchFields)、计数器(Counters)和指令(Instructions)。具体实现时,流表表项还可以是其他的结构。其中,MatchFields用于判断进入流转发装置的报文是否与流表的表项匹配。MatchFields可以包括一个或者多个字段。具体实现时,上述字段可以是入接口、源MAC)协议地址、目的MAC协议地址、虚拟局域网(VirtualLocalAreaNetwork,VLAN)标识(Identity,ID)、多协议标签交换(Multi-ProtocolLabelSwitching,MPLS)标签、源因特网协议第四版(InternetProtocolversion4,IPv4)地址、目的IPv4地址、用户数据报协议(UserDatagramProtocol,UDP)端口、传输控制协议(TransmissionControlProtocol,TCP)端口或者流控制传输协议(StreamControlTransmissionProtocol,SCTP)端口。
如果流表表项的MatchFields中所有的字段与第一报文中的对应字段都一致,则该流表表项与报文匹配。第一表项为与第一报文匹配的流表表项,因此第一表项的MatchFields中所有的字段与第一报文中的对应字段都一致。
需要指出的是,如果流表表项的MatchFields包括入接口,则流转发装置接收报文时实际使用的入接口与MatchFields中的入接口一致是该流表表项与该报文匹配的必要条件。
第一集合为第一表项中与第一报文匹配的字段组成的集合。因此,第一集合包含第一表项的MatchFields中所有的字段。
图3为本实施例提供的第一表项的一个结构示意图。第一表项还可以具有其他的结构。参见图3,第一表项由MatchFields、计数器以及指令组成。其中,MatchFields包括一个字段,即目的因特网协议(InternetProtocol,IP)地址。该字段的值为191.1.1.1。第一报文为MAC协议帧,具体包括MAC协议头、IP头以及净荷。其中,MAC协议头包括源MAC协议地址以及目的MAC协议地址。IP头中包括源IP地址以及目的IP地址。第一报文中的目的IP地址字段为与第一表项的MatchFields对应的字段。第一报文中的目的IP地址字段的值为191.1.1.1。第一集合由一个元素组成,该元素为目的IP地址,该元素的值为191.1.1.1。
103、该流转发装置根据该第一表项生成第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合。
第二表项具体实现时,与第一表项类似。具体请参见102中关于第一表项的描述。
第二表项是与第一报文匹配的流表表项。第二集合为第二表项中与第一报文匹配的字段组成的集合。第二表项中的MatchFields包括多个字段。第二集合由第二表项的MatchFields中的多个字段组成。
第一集合是该第二集合的子集,该第一集合不等于该第二集合。也就是说,第二集合中元素的个数比第一集合中元素的个数多。
根据第一表项生成第二表项具体实现时,可以是:
对第一报文进行解析,从第一报文的报文头中提取字段。上述字段可以是一个,也可以是多个。上述字段为第一表项中MatchFields包含的字段之外的字段。
复制第一表项的内容,并将复制的内容存储在待生成的第二表项对应的存储空间。复制的内容与第一表项是一致的。复制的内容中包括了MatchFields。在MatchFields中增加从第一报文的报文头中提取的字段,从而得到第二表项。第二表项的MatchFields中字段的数量比第一表项的MatchFields中字段的数量多。
根据第一表项生成第二表项,也可以通过其他方式实现。例如,先复制第一表项的内容,再将从第一报文中提取的字段增加到复制的内容。另外,第二表项中MatchFields之外的字段可以与第一表项中MatchFields之外的字段不一致。
图4为本实施例提供的第二表项的一个结构示意图。第二表项可以具有其他结构。参见图4,第二表项由MatchFields、计数器以及指令组成。其中,第二表项中的计数器与第一表项中的计数器相同;第二表项中的指令与第一表项中的指令相同。第二表项的MatchFields包括源MAC协议地址、目的MAC协议地址、源IP地址、目的IP地址以及端口。第一报文为MAC协议帧,具体包括MAC协议头、IP头以及净荷。其中,MAC协议头包括源MAC协议地址以及目的MAC协议地址。IP头中包括源IP地址以及目的IP地址。第一报文中的源IP地址、目的IP地址、源MAC协议地址、目的MAC协议地址以及端口为与第二表项的MatchFields对应的字段。第一集合由五个元素组成,具体为源IP地址、目的IP地址、源MAC协议地址、目的MAC协议地址以及端口。
可见,通过本实施例提供的方法,流转发装置可以根据与接收到的报文匹配第一表项生成第二表项。流转发装置不需要与控制面装置交互,减少了对流转发装置与控制面装置之间的控制通道的带宽的占用。
可选的,
该流转发装置根据该第一表项生成第二表项之后,还包括:
104、流转发装置根据该第二表项对该第一报文进行处理。
对第一报文进行处理可以是为第一报文确定进行转发的出接口、对第一报文进行封装、将第一报文上送至控制面装置或者丢弃第一报文。具体实现时,第二表项可以包括指令。具体请参见图4。流转发装置可以根据第二表项中的指令对第一报文进行处理。
可选的,
该流转发装置根据该第一表项生成第二表项之后,还包括:
105、流转发装置通过控制通道向控制面装置发送该第二表项,该控制面装置为控制与转发分离的网络架构中的控制面装置。
控制面装置具体实现时,可以是开放流控制器。
控制通道实现时,可以是开发流交换机与开放流控制器进行交互的安全通道。
流转发装置发送该第二表项具体实现时,可以是:
在流转发装置与控制面装置的通信协议中定义一种新的报文类型。该报文类型用于标识该报文中携带了流转发装置生成的精确匹配表项。控制面装置收到该报文时,可以根据报文头识别出该报文中报文中携带了流转发装置生成的精确匹配表项。流转发装置可以根据上述新的报文类型,将第二表项封装在报文中,并通过控制通道将该报文发送至控制面装置。
控制面装置接收到该第二表项后,可以保存该第二表项。
控制面装置可以根据保存的第二表项,获取流转发装置收到的与第二表项匹配的报文的数量。
具体实现时,可以是:
流转发装置可以通过计数器对流转发装置收到的与第二表项匹配的报文的数量进行统计,并对统计结果进行记录。参见图4,第二表项中可以包括计数器。控制面装置可以根据保存的第二表项,获取上述统计结果。具体实现时,可以是控制面装置将保存的第二表项中的MatchFields下发至流转发装置。流转发装置根据控制面装置发送的MatchFields,查找到第二表项。具体查找过程类似于流转发装置根据第一报文查找到第一表项,具体请参见102,此处不再赘述。流转发装置查找到第二表项后,将第二表项中记录统计结果上送至控制面装置。
可选的,
该流转发装置根据该第一表项生成第二表项之后,还包括:
106、该流转发装置接收第二报文;
107、该流转发装置判断该第二表项是否与该第二报文匹配,当该第二表项与该第二报文匹配时,该流转发装置根据该第二表项对该第二报文进行处理。
相对于第一表项,第二表项是精细匹配表项。如果流转发装置收到的报文与第二表项匹配,则该报文一定与第一表项匹配。
通过该方案,流转发装置可以根据第二表项对与第一表项匹配且与第二表项匹配的报文进行处理。
可选的,
108、当该第二表项没有与该第二报文匹配时,该流转发装置判断该第一表项是否与该第二报文匹配,当该第一表项与该第二报文匹配时,该流转发装置根据该第一表项对该第二报文进行处理。
通过该方案,流转发装置可以根据第一表项对与第一表项匹配但不与第二表项匹配的报文进行处理。
实施例三
本发明实施例提供了一种接收消息的方法,控制面装置可以获得流转发装置发送的精细匹配表项。流转发装置获得精细匹配表项的过程中,不需要与控制面装置交互。如图2所示,该方法包括:
201、控制面装置通过控制通道接收流转发装置发送的第一消息,该控制面装置为控制与转发分离的网络架构中的控制面装置,该第一消息包含第二表项,该第二表项通过如下途径得到:该流转发装置接收第一报文,该流转发装置为控制与转发分离的网络架构中的流转发装置;该流转发装置在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;该流转发装置根据该第一表项生成该第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合。
第二表项具体实现时,请参考实施例一中的101、102以及103,此处不再赘述。
控制面装置具体实现时,可以是开放流控制器
控制通道实现时,可以是开发流交换机与开放流控制器进行交互的安全通道。
流转发装置向控制面装置发送该第二表项。第二表项可以封装在PacketIn报文中。关于PacketIn报文,具体请参考《开放流交换机规范》版本1.0。
202、该控制面装置存储该第二表项。
控制面装置接收到该第二表项后,可以保存该第二表项。
控制面装置可以根据保存的第二表项,获取流转发装置收到的与第二表项匹配的报文的数量。
具体实现时,可以是:
流转发装置可以通过计数器对流转发装置收到的与第二表项匹配的报文的数量进行统计,并对统计结果进行记录。参见图4,第二表项中可以包括计数器。控制面装置可以根据保存的第二表项,获取上述统计结果。具体实现时,可以是控制面装置将保存的第二表项中的MatchFields下发至流转发装置。流转发装置根据控制面装置发送的MatchFields,查找到第二表项。具体查找过程类似于流转发装置根据第一报文查找到第一表项,具体请参见实施例一中的102,此处不再赘述。流转发装置查找到第二表项后,将第二表项中记录统计结果上送至控制面装置。
可见,通过本实施例提供的方法,控制面装置可以获得流转发装置生成的精细匹配表项。精细匹配表项是流转发装置根据与接收到的报文匹配第一表项生成的。在精细匹配表项生成过程中,流转发装置不需要与控制面装置交互。因此,本实施例提供的方法减少了对流转发装置与控制面装置之间的控制通道的带宽的占用。
实施例三
本发明实施例提供了一种流转发装置,该流转发装置为控制与转发分离的网络架构中的流转发装置。流转发装置获得精细匹配表项的过程中,不需要与控制面装置交互。本实施例提供的流转发装置可以通过实施例一提供的生成表项的方法实现。如图6所示,该装置包括:
第一接收器601、查找单元602以及表项生成单元603;
该第一接收器601用于接收第一报文;
该查找单元602用于在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;
该表项生成单元603用于根据该第一表项生成第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合。
第一接收器601具体实现时,请参见实施例一中的101。
查找单元602具体实现时,请参见实施例一中的102。
表项生成单元603具体实现时,请参见实施例一中的103。
可见,通过本实施例提供的流转发装置,可以根据与接收到的报文匹配第一表项生成第二表项。流转发装置不需要与控制面装置交互,减少了对流转发装置与控制面装置之间的控制通道的带宽的占用。
可选的,
该装置还包括处理单元,该处理单元用于根据该第二表项对该第一报文进行处理。
处理单元具体实现时,请参见实施例一中的104。
可选的,
该装置还包括发送器,该发送器用于通过控制通道向控制面装置发送该第二表项,该控制面装置为控制与转发分离的网络架构中的控制面装置。
发送器具体实现时请参见实施例一中的105。
可选的,
该第一接收器601还用于在该流转发装置根据该第一表项生成第二表项之后接收第二报文;
该查找单元602还用于判断该第二表项是否与该第二报文匹配;
该处理单元还用于当该第二表项与该第二报文匹配时,该流转发装置根据该第二表项对该第二报文进行处理。
第一接收器601具体实现时,请参见实施例一中的106。
查找单元602具体实现时,请参见实施例一中的107。
处理单元具体实现时,请参见实施例一中的107。
相对于第一表项,第二表项是精细匹配表项。如果流转发装置收到的报文与第二表项匹配,则该报文一定与第一表项匹配。
该方案可以实现根据第二表项对与第一表项匹配且也与第二表项匹配的报文进行处理。
可选的,
该查找单元602还用于当该第二表项没有与该第二报文匹配时,判断该第一表项是否与该第二报文匹配;
该处理单元还用于当该第一表项与该第二报文匹配时,根据该第一表项对该第二报文进行处理。
查找单元602具体实现时,请参见实施例一中的108。
处理单元具体实现时,请参见实施例一中的108。
该方案可以实现根据第一表项对与第一表项匹配但不与第二表项匹配的报文进行处理。
实施例四
本发明实施例提供了一种控制面装置,该控制面装置为控制与转发分离的网络架构中的控制面装置。控制面装置可以获得流转发装置发送的精细匹配表项。流转发装置获得精细匹配表项的过程中,不需要与控制面装置交互。本实施例提供的控制面装置可以通过实施例二提供的接收消息的方法实现。如图7所示,该装置包括:
第二接收器701以及保存单元702;
该第二接收器701用于通过控制通道接收流转发装置发送的第一消息,该第一消息包含第二表项,该第二表项通过如下途径得到:该流转发装置接收第一报文;该流转发装置在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;该流转发装置根据该第一表项生成该第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合;
该保存单元702用于保存该第二表项。
第二接收器701具体实现时,请参见实施例二中的201。
保存单元702具体实现时,请参见实施例二中的202。
可见,通过本实施例提供的技术方案,控制面装置可以获得流转发装置生成的精细匹配表项。精细匹配表项是流转发装置根据与接收到的报文匹配第一表项生成的。在精细匹配表项生成过程中,流转发装置不需要与控制面装置交互。因此,本实施例提供的技术方案减少了对流转发装置与控制面装置之间的控制通道的带宽的占用。
实施例五
本发明实施例提供了一种通信系统,包括流转发装置以及控制面装置。流转发装置获得精细匹配表项的过程中,不需要与控制面装置交互。如图8所示,该通信系统包括:
流转发装置801以及控制面装置802,流转发装置801为控制与转发分离的网络架构中的流转发装置,控制面装置802为控制与转发分离的网络架构中的控制面装置;
该流转发装置801包括第一接收器、查找单元、表项生成单元以及发送器;
该第一接收器用于接收第一报文;
该查找单元用于在流表中查找与该第一报文匹配的第一表项,该第一表项中与该第一报文匹配的字段组成的集合为第一集合;
该表项生成单元用于根据该第一表项生成第二表项,该第二表项中与该第一报文匹配的字段组成的集合为第二集合,该第一集合是该第二集合的子集,该第一集合不等于该第二集合;
该发送器用于通过控制通道向该控制面装置发送第一消息,该第一消息包含该第二表项;
该控制面装置802包括第二接收器以及保存单元;
该第二接收器用于通过控制通道接收该第一消息;
该保存单元用于将该第二表项保存到该控制面装置。
流转发装置801可以通过实施例一中提供的生成表项的方法实现。
具体来说,流转发装置801中的第一接收器可以通过实施例三中的601实现。流转发装置801中的查找单元可以通过实施例三中的602实现。流转发装置801中的表项生成单元可以通过实施例三中的603实现。
控制面装置802可以通过实施例二中提供的接收消息的方法实现。
具体来说,控制面装置802中的第二接收器可以通过实施例四中的701实现。控制面装置802中的保存单元可以通过实施例四中的702实现。
可见,通过本实施例提供的通信系统,控制面装置可以获得流转发装置生成的精细匹配表项。精细匹配表项是流转发装置根据与接收到的报文匹配第一表项生成的。在精细匹配表项生成过程中,流转发装置不需要与控制面装置交互。因此,本实施例提供的技术方案减少了对流转发装置与控制面装置之间的控制通道的带宽的占用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (17)
1.一种生成表项的方法,其特征在于,包括:
流转发装置接收第一报文,所述流转发装置为控制与转发分离的网络架构中的流转发装置;
所述流转发装置在流表中查找与所述第一报文匹配的第一表项,所述第一表项中与所述第一报文匹配的字段组成的集合为第一集合;
所述流转发装置根据所述第一表项生成第二表项,所述第二表项中与所述第一报文匹配的字段组成的集合为第二集合,所述第一集合是所述第二集合的子集,所述第一集合不等于所述第二集合。
2.根据权利要求1所述方法,其特征在于,
所述流转发装置根据所述第一表项生成第二表项之后,还包括:
所述流转发装置根据所述第二表项对所述第一报文进行处理。
3.根据权利要求1或2所述方法,其特征在于,
所述流转发装置根据所述第一表项生成第二表项之后,还包括:
所述流转发装置通过控制通道向控制面装置发送所述第二表项,所述控制面装置为控制与转发分离的网络架构中的控制面装置。
4.根据权利要求1至2中任一所述方法,其特征在于,
所述流转发装置根据所述第一表项生成第二表项之后,还包括:
所述流转发装置接收第二报文;
所述流转发装置判断所述第二表项是否与所述第二报文匹配,当所述第二表项与所述第二报文匹配时,所述流转发装置根据所述第二表项对所述第二报文进行处理。
5.根据权利要求4所述方法,其特征在于,
当所述第二表项没有与所述第二报文匹配时,所述流转发装置判断所述第一表项是否与所述第二报文匹配,当所述第一表项与所述第二报文匹配时,所述流转发装置根据所述第一表项对所述第二报文进行处理。
6.根据权利要求3所述方法,其特征在于,
所述流转发装置根据所述第一表项生成第二表项之后,还包括:
所述流转发装置接收第二报文;
所述流转发装置判断所述第二表项是否与所述第二报文匹配,当所述第二表项与所述第二报文匹配时,所述流转发装置根据所述第二表项对所述第二报文进行处理。
7.根据权利要求6所述方法,其特征在于,
当所述第二表项没有与所述第二报文匹配时,所述流转发装置判断所述第一表项是否与所述第二报文匹配,当所述第一表项与所述第二报文匹配时,所述流转发装置根据所述第一表项对所述第二报文进行处理。
8.一种接收消息的方法,其特征在于,包括:
控制面装置通过控制通道接收流转发装置发送的第一消息,所述控制面装置为控制与转发分离的网络架构中的控制面装置,所述第一消息包含第二表项,所述第二表项通过如下途径得到:所述流转发装置接收第一报文,所述流转发装置为控制与转发分离的网络架构中的流转发装置;所述流转发装置在流表中查找与所述第一报文匹配的第一表项,所述第一表项中与所述第一报文匹配的字段组成的集合为第一集合;所述流转发装置根据所述第一表项生成所述第二表项,所述第二表项中与所述第一报文匹配的字段组成的集合为第二集合,所述第一集合是所述第二集合的子集,所述第一集合不等于所述第二集合;
所述控制面装置存储所述第二表项。
9.一种流转发装置,其特征在于,所述流转发装置为控制与转发分离的网络架构中的流转发装置,所述流转发装置包括:
第一接收器、查找单元以及表项生成单元;
所述第一接收器用于接收第一报文;
所述查找单元用于在流表中查找与所述第一报文匹配的第一表项,所述第一表项中与所述第一报文匹配的字段组成的集合为第一集合;
所述表项生成单元用于根据所述第一表项生成第二表项,所述第二表项中与所述第一报文匹配的字段组成的集合为第二集合,所述第一集合是所述第二集合的子集,所述第一集合不等于所述第二集合。
10.根据权利要求9所述装置,其特征在于,
所述装置还包括处理单元,所述处理单元用于根据所述第二表项对所述第一报文进行处理。
11.根据权利要求9或10所述装置,其特征在于,
所述装置还包括发送器,所述发送器用于通过控制通道向控制面装置发送所述第二表项,所述控制面装置为控制与转发分离的网络架构中的控制面装置。
12.根据权利要求10所述装置,其特征在于,
所述第一接收器还用于在所述流转发装置根据所述第一表项生成第二表项之后接收第二报文;
所述查找单元还用于判断所述第二表项是否与所述第二报文匹配;
所述处理单元还用于当所述第二表项与所述第二报文匹配时,所述流转发装置根据所述第二表项对所述第二报文进行处理。
13.根据权利要求12所述装置,其特征在于,
所述查找单元还用于当所述第二表项没有与所述第二报文匹配时,判断所述第一表项是否与所述第二报文匹配;
所述处理单元还用于当所述第一表项与所述第二报文匹配时,根据所述第一表项对所述第二报文进行处理。
14.根据权利要求9所述装置,其特征在于,
所述装置还包括处理单元,所述处理单元用于根据所述第二表项对所述第一报文进行处理;所述装置还包括发送器,所述发送器用于通过控制通道向控制面装置发送所述第二表项,所述控制面装置为控制与转发分离的网络架构中的控制面装置;
所述第一接收器还用于在所述流转发装置根据所述第一表项生成第二表项之后接收第二报文;
所述查找单元还用于判断所述第二表项是否与所述第二报文匹配;
所述处理单元还用于当所述第二表项与所述第二报文匹配时,所述流转发装置根据所述第二表项对所述第二报文进行处理。
15.根据权利要求14所述装置,其特征在于,
所述查找单元还用于当所述第二表项没有与所述第二报文匹配时,判断所述第一表项是否与所述第二报文匹配;
所述处理单元还用于当所述第一表项与所述第二报文匹配时,根据所述第一表项对所述第二报文进行处理。
16.一种控制面装置,其特征在于,所述控制面装置为控制与转发分离的网络架构中的控制面装置,所述控制面装置包括:
第二接收器以及保存单元;
所述第二接收器用于通过控制通道接收流转发装置发送的第一消息,所述第一消息包含第二表项,所述第二表项通过如下途径得到:所述流转发装置接收第一报文,所述流转发装置为控制与转发分离的网络架构中的流转发装置;所述流转发装置在流表中查找与所述第一报文匹配的第一表项,所述第一表项中与所述第一报文匹配的字段组成的集合为第一集合;所述流转发装置根据所述第一表项生成所述第二表项,所述第二表项中与所述第一报文匹配的字段组成的集合为第二集合,所述第一集合是所述第二集合的子集,所述第一集合不等于所述第二集合;
所述保存单元用于保存所述第二表项。
17.一种通信系统,其特征在于,包括:
流转发装置以及控制面装置,所述流转发装置为控制与转发分离的网络架构中的流转发装置,所述控制面装置为控制与转发分离的网络架构中的控制面装置;
所述流转发装置包括第一接收器、查找单元、表项生成单元以及发送器;
所述第一接收器用于接收第一报文;
所述查找单元用于在流表中查找与所述第一报文匹配的第一表项,所述第一表项中与所述第一报文匹配的字段组成的集合为第一集合;
所述表项生成单元用于根据所述第一表项生成第二表项,所述第二表项中与所述第一报文匹配的字段组成的集合为第二集合,所述第一集合是所述第二集合的子集,所述第一集合不等于所述第二集合;
所述发送器用于通过控制通道向所述控制面装置发送第一消息,所述第一消息包含所述第二表项;
所述控制面装置包括第二接收器以及保存单元;
所述第二接收器用于通过控制通道接收所述第一消息;
所述保存单元用于将所述第二表项保存到所述控制面装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110412195.7A CN103166866B (zh) | 2011-12-12 | 2011-12-12 | 生成表项的方法、接收报文的方法及相应装置和系统 |
EP12857699.8A EP2773073B1 (en) | 2011-12-12 | 2012-10-22 | Entry generation method, message receiving method, and corresponding device and system |
JP2014546291A JP5867942B2 (ja) | 2011-12-12 | 2012-10-22 | エントリを生成するための方法、パケットを受信するための方法、および、対応する装置とシステム |
PCT/CN2012/083268 WO2013086897A1 (zh) | 2011-12-12 | 2012-10-22 | 生成表项的方法、接收报文的方法及相应装置和系统 |
US14/300,532 US20140286342A1 (en) | 2011-12-12 | 2014-06-10 | Method for generating entry, method for receiving packet, and corresponding apparatus and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110412195.7A CN103166866B (zh) | 2011-12-12 | 2011-12-12 | 生成表项的方法、接收报文的方法及相应装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103166866A CN103166866A (zh) | 2013-06-19 |
CN103166866B true CN103166866B (zh) | 2016-08-03 |
Family
ID=48589616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110412195.7A Active CN103166866B (zh) | 2011-12-12 | 2011-12-12 | 生成表项的方法、接收报文的方法及相应装置和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20140286342A1 (zh) |
EP (1) | EP2773073B1 (zh) |
JP (1) | JP5867942B2 (zh) |
CN (1) | CN103166866B (zh) |
WO (1) | WO2013086897A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9848068B2 (en) * | 2013-04-16 | 2017-12-19 | Telefonaktiebolaget L M Ericsson (Publ) | Method for providing a parser to extract information from fields of a data packet header |
CN104378298A (zh) * | 2013-08-16 | 2015-02-25 | 中兴通讯股份有限公司 | 一种流表条目生成方法及相应设备 |
CN104426768B (zh) * | 2013-09-05 | 2018-06-15 | 华为技术有限公司 | 一种数据报文转发方法及装置 |
CN105099916B (zh) * | 2014-04-28 | 2018-08-03 | 国际商业机器公司 | 开放流路由交换设备及其对数据报文的处理方法 |
CN105453497B (zh) * | 2014-08-06 | 2019-03-08 | 华为技术有限公司 | 一种软件定义网络sdn中处理数据包的方法、装置及系统 |
EP3166265B1 (en) | 2014-08-06 | 2019-10-02 | Huawei Technologies Co., Ltd. | Method, apparatus and system for processing data packet in software defined network (sdn) |
CN105515965B (zh) * | 2014-09-25 | 2019-06-28 | 杭州华为数字技术有限公司 | 一种传输数据的方法及传输设备 |
US10129162B1 (en) * | 2014-10-09 | 2018-11-13 | Cavium, Llc | Systems and methods for defining storage |
CN104378299B (zh) * | 2014-11-20 | 2017-10-17 | 新华三技术有限公司 | 流表项处理方法以及装置 |
EP3619895A1 (en) * | 2017-05-04 | 2020-03-11 | Telefonaktiebolaget LM Ericsson (publ) | Efficient troubleshooting in openflow switches |
US11522797B2 (en) | 2017-08-30 | 2022-12-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for tracing packets in software defined networks |
WO2019239190A1 (en) | 2018-06-13 | 2019-12-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch |
CN109743340B (zh) | 2019-04-04 | 2019-07-30 | 华为技术有限公司 | 报文处理的方法和网络装置 |
US11089141B2 (en) * | 2020-01-08 | 2021-08-10 | Bank Of America Corporation | Method and system for data prioritization communication |
WO2021149233A1 (ja) * | 2020-01-23 | 2021-07-29 | 日本電信電話株式会社 | 分離システム、分離方法および分離プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997758A (zh) * | 2009-08-11 | 2011-03-30 | 中兴通讯股份有限公司 | 转发装置及方法 |
WO2011043416A1 (ja) * | 2009-10-07 | 2011-04-14 | 日本電気株式会社 | 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム |
CN102255909A (zh) * | 2011-07-11 | 2011-11-23 | 北京星网锐捷网络技术有限公司 | 监控会话流的方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454901C (zh) * | 2006-02-17 | 2009-01-21 | 华为技术有限公司 | 一种arp报文处理方法 |
JP4999919B2 (ja) * | 2007-02-27 | 2012-08-15 | パナソニック株式会社 | オーバレイネットワークノード |
WO2010103909A1 (ja) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | OpenFlow通信システムおよびOpenFlow通信方法 |
EP2493128A1 (en) * | 2009-10-19 | 2012-08-29 | Nec Corporation | Communication system, flow control apparatus, flow table updating method and program |
US8503307B2 (en) * | 2010-05-10 | 2013-08-06 | Hewlett-Packard Development Company, L.P. | Distributing decision making in a centralized flow routing system |
CN101977177B (zh) * | 2010-07-30 | 2013-08-14 | 北京星网锐捷网络技术有限公司 | 一种流表表项的创建方法、查询方法及装置 |
US8762501B2 (en) * | 2011-08-29 | 2014-06-24 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G packet core in a cloud computer with openflow data and control planes |
-
2011
- 2011-12-12 CN CN201110412195.7A patent/CN103166866B/zh active Active
-
2012
- 2012-10-22 WO PCT/CN2012/083268 patent/WO2013086897A1/zh active Application Filing
- 2012-10-22 JP JP2014546291A patent/JP5867942B2/ja active Active
- 2012-10-22 EP EP12857699.8A patent/EP2773073B1/en not_active Not-in-force
-
2014
- 2014-06-10 US US14/300,532 patent/US20140286342A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997758A (zh) * | 2009-08-11 | 2011-03-30 | 中兴通讯股份有限公司 | 转发装置及方法 |
WO2011043416A1 (ja) * | 2009-10-07 | 2011-04-14 | 日本電気株式会社 | 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム |
CN102255909A (zh) * | 2011-07-11 | 2011-11-23 | 北京星网锐捷网络技术有限公司 | 监控会话流的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2773073A1 (en) | 2014-09-03 |
US20140286342A1 (en) | 2014-09-25 |
JP5867942B2 (ja) | 2016-02-24 |
CN103166866A (zh) | 2013-06-19 |
EP2773073B1 (en) | 2017-04-26 |
WO2013086897A1 (zh) | 2013-06-20 |
EP2773073A4 (en) | 2014-11-26 |
JP2015500607A (ja) | 2015-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103166866B (zh) | 生成表项的方法、接收报文的方法及相应装置和系统 | |
US10243862B2 (en) | Systems and methods for sampling packets in a network flow | |
US9106520B2 (en) | Method for time aware inline remote mirroring | |
CN109361606B (zh) | 一种报文处理系统及网络设备 | |
US8570862B1 (en) | Mapping a port on a packet switch appliance | |
US10084706B2 (en) | Method and device for processing service function chaining | |
US9654303B2 (en) | Method and apparatus for emulating network devices | |
US11588717B2 (en) | Troubleshooting multi-layered networks using datapath analysis | |
US20180205629A1 (en) | Data packet sending method and apparatus in ipv6 network | |
CN104579894B (zh) | 分布式虚拟交换机系统的IGMP Snooping实现方法及装置 | |
CN105337855B (zh) | 一种处理修改后的报文方法和装置 | |
Othman et al. | Implementation and performance analysis of SDN firewall on POX controller | |
CN103391296A (zh) | 一种控制器、转发器及通道建立方法和系统 | |
WO2019127134A1 (zh) | 一种数据传送的方法和虚拟交换机 | |
WO2016106511A1 (zh) | Sdn及其配置方法、基于sdn的数据传输方法及网络控制器 | |
CN105141538A (zh) | 一种跨网络堆叠系统及其对报文的处理方法 | |
CN108259453A (zh) | 一种报文转发方法及装置 | |
Casey et al. | SDN shim: Controlling legacy devices | |
US20190394056A1 (en) | Multicast service processing method and access device | |
US10063405B2 (en) | Real time transmission monitoring and anomaly detection | |
CN107547419A (zh) | 一种扩展网桥系统以及报文转发方法及装置 | |
WO2016017737A1 (ja) | スイッチ、オーバーレイネットワークシステム、通信方法及びプログラム | |
CN107231309B (zh) | 获取sdn全网视图的方法、控制器及目的交换节点 | |
CN102984167B (zh) | 一种基于Socks5协议的通用防火墙穿越方法 | |
Li et al. | SDN-based switch implementation on network processors |
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 |