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 PDF

Info

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
Application number
CN201610390631.8A
Other languages
Chinese (zh)
Other versions
CN106101031A (en
Inventor
高明
王伟明
王伦
王一伦
邹喜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201610390631.8A priority Critical patent/CN106101031B/en
Publication of CN106101031A publication Critical patent/CN106101031A/en
Application granted granted Critical
Publication of CN106101031B publication Critical patent/CN106101031B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral 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

It is a kind of to forward and packet fragmentation method for parallel processing in control separation system
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.
CN201610390631.8A 2016-06-02 2016-06-02 It is a kind of to forward and packet fragmentation method for parallel processing in control separation system Expired - Fee Related CN106101031B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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