WO2014100981A1 - 查找表的创建方法、查询方法、控制器、转发设备和系统 - Google Patents

查找表的创建方法、查询方法、控制器、转发设备和系统 Download PDF

Info

Publication number
WO2014100981A1
WO2014100981A1 PCT/CN2012/087445 CN2012087445W WO2014100981A1 WO 2014100981 A1 WO2014100981 A1 WO 2014100981A1 CN 2012087445 W CN2012087445 W CN 2012087445W WO 2014100981 A1 WO2014100981 A1 WO 2014100981A1
Authority
WO
WIPO (PCT)
Prior art keywords
lookup table
lookup
entry
message
mode
Prior art date
Application number
PCT/CN2012/087445
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 ES12891240.9T priority Critical patent/ES2626061T3/es
Priority to EP12891240.9A priority patent/EP2924926B1/en
Priority to PCT/CN2012/087445 priority patent/WO2014100981A1/zh
Priority to CN201280003709.6A priority patent/CN104025520B/zh
Publication of WO2014100981A1 publication Critical patent/WO2014100981A1/zh
Priority to US14/749,261 priority patent/US9705795B2/en
Priority to US15/620,522 priority patent/US10243852B2/en

Links

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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/563Software download or update
    • 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/748Address table lookup; Address filtering using longest matching prefix

Definitions

  • the data forwarding performance of the forwarding device significantly affects the transmission speed of the network data.
  • the data is processed step by step according to the indication of the forwarding action in each lookup table in the forwarding device, until the data is skipped from the plurality of lookup tables and output from the forwarding device.
  • SDN Software-Defined Networking
  • the embodiment of the invention provides a method for creating a lookup table, a query method, a controller, a forwarding device and a system, which can reduce the number of gate circuits and reduce power consumption.
  • the lookup table creation message includes an identifier of the lookup table and a lookup mode of the lookup table; Creating a lookup table according to the lookup table creation message and setting a lookup mode of the lookup table;
  • An entry corresponding to the entry addition message is added to the lookup table in accordance with the entry add message.
  • the lookup mode of the lookup table is a hash hash search mode
  • the index parameter includes a keyword
  • An entry adding message adding an entry corresponding to the entry added message in the lookup table includes:
  • the lookup mode of the lookup table is a mask search mode, where the index parameter includes a keyword and a mask, and the Adding the forwarding action to the lookup table by the entry adding message includes:
  • the second aspect provides a method for querying the created lookup table, including:
  • a forwarding device including: a receiving unit, configured to receive a lookup table creation message sent by a controller, where the lookup table creation message includes an identifier of a lookup table and a lookup mode of the lookup table;
  • the receiving unit is further configured to receive an entry adding message that is sent by the controller, where the entry adding message includes a forwarding action to be added and an index parameter of the forwarding action; and a creating unit, configured to create according to the lookup table The message creates a lookup table and sets a lookup mode of the lookup table;
  • an adding unit configured to add an entry corresponding to the item adding message in the lookup table according to the item adding message.
  • the lookup mode in the lookup table creation message received by the receiving unit includes one of a linear lookup mode, a hash hash lookup mode, a longest match lookup mode, and a mask lookup mode. .
  • the lookup mode of the lookup table is a linear search mode
  • the index parameter includes a keyword
  • the adding unit is specifically used to : Obtaining a free entry in the lookup table with the keyword as an index; writing the forwarding action to the idle entry.
  • the searching mode of the lookup table is a longest matching search mode, where the index parameter includes a keyword and a mask length
  • the adding unit is specifically configured to: perform a first operation on the keyword and the mask length to obtain a longest matching index; find a free entry in the lookup table according to the longest matching index; forward the forwarding The action, the keyword, and the mask length are written to the idle entry.
  • the lookup mode of the lookup table is a mask lookup mode, where the index parameter includes a keyword and a mask
  • the adding The unit is specifically configured to: obtain the idle bar by using the keyword and the mask through the tri-state content addressing register; and write the forwarding action, the keyword, and the mask into the idle entry.
  • the sending unit is further configured to send an entry adding message to the forwarding device, so that the forwarding device adds an entry in the lookup table, where the entry adding message includes a forwarding action to be added and an index parameter of the forwarding action .
  • the searching mode in the lookup table creation message sent by the sending unit includes one of a linear search mode, a hash hash search mode, a longest match search mode, and a mask search mode.
  • a fifth aspect provides a forwarding device, including:
  • a memory for storing software programs and data
  • a wireless communication module configured to receive a message sent by the controller
  • a processor configured to execute a software program in the memory, specifically executing:
  • the search mode in the lookup table creation message received by the processor includes one of a linear search mode, a hash hash search mode, a longest match search mode, and a mask search mode. .
  • the processor is further configured to: when the packet jumps to the lookup table, extract the information in the packet Keyword Searching for an entry corresponding to the keyword in a lookup mode corresponding to the lookup table; performing a forwarding action in the found entry.
  • a controller including:
  • a memory for storing software programs and data
  • a wireless communication module configured to send a message to the forwarding device
  • a processor configured to execute a software program in the memory, specifically executing:
  • Sending an entry adds a message to the forwarding device to cause the forwarding device to add an entry in the lookup table, the entry add message including a forwarding action to be added and an indexing parameter of the forwarding action.
  • a forwarding system including a controller and a forwarding device, where the forwarding device is connected to the controller, and the controller is configured to send a lookup table creation message to the forwarding device, where the creating The message includes an identifier of the lookup table and a lookup mode of the lookup table; and sending an entry adding message to the forwarding device, the entry adding message including a forwarding action to be added and an indexing parameter of the forwarding action; a forwarding device, configured to receive a creation message of the lookup table, create a lookup table according to the creation message, and use the lookup mode to set the created lookup table; and add a forwarding action and an index parameter in the message according to the entry Add a corresponding entry in the lookup table.
  • the method for creating a lookup table, the query method, the controller, the forwarding device, and the system provided by the embodiment of the present invention include the identifier of the lookup table and the search mode of the lookup table in the lookup table creation message, and provide the lookup table for different lookup tables.
  • Different lookup modes without having to make all lookup tables use mask matching mode for searching, thus greatly reducing the number of TCAM circuits used for mask matching, reducing the number of chip gates and reducing power consumption. .
  • FIG. 1 is a flowchart of a method for creating a lookup table according to an embodiment of the present invention
  • FIG. 2 is another flowchart of a method for creating a lookup table according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a controller according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of a forwarding device according to an embodiment of the present invention. Another structural schematic diagram of the forwarding device provided by the embodiment.
  • FIG. 7 is a schematic structural diagram of a controller according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of a forwarding device according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of a forwarding system according to an embodiment of the present invention.
  • an embodiment of the present invention provides a method for creating a lookup table, including:
  • the method for creating a lookup table includes the identifier of the lookup table and the search mode of the lookup table in the lookup table creation message, and provide different lookup modes for different lookup tables without having to make all the lookup tables. All can only use the mask matching mode for searching, thus greatly reducing the number of TCAM circuits used for mask matching, reducing the number of chip gate circuits and reducing power consumption.
  • the controller may send a command to the forwarding device to customize the forwarding behavior of the packet on the forwarding device.
  • Such an instruction may specifically be embodied as a lookup table creation message transmitted in step S11 and an entry addition message transmitted in step S12.
  • the controller can create a lookup table on the forwarding device and insert a specific entry in the created lookup table.
  • the specific action of writing the forwarding action into the lookup table is the core, and in order to determine the location of each forwarding action in the lookup table, optionally, the forwarding action may also be The index parameter is written to the entry in which the forwarding action is located.
  • the lookup mode is a method for separately finding a forwarding action to be performed on the packet after the packet arrives at each lookup table of the forwarding device, and each lookup table has its own search mode.
  • Different lookup modes can be established for different lookup tables.
  • the type of search mode and the specific algorithm for each search mode are not limited.
  • the search mode may be any one of a linear search mode, a hash search mode, a longest match search mode, and a mask search mode. kind. These four search mode algorithms are different, the computational complexity is different, and the required chip resources are also very different.
  • the lookup table can be established according to the linear search mode or the hash search mode.
  • the linear lookup mode or the hash lookup mode is insufficient for the lookup of the lookup table, so the lookup table needs to be built according to a more complex lookup mode, such as according to the longest match lookup mode or The mask lookup mode is established.
  • the index parameter of the forwarding action to be added includes a keyword (key).
  • the identifier of the lookup table is B2.
  • the search mode used by the lookup table B2 is a hash search mode.
  • the index parameter of the forwarding action to be added also includes a keyword.
  • the linear lookup mode and the hash lookup mode described above are relatively simple to find for entries in the lookup table, so only keywords are required as index parameters.
  • the following two search modes are relatively complex for finding the entries in the lookup table. Therefore, in addition to the keywords, the index parameters include the mask length or mask. Specifically, if the identifier of the lookup table is B3 in the sending lookup table creation message in step S11, and the search mode used by the lookup table B3 is the longest matching search mode, the entry sent in step S12 is added. In the message, the index parameters of the forwarding action to be added include the keyword and mask length.
  • an embodiment of the present invention further provides a method for creating a lookup table, including the following steps:
  • the method for creating a lookup table can receive a lookup table creation message sent by the controller, where the lookup table creation message includes an identifier of the lookup table and a lookup mode of the lookup table, which are different lookup tables. Different search modes and index parameters are provided, and it is not necessary to make all lookup tables search by mask search mode, thereby greatly reducing the number of TCAM circuits used for mask matching, and reducing the number of chip gates. Power consumption minus small
  • the searching mode may be any one of a linear search mode, a hash search mode, a longest match search mode, and a mask search mode.
  • the lookup table creation operation in each of the search modes is described below according to the difference of the respective search modes.
  • the lookup mode of the lookup table is a linear lookup mode in the lookup table creation message received in step S21
  • step S22 a lookup table is created according to the lookup table creation message.
  • the table and the search mode of the lookup table are set to a linear search mode.
  • the received entry add message includes a forwarding action to be added and an index parameter of the forwarding action, where the index parameter includes a keyword.
  • the adding an entry corresponding to the entry adding message in the lookup table according to the item adding message may include: obtaining one in the lookup table by using the keyword as an index. a free entry; the forwarding action is written to the idle entry.
  • the keyword in the index parameter has a linear relationship with the entry in the lookup table, so that a free entry can be obtained by directly indexing the value of the keyword, and the forwarding action corresponding to the keyword is written.
  • This idle entry completes the creation of the lookup table and the addition of entries simply and efficiently.
  • the lookup mode of the lookup table is a hash search mode in the lookup table creation message received in step S21
  • step S22 a message creation is created according to the lookup table. Querying the table and setting the lookup mode of the lookup table to a hash lookup mode.
  • the received entry add message includes a forwarding action to be added and an index parameter of the forwarding action, where the index parameter includes a keyword .
  • the adding an entry corresponding to the entry adding message in the lookup table according to the entry adding message may include: performing a hash operation on the keyword to obtain a bucket index, according to the bucket The index derives a hash bucket in the lookup table;
  • the forwarding action and the keyword are written to a free entry in the hash bucket.
  • the hash operation is a function operation. After the keyword is brought into the hash function, the hash bucket index can be obtained, and the hash corresponding to the bucket index is obtained according to the hash bucket index. barrel.
  • the hash bucket only contains an index of several entries; then, a free entry can be found in a relatively small number of entries of the hash bucket, and the forwarding action in the entry addition message is written to the idle entry. In this way, the search range of the index is narrowed down by a simple hash operation, and then the idle index is searched in a smaller range, so that the creation of a slightly complicated lookup table can be realized in a relatively simple manner.
  • the lookup table is created according to the lookup table.
  • the message creates a lookup table and sets the lookup mode of the lookup table to the longest match search mode.
  • the received entry add message includes a forwarding action to be added and an index parameter of the forwarding action, where the index Parameters include keyword and mask length.
  • adding the entry corresponding to the entry adding message in the lookup table according to the entry adding message may include: performing the first operation on the keyword and the mask length a longest matching index; finding a free entry in the lookup table according to the longest matching index; writing the forwarding action, the keyword, and the mask length to the idle entry.
  • the longest matching index may be obtained by performing the first operation on the keyword and the mask length, where the first operation may be obtained by using the keyword and the mask length.
  • the operation or processing of the longest matching index such as using the keyword and the mask length to establish a binary tree, the binary tree can be used as a longest matching index.
  • the mask length is directly written into the idle entry.
  • a mask may also be written into the idle entry, such that the mask is The code determines the mask length, so the longest match lookup can also be done.
  • the lookup mode of the lookup table is a mask lookup mode in the lookup table creation message received in step S21
  • step S22 a message is created according to the lookup table. Creating a lookup table and setting a lookup mode of the lookup table to a mask lookup mode.
  • the received entry add message includes a forwarding action to be added and an index parameter of the forwarding action, where the index parameter includes Keywords and masks.
  • adding an entry corresponding to the entry adding message in the lookup table according to the entry adding message includes: obtaining the idle entry by using the keyword and the mask through the TCAM;
  • the forwarding action, the keyword, and the mask are written to the idle entry.
  • the matching of the mask is implemented by the TCAM, and the circuit structure is complicated.
  • the structure of the created lookup table is complicated, and the foregoing three searching methods cannot satisfy the requirements in the embodiment. Lookup table creation and lookup requirements, so the use of mask lookup mode is really necessary, without wasting resources in the forwarding device.
  • the forwarding action in the entry adding message and the indexing parameter of the forwarding action are necessary, but for the lookup table of the linear search mode, due to the search algorithm Simple, it is not necessary to write this index parameter into a specific entry in the lookup table.
  • the lookup algorithm is more complicated, so its index parameters need to be written into the corresponding entries in the lookup table.
  • the method for creating a lookup table provided by the present invention can determine an appropriate search mode for each lookup table created according to the complexity of the lookup table to be created, thus, for many structures
  • you can use a relatively simple lookup mode such as linear lookup mode, hash lookup mode, or longest match lookup mode, and only those lookup tables that have complex structures that must be created and looked up by mask lookup mode.
  • the mask lookup mode the resources in the forwarding device are fully utilized, the number of TCAM circuits for mask matching is greatly reduced, the number of chip gate circuits is reduced, and power consumption is reduced.
  • an embodiment of the present invention further provides a query method for a lookup table, as shown in FIG. 3, including the following steps:
  • step S32 according to different search modes used by the lookup table, the method of searching for an entry corresponding to the keyword is different.
  • the lookup table FLOW_TABLE-1 uses the linear search mode, when the forwarding device forwards the message, when jumping to the FLOW_TABLE-1 table, the keyword is extracted and the keyword is extracted. Find the FLOW_TABLE-1 table directly as an index and get the forwarding operation it needs to perform.
  • the lookup table FLOW_TABLE-2 uses the hash lookup mode, when the forwarding device forwards the message, when jumping to the FLOW_TABLE-2 table, the keyword is extracted and the keyword is hashed. The hash bucket index is obtained, and the entry of the entry in the bucket is equal to the keyword of the current search, and the forwarding action of the entry is read and executed.
  • lookup table FLOW_TABLE-4 uses the mask search mode, when the forwarding device forwards the message, when jumping to the FLOW_TABLE-4 table, the keyword is extracted and the keyword is searched in the TCAM. When an entry is hit, the forwarding action of the entry is read and executed.
  • the present invention further provides a controller 10, including: a sending unit 11 configured to send a lookup table creation message to a forwarding device, so that the forwarding device creates a lookup table, where the lookup table is created.
  • the message includes an identifier of the lookup table and a lookup mode of the lookup table;
  • the sending unit 11 is further configured to send an entry adding message to the forwarding device, so that the forwarding device adds an entry in the lookup table, where the entry adding message includes a forwarding action to be added and the forwarding action Index parameters.
  • the controller 10 provided by the embodiment of the present invention sends a lookup table creation message to the forwarding device through the sending unit 11, and the lookup table creation message includes the identifier of the lookup table and the lookup mode of the lookup table, and provides the lookup table for different lookup tables.
  • Different lookup modes without having to make all lookup tables use mask matching mode for searching, thus greatly reducing the number of TCAM circuits used for mask matching, reducing the number of chip gates and reducing power consumption.
  • the search mode in the lookup table creation message sent by the sending unit 11 includes: One of linear lookup mode, hash hash lookup mode, longest match lookup mode, and mask lookup mode
  • an embodiment of the present invention further provides a forwarding device 20, including:
  • the receiving unit 21 is configured to receive a lookup table creation message sent by the controller, where the lookup table creation message includes an identifier of the lookup table and a lookup mode of the lookup table;
  • the receiving unit 21 is further configured to receive an entry adding message sent by the controller, where the entry adding message includes a forwarding action to be added and an index parameter of the forwarding action; and a creating unit 22, configured to perform, according to the searching a table creation message creates a lookup table and sets a lookup mode of the lookup table;
  • the adding unit 23 is configured to add an entry corresponding to the entry adding message in the lookup table according to the entry adding message.
  • the forwarding device 20 provided by the embodiment of the present invention can receive the lookup table creation message by the receiving unit 21, and the lookup table creation message includes the identifier of the lookup table and the search mode of the lookup table, and provides different lookup tables for different lookup tables. Find mode, and create a lookup table of these different lookup patterns by creating unit 22 and adding unit 23 and add entries to the lookup table, so that all lookup tables can only be searched by mask matching mode, thus greatly The number of TCAM circuits used for mask matching is reduced, the number of chip gate circuits is reduced, and power consumption is reduced.
  • the search mode in the lookup table creation message received by the receiving unit 21 includes one of a linear search mode, a hash hash search mode, a longest match search mode, and a mask search mode.
  • the adding unit 23 is specifically configured to:
  • the adding unit 23 is specifically configured to: Performing a hash hash operation on the keyword to obtain a bucket index, and obtaining a hash hash bucket in the lookup table according to the bucket index;
  • the index parameter includes a keyword and a mask length
  • the adding unit 23 is specifically configured to: use the keyword and the mask Performing a first operation on the length to obtain a longest matching index; finding a free entry in the lookup table according to the longest matching index; writing the forwarding action, the keyword, and the mask length to the idle entry.
  • the lookup mode of the lookup table is a mask lookup mode
  • the index parameter includes a keyword and a mask
  • the adding unit 23 is specifically configured to: pass the keyword and the mask through three The state content addressing register gets an idle strip;
  • the searching unit 25 is configured to search for an entry corresponding to the keyword by using a lookup mode corresponding to the lookup table;
  • the forwarding action can be searched according to the search mode of different lookup tables, and it is not necessary to make all the lookup tables use the mask search mode for searching, thereby greatly reducing the number of lookup tables.
  • the number of TCAM circuits used for mask matching reduces the number of chip gate circuits and reduces power consumption.
  • an embodiment of the present invention further provides a controller 30, including: a memory 31, a wireless communication module 32, and a processor 33. among them,
  • a memory 31 for storing software programs and data
  • a wireless communication module 32 configured to send a message to the forwarding device, and in particular, send a message of the processor 33 to the forwarding device;
  • the wireless communication module 32 includes, but is not limited to, Bluetooth, WiFi, and the like.
  • the processor 33 is configured to execute a software program in the memory, and specifically:
  • Sending an entry adds a message to the forwarding device to cause the forwarding device to add an entry in the lookup table, the entry add message including a forwarding action to be added and an indexing parameter of the forwarding action.
  • the controller 30 of the embodiment of the present invention sends a lookup table creation message to the forwarding device, where the lookup table creation message includes the identifier of the lookup table and the search mode of the lookup table, and provides different search modes for different lookup tables. It is not necessary to make all the lookup tables use the mask matching mode for searching, thereby greatly reducing the number of TCAM circuits used for mask matching, reducing the number of chip gate circuits and reducing power consumption.
  • the lookup mode in the lookup table creation message sent by the processor 33 includes one of a linear lookup mode, a hash hash lookup mode, a longest match lookup mode, and a mask lookup mode.
  • an embodiment of the present invention further provides a forwarding device 40, including: a memory 41, a wireless communication module 42, and a processor 43. among them,
  • a memory 41 configured to store software programs and data
  • the wireless communication module 42 is configured to receive a message sent by the controller, and in particular, send the message sent by the controller to the processor 43 for processing;
  • the wireless communication module includes, but is not limited to, Bluetooth, WiFi, and the like.
  • the processor 43 is configured to execute a software program in the memory, and specifically executes:
  • An entry corresponding to the entry addition message is added to the lookup table according to the entry addition message.
  • the forwarding device 40 of the embodiment of the present invention is configured to receive a lookup table creation message, where the lookup table creation message includes an identifier of the lookup table and a lookup mode of the lookup table, and provide different lookup modes for different lookup tables. And create a lookup table of these different lookup patterns and add entries to the lookup table, so that all lookup tables can only be searched by mask matching mode, thus greatly reducing the TCAM circuit used for mask matching. The number reduces the number of chip gates and reduces the power consumption.
  • the lookup mode in the lookup table creation message received by the processor 43 includes one of a linear lookup mode, a hash hash lookup mode, a longest match lookup mode, and a mask lookup mode.
  • the search mode of the lookup table is a linear search mode
  • the index parameter includes a keyword
  • the processor 43 is specifically configured to:
  • the lookup mode of the lookup table is a hash hash search mode
  • the index parameter includes a keyword
  • the processor 43 is specifically configured to:
  • the search mode of the lookup table is the longest match search mode
  • the index parameter includes a keyword and a mask length
  • the processor 43 is specifically configured to:
  • the lookup mode of the lookup table is a mask lookup mode, where the index parameter includes a keyword and a mask, and the processor 43 is specifically configured to:
  • the forwarding action, the keyword, and the mask are written to the idle entry. Further, the processor 43 is further configured to:
  • the keyword in the message is extracted; the entry corresponding to the keyword is searched according to the search mode corresponding to the lookup table; and the forwarding action in the found entry is performed.
  • an embodiment of the present invention further provides a forwarding system 60, which includes a controller 61 and a forwarding device 62, and the forwarding device 62 is connected to the controller 61.
  • the forwarding device 62 is configured to receive a creation message of the lookup table, create a lookup table according to the creation message, and use the lookup mode to set the created lookup table; and add a forwarding action in the message according to the entry. And the index parameter adds a corresponding bar in the lookup table.
  • the forwarding system 60 provided by the embodiment of the present invention includes the identifier of the lookup table and the search mode of the lookup table in the lookup table creation message, and provides different search modes for different lookup tables, without having to make all the lookup tables only The mask matching mode can be used for searching, thereby greatly reducing the number of TCAM circuits used for mask matching, reducing the number of chip gate circuits and reducing power consumption.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例公开了一种查找表的创建方法、查询方法、控制器、转发设备和系统,涉及通信技术领域,为使门电路数量降低、功耗减小而发明。所述创建方法包括:接收控制器发送的查找表创建消息,所述查找表创建消息包括查找表的标识和所述查找表的查找模式;根据所述查找表创建消息创建查找表并设置所述查找表的查找模式;接收所述控制器发送的条目添加消息,所述条目添加消息包括要添加的转发动作及所述转发动作的索引参数;根据所述条目添加消息在所述查找表中添加与所述条目添加消息对应的条目。本发明能够用于软件定义网络的各种转发设备中。

Description

查找表的创建方法、 查询方法、 控制器、 转发设备和系统 技术领域
本发明涉及通信技术领域, 尤其涉及一种查找表的创建方法、 查询方 法、 控制器、 转发设备和系统。 背景技术
转发设备的数据转发性能显著的影响着网络数据的传输速度。 当网 络数据进入转发设备后, 会按照该转发设备中的各个查找表中的转发动 作的指示, 一步一步地进行处理, 直到数据跳转过若干个查找表后从所 述转发设备输出。 在 SDN (软件定义网络, Software-Defined Networking )网络架构下, 转发设备中的这些查找表是根据控制器下发指令创建的, 以便在该转发 设备上定制网络的转发行为。
当网络数据在转发设备上的各个查找表中跳转, 从而执行一系列的 动作时, 需要将网络数据中携带的关键字与各个查找表中的每个条目 ( entry ) 的关键字进行掩码匹配, 相匹配的条目中的转发动作才被执行。 然而, 由于掩码匹配需要用到 TCAM (三态内容寻址寄存器, Ternary content addressable memory ) 电路, 消耗大量的芯片资源, 导致芯片门电 路数量多、 功耗大。 发明内容
本发明实施例提供一种查找表的创建方法、 查询方法、 控制器、 转发设备和系统, 能够使门电路数量降低、 功耗减小。
为达到上述目 的, 本发明的实施例釆用如下技术方案: 第一方面, 提供一种查找表的创建方法, 包括:
接收控制器发送的查找表创建消息, 所述查找表创建消息包括查找 表的标识和所述查找表的查找模式; 根据所述查找表创建消息创建查找表并设置所述查找表的查找模 式;
接收所述控制器发送的条目添加消息, 所述条目添加消息包括要添 加的转发动作及所述转发动作的索引参数;
根据所述条目添加消息在所述查找表中添加与所述条目添加消息对 应的条目。
在第一方面的第一种可能的实现方式中, 所述查找模式包括线性查 找模式、 哈希 hash查找模式、 最长匹配查找模式和掩码查找模式之一。 结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述查找表的查找模式为线性查找模式, 所述索引参数包括关键字, 所述根据所述条目添加消息在所述查找表中添加与所述条目添加消息对 应的条目包括: 以所述关键字为索引在所述查找表中得到一个空闲条目; 将所述转发动作写入所述空闲条目。
结合第一方面的第一种可能的实现方式, 在第三种可能的实现方式 中, 所述查找表的查找模式为哈希 hash查找模式, 所述索引参数包括关 键字, 所述根据所述条目添加消息在所述查找表中添加与所述条目添加 消息对应的条目包括:
将所述关键字进行哈希 hash运算得到桶索引, 根据所述桶索引在所 述查找表中得出哈希 hash桶;
将所述转发动作和所述关键字写入所述哈希 hash桶中的一个空闲条 。 结合第一方面的第一种可能的实现方式, 在第四种可能的实现方式 中, 所述查找表的查找模式为最长匹配查找模式, 所述索引参数包括关 键字和掩码长度, 所述根据所述条目添加消息在所述查找表中添加与所 述条目添加消息对应的条目包括: 将所述关键字及所述掩码长度进行第一运算得到最长匹配索引; 根据所述最长匹配索引在所述查找表中找到一个空闲条目; 将所述转发动作、 所述关键字和所述掩码长度写入所述空闲条目。 结合第一方面的第一种可能的实现方式, 在第五种可能的实现方式 中, 所述查找表的查找模式为掩码查找模式, 所述索引参数包括关键字 和掩码, 所述根据所述条目添加消息在所述查找表中添加所述转发动作 包括:
将所述关键字及所述掩码通过三态内容寻址寄存器得到一个空闲条 ;
将所述转发动作、 所述关键字和所述掩码写入所述空闲条目。 结合第一方面的第一至第五种可能的实现方式中的任一种, 第二方 面, 提供一种创建的查找表的查询方法, 包括:
当报文跳转到所述查找表时, 提取所述报文的关键字;
以所述查找表对应的查找模式查找所述关键字对应的条目; 执行查找到的条目中的转发动作。
第三方面, 提供一种转发设备, 包括: 接收单元, 用于接收控制器发送的查找表创建消息, 所述查找表创 建消息包括查找表的标识和所述查找表的查找模式;
所述接收单元, 还用于接收所述控制器发送的条目添加消息, 所述 条目添加消息包括要添加的转发动作及所述转发动作的索引参数; 创建单元, 用于根据所述查找表创建消息创建查找表并设置所述查 找表的查找模式;
添加单元, 用于根据所述条目添加消息在所述查找表中添加与所述 条目添加消息对应的条目。
第三方面的第一种可能的实现方式中,所述接收单元接收的查找 表创建消息中的查找模式包括线性查找模式、 哈希 hash查找模式、 最长 匹配查找模式和掩码查找模式之一。
结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述查找表的查找模式为线性查找模式, 所述索引参数包括关键字, 所述添加单元具体用于: 以所述关键字为索引在所述查找表中得到一个空闲条目; 将所述转发动作写入所述空闲条目。
结合第三方面的第一种可能的实现方式, 在第三种可能的实现方式 中, 所述查找表的查找模式为哈希 hash查找模式, 所述索引参数包括关 键字, 所述添加单元具体用于: 将所述关键字进行哈希 hash运算得到桶索引, 根据所述桶索引在所 述查找表中得出哈希 hash桶;
将所述转发动作和所述关键字写入所述哈希 hash桶中的一个空闲条 。
结合第三方面的第一种可能的实现方式, 在第四种可能的实现方式 中, 所述查找表的查找模式为最长匹配查找模式, 所述索引参数包括关 键字和掩码长度, 所述添加单元具体用于: 将所述关键字及所述掩码长度进行第一运算得到最长匹配索引; 根据所述最长匹配索引在所述查找表中找到一个空闲条目; 将所述转发动作、 所述关键字和所述掩码长度写入所述空闲条目。 结合第三方面的第一种可能的实现方式, 在第五种可能的实现方式 中, 所述查找表的查找模式为掩码查找模式, 所述索引参数包括关键字 和掩码, 所述添加单元具体用于: 将所述关键字及所述掩码通过三态内容寻址寄存器得到一个空闲条 ; 将所述转发动作、 所述关键字和所述掩码写入所述空闲条目。
结合第三方面及第三方面的第一至五种可能的实现方式中任一种, 在第六种可能的实现方式中, 所述转发设备, 还包括:
提取单元, 用于当报文跳转到所述查找表时, 提取所述报文中的关 键字;
查找单元, 用于以所述查找表对应的查找模式查找所述关键字对应 的条目; 执行单元, 用于执行查找到的条目中的转发动作。 第四方面, 提供一种控制器, 包括: 发送单元, 用于发送查找表创建消息到转发设备以使所述转发设备 创建查找表, 所述查找表创建消息包括所述查找表的标识和所述查找表 的查找模式;
所述发送单元还用于发送条目添加消息到所述转发设备以使所述转 发设备在所述查找表中添加条目, 所述条目添加消息包括要添加的转发 动作及所述转发动作的索引参数。
第四方面的第一种可能的实现方式, 所述发送单元发送的查找表创 建消息中的查找模式包括线性查找模式、 哈希 hash查找模式、 最长匹配 查找模式和掩码查找模式之一。
第五方面, 提供一种转发设备, 包括:
存储器, 用于存储软件程序和数据; 无线通信模块, 用于接收控制器发送的消息;
处理器, 用于执行存储器中的软件程序, 具体执行:
接收控制器发送的查找表创建消息, 所述查找表创建消息包括查找 表的标识和所述查找表的查找模式; 接收所述控制器发送的条目添加消息, 所述条目添加消息包括要添 加的转发动作及所述转发动作的索引参数; 根据所述查找表创建消息创建查找表并设置所述查找表的查找模 式;
根据所述条目添加消息在所述查找表中添加与所述条目添加消息对 应的条目。 第五方面的第一种可能的实现方式中, 所述处理器接收的查找表创 建消息中的查找模式包括线性查找模式、 哈希 hash查找模式、 最长匹配 查找模式和掩码查找模式之一。
结合第五方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述处理器还用于: 当报文跳转到所述查找表时, 提取所述报文中的关键字; 以所述查找表对应的查找模式查找所述关键字对应的条目; 执行查找到的条目中的转发动作。
第六方面, 提供一种控制器, 包括:
存储器, 用于存储软件程序和数据;
无线通信模块, 用于向转发设备发送消息;
处理器, 用于执行存储器中的软件程序, 具体执行:
发送查找表创建消息到转发设备以使所述转发设备创建查找 表, 所述查找表创建消息包括所述查找表的标识和所述查找表的查 找模式;
发送条目添加消息到所述转发设备以使所述转发设备在所述查 找表中添加条目 , 所述条目添加消息包括要添加的转发动作及所述 转发动作的索引参数。
第七方面, 提供一种转发系统, 包括控制器和转发设备, 所述转发 设备与所述控制器相连, 所述控制器, 用于发送查找表的创建消息到所述转发设备, 所述创 建消息包括所述查找表的标识和所述查找表的查找模式; 以及发送条目 添加消息到所述转发设备, 所述条目添加消息包括要添加的转发动作以 及所述转发动作的索引参数; 所述转发设备, 用于接收所述查找表的创建消息, 根据所述创建消 息创建查找表, 并利用所述查找模式设置所创建的查找表; 以及根据所 述条目添加消息中的转发动作以及索引参数在所述查找表中添加对应的 条目。 本发明实施例提供的查找表的创建方法、 查询方法、 控制器、 转发 设备和系统, 在查找表创建消息中包括了查找表的标识和所述查找表的 查找模式, 为不同的查找表提供不同的查找模式, 而不必使所有查找表 都只能釆用掩码匹配模式进行查找, 因而大大减少了用于进行掩码匹配 的 TCAM电路的数量, 使芯片门电路数量降低、 功耗减小。
附图说明 为了更清楚地说明本发明实施例的技术方案, 下面将对本发明 实施例中所需要使用的附图作简单地介绍, 显而易见地, 下面所描 述的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来 讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他 的附图。 图 1为本发明实施例提供的查找表的创建方法的一种流程图; 图 2为本发明实施例提供的查找表的创建方法的另一种流程图; 图 3为本发明实施例提供的查找表的查询方法的一种流程图; 图 4为本发明实施例提供的控制器的一种结构示意图; 图 5为本发明实施例提供的转发设备的一种结构示意图; 图 6为本发明实施例提供的转发设备的另一种结构示意图。
图 7为本发明实施例提供的控制器的一种结构示意图;
图 8为本发明实施例提供的转发设备的一种结构示意图;
图 9为本发明实施例提供的转发系统的一种结构示意图。
具体实施方式 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案 进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实 施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术 人员在没有作出创造性劳动前提下所获得的所有其他实施例, 都属于本 发明保护的范围。
下面结合附图对本发明实施例的方法进行详细描述。
如图 1所示, 本发明的实施例提供一种查找表的创建方法, 包括:
511,发送查找表创建消息到转发设备以使所述转发设备创建查找 表, 所述查找表创建消息包括所述查找表的标识和所述查找表的查找模 式;
512,发送条目添加消息到所述转发设备以使所述转发设备在所述查 找表中添加条目, 所述条目添加消息包括要添加的转发动作及所述转发 动作的索引参数。 本发明实施例提供的查找表的创建方法, 在查找表创建消息中包括 了查找表的标识和所述查找表的查找模式, 为不同的查找表提供不同的 查找模式, 而不必使所有查找表都只能釆用掩码匹配模式进行查找, 因 而大大减少了用于进行掩码匹配的 TCAM电路的数量, 使芯片门电路数 量降低、 功耗减小。
需要说明的是, 在 SDN网络框架下, 控制器可以通过向转发设备发 指令定制报文在该转发设备上的转发行为。 这种指令具体可以表现为在 步骤 S11 中发送的查找表创建消息以及在步骤 S12 中发送的条目添加消 息。通过步骤 S11和步骤 S12 ,控制器即可在所述转发设备上创建查找表, 并在所创建的查找表中插入具体的条目。 在所插入的条目中, 将转发动 作写入查找表的具体条目中是核心, 而为了能确定各个转发动作在所述 查找表中的位置, 可选的, 还可以将所述转发动作对应的索引参数写入 该转发动作所在的条目中。 具体的, 查找模式是报文到达转发设备的各个查找表后, 用以分别 找到该报文需要执行的转发动作的方法, 每一个查找表都具有自己的查 找模式。 对于不同的查找表, 可以建立不同的查找模式。 而查找模式的 种类以及每种查找模式的具体算法不限。 可选的, 在本发明的一个实施 例中, 对于某个查找表, 其查找模式可以为线性查找模式、 哈希 (hash ) 查找模式、 最长匹配查找模式和掩码查找模式中的任一种。 这四种查找 模式算法不同, 计算复杂程度不同, 所需要的芯片资源也有很大差异。 对于结构较简单的查找表, 报文跳转到该查找表时只需要通过较为简单 的查找方法即可获知其需要执行的转发动作, 因此可以将该查找表按照 线性查找模式或 hash查找模式建立; 而对于结构较复杂的查找表, 线性 查找模式或 hash查找模式已经不足满足该查找表的查找需要, 因此需要 使该查找表按照更为复杂的查找模式建立, 如按照最长匹配查找模式或 掩码查找模式建立。 例如, 在本发明的一个实施例中, 如果步骤 S11 中发送查找表创建 消息中, 所述查找表的标识为 B1 , 所述查找表 B1 所釆用的查找模式为 线性查找模式, 则在步骤 S12 中所发送的条目添加消息中, 要添加的转 发动作的索引参数包括关键字 (key ) 。
如果步骤 S11 中发送查找表创建消息中, 所述查找表的标识为 B2 , 所述查找表 B2所釆用的查找模式为 hash查找模式, 则在步骤 S 12中发 送的条目添加消息中, 要添加的转发动作的索引参数也包括关键字。
上述线性查找模式和 hash查找模式对于查找表中的条目的查找都较 为简单, 因此仅需要关键字作为索引参数。 而以下两种查找模式对于查 找表中的条目的查找相对复杂, 因此, 除了关键字外, 其索引参数还包 括掩码长度或掩码。 具体的, 如果步骤 S11 中发送查找表创建消息中, 所述查找表的标 识为 B3 , 所述查找表 B3所釆用的查找模式为最长匹配查找模式, 则在 步骤 S12 中发送的条目添加消息中, 要添加的转发动作的索引参数包括 关键字和掩码长度。
具体的, 如果步骤 S11 中发送查找表创建消息中, 所述查找表的标 识为 B4 , 所述查找表 B4所釆用的查找模式为掩码查找模式, 则在步骤 S 12中发送的条目添加消息中,要添加的转发动作的索引参数包括关键字 和掩码。 相应的, 如图 2所示, 本发明的实施例还提供一种查找表的创建方 法, 包括如下步骤:
521 , 接收控制器发送的查找表创建消息, 所述查找表创建消息包括 查找表的标识和所述查找表的查找模式;
522 ,根据所述查找表创建消息创建查找表并设置所述查找表的查找 模式;
523 , 接收所述控制器发送的条目添加消息, 所述条目添加消息包括 要添加的转发动作及所述转发动作的索引参数;
524 ,根据所述条目添加消息在所述查找表中添加与所述条目添加消 息对应的条目。 本发明实施例提供的查找表的创建方法, 能够接收控制器发送的查 找表创建消息, 在该查找表创建消息中包括了查找表的标识和所述查找 表的查找模式, 为不同的查找表提供不同的查找模式和索引参数, 而不 必使所有查找表都只能釆用掩码查找模式进行查找, 因而大大减少了用 于进行掩码匹配的 TCAM电路的数量, 使芯片门电路数量降低、 功耗减 小
可选的, 所述查找模式可以为线性查找模式、 hash查找模式、 最长 匹配查找模式和掩码查找模式中的任一种。 下面根据各个查找模式的不 同, 分别描述在每一种查找模式下的查找表创建操作。 在本发明的一个实施例中, 如果在步骤 S21 中接收到的查找表创建 消息中, 所述查找表的查找模式为线性查找模式, 则在步骤 S22 中, 根 据所述查找表创建消息创建查找表并设置所述查找表的查找模式为线性 查找模式, 在步骤 S23 中, 接收的条目添加消息中包括要添加的转发动 作以及该转发动作的索引参数, 其中, 所述索引参数包括关键字。 那么, 在步骤 S24 中, 所述根据所述条目添加消息在所述查找表中 添加与所述条目添加消息对应的条目具体可以包括: 以所述关键字为索引在所述查找表中得到一个空闲条目; 将所述转发动作写入所述空闲条目。
本实施例中,索引参数中的关键字与查找表中的条目具有线性关系, 因此可以直接以该关键字的值为索引而得到一个空闲条目, 并将与该关 键字对应的转发动作写入该空闲条目, 简单而有效地完成了查找表的创 建和条目添加。 在本发明的另一个实施例中, 如果在步骤 S21 中接收到的查找表创 建消息中, 所述查找表的查找模式为 hash查找模式, 则在步骤 S22中, 根据所述查找表创建消息创建查找表并设置所述查找表的查找模式为 hash查找模式, 在步骤 S23 中, 接收的条目添加消息中包括要添加的转 发动作以及该转发动作的索引参数, 其中, 所述索引参数包括关键字。
那么, 在步骤 S24 中, 所述根据所述条目添加消息在所述查找表中 添加与所述条目添加消息对应的条目可以包括: 将所述关键字进行 hash运算得到桶索引, 根据所述桶索引在所述查 找表中得出 hash桶;
将所述转发动作和所述关键字写入所述 hash桶中的一个空闲条目。 其中, hash运算为一种函数运算,将该关键字带入 hash函数计算后, 可以得到 hash桶索引,并根据该 hash桶索引得到与该桶索引对应的 hash 桶。 其中, 该 hash桶中只包含若干个条目的索引; 然后, 可以在该 hash 桶这个条目数量相对较小的范围内找到一个空闲条目, 并将条目添加消 息中的转发动作写入该空闲条目。 这样, 先通过简单的 hash运算缩小索 引的查找范围, 然后在较小的范围内寻找空闲索引, 从而能够以较简单 的方式实现对稍复杂的查找表的创建。
在本发明的另一个实施例中, 如果在步骤 S21 中接收到的查找表创 建消息中, 所述查找表的查找模式为最长匹配查找模式, 则在步骤 S22 中, 根据所述查找表创建消息创建查找表并设置所述查找表的查找模式 为最长匹配查找模式, 在步骤 S23 中, 接收的条目添加消息中包括要添 加的转发动作以及该转发动作的索引参数, 其中, 所述索引参数包括关 键字和掩码长度。
那么, 在步骤 S24 中, 所述根据所述条目添加消息在所述查找表中 添加与所述条目添加消息对应的条目可以包括: 将所述关键字及所述掩码长度进行第一运算得到最长匹配索引; 根据所述最长匹配索引在所述查找表中找到一个空闲条目; 将所述转发动作、 所述关键字和所述掩码长度写入所述空闲条目。 具体的, 首先可以通过将所述关键字及所述掩码长度进行第一运算 得到最长匹配索引, 其中, 所述第一运算可以为能够通过由所述关键字 和所述掩码长度得到所述最长匹配索引的运算或处理, 如利用所述关键 字及所述掩码长度建立二叉树, 该二叉树可以作为得到的一个最长匹配 索引。
可选的, 本实施例中, 是直接将掩码长度写入所述空闲条目中的, 在本发明的其他实施例中, 也可以将掩码写入所述空闲条目中, 这样由 该掩码即可确定掩码长度, 因此同样可以进行最长匹配查找。 在本发明的另一个实施例中, 如果在步骤 S21 中接收到的查找表创 建消息中, 所述查找表的查找模式为掩码查找模式, 则在步骤 S22 中, 根据所述查找表创建消息创建查找表并设置所述查找表的查找模式为掩 码查找模式, 在步骤 S23 中, 接收的条目添加消息中包括要添加的转发 动作以及该转发动作的索引参数, 其中, 所述索引参数包括关键字和掩 码。 那么, 在步骤 S24 中, 所述根据所述条目添加消息在所述查找表中 添加与所述条目添加消息对应的条目包括: 将所述关键字及所述掩码通过 TCAM得到一个空闲条目;
将所述转发动作、 所述关键字和所述掩码写入所述空闲条目。
本实施例中, 需要通过 TCAM的方式来实现掩码的匹配, 电路结构 较为复杂, 但本实施例中, 所创建的查找表结构较复杂, 前述三种查找 方法已经不能满足本实施例中的查找表的创建和查找要求, 因此掩码查 找模式的使用确实是必需的, 没有浪费转发设备中的资源。
需要说明的是, 在上述四种查找模式的查找表的创建中, 条目添加 消息中的转发动作及所述转发动作的索引参数都是必须的, 但对于线性 查找方式的查找表, 由于查找算法简单, 因而不需要将该索引参数写入 查找表的具体条目中。 而对于 hash查找模式、 最长匹配查找模式以及掩 码查找模式的查找表, 查找算法较为复杂, 因此需要将其索引参数写入 所述查找表中的对应条目中。
通过上述的四种查找模式的实施例, 本发明提供的查找表的创建方 法能够根据要创建的查找表的复杂程度来为创建的每一个查找表确定一 个合适的查找模式, 这样, 对于很多结构较为简单的查找表, 可以釆用 线性查找模式、 hash 查找模式、 或最长匹配查找模式等相对简单的查找 模式, 而只有那些结构复杂必须釆用掩码查找模式创建和查找的查找表 才釆用掩码查找模式, 因而充分利用了转发设备中的资源, 大大减少了 用于进行掩码匹配的 TCAM电路的数量, 使芯片门电路数量降低、 功耗 减小。
相应的, 本发明的实施例还提供一种查找表的查询方法, 如图 3所 示, 包括如下步骤:
531 , 当报文跳转到所述查找表时, 提取所述报文中的关键字;
532 , 以所述查找表对应的查找模式查找所述关键字对应的条目;
533 , 执行查找到的条目中的转发动作。
具体的, 在步骤 S32中, 根据所述查找表所釆用的查找模式的不同, 查找所述关键字对应的条目的方法也不相同。 具体来说, 如果查找表 FLOW— TABLE— 1 釆用线性查找模式, 则在 转发设备转发报文时, 当跳转到 FLOW— TABLE— 1 表时, 将关键字提取 出来, 并将该关键字作为索引直接查找 FLOW— TABLE— 1 表, 得到其需 要执行的转发操作。 如果查找表 FLOW— TABLE— 2釆用 hash查找模式, 则在转发设备转 发报文时, 当跳转到 FLOW— TABLE— 2 表时, 将关键字提取出来, 并将 关键字进行 hash运算后得出 hash桶索引,在桶内搜索条目的关键字与本 次查找的关键字相等的条目, 将该条目的转发动作读取出来并执行。
如果查找表 FLOW— TABLE— 3釆用最长匹配查找模式, 在转发设备 转发报文时, 当跳转到 FLOW— TABLE— 3 表时, 将关键字提取出来, 并 将关键字进行第一运算后得出最长匹配索引, 利用该最长匹配索引在所 述查找表中搜索关键字与本次查找的关键字相等的条目, 将该条目的转 发动作读取出来并执行。
如果查找表 FLOW— TABLE— 4釆用掩码查找模式, 在转发设备转发 报文时, 当跳转到 FLOW— TABLE— 4 表时, 将关键字提取出来, 将关键 字在 TCAM中进行查找, 当命中一个条目后, 将该条目的转发动作读取 出来并执行。
相应的, 如图 4所示, 本发明还提供一种控制器 10 , 包括: 发送单元 11 , 用于发送查找表创建消息到转发设备以使所述转发设 备创建查找表, 所述查找表创建消息包括所述查找表的标识和所述查找 表的查找模式;
所述发送单元 11 , 还用于发送条目添加消息到所述转发设备以使所 述转发设备在所述查找表中添加条目, 所述条目添加消息包括要添加的 转发动作及所述转发动作的索引参数。
本发明实施例提供的控制器 10 , 通过发送单元 11 向转发设备发送 查找表创建消息, 在查找表创建消息中包括了查找表的标识和所述查找 表的查找模式, 为不同的查找表提供不同的查找模式, 而不必使所有查 找表都只能釆用掩码匹配模式进行查找, 因而大大减少了用于进行掩码 匹配的 TCAM电路的数量, 使芯片门电路数量降低、 功耗减小。 可选的,所述发送单元 11发送的查找表创建消息中的查找模式包括 线性查找模式、 哈希 hash查找模式、 最长匹配查找模式和掩码查找模式 之一„
相应的, 如图 5所示, 本发明的实施例还提供一种转发设备 20 , 包 括:
接收单元 21 , 用于接收控制器发送的查找表创建消息, 所述查找表 创建消息包括查找表的标识和所述查找表的查找模式;
所述接收单元 21 , 还用于接收所述控制器发送的条目添加消息, 所 述条目添加消息包括要添加的转发动作及所述转发动作的索引参数; 创建单元 22 , 用于根据所述查找表创建消息创建查找表并设置所述 查找表的查找模式;
添加单元 23 , 用于根据所述条目添加消息在所述查找表中添加与所 述条目添加消息对应的条目。 本发明实施例提供的转发设备 20 , 能够通过接收单元 21 接收查找 表创建消息, 在该查找表创建消息中包括了查找表的标识和所述查找表 的查找模式, 为不同的查找表提供不同的查找模式, 并由创建单元 22和 添加单元 23 创建这些不同查找模式的查找表并向所述查找表中添加条 目, 不必使所有查找表都只能釆用掩码匹配模式进行查找, 因而大大减 少了用于进行掩码匹配的 TCAM电路的数量, 使芯片门电路数量降低、 功耗减小。
可选的,所述接收单元 21接收的查找表创建消息中的查找模式包括 线性查找模式、 哈希 hash查找模式、 最长匹配查找模式和掩码查找模式 之一„
可选的, 如果所述查找表的查找模式为线性查找模式, 所述索引参 数包括关键字, 所述添加单元 23具体用于:
以所述关键字为索引在所述查找表中得到一个空闲条目; 将所述转发动作写入所述空闲条目。
可选的, 如果所述查找表的查找模式为哈希 hash查找模式, 所述索 引参数包括关键字, 所述添加单元 23具体用于: 将所述关键字进行哈希 hash运算得到桶索引, 根据所述桶索引在所 述查找表中得出哈希 hash桶;
将所述转发动作和所述关键字写入所述哈希 hash桶中的一个空闲条 。 可选的, 如果所述查找表的查找模式为最长匹配查找模式, 所述索 引参数包括关键字和掩码长度, 所述添加单元 23具体用于: 将所述关键字及所述掩码长度进行第一运算得到最长匹配索引; 根据所述最长匹配索引在所述查找表中找到一个空闲条目; 将所述转发动作、 所述关键字和所述掩码长度写入所述空闲条目。 可选的, 如果所述查找表的查找模式为掩码查找模式, 所述索引参 数包括关键字和掩码, 所述添加单元 23具体用于: 将所述关键字及所述掩码通过三态内容寻址寄存器得到一个空闲条 ;
将所述转发动作、 所述关键字和所述掩码写入所述空闲条目。 进一步的, 如图 6所示, 在本发明的另一个实施例中, 所述转发设 备 20还可包括: 提取单元 24 , 用于当报文跳转到所述查找表时, 提取所述报文中的 关键字;
查找单元 25 , 用于以所述查找表对应的查找模式查找所述关键字对 应的条目;
执行单元 26 , 用于执行查找到的条目 中的转发动作。
这样, 当报文跳转到所述查找表时, 能够根据不同查找表的查 找模式进行转发动作的查找, 而不必使所有查找表都只能釆用掩码 查找模式进行查找, 因而大大减少了用于进行掩码匹配的 TCAM电路 的数量, 使芯片门电路数量降低、 功耗减小。
相应的, 如图 7 所示, 本发明的实施例还提供一种控制器 3 0 , 包括: 存储器 31、 无线通信模块 32、 处理器 3 3。 其中,
存储器 31 , 用于存储软件程序和数据; 无线通信模块 32, 用于向转发设备发送消息, 特别的, 将处理 器 33的消息发送给转发设备;
通常, 所述无线通信模块 32 包括但不限于蓝牙、 WiFi等。
处理器 33, 用于执行存储器中的软件程序, 具体执行:
发送查找表创建消息到转发设备以使所述转发设备创建查找 表, 所述查找表创建消息包括所述查找表的标识和所述查找表的查 找模式;
发送条目添加消息到所述转发设备以使所述转发设备在所述查 找表中添加条目 , 所述条目添加消息包括要添加的转发动作及所述 转发动作的索引参数。
本发明实施例提供的控制器 30, 向转发设备发送查找表创建消 息, 在查找表创建消息中包括了查找表的标识和所述查找表的查找 模式, 为不同的查找表提供不同的查找模式, 而不必使所有查找表 都只能釆用掩码匹配模式进行查找, 因而大大减少了用于进行掩码 匹配的 TCAM电路的数量, 使芯片 门电路数量降低、 功耗减小。
可选的, 所述处理器 33发送的查找表创建消息中的查找模式包 括线性查找模式、 哈希 hash查找模式、 最长匹配查找模式和掩码查 找模式之一。
相应的, 如图 8所示, 本发明的实施例还提供一种转发设备 40, 包括: 存储器 41、 无线通信模块 42、 处理器 43。 其中,
存储器 41, 用于存储软件程序和数据;
无线通信模块 42, 用于接收控制器发送的消息, 特别的, 将控 制器发送的消息给处理器 43进行处理;
通常, 所述无线通信模块包括但不限于蓝牙、 WiFi等。
处理器 43, 用于执行存储器中的软件程序, 具体执行:
接收控制器发送的查找表创建消息, 所述查找表创建消息包括 查找表的标识和所述查找表的查找模式;
接收所述控制器发送的条目添加消息, 所述条目添加消息包括 要添加的转发动作及所述转发动作的索引参数; 根据所述查找表创建消息创建查找表并设置所述查找表的查找 模式;
根据所述条目添加消息在所述查找表中添加与所述条目添加消 息对应的条目 。
本发明实施例提供的转发设备 40, 能够接收查找表创建消息, 在该查找表创建消息中包括了查找表的标识和所述查找表的查找模 式, 为不同的查找表提供不同的查找模式, 并创建这些不同查找模 式的查找表并向所述查找表中添加条目 , 不必使所有查找表都只能 釆用掩码匹配模式进行查找, 因而大大减少了用于进行掩码匹配的 TCAM电路的数量, 使芯片 门电路数量降低、 功耗减小。
可选的, 所述处理器 43接收的查找表创建消息中的查找模式包 括线性查找模式、 哈希 hash查找模式、 最长匹配查找模式和掩码查 找模式之一。
具体的, 所述查找表的查找模式为线性查找模式, 所述索引参 数包括关键字, 所述处理器 43具体用于:
以所述关键字为索引在所述查找表中得到一个空闲条目 ; 将所述转发动作写入所述空闲条目 。
具体的, 所述查找表的查找模式为哈希 hash查找模式, 所述索 引参数包括关键字, 所述处理器 43具体用于:
将所述关键字进行哈希 hash运算得到桶索引, 根据所述桶索引 在所述查找表中得出哈希 hash桶;
将所述转发动作和所述关键字写入所述哈希 hash 桶中的一个 空闲条目 。
具体的, 所述查找表的查找模式为最长匹配查找模式, 所述索 引参数包括关键字和掩码长度, 所述处理器 43具体用于:
将所述关键字及所述掩码长度进行第一运算得到最长匹配索 引;
根据所述最长匹配索引在所述查找表中找到一个空闲条目 ; 将所述转发动作、 所述关键字和所述掩码长度写入所述空闲条 。
具体的, 所述查找表的查找模式为掩码查找模式, 所述索引参 数包括关键字和掩码, 所述处理器 4 3具体用于:
将所述关键字及所述掩码通过三态内容寻址寄存器得到一个空 闲条目;
将所述转发动作、 所述关键字和所述掩码写入所述空闲条目 。 进一步的, 所述处理器 4 3还用于:
当报文跳转到所述查找表时, 提取所述报文中的关键字; 以所述查找表对应的查找模式查找所述关键字对应的条目 ; 执行查找到的条目 中的转发动作。
相应的, 如图 9所示, 本发明的实施例还提供一种转发系统 60 , 包 括控制器 61和转发设备 62 , 所述转发设备 62与所述控制器 61相连。
所述控制器 61 , 用于发送查找表的创建消息到所述转发设备 62 , 所 述创建消息包括所述查找表的标识和所述查找表的查找模式; 以及发送 条目添加消息到所述转发设备 62 , 所述条目添加消息包括要添加的转发 动作以及所述转发动作的索引参数;
所述转发设备 62 , 用于接收所述查找表的创建消息, 根据所述创建消 息创建查找表, 并利用所述查找模式设置所创建的查找表; 以及根据所述 条目添加消息中的转发动作以及索引参数在所述查找表中添加对应的条 。 本发明实施例提供的转发系统 60 , 在查找表创建消息中包括了查找 表的标识和所述查找表的查找模式, 为不同的查找表提供不同的查找模 式, 而不必使所有查找表都只能釆用掩码匹配模式进行查找, 因而大大 减少了用于进行掩码匹配的 TCAM电路的数量,使芯片门电路数量降低、 功耗减小。
通过以上的实施方式的描述, 所属领域的技术人员可以清楚地 了解到本发明可借助软件加必需的通用硬件的方式来实现, 当然也 可以通过硬件, 但很多情况下前者是更佳的实施方式。 基于这样的 可以以软件产品的形式体现出来, 该计算机软件产品存储在可读取 的存储介质中, 如计算机的软盘, 硬盘或光盘等, 包括若干指令用 以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络设 备等) 执行本发明各个实施例所述的方法。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围 并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围 之内。 因此, 本发明的保护范围应以所述权利要求的保护范围为准。

Claims

权 利 要 求 书
1、 一种查找表的创建方法, 其特征在于, 包括: 接收控制器发送的查找表创建消息, 所述查找表创建消息包括查找 表的标识和所述查找表的查找模式; 根据所述查找表创建消息创建查找表并设置所述查找表的查找模 式;
接收所述控制器发送的条目添加消息, 所述条目添加消息包括要添 加的转发动作及所述转发动作的索引参数;
根据所述条目添加消息在所述查找表中添加与所述条目添加消息对 应的条目。
2、 根据权利要求 1所述的方法, 其特征在于, 所述查找模式包括线 性查找模式、 哈希 hash查找模式、 最长匹配查找模式和掩码查找模式之
3、 根据权利要求 2所述的方法, 其特征在于, 所述查找表的查找模 式为线性查找模式, 所述索引参数包括关键字, 所述根据所述条目添加 消息在所述查找表中添加与所述条目添加消息对应的条目包括:
以所述关键字为索引在所述查找表中得到一个空闲条目; 将所述转发动作写入所述空闲条目。
4、 根据权利要求 2所述的方法, 其特征在于, 所述查找表的查找模 式为哈希 hash查找模式, 所述索引参数包括关键字, 所述根据所述条目 添加消息在所述查找表中添加与所述条目添加消息对应的条目包括: 将所述关键字进行哈希 hash运算得到桶索引, 根据所述桶索引在所 述查找表中得出哈希 hash桶;
将所述转发动作和所述关键字写入所述哈希 hash桶中的一个空闲条 。
5、 根据权利要求 2所述的方法, 其特征在于, 所述查找表的查找模 式为最长匹配查找模式, 所述索引参数包括关键字和掩码长度, 所述根 据所述条目添加消息在所述查找表中添加与所述条目添加消息对应的条 目包括: 将所述关键字及所述掩码长度进行第一运算得到最长匹配索引; 根据所述最长匹配索引在所述查找表中找到一个空闲条目; 将所述转发动作、 所述关键字和所述掩码长度写入所述空闲条目。
6、 根据权利要求 2所述的方法, 其特征在于, 所述查找表的查找模 式为掩码查找模式, 所述索引参数包括关键字和掩码, 所述根据所述条 目添加消息在所述查找表中添加所述转发动作包括: 将所述关键字及所述掩码通过三态内容寻址寄存器得到一个空闲条 ; 将所述转发动作、 所述关键字和所述掩码写入所述空闲条目。
7、 一种根据权利要求 1 -6中任一项创建的查找表的查询方法, 其特 征在于, 包括:
当报文跳转到所述查找表时, 提取所述报文的关键字;
以所述查找表对应的查找模式查找所述关键字对应的条目; 执行查找到的条目中的转发动作。
8、 一种转发设备, 其特征在于, 包括: 接收单元, 用于接收控制器发送的查找表创建消息, 所述查找表创 建消息包括查找表的标识和所述查找表的查找模式;
所述接收单元, 还用于接收所述控制器发送的条目添加消息, 所述 条目添加消息包括要添加的转发动作及所述转发动作的索引参数; 创建单元, 用于根据所述查找表创建消息创建查找表并设置所述查 找表的查找模式;
添加单元, 用于根据所述条目添加消息在所述查找表中添加与所述 条目添加消息对应的条目。
9、 根据权利要求 8所述的转发设备, 其特征在于, 所述接收单元接 收的查找表创建消息中的查找模式包括线性查找模式、 哈希 hash查找模 式、 最长匹配查找模式和掩码查找模式之一。
10、 根据权利要求 9所述的转发设备, 其特征在于, 所述查找表的 查找模式为线性查找模式, 所述索引参数包括关键字, 所述添加单元具 体用于:
以所述关键字为索引在所述查找表中得到一个空闲条目; 将所述转发动作写入所述空闲条目。
11、 根据权利要求 9所述的转发设备, 其特征在于, 所述查找表的 查找模式为哈希 hash查找模式, 所述索引参数包括关键字, 所述添加单 元具体用于:
将所述关键字进行哈希 hash运算得到桶索引, 根据所述桶索引在所 述查找表中得出哈希 hash桶;
将所述转发动作和所述关键字写入所述哈希 hash桶中的一个空闲条 。
12、 根据权利要求 9所述的转发设备, 其特征在于, 所述查找表的 查找模式为最长匹配查找模式, 所述索引参数包括关键字和掩码长度, 所述添加单元具体用于: 将所述关键字及所述掩码长度进行第一运算得到最长匹配索引; 根据所述最长匹配索引在所述查找表中找到一个空闲条目; 将所述转发动作、 所述关键字和所述掩码长度写入所述空闲条目。
13、 根据权利要求 9所述的转发设备, 其特征在于, 所述查找表的 查找模式为掩码查找模式, 所述索引参数包括关键字和掩码, 所述添加 单元具体用于: 将所述关键字及所述掩码通过三态内容寻址寄存器得到一个空闲条 ; 将所述转发动作、 所述关键字和所述掩码写入所述空闲条目。
14、 根据权利要求 8-13中任一项所述的转发设备, 其特征在于, 还 包括:
提取单元, 用于当报文跳转到所述查找表时, 提取所述报文中的关 键字; 查找单元, 用于以所述查找表对应的查找模式查找所述关键字对应 的条目; 执行单元, 用于执行查找到的条目中的转发动作。
15、 一种控制器, 其特征在于, 包括: 发送单元, 用于发送查找表创建消息到转发设备以使所述转发设备 创建查找表, 所述查找表创建消息包括所述查找表的标识和所述查找表 的查找模式;
所述发送单元还用于发送条目添加消息到所述转发设备以使所述转 发设备在所述查找表中添加条目, 所述条目添加消息包括要添加的转发 动作及所述转发动作的索引参数。
16、 一种转发设备, 其特征在于, 包括:
存储器, 用于存储软件程序和数据;
无线通信模块, 用于接收控制器发送的消息, 将控制器发送的消 息给处理器进行处理;
处理器, 用于执行存储器中的软件程序, 具体执行:
接收控制器发送的查找表创建消息, 所述查找表创建消息包括查 找表的标识和所述查找表的查找模式;
接收所述控制器发送的条目添加消息, 所述条目添加消息包括要 添加的转发动作及所述转发动作的索引参数;
根据所述查找表创建消息创建查找表并设置所述查找表的查找 模式;
根据所述条目添加消息在所述查找表中添加与所述条目添加消 息对应的条目 。
17、 根据权利要求 16所述的转发设备, 其特征在于, 所述处理器接 收的查找表创建消息中的查找模式包括线性查找模式、 哈希 hash查找模 式、 最长匹配查找模式和掩码查找模式之一。
18、 根据权利要求 16或 17所述的转发设备, 其特征在于, 所述处 理器还用于: 当报文跳转到所述查找表时, 提取所述报文中的关键字; 以所述查找表对应的查找模式查找所述关键字对应的条目; 执行查找到的条目中的转发动作。
19、 一种控制器, 其特征在于, 包括:
存储器, 用于存储软件程序和数据;
无线通信模块, 用于向转发设备发送消息, 将处理器的消息发送 给转发设备;
处理器, 用于执行存储器中的软件程序, 具体执行:
发送查找表创建消息到转发设备以使所述转发设备创建查找表, 所述查找表创建消息包括所述查找表的标识和所述查找表的查找模 式;
发送条目添加消息到所述转发设备以使所述转发设备在所述查 找表中添加条目 , 所述条目添加消息包括要添加的转发动作及所述转 发动作的索引参数。
20、 一种转发系统, 包括控制器和转发设备, 所述转发设备与所述 控制器相连, 其特征在于, 所述控制器, 用于发送查找表的创建消息到所述转发设备, 所述创 建消息包括所述查找表的标识和所述查找表的查找模式; 以及发送条目 添加消息到所述转发设备, 所述条目添加消息包括要添加的转发动作以 及所述转发动作的索引参数; 所述转发设备, 用于接收所述查找表的创建消息, 根据所述创建消 息创建查找表, 并利用所述查找模式设置所创建的查找表; 以及根据所 述条目添加消息中的转发动作以及索引参数在所述查找表中添加对应的 条目。
PCT/CN2012/087445 2012-12-25 2012-12-25 查找表的创建方法、查询方法、控制器、转发设备和系统 WO2014100981A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
ES12891240.9T ES2626061T3 (es) 2012-12-25 2012-12-25 Método de creación de tablas de búsqueda y método de consulta, y su controlador, dispositivo de reenvío y sistema
EP12891240.9A EP2924926B1 (en) 2012-12-25 2012-12-25 Lookup table creation method and query method, and controller, forwarding device and system therefor
PCT/CN2012/087445 WO2014100981A1 (zh) 2012-12-25 2012-12-25 查找表的创建方法、查询方法、控制器、转发设备和系统
CN201280003709.6A CN104025520B (zh) 2012-12-25 2012-12-25 查找表的创建方法、查询方法、控制器、转发设备和系统
US14/749,261 US9705795B2 (en) 2012-12-25 2015-06-24 Look-up table creation method and query method, controller, forwarding device, and system
US15/620,522 US10243852B2 (en) 2012-12-25 2017-06-12 Look-up table creation method and query method, controller, forwarding device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/087445 WO2014100981A1 (zh) 2012-12-25 2012-12-25 查找表的创建方法、查询方法、控制器、转发设备和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/749,261 Continuation US9705795B2 (en) 2012-12-25 2015-06-24 Look-up table creation method and query method, controller, forwarding device, and system

Publications (1)

Publication Number Publication Date
WO2014100981A1 true WO2014100981A1 (zh) 2014-07-03

Family

ID=51019659

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/087445 WO2014100981A1 (zh) 2012-12-25 2012-12-25 查找表的创建方法、查询方法、控制器、转发设备和系统

Country Status (5)

Country Link
US (2) US9705795B2 (zh)
EP (1) EP2924926B1 (zh)
CN (1) CN104025520B (zh)
ES (1) ES2626061T3 (zh)
WO (1) WO2014100981A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131617A1 (zh) * 2014-09-18 2015-09-11 中兴通讯股份有限公司 流表处理方法、装置、开放流控制器及开放流交换机
CN115567446A (zh) * 2022-07-07 2023-01-03 华为技术有限公司 报文转发方法、装置、计算设备及卸载卡

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014100981A1 (zh) 2012-12-25 2014-07-03 华为技术有限公司 查找表的创建方法、查询方法、控制器、转发设备和系统
CN105099913B (zh) * 2014-04-21 2018-07-20 新华三技术有限公司 一种报文转发方法及设备
US9852807B1 (en) * 2015-12-17 2017-12-26 Cadence Design Systems, Inc. Content addressable memory in an emulation system
CN107818151B (zh) * 2017-10-24 2020-12-11 湖南恒茂高科股份有限公司 数据查找方法、装置、计算机设备和存储介质
CN111177476B (zh) * 2019-12-05 2023-08-18 北京百度网讯科技有限公司 数据查询方法、装置、电子设备及可读存储介质
TWI797883B (zh) * 2021-12-10 2023-04-01 大陸商達發科技(蘇州)有限公司 Wi-Fi服務流問題的除錯系統及除錯方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1983976A (zh) * 2006-05-31 2007-06-20 华为技术有限公司 一种转发路由表存放的方法及装置
US7756150B2 (en) * 2006-02-14 2010-07-13 Samsung Electronics, Co., Ltd. Communication method for multi-mode wireless terminal
CN101834690A (zh) * 2010-04-27 2010-09-15 中兴通讯股份有限公司 一种波长分配的计算方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966421B2 (en) * 2000-06-21 2011-06-21 SAtech Group, A.B. Limited Liability Company Method and apparatus for logically expanding the length of a search key
US7426518B2 (en) * 2003-03-28 2008-09-16 Netlogic Microsystems, Inc. System and method for efficiently searching a forwarding database that is split into a bounded number of sub-databases having a bounded size
CN1319325C (zh) * 2003-04-16 2007-05-30 华为技术有限公司 一种采用哈希链表查找路由表项的方法
CN100496019C (zh) * 2005-11-10 2009-06-03 中国科学院计算技术研究所 IPv6路由表快速查找和更新的方法
WO2010115060A2 (en) * 2009-04-01 2010-10-07 Nicira Networks Method and apparatus for implementing and managing virtual switches
WO2010138639A2 (en) * 2009-05-26 2010-12-02 Arizona Board Of Regents, For And On Behalf Of Arizona State University Longest prefix match internet protocol content addressable memories and related methods
US9167501B2 (en) * 2011-08-29 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US9450870B2 (en) * 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US10116696B2 (en) * 2012-05-22 2018-10-30 Sri International Network privilege manager for a dynamically programmable computer network
US9100285B1 (en) * 2012-12-18 2015-08-04 Juniper Networks, Inc. Dynamic control channel establishment for software-defined networks having centralized control
WO2014100981A1 (zh) * 2012-12-25 2014-07-03 华为技术有限公司 查找表的创建方法、查询方法、控制器、转发设备和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756150B2 (en) * 2006-02-14 2010-07-13 Samsung Electronics, Co., Ltd. Communication method for multi-mode wireless terminal
CN1983976A (zh) * 2006-05-31 2007-06-20 华为技术有限公司 一种转发路由表存放的方法及装置
CN101834690A (zh) * 2010-04-27 2010-09-15 中兴通讯股份有限公司 一种波长分配的计算方法及装置

Non-Patent Citations (1)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015131617A1 (zh) * 2014-09-18 2015-09-11 中兴通讯股份有限公司 流表处理方法、装置、开放流控制器及开放流交换机
CN105490946A (zh) * 2014-09-18 2016-04-13 中兴通讯股份有限公司 流表处理方法、装置、开放流控制器及开放流交换机
CN115567446A (zh) * 2022-07-07 2023-01-03 华为技术有限公司 报文转发方法、装置、计算设备及卸载卡

Also Published As

Publication number Publication date
CN104025520A (zh) 2014-09-03
EP2924926A4 (en) 2016-01-06
US10243852B2 (en) 2019-03-26
EP2924926A1 (en) 2015-09-30
EP2924926B1 (en) 2017-04-05
ES2626061T3 (es) 2017-07-21
CN104025520B (zh) 2017-04-26
US9705795B2 (en) 2017-07-11
US20150295825A1 (en) 2015-10-15
US20170279718A1 (en) 2017-09-28

Similar Documents

Publication Publication Date Title
WO2014100981A1 (zh) 查找表的创建方法、查询方法、控制器、转发设备和系统
US9860180B2 (en) Multi-level flow table search method and apparatus
US11418632B2 (en) High speed flexible packet classification using network processors
TWI728036B (zh) 資訊處理方法、裝置和系統
WO2018036457A1 (zh) 一种哈希冲突的处理方法、装置及交换设备和存储介质
CN108363621B (zh) numa架构下的报文转发方法、装置、存储介质及电子设备
EP3432157B1 (en) Data table joining mode processing method and apparatus
Ma et al. Leveraging parallelism for multi-dimensional packetclassification on software routers
US10552068B2 (en) Access method and device for random access memories, control chip and storage medium
CN106789859B (zh) 报文匹配方法及装置
US9135833B2 (en) Process for selecting compressed key bits for collision resolution in hash lookup table
WO2021104393A1 (zh) 多规则流分类的实现方法、设备和存储介质
CN116545921A (zh) 基于ecmp的报文转发方法、装置、设备及存储介质
CN104205745A (zh) 报文处理的方法与设备
CN114338529B (zh) 五元组规则匹配方法及装置
WO2019241926A1 (zh) 访问控制列表的管理方法及装置
US11442735B2 (en) Search instruction to access a TCAM and memory to return a program counter value from the TCAM
US10476785B2 (en) IP routing search
CN111107142A (zh) 业务访问方法和装置
CN104077358A (zh) 用于海量短文本信息发现的自动机方法
CN116962321B (zh) 数据包传输方法、传输配置方法、装置、设备及介质
JP6859281B2 (ja) 検索装置、検索方法及び検索プログラム
CN114615195A (zh) 用于fpga的以太网五元组快速匹配查找方法及装置
CN114138496A (zh) 一种硬件资源管理方法、装置、电子设备及存储介质
CN116781526A (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: 12891240

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2012891240

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012891240

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE