CN106100991B - A kind of forward floods method for parallel processing with data packet in control separation system - Google Patents

A kind of forward floods method for parallel processing with data packet in control separation system Download PDF

Info

Publication number
CN106100991B
CN106100991B CN201610388696.9A CN201610388696A CN106100991B CN 106100991 B CN106100991 B CN 106100991B CN 201610388696 A CN201610388696 A CN 201610388696A CN 106100991 B CN106100991 B CN 106100991B
Authority
CN
China
Prior art keywords
functional block
attribute
combinator
data packet
logic function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201610388696.9A
Other languages
Chinese (zh)
Other versions
CN106100991A (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 CN201610388696.9A priority Critical patent/CN106100991B/en
Publication of CN106100991A publication Critical patent/CN106100991A/en
Application granted granted Critical
Publication of CN106100991B publication Critical patent/CN106100991B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/23Bit dropping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention discloses a kind of forward and data packet flooding method for parallel processing in control separation system.The copy of data packet is sent to multiple logic function blocks and carries out parallel processing by this method, and path can be specifically sent to by way of physical copy, can also avoid frequently copying by pointer operation, at this moment just need to consider protection problem of the pointer between multitask.The present invention floods method for parallel processing to data processing, greatly promotion data packet processing speed using forwarding and data packet in control separation system, and the system expandability is strong, technology maturation, it is low in cost, it is very suitable for large-scale promotion and use, convenient for the promotion of portfolio.

Description

A kind of forward floods method for parallel processing with data packet in control separation system
Technical field
The present invention relates to network communication technology fields, and in particular to a kind of forward floods with data packet in control separation system Method for parallel processing.
Background technique
Applications of computer network field expands rapidly, and new features, new demand continuously emerge and constantly change, this requires New generation network equipment should have enough flexibilities, can rapidly respond to new business, new demand;It is required that net of new generation Network equipment should have enough openings, allow user according to the resource flexible combination opened, to provide different networks Demand and service;It is required that new generation network equipment there should be enough modular natures, and it is standardized by standardization body, Each module is developed by different manufacturers independent studies, and can be by building block system organic assembling at an entirety, this The development model of kind building block system can greatly accelerate the development process of product, while being also beneficial to benign competition, reducing cost, The development of personal computer (PC) sufficiently demonstrates the validity of the mode.The network equipment isolated with control is forwarded to be exactly Extensive research and application are being obtained at present due to meeting the requirements above of new generation network.
In view of the above-mentioned problems, IETF is set up within 2003 in order to get rid of the constraint of legacy network devices architecture ForCES (Forwarding and Control Element Separation, forwarding are separated with control piece) working group, specially Study the architecture of the new generation network equipment of open architecture.
The key point of ForCES technology is that apparatus for network node realizes forwarding surface and control plane separation in structure, is turned simultaneously Internal resource of leavening dough realizes virtualization, modularization, standardization, and then realizes that opening flexible is restructural, these features make net The mode recombination function module that network network operator can play with building blocks, and then customize and realize various new business.The above technical characterstic, So that ForCES framework becomes the important skill of apparatus for network node for realizing that new network is served by such as integration of three networks, cloud computing Art framework.
One ForCES system (ForCES Network Element, ForCES NE) is divided into forwarding element (Forwarding Element, FE) and control piece (Control Element, CE) two parts.FE realizes the forward process to data packet.It is wrapped in FE Contain the various logic functional block for being handled data packet and being forwarded, such as classification, scheduling, IPv4 or IPv6 forwarding.According to To the different disposal operation that data packet carries out, FE can be by the logic functional blocks such as classification, scheduling, queue management (Logical Function Block, LFB) it forms, Internet protocol RFC5812 defines the concrete model " ForCES of these LFB Forwarding Element(FE)Model".ForCES protocol stack completes the tasks such as protocol analysis, execution.Control piece to turn Outbox carries out control and information exchange, and in order to realize the opening of system, information exchange therebetween is according to ForCES Protocol Standard Standard carries out, it is ensured that system is effectively run.Internet protocol RFC3746 defines forwarding and the frame (Framework) of ForCES, Internet protocol RFC5810 defines standard information exchange agreement " the ForCES Protocol between FE and CE Specification ", standardization produce FE and CE by different manufacturers.
The flow of the Various types of data access of current Internet is skyrocketed through, especially access data center, large enterprise And portal website etc., flowing of access is more up to 10Gb/s.This just proposes high-performance to various equipment and application service With the demand of high reliability.If upgrading or replacement high-performance server, cost is excessively huge, and causes the wave of resource Take.And the promotion of portfolio all will lead to the investment of great number each time, scalability is too poor.
It is one of solution to the problems described above by carrying out parallel processing to data packet.By the inspiration of Cilk, we Propose a kind of method in forwarding the network equipment isolated with control by the data path between definition logic function block with Realize the flooding method for parallel processing of data packet.
Summary of the invention
The purpose of the present invention is overcome the deficiencies in the prior art, propose that a kind of forwarding and data packet in control separation system are big vast General method for parallel processing.
The technical solution adopted by the present invention to solve the technical problems includes following content: a kind of to forward and control segregative line Data packet floods method for parallel processing in system, and the forwarding is made of with control separation system forwarding element and control piece two parts, The object logics functional block of existence anduniquess in each forwarding element, decompose logic function block, combinator functional block, at most one simultaneously Row support logic functional block and several processing logic functional blocks;
Object logics functional block includes attribute 1 and attribute 2, and attribute 1 is used to indicate whether current system supports data packet Parallel processing, the value of attribute 1 are 1 parallel processing for indicating current system support data packet, and the value of attribute 1 is the current system of 0 expression System does not support the parallel processing of data packet;Attribute 2 stores the topology between logic function block;
Parallel support logic functional block is not involved in the flooding parallel processing of data packet, only one ability component, the ability Component is used to record all logic function blocks for supporting data packet flooding parallel processing in current forwarding element, and the ability component is to tie The form of structure body array exists, and each structural body contains member: logic function block name, logic function block class-mark, logic function Block version number, logic function block instantiate maximum value, prefix logic functional block class-mark, postposition logic function block class-mark;
It decomposes the data packet that logic function block participates in forwarding element and floods parallel process, be the parallel place of data packet flooding The promoter of reason process, decomposing logic function block has unique input, and the content of input is any type of data packet, often A processing logic functional block for exporting a corresponding downstream.
This method comprises the following steps:
(1) value of the control piece using forwarding and the attribute 1 of control separated protocol message reading object logic function block, judgement Whether current system supports the parallel processing of data packet.If supported, step 2 is executed;Otherwise, terminate parallel process.
(2) the data packet P for decomposing logic function block for input generates multiple copies, and each copy is denoted as Pi
(3) it decomposes logic function block and output content is passed into processing logic functional block, each decomposition logic function block Output consists of two parts: metadata (is denoted as Mi) and packet copy Pi;MiIt is a structural body, contains member: parallel processing side Formula (being denoted as PM), parallel processing task number (being denoted as PTID), parallel processing subtask sequence number (being denoted as PSTID), parallel processing Subtask number (is denoted as PSTN).The value of PM is determined by decomposition logic function block's attribute 1;PTID is generated by decomposition logic function block, For uniquely identifying the flooding parallel process of data packet P, belong to all P of the same PiPTID all having the same; PSTID is generated by decomposition logic function block, for identifying a PiParallel process;PSTN and PiQuantity it is identical.
(4) processing logic functional block is to PiTreatment process is it is possible that wrong to abandon Pi, therefore processing logic function There are two the outputs of energy block: normal output exports content by MiAnd PiComposition;Abnormal output exports content by Mi、PiAnd mistake Code composition.
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all P of the same PiConjunction At.Corresponding with the output of processing logic functional block, combinator functional block is respectively there are two input: normal input, corresponding The normal output of processing logic functional block, input content is by MiAnd PiComposition;Abnormal input, corresponds to the different of processing logic functional block Often output, input content is by Mi、PiIt is formed with error code.Combinator functional block has unique output, and output content is data Wrap P (or being empty).
The attribute of combinator functional block has 5, is respectively: attribute 1, is used to indicate combinator functional block and passes through exception Input receives a PiWhen the movement done, although the value of attribute 1 is in the 1 processing logic functional block treatment process for indicating front It is wrong, but synthesis process continues, the value of attribute 1 is invalid, all P of 0 expression synthesis processiIt will be dropped;Belong to Property 2, be a timer as unit of millisecond for define combinator functional block wait a P all PiArrival when Between, synthesis process is considered in vain after time-out, whenever a PiIt reaches, which opens;Attribute 3 is a Boolean variable, 1 expression combinator functional block waits until all P of a PiJust start to synthesize after reaching, as long as 0 indicates there is a PiAfter reaching just Start to synthesize;Attribute 4 is a positive integer for counting all invalid synthesis process numbers;Attribute 5 is a positive integer Pass through the caused invalid synthesis process number of abnormal input for counting.
(6) when normal input described in the input of combinator functional block is step (5), the content of input is MiAnd Pi, Subsequent processes specifically include the following steps:
The value of 6-1. combinator functional block checking step (5) attribute 3, enters step 6-2 if 1, if 0 into Enter step 6-3.
Value of the 6-2. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt arrives It reaches, if timer expiry, abandons paid-in Pi, then the output of combinator functional block is sky, while step (5) is described The value of attribute 4 adds 1.If timer is not timed-out, according to MiIn member variable PSTID and PSTN to all PiIt is closed At the output of combinator functional block is P.
6-3. combinator functional block opens P simultaneously according to the value of step (5) attribute 2, opening timing deviceiSynthesis Process, according to M in synthesis processiIn member variable PSTID and PSTN may determine that the P of PiWhether all arrive at, if timing Device time-out, abandons paid-in Pi, then the output of combinator functional block is sky, while the value of step (5) attribute 4 adds 1.If timer is not timed-out, combinator functional block exports P.
(7) when the input of combinator functional block inputs for exception described in step (5), the content of input is MiAnd Pi And error code, subsequent processes specifically include the following steps:
The value of 7-1. combinator functional block checking step (5) attribute 1, enters step 7-2 if 0, if 1 into Enter step 7-3.
7-2. combinator functional block abandons Pi, export as sky, while the value of step (5) attribute 4 and attribute 5 adds 1.
Value of the 7-3. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt arrives It reaches, if timer expiry, abandons paid-in Pi, then the output of combinator functional block is sky.If timer does not have Time-out, according to MiIn member variable PSTID and PSTN to all PiIt is synthesized, the output of combinator functional block is P.
The copy of data packet is sent to multiple logic function blocks in this method and carries out parallel processing, physical copy can be passed through Mode be sent to path, can also avoid frequently copying by pointer operation, at this moment just need to consider pointer between multitask Protection problem.Which kind of, as method used actually, determined according to the characteristic of specific equipment.
And logic function block there are two types of it, it can be deployed in front of or after parallel processing.1, logic function block is decomposed: and The spawn of Cilk is similar, and decomposing logic function block and being one to data packet and can be sent to multiple downstream logic functional blocks and carry out The logic function block of parallel processing.2, combinator functional block: similar with the sync of Cilk, combinator functional block can receive number A data packet is recombined according to packet, and by them.
In this method using forwarding with control separation system in data packet flood method for parallel processing to data packet at Reason, gain effect are greatly to promote data packet processing speed, and the system expandability is strong, and technology maturation is at low cost It is honest and clean, it is very suitable for large-scale promotion and use, convenient for the promotion of portfolio.
Detailed description of the invention
Fig. 1 be forwarding with control separation system in based on flooding be data packet parallel processing process;
Fig. 2 is forwarding and the data packet parallel processing example module figure based on flooding in control separation system;
Fig. 3 is the decomposition logic function block structural schematic diagram in the present invention;
Fig. 4 is the combinator functional block structural schematic diagram in the present invention;
Fig. 5 is ForCES forwarding element basic structure schematic diagram.
Specific embodiment
The invention will now be described in detail with reference to the accompanying drawings, and the objects and effects of the present invention will be apparent from.
The present invention provides a kind of forwardings and data packet in control separation system to flood method for parallel processing.
1) as shown in figure 5, the forwarding is made of with control separation system forwarding element and control piece two parts, each forwarding The object logics functional block of existence anduniquess, decomposition logic function block, combinator functional block, at most one parallel support are patrolled in part Collect functional block and several processing logic functional blocks;
2) object logics functional block includes attribute 1 and attribute 2, and attribute 1 is used to indicate whether current system supports data packet Parallel processing, the value of attribute 1 is 1 to indicate that current system supports the parallel processing of data packet, and the value of attribute 1 is 0 to indicate current System does not support the parallel processing of data packet;Attribute 2 stores the topology between logic function block;
3) parallel support logic functional block is not involved in the flooding parallel processing of data packet, only one ability component, the energy Power component be used for record in current forwarding element it is all support data packets flooding parallel processings logic function blocks, the ability component with The form of Array for structural body exists, and each structural body contains member: logic function block name, logic function block class-mark, logic function It can block version number, logic function block instantiation maximum value, prefix logic functional block class-mark, postposition logic function block class-mark;
4) it decomposes the data packet that logic function block participates in forwarding element and floods parallel process, be that data packet flooding is parallel The promoter for the treatment of process.As shown in figure 3, decomposing logic function block has unique input, the content of input is any type Data packet, each processing logic functional block for exporting a corresponding downstream.
As shown in Figure 1, this method comprises the following steps:
(1) control piece is sentenced using the value of forwarding and the attribute 1 of control separated protocol message reading object logic function block Whether disconnected current system supports the parallel processing of data packet.If supported, step 2 is executed;Otherwise, terminate parallel process.
(2) the data packet P for decomposing logic function block for input generates multiple copies, and each copy is denoted as Pi
(3) it decomposes logic function block and output content is passed into processing logic functional block, each decomposition logic function block Output consists of two parts: metadata (is denoted as Mi) and packet copy Pi;MiIt is a structural body, contains member: parallel processing side Formula (being denoted as PM), parallel processing task number (being denoted as PTID), parallel processing subtask sequence number (being denoted as PSTID), parallel processing Subtask number (is denoted as PSTN).The value of PM is determined by decomposition logic function block's attribute 1;PTID is generated by decomposition logic function block, For uniquely identifying the flooding parallel process of data packet P, belong to all P of the same PiPTID all having the same; PSTID is generated by decomposition logic function block, for identifying a PiParallel process;PSTN and PiQuantity it is identical.
(4) processing logic functional block is to PiTreatment process is it is possible that wrong to abandon Pi, therefore processing logic function There are two the outputs of energy block: normal output exports content by MiAnd PiComposition;Abnormal output exports content by Mi、PiAnd mistake Code composition.
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all P of the same PiConjunction At.It is corresponding with the output of processing logic functional block.As shown in figure 4, combinator functional block is respectively: just there are two input Often input, the normal output of corresponding processing logic functional block, input content is by MiAnd PiComposition;Abnormal input, corresponding processing logic The abnormal output of functional block, input content is by Mi、PiIt is formed with error code.Combinator functional block has unique output, output Content is data packet P (or being empty).
The attribute of combinator functional block has 5, is respectively: attribute 1, is used to indicate combinator functional block and passes through exception Input receives a PiWhen the movement done, although the value of attribute 1 is in the 1 processing logic functional block treatment process for indicating front It is wrong, but synthesis process continues, the value of attribute 1 is invalid, all P of 0 expression synthesis processiIt will be dropped;Belong to Property 2, be a timer as unit of millisecond for define combinator functional block wait a P all PiArrival when Between, synthesis process is considered in vain after time-out, whenever a PiIt reaches, which opens;Attribute 3 is a Boolean variable, 1 expression combinator functional block waits until all P of a PiJust start to synthesize after reaching, as long as 0 indicates there is a PiAfter reaching just Start to synthesize;Attribute 4 is a positive integer for counting all invalid synthesis process numbers;Attribute 5 is a positive integer Pass through the caused invalid synthesis process number of abnormal input for counting.
(6) when normal input described in the input of combinator functional block is step (5), the content of input be Mi and Pi, subsequent processes specifically include the following steps:
The value of 6-1. combinator functional block checking step (5) attribute 3, enters step 6-2 if 1, if 0 into Enter step 6-3.
Value of the 6-2. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt arrives It reaches, if timer expiry, abandons paid-in Pi, then the output of combinator functional block is sky, while step (5) is described The value of attribute 4 adds 1.If timer is not timed-out, according to MiIn member variable PSTID and PSTN to all PiIt is closed At the output of combinator functional block is P.
6-3. combinator functional block opens P simultaneously according to the value of step (5) attribute 2, opening timing deviceiSynthesis Process, according to M in synthesis processiIn member variable PSTID and PSTN may determine that the P of PiWhether all arrive at, if timing Device time-out, abandons paid-in Pi, then the output of combinator functional block is sky, while the value of step (5) attribute 4 adds 1.If timer is not timed-out, combinator functional block exports P.
(7) when the input of combinator functional block inputs for exception described in step (5), the content of input is MiAnd Pi And error code, subsequent processes specifically include the following steps:
The value of 7-1. combinator functional block checking step (5) attribute 1, enters step 7-2 if 0, if 1 into Enter step 7-3.
7-2. combinator functional block abandons Pi, export as sky, while the value of step (5) attribute 4 and attribute 5 adds 1.
Value of the 7-3. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt arrives It reaches, if timer expiry, abandons paid-in Pi, then the output of combinator functional block is sky.If timer does not have Time-out, according to MiIn member variable PSTID and PSTN to all PiIt is synthesized, the output of combinator functional block is P.
Embodiment
Below with reference to embodiment, the invention will be further described.
Logic function block class name and identification number involved in the present invention are as shown in table 1:
1 logic function block class name of table and identification number
Fig. 2 is to can handle a large amount of parallel data packets using decomposition logic function block and combinator functional block to realize Data channel.In Fig. 2, a paths classify to IPv4 packet and are performed simultaneously metering, at the same time IPv4 in another path Life span (TTL) field of packet is accordingly successively decreased.Its module is implemented as follows:
1) specific implementation of logic function block is decomposed
1.1) input and output of logic function block are decomposed
Decomposing logic function block has unique input port, and the content of input can be any type of data packet;And it is defeated The quantity of exit port be greater than one, decompose logic function block output be downstream logic function block input, it is each output pair Answer the logic function block in a downstream.
1.2) data handling procedure of logic function block is decomposed
It decomposes logic function block and identical data packet is sent to multiple logic function blocks by parallel data processing channel.According to The parallel component of CE configures, and same packet must be sent by decomposing logic function block output port.
Data packet can be issued in a circulating manner by parallel output terminal.Each data packet and metadata are set as a knot Structure body: 1) parallel-type --- parallel-type: flooding;And line identifier 2) --- for determine data packet whether belong to it is same simultaneously Row task;And line number 3) --- it is corresponding with its identification number that each data packet will be assigned a string of numbers, in order to allow synthesis to patrol Functional block is collected to know when to synthesize them;4) parallel data packet number --- the quantity of the data packet of particular task.
1.3) attribute of logic function block is decomposed
Decomposing logic function block to have 1 attribute is Parallel Type, and how which handles data packet.
Furthermore parallel data types are as shown in table 2:
2 parallel data types of table
2) specific implementation of combinator functional block
2.1) input and output of combinator functional block
Combinator functional block is respectively there are two input: 1) normal input corresponds to the normal of processing logic functional block Output, input content is by MiAnd PiComposition;2) abnormal input, the abnormal output of corresponding processing logic functional block, input content by Mi、PiIt is formed with error code;There is unique output, output content is data packet P (or being empty).
2.2) data handling procedure of combinator functional block
Combinator functional block passes through parallel input port received data packet.When supervisory logic function block abandons a number When according to packet, combinator functional block may receive only metadata by invalid input port, or receive metadata sum number According to packet, error code will be specified according to respective meta-data at this time.Metadata structure is to be defined on parallel library according to ForCES model, It is as shown in table 3:
3 metadata structure of table
Memory space shared by metadata identification name is 32.The specification of variable distribution is as shown in table 4:
4 metadata of table identifies specification
Value Title
0x00000010 Parallel metadata setting
If synthesis waits type to be set as false, combinator functional block receives first data packet for synthesis process is started. If it is vacation, since each task can be identified by task correlator, it will wait all data packets to reach (unless timer is super When).If timer expiry, other must be handled according to Invalided variable value and is not yet received as invalid data packet.
If receiving a data packet by abnormal input port, then synthesis process will be handled according to invalid value variable Data packet.If invalid value variable is set as 0, if that a data packet is invalid, all data packets will be dropped.Once Synthesis process has been completed, and resulting data packet will be exported by single output port.
If combinator functional block receives the identical metadata of the different data packets with same task correlator Different value, then combinator functional block, which will be used, by combinator functional block input port enter combinator functional block The metadata of first data packet.
2.3) attribute of combinator functional block
Combinator functional block has with properties: attribute 1 is Invalid Action, is used to indicate combinator functional block A P is received by abnormal inputiWhen the movement done, although the value of attribute 1 is at the 1 processing logic functional block for indicating front It is wrong during reason, but synthesis process continues, the value of attribute 1 is invalid, all P of 0 expression synthesis processiIt will be by It abandons;2) attribute 2 is Merge Wait Timeout Timer, is that a timer is patrolled as unit of millisecond for defining synthesis Collect all P that functional block waits a PiThe time of arrival, time-out after synthesis process be considered in vain, whenever a PiIt reaches, it should Timer is opened;3) attribute 3 is Merge Wait Type, is a Boolean variable, and 1 expression combinator functional block waits until one All P of a PiJust start to synthesize after reaching, as long as 0 indicates there is a PiIt begins to synthesize after reaching;4) attribute 4 is Invalid Merges Counter is a positive integer for counting all invalid synthesis process numbers;5) attribute 5 is Invalid Total Counter is that a positive integer is used to count the invalid synthesis process number caused by abnormal input.
3) specific implementation of parallel processing logic functional block
3.1) data handling procedure of parallel processing logic functional block
Parallel processing logic functional block is not involved in the flooding parallel processing of data packet,
3.2) data handling procedure of parallel processing logic functional block
The not specified attribute of parallel processing logic functional block,
3.3) the ability component of parallel processing logic functional block
Parallel processing logic functional block has an ability component, locates parallel for identifying all support data packets in forwarding element The logic function block of reason, the ability component exist in the form of an Array for structural body, and each structural body contains following member: 1) logic function block name defines the title for supporting the logic function block of parallelization processing;2) logic function block class-mark defines branch Hold the classification number of the logic function block of parallelization processing;3) logic function block version number defines the logic for supporting parallelization processing The version of functional block;4) logic function block instantiation maximum value defines the logic function block of mutually similar support parallelization processing The example upper limit;5) prefix logic functional block class-mark defines work in parallel route Channel front end logic function block classification number;6) Postposition logic function block class-mark defines work in parallel route channel back-end logic functional block classification number.

Claims (1)

1. a kind of forwarding floods method for parallel processing with data packet in control separation system, it is characterised in that:
The forwarding is made of with control separation system forwarding element and control piece two parts, pair of existence anduniquess in each forwarding element As logic function block, decompose logic function block, combinator functional block, at most one parallel support logic functional block and several Processing logic functional block;
Object logics functional block includes attribute 1 and attribute 2, and attribute 1 is used to indicate whether current system supports the parallel of data packet Processing, the value of attribute 1 are 1 parallel processing for indicating current system support data packet, and the value of attribute 1 indicates current system not for 0 Support the parallel processing of data packet;Attribute 2 stores the topology between logic function block;
Parallel support logic functional block is not involved in the flooding parallel processing of data packet, only one ability component, the ability component For recording all logic function blocks for supporting data packet flooding parallel processing in current forwarding element, the ability component is with structural body The form of array exists, and each structural body contains member: logic function block name, logic function block class-mark, logic function block version This number, logic function block instantiation maximum value, prefix logic functional block class-mark, postposition logic function block class-mark;
It decomposes the data packet that logic function block participates in forwarding element and floods parallel process, be data packet flooding parallel processing The promoter of journey, decomposing logic function block has unique input, and the content of input is any type of data packet, each output The processing logic functional block in a corresponding downstream;
This method comprises the following steps:
(1) control piece is judged current using the value of forwarding and the attribute 1 of control separated protocol message reading object logic function block Whether system supports the parallel processing of data packet;If supported, step 2 is executed;Otherwise, terminate parallel process;
(2) the data packet P for decomposing logic function block for input generates multiple copies, and each copy is denoted as Pi
(3) it decomposes logic function block and output content is passed into processing logic functional block, each output for decomposing logic function block Consist of two parts: metadata MiP is copied with packeti;MiIt is a structural body, contains member: is parallel processing manner PM, parallel Handle task number PTID, parallel processing subtask sequence number PSTID, parallel processing subtask number PSTN;The value of PM is patrolled by decomposing Function block's attribute 1 is collected to determine;PTID is generated by decomposition logic function block, and the flooding for uniquely identifying data packet P is located parallel Reason process belongs to all P of the same PiPTID all having the same;PSTID is generated by decomposition logic function block, for identifying One PiParallel process;PSTN and PiQuantity it is identical;
(4) processing logic functional block is to PiTreatment process is it is possible that wrong to abandon Pi, therefore processing logic functional block Output there are two: normal output exports content by MiAnd PiComposition;Abnormal output exports content by Mi、PiAnd error code Composition;
(5) combinator functional block is located at processing logic functional block downstream, is mainly responsible for all P of the same PiSynthesis;With add The output of work logic function block is corresponding, and combinator functional block is respectively there are two input: normal input, corresponding processing are patrolled The normal output of functional block is collected, input content is by MiAnd PiComposition;Abnormal input, the abnormal output of corresponding processing logic functional block, Input content is by Mi、PiIt is formed with error code;Combinator functional block has unique output, output content be data packet P (or Person is sky);
The attribute of combinator functional block has 5, is respectively: attribute 1, is used to indicate combinator functional block and passes through abnormal input Receive a PiWhen the movement done, although the value of attribute 1 is wrong in the 1 processing logic functional block treatment process for indicating front Accidentally, but synthesis process continues, and the value of attribute 1 is invalid, all P of 0 expression synthesis processiIt will be dropped;Attribute 2, It is all P that a timer waits a P as unit of millisecond for defining combinator functional blockiThe time of arrival surpasses When after synthesis process be considered in vain, whenever a PiIt reaches, which opens;Attribute 3 is a Boolean variable, and 1 indicates Combinator functional block waits until all P of a PiJust start to synthesize after reaching, as long as 0 indicates there is a PiIt is begun to after reaching Synthesis;Attribute 4 is a positive integer for counting all invalid synthesis process numbers;Attribute 5 is that a positive integer is used for The statistics invalid synthesis process number caused by abnormal input;
(6) when normal input described in the input of combinator functional block is step (5), the content of input is MiAnd Pi, subsequent Treatment process specifically includes the following steps:
The value of 6-1. combinator functional block checking step (5) attribute 3, enters step 6-2 if 1, enters step if 0 Rapid 6-3;
Value of the 6-2. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt reaches, such as Fruit timer expiry abandons paid-in Pi, then the output of combinator functional block is sky, while step (5) attribute 4 Value add 1;If timer is not timed-out, according to MiIn member variable PSTID and PSTN to all PiIt is synthesized, is closed Output at logic function block is P;
6-3. combinator functional block opens P simultaneously according to the value of step (5) attribute 2, opening timing deviceiSynthesis process, According to M in synthesis processiIn member variable PSTID and PSTN may determine that the P of PiWhether all arrive at, if timer is super When, abandon paid-in Pi, then the output of combinator functional block is sky, while the value of step (5) attribute 4 adds 1;Such as Fruit timer is not timed-out, and combinator functional block exports P;
(7) when the input of combinator functional block inputs for exception described in step (5), the content of input is MiAnd PiAnd mistake Accidentally code, subsequent processes specifically include the following steps:
The value of 7-1. combinator functional block checking step (5) attribute 1, enters step 7-2 if 0, enters step if 1 Rapid 7-3;
7-2. combinator functional block abandons Pi, export as sky, while the value of step (5) attribute 4 and attribute 5 adds 1;
Value of the 7-3. combinator functional block according to step (5) attribute 2, all P of opening timing device waiting PiIt reaches, such as Fruit timer expiry abandons paid-in Pi, then the output of combinator functional block is sky;If timer is not timed-out, According to MiIn member variable PSTID and PSTN to all PiIt is synthesized, the output of combinator functional block is P.
CN201610388696.9A 2016-06-02 2016-06-02 A kind of forward floods method for parallel processing with data packet in control separation system Expired - Fee Related CN106100991B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610388696.9A CN106100991B (en) 2016-06-02 2016-06-02 A kind of forward floods method for parallel processing with data packet in control separation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610388696.9A CN106100991B (en) 2016-06-02 2016-06-02 A kind of forward floods method for parallel processing with data packet in control separation system

Publications (2)

Publication Number Publication Date
CN106100991A CN106100991A (en) 2016-11-09
CN106100991B true CN106100991B (en) 2019-03-26

Family

ID=57448056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610388696.9A Expired - Fee Related CN106100991B (en) 2016-06-02 2016-06-02 A kind of forward floods method for parallel processing with data packet in control separation system

Country Status (1)

Country Link
CN (1) CN106100991B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294688B2 (en) 2017-06-16 2022-04-05 Drivenets Ltd. Parallel information processing on multi-core computing platforms

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834871A (en) * 2010-05-14 2010-09-15 浙江工商大学 Open type router device and method thereof
CN104811479A (en) * 2015-03-31 2015-07-29 浙江工商大学 Virtual network node establishing method based on forwarding and control separation protocol

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571386B2 (en) * 2013-07-08 2017-02-14 Nicira, Inc. Hybrid packet processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834871A (en) * 2010-05-14 2010-09-15 浙江工商大学 Open type router device and method thereof
CN104811479A (en) * 2015-03-31 2015-07-29 浙江工商大学 Virtual network node establishing method based on forwarding and control separation protocol

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ForCES架构安全网关中若干逻辑功能块的设计及在NP上的实现;陈坷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090115;全文 *

Also Published As

Publication number Publication date
CN106100991A (en) 2016-11-09

Similar Documents

Publication Publication Date Title
CN108809854B (en) Reconfigurable chip architecture for large-flow network processing
CN100369423C (en) Network simulation detection system and method
CN108200086B (en) High-speed network data packet filtering device
CN103004158B (en) There is the network equipment of programmable core
CN110419200A (en) Packet handler in virtual filter platform
CN105812340B (en) A kind of method and apparatus of virtual network access outer net
Rastegarfar et al. TCP flow classification and bandwidth aggregation in optically interconnected data center networks
Serpanos et al. Architecture of network systems
Zhao et al. A unified modeling framework for distributed resource allocation of general fork and join processing networks
CN108471389A (en) A kind of switch system based on service function chain
Pan et al. A configurable state class method for temporal analysis of time Petri nets
CN106100991B (en) A kind of forward floods method for parallel processing with data packet in control separation system
Tan et al. Regularization-based coflow scheduling in optical circuit switches
Shrivastav Programmable multi-dimensional table filters for line rate network functions
Ab Kadir et al. Optimal algorithm for shared network communication bandwidth in IoT applications
CN106101031B (en) It is a kind of to forward and packet fragmentation method for parallel processing in control separation system
Zhang et al. Reco: Efficient regularization-based coflow scheduling in optical circuit switches
CN102523208A (en) Application layer protocol parallel processing method under multi-core architecture
CN103078802B (en) A kind of implementation method of logic function block dynamic topology
Liu Implementing Open flow switch using FPGA based platform
Haddar et al. Electing a leader in the local computation model using mobile agents
Qiao et al. Adaptable switch: a heterogeneous switch architecture for network-centric computing
Biswas et al. Implementing a partial group based routing for homogeneous fat tree network on chip architecture
CN101958816A (en) High speed core switching equipment testing system and testing method thereof
Hamadi et al. Compiling packet forwarding rules for switch pipelined architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190326

Termination date: 20210602