CN106101031B - It is a kind of to forward and packet fragmentation method for parallel processing in control separation system - Google Patents
It is a kind of to forward and packet fragmentation method for parallel processing in control separation system Download PDFInfo
- Publication number
- CN106101031B CN106101031B CN201610390631.8A CN201610390631A CN106101031B CN 106101031 B CN106101031 B CN 106101031B CN 201610390631 A CN201610390631 A CN 201610390631A CN 106101031 B CN106101031 B CN 106101031B
- Authority
- CN
- China
- Prior art keywords
- functional block
- attribute
- combinator
- logic function
- function block
- 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
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3072—Packet splitting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
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 packet fragmentation method for parallel processing in control separation system.Data packet is divided into isometric fragment and is sent to multiple examples of same class logic function block by CE in this method, the example concurrent working of these logic function blocks.The different location that multiple pointers are respectively directed to data packet is defined during fragment.It is decided in its sole discretion as how fragment is distributed to logic function block by developer.When all fragments are distributed to same class logic function block, the quantity of logic function block example is not necessarily identical with fragment quantity, and developer can determine the distribution procedure of fragment by the way of circulation system.The present invention is handled data packet using forwarding and packet fragmentation method for parallel processing in control separation system, greatly promotion data packet processing speed, 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 to forward and packet fragmentation 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 fragment 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 divides with data packet in control separation system
Piece 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
Packet fragmentation method for parallel processing in system, the forwarding are 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 fragment parallel processing of data packet, only one ability component, the ability
Component is used to record all logic function blocks for supporting packet fragmentation 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;
The packet fragmentation parallel process in logic function block participation forwarding element is decomposed, is that packet fragmentation is located parallel
The promoter of reason process contains an attribute 1, which is used to indicate the fragment size as unit of byte, decomposes logic
Functional block has unique input, and the content of input is any type of data packet, each processing for exporting a corresponding downstream
Logic function block.
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 the value of attribute 1 is 1, that is, indicates to support, execute step 2;Otherwise,
Terminate parallel process.
(2) it decomposes logic function block and fragment, each fragment note is carried out to the data packet P of input according to the value of self attributes 1
For Ci, in addition to the last one fragment, other fragment sizes are identical, are equal to and decompose logic function block self attributes 1
Value;
(3) it decomposes logic function block and passes to processing logic functional block for content is exported, each output consists of two parts:
Metadata (is denoted as Mi) and Ci。MiIt is a structural body, contains member: parallel processing manner (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 (being denoted as PSTN).PM's
Value is determined by decomposition logic function block's attribute 1;PTID is generated by decomposition logic function block, for uniquely identifying data packet P's
Fragment parallel process belongs to all C of the same PiPTID all having the same;PSTID is produced by decomposition logic function block
It is raw, for identifying a CiParallel process;PSTN and CiQuantity it is identical.
(4) processing logic functional block is to CiTreatment process is it is possible that wrong to abandon Ci, therefore processing logic function
There are two the outputs of energy block: normal output exports content by MiAnd CiComposition;Abnormal output exports content by Mi、CiAnd mistake
Code composition.
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all C 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 CiComposition;Abnormal input, corresponds to the different of processing logic functional block
Often output, input content is by Mi、CiIt 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 CiWhen 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 C 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 CiArrival when
Between, synthesis process is considered in vain after time-out, whenever a CiIt reaches, which opens;Attribute 3 is a Boolean variable,
1 expression combinator functional block waits until all C of a PiJust start to synthesize after reaching, as long as 0 indicates there is a CiAfter reaching
It begins to synthesize;Attribute 4 is a positive integer for counting all invalid synthesis process numbers;Attribute 5 is one just whole
Number is for counting the 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 Ci,
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 C of opening timing device waiting PiIt arrives
It reaches, if timer expiry, abandons paid-in Ci, 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 CiIt is closed
At the output of combinator functional block is P.
6-3. combinator functional block opens C 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 C of PiWhether all arrive at, if timing
Device time-out, abandons paid-in Ci, 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 Ci
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 Ci, 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 C of opening timing device waiting PiIt arrives
It reaches, if timer expiry, abandons paid-in Ci, 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 CiIt is synthesized, the output of combinator functional block is P.
Data packet is divided into isometric fragment and is sent to multiple examples of same class logic function block by CE in this method, these
The example concurrent working of logic function block.It specifically needs to carry out data packet fragment, so-called logic should be avoided during fragment
Fragment, which refers to, defines the different location that multiple pointers are respectively directed to data packet.How logic function block is distributed to as fragment
(such as which fragment gives which logic function block) is decided in its sole discretion by developer.When all fragments are distributed to same class logic function block
When, the quantity of logic function block example is not necessarily identical with fragment quantity, and developer can be determined by the way of circulation system
The distribution procedure of fragment.
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 packet fragmentation and can be sent to multiple downstream logic functional blocks
Carry out the logic function block of parallel processing.2, combinator functional block: similar with the sync of Cilk, combinator functional block can connect
The fragment of the same data packet is received, and they are recombined into a data packet.
In this method using forwarding with control separation system in packet fragmentation 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 is forwarding and the data packet parallel processing process based on fragment in control separation system;
Fig. 2 is forwarding and the data packet parallel processing example module figure based on fragment 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 packet fragmentation method for parallel processing in control separation system.
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 fragment 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 packet fragmentation 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) decompose logic function block participate in forwarding element in packet fragmentation parallel process, be packet fragmentation simultaneously
The promoter of row treatment process, contains an attribute 1, which is used to indicate the fragment size as unit of byte.Such as Fig. 3
Shown, decomposing logic function block has unique input, and the content of input is any type of data packet, each output corresponding one
The processing logic functional block in a 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 in
Whether disconnected current system supports the parallel processing of data packet.If the value of attribute 1 is 1, that is, indicates to support, execute step 2;It is no
Then, terminate parallel process.
(2) it decomposes logic function block and fragment, each fragment note is carried out to the data packet P of input according to the value of self attributes 1
For Ci, in addition to the last one fragment, other fragment sizes are identical, are equal to and decompose logic function block self attributes 1
Value;
(3) it decomposes logic function block and passes to processing logic functional block for content is exported, each output consists of two parts:
Metadata (is denoted as Mi) and Ci。MiIt is a structural body, contains member: parallel processing manner (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 (being denoted as PSTN).PM's
Value is determined by decomposition logic function block's attribute 1;PTID is generated by decomposition logic function block, for uniquely identifying data packet P's
Fragment parallel process belongs to all C of the same PiPTID all having the same;PSTID is produced by decomposition logic function block
It is raw, for identifying a CiParallel process;PSTN and CiQuantity it is identical.
(4) processing logic functional block is to CiTreatment process is it is possible that wrong to abandon Ci, therefore processing logic function
There are two the outputs of energy block: normal output exports content by MiAnd CiComposition;Abnormal output exports content by Mi、CiAnd mistake
Code composition.
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all C 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 CiComposition;Abnormal input, corresponding processing logic
The abnormal output of functional block, input content is by Mi、CiIt 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 CiWhen 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 C 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 CiArrival when
Between, synthesis process is considered in vain after time-out, whenever a CiIt reaches, which opens;Attribute 3 is that a boolean becomes
Amount, 1 expression combinator functional block wait until all C of a PiJust start to synthesize after reaching, as long as 0 indicates there is a CiReach
After begin to synthesize;Attribute 4 is a positive integer for counting all invalid synthesis process numbers;Attribute 5, be one just
Integer is used to count the 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 Ci,
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 C of opening timing device waiting PiIt arrives
It reaches, if timer expiry, abandons paid-in Ci, 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 CiIt is closed
At the output of combinator functional block is P.
6-3. combinator functional block opens C 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 C of PiWhether all arrive at, if timing
Device time-out, abandons paid-in Ci, 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 Ci
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 Ci, 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 C of opening timing device waiting PiIt arrives
It reaches, if timer expiry, abandons paid-in Ci, 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 CiIt 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
It is to realize a simple parallel data channels using decomposition logic function block and combinator functional block in Fig. 2.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 packet fragmentation is sent to multiple logic function blocks by parallel data processing channel.
It is configured according to the parallel component of CE, data packet can be divided into the identical fragment of size (in addition to the last one fragment).
Packet fragmentation can be issued in a circulating manner by parallel output terminal.Each packet fragmentation and metadata are set
For a structural body: 1) parallel-type --- parallel-type: fragment;And line identifier 2) --- for whether determining packet fragmentation
Belong to the same parallel task;3) and line number --- it is opposite with its identification number that each packet fragmentation will be assigned a string of numbers
It answers, in order to allow combinator functional block to know when to synthesize them;4) parallel data packet fragmentation number --- particular task
The quantity of packet fragmentation.
1.3) attribute of logic function block is decomposed
Decomposing logic function block, only there are two attributes: attribute 1 is Parallel Type, and how which handles number
According to packet;Attribute 2 is Chunk Size, which specifies each data packet to be divided into multiple data fragmentations, the last one data fragmentation
It may be less than the value of minimum fragment size.
1.4) function of logic function block is decomposed
It is specified to decompose only one function of logic function block, i.e. minimax fragment size, the function is specified minimum and most
Big fragment size.
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 defeated of processing logic functional block
Out, input content is by MiAnd CiComposition;2) abnormal input, the abnormal output of corresponding processing logic functional block, input content is by Mi、
CiIt 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 fragment.When supervisory logic function block abandons one
When a packet fragmentation, combinator functional block may receive only metadata by invalid input port, or receive member
Data and packet fragmentation will specify error code according to respective meta-data at this time.Metadata structure is according to ForCES model
It is defined on parallel library, 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 point for synthesis process is started
Piece.If it is vacation, since each task can be identified by task correlator, it will wait all packet fragmentations reach (unless
Timer expired).If timer expiry, other must be handled according to Invalided variable value and is not yet received as invalid number
According to packet fragmentation.
If receiving a packet fragmentation by abnormal input port, then synthesis process will according to invalid value variable come
Packet fragment reassembly.If invalid value variable is set as 0, if that the data packet that a packet fragmentation is invalid, all
Fragment will be dropped.Once synthesis process has been completed, resulting data packet will be exported by single output port.
If combinator functional block receives the identical member of the different packet fragmentations with same task correlator
The different value of data, then combinator functional block, which will be used, enters combinator function by combinator functional block input port
The metadata of energy first packet fragmentation of block.
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 C 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 C 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 C that functional block waits a PiThe time of arrival, time-out after synthesis process be considered in vain, whenever a CiIt 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 C of a PiJust start to synthesize after reaching, as long as 0 indicates there is a CiIt 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 fragment 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, which defines, supports patrolling for parallelization processing
Collect 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 and packet fragmentation method for parallel processing 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 fragment parallel processing of data packet, only one ability component, the ability component
For recording all logic function blocks for supporting packet fragmentation 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;
The packet fragmentation parallel process in logic function block participation forwarding element is decomposed, is packet fragmentation parallel processing
The promoter of journey contains an attribute 1, which is used to indicate the fragment size as unit of byte, decomposes logic function
Block has unique input, and the content of input is any type of data packet, each processing logic for exporting a corresponding downstream
Functional block;
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 the value of attribute 1 is 1, that is, indicates to support, execute step 2;Otherwise, terminate
Parallel process;
(2) it decomposes logic function block and fragment is carried out to the data packet P of input according to the value of self attributes 1, each fragment is denoted as Ci,
In addition to the last one fragment, other fragment sizes are identical, are equal to the value for decomposing logic function block self attributes 1;
(3) it decomposes logic function block and passes to processing logic functional block for content is exported, each output consists of two parts: first number
According to MiAnd Ci;MiIt is a structural body, contains member: parallel processing manner PM, parallel processing task PTID, parallel processing
Subtask sequence number PSTID, parallel processing subtask number PSTN;The value of PM is determined by decomposition logic function block's attribute 1;PTID by
It decomposes logic function block to generate, for uniquely identifying the fragment parallel process of data packet P, belongs to all of the same P
CiPTID all having the same;PSTID is generated by decomposition logic function block, for identifying a CiParallel process;PSTN
And CiQuantity it is identical;
(4) processing logic functional block is to CiTreatment process is it is possible that wrong to abandon Ci, therefore processing logic functional block
Output there are two: normal output exports content by MiAnd CiComposition;Abnormal output exports content by Mi、CiAnd error code
Composition;
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all C 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 CiComposition;Abnormal input, the abnormal output of corresponding processing logic functional block,
Input content is by Mi、CiIt 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 CiWhen 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 C of 0 expression synthesis processiIt will be dropped;Attribute 2,
It is all C 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 CiIt reaches, which opens;Attribute 3 is a Boolean variable, and 1 indicates
Combinator functional block waits until all C of a PiJust start to synthesize after reaching, as long as 0 indicates there is a CiIt 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 Ci, 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 C of opening timing device waiting PiIt reaches, such as
Fruit timer expiry abandons paid-in Ci, 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 CiIt is synthesized, is closed
Output at logic function block is P;
6-3. combinator functional block opens C 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 C of PiWhether all arrive at, if timer is super
When, abandon paid-in Ci, 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 CiAnd 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 Ci, 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 C of opening timing device waiting PiIt reaches, such as
Fruit timer expiry abandons paid-in Ci, 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 CiIt is synthesized, the output of combinator functional block is P.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610390631.8A CN106101031B (en) | 2016-06-02 | 2016-06-02 | It is a kind of to forward and packet fragmentation method for parallel processing in control separation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610390631.8A CN106101031B (en) | 2016-06-02 | 2016-06-02 | It is a kind of to forward and packet fragmentation method for parallel processing in control separation system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106101031A CN106101031A (en) | 2016-11-09 |
CN106101031B true CN106101031B (en) | 2019-03-26 |
Family
ID=57447476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610390631.8A Expired - Fee Related CN106101031B (en) | 2016-06-02 | 2016-06-02 | It is a kind of to forward and packet fragmentation method for parallel processing in control separation system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101031B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762751A (en) * | 2018-05-31 | 2018-11-06 | 福州芝麻智能科技有限公司 | A kind of logic figure configuration and the method and system for changing into data flow |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049153B2 (en) * | 2010-07-06 | 2015-06-02 | Nicira, Inc. | Logical packet processing pipeline that retains state information to effectuate efficient processing of packets |
CN104811479A (en) * | 2015-03-31 | 2015-07-29 | 浙江工商大学 | Virtual network node establishing method based on forwarding and control separation protocol |
CN105357142A (en) * | 2015-12-02 | 2016-02-24 | 浙江工商大学 | Method for designing network load balancer system based on ForCES |
-
2016
- 2016-06-02 CN CN201610390631.8A patent/CN106101031B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049153B2 (en) * | 2010-07-06 | 2015-06-02 | Nicira, Inc. | Logical packet processing pipeline that retains state information to effectuate efficient processing of packets |
CN104811479A (en) * | 2015-03-31 | 2015-07-29 | 浙江工商大学 | Virtual network node establishing method based on forwarding and control separation protocol |
CN105357142A (en) * | 2015-12-02 | 2016-02-24 | 浙江工商大学 | Method for designing network load balancer system based on ForCES |
Non-Patent Citations (1)
Title |
---|
ForCES架构安全网关中若干逻辑功能块的设计及在NP上的实现;陈坷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106101031A (en) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Brebner et al. | High-speed packet processing using reconfigurable computing | |
CN108833299B (en) | Large-scale network data processing method based on reconfigurable switching chip architecture | |
CN101426000A (en) | General protocol parsing method and system | |
CN103004158A (en) | Network device with a programmable core | |
Serpanos et al. | Architecture of network systems | |
TWI745034B (en) | Method of aggregating and disaggregating packet | |
Ranka et al. | Many-to-many personalized communication with bounded traffic | |
CN106101031B (en) | It is a kind of to forward and packet fragmentation method for parallel processing in control separation system | |
CN114327833A (en) | Efficient flow processing method based on software-defined complex rule | |
CN106100991B (en) | A kind of forward floods method for parallel processing with data packet in control separation system | |
Shrivastav | Programmable multi-dimensional table filters for line rate network functions | |
CN103986714B (en) | Bus marco network insertion AVB networks are acted on behalf of into implementation method and device | |
CN106888115B (en) | A kind of constructing network topology method and system | |
CN107528794B (en) | Data processing method and device | |
Zhang et al. | Reco: Efficient regularization-based coflow scheduling in optical circuit switches | |
CN111817915A (en) | Protocol analysis framework based on DPDK | |
Qiao et al. | Adaptable switch: a heterogeneous switch architecture for network-centric computing | |
CN103078802B (en) | A kind of implementation method of logic function block dynamic topology | |
CN109617833A (en) | The NAT Data Audit method and system of multithreading user mode network protocol stack system | |
CN110297748A (en) | The method, apparatus and computer readable storage medium of error are called in a kind of positioning | |
Pasetto et al. | Ultra low latency market data feed on IBM PowerENTM | |
Yang et al. | Modeling of Internet of Things service platform based on X language | |
Wijekoon et al. | High performance flow matching architecture for OpenFlow data plane | |
CN107566316A (en) | A kind of message parsing method, device and network processing unit | |
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 |
Granted publication date: 20190326 Termination date: 20210602 |
|
CF01 | Termination of patent right due to non-payment of annual fee |