CN103548323B - 流识别的方法、设备和系统 - Google Patents
流识别的方法、设备和系统 Download PDFInfo
- Publication number
- CN103548323B CN103548323B CN201280000091.8A CN201280000091A CN103548323B CN 103548323 B CN103548323 B CN 103548323B CN 201280000091 A CN201280000091 A CN 201280000091A CN 103548323 B CN103548323 B CN 103548323B
- Authority
- CN
- China
- Prior art keywords
- tunnel encapsulation
- flow table
- table item
- enhancement mode
- tunnel
- 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
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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
-
- 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/745—Address table lookup; Address filtering
-
- 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/20—Traffic policing
-
- 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
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流识别的方法、设备和系统。在实现流识别方法的系统中,交换设备获取与隧道封装匹配的增强型流表项,与该隧道封装匹配的增强型流表项包括该隧道封装的标识和与该隧道封装匹配的流表域;根据该隧道封装匹配的增强型流表项,交换设备识别通过该隧道封装处理的数据报文。应用本发明公开的技术方案,可以识别数据报文中经过隧道封装处理的报文内容。
Description
技术领域
本发明涉及通信领域,尤其涉及流识别的技术。
背景技术
开放流(英文为OpenFlow)协议将原来完全由交换机/路由器控制的报文转发过程转化为由支持OpenFlow协议的交换设备(下文统称交换设备)和使用OpenFlow协议的控制器(下文统称控制器)来共同完成,从而实现了数据转发和路由控制的分离。控制器通过OpenFlow协议来控制交换设备中的流表,达到控制数据转发的目的。
在数据报文经过隧道封装技术处理后,在现有OpenFlow协议和流表定义中,交换设备和控制器都无法对数据报文中的隧道封装后的内容信息进行识别,从而无法对这种经过隧道封装处理的数据报文执行转发或者其它操作。
发明内容
本发明的实施例提供了流识别的方法、设备和系统。
一方面,提供了一种流识别的方法。该方法包括:
交换设备获取与隧道封装匹配的增强型流表项,该与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域;
根据该与隧道封装匹配的增强型流表项,交换设备识别经过隧道封装处理的数据报文。
应用上述技术方案,可以使得交换设备在数据报文经过隧道封装处理后,识别出数据报文中隧道封装的报文内容。
另一方面,提供了一种流识别的方法。该方法包括:
控制器接收经过隧道封装处理的数据报文;
该控制器根据该经过隧道封装处理的数据报文分配与该隧道封装匹配的增强型流表项,该与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域;
该控制器向交换设备发送与隧道封装匹配的增强型流表项。
应用上述技术方案,可以使得交换设备在数据报文经过隧道封装处理后,识别出数据报文中隧道封装的报文内容。
另一方面,提供一种交换设备。该交换设备包括:
获取单元,该获取单元用于获取与隧道封装匹配的增强型流表项,该与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域;
识别单元,该识别单元用于根据该与隧道封装匹配的增强型流表项,识别经过该隧道封装处理的数据报文。
应用上述技术方案,可以使得交换设备在数据报文经过隧道封装处理后,识别出数据报文中隧道封装的报文内容。
另一方面,提供一种控制器。该控制器包括:
接收器,该接收器用于接收由交换设备发送的经过隧道封装处理的数据报文;
处理器,该处理器用于根据该经过隧道封装处理的数据报文分配与隧道封装匹配的增强型流表项,该与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域;
发射器,该发射器用于向该交换设备发送该与隧道封装匹配的增强型流表项。
应用上述控制器,可以使得交换设备在数据报文经过隧道封装处理后,识别出数据报文中隧道封装的报文内容。
另一方面,提供一种实现流识别的系统。该系统包括:上述交换设备和上述控制器。该系统执行本发明实施例提供的流识别的方法,可以实现经过隧道封装处理的数据报文的识别。
另一方面,提供一种计算机程序产品。该计算机程序产品包括存储介质,该存储介质中存储上述流识别方法的代码。应用该计算机程序产品,可以实现流识别的方法,从而实现对经过隧道封装处理的数据报文的识别。
附图说明
图1(1)为本发明实施例一提供的一种流识别的方法流程示意图;
图1(2)至图1(3)为本发明实施例一提供的增强型流表项的实现方式示意图;
图2为本发明实施例二提供的一种流识别的方法流程示意图;
图3(1)至图3(2)为本发明实施例三提供的一种流识别的方法流程示意图;
图4为为本发明实施例四提供的一种流识别的方法流程示意图
图5(1)至图5(2)为本发明实施例四提供的交换设备的结构示意图;
图6为本发明实施例五提供的控制器的结构示意图。
具体实施方式
支持OpenFlow协议的交换设备至少包括三个部分:(1)流表以及包括在流表中每一个流表项定义的操作,用来指示交换设备如何处理接收到的数据报文,例如转发数据报文到端口、转发数据报文到控制器或丢弃数据报文等;(2)安全通道,用来连接远端控制进程(或称为控制器)和交换设备,并允许命令和数据报文在控制器和交换设备中传输;(3)OpenFlow协议,为控制器和交换设备提供一个开放和标准的通信方式。
当交换设备接收到数据报文时,交换设备会对接收到的数据报文与流表进行比较。如果该交换设备获取了与数据报文匹配的流表项,执行流表项中定义的操作(例如将数据报文转发到一个特定的端口)。如果该交换设备没有获取到匹配的流表项,该交换设备会将数据报文转发到控制器,由控制器决定如何处理这些没有匹配流表项的数据报文。在数据报文经过隧道封装技术处理后,在现有OpenFlow协议和流表定义中,交换设备和控制器都无法对经过隧道封装处理的数据报文中的隧道封装内容进行识别。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,如下描述的具体实施例仅是本发明的一部分实施例,对于本领域的技术人员而言,本发明实施例还可以不拘泥于这些特定的细节的其它实施例来实施。
本发明的实施例一,如图1(1)所示,提供一种流识别的方法。该方法包括以下内容。
S11,交换设备获取与隧道封装匹配的增强型流表项。该与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域。
S12,根据该与隧道封装匹配的增强型流表项,上述交换设备识别该经过隧道封装处理的数据报文。
隧道封装是指将其它协议的数据包重新封装在另一种协议的数据包中。隧道封装可以包括:因特网协议(英文为Internet Protocol,简称IP)隧道封装、介质访问控制(英文为Medium Access Control,简称MAC)隧道封装、虚拟局域网(英文为Virtual Local AreaNetwork,简称VLAN)隧道封装、多协议标签交换(英文为Multi-Protocol LabelSwitching,简称MPLS)隧道封装、传输控制协议(英文为Transmission Control Protocol,简称TCP)隧道封装、用户数据包协议(英文为User Datagram Protocol,简称UDP)隧道封装、流控制传输协议(英文为Stream Control TransmissionProtocol,简称SCTP)隧道封装或因特网控制报文协议(英文为InternetControl Message Protocol,简称ICMP)隧道封装等。
本发明实施例中的与隧道封装匹配是指,交换设备能够根据上述增强型流表项(具体是增强型流表项中的流表域)与通过隧道封装处理的数据报文的按字段进行比对,不仅可以识别出上述数据报文中未采用隧道封装处理的数据报文,也可以识别出上述数据报文中采用隧道封装技术处理后的报文内容,并执行增强型流表项中定义的操作(例如,将数据报文转发到一个指定的端口)。
本发明实施例中隧道封装的标识,用于指示交换设备是否识别数据报文中通过隧道封装处理的报文内容。该隧道封装的标识,其可以是符号、数字或字段等。例如,可以定义指定标识:当隧道封装的标识为“1”时,交换设备需要识别数据报文中经过隧道封装处理的报文内容;当隧道封装的标识为“0”时,交换设备不需要识别数据报文中经过隧道封装的报文内容。还例如,可以定义:隧道封装的标识为“1”,指示交换设备识别数据报文中经过IP隧道封装的报文内容,相应地,与该隧道封装匹配的流表域是与IP隧道封装对应的;隧道封装的标识为“2”,指示交换设备识别数据报文中通过MAC隧道封装的报文内容,相应地,与该隧道封装匹配的流表域是与MAC隧道封装对应的;隧道封装的标识为“3”,指示交换设备识别数据报文中通过TCP隧道封装的报文内容,相应地,与该隧道封装匹配的流表域是与TCP隧道封装对应的;隧道封装的标识为“0”,指示交换设备不需要识别数据报文中经过隧道封装的报文内容或者识别没有通过隧道封装的报文内容。这里的指定标识为“1”、“2”或“3”都可叫做与该隧道封装匹配的增强型流表项置位了,隧道封装的标识为“0”,可叫做隧道封装的标识未置位。隧道封装的标识置位和标识未置位可以根据需要进行设置,本发明不做限制。
作为一个示例,假设交换设备接收到的数据报文中含有经过IP隧道封装处理的报文内容,交换设备就需要通过一个与这个IP隧道封装匹配的流表项,也就是本发明实施例所述的增强型流表项,这个增强型流表项中包含IP隧道封装的标识和与该IP隧道封装匹配的流表域。这个IP隧道封装的标识置位时,交换设备通过与该IP隧道封装匹配的流表域和数据报文中通过IP隧道封装处理的报文内容进行比对,并执行与上述IP隧道封装匹配的增强型流表项中定义的操作,从而完成对通过该IP隧道封装的数据报文的识别。
流表由多个流表项组成,每个流表项是一个转发规则。流表项又由多个流表域构成,每个流表域分别按字段对应不同的数据报文的内容。流经交换设备的数据报文通过与流表中对应的流表项匹配(或者说与流表项中的流表域分别按字段对应),交换设备可获得转发的目的端口或者执行其它已经定义的操作。由于交换设备接收到的数据报文中包括了经过隧道封装处理的报文内容,本发明实施例中所述的增强型流表项在上述流表项(下文统称为与非隧道封装匹配的流表项)中还包括了隧道封装的标识和与该隧道封装匹配的流表域。该隧道封装的标识通过特定的数据、符号或字段来表示是否需要对经过该隧道封装处理的数据报文中的隧道封装内容进行识别。以IP隧道封装为例,增强型流表项可以但不限于以下两种实现方式:
(1)作为一个示例,如图1(2)所示,增强型流表项是在与非隧道封装匹配的流表项增加IP隧道封装的标识和与IP隧道封装匹配的流表域。例如,IP隧道封装的标识,可以记为“Tunnel inspected”;与IP隧道封装匹配的流表域可以包括隧道封装IP源地址(Tunnel IPsource)、隧道封装IP目的地址(Tunnel IP dst)、隧道封装IP协议(Tunnel IP proto)和隧道封装IP服务类型(Tunnel IP Tos)等。当IP隧道封装的标识置位,也就是图1(2)中的“Tunnel inspected”为指定标识时,表示交换设备需要使用与该IP隧道封装匹配的流表域对数据报文中经过该IP隧道封装处理的IP报文内容进行识别。当IP隧道封装的标识未置位时,表示该交换设备不需要使用与该IP隧道封装匹配的流表域,交换设备可以使用增强型流表项中与非隧道封装匹配的流表项中原有的IP流表域识别上述数据报文的内容。
(2)作为另外一个示例,如图1(3)所示,增强型流表项在与非隧道封装匹配的流表项中增加IP隧道封装的标识并复用与非隧道封装匹配的流表项中原有的IP流表域。当IP隧道封装的标识置位时,表示与非隧道封装匹配的流表项中原有的IP流表域就是与IP隧道封装匹配的流表域,交换设备根据这个IP流表域对通过IP隧道封装处理的数据报文的IP报文内容进行识别。当IP隧道封装的标识未置位时,交换设备使用与非隧道封装匹配的流表项中原有的IP流表域对数据报文的IP报文内容进行识别。
隧道封装的标识是什么,以及是否置位和置位的标识设置,可以由控制器根据处理策略来决定。
本发明实施例一中所述的概念和过程适用于下文,除特别说明外,将不再赘述。
由于本发明实施例中交换设备接收到的数据报文中包括经过隧道封装处理的报文内容,与非隧道封装匹配的流表项中不包括能够识别经过该隧道封装处理的报文内容的字段,而本发明实施例在与非隧道封装匹配的流表项的基础上增加了可以用于识别该隧道处理的报文内容的与隧道封装匹配的流表域,流表域中有对应字段可以识别隧道封装处理的报文内容。针对OpenFlow协议和流表项域无法支持业务流数据报文中包含隧道封装内容识别的问题,本发明实施例提出了一种流识别方法,可以使得支持OpenFlow协议的交换设备能够识别业务流数据报文中的隧道封装内容,从而增强OpenFlow控制协议的适用范围,执行更精确的控制方式。本发明实施例的特点是对OpenFlow控制协议和流表域进行了增强,支持OpenFlow的交换设备在匹配报文的时候可以匹配到隧道封装内容的信息,完成对经过隧道封装处理的数据报文中隧道封装内容的识别。
本发明的实施例二,如图2所示,提供一种流识别的方法。该方法是在本发明的实施例一提供的方法的具体细化。该方法给出了交换设备获取与隧道封装匹配的增强型流表项的具体一个示例。该示例包括以下内容。
S21,控制器根据预配置策略分配与隧道封装匹配的增强型流表项。
作为一个示例,该预配置策略可以是:控制器和交换设备组成的系统中,对于交换设备接收到的大多数的数据报文包括经过IP隧道封装处理的报文内容的情况,控制器可以将与IP隧道封装匹配的增强型流表项预先分配给交换设备进行保存,这样可以使得交换设备不用每次在接收到数据报文后,都通过控制器重新获取与上述隧道封装匹配的增强型流表项,从而节省了系统资源。
S22,控制器向交换设备发送OFPC_CREATE(流表项建立)消息,该OFPC_CREATE消息中携带控制器分配的与隧道封装匹配的增强型流表项。
S23,交换设备接收到控制器分配的与隧道封装匹配的增强型流表项后,保存该增强型流表项。
S24,在交换设备接收到数据报文时,使用安装后的增强型流表项对数据报文的内容进行识别。
由于交换设备根据控制器预先分配的与隧道封装匹配的增强型流表项对接收到的数据报文进行识别,在交换设备接收到数据报文之前,该交换设备就保存了能够与经过隧道封装处理的数据报文匹配的增强型流表项,可见,本发明实施例二适用于特定的交换设备接收特定的数据报文的情况。应用本发明实施例二提供的技术方案,在特定的交换设备接收特定的数据报文的情况下,可以简化交换设备获取与隧道封装匹配的增强型流表项的流程,从而识别出经过隧道封装处理的数据报文中隧道封装内容。
本发明的实施例三,如图3(1)所示,提供一种流识别的方法。该方法是在本发明的实施例一和实施例二提供的方法的具体细化。该方法给出了交换设备获取与隧道封装匹配的增强型流表项的具体一个示例。该示例包括以下内容。
S31,交换设备上保存有增强型流表项,其保存过程可以是本发明实施例二中的S21,S22和S23。该交换设备将安装于交换设备上的增强型流表项与经过隧道封装处理的数据报文按字段进行比对,判断是否匹配。可选地,如果上述交换设备没有安装上述增强型流表项,则转入步骤S33。
如果交换设备上保存有增强型流表项,则保存于交换设备上的该增强型流表项可以是通过控制器根据预配置策略而分配的。控制器可以将该增强型流表项携带在OFPC_CREATE(流表项建立)消息中,发送给交换设备。
S32,若匹配,交换设备获取与经过隧道封装处理的数据报文匹配的增强型流表项。在匹配的情况下,与经过该隧道封装处理的数据报文匹配的增强型流表项就是与隧道封装匹配的增强型流表项。
S33,若不匹配,交换设备通过控制器获取与隧道封装匹配的增强型流表项。
作为一种实施方式,如图3(2)所示,步骤S33中交换设备通过控制器获取与隧道封装匹配的增强型流表项,具体包括:
S33-1,交换设备向控制器发送经过隧道封装处理的数据报文,经过该隧道封装处理的数据报文携带在OFPT_PACKET_IN(流表项报文输入)消息中。
S33-2,控制器根据接收到的经过该隧道封装处理的数据报文,分配与该隧道封装匹配的增强型流表项。
S33-3,控制器将其分配的与该隧道封装匹配的增强型流表项携带在OFPC_CREATE(流表项建立)消息或OFPC_MODIFY(流表项修改)消息中,向上述交换设备发送。
S33-4,交换设备接收由控制器发送的与该隧道封装匹配的增强型流表项。
应用本发明实施例三提供的技术方案,不限制于特定的交换设备,交换设备可以获取与隧道封装匹配的增强型流表项,并根据该增强型流表项中的隧道封装的标识和与隧道封装匹配的流表域,匹配到数据报文中隧道封装的报文内容中,从而识别出数据报文中经过隧道封装处理的内容。本发明实施例三提供的方案增强了OpenFlow控制协议的适用范围,执行更精确的控制方式。本发明实施例的特点是对OpenFlow控制协议和流表域进行了增强,支持OpenFlow的交换设备在匹配报文的时候可以匹配到隧道封装内容的信息,完成对经过隧道封装处理的数据报文中隧道封装内容的识别。
本发明的实施例四,如图4所示,提供一种流识别的方法。该方法是对本发明实施例一至实施例三任一个所述的方法中在获取了与隧道封装匹配的增强型流表项后,如何根据与该隧道封装匹配的增强型流表项,交换设备识别经过该隧道封装处理的数据报文的具体细化。作为一种具体实施方式,包括以下内容。
S41,交换设备根据隧道封装的标识判断与该隧道封装匹配的增强型流表项是否置位。该隧道封装的标识通过特定的数据、符号或字段来表示是否需要对经过该隧道封装处理的数据报文中的该隧道封装内容进行识别。
如果置位,表示交换设备需要对经过隧道封装处理的数据报文中的该隧道封装内容进行识别,执行步骤S42;若未置位,表示交换设备不需要对经过隧道封装处理的数据报文中的该隧道封装内容进行识别,交换设备可以使用与非隧道封装匹配的流表项部分对数据报文进行识别。
S42,交换设备根据隧道封装的标识或与隧道封装匹配的流表域判断上述隧道封装的类型,并将经过该隧道封装处理的数据报文和与隧道封装匹配的增强型流表项进行比对,并识别出数据报文的内容作为一个示例,假设上述隧道封装的类型为MAC隧道封装,交换设备将与MAC隧道封装匹配的流表域与数据报文中经过MAC隧道封装的报文内容按字段进行比对,数据报文中没有经过MAC隧道封装的报文内容部分则与上述增强型流表项中的非隧道封装的流表项部分进行比对。
S43,交换设备执行增强型流表项中定义的操作。例如,将数据报文转发到一个指定的端口,或者将数据报文丢弃等。
本发明的实施例四中,上述交换设备如何根据上述隧道封装的标识判断上述交换设备是否需要对上述报文内容中的经过隧道封装的报文内容进行识别,可参见本发明的实施例一。
应用本发明实施例四提供的技术方案,交换设备可以获取与隧道封装匹配的增强型流表项,并根据该增强型流表项中的隧道封装的标识和与隧道封装匹配的流表域,匹配到数据报文中隧道封装的报文内容中,从而识别出数据报文中经过隧道封装处理的内容,并执行流表项中规定的操作。本发明实施例四增强了OpenFlow控制协议的适用范围,执行更精确的控制方式。本发明实施例四的特点是对OpenFlow控制协议和流表域进行了增强,支持OpenFlow的交换设备在匹配报文的时候可以匹配到隧道封装内容的信息,完成对经过隧道封装处理的数据报文中隧道封装内容的识别。
本发明的实施例五,如图5(1)所示,提供一种实现流识别的交换设备,该交换设备50包括:
获取单元501,该获取单元501用于获取与隧道封装匹配的增强型流表项,与该隧道封装匹配的增强型流表项包括该隧道封装的标识和与该隧道封装匹配的流表域。
识别单元502,该识别单元502用于根据与该隧道封装匹配的增强型流表项,识别经过该隧道封装处理的数据报文。作为一种实施方式,识别单元502进一步用于根据隧道封装的标识判断与该隧道封装匹配的增强型流表项是否置位。如果置位,表示该识别单元502需要对经过隧道封装处理的数据报文中的隧道封装内容进行识别,并识别单元502还用于根据隧道封装的标识或与隧道封装匹配的流表域判断出隧道封装的类型,将经过该隧道封装处理的数据报文和与该隧道封装匹配的增强型流表项进行比对,数据报文中没有经过隧道封装处理的报文内容部分则与该增强型流表项中的与非隧道封装的流表项部分进行比对,从而完成对数据报文的识别过程,并执行该增强型流表项定义的操作。若未置位,表示识别单元502不需要对经过隧道封装处理的数据报文中的该隧道封装内容进行识别,识别单元502可以将与非隧道封装匹配的流表项部分对数据报文进行比对,识别出该数据报文的内容,并执行该增强型流表项定义的操作。
作为一种实施方式,如图5(2)所示,获取单元501进一步包括:
第一处理单元501-1,该第一处理单元用于判断交换设备50是否有了增强型流表项;如果没有,该第一处理单元501-1还用于通过控制器获取与该隧道封装匹配的增强型流表项;如果保存有,该第一处理单元501-1还用于判断安装于该交换设备上的增强型流表项与经过该隧道封装处理的数据报文是否匹配,若匹配,该第一处理单元501-1还用于获取与经过该隧道封装处理的数据报文匹配的增强型流表项,若不匹配,该第一处理单元501-1还用于通过控制器获取与该隧道封装匹配的增强型流表项。
第一发射单元501-2,第一发射单元501-2用于当第一处理单元501-1判断安装于该交换设备上的增强型流表项与经过所述隧道封装处理的数据报文不匹配时,向所述控制器发送经过所述隧道封装处理的数据报文。可选地,经过该隧道封装处理的数据报文携带在OFPT_PACKET_IN(流表项报文输入)消息中。
第一接收单元501-3,用于接收由该控制器发送的与该隧道封装匹配的增强型流表项,与该隧道封装匹配的增强型流表项是由该控制器根据预配置策略或者接收到的经过所述隧道封装处理的数据报文而分配的。可选地,与隧道封装匹配的增强型流表项携带在OFPC_CREATE(流表项建立)消息或OFPC_MODIFY(流表项修改)消息中。
作为另外一种实施方式,与图5(2)类似,获取单元501包括:
第二处理单元,用于判断交换设备是否有增强型流表项。
第二发射单元,用于当该第二处理单元判断交换设备上没有增强型流表项,向控制器发送经过隧道封装处理的数据报文。
第二接收单元,用于接收由控制器发送的与隧道封装匹配的增强型流表项,该与隧道封装匹配的增强型流表项是由控制器接收到的经过隧道封装处理的数据报文而分配的。可选地,与隧道封装匹配的增强型流表项携带在OFPC_CREATE(流表项建立)消息或OFPC_MODIFY(流表项修改)消息中。
本发明实施例五中获取单元501的两种实施方式中,第一处理单元和第二处理单元、第一发射单元和第二发射单元、第一接收单元与第二接收单元,也可分别集成在一起,从而构成完成上述功能的实体,例如,第一处理单元和第二处理单元组成处理单元,该处理单元既可以完成第一处理单元的功能,也可以完成第二处理单元的功能。
本发明实施例五提供的交换设备,可以执行本发明实施例一至实施例四任一个实施例的所述的方法步骤,对于方法实施例中已经阐述的过程和概念,本发明实施例五没有再赘述,可以详细参见方法实施例。本发明实施例五提供的交换设备,除了可以包括获取单元501、识别单元502之外,为了实现方法实施例中交换设备所执行的动作,也可以设置一些结构。这类结构的非限制性示例可以包括存储器,微处理器,发送电子信号的电路等等。
使用本发明实施例五提供的交换设备,执行方法实施例一至实施例三任一个实施例所述方法的方法步骤,交换设备可以获取与隧道封装匹配的增强型流表项,并根据该增强型流表项中的隧道封装的标识和与隧道封装匹配的流表域,匹配到数据报文中隧道封装的报文内容中,从而识别出数据报文中经过隧道封装处理的内容,并执行流表项中规定的操作(例如,将数据报文转发到指定端口,或丢弃该数据报文)。本发明实施例五增强OpenFlow控制协议的适用范围,执行更精确的控制方式。本发明实施例五的特点是对OpenFlow控制协议和流表域进行了增强,支持OpenFlow的交换设备在匹配报文的时候可以匹配到隧道封装内容的信息,完成对经过隧道封装处理的数据报文中隧道封装内容的识别。
本发明的实施例六,如图6所示,提供一种控制器60,包括:
接收器601,该接收器601用于接收由交换设备发送的经过隧道封装处理的数据报文。可选地,经过该隧道封装处理的数据报文携带在OFPT_PACKET_IN(流表项数据输入)消息中。
处理器602,该处理器602用于根据经过该隧道封装处理的数据报文或预配置策略分配与该隧道封装匹配的增强型流表项,与该隧道封装匹配的增强型流表项包括该隧道封装的标识和与该隧道封装匹配的流表域。
发射器603,该发射器603用于向该交换设备发送与该隧道封装匹配的增强型流表项,与该隧道封装匹配的增强型流表项携带在流表项建立(OFPC_CREATE)消息或流表项修改消息(OFPC_MODIFY)中。
本发明实施例六提供的控制器,可以执行本发明实施例一至实施例四任一个实施例的所述的方法步骤,对于方法实施例中已经阐述的过程和概念,本发明实施例六不再赘述。本发明实施例六提供的控制器,除了可以包括接收器501、发射器502之外,为了实现方法实施例中控制器所执行的动作,也可以设置一些结构。这类结构的非限制性示例可以包括存储器,微处理器,发送电子信号的电路等等。
使用本发明实施例六提供的控制器,配合实施例五中的交换设备,可以执行方法实施例一至实施例四任一个实施例所述方法的步骤,根据隧道封装的标识和与该隧道封装匹配的流表域,完成经过隧道封装处理的数据报文进行识别,并执行增强型流表项中定义的操作(例如,将数据报文丢弃,或者将数据报文转发到指定的端口等)。本发明实施例六增强OpenFlow控制协议的适用范围,执行更精确的控制方式。本发明实施例六的特点是对OpenFlow控制协议和流表域进行了增强,支持OpenFlow的交换设备在匹配报文的时候可以匹配到隧道封装内容的信息,完成对经过隧道封装处理的数据报文中隧道封装内容的识别。
本发明实施例七,提供一种实现流识别的系统,该系统包括:实施例五提供的交换设备和实施例六提供的控制器。该系统执行本发明实施例一至实施例四任意一个实施例所述的方法,可参照实施例一至实施例四,在此不再赘述,可以实现通过隧道封装处理的数据报文的识别。
本发明的实施例七,提供一种计算机程序产品,该计算机程序产品包括存储介质,该存储介质中存储如实施例一至实施例四任意一个实施例所述方法的代码。应用该计算机程序产品,可以实现实施例一至实施例四任意一个实施例所述的方法,从而实现对通过隧道封装处理的数据报文的识别。
在某些实施例中,对于熟知的方法、接口、设备信令技术未进行具体描述,以免因不必要的细节使得本发明模糊。本领域普通技术人员可以理解实现上述实施例方法中的全部或者部分步骤是可以通过程序来指示相关的硬件来完成,所述的程序可以存储与一计算机可读存储介质中,所述的存储介质,如:只读存储记忆体(Read-only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)、磁碟、光盘等。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,本领域技术人员在不付出创造性劳动的基础上,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (21)
1.一种流识别的方法,其特征在于,
交换设备获取与隧道封装匹配的增强型流表项,所述与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域;其中,所述隧道封装的标识,用于指示所述交换设备是否识别数据报文中通过隧道封装处理的报文内容;
根据所述与隧道封装匹配的增强型流表项,所述交换设备识别经过隧道封装处理的数据报文。
2.如权利要求1所述的方法,其特征在于,所述交换设备获取所述与隧道封装匹配的增强型流表项,包括:
如果所述交换设备上没有增强型流表项,所述交换设备通过控制器获取所述与隧道封装匹配的增强型流表项;或者
如果所述交换设备上有增强型流表项,所述交换设备判断所述交换设备上的增强型流表项与所述经过隧道封装处理的数据报文是否匹配,
如果匹配,所述交换设备获取与所述经过隧道封装处理的数据报文匹配的增强型流表项,
如果不匹配,所述交换设备通过控制器获取所述与隧道封装匹配的增强型流表项。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述交换设备接收所述控制器根据预配置策略而分配的增强型流表项。
4.如权利要求2或3所述的方法,其特征在于,所述交换设备通过所述控制器获取所述与隧道封装匹配的增强型流表项,包括:
所述交换设备向所述控制器发送所述经过隧道封装处理的数据报文;
所述交换设备接收所述与隧道封装匹配的增强型流表项,所述与隧道封装匹配的增强型流表项由所述控制器根据接收到的所述经过隧道封装处理的数据报文而分配的。
5.如权利要求4所述的方法,其特征在于,所述经过隧道封装处理的数据报文携带在OFPT_PACKET_IN(流表项报文输入)消息中。
6.如权利要求4所述的方法,其特征在于,所述与隧道封装匹配的增强型流表项携带在OFPC_CREATE(流表项建立)消息或OFPC_MODIFY(流表项修改)消息中。
7.如权利要求1-3任意一项所述的方法,其特征在于,所述根据所述与隧道封装匹配的增强型流表项,所述交换设备识别所述经过隧道封装处理的数据报文,包括:
当所述交换设备根据所述隧道封装的标识判断出所述与隧道封装匹配的增强型流表项置位时,所述交换设备将所述与隧道封装匹配的流表域与所述经过隧道封装处理的数据报文中的隧道封装内容按字段进行比较,识别出字段的内容。
8.如权利要求7所述的方法,其特征在于,还包括:
所述交换设备判断所述隧道封装的标识为指定标识时,所述与隧道封装匹配的增强型流表项置位。
9.如权利要求1-3任意一项所述的方法,其特征在于,所述隧道封装的标识包括以下任意一项或组合:数字、符号和字段。
10.一种流识别的方法,其特征在于,
控制器接收经过隧道封装处理的数据报文;
所述控制器根据所述经过隧道封装处理的数据报文分配与隧道封装匹配的增强型流表项,所述与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域;其中,所述隧道封装的标识,用于指示交换设备是否识别数据报文中通过隧道封装处理的报文内容;
所述控制器向所述交换设备发送所述与隧道封装匹配的增强型流表项。
11.如权利要求10所述的方法,其特征在于,所述经过隧道封装处理的数据报文携带在OFPT_PACKET_IN(流表项报文输入)消息中。
12.如权利要求10或11所述的方法,其特征在于,所述与隧道封装匹配的增强型流表项携带在OFPC_CREATE(流表项建立)消息或OFPC_MODIFY(流表项修改)消息中。
13.如权利要求10或11所述的方法,其特征在于,所述隧道封装的标识包括以下任意一项或组合:数字、符号和字段。
14.一种实现流识别的交换设备,其特征在于,包括:
获取单元,所述获取单元用于获取与隧道封装匹配的增强型流表项,所述与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域;其中,所述隧道封装的标识,用于指示所述交换设备是否识别数据报文中通过隧道封装处理的报文内容;
识别单元,所述识别单元用于根据所述与隧道封装匹配的增强型流表项,识别经过隧道封装处理的数据报文。
15.如权利要求14所述的交换设备,其特征在于,所述获取单元包括:
第一处理单元,所述第一处理单元用于判断出所述交换设备上有增强型流表项,所述第一处理单元用于判断所述交换设备上的增强型流表项与所述经过隧道封装处理的数据报文是否匹配,若匹配,所述第一处理单元还用于获取与所述经过隧道封装处理的数据报文匹配的增强型流表项,若不匹配,所述第一处理单元还用于通过控制器获取所述与隧道封装匹配的增强型流表项;
第一发射单元,所述第一发射单元用于当所述第一处理单元判断所述交换设备上的增强型流表项与所述经过隧道封装处理的数据报文不匹配时,向所述控制器发送所述经过隧道封装处理的数据报文;和
第一接收单元,用于接收由所述控制器发送的所述与隧道封装匹配的增强型流表项,所述与隧道封装匹配的增强型流表项是由所述控制器接收到的所述经过隧道封装处理的数据报文而分配的。
16.如权利要求14所述的交换设备,其特征在于,所述获取单元包括:
第二处理单元,用于判断所述交换设备上是否有增强型流表项;
第二发射单元,所述第二发射单元用于当所述第二处理单元判断所述交换设备上没有增强型流表项,向控制器发送所述经过隧道封装处理的数据报文。可选地,经过隧道封装处理的数据报文携带在OFPT_PACKET_IN(流表项报文输入)消息中;
第二接收单元,所述第二接收单元用于接收由所述控制器发送的所述与隧道封装匹配的增强型流表项,所述与隧道封装匹配的增强型流表项是由所述控制器接收到的所述经过隧道封装处理的数据报文而分配的。
17.如权利要求14-16任意一项所述的交换设备,其特征在于,所述识别单元还用于当所述识别单元根据所述隧道封装的标识判断出所述与隧道封装匹配的增强型流表项置位时,所述识别单元将所述与隧道封装匹配的流表域与所述经过隧道封装处理的数据报文中的隧道封装内容按字段进行比较,识别出字段的内容。
18.如权利要求17所述的交换设备,其特征在于,
所述识别单元还用于判断所述隧道封装的标识为指定标识时,所述与隧道封装匹配的增强型流表项置位。
19.如权利要求14-16任意一项所述的交换设备,其特征在于,所述隧道封装的标识包括以下任意一项或组合:数字、符号和字段。
20.一种控制器,其特征在于,所述控制器包括:
接收器,所述接收器用于接收由交换设备发送的经过隧道封装处理的数据报文;
处理器,所述处理器用于根据所述经过隧道封装处理的数据报文分配与隧道封装匹配的增强型流表项,所述与隧道封装匹配的增强型流表项包括隧道封装的标识和与隧道封装匹配的流表域;其中,所述隧道封装的标识,用于指示所述交换设备是否识别数据报文中通过隧道封装处理的报文内容;
发射器,所述发射器用于向所述交换设备发送所述与隧道封装匹配的增强型流表项。
21.一种实现流识别的系统,其特征在于,所述系统包括如权利要求14-19任意一项所述的交换设备和如权利要求20所述的控制器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/070878 WO2013113171A1 (zh) | 2012-02-03 | 2012-02-03 | 流识别的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103548323A CN103548323A (zh) | 2014-01-29 |
CN103548323B true CN103548323B (zh) | 2017-02-01 |
Family
ID=48904380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280000091.8A Active CN103548323B (zh) | 2012-02-03 | 2012-02-03 | 流识别的方法、设备和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140301397A1 (zh) |
EP (1) | EP2753030A4 (zh) |
CN (1) | CN103548323B (zh) |
WO (1) | WO2013113171A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9787586B2 (en) * | 2013-10-24 | 2017-10-10 | University Of Houston System | Location-based network routing |
CN104639470B (zh) * | 2013-11-14 | 2019-05-31 | 中兴通讯股份有限公司 | 流标识封装方法及系统 |
CN105009544B (zh) * | 2014-01-23 | 2018-04-20 | 华为技术有限公司 | 报文的隧道处理方法、交换设备及控制设备 |
US9629018B2 (en) | 2014-02-05 | 2017-04-18 | Ibasis, Inc. | Method and apparatus for triggering management of communication flow in an inter-network system |
US10263903B2 (en) * | 2014-02-05 | 2019-04-16 | Ibasis, Inc. | Method and apparatus for managing communication flow in an inter-network system |
CN105072057B (zh) * | 2015-07-09 | 2019-02-01 | 中国科学院计算技术研究所 | 一种用于网络数据传输的中间交换设备及其方法和系统 |
US10979890B2 (en) | 2016-09-09 | 2021-04-13 | Ibasis, Inc. | Policy control framework |
WO2018183332A1 (en) | 2017-03-30 | 2018-10-04 | Ibasis, Inc. | Esim profile switching without sms |
US10524116B2 (en) | 2017-06-27 | 2019-12-31 | Ibasis, Inc. | Internet of things services architecture |
US12166759B2 (en) | 2019-09-24 | 2024-12-10 | Pribit Technology, Inc. | System for remote execution code-based node control flow management, and method therefor |
US11381557B2 (en) * | 2019-09-24 | 2022-07-05 | Pribit Technology, Inc. | Secure data transmission using a controlled node flow |
US11271777B2 (en) | 2019-09-24 | 2022-03-08 | Pribit Technology, Inc. | System for controlling network access of terminal based on tunnel and method thereof |
US11652801B2 (en) | 2019-09-24 | 2023-05-16 | Pribit Technology, Inc. | Network access control system and method therefor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744573A (zh) * | 2005-08-30 | 2006-03-08 | 杭州华为三康技术有限公司 | 业务流的识别方法 |
CN101202652A (zh) * | 2006-12-15 | 2008-06-18 | 北京大学 | 网络应用流量分类识别装置及其方法 |
CN102047636A (zh) * | 2008-06-02 | 2011-05-04 | 高通股份有限公司 | 用于加密支持的pcc增强 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321088A (zh) * | 2008-07-18 | 2008-12-10 | 北京星网锐捷网络技术有限公司 | 一种统计ip数据流信息的方法及装置 |
WO2010103909A1 (ja) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | OpenFlow通信システムおよびOpenFlow通信方法 |
CN101645836B (zh) * | 2009-08-25 | 2012-04-18 | 杭州华三通信技术有限公司 | 多协议标签交换网络中的分组传输方法和装置 |
WO2011083682A1 (ja) * | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | スイッチネットワークシステム、コントローラ、及び制御方法 |
EP2712128B1 (en) * | 2011-07-06 | 2016-01-13 | Huawei Technologies Co., Ltd. | Message processing method and related device thereof |
-
2012
- 2012-02-03 CN CN201280000091.8A patent/CN103548323B/zh active Active
- 2012-02-03 WO PCT/CN2012/070878 patent/WO2013113171A1/zh active Application Filing
- 2012-02-03 EP EP12867162.5A patent/EP2753030A4/en not_active Withdrawn
-
2014
- 2014-06-19 US US14/308,765 patent/US20140301397A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744573A (zh) * | 2005-08-30 | 2006-03-08 | 杭州华为三康技术有限公司 | 业务流的识别方法 |
CN101202652A (zh) * | 2006-12-15 | 2008-06-18 | 北京大学 | 网络应用流量分类识别装置及其方法 |
CN102047636A (zh) * | 2008-06-02 | 2011-05-04 | 高通股份有限公司 | 用于加密支持的pcc增强 |
Non-Patent Citations (1)
Title |
---|
OpenFlow Switch Specification;Open Networking Foundation;《OpenFlow Switch Specification》;20111205;第9页第8行-第11页18行,第16第4行-第18页第17行,图1,图2 * |
Also Published As
Publication number | Publication date |
---|---|
WO2013113171A1 (zh) | 2013-08-08 |
CN103548323A (zh) | 2014-01-29 |
EP2753030A4 (en) | 2015-01-21 |
EP2753030A1 (en) | 2014-07-09 |
US20140301397A1 (en) | 2014-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103548323B (zh) | 流识别的方法、设备和系统 | |
CN103181129B (zh) | 数据报文处理方法和系统、报文转发设备 | |
EP3375154B1 (en) | Systems and methods of an enhanced state-aware proxy device | |
US9825856B2 (en) | Service function chaining in a packet network | |
EP2945330B1 (en) | Route management method, route method, network controller and router | |
US20160301603A1 (en) | Integrated routing method based on software-defined network and system thereof | |
US9531627B1 (en) | Selecting a remote path using forwarding path preferences | |
US20170302547A1 (en) | Method, Device and System for Performing Bidirectional Forwarding Detection on Aggregated Link | |
US10601610B2 (en) | Tunnel-level fragmentation and reassembly based on tunnel context | |
WO2017107814A1 (zh) | 一种传播QoS策略的方法、装置及系统 | |
US20170222917A1 (en) | Handling multipath flows in service function chaining | |
KR102066978B1 (ko) | 차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치 | |
CN101911611A (zh) | 经加密和经隧穿的包串流的流分类 | |
CN102638388A (zh) | 流标签的协商方法、相关装置以及系统 | |
US9515926B2 (en) | Communication system, upper layer switch, control apparatus, switch control method, and program | |
WO2021017930A1 (zh) | 报文转发 | |
CN105531966B (zh) | 一种网络中实现报文路由的方法、设备和系统 | |
EP3032782B1 (en) | Packet transmission method and apparatus | |
WO2016161937A1 (zh) | 业务流的识别方法、装置及系统 | |
US9942159B2 (en) | Method and arrangement for QOS differentiation of VPN traffic across domains | |
JP4464386B2 (ja) | IPv6ネットワークにおいてマルチメディアサービスを提供するフローラベルを利用した信号連結サーバ、サービス品質提供サーバ及び方法 | |
CN103973568A (zh) | 用于在mpls核心网上转发sdn流的方法和设备 | |
CN102932229B (zh) | 一种对数据包进行加解密处理的方法 | |
CN102833173A (zh) | 网络设备及隧道适配方法 | |
CN107147574B (zh) | 基于分布式虚拟路由器的报文转发方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |