CN107786458A - The method that multiport access standard based on DPDK goes out - Google Patents

The method that multiport access standard based on DPDK goes out Download PDF

Info

Publication number
CN107786458A
CN107786458A CN201711064766.6A CN201711064766A CN107786458A CN 107786458 A CN107786458 A CN 107786458A CN 201711064766 A CN201711064766 A CN 201711064766A CN 107786458 A CN107786458 A CN 107786458A
Authority
CN
China
Prior art keywords
queue
dpdk
receiving
weight
receiving end
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.)
Granted
Application number
CN201711064766.6A
Other languages
Chinese (zh)
Other versions
CN107786458B (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.)
CERNET Corp
Original Assignee
Next Generation Internet Major Application Technology (beijing) Engineering Research Center Co Ltd
CERNET Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Next Generation Internet Major Application Technology (beijing) Engineering Research Center Co Ltd, CERNET Corp filed Critical Next Generation Internet Major Application Technology (beijing) Engineering Research Center Co Ltd
Priority to CN201711064766.6A priority Critical patent/CN107786458B/en
Publication of CN107786458A publication Critical patent/CN107786458A/en
Application granted granted Critical
Publication of CN107786458B publication Critical patent/CN107786458B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

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

Abstract

Present disclose provides a kind of method that multiport access standard based on DPDK goes out, including:Progress balancing flow load is set, and is the receipts queue of each receiving end mouth and originator mouth hair queue setting weight according to the outlet of the current loading condition in port and business importance distribution flow, the more big then transmitting-receiving priority of the weight is higher;The flow table of DPDK forwarding packet foundations is set according to the transmitting-receiving priority of the queue, and row major forwarding is entered in the transmitting-receiving queue high to priority, determines the five-tuple of characterize data stream forward-path, and the five-tuple includes:Receiving end slogan, queue number is received, cpu logic core, slogan of starting, sends out queue number;Receiving end slogan in the five-tuple, queue number is received, slogan of starting, the stream forward-path that hair queue number determines, the interface function forwarding packet for calling DPDK to provide.The disclosure realizes the analysis and scheduling of stream weight between DPDK high-performance Scenario Designs port.

Description

The method that multiport access standard based on DPDK goes out
Technical field
The present invention relates to Internet technical field, more particularly, to a kind of multiport access standard side of going out based on DPDK Method, this method can be used in the technologies such as charging gateway, load balancing, can greatly lift the forwarding that multiport access standard goes out Performance.
Background technology
DPDK is Data Plane Development Kit abbreviation, is combined out by Intel, 6WIND Deng Duo companies Hair, it is intended to lifted under x86 platforms to the process performance of packet.Traditional linux kernel is not directed to big flow application scenarios Custom-made exploitation is carried out, although lifting forwarding performance can also be optimized, inherent interrupt mechanism limits Read the ability of data message.And current big flow application scenarios are mainly using FPGA programmings or network processing unit come real Existing, both technological development costs are higher.
Disclosure
(1) technical problems to be solved
Present disclose provides a kind of multiport access standard based on DPDK to go out method, set forth above at least partly to solve Technical problem.
(2) technical scheme
According to an aspect of this disclosure, there is provided a kind of method that multiport access standard based on DPDK goes out, including:Enter The load of row balancing flow is set, and the outlet of flow is distributed according to the current loading condition in port and business importance, is received to be each Port receipts queue and originator mouth hair queue setting weight, the more big then transmitting-receiving priority of the weight are higher;It is true according to the weight Fixed receiving end mouth receives queue and the transmitting-receiving priority of mouth hair queue of starting sets DPDK to forward the flow table of packet foundation, to excellent Row major forwarding is entered in the high transmitting-receiving queue of first level, determines the five-tuple of characterize data stream forward-path, and the five-tuple includes:Receive Port numbers, queue number is received, cpu logic core, slogan of starting, sends out queue number;Receiving end slogan in the five-tuple, receive queue Number, slogan of starting, the stream forward-path that hair queue number determines, the interface function forwarding packet for calling DPDK to provide.
In the disclosure some embodiments, the step of setting DPDK to forward the flow table of packet foundation, includes:Carrying out just When beginning to set, five-tuple Array for structural body is set according to configuration file or input parameter, the five-tuple structure includes connecing Receiving end slogan, receiving queue number, transmitting terminal slogan, transmit queue number, and cpu logic core is numbered into the five-tuple knot as corresponding to Structure body array index uses.
In the disclosure some embodiments, the step of progress balancing flow load is set, includes:Receiving end mouth receives queue Weight determined by two parameters of receiving end mouth flow bandwidth and business importance, originator mouth hair queue weight by hair port flow Bandwidth determines.
In the disclosure some embodiments, described the step of setting weight for each receiving end mouth and originator mouth, includes:There are n There is a transmitting-receiving queue receiving end mouth, each port, and it is 0 that each bandwidth for receiving queue is set when initial, business importance according to Order from high to low is respectively P1, P2 ... Pn;When equipment is started working, each flow for receiving queue starts to produce, every The scheduled time calculates a bandwidth;When worked the scheduled time after, calculate the weight of each queue:(queue has received Byte number (million)/100) * business importances, then carry out transmitting-receiving priority arrangement according to weight.
In the disclosure some embodiments, before the forwarding packet, in addition to step:
For the server of more Node node architectures, it is total that each described Node node includes one group of CPU, internal memory and PCI Line, situations of the local terminal CPU across Node node visits is checked for, to user if it across Node node visit be present Reminded.
In the disclosure some embodiments, the local terminal CPU that checks in a program is across Node node visits Situation includes:Across Node node visit is to end memory or device PCI.
In the disclosure some embodiments, during the forwarding packet, call port to send packet function, the function from Dynamic corresponding run cpu logic core, and the receiving end slogan in the five-tuple is called, queue number is received, slogan of starting, sends out queue Number.
In the disclosure some embodiments, during the forwarding packet, call port to send cache function, port send it is slow Deposit refresh function.
In the disclosure some embodiments, it is described to carry out needing to be provided for DPDK operations before balancing flow load is set System environments.
In the disclosure some embodiments, the system environments for being provided for DPDK operations includes:It is provided for DPDK The system environments of operation includes:Compiling deployment DPDK software kits, big page internal memory, loading igb_uio kernel modules, bonding network are set Card, carry file system hugelbfs and setting CPU isolate.
(3) beneficial effect
It can be seen from the above technical proposal that multiport access standard of the disclosure based on DPDK goes out method at least with following One of beneficial effect:
(1) by defining five-tuple concept, including:Receiving port number, receiving queue number, cpu logic core, transmitting terminal slogan With transmit queue number, stream forward-path has been uniquely determined, has been realized with alloing the more loose coupling of stream forwarding capability.
(2) as a result of the method for the scheduling for realizing stream between multiport according to weight, applied to relatively conventional multiterminal Mouth forwarding unit, and meet the requirement that multiport performance requirement is high, stream scheduling strategy demand is changeable.
(3) as a result of the design of high modularization, realize and flow weight between DPDK high-performance Scenario Designs port Analysis and scheduling, a kind of high and stable reference thinking of performance is provided for the research and development of gateway kind equipment.
Brief description of the drawings
Fig. 1 is the physical structure of the application scenarios for the method that multiport access standard of the embodiment of the present disclosure based on DPDK goes out Figure.
Fig. 2 is the flow chart for the method that multiport access standard of the embodiment of the present disclosure based on DPDK goes out.
Embodiment
Present disclose provides a kind of method that multiport access standard based on DPDK goes out.DPDK operates in the logical of X86-based With on platform, the server of the framework is relatively common, and the interface can that C language developer only needs to call DPDK to provide is realized High-performance ground data processor.This method includes:, flow load balance, set flow table, check Socket association and forwarding number According to bag.
For the object, technical solutions and advantages of the present invention are more clearly understood, below in conjunction with specific embodiment, and reference Accompanying drawing, the present invention is described in more detail.Journey according to an embodiment of the invention, it can clearly show the multiport under the invention Access standard goes out function.
The some embodiments of the disclosure will be done with reference to appended accompanying drawing in rear and more comprehensively describe to property, some of but not complete The embodiment in portion will be illustrated.In fact, the various embodiments of the disclosure can be realized in many different forms, and should not be construed To be limited to this several illustrated embodiment;Relatively, there is provided these embodiments cause the disclosure to meet applicable legal requirement.
In an exemplary embodiment of the disclosure, there is provided the side that a kind of multiport access standard based on DPDK goes out Method.Fig. 1 is the physical structure figure of the application scenarios for the method that multiport access standard of the embodiment of the present disclosure based on DPDK goes out.Such as figure Shown in 1, the method that multiport access standard of the present embodiment based on DPDK goes out is by the multiport forwarding unit based on DPDK in figure To realize, the multiport forwarding unit difference first line of a couplet and second line of a couplet interchanger.Multiport forwarding unit based on DPDK is used to run Multiport access standard based on DPDK goes out program, and the more network card equipments of generally use are as multiport forwarding unit, such as four network interface cards Industrial computer.
The program run in multiport forwarding unit can be developed according to the actual requirements, such as SDN, load balancing, stream Amount analysis etc..The disclosure simply relate to realize that multiport access standard goes out and a kind of high performance method based on DPDK.
Based on above-mentioned multiport forwarding unit, present disclose provides a kind of multiport access standard based on DPDK to go out system Method.Fig. 2 is the flow chart for the method that multiport access standard of the embodiment of the present disclosure based on DPDK goes out.As shown in Fig. 2 the disclosure The method that multiport access standard of the embodiment based on DPDK goes out includes:
Step A, DPDK environment is set, refers to that DPDK needs to set some system environments before operation, including:Compiling portion Affix one's name to DPDK software kits, set big page internal memory, loading igb_uio kernel modules, binding network interface card, carry file system hugelbfs and CPU isolation etc. is set.Detailed process includes:
(1) big page internal memory is set
Create mount point:mkdir–p/mnt/huge
Carry big page file system:mount–t hugelbfs Nodev/mnt/huge
2G big page internal memory is set:
echo 1024/sys/devices/system/Node/Node0/hugepages/hugepages
-2048kB/nr_hugepages
(2) igb_uio modules are loaded
Insmod igb_uio.ko//loading igb_uio modules
(3) network interface card is bound
It is 02 to bind PCI numberings:05:0 and 02:06:0 two pieces of network interface cards:
./DPDK-devbind.py–b igb_uio 02:05:0 02:06:0
(4) CPU is set to isolate
IsolCPUs=1//show to isolate No. 1 logic CPU
On compiling deployment DPDK software kits therein, kernel module, carry file system hugelbfs, art technology Personnel will be apparent that its implementation process, no longer describe in detail herein.
Step B, carry out flow load balance setting;
Further, the flow bandwidth of each port of multiport forwarding unit, business importance may be different.Cause This is, it is necessary to outlet according to the current loading condition in port and business importance flexible allocation flow.Flow load balance is main It is related to two data structures:Send out queue weight, receive queue weight.Queue is received for each receiving end mouth and originator mouth sends out queue assignment power Weight, weight is bigger, and priority is higher.Queue, which is received, for receiving end mouth is mainly in view of flow bandwidth and queue business importance two Parameter, and mainly consider flow bandwidth for originator mouth hair queue.For example, hair queue weight is set, receives queue weight knot Structure body is as follows:
It is as follows to send out queue weight:
Struct send_wegiht{
Unsigned long sent_bytes;// forward byte number
}
The weight of queue is sent out by originator mouth loading condition, that is, has forwarded byte number to determine, can be according to port during use Number, an one-dimension array is defined, such as:struct send_weifht send_queues[n];
It is as follows to receive queue weighting structure body:
The calculating for receiving queue weight is exactly that two attributes of above-mentioned receipts queue weighting structure body have received byte number (received_bytes) and business importance (priority) product.
Above-mentioned steps include in specific implementation:
Sub-step B1, it is 0 that each bandwidth for receiving queue is set when initial, and business importance is according to order from high to low Respectively P1, P2 ... Pn;
Sub-step B2, when equipment is started working, each flow for receiving queue starts to produce, and calculates one at predetermined time intervals Secondary bandwidth;
Sub-step B3, when worked the scheduled time after, calculate the weight of each queue:(queue has received byte Number (million)/100) * business importances, priority arrangement then is carried out according to weight, the weight is more big then to receive and dispatch priority more Row major forwarding is entered in height, the high transmitting-receiving queue of priority, other the like.
For example, if there is four receiving end mouths, each port is a queue.The bandwidth of queue is each received when initial All it is 0, business importance is respectively 1,2,3 and 4 according to order from high to low.When equipment is started working, queue is each received Flow start to produce, a bandwidth can be calculated with every five seconds for example, otherwise calculating for bandwidth excessively can not can frequently influence the life of flow table Into speed, thus influence forwarding performance.
If currently receive queue 0 packet receiving 400M, business importance C;Queue 1 packet receiving 350M, business importance B, team Row 2 packet receiving 300M, business importance A, queue 3 packet receiving 200M, business importance D, then the weight of queue 0 is 400*3/ 100;The weight of queue 1 is 350*2/100;The weight of queue 2 is 300*1/100, and the weight of queue 4 is 200*4/100, weight Respectively 12,7,3 and 8, priority arrangement then is carried out to weight, therefore queue priority is 1,4,2,3 from high to low, wherein The highest priority of queue 1, then it is preferential to send, other the like.
As a result of the method for the scheduling for realizing stream between multiport according to weight, relatively conventional multiterminal are can apply to Mouth forwarding unit, and meet the requirement that multiport performance requirement is high, stream scheduling strategy demand is changeable.
Step C, the receiving end mouth determined according to the weight receives queue and the transmitting-receiving priority for mouth hair queue of starting sets stream Table, developer can specially develop an interface and call for other modules, give here for the setting to flow table, the interface Step B is called, and flow load balance mainly generates the create-rule of flow table in step B, and sets the flow table to be exactly in this step Generated rule is performed to update flow table.
DPDK forwarding packets are forwarded according to flow table, and the receiving end mouth obtained by weight receives queue and originator The priority of mouth hair queue determines five-tuple, i.e.,:Receiving end slogan, receive queue, cpu logic core, originator slogan and hair queue number only One ground determines a stream.Therefore, as long as program specifies five-tuple, it just specify that the forward-path of data flow.Preferably, exist During initial setting up, five-tuple structure is set according to configuration file or input parameter.
Make introductions all round the implication of each element of five-tuple below:
(1) receiving end slogan refers to which network interface to receive data from, and the numbering of port numbers uses integer, such as 0, be exactly from Port0 receives data;The queue number that queue number refers to receiving end mouth is received, for example data are received from port0 No. 0 queue, then The first two element of the five-tuple is exactly 0,0;
(2) cpu logic core refers to CPU Logic Core numbering, and the high performance one of reasons of DPDK are exactly exclusive CPU, Avoid being used by other programs, if it is 0 to specify cpu logic core herein, illustrate that No. 0 CPU needs are isolated, therefore setting Just need to isolate away No. 0 CPU in DPDK environment;
(3) slogan of starting is similar with receiving end mouth, specify which port to send out message from;Queue number is sent out with receiving queue It is number similar, it specify that message will be sent from which queue of some port.
For example, five-tuple structure is:
Need to define a variable struct port_queue array [16], a defined herein array when in use Variable array, array subscript use cpu logic core.By defining five-tuple concept, stream forward-path is uniquely determined, has been made Stream forwarding capability can with loose coupling be realized.
Step D, Socket associations are checked, Socket is the meaning of slot herein, i.e. CPU slots, the inspection of Socket relevances Look into mainly in more Node nodes, current most server uses more Node node architectures, and each Node node includes One group of CPU, internal memory and pci bus.Assuming that current server has two Node nodes, DPDK programs are operated on Node0 CPU.If DPDK routine accesses be Node0 internal memory and Node0 device PCI performance if it is very high, if on the contrary, access Internal memory or device PCI on Node1, performance will be affected.
The inspection Socket associations, i.e., the server for more Node node architectures, it is necessary to check whether in a program There is local terminal CPU to access to end memory or device PCI.Access remote memory or device PCI is larger to performance impact.Except It is careful not to outside across Node node, can also be checked using following steps during environment configurations in step A:
Sub-step D1, obtain port port Socket ID;
Sub-step D2, obtain the Socket ID where the logic CPU of present procedure operation;
Sub-step D3, if Sockets of the port port Socket ID where with the logic CPU of present procedure operation ID is unequal, then explanation has across Node node visit.Reminded if in the presence of across Node node visit for user.
Specifically, following false code can also be used in program:
If(rte_eth_dev_Socket_ID(port)!=(int) rte_Socket_ID ())
Across the Node node visit device PCI of // explanation
Function rte_eth_dev_Socket_ID (port) is the Socket ID for obtaining port port in above-mentioned code, Rte_Socket_ID () is to obtain the Socket ID where the logic CPU of present procedure operation.
Step E, the interface forwarding packet for calling DPDK to provide, the forwarding packet, i.e., merely forwards behavior, only The interface function that DPDK need to be called to provide, for example packet function is sent using port, the function is automatically right when calling Cpu logic core where answering, and need to use above-mentioned middle structure struct port_queue four elements:Receiving end slogan, Queue number is received, slogan of starting, sends out queue number.
Forward the process of packet fairly simple, as long as after flow table is set in step C, this step only need to be according to stream Table calling interface forwards packet.The packet forwarding is divided into two kinds of interfaces:Port sends packet function and port Send cache function, port sends cache flush function, it is preferable that send cache function using interface port and port sends and delayed Forwarding performance is more preferable when depositing refresh function.
So far, multiport access standard of the embodiment of the present disclosure based on DPDK goes out the method introduction of system and finished.
Because the disclosure employs the design of high modularization, realize and flow weight between DPDK high-performance Scenario Designs port Analysis and scheduling, provide a kind of high and stable reference thinking of performance for the research and development of gateway kind equipment.
So far, the embodiment of the present disclosure is described in detail combined accompanying drawing.It should be noted that in accompanying drawing or say In bright book text, the implementation that does not illustrate or describe is form known to a person of ordinary skill in the art in art, and It is not described in detail.In addition, the above-mentioned definition to each element and method be not limited in mentioning in embodiment it is various specific Structure, shape or mode, those of ordinary skill in the art simply can be changed or replaced to it.
In addition, unless specifically described or the step of must sequentially occur, the order of above-mentioned steps, which has no, is limited to above institute Row, and can change or rearrange according to required design.And above-described embodiment can based on design and reliability consideration, that This mix and match uses using or with other embodiment mix and match, i.e., the technical characteristic in different embodiments can be with independent assortment Form more embodiments.
Algorithm and display be not inherently related to any certain computer, virtual system or miscellaneous equipment provided herein. Various general-purpose systems can also be used together with teaching based on this.As described above, required by constructing this kind of system Structure be obvious.In addition, the disclosure is not also directed to any certain programmed language.It should be understood that it can utilize various Programming language realizes content of this disclosure described here, and the description done above to language-specific is to disclose this public affairs The preferred forms opened.
The disclosure can be by means of including the hardware of some different elements and by means of properly programmed computer Realize.The all parts embodiment of the disclosure can realize with hardware, or to be run on one or more processor Software module is realized, or is realized with combinations thereof.It will be understood by those of skill in the art that can be in practice using micro- Processor or digital signal processor (DSP) are some or all in the relevant device according to the embodiment of the present disclosure to realize The some or all functions of part.The disclosure be also implemented as a part for performing method as described herein or Whole equipment or program of device (for example, computer program and computer program product).Such journey for realizing the disclosure Sequence can store on a computer-readable medium, or can have the form of one or more signal.Such signal can Obtained with being downloaded from internet website, either provide on carrier signal or provided in the form of any other.
Those skilled in the art, which are appreciated that, to be carried out adaptively to the module in the equipment in embodiment Change and they are arranged in one or more equipment different from the embodiment.Can be the module or list in embodiment Member or component be combined into a module or unit or component, and can be divided into addition multiple submodule or subelement or Sub-component.In addition at least some in such feature and/or process or unit exclude each other, it can use any Combination is disclosed to all features disclosed in this specification (including adjoint claim, summary and accompanying drawing) and so to appoint Where all processes or unit of method or equipment are combined.Unless expressly stated otherwise, this specification (including adjoint power Profit requires, summary and accompanying drawing) disclosed in each feature can be by providing the alternative features of identical, equivalent or similar purpose come generation Replace.Also, in if the unit claim of equipment for drying is listed, several in these devices can be by same hard Part item embodies.
Similarly, it will be appreciated that in order to simplify the disclosure and help to understand one or more of each open aspect, Above in the description to the exemplary embodiment of the disclosure, each feature of the disclosure is grouped together into single implementation sometimes In example, figure or descriptions thereof.However, the method for the disclosure should be construed to reflect following intention:I.e. required guarantor The disclosure of shield requires features more more than the feature being expressly recited in each claim.It is more precisely, such as following Claims reflect as, open aspect is all features less than single embodiment disclosed above.Therefore, Thus the claims for following embodiment are expressly incorporated in the embodiment, wherein each claim is in itself Separate embodiments all as the disclosure.
Particular embodiments described above, the purpose, technical scheme and beneficial effect of the disclosure are carried out further in detail Describe in detail bright, should be understood that the specific embodiment that the foregoing is only the disclosure, be not limited to the disclosure, it is all Within the spirit and principle of the disclosure, any modification, equivalent substitution and improvements done etc., the guarantor of the disclosure should be included in Within the scope of shield.

Claims (10)

1. a kind of method that multiport access standard based on DPDK goes out, including:
Carry out balancing flow load to set, the outlet of flow is distributed according to the current loading condition in port and business importance, is Each receiving end mouth receives queue and originator mouth hair queue sets weight, and the receiving end mouth determined according to the weight receives queue and originator mouth The transmitting-receiving priority of queue is sent out, the more big then transmitting-receiving priority of the weight is higher;
The flow table of DPDK forwarding packet foundations is set according to the transmitting-receiving priority of the receipts queue of receiving end mouth and mouth hair queue of starting, Row major forwarding is entered in the transmitting-receiving queue high to priority, determines the five-tuple of characterize data bag forward-path, the five-tuple bag Include:Receiving end slogan, queue number is received, cpu logic core, slogan of starting, sends out queue number;
Receiving end slogan in the five-tuple, queue number is received, slogan of starting, the packet forwarding road that hair queue number determines Footpath, the interface function forwarding packet for calling DPDK to provide.
2. the step of according to the method for claim 1, setting DPDK to forward the flow table of packet foundation includes:
When carrying out initial setting up, five-tuple Array for structural body, the five-tuple are set according to configuration file or input parameter Structure include receiving port number, receiving queue number, transmitting terminal slogan, transmit queue number, and using cpu logic core numbering as pair The five-tuple Array for structural body subscript answered uses.
3. the step of according to the method for claim 2, the progress balancing flow load is set includes:
The weight that receiving end mouth receives queue is determined that originator mouth sends out queue by two parameters of receiving end mouth flow bandwidth and business importance Weight is determined by originator mouth flow bandwidth.
4. according to the method for claim 3, described include for the step of each receiving end mouth and originator mouth setting weight:
There is n receiving end mouth, there is a transmitting-receiving queue each port, and it is 0 that each bandwidth for receiving queue is set when initial, business weight The property wanted is respectively P1, P2 ... Pn according to order from high to low;
When equipment is started working, each flow for receiving queue starts to produce, and calculates a bandwidth at predetermined time intervals;
When worked the scheduled time after, calculate the weight of each queue:(queue has received byte number (million)/100) * industry Business importance, then carries out transmitting-receiving priority arrangement according to weight.
5. according to the method for claim 1, before the forwarding packet, in addition to step:
For the server of more Node node architectures, each described Node node includes one group of CPU, internal memory and pci bus, inspection The situation across Node node visits with the presence or absence of local terminal CPU is looked into, user is carried out if it across Node node visit be present Remind.
6. according to the method for claim 5, the local terminal CPU that checks in a program is across Node node visits Situation includes:Across Node node visit is to end memory or device PCI.
7. according to the method for claim 1, port is called to send packet function, the function during forwarding packet Automatic corresponding run cpu logic core, and the receiving end slogan in the five-tuple is called, queue number is received, slogan of starting, sends out team Row number.
8. according to the method for claim 1, during the forwarding packet, port is called to send cache function, port transmission Cache flush function.
9. according to the method for claim 1, described carry out needing to be provided for DPDK operations before balancing flow load is set System environments.
10. according to the method for claim 9, the system environments for being provided for DPDK operations includes:It is provided for The system environments of DPDK operations includes:Compiling deployment DPDK software kits, big page internal memory, loading igb_uio kernel modules are set, tied up Determine network interface card, carry file system hugelbfs and set CPU to isolate.
CN201711064766.6A 2017-11-02 2017-11-02 DPDK-based multi-port access and egress method Active CN107786458B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711064766.6A CN107786458B (en) 2017-11-02 2017-11-02 DPDK-based multi-port access and egress method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711064766.6A CN107786458B (en) 2017-11-02 2017-11-02 DPDK-based multi-port access and egress method

Publications (2)

Publication Number Publication Date
CN107786458A true CN107786458A (en) 2018-03-09
CN107786458B CN107786458B (en) 2021-06-25

Family

ID=61431445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711064766.6A Active CN107786458B (en) 2017-11-02 2017-11-02 DPDK-based multi-port access and egress method

Country Status (1)

Country Link
CN (1) CN107786458B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194581A (en) * 2018-08-24 2019-01-11 新华三技术有限公司 Message processing method and device
CN110333899A (en) * 2019-06-27 2019-10-15 腾讯科技(深圳)有限公司 Data processing method, device and storage medium
CN110768829A (en) * 2019-10-23 2020-02-07 江苏省未来网络创新研究院 Method for realizing linear increase of traffic analysis service performance based on DPDK
WO2020177246A1 (en) * 2019-03-04 2020-09-10 南京邮电大学 Nat-based method for load balancing in dpdk environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539440A (en) * 2013-07-09 2015-04-22 英特尔公司 Traffic management with ingress control
CN105391635A (en) * 2015-10-16 2016-03-09 电子科技大学 Network virtualization method based on software defined network (SDN)
CN106357537A (en) * 2016-11-09 2017-01-25 北京工业大学 Link monitoring method based on SDN multipath transmission
WO2017020949A1 (en) * 2015-08-03 2017-02-09 Nokia Solutions And Networks Oy Load and software configuration control among composite service function chains
US20170187621A1 (en) * 2015-12-29 2017-06-29 Amazon Technologies, Inc. Connectionless reliable transport

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539440A (en) * 2013-07-09 2015-04-22 英特尔公司 Traffic management with ingress control
WO2017020949A1 (en) * 2015-08-03 2017-02-09 Nokia Solutions And Networks Oy Load and software configuration control among composite service function chains
CN105391635A (en) * 2015-10-16 2016-03-09 电子科技大学 Network virtualization method based on software defined network (SDN)
US20170187621A1 (en) * 2015-12-29 2017-06-29 Amazon Technologies, Inc. Connectionless reliable transport
CN106357537A (en) * 2016-11-09 2017-01-25 北京工业大学 Link monitoring method based on SDN multipath transmission

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194581A (en) * 2018-08-24 2019-01-11 新华三技术有限公司 Message processing method and device
CN109194581B (en) * 2018-08-24 2020-12-25 新华三技术有限公司 Message processing method and device
WO2020177246A1 (en) * 2019-03-04 2020-09-10 南京邮电大学 Nat-based method for load balancing in dpdk environment
JP2022505453A (en) * 2019-03-04 2022-01-14 南京郵電大学 Load balancing method based on NAT in DPDK environment
JP7177548B2 (en) 2019-03-04 2022-11-24 南京郵電大学 Load Balancing Method Based on NAT in DPDK Environment
CN110333899A (en) * 2019-06-27 2019-10-15 腾讯科技(深圳)有限公司 Data processing method, device and storage medium
CN110333899B (en) * 2019-06-27 2022-11-01 腾讯科技(深圳)有限公司 Data processing method, device and storage medium
CN110768829A (en) * 2019-10-23 2020-02-07 江苏省未来网络创新研究院 Method for realizing linear increase of traffic analysis service performance based on DPDK

Also Published As

Publication number Publication date
CN107786458B (en) 2021-06-25

Similar Documents

Publication Publication Date Title
CN107786458A (en) The method that multiport access standard based on DPDK goes out
CN101610209B (en) Method and device for multi-core parallel concurrent processing of network traffic flows
CN104901898A (en) Load balancing method and device
CN108845970A (en) A kind of device and method of free switching GPU topology server
CN103927216B (en) For managing the method and system of virtual bench
CN105025070A (en) Method to optimize network data flows within a constrained system
US11593136B2 (en) Resource fairness enforcement in shared IO interfaces
CN109582452A (en) A kind of container dispatching method, dispatching device and electronic equipment
CN105429816A (en) Network interface card test system
He et al. EasyNet: 100 Gbps network for HLS
CN110324197A (en) The method and apparatus of applied in network performance test
CN110321072A (en) For the viability guarantee of memory traffic
CN111078516A (en) Distributed performance test method and device and electronic equipment
CN108008959A (en) A kind of Software Development Kit SDK cut-in methods, system and device
CN109446130A (en) A kind of acquisition methods and system of I/O device status information
CN103902767B (en) Multinuclear emulator based on QEMU and SystemC
CN109308210B (en) Method for optimizing NFV forwarding service chain performance on multi-core server
CN106598642A (en) Method and device for using services in plug-in
US10176146B2 (en) Integration pattern implementations using reconfigurable logic devices
CN112383443B (en) Parallel application communication performance prediction method running in RDMA communication environment
Secco et al. Message passing on InfiniBand RDMA for parallel run-time supports
CN107920035A (en) It is designed to the processor of certainty switching Ethernet
CN105095147B (en) The Flit transmission methods and device of network-on-chip
CN108292287A (en) The data pull engine of structure assembly
Gavrilovska et al. The execution of event-action rules on programmable network processors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211207

Address after: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital Qinghua science and Technology Park 8 Building B block seal building

Patentee after: CERNET Co.,Ltd.

Address before: 100084 B1001-C 8, building 1, Zhongguancun East Road, Haidian District, Beijing, 2.

Patentee before: NEXT GENERATION INTERNET MAJOR APPLICATION TECHNOLOGY (BEIJING) ENGINEERING RESEARCH CENTER Co.,Ltd.

Patentee before: Saier Network Co., Ltd