CN106330694A - Method and device for realizing flow table traversal business - Google Patents

Method and device for realizing flow table traversal business Download PDF

Info

Publication number
CN106330694A
CN106330694A CN201510364059.3A CN201510364059A CN106330694A CN 106330694 A CN106330694 A CN 106330694A CN 201510364059 A CN201510364059 A CN 201510364059A CN 106330694 A CN106330694 A CN 106330694A
Authority
CN
China
Prior art keywords
business
result
module
control module
stream table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201510364059.3A
Other languages
Chinese (zh)
Inventor
路鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510364059.3A priority Critical patent/CN106330694A/en
Priority to PCT/CN2016/083703 priority patent/WO2016206520A1/en
Publication of CN106330694A publication Critical patent/CN106330694A/en
Withdrawn legal-status Critical Current

Links

Abstract

The invention provides a method and device for realizing flow table traversal business. The method comprises the following steps: a control module obtains a business parameter of the flow table traversal business and releases the business parameter to a co-processing module; and the co-processing module controls network processors therein to process the flow table traversal business according to the business parameter. By implementation of the method and device provided by the invention, the flow table traversal business is executed by the network processors, various algorithms can be implemented by hardware, relatively high lookup and forwarding performance can be realized on the premise of realizing complex congestion management, queue scheduling, flow classification and QoS function, ''hard forwarding'' is realized, compared with a pure hardware chip, the network processors fully support programming, the programming mode is simple, and upon the emergence of new technology or demand, the new technology or demand can be easily realized by microcode programming, and thus the efficiency is high.

Description

A kind of implementation method flowing table traversal business and device
Technical field
The present invention relates to data communication field, particularly relate to a kind of implementation method flowing table traversal business and device.
Background technology
Along with the Internet explosive growth, network traffics sharply increase, and various emerging services emerge in an endless stream, logical Cross and set up the data communications equipment of the context environmental that stream table describes each data message and can set up high-volume conversation table , generally more than 10,000,000 orders of magnitude, and how high-efficiency management becomes communication equipment one to these a large amount of stream tables The problem that have to solve.
In traditional solution, directly accessed the storage device of storage stream table by cup, due to cpu Disposal ability and the restriction of pci bus speed, when list item is more, efficiency comparison is low.
Therefore, how a kind of implementation method putting forward high efficiency stream table traversal business is provided, is this area skill The technical problem that art personnel are urgently to be resolved hurrily.
Summary of the invention
The invention provides a kind of implementation method flowing table traversal business and device, to solve prior art efficiency Relatively low problem.
The invention provides a kind of implementation method flowing table traversal business, comprising: control module obtains stream table The service parameter of traversal business, and it is handed down to Co-processor Module;Co-processor Module is each network processes in controlling it Device processes stream table traversal business according to service parameter.
Further, also include: control module obtains the result of Co-processor Module.
Further, the result of control module acquisition Co-processor Module includes: Co-processor Module will process Result sends to memory module, and control module obtains result from memory module.
Further, also include: control module is added up according to result, and show statistics to user Result.
Further, in Co-processor Module controls it, each network processing unit processes stream table traversal according to service parameter Business includes: stream list scheduling is given each business core, business according to service parameter by the scheduling core in network processing unit Core is processed as the stream table of its scheduling.
The invention provides a kind of flow table traversal business realize device, comprising: control module, be used for obtaining Take the service parameter of stream table traversal business, and be handed down to Co-processor Module;Co-processor Module, is used for controlling it Interior each network processing unit processes stream table traversal business according to service parameter.
Further, control module is additionally operable to obtain the result of Co-processor Module.
Further, also including memory module, Co-processor Module is used for sending to memory module result, Control module is for obtaining result from memory module.
Further, control module is additionally operable to add up according to result, and shows statistics knot to user Really.
Further, Co-processor Module is specifically for controlling scheduling core in network processing unit according to service parameter Giving each business core by stream list scheduling, business core is processed as the stream table of its scheduling.
Beneficial effects of the present invention:
The invention provides a kind of implementation method flowing table traversal business, use network processing unit to perform stream table time Going through business, various algorithms can be realized by hardware, is realizing the congestion management of complexity, queue scheduling, stream On the premise of classification and qos feature, it is also possible to reach high lookup, forwarding performance, it is achieved " firmly forwarding "; Relative to the chip of pure hardware, programming supported completely by network processing unit, and programming mode is simple, once has new Technology or demand occur, can be realized by microcode programming easily;Additionally, network processing unit Also there is extensibility, can interconnect between multiple network processing units, constitute network processing unit bunch, to support The more network processes of large high-speed, can effectively solve existing for existing solution inefficient asks Topic.
Accompanying drawing explanation
The structural representation realizing device that Fig. 1 provides for first embodiment of the invention;
The flow chart of the implementation method that Fig. 2 provides for second embodiment of the invention;
The flow chart of the implementation method that Fig. 3 provides for third embodiment of the invention.
Detailed description of the invention
Now by the way of detailed description of the invention combines accompanying drawing, the present invention is made and further annotate explanation.
First embodiment:
The structural representation realizing device that Fig. 1 provides for first embodiment of the invention, as shown in Figure 1, In the present embodiment, the device 1 that realizes of the stream table traversal business that the present invention provides includes:
Control module 11, for obtaining the service parameter of stream table traversal business, and is handed down to Co-processor Module 12;
Co-processor Module 12, in being used for controlling it, each network processing unit processes stream table traversal industry according to service parameter Business.
In certain embodiments, the control module 11 in above-described embodiment is additionally operable to obtain Co-processor Module 12 Result.
In certain embodiments, as it is shown in figure 1, the device 1 that realizes in above-described embodiment also includes storing mould Block 13, Co-processor Module 12 for result being sent to memory module 13, control module 11 for from Memory module obtains 13 results.
In certain embodiments, the control module 11 in above-described embodiment is additionally operable to unite according to result Meter, and show statistical result to user.
In certain embodiments, the Co-processor Module 12 in above-described embodiment is specifically for controlling network processing unit In scheduling core according to service parameter will stream list scheduling give each business core, business core be processed as its scheduling stream table.
Second embodiment:
The flow chart of the implementation method that Fig. 2 provides for second embodiment of the invention, as shown in Figure 2, in this reality Executing in example, the implementation method that the present invention provides comprises the following steps:
S201: control module obtains the service parameter of stream table traversal business, and is handed down to Co-processor Module;
S202: Co-processor Module in controlling it each network processing unit according to service parameter process stream table traversal business.
In certain embodiments, above-described embodiment also includes: control module obtains the process knot of Co-processor Module Really.
In certain embodiments, the control module in above-described embodiment obtains the result bag of Co-processor Module Include: result is sent to memory module by Co-processor Module, and control module processes knot from memory module acquisition Really.
In certain embodiments, above-described embodiment also includes: control module is added up according to result, And show statistical result to user.
In certain embodiments, the Co-processor Module in above-described embodiment in controlling it each network processing unit according to Service parameter processes stream table traversal business and includes: the scheduling core in network processing unit will flow table according to service parameter Being scheduled to each business core, business core is processed as the stream table of its scheduling.
In conjunction with concrete application example the present invention done and further annotate explanation.
3rd embodiment:
The flow chart of the implementation method that Fig. 3 provides for third embodiment of the invention, from the figure 3, it may be seen that in this reality Executing in example, the implementation method that the present invention provides comprises the following steps:
S301: control module obtains service parameter and is handed down to Co-processor Module.
User's issuing service ask, control module receives the service request that user issues, by obtain parameter with The form of message is handed down to bottom Co-processor Module, while listening for the treatment progress of Co-processor Module.
S302: Co-processor Module processes stream table traversal business.
Two network processing units of Co-processor Module receive the statistical message that control module issues, respectively by parameter Corresponding Business Processing, here stream table Business Processing is carried out according to user's request, relatively with biography after parsing The CPU of system directly travels through, and the application uses the parallel processing of many kernels, a kernel to take charge of command scheduling, Other kernels are responsible for ergodic flow list processing corresponding service, rather than a kernel travels through all stream tables, but by whole Block kernel all gives other Business Processing kernel processes to improve efficiency, finally by result or write peripheral hardware storage In equipment or directly issue control module in form of a message.
In this application, stream table traversal flow process is placed on Co-processor Module and processes, if stream table total amount is M, design Carrying out parallel processing whole stream table traversal flow process with multiple cores, one of them core is used for being command scheduling, remaining L Individual core is used for doing concrete Business Processing, receives, as the core of command scheduling, the business that top level control module issues and disappears During breath, first initialize, including arranging overall control variable index_cnt, by index_cnt's Value is it is known that this time Business Processing progress.When index_cnt is equal to L, notify that other cores begin stepping through Stream table, simultaneously for improving efficiency, the core doing Business Processing is not that a core travels through all stream tables, but will Monoblock stream table is divided into L block, here be not averagely average, but one is probably divided equally, principle Be each core be responsible for stream table block between there is no overlap, cover all stream tables, it addition, allow each as far as possible simultaneously The portfolio that business core processes is suitable, to reach to plan as a whole the purpose of efficiency optimization.As shown in Figure 3, it is assumed that have M Bar stream table, a=M/L, if the stream in the range of responsible (i-1) * a+1 to the i*a of such i-th business core Table business is the most permissible, the stream table block that L business core parallel processing is each responsible for, when each business core has processed The stream table block being each responsible for, then subtract 1, when index_cnt is kept to by control variable index_cnt of the overall situation Just representing this whole Business Processing when 0 to complete, at this moment the result of all business cores is just integrated by scheduling core, By end product or directly report control module or write peripheral hardware storage device, if write peripheral hardware storage Equipment, needs to notify that top level control modular service is processed the most simultaneously and completes.
S303: control module statistical disposition result.
When control module listen to Co-processor Module added up time, respectively obtain two network processing units Result reprocess, final result is fed back to upper-layer user.Concrete enters as a example by TOP-N adds up Row explanation, TOP-N statistics is a more complicated embodiment on the basis of traveling through based on above-mentioned stream table, this Bright can with express statistic traffic ranking information based on ip address, agreement etc., respectively show seniority among brothers and sisters first 10, First 20, first 50.
TOP-N statistics comprises the following steps:
User will flow table sending down service to control module by command line parameter configuration.
Parse relevant parameter when control module receives when user adds up request, then parametric configuration become message, It is handed down to two network processing unit NP of Co-processor Module the most respectively.
Each NP is obtained, by the core doing command scheduling, the TOP-N statistical message that upper strata issues, does initialization flow Journey, is set to global variable index_cnt L (number of business core), monoblock stream table is divided into L part, Business core begins stepping through the stream table block being each responsible for, based on each stream table and issue parameter and do a hash chained list, All stream tables are done a statistics based on issuing parameter.The rule of HASH table all can be specified before creating HASH table Lattice, such as the M power bar of 2, take out corresponding stream table information in stream table according to the parameter obtained from message and make Doing HASH computing for keyword and obtain HASH value H, then, 0-(M-1) bit of value H is as HASH The INDEX table index IDX that list item is corresponding, without the INDEX list item of coupling, then needs newly-built one INDEX table and corresponding ENTRY table.INDEX table if there is coupling is then reflected by the value in INDEX table Penetrate the ENTRY table of its correspondence, here, because there may be HASH conflict, so after taking out ENTRY table, Also the list item being confirmed whether as being actually subjected to index is accurately mated, if it is by table by search key In statistical value add up, if not then needing a newly-built ENTRY table, and by its index value protect Exist in the previous ENTRY table conflicted with its hash, to set up contact.Each business core has processed each Just index_cnt is subtracted 1 after the business being responsible for, when the Nuclear monitoring of responsible command scheduling is 0 to index_cnt Time, represent business nuclear statistics business and complete, because HASH table is bigger, so can not will unite after completing statistics Meter result immediate feedback is to top level control module, but is saved in peripheral hardware storage device by all of HASH table, Notice top level control module bottom statistical service completes simultaneously.
When control module listen to two NP added up time, the peripheral hardware storage device under directly hanging from NP Read respective HASH and add up chained list.Because the statistical result of two network processing units is integrated into one, Build in peripheral hardware storage device so can once read one of them network processing unit with monoblock realizing when Vertical HASH chain, travels through the HASH statistic chain of another network processing unit on this basis, by with bottom It is accumulative or newly-built that same HASH sets up mode, and the statistical result of two network processing units is integrated into the most at last One HASH chain is saved in the internal memory of one piece of dynamic application.Finally travel through this HASH chain, with two points of rows Sequence method is discharged the statistical result of front TOP-N and is fed back to upper-layer user.
In summary, by the enforcement of the present invention, at least there is following beneficial effect:
Using network processing unit to perform stream table traversal business, various algorithms can be realized by hardware, is realizing On the premise of complicated congestion management, queue scheduling, flow point class and qos feature, it is also possible to reach high looking into Look for, forwarding performance, it is achieved " firmly forward ";Relative to the chip of pure hardware, network processing unit is supported completely Programming, programming mode is simple, once has new technology or demand to occur, can pass through microcode easily Programming realizes;Additionally, network processing unit also has extensibility, permissible between multiple network processing units Interconnection, constitutes network processing unit bunch, to support the network processes of more large high-speed, can effectively solve Inefficient problem existing for existing solution.
Below it is only the detailed description of the invention of the present invention, not the present invention is done any pro forma restriction, Any simple modification that embodiment of above is done by every technical spirit according to the present invention, equivalent variations, In conjunction with or modify, all still fall within the protection domain of technical solution of the present invention.

Claims (10)

1. the implementation method flowing table traversal business, it is characterised in that including:
Control module obtains the service parameter of stream table traversal business, and is handed down to Co-processor Module;
Co-processor Module in controlling it each network processing unit according to described service parameter process described stream table traversal industry Business.
2. implementation method as claimed in claim 1, it is characterised in that also include: described control module Obtain the result of described Co-processor Module.
3. implementation method as claimed in claim 2, it is characterised in that described control module obtains described The result of Co-processor Module includes: described result is sent to memory module by described Co-processor Module, Described control module obtains described result from described memory module.
4. implementation method as claimed in claim 2, it is characterised in that also include: described control module Add up according to described result, and show statistical result to user.
5. the implementation method as described in any one of Claims 1-4, it is characterised in that described association processes Module in controlling it each network processing unit according to described service parameter process described stream table traversal business include: net Stream list scheduling is given each business core, at described business core according to described service parameter by the scheduling core in network processor Manage the stream table for its scheduling.
6. one kind flow table traversal business realize device, it is characterised in that including:
Control module, for obtaining the service parameter of stream table traversal business, and is handed down to Co-processor Module;
Co-processor Module, in being used for controlling it, each network processing unit processes described stream table according to described service parameter Traversal business.
Realize device the most as claimed in claim 6, it is characterised in that described control module is additionally operable to obtain Take the result of described Co-processor Module.
Realize device the most as claimed in claim 7, it is characterised in that also include memory module, described Co-processor Module is for sending described result to memory module, and described control module is for depositing from described Storage module obtains described result.
Realize device the most as claimed in claim 7, it is characterised in that described control module is additionally operable to root Add up according to described result, and show statistical result to user.
10. as described in any one of claim 6 to 9, realize device, it is characterised in that described association processes Module will flow list scheduling to each industry specifically for controlling the scheduling core in network processing unit according to described service parameter Business core, described business core is processed as the stream table of its scheduling.
CN201510364059.3A 2015-06-26 2015-06-26 Method and device for realizing flow table traversal business Withdrawn CN106330694A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510364059.3A CN106330694A (en) 2015-06-26 2015-06-26 Method and device for realizing flow table traversal business
PCT/CN2016/083703 WO2016206520A1 (en) 2015-06-26 2016-05-27 Method and apparatus for implementing flow table traversal service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510364059.3A CN106330694A (en) 2015-06-26 2015-06-26 Method and device for realizing flow table traversal business

Publications (1)

Publication Number Publication Date
CN106330694A true CN106330694A (en) 2017-01-11

Family

ID=57584488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510364059.3A Withdrawn CN106330694A (en) 2015-06-26 2015-06-26 Method and device for realizing flow table traversal business

Country Status (2)

Country Link
CN (1) CN106330694A (en)
WO (1) WO2016206520A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030214948A1 (en) * 2002-05-18 2003-11-20 Jin Seung-Eui Router providing differentiated quality of service (QoS) and fast internet protocol packet classifying method for the router
CN1937574A (en) * 2005-09-19 2007-03-28 北京大学 Network flow classifying, state tracking and message processing device and method
CN101282303A (en) * 2008-05-19 2008-10-08 杭州华三通信技术有限公司 Method and apparatus for processing service packet
CN102938000A (en) * 2012-12-06 2013-02-20 武汉烽火网络有限责任公司 Unlocked flow table routing lookup algorithm adopting high-speed parallel execution manner
CN103401777A (en) * 2013-08-21 2013-11-20 中国人民解放军国防科学技术大学 Parallel search method and system of Openflow
US20140241356A1 (en) * 2013-02-25 2014-08-28 Telefonaktiebolaget L M Ericsson (Publ) Method and system for flow table lookup parallelization in a software defined networking (sdn) system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030214948A1 (en) * 2002-05-18 2003-11-20 Jin Seung-Eui Router providing differentiated quality of service (QoS) and fast internet protocol packet classifying method for the router
CN1937574A (en) * 2005-09-19 2007-03-28 北京大学 Network flow classifying, state tracking and message processing device and method
CN101282303A (en) * 2008-05-19 2008-10-08 杭州华三通信技术有限公司 Method and apparatus for processing service packet
CN102938000A (en) * 2012-12-06 2013-02-20 武汉烽火网络有限责任公司 Unlocked flow table routing lookup algorithm adopting high-speed parallel execution manner
US20140241356A1 (en) * 2013-02-25 2014-08-28 Telefonaktiebolaget L M Ericsson (Publ) Method and system for flow table lookup parallelization in a software defined networking (sdn) system
CN103401777A (en) * 2013-08-21 2013-11-20 中国人民解放军国防科学技术大学 Parallel search method and system of Openflow

Also Published As

Publication number Publication date
WO2016206520A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
CN106056212B (en) A kind of artificial neural networks core
CN104954253B (en) For the mainframe network accelerator (HNA) based on PCIe of data center's overlay network
CN108833299B (en) Large-scale network data processing method based on reconfigurable switching chip architecture
CN106951926A (en) The deep learning systems approach and device of a kind of mixed architecture
Santiago del Rio et al. Wire-speed statistical classification of network traffic on commodity hardware
CN106056211B (en) Neuron computing unit, neuron computing module and artificial neural networks core
CN103618733B (en) A kind of data filtering system and method for being applied to mobile Internet
CN102497322A (en) High-speed packet filtering device and method realized based on shunting network card and multi-core CPU (Central Processing Unit)
CN108027789A (en) The service quality of interconnection piece with multistage arbitration
Zhao et al. A unified modeling framework for distributed resource allocation of general fork and join processing networks
DE102018004111B4 (en) COMPUTING SYSTEM, COMPUTER-READABLE MEDIA AND ON-DEMAND SCALING ENGINE FOR COMMUNICATIVELY COUPLING TO A PROCESSOR
CN104394149B (en) A kind of method of the Complex event processing based on parallel distributed framework
DE112017003324T5 (en) Adaptive routing technologies using aggregated congestion information
CN106998347A (en) The apparatus and method of server virtualization network share
CN104243348B (en) A kind of data processing method and device
CN115396514B (en) Resource allocation method, device and storage medium
CN106453139A (en) Method and device of data packet scheduling
CN107846341A (en) Method, relevant apparatus and the system of schedules message
CN106911740A (en) A kind of method and apparatus of cache management
CN103346950B (en) Between a kind of rack wireless controller customer service plate, method and device are shared in load equally
CN109889558A (en) Data transmission method, middleware and the system of internet of things oriented application
CN104125146B (en) A kind of method for processing business and device
CN106656850B (en) A kind of automatic identification network flow and the chip implementing method for doing speed limit
CN108551485A (en) A kind of streaming medium content caching method, device and computer storage media
CN106330694A (en) Method and device for realizing flow table traversal business

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20170111

WW01 Invention patent application withdrawn after publication