WO2016062031A1 - 一种openflow流表的查表方法和装置、存储介质 - Google Patents

一种openflow流表的查表方法和装置、存储介质 Download PDF

Info

Publication number
WO2016062031A1
WO2016062031A1 PCT/CN2015/076316 CN2015076316W WO2016062031A1 WO 2016062031 A1 WO2016062031 A1 WO 2016062031A1 CN 2015076316 W CN2015076316 W CN 2015076316W WO 2016062031 A1 WO2016062031 A1 WO 2016062031A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow table
entry
matching
configuration information
flow
Prior art date
Application number
PCT/CN2015/076316
Other languages
English (en)
French (fr)
Inventor
牛广平
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to RU2017117502A priority Critical patent/RU2658889C1/ru
Priority to EP15852883.6A priority patent/EP3211843A4/en
Publication of WO2016062031A1 publication Critical patent/WO2016062031A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7452Multiple parallel or consecutive lookup operations

Definitions

  • the present invention relates to the field of Ethernet data communication, and in particular, to a method and device for checking a table of an openflow flow table, and a storage medium.
  • openflow technology proposes the concept of multi-level flow table, and does not limit the number of levels of the flow table.
  • Each message may use multiple keywords to find the flow table multiple times. It is also possible to use the search result of the upper-level flow table as a keyword to search for the subsequent flow table, which brings about the complexity of the design and the problem of reducing the forwarding performance.
  • the openFlow standard defines a flow table that can be used to look up tables using any combination of key fields.
  • the current mainstream method is to implement a flow table using a three-state content-addressable memory (TCAM) chip, and the keywords defined in the openflow standard. There are many fields. If all keywords are taken into account, a 576-bit key is required to represent an entry.
  • a 36-Mbit TCAM chip can only store up to 64K entries. This specification is difficult to meet the needs of the industry. And the TCAM chip is an expensive resource, and it is not realistic to implement the flow table purely through the TCAM chip.
  • the embodiment of the present invention is to provide a method and device for checking the openflow flow table and a storage medium.
  • An embodiment of the present invention provides a method for checking a table of an openflow flow table, where the method includes:
  • the openflow flow table of each level is divided into an exact match flow table and at least one class match flow table according to the keyword field, and the flow table configuration information sent by the openflow controller is received, and the keyword field of the flow table configuration information is used.
  • the flow table configuration information is delivered to the exact matching flow table or the classified matching flow table as an entry.
  • the keywords of the packet are used to check the exact matching flow table.
  • the packet is processed according to the function of the entry. If no matching entry is found, And extracting, by the keywords in different keyword fields of the packet, the at least one category matching flow table to perform a parallel lookup table, and dynamically establishing an entry that accurately matches the flow table according to the result of the table lookup, and according to the function of the entry Perform message processing.
  • An embodiment of the present invention provides a table lookup device for an openflow flow table, where the device includes: a control plane module and a forwarding plane module;
  • the control plane module is configured to divide the openflow flow table of each level into an exact matching flow table and at least one class matching matching flow table according to the keyword field, and receive the flow table configuration information sent by the openflow controller, and configure the information keyword according to the flow table.
  • the flow table configuration information is delivered to the exact matching flow table or the classified matching flow table as an entry.
  • the forwarding plane module is configured to perform a table lookup on the exact matching flow table by using all the keywords of the packet.
  • the packet processing is performed according to the function of the entry; if no matching table is found.
  • the keyword of the different key fields of the packet is extracted, and the at least one category matching flow table is searched in parallel, and the entry of the exact matching flow table is dynamically established according to the result of the table lookup, and according to the entry The function of the message processing.
  • the embodiment of the invention further provides a computer storage medium, wherein a computer program is stored, wherein the computer program is used to execute the table lookup method of the openflow flow table described above.
  • the invention provides an openflow flow table lookup table method and device, and a storage medium.
  • the openflow flow table of each level is divided into an exact matching flow table and at least one classification matching flow table according to a key field, and the openflow control is received.
  • the flow table configuration information sent by the device is sent to the exact match flow table or the classified match flow table as the entry in the keyword field of the flow table configuration information.
  • On the forwarding plane all the packets are used.
  • the keyword is used to perform a table lookup on the exact matching flow table. When the matching entry is found, the packet is processed according to the function of the entry. When no matching entry is found, the different key fields of the packet are extracted.
  • the keyword performs a parallel lookup on the at least one classification matching flow table, dynamically creates an entry that accurately matches the flow table according to the result of the lookup table, and performs message processing according to the action of the entry;
  • the exact matching flow table can be directly searched, and the packet can be forwarded only by checking the flow table once, and the exact matching flow table can be in dynamic random access.
  • TCAM chip is not required, saving resources TCAM chips.
  • FIG. 1 is a schematic flowchart of a method for searching for an openflow flow table according to an embodiment of the present invention
  • FIG. 2 is a schematic plan view of a method for searching for an openflow flow table according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a specific process of step 102 according to an embodiment of the present invention.
  • step 103 is a schematic diagram of a specific process of step 103 according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a device for checking a table of an openflow flow table according to an embodiment of the present invention.
  • the openflow flow table of each level is divided into an exact matching flow table and at least one classified matching flow table according to the key field, and the flow table configuration information sent by the openflow controller is received, and configured according to the flow table.
  • the keyword field of the information, and the flow table configuration information is used as an entry. It is delivered to the exact matching flow table or the classified matching flow table. On the forwarding plane, all the keywords of the packet are used to check the exact matching flow table. When the matching entry is found, the function of the specified entry is obtained.
  • the embodiment of the present invention implements a table lookup method for an openflow flow table. As shown in FIG. 1 and FIG. 2, the method includes the following steps:
  • Step 101 On the control plane, the openflow flow table of each level is divided into an exact matching flow table and at least one classified matching flow table according to the key field;
  • the at least one class matching matching flow table includes: an L2 flow table, an L3 flow table, a multi-protocol label switching (MPLS) flow table, and a fuzzy matching (Wildcard) flow table;
  • MPLS multi-protocol label switching
  • Wildcard fuzzy matching
  • the L2 flow table stores the flow table configuration information related to the basic service of the Layer 2, and the search keywords of the entry are the VLAN ID, the source MAC address, and the destination MAC address.
  • the L3 flow table stores the configuration information of the flow table related to the Layer 3 basic service.
  • the search keyword of the entry is the VLAN ID, source IP address, and destination IP address.
  • the MPLS flow table stores the flow table configuration information related to the MPLS service, and the search key of the entry is an MPLS label.
  • the exact matching flow table stores all related flow table configuration information that exactly matches all keyword entries defined by the openflow 1.x protocol;
  • the exact match flow table saves the flow table configuration information and the dynamically created entry at the same time, and uses the HASH table entry organization form to be stored in the DRAM. In actual applications, the number of dynamically created entries may be huge. To accurately match a flow table, you usually need to define a table of 4M or larger;
  • the Wildcard flow table stores other flow table configuration information that is not the above four flow tables.
  • the Wildcard flow table uses all the keywords defined by the openflow 1.x protocol as the key, non-exact matching, and the mask. Can be configured in any field and stored in TCAM.
  • Step 102 Receive the flow table configuration information sent by the openflow controller, and send the flow table configuration information as an entry to the exact matching flow table or the classified matching flow table according to the keyword field of the flow table configuration information.
  • the openflow agent receives the flow table configuration information sent by the openflow controller (controller), and the keyword field is configured to accurately match the flow table configuration information of all the keywords as an entry of the exact match flow table, and is sent to the In the exact match flow table, the keyword field is configured to match the flow table configuration information of the Layer 2 basic service as the L2 flow table entry, and is sent to the L2 flow table.
  • the keyword field is configured to match only the flow table configuration information of the MPLS service, and is sent to the corresponding L3 flow table and the MPLS flow table as the L3 flow table and the MPLS flow table, and the other flow table configuration information is used as the Wildcard flow.
  • the table entry is sent to the Wildcard flow table.
  • this step specifically includes:
  • Step 301 The openflow agent receives the flow table change message sent by the openflow controller.
  • Step 302 The openflow agent parses out the key field in the flow table change message.
  • Step 303 Determine whether the keyword field is only matched with the Layer 2 basic service, and if yes, go to step 304, otherwise, go to step 305;
  • Step 304 The flow table change message is sent to the L2 flow table as a table entry.
  • the L2 flow table is searched according to the keyword field in the flow table change message, and when there is a matching entry in the L2 flow table, the table is found according to the function operation in the flow table change message.
  • the item includes adding or deleting or modifying the found item.
  • the flow table does not exist to the openflow controller.
  • Step 305 Determine whether the key field is only matching the three-layer basic service, and if yes, go to step 306, otherwise, go to step 307;
  • Step 306 The flow table change message is sent to the L3 flow table as an entry.
  • the L3 flow table is searched according to the keyword field in the flow table change message, and when there is a matching entry in the L3 flow table, the table is found according to the function operation in the flow table change message.
  • the item includes adding or deleting or modifying the found item.
  • the flow table does not exist to the openflow controller.
  • Step 307 Determine whether the key field is only matching MPLS service, and if yes, go to step 308, otherwise, go to step 309;
  • Step 308 The flow table change message is sent as an entry to the MPLS flow table.
  • the MPLS flow table is searched according to the key field in the flow table change message, and when there is a matching entry in the MPLS flow table, the table is found according to the function operation in the flow table change message.
  • the item includes adding or deleting or modifying the found item.
  • the flow table does not exist in the feedback message to the openflow controller.
  • Step 309 Determine whether the keyword field is exactly matching all keywords, and if yes, go to step 310, otherwise, go to step 311;
  • Step 310 The flow table change message is sent as an entry to the exact matching flow table.
  • the exact matching flow table is looked up, and when there is a matching entry in the exact matching flow table, the function operation in the flow table change message is found according to the function operation.
  • the entry includes adding or deleting or modifying the found entry.
  • the openflow controller feeds back the flow table without a message.
  • Step 311 The flow table change message is sent to the Wildcard flow table as a table entry.
  • the Wildcard flow table is searched according to the keyword field in the flow table change message, and when there is a matching entry in the Wildcard flow table, the table is found according to the function operation in the flow table change message.
  • the item includes adding or deleting or modifying the found item.
  • the flow table does not exist to the openflow controller.
  • Step 103 On the forwarding plane, use all the keywords of the packet to perform a table lookup on the exact matching flow table.
  • the packet is processed according to the function of the entry; if no match is found,
  • the keywords of the different key fields of the extracted packet are compared in parallel to the at least one classified matching flow table, and the entries of the exact matching flow table are dynamically established according to the result of the lookup table, and according to the table
  • the function of the item is processed by the message;
  • dynamically setting the entry of the exact match flow table includes: setting the function of the matched entry found in the class match flow table to the function set of the flow table forwarding process, The function set of the flow table forwarding process and all the keywords of the packet are used as an entry for the exact match flow table, and the dynamic entry flag is set, the timestamp of the record entry is generated, and the aging time of the entry is set. The aging time is set to the minimum aging time of the entries in the discovery process.
  • Step 401 Parse the received packet and extract all keywords of the packet according to the definition of the openflow 1.x protocol.
  • step 403 is performed, and no matching entry is found.
  • step 404
  • Step 403 Determine whether the entry is a dynamic entry, if it is a dynamic entry, go to step 405, if it is not a dynamic entry, go to step 406;
  • Step 404 Perform a table lookup of the L2 flow table, the L3 flow table, the MPLS flow table, and the Wildcard flow table of the Table N in parallel using the Layer 2 keyword, the Layer 3 keyword, the MPLS keyword, and all the keywords of the packet. Go to step 409;
  • Step 405 Determine whether the entry has expired, if it expires, go to step 404, if not expired, go to step 407;
  • Step 407 Perform packet processing according to the function of the entry, which is completely consistent with the specification defined by openflow 1.x, and the packet is modified according to the configured function, and then forwarded, discarded, or sent to the controller according to the function, and the process is performed. End;
  • Step 409 When the matching entry is found, the entry with the highest priority is selected, and the function of the entry is set to the function set of the flow table forwarding process. When no matching entry is found, the default is obtained. Function for message processing;
  • Step 411 Perform a table lookup on the exact matching flow table of the current table N by using all the keywords of the packet. When the matching entry is found, go to step 413. If no matching entry is found, go to step 414.
  • Step 413 Set a dynamic entry flag for the found entry, record the timestamp of the entry, update the aging time to the minimum aging time of the entry in the search process, and update the function of the original entry by using the function set of the flow table forwarding process. , performing step 415;
  • Step 414 The function set of the flow table forwarding process and all the keywords of the packet are used as an entry of the exact match flow table, and the dynamic entry flag is set, the timestamp of the record entry is generated, and the aging time of the entry is set.
  • the aging time of the entry is set to the minimum aging time of the entry in the search process, and step 415 is performed;
  • Step 415 According to the function in the table item of the exact matching flow table that is updated or dynamically set, the report is The text is processed.
  • step 103 the aging and updating of the dynamic entries of the flow table are precisely matched:
  • the openflow agent of the packet forwarding device After the openflow agent of the packet forwarding device receives the flow table change message sent by the openflow controller, the openflow agent updates the exact matching flow table of the flow table and the at least one classified matching flow table according to the method implemented by the control plane, and does not need to update the exact matching flow.
  • Dynamic table entries in the table When a dynamic entry is created on the forwarding plane, the timestamp is created. If the difference between the current timestamp and the created timestamp of the dynamic entry is greater than the timeout period, the dynamic entry is considered to expire. , re-trigger the establishment of dynamic entries, so as to achieve the purpose of dynamic table item updates. In order to improve the update response speed, the timeout period is usually defined as seconds or hundreds of milliseconds.
  • the aging principle of the dynamic entry is the same as that of the normal openflow flow table. The difference is that the aging time of the dynamic entry is not configured by the openflow controller, but is used when the dynamic entry is created or updated. The minimum aging time is used as the aging time of dynamic entries.
  • the exact matching flow table can be directly searched, and the packet can be forwarded only by checking the flow table once, and the exact matching flow table can be implemented on the DRAM, and Requires TCAM chip implementation, which can save TCAM chip resources.
  • the present invention further provides a table lookup device for an openflow flow table.
  • the device includes: a control plane module 51 and a forwarding plane module 52;
  • the control plane module 51 is configured to divide the openflow flow table of each level into an exact matching flow table and at least one class matching matching flow table according to the key field, and receive the flow table configuration information sent by the openflow controller, and the key of configuring the information according to the flow table
  • the word field is sent to the exact matching flow table or the classified matching flow table as the table entry.
  • the forwarding plane module 52 is configured to perform a table lookup on the exact matching flow table by using all the keywords of the packet.
  • the packet processing is performed according to the function of the entry; if no matching is found, The entry of the different key fields of the message is extracted to the at least one of the entries
  • the classification matching flow table performs parallel table lookup, dynamically creates an entry that accurately matches the flow table according to the result of the lookup table, and performs message processing according to the function of the entry;
  • the at least one classification matching flow table includes: an L2 flow table, an L3 flow table, an MPLS flow table, and a Wildcard flow table;
  • the L2 flow table stores the flow table configuration information related to the basic service of the Layer 2, and the search keywords of the entry are the VLAN ID, the source MAC address, and the destination MAC address.
  • the L3 flow table stores the configuration information of the flow table related to the Layer 3 basic service.
  • the search keyword of the entry is the VLAN ID, source IP address, and destination IP address.
  • the MPLS flow table stores the flow table configuration information related to the MPLS service, and the search key of the entry is an MPLS label.
  • the exact matching flow table stores all related flow table configuration information that exactly matches all keyword entries defined by the openflow 1.x protocol;
  • the exact match flow table saves the flow table configuration information and the dynamically created entry at the same time, and uses the HASH table entry organization form to be stored in the DRAM. In actual applications, the number of dynamically created entries may be huge. To accurately match a flow table, you usually need to define a table of 4M or larger;
  • the Wildcard flow table stores other flow table configuration information that is not the above four flow tables.
  • the Wildcard flow table uses all the keywords defined by the openflow 1.x protocol as the key, which is not exact match.
  • the mask can be configured in any field, using TCAM. Store.
  • the openflow agent in the control plane module 51 receives the flow table configuration information sent by the openflow controller, and the key field is configured to accurately match the flow table configuration information of all the keywords as an entry of the exact matching flow table, and is delivered to the exact match.
  • the keyword field is configured to match the flow table configuration information of the Layer 2 basic service to the L2 flow table.
  • the keyword field is matched to the Layer 3 basic service and the keyword.
  • the domain is configured to match only the MPLS service flow table configuration information, and is sent to the corresponding L3 flow table and MPLS flow table as the L3 flow table and the MPLS flow table, and the other flow table configuration information is used as the Wildcard flow table.
  • the table is delivered to the Wildcard flow table. in.
  • the forwarding plane module 52 When the forwarding plane module 52 does not find the matching entry, the keywords of the different key fields of the packet are extracted, and the at least one classified matching flow table is searched in parallel, and the matched matching entries are found.
  • the function is set to the function set of the flow table forwarding process.
  • the function set of the flow table forwarding process and all the keywords of the packet are used as an entry that accurately matches the flow table, and the dynamic entry flag is set, and the record entry generates a timestamp.
  • Set the aging time of the entry The aging time of the entry is set to the minimum aging time of the entry in the search process.
  • the forwarding plane module 52 also ages and updates the dynamic entries of the exact matching flow table.
  • the forwarding plane module 52 receives the packet, if the difference between the current timestamp and the creation timestamp of the dynamic entry is greater than the timeout period, the dynamic entry is considered to be expired, and the dynamic entry is re-triggered.
  • the aging time of the dynamic entry is used as the aging time of the dynamic entry when the dynamic entry is updated or updated.
  • the table lookup method of the openflow flow table according to the embodiment of the present invention may also be stored in a computer readable storage medium if it is implemented in the form of a software function module and sold or used as an independent product.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions.
  • a computer device (which may be a personal computer, server, or network device, etc.) is caused to perform all or part of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a removable hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk, and the like, which can store program codes.
  • ROM read-only memory
  • magnetic disk or an optical disk, and the like, which can store program codes.
  • optical disk and the like, which can store program codes.
  • the embodiment of the present invention further provides a computer storage medium, wherein a computer program is stored, where the computer program is used to perform the table lookup of the openflow flow table of the embodiment of the present invention. method.
  • the flow table configuration information is delivered as an entry to the precise table by dividing the openflow flow table into an exact match flow table and at least one class match flow table according to the key field on the control plane.
  • the matching flow table or the classification matching flow table on the forwarding plane, all the keywords of the packet are used to check the exact matching flow table.
  • the packet is processed according to the function of the entry. If the matching entry is not found, the keyword of the different key fields of the packet is extracted to perform a parallel lookup on the at least one classified matching flow table, and the entry of the exact matching flow table is dynamically established, and the packet is sent.
  • the exact matching flow table can be directly searched, and the packet can be forwarded only by checking the flow table once, and the exact matching flow table can be implemented on the DRAM, and Requires TCAM chip implementation, saving TCAM chip resources.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种openflow流表的查表方法,控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理,本发明同时还公开了一种openflow流表的查表装置、存储介质。

Description

一种openflow流表的查表方法和装置、存储介质 技术领域
本发明涉及以太网数据通信领域,尤其涉及一种openflow流表的查表方法和装置、存储介质。
背景技术
随着软件定义网络(SDN,Software Defined Network)的兴起,openflow作为其中一种主流的技术,得到了广泛的研究,标准日趋成熟,逐渐被各设备商和运营商接受和认可。但作为新兴技术,无论在转发层面还是控制层面,openflow技术也都遇到了巨大的挑战,在实现上也存在较多的技术瓶颈,阻碍openflow技术的进一步推广和应用。
从转发层面上来看,主要存在下面的问题:
1、为了涵盖更多的复杂业务和业务扩展的需要,openflow技术提出多级流表的概念,并没有限制流表的级数,每个报文可能采用不同的关键字多次查找流表,也可能利用上一级流表的查找结果作为关键字查找后续流表,这就带来了设计的复杂性和降低转发性能的问题。
2、openFlow标准中定义了一张流表可以使用任意的关键字字段组合去做查表,当前主流的方法是采用三态内容寻址存储器(TCAM)芯片实现流表,而openflow标准中定义的关键字字段很多,如果全部关键字都考虑进来的话,需要576比特(bit)的key表示一个表项,那么一个36Mbit的TCAM芯片,最大只能存储64K个表项,这个规格是很难满足业界需求的,而且TCAM芯片是昂贵的资源,纯粹通过TCAM芯片来实现流表不太现实。
发明内容
为解决现有存在的技术问题,本发明实施例期望提供一种openflow流表的查表方法和装置、存储介质。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种openflow流表的查表方法,所述方法包括:
控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
本发明实施例提供一种openflow流表的查表装置,所述装置包括:控制平面模块、转发平面模块;其中,
控制平面模块,用于将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
转发平面模块,用于采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
本发明实施例还提供一种计算机存储介质,其中存储有计算机程序,该计算机程序用于执行上述的openflow流表的查表方法。
本发明提供了一种openflow流表的查表方法和装置、存储介质,控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能(action)进行报文处理;如此,后续对所述报文转发时,直接查找精确匹配流表即可,实现了只查一次流表就可转发报文,而且精确匹配流表可以在动态随机存取存储器(DRAM)上实现,并不需要TCAM芯片实现,节省TCAM芯片资源。
附图说明
图1为本发明实施例实现openflow流表的查表方法的流程示意图;
图2为本发明实施例实现openflow流表的查表方法的平面示意图;
图3为本发明实施例步骤102的具体流程示意图;
图4为本发明实施例步骤103的具体流程示意图;
图5为本发明实施例实现openflow流表的查表装置的结构程示意图。
具体实施方式
本发明实施例中,控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项 下发到精确匹配流表或分类匹配流表中,转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
下面通过附图及具体实施例对本发明做进一步的详细说明。
本发明实施例实现一种openflow流表的查表方法,如图1、2所示,该方法包括以下几个步骤:
步骤101:控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表;
这里,所述至少一个分类匹配流表包括:L2流表、L3流表、多协议标签交换(MPLS)流表和模糊匹配(Wildcard)流表等;
其中,L2流表存储与二层基本业务相关的流表配置信息,表项的查找关键字为VLAN ID、源MAC和目的MAC等;
L3流表存储与三层基本业务相关的流表配置信息,表项的查找关键字为VLAN ID、源IP和目的IP等;
MPLS流表存储与MPLS业务相关的流表配置信息,表项的查找关键字为MPLS标签;
精确匹配流表存储所有精确匹配openflow 1.x协议定义的全部关键字表项的相关流表配置信息;
所述精确匹配流表同时保存下发的流表配置信息和动态建立的表项,采用HASH表的表项组织形式,存储在DRAM中,实际应用中,动态建立的表项的数量会很庞大,精确匹配流表通常需要定义4M或更大的表;
Wildcard流表存储非上述4种流表的其它流表配置信息,Wildcard流表采用openflow 1.x协议定义的全部关键字作为key,非精确匹配,标签(mask) 可以配置在任意字段,采用TCAM进行存储。
步骤102:接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
具体的,openflow代理(agent)接收openflow控制器(controller)下发的流表配置信息,将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为Wildcard流表的表项下发到Wildcard流表中。
如图3所示,本步骤具体包括:
步骤301:openflow代理接收openflow控制器下发的流表变更消息;
步骤302:openflow代理解析出所述流表变更消息中的关键字域;
步骤303:判断所述关键字域是否为只匹配二层基本业务,如果是,执行步骤304,否则,执行步骤305;
步骤304:将所述流表变更消息作为表项下发到L2流表中;
具体的,根据所述流表变更消息中的关键字域对L2流表进行查表,在L2流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在L2流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤305:判断所述关键字域是否为只匹配三层基本业务,如果是,执行步骤306,否则,执行步骤307;
步骤306:将所述流表变更消息作为表项下发到L3流表中;
具体的,根据所述流表变更消息中的关键字域对L3流表进行查表,在L3流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在L3流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤307:判断所述关键字域是否为只匹配MPLS业务,如果是,执行步骤308,否则,执行步骤309;
步骤308:将所述流表变更消息作为表项下发到MPLS流表中;
具体的,根据所述流表变更消息中的关键字域对MPLS流表进行查表,在MPLS流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在MPLS流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤309:判断所述关键字域是否为精确匹配所有关键字,如果是,执行步骤310,否则,执行步骤311;
步骤310:将所述流表变更消息作为表项下发到精确匹配流表中;
具体的,根据所述流表变更消息中的关键字域对精确匹配流表进行查表,在精确匹配流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在精确匹配流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤311:将所述流表变更消息作为表项下发到Wildcard流表中;
具体的,根据所述流表变更消息中的关键字域对Wildcard流表进行查表,在Wildcard流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在Wildcard流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤103:转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理;
本步骤中,所述根据查表的结果,动态建立精确匹配流表的表项包括:将从分类匹配流表中查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间,所述表项的老化时间设置为查找过程中表项的最小老化时间。
本步骤具体如图4所示,包括:
步骤401:解析接收到的报文,按照openflow 1.x协议的定义提取报文的所有关键字;
步骤402:采用提取的所有关键字对表(Table)N(N=0)的精确匹配流表进行查表,在查找到匹配的表项时,执行步骤403,在没有查找到匹配的表项时,执行步骤404;
步骤403:判断所述表项是否为动态表项,如果是动态表项,执行步骤405,如果不是动态表项,执行步骤406;
步骤404:采用报文的二层关键字、三层关键字、MPLS关键字和所有关键字分别并行对Table N的L2流表、L3流表、MPLS流表和Wildcard流表进行查表,之后执行步骤409;
步骤405:判断表项是否已经过期,如果过期,执行步骤404,如果没有过期,执行步骤407;
步骤406:判断表项中是否有跳转表N=N+1(goto Table N+1)的标志,如果没有,执行步骤407,否则,执行步骤408;
步骤407:根据表项的功能进行报文处理,这和openflow 1.x定义的规范完全一致,报文按照配置的功能进行修改,然后根据功能进行转发、丢弃或上送控制器等处理,流程结束;
步骤408:将表项的功能和元数据(metadata)保存并设置到流表转发流程的功能集中,根据所述表项的元数据和关键字,执行步骤404,继续下一级流表Table N=N+1进行查表;
步骤409:在查找到匹配的表项时,选择优先级最高的表项,将所述表项的功能设置到流表转发流程的功能集中,在没有查找到匹配的表项时,按照默认的功能进行报文处理;
步骤410:判断优先级最高的表项中是否有跳转表N=N+1(goto Table N+1)的标志,如果没有,执行步骤411,否则,执行步骤412;
步骤411:采用报文的所有关键字对当前Table N的精确匹配流表进行查表,在查找到匹配的表项时,执行步骤413,在没有查找到匹配的表项时,执行步骤414;
步骤412:将表项的功能和元数据(metadata)保存并设置到流表转发流程的功能集中,根据所述表项的元数据和关键字,执行步骤404,继续下一级流表Table N=N+1进行查表;
步骤413:为查找到的表项设置动态表项标志,记录表项生成时间戳,更新老化时间为查找过程中表项的最小老化时间,用流表转发流程的功能集更新原表项的功能,执行步骤415;
步骤414:将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间,所述表项的老化时间设置为查找过程中表项的最小老化时间,执行步骤415;
步骤415:根据更新或动态设置的精确匹配流表的表项中的功能,对报 文进行处理。
此外,步骤103中,还包括精确匹配流表的动态表项的老化和更新:
报文转发设备的openflow Agent接收到openflow控制器下发的流表变更消息后,openflow Agent按照控制平面实施的方法更新流表的精确匹配流表和至少一个分类匹配流表,不必更新精确匹配流表中的动态表项。每个动态表项在转发平面创建时,都会记录创建时间戳,当接收到报文后,如果动态表项的当前时间戳和创建时间戳的差值大于超时时间,认为所述动态表项过期,重新触发动态表项的建立,从而达到动态表项更新的目的。为了提高更新响应速度,超时时间通常定义为秒级或百毫秒级。
动态表项的老化实现原理和普通openflow流表一致,不同的是,动态表项的老化时间不是通过openflow控制器配置的,而是在动态表项创建或更新时,采用整个查找过程中表项的最小老化时间作为动态表项的老化时间。
在经过步骤103之后,后续对所述报文转发时,直接查找精确匹配流表即可,实现了只查一次流表就可转发报文,而且精确匹配流表可以在DRAM上实现,并不需要TCAM芯片实现,能够节省TCAM芯片资源。
基于上述方法,本发明还提供一种openflow流表的查表装置,如图5所示,该装置包括:控制平面模块51、转发平面模块52;其中,
控制平面模块51,用于将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
转发平面模块52,用于采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个 分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理;
所述至少一个分类匹配流表包括:L2流表、L3流表、MPLS流表和Wildcard流表等;
其中,L2流表存储与二层基本业务相关的流表配置信息,表项的查找关键字为VLAN ID、源MAC和目的MAC等;
L3流表存储与三层基本业务相关的流表配置信息,表项的查找关键字为VLAN ID、源IP和目的IP等;
MPLS流表存储与MPLS业务相关的流表配置信息,表项的查找关键字为MPLS标签;
精确匹配流表存储所有精确匹配openflow 1.x协议定义的全部关键字表项的相关流表配置信息;
所述精确匹配流表同时保存下发的流表配置信息和动态建立的表项,采用HASH表的表项组织形式,存储在DRAM中,实际应用中,动态建立的表项的数量会很庞大,精确匹配流表通常需要定义4M或更大的表;
Wildcard流表存储非上述4种流表的其它流表配置信息,Wildcard流表采用openflow 1.x协议定义的全部关键字作为key,非精确匹配,标签(mask)可以配置在任意字段,采用TCAM进行存储。
所述控制平面模块51中openflow代理接收openflow控制器下发的流表配置信息,将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为Wildcard流表的表项下发到Wildcard流表 中。
所述转发平面模块52在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,将查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间,所述表项的老化时间设置为查找过程中表项的最小老化时间。
此外,所述转发平面模块52还对精确匹配流表的动态表项进行老化和更新。
具体的,所述转发平面模块52接收到报文后,如果动态表项的当前时间戳和创建时间戳的差值大于超时时间,认为所述动态表项过期,重新触发动态表项的建立,从而达到动态表项更新的目的,并在动态表项创建或更新时,采用整个查找过程中表项的最小老化时间作为动态表项的老化时间。
本发明实施例所述openflow流表的查表方法如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应的,本发明实施例还提供一种计算机存储介质,其中存储有计算机程序,该计算机程序用于执行本发明实施例的上述openflow流表的查表 方法。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
工业实用性
综合本发明的各实施例,通过在控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,在转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,动态建立精确匹配流表的表项,进行报文处理;这样,能够在后续对所述报文转发时,直接查找精确匹配流表即可,实现了只查一次流表就可转发报文,而且精确匹配流表可以在DRAM上实现,并不需要TCAM芯片实现,节省TCAM芯片资源。

Claims (11)

  1. 一种openflow流表的查表方法,所述方法包括:
    控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
    转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
  2. 根据权利要求1所述的查表方法,其中,所述至少一个分类匹配流表包括:二层(L2)流表、三层(L3)流表、多协议标签交换(MPLS)流表和模糊匹配(Wildcard)流表。
  3. 根据权利要求2所述的查表方法,其中,所述按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,包括:将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为Wildcard流表的表项下发到Wildcard流表中。
  4. 根据权利要求3所述的查表方法,其中,所述根据查表的结果,动态建立精确匹配流表的表项,包括:将从分类匹配流表中查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与 报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间。
  5. 根据权利要求4所述的查表方法,其中,该方法还包括:对精确匹配流表的动态表项进行老化和更新。
  6. 一种openflow流表的查表装置,所述装置包括:控制平面模块、转发平面模块;其中,
    控制平面模块,用于将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
    转发平面模块,用于采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
  7. 根据权利要求6所述的查表装置,其中,所述至少一个分类匹配流表包括:L2流表、L3流表、MPLS流表和Wildcard流表。
  8. 根据权利要求7所述的查表装置,其中,所述控制平面模块,具体用于将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为Wildcard流表的表项下发到Wildcard流表中。
  9. 根据权利要求8所述的查表装置,其中,所述转发平面模块,具体 用于在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,将查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间。
  10. 根据权利要求9所述的查表装置,其中,所述转发平面模块,还用于对精确匹配流表的动态表项进行老化和更新。
  11. 一种计算机存储介质,其中存储有计算机程序,该计算机程序用于执行权利要求1至5任一项所述的openflow流表的查表方法。
PCT/CN2015/076316 2014-10-21 2015-04-10 一种openflow流表的查表方法和装置、存储介质 WO2016062031A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2017117502A RU2658889C1 (ru) 2014-10-21 2015-04-10 Способ и устройство табличного поиска для таблиц OpenFlow, а также носитель данных
EP15852883.6A EP3211843A4 (en) 2014-10-21 2015-04-10 Table look-up method and device for openflow table, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410562760.1 2014-10-21
CN201410562760.1A CN105591914B (zh) 2014-10-21 2014-10-21 一种openflow流表的查表方法和装置

Publications (1)

Publication Number Publication Date
WO2016062031A1 true WO2016062031A1 (zh) 2016-04-28

Family

ID=55760187

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/076316 WO2016062031A1 (zh) 2014-10-21 2015-04-10 一种openflow流表的查表方法和装置、存储介质

Country Status (4)

Country Link
EP (1) EP3211843A4 (zh)
CN (1) CN105591914B (zh)
RU (1) RU2658889C1 (zh)
WO (1) WO2016062031A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330722B (zh) * 2016-10-26 2019-11-12 杭州迪普科技股份有限公司 一种创建路由缓存项的方法、转发报文的方法及装置
CN106789733B (zh) * 2016-12-01 2019-12-20 北京锐安科技有限公司 一种提高大规模网络流表查找效率的装置及方法
CN107276916B (zh) * 2017-06-22 2020-05-12 中国科学技术大学 基于协议无感知转发技术的交换机流表管理方法
CN109347747B (zh) * 2018-11-13 2021-12-17 锐捷网络股份有限公司 一种数据处理方法及装置
CN111343110B (zh) * 2018-12-19 2022-03-29 中国电信股份有限公司 报文处理方法、sdn交换机及计算机可读存储介质
CN109921996B (zh) * 2018-12-29 2021-11-09 长沙理工大学 一种高性能的OpenFlow虚拟流表查找方法
CN113347090B (zh) * 2020-02-18 2023-06-20 华为技术有限公司 报文处理方法、转发设备以及报文处理系统
CN111585903B (zh) * 2020-04-13 2021-09-21 华南理工大学 一种OpenFlow流表项自适应超时的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
CN102843299A (zh) * 2012-09-12 2012-12-26 盛科网络(苏州)有限公司 基于TCAM实现Openflow多级流表的方法及系统
CN103095583A (zh) * 2012-11-09 2013-05-08 盛科网络(苏州)有限公司 通过芯片环回实现Openflow两级流表的方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248585B2 (en) * 2001-10-22 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a packet classifier
RU2285348C2 (ru) * 2001-12-31 2006-10-10 ИСиАй ТЕЛЕКОМ ЛТД. Способ поиска решений по возможности соединения сетевых элементов
CN100387028C (zh) * 2005-04-01 2008-05-07 清华大学 基于tcam的解决范围匹配的并行ip包分类器及方法
CN100433715C (zh) * 2005-08-19 2008-11-12 华为技术有限公司 给数据流提供不同的服务质量策略的方法
CN100555988C (zh) * 2006-03-08 2009-10-28 中兴通讯股份有限公司 一种提高三重内容可寻址存储器报文分类查找速度的方法
CN100471171C (zh) * 2006-03-10 2009-03-18 四川南山之桥微电子有限公司 硬件建立tcp数据流连接的方法
CN101651628A (zh) * 2009-09-17 2010-02-17 杭州华三通信技术有限公司 一种三状态内容可寻址存储器实现方法及装置
US8559332B2 (en) * 2010-05-25 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Method for enhancing table lookups with exact and wildcards matching for parallel environments
CN104488235B (zh) * 2013-04-09 2017-08-04 华为技术有限公司 报文转发方法和网络设备
CN103354522B (zh) * 2013-06-28 2016-08-10 华为技术有限公司 一种多级流表查找方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
CN102843299A (zh) * 2012-09-12 2012-12-26 盛科网络(苏州)有限公司 基于TCAM实现Openflow多级流表的方法及系统
CN103095583A (zh) * 2012-11-09 2013-05-08 盛科网络(苏州)有限公司 通过芯片环回实现Openflow两级流表的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3211843A4 *

Also Published As

Publication number Publication date
EP3211843A1 (en) 2017-08-30
RU2658889C1 (ru) 2018-06-25
CN105591914A (zh) 2016-05-18
CN105591914B (zh) 2020-07-03
EP3211843A4 (en) 2017-12-06

Similar Documents

Publication Publication Date Title
WO2016062031A1 (zh) 一种openflow流表的查表方法和装置、存储介质
US10897431B2 (en) Cloud resource processing method and physical node
WO2015032333A1 (zh) 一种数据报文转发方法及装置
US9553845B1 (en) Methods for validating and testing firewalls and devices thereof
US10305801B2 (en) Forwarding data packets
EP3139560B1 (en) Packet processing method, device and computer storage medium
US9397901B2 (en) Methods, systems, and computer readable media for classifying application traffic received at a network traffic emulation device that emulates multiple application servers
US9906449B2 (en) System and method for reduced forwarding information storage
US10129181B2 (en) Controlling the reactive caching of wildcard rules for packet processing, such as flow processing in software-defined networks
WO2019185051A1 (zh) 一种基于集成流表转发报文的方法及装置
CN104348716A (zh) 一种报文处理方法及设备
US20180167319A1 (en) Application identification cache
CN107276916B (zh) 基于协议无感知转发技术的交换机流表管理方法
US11115346B2 (en) Systems and methods for generating network flow information
US10050892B2 (en) Method and apparatus for packet classification
WO2016070822A1 (zh) 媒体资源反馈方法及装置
CN106487769B (zh) 一种访问控制列表acl的实现方法及装置
CN111953552A (zh) 数据流的分类方法和报文转发设备
WO2015131720A1 (zh) 报文处理方法及装置
CN104205745B (zh) 报文处理的方法与设备
WO2015154416A1 (zh) 一种上网行为管理方法及装置
US20190124184A1 (en) Data Processing Method and Apparatus
US20210044521A1 (en) System and method of processing packet classification with range sets
US20070130309A1 (en) Apparatus and method for dynamically binding binary code and virtual forwarding component of network processor
WO2016176853A1 (zh) 一种路由查询方法和网络设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15852883

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015852883

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017117502

Country of ref document: RU

Kind code of ref document: A