CN106100991B - A kind of forward floods method for parallel processing with data packet in control separation system - Google Patents
A kind of forward floods method for parallel processing with data packet in control separation system Download PDFInfo
- Publication number
- CN106100991B CN106100991B CN201610388696.9A CN201610388696A CN106100991B CN 106100991 B CN106100991 B CN 106100991B CN 201610388696 A CN201610388696 A CN 201610388696A CN 106100991 B CN106100991 B CN 106100991B
- Authority
- CN
- China
- Prior art keywords
- functional block
- attribute
- combinator
- data packet
- logic function
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/32—Flooding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present invention discloses a kind of forward and data packet flooding method for parallel processing in control separation system.The copy of data packet is sent to multiple logic function blocks and carries out parallel processing by this method, and path can be specifically sent to by way of physical copy, can also avoid frequently copying by pointer operation, at this moment just need to consider protection problem of the pointer between multitask.The present invention floods method for parallel processing to data processing, greatly promotion data packet processing speed using forwarding and data packet in control separation system, and the system expandability is strong, technology maturation, it is low in cost, it is very suitable for large-scale promotion and use, convenient for the promotion of portfolio.
Description
Technical field
The present invention relates to network communication technology fields, and in particular to a kind of forward floods with data packet in control separation system
Method for parallel processing.
Background technique
Applications of computer network field expands rapidly, and new features, new demand continuously emerge and constantly change, this requires
New generation network equipment should have enough flexibilities, can rapidly respond to new business, new demand;It is required that net of new generation
Network equipment should have enough openings, allow user according to the resource flexible combination opened, to provide different networks
Demand and service;It is required that new generation network equipment there should be enough modular natures, and it is standardized by standardization body,
Each module is developed by different manufacturers independent studies, and can be by building block system organic assembling at an entirety, this
The development model of kind building block system can greatly accelerate the development process of product, while being also beneficial to benign competition, reducing cost,
The development of personal computer (PC) sufficiently demonstrates the validity of the mode.The network equipment isolated with control is forwarded to be exactly
Extensive research and application are being obtained at present due to meeting the requirements above of new generation network.
In view of the above-mentioned problems, IETF is set up within 2003 in order to get rid of the constraint of legacy network devices architecture
ForCES (Forwarding and Control Element Separation, forwarding are separated with control piece) working group, specially
Study the architecture of the new generation network equipment of open architecture.
The key point of ForCES technology is that apparatus for network node realizes forwarding surface and control plane separation in structure, is turned simultaneously
Internal resource of leavening dough realizes virtualization, modularization, standardization, and then realizes that opening flexible is restructural, these features make net
The mode recombination function module that network network operator can play with building blocks, and then customize and realize various new business.The above technical characterstic,
So that ForCES framework becomes the important skill of apparatus for network node for realizing that new network is served by such as integration of three networks, cloud computing
Art framework.
One ForCES system (ForCES Network Element, ForCES NE) is divided into forwarding element (Forwarding
Element, FE) and control piece (Control Element, CE) two parts.FE realizes the forward process to data packet.It is wrapped in FE
Contain the various logic functional block for being handled data packet and being forwarded, such as classification, scheduling, IPv4 or IPv6 forwarding.According to
To the different disposal operation that data packet carries out, FE can be by the logic functional blocks such as classification, scheduling, queue management (Logical
Function Block, LFB) it forms, Internet protocol RFC5812 defines the concrete model " ForCES of these LFB
Forwarding Element(FE)Model".ForCES protocol stack completes the tasks such as protocol analysis, execution.Control piece to turn
Outbox carries out control and information exchange, and in order to realize the opening of system, information exchange therebetween is according to ForCES Protocol Standard
Standard carries out, it is ensured that system is effectively run.Internet protocol RFC3746 defines forwarding and the frame (Framework) of ForCES,
Internet protocol RFC5810 defines standard information exchange agreement " the ForCES Protocol between FE and CE
Specification ", standardization produce FE and CE by different manufacturers.
The flow of the Various types of data access of current Internet is skyrocketed through, especially access data center, large enterprise
And portal website etc., flowing of access is more up to 10Gb/s.This just proposes high-performance to various equipment and application service
With the demand of high reliability.If upgrading or replacement high-performance server, cost is excessively huge, and causes the wave of resource
Take.And the promotion of portfolio all will lead to the investment of great number each time, scalability is too poor.
It is one of solution to the problems described above by carrying out parallel processing to data packet.By the inspiration of Cilk, we
Propose a kind of method in forwarding the network equipment isolated with control by the data path between definition logic function block with
Realize the flooding method for parallel processing of data packet.
Summary of the invention
The purpose of the present invention is overcome the deficiencies in the prior art, propose that a kind of forwarding and data packet in control separation system are big vast
General method for parallel processing.
The technical solution adopted by the present invention to solve the technical problems includes following content: a kind of to forward and control segregative line
Data packet floods method for parallel processing in system, and the forwarding is made of with control separation system forwarding element and control piece two parts,
The object logics functional block of existence anduniquess in each forwarding element, decompose logic function block, combinator functional block, at most one simultaneously
Row support logic functional block and several processing logic functional blocks;
Object logics functional block includes attribute 1 and attribute 2, and attribute 1 is used to indicate whether current system supports data packet
Parallel processing, the value of attribute 1 are 1 parallel processing for indicating current system support data packet, and the value of attribute 1 is the current system of 0 expression
System does not support the parallel processing of data packet;Attribute 2 stores the topology between logic function block;
Parallel support logic functional block is not involved in the flooding parallel processing of data packet, only one ability component, the ability
Component is used to record all logic function blocks for supporting data packet flooding parallel processing in current forwarding element, and the ability component is to tie
The form of structure body array exists, and each structural body contains member: logic function block name, logic function block class-mark, logic function
Block version number, logic function block instantiate maximum value, prefix logic functional block class-mark, postposition logic function block class-mark;
It decomposes the data packet that logic function block participates in forwarding element and floods parallel process, be the parallel place of data packet flooding
The promoter of reason process, decomposing logic function block has unique input, and the content of input is any type of data packet, often
A processing logic functional block for exporting a corresponding downstream.
This method comprises the following steps:
(1) value of the control piece using forwarding and the attribute 1 of control separated protocol message reading object logic function block, judgement
Whether current system supports the parallel processing of data packet.If supported, step 2 is executed;Otherwise, terminate parallel process.
(2) the data packet P for decomposing logic function block for input generates multiple copies, and each copy is denoted as Pi。
(3) it decomposes logic function block and output content is passed into processing logic functional block, each decomposition logic function block
Output consists of two parts: metadata (is denoted as Mi) and packet copy Pi;MiIt is a structural body, contains member: parallel processing side
Formula (being denoted as PM), parallel processing task number (being denoted as PTID), parallel processing subtask sequence number (being denoted as PSTID), parallel processing
Subtask number (is denoted as PSTN).The value of PM is determined by decomposition logic function block's attribute 1;PTID is generated by decomposition logic function block,
For uniquely identifying the flooding parallel process of data packet P, belong to all P of the same PiPTID all having the same;
PSTID is generated by decomposition logic function block, for identifying a PiParallel process;PSTN and PiQuantity it is identical.
(4) processing logic functional block is to PiTreatment process is it is possible that wrong to abandon Pi, therefore processing logic function
There are two the outputs of energy block: normal output exports content by MiAnd PiComposition;Abnormal output exports content by Mi、PiAnd mistake
Code composition.
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all P of the same PiConjunction
At.Corresponding with the output of processing logic functional block, combinator functional block is respectively there are two input: normal input, corresponding
The normal output of processing logic functional block, input content is by MiAnd PiComposition;Abnormal input, corresponds to the different of processing logic functional block
Often output, input content is by Mi、PiIt is formed with error code.Combinator functional block has unique output, and output content is data
Wrap P (or being empty).
The attribute of combinator functional block has 5, is respectively: attribute 1, is used to indicate combinator functional block and passes through exception
Input receives a PiWhen the movement done, although the value of attribute 1 is in the 1 processing logic functional block treatment process for indicating front
It is wrong, but synthesis process continues, the value of attribute 1 is invalid, all P of 0 expression synthesis processiIt will be dropped;Belong to
Property 2, be a timer as unit of millisecond for define combinator functional block wait a P all PiArrival when
Between, synthesis process is considered in vain after time-out, whenever a PiIt reaches, which opens;Attribute 3 is a Boolean variable,
1 expression combinator functional block waits until all P of a PiJust start to synthesize after reaching, as long as 0 indicates there is a PiAfter reaching just
Start to synthesize;Attribute 4 is a positive integer for counting all invalid synthesis process numbers;Attribute 5 is a positive integer
Pass through the caused invalid synthesis process number of abnormal input for counting.
(6) when normal input described in the input of combinator functional block is step (5), the content of input is MiAnd Pi,
Subsequent processes specifically include the following steps:
The value of 6-1. combinator functional block checking step (5) attribute 3, enters step 6-2 if 1, if 0 into
Enter step 6-3.
Value of the 6-2. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt arrives
It reaches, if timer expiry, abandons paid-in Pi, then the output of combinator functional block is sky, while step (5) is described
The value of attribute 4 adds 1.If timer is not timed-out, according to MiIn member variable PSTID and PSTN to all PiIt is closed
At the output of combinator functional block is P.
6-3. combinator functional block opens P simultaneously according to the value of step (5) attribute 2, opening timing deviceiSynthesis
Process, according to M in synthesis processiIn member variable PSTID and PSTN may determine that the P of PiWhether all arrive at, if timing
Device time-out, abandons paid-in Pi, then the output of combinator functional block is sky, while the value of step (5) attribute 4 adds
1.If timer is not timed-out, combinator functional block exports P.
(7) when the input of combinator functional block inputs for exception described in step (5), the content of input is MiAnd Pi
And error code, subsequent processes specifically include the following steps:
The value of 7-1. combinator functional block checking step (5) attribute 1, enters step 7-2 if 0, if 1 into
Enter step 7-3.
7-2. combinator functional block abandons Pi, export as sky, while the value of step (5) attribute 4 and attribute 5 adds 1.
Value of the 7-3. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt arrives
It reaches, if timer expiry, abandons paid-in Pi, then the output of combinator functional block is sky.If timer does not have
Time-out, according to MiIn member variable PSTID and PSTN to all PiIt is synthesized, the output of combinator functional block is P.
The copy of data packet is sent to multiple logic function blocks in this method and carries out parallel processing, physical copy can be passed through
Mode be sent to path, can also avoid frequently copying by pointer operation, at this moment just need to consider pointer between multitask
Protection problem.Which kind of, as method used actually, determined according to the characteristic of specific equipment.
And logic function block there are two types of it, it can be deployed in front of or after parallel processing.1, logic function block is decomposed: and
The spawn of Cilk is similar, and decomposing logic function block and being one to data packet and can be sent to multiple downstream logic functional blocks and carry out
The logic function block of parallel processing.2, combinator functional block: similar with the sync of Cilk, combinator functional block can receive number
A data packet is recombined according to packet, and by them.
In this method using forwarding with control separation system in data packet flood method for parallel processing to data packet at
Reason, gain effect are greatly to promote data packet processing speed, and the system expandability is strong, and technology maturation is at low cost
It is honest and clean, it is very suitable for large-scale promotion and use, convenient for the promotion of portfolio.
Detailed description of the invention
Fig. 1 be forwarding with control separation system in based on flooding be data packet parallel processing process;
Fig. 2 is forwarding and the data packet parallel processing example module figure based on flooding in control separation system;
Fig. 3 is the decomposition logic function block structural schematic diagram in the present invention;
Fig. 4 is the combinator functional block structural schematic diagram in the present invention;
Fig. 5 is ForCES forwarding element basic structure schematic diagram.
Specific embodiment
The invention will now be described in detail with reference to the accompanying drawings, and the objects and effects of the present invention will be apparent from.
The present invention provides a kind of forwardings and data packet in control separation system to flood method for parallel processing.
1) as shown in figure 5, the forwarding is made of with control separation system forwarding element and control piece two parts, each forwarding
The object logics functional block of existence anduniquess, decomposition logic function block, combinator functional block, at most one parallel support are patrolled in part
Collect functional block and several processing logic functional blocks;
2) object logics functional block includes attribute 1 and attribute 2, and attribute 1 is used to indicate whether current system supports data packet
Parallel processing, the value of attribute 1 is 1 to indicate that current system supports the parallel processing of data packet, and the value of attribute 1 is 0 to indicate current
System does not support the parallel processing of data packet;Attribute 2 stores the topology between logic function block;
3) parallel support logic functional block is not involved in the flooding parallel processing of data packet, only one ability component, the energy
Power component be used for record in current forwarding element it is all support data packets flooding parallel processings logic function blocks, the ability component with
The form of Array for structural body exists, and each structural body contains member: logic function block name, logic function block class-mark, logic function
It can block version number, logic function block instantiation maximum value, prefix logic functional block class-mark, postposition logic function block class-mark;
4) it decomposes the data packet that logic function block participates in forwarding element and floods parallel process, be that data packet flooding is parallel
The promoter for the treatment of process.As shown in figure 3, decomposing logic function block has unique input, the content of input is any type
Data packet, each processing logic functional block for exporting a corresponding downstream.
As shown in Figure 1, this method comprises the following steps:
(1) control piece is sentenced using the value of forwarding and the attribute 1 of control separated protocol message reading object logic function block
Whether disconnected current system supports the parallel processing of data packet.If supported, step 2 is executed;Otherwise, terminate parallel process.
(2) the data packet P for decomposing logic function block for input generates multiple copies, and each copy is denoted as Pi。
(3) it decomposes logic function block and output content is passed into processing logic functional block, each decomposition logic function block
Output consists of two parts: metadata (is denoted as Mi) and packet copy Pi;MiIt is a structural body, contains member: parallel processing side
Formula (being denoted as PM), parallel processing task number (being denoted as PTID), parallel processing subtask sequence number (being denoted as PSTID), parallel processing
Subtask number (is denoted as PSTN).The value of PM is determined by decomposition logic function block's attribute 1;PTID is generated by decomposition logic function block,
For uniquely identifying the flooding parallel process of data packet P, belong to all P of the same PiPTID all having the same;
PSTID is generated by decomposition logic function block, for identifying a PiParallel process;PSTN and PiQuantity it is identical.
(4) processing logic functional block is to PiTreatment process is it is possible that wrong to abandon Pi, therefore processing logic function
There are two the outputs of energy block: normal output exports content by MiAnd PiComposition;Abnormal output exports content by Mi、PiAnd mistake
Code composition.
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all P of the same PiConjunction
At.It is corresponding with the output of processing logic functional block.As shown in figure 4, combinator functional block is respectively: just there are two input
Often input, the normal output of corresponding processing logic functional block, input content is by MiAnd PiComposition;Abnormal input, corresponding processing logic
The abnormal output of functional block, input content is by Mi、PiIt is formed with error code.Combinator functional block has unique output, output
Content is data packet P (or being empty).
The attribute of combinator functional block has 5, is respectively: attribute 1, is used to indicate combinator functional block and passes through exception
Input receives a PiWhen the movement done, although the value of attribute 1 is in the 1 processing logic functional block treatment process for indicating front
It is wrong, but synthesis process continues, the value of attribute 1 is invalid, all P of 0 expression synthesis processiIt will be dropped;Belong to
Property 2, be a timer as unit of millisecond for define combinator functional block wait a P all PiArrival when
Between, synthesis process is considered in vain after time-out, whenever a PiIt reaches, which opens;Attribute 3 is a Boolean variable,
1 expression combinator functional block waits until all P of a PiJust start to synthesize after reaching, as long as 0 indicates there is a PiAfter reaching just
Start to synthesize;Attribute 4 is a positive integer for counting all invalid synthesis process numbers;Attribute 5 is a positive integer
Pass through the caused invalid synthesis process number of abnormal input for counting.
(6) when normal input described in the input of combinator functional block is step (5), the content of input be Mi and
Pi, subsequent processes specifically include the following steps:
The value of 6-1. combinator functional block checking step (5) attribute 3, enters step 6-2 if 1, if 0 into
Enter step 6-3.
Value of the 6-2. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt arrives
It reaches, if timer expiry, abandons paid-in Pi, then the output of combinator functional block is sky, while step (5) is described
The value of attribute 4 adds 1.If timer is not timed-out, according to MiIn member variable PSTID and PSTN to all PiIt is closed
At the output of combinator functional block is P.
6-3. combinator functional block opens P simultaneously according to the value of step (5) attribute 2, opening timing deviceiSynthesis
Process, according to M in synthesis processiIn member variable PSTID and PSTN may determine that the P of PiWhether all arrive at, if timing
Device time-out, abandons paid-in Pi, then the output of combinator functional block is sky, while the value of step (5) attribute 4 adds
1.If timer is not timed-out, combinator functional block exports P.
(7) when the input of combinator functional block inputs for exception described in step (5), the content of input is MiAnd Pi
And error code, subsequent processes specifically include the following steps:
The value of 7-1. combinator functional block checking step (5) attribute 1, enters step 7-2 if 0, if 1 into
Enter step 7-3.
7-2. combinator functional block abandons Pi, export as sky, while the value of step (5) attribute 4 and attribute 5 adds 1.
Value of the 7-3. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt arrives
It reaches, if timer expiry, abandons paid-in Pi, then the output of combinator functional block is sky.If timer does not have
Time-out, according to MiIn member variable PSTID and PSTN to all PiIt is synthesized, the output of combinator functional block is P.
Embodiment
Below with reference to embodiment, the invention will be further described.
Logic function block class name and identification number involved in the present invention are as shown in table 1:
1 logic function block class name of table and identification number
Fig. 2 is to can handle a large amount of parallel data packets using decomposition logic function block and combinator functional block to realize
Data channel.In Fig. 2, a paths classify to IPv4 packet and are performed simultaneously metering, at the same time IPv4 in another path
Life span (TTL) field of packet is accordingly successively decreased.Its module is implemented as follows:
1) specific implementation of logic function block is decomposed
1.1) input and output of logic function block are decomposed
Decomposing logic function block has unique input port, and the content of input can be any type of data packet;And it is defeated
The quantity of exit port be greater than one, decompose logic function block output be downstream logic function block input, it is each output pair
Answer the logic function block in a downstream.
1.2) data handling procedure of logic function block is decomposed
It decomposes logic function block and identical data packet is sent to multiple logic function blocks by parallel data processing channel.According to
The parallel component of CE configures, and same packet must be sent by decomposing logic function block output port.
Data packet can be issued in a circulating manner by parallel output terminal.Each data packet and metadata are set as a knot
Structure body: 1) parallel-type --- parallel-type: flooding;And line identifier 2) --- for determine data packet whether belong to it is same simultaneously
Row task;And line number 3) --- it is corresponding with its identification number that each data packet will be assigned a string of numbers, in order to allow synthesis to patrol
Functional block is collected to know when to synthesize them;4) parallel data packet number --- the quantity of the data packet of particular task.
1.3) attribute of logic function block is decomposed
Decomposing logic function block to have 1 attribute is Parallel Type, and how which handles data packet.
Furthermore parallel data types are as shown in table 2:
2 parallel data types of table
2) specific implementation of combinator functional block
2.1) input and output of combinator functional block
Combinator functional block is respectively there are two input: 1) normal input corresponds to the normal of processing logic functional block
Output, input content is by MiAnd PiComposition;2) abnormal input, the abnormal output of corresponding processing logic functional block, input content by
Mi、PiIt is formed with error code;There is unique output, output content is data packet P (or being empty).
2.2) data handling procedure of combinator functional block
Combinator functional block passes through parallel input port received data packet.When supervisory logic function block abandons a number
When according to packet, combinator functional block may receive only metadata by invalid input port, or receive metadata sum number
According to packet, error code will be specified according to respective meta-data at this time.Metadata structure is to be defined on parallel library according to ForCES model,
It is as shown in table 3:
3 metadata structure of table
Memory space shared by metadata identification name is 32.The specification of variable distribution is as shown in table 4:
4 metadata of table identifies specification
Value | Title |
0x00000010 | Parallel metadata setting |
If synthesis waits type to be set as false, combinator functional block receives first data packet for synthesis process is started.
If it is vacation, since each task can be identified by task correlator, it will wait all data packets to reach (unless timer is super
When).If timer expiry, other must be handled according to Invalided variable value and is not yet received as invalid data packet.
If receiving a data packet by abnormal input port, then synthesis process will be handled according to invalid value variable
Data packet.If invalid value variable is set as 0, if that a data packet is invalid, all data packets will be dropped.Once
Synthesis process has been completed, and resulting data packet will be exported by single output port.
If combinator functional block receives the identical metadata of the different data packets with same task correlator
Different value, then combinator functional block, which will be used, by combinator functional block input port enter combinator functional block
The metadata of first data packet.
2.3) attribute of combinator functional block
Combinator functional block has with properties: attribute 1 is Invalid Action, is used to indicate combinator functional block
A P is received by abnormal inputiWhen the movement done, although the value of attribute 1 is at the 1 processing logic functional block for indicating front
It is wrong during reason, but synthesis process continues, the value of attribute 1 is invalid, all P of 0 expression synthesis processiIt will be by
It abandons;2) attribute 2 is Merge Wait Timeout Timer, is that a timer is patrolled as unit of millisecond for defining synthesis
Collect all P that functional block waits a PiThe time of arrival, time-out after synthesis process be considered in vain, whenever a PiIt reaches, it should
Timer is opened;3) attribute 3 is Merge Wait Type, is a Boolean variable, and 1 expression combinator functional block waits until one
All P of a PiJust start to synthesize after reaching, as long as 0 indicates there is a PiIt begins to synthesize after reaching;4) attribute 4 is Invalid
Merges Counter is a positive integer for counting all invalid synthesis process numbers;5) attribute 5 is Invalid
Total Counter is that a positive integer is used to count the invalid synthesis process number caused by abnormal input.
3) specific implementation of parallel processing logic functional block
3.1) data handling procedure of parallel processing logic functional block
Parallel processing logic functional block is not involved in the flooding parallel processing of data packet,
3.2) data handling procedure of parallel processing logic functional block
The not specified attribute of parallel processing logic functional block,
3.3) the ability component of parallel processing logic functional block
Parallel processing logic functional block has an ability component, locates parallel for identifying all support data packets in forwarding element
The logic function block of reason, the ability component exist in the form of an Array for structural body, and each structural body contains following member:
1) logic function block name defines the title for supporting the logic function block of parallelization processing;2) logic function block class-mark defines branch
Hold the classification number of the logic function block of parallelization processing;3) logic function block version number defines the logic for supporting parallelization processing
The version of functional block;4) logic function block instantiation maximum value defines the logic function block of mutually similar support parallelization processing
The example upper limit;5) prefix logic functional block class-mark defines work in parallel route Channel front end logic function block classification number;6)
Postposition logic function block class-mark defines work in parallel route channel back-end logic functional block classification number.
Claims (1)
1. a kind of forwarding floods method for parallel processing with data packet in control separation system, it is characterised in that:
The forwarding is made of with control separation system forwarding element and control piece two parts, pair of existence anduniquess in each forwarding element
As logic function block, decompose logic function block, combinator functional block, at most one parallel support logic functional block and several
Processing logic functional block;
Object logics functional block includes attribute 1 and attribute 2, and attribute 1 is used to indicate whether current system supports the parallel of data packet
Processing, the value of attribute 1 are 1 parallel processing for indicating current system support data packet, and the value of attribute 1 indicates current system not for 0
Support the parallel processing of data packet;Attribute 2 stores the topology between logic function block;
Parallel support logic functional block is not involved in the flooding parallel processing of data packet, only one ability component, the ability component
For recording all logic function blocks for supporting data packet flooding parallel processing in current forwarding element, the ability component is with structural body
The form of array exists, and each structural body contains member: logic function block name, logic function block class-mark, logic function block version
This number, logic function block instantiation maximum value, prefix logic functional block class-mark, postposition logic function block class-mark;
It decomposes the data packet that logic function block participates in forwarding element and floods parallel process, be data packet flooding parallel processing
The promoter of journey, decomposing logic function block has unique input, and the content of input is any type of data packet, each output
The processing logic functional block in a corresponding downstream;
This method comprises the following steps:
(1) control piece is judged current using the value of forwarding and the attribute 1 of control separated protocol message reading object logic function block
Whether system supports the parallel processing of data packet;If supported, step 2 is executed;Otherwise, terminate parallel process;
(2) the data packet P for decomposing logic function block for input generates multiple copies, and each copy is denoted as Pi;
(3) it decomposes logic function block and output content is passed into processing logic functional block, each output for decomposing logic function block
Consist of two parts: metadata MiP is copied with packeti;MiIt is a structural body, contains member: is parallel processing manner PM, parallel
Handle task number PTID, parallel processing subtask sequence number PSTID, parallel processing subtask number PSTN;The value of PM is patrolled by decomposing
Function block's attribute 1 is collected to determine;PTID is generated by decomposition logic function block, and the flooding for uniquely identifying data packet P is located parallel
Reason process belongs to all P of the same PiPTID all having the same;PSTID is generated by decomposition logic function block, for identifying
One PiParallel process;PSTN and PiQuantity it is identical;
(4) processing logic functional block is to PiTreatment process is it is possible that wrong to abandon Pi, therefore processing logic functional block
Output there are two: normal output exports content by MiAnd PiComposition;Abnormal output exports content by Mi、PiAnd error code
Composition;
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all P of the same PiSynthesis;With add
The output of work logic function block is corresponding, and combinator functional block is respectively there are two input: normal input, corresponding processing are patrolled
The normal output of functional block is collected, input content is by MiAnd PiComposition;Abnormal input, the abnormal output of corresponding processing logic functional block,
Input content is by Mi、PiIt is formed with error code;Combinator functional block has unique output, output content be data packet P (or
Person is sky);
The attribute of combinator functional block has 5, is respectively: attribute 1, is used to indicate combinator functional block and passes through abnormal input
Receive a PiWhen the movement done, although the value of attribute 1 is wrong in the 1 processing logic functional block treatment process for indicating front
Accidentally, but synthesis process continues, and the value of attribute 1 is invalid, all P of 0 expression synthesis processiIt will be dropped;Attribute 2,
It is all P that a timer waits a P as unit of millisecond for defining combinator functional blockiThe time of arrival surpasses
When after synthesis process be considered in vain, whenever a PiIt reaches, which opens;Attribute 3 is a Boolean variable, and 1 indicates
Combinator functional block waits until all P of a PiJust start to synthesize after reaching, as long as 0 indicates there is a PiIt is begun to after reaching
Synthesis;Attribute 4 is a positive integer for counting all invalid synthesis process numbers;Attribute 5 is that a positive integer is used for
The statistics invalid synthesis process number caused by abnormal input;
(6) when normal input described in the input of combinator functional block is step (5), the content of input is MiAnd Pi, subsequent
Treatment process specifically includes the following steps:
The value of 6-1. combinator functional block checking step (5) attribute 3, enters step 6-2 if 1, enters step if 0
Rapid 6-3;
Value of the 6-2. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt reaches, such as
Fruit timer expiry abandons paid-in Pi, then the output of combinator functional block is sky, while step (5) attribute 4
Value add 1;If timer is not timed-out, according to MiIn member variable PSTID and PSTN to all PiIt is synthesized, is closed
Output at logic function block is P;
6-3. combinator functional block opens P simultaneously according to the value of step (5) attribute 2, opening timing deviceiSynthesis process,
According to M in synthesis processiIn member variable PSTID and PSTN may determine that the P of PiWhether all arrive at, if timer is super
When, abandon paid-in Pi, then the output of combinator functional block is sky, while the value of step (5) attribute 4 adds 1;Such as
Fruit timer is not timed-out, and combinator functional block exports P;
(7) when the input of combinator functional block inputs for exception described in step (5), the content of input is MiAnd PiAnd mistake
Accidentally code, subsequent processes specifically include the following steps:
The value of 7-1. combinator functional block checking step (5) attribute 1, enters step 7-2 if 0, enters step if 1
Rapid 7-3;
7-2. combinator functional block abandons Pi, export as sky, while the value of step (5) attribute 4 and attribute 5 adds 1;
Value of the 7-3. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt reaches, such as
Fruit timer expiry abandons paid-in Pi, then the output of combinator functional block is sky;If timer is not timed-out,
According to MiIn member variable PSTID and PSTN to all PiIt is synthesized, the output of combinator functional block is P.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610388696.9A CN106100991B (en) | 2016-06-02 | 2016-06-02 | A kind of forward floods method for parallel processing with data packet in control separation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610388696.9A CN106100991B (en) | 2016-06-02 | 2016-06-02 | A kind of forward floods method for parallel processing with data packet in control separation system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106100991A CN106100991A (en) | 2016-11-09 |
CN106100991B true CN106100991B (en) | 2019-03-26 |
Family
ID=57448056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610388696.9A Expired - Fee Related CN106100991B (en) | 2016-06-02 | 2016-06-02 | A kind of forward floods method for parallel processing with data packet in control separation system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106100991B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11294688B2 (en) | 2017-06-16 | 2022-04-05 | Drivenets Ltd. | Parallel information processing on multi-core computing platforms |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834871A (en) * | 2010-05-14 | 2010-09-15 | 浙江工商大学 | Open type router device and method thereof |
CN104811479A (en) * | 2015-03-31 | 2015-07-29 | 浙江工商大学 | Virtual network node establishing method based on forwarding and control separation protocol |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9571386B2 (en) * | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
-
2016
- 2016-06-02 CN CN201610388696.9A patent/CN106100991B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834871A (en) * | 2010-05-14 | 2010-09-15 | 浙江工商大学 | Open type router device and method thereof |
CN104811479A (en) * | 2015-03-31 | 2015-07-29 | 浙江工商大学 | Virtual network node establishing method based on forwarding and control separation protocol |
Non-Patent Citations (1)
Title |
---|
ForCES架构安全网关中若干逻辑功能块的设计及在NP上的实现;陈坷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106100991A (en) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809854B (en) | Reconfigurable chip architecture for large-flow network processing | |
CN100369423C (en) | Network simulation detection system and method | |
CN108200086B (en) | High-speed network data packet filtering device | |
CN103004158B (en) | There is the network equipment of programmable core | |
CN110419200A (en) | Packet handler in virtual filter platform | |
CN105812340B (en) | A kind of method and apparatus of virtual network access outer net | |
Rastegarfar et al. | TCP flow classification and bandwidth aggregation in optically interconnected data center networks | |
Serpanos et al. | Architecture of network systems | |
Zhao et al. | A unified modeling framework for distributed resource allocation of general fork and join processing networks | |
CN108471389A (en) | A kind of switch system based on service function chain | |
Pan et al. | A configurable state class method for temporal analysis of time Petri nets | |
CN106100991B (en) | A kind of forward floods method for parallel processing with data packet in control separation system | |
Tan et al. | Regularization-based coflow scheduling in optical circuit switches | |
Shrivastav | Programmable multi-dimensional table filters for line rate network functions | |
Ab Kadir et al. | Optimal algorithm for shared network communication bandwidth in IoT applications | |
CN106101031B (en) | It is a kind of to forward and packet fragmentation method for parallel processing in control separation system | |
Zhang et al. | Reco: Efficient regularization-based coflow scheduling in optical circuit switches | |
CN102523208A (en) | Application layer protocol parallel processing method under multi-core architecture | |
CN103078802B (en) | A kind of implementation method of logic function block dynamic topology | |
Liu | Implementing Open flow switch using FPGA based platform | |
Haddar et al. | Electing a leader in the local computation model using mobile agents | |
Qiao et al. | Adaptable switch: a heterogeneous switch architecture for network-centric computing | |
Biswas et al. | Implementing a partial group based routing for homogeneous fat tree network on chip architecture | |
CN101958816A (en) | High speed core switching equipment testing system and testing method thereof | |
Hamadi et al. | Compiling packet forwarding rules for switch pipelined architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190326 Termination date: 20210602 |