CN102075421B - Service quality processing method and device - Google Patents

Service quality processing method and device Download PDF

Info

Publication number
CN102075421B
CN102075421B CN 201010623669 CN201010623669A CN102075421B CN 102075421 B CN102075421 B CN 102075421B CN 201010623669 CN201010623669 CN 201010623669 CN 201010623669 A CN201010623669 A CN 201010623669A CN 102075421 B CN102075421 B CN 102075421B
Authority
CN
China
Prior art keywords
packet
qos
inbound
outgoing direction
fpga
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.)
Active
Application number
CN 201010623669
Other languages
Chinese (zh)
Other versions
CN102075421A (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN 201010623669 priority Critical patent/CN102075421B/en
Publication of CN102075421A publication Critical patent/CN102075421A/en
Application granted granted Critical
Publication of CN102075421B publication Critical patent/CN102075421B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a service quality processing method and a service quality processing device. The method comprises the following steps that: a field programmable gate array (FPGA) receives a first service flow packet and transmits the first service flow packet to a central processing unit (CPU); the CPU performs QoS processing on the first packet, configuring a flow characteristic and QoS action indication into a flow table and transmits the flow table to the FPGA; and after receiving a subsequent service flow packet, the FPGA searches the flow table according to the flow characteristic and completes QoS processing on the subsequent packet according to the QoS action indication in the flow table. Through the method and the device, QoS processing efficiency is improved.

Description

Service quality processing method and device
Technical field
The present invention relates to technical field of data transmission, be specifically related to service quality (QoS, Quality of Service) processing method and device.
Background technology
Adjoint network technology and development of multimedia technology, Internet Protocol (IP, Internet Protocol) net is at the traditional World Wide Web (WWW) (WWW of carrying, World Wide Web), file transfer protocol (FTP) (FTP, File Transfer Protocol), on the basis of service such as Email (E-mail), also to carry office application (OA comprehensively, Office Application), monitoring, online real-time deal, ip voice (VoIP, Voice over Internet Protocol) and the more crucial business of interactive multimedia communication etc., describe that current Everything over IP was not.Although but the network egress bandwidth continues to expand, still can't tackle the traffic growth of client's explosion type: especially point-to-point (P2P, that Peer to Peer) uses is surging forward, and more makes the outlet bandwidth of just having too many difficulties to cope with originally all be in the oversaturated state all the time; Non-key business wreaks havoc, online core business packet loss, the service delay shake is uncontrollable, quality of service can't be protected, operating efficiency descends, customer churn ... originally the network of quickness and high efficiency becomes a tangled skein of jute, and the webmaster personnel also are faced with from the huge pressure of each side.
The qos feature of the network equipment is exactly in the bandwidth occasions with limited, suppresses low priority applications, guarantees bandwidth and the time delay of high-priority applications, promotes a kind of technology that user network uses impression.Through years of development, QoS technical know-how and realization framework have developed very perfectly, and have obtained sufficient use and good effect at various network device.This wherein more typically has: integrated service (IntServ)/RSVP (RSVP, Resource Reservation Protocol) QoS model, Differentiated Services (DiffServ) QoS model, multiprotocol label switching (MPLS, Multi-Protocol Label Switching) with traffic engineering (TE, Traffic Engineering) etc.But it should be noted that, deep layer identification complicated applications also provides service quality to guarantee to have become the new problem that traditional Q oS technology faces, and therefore traditional Q oS technology also has been absorbed in no small predicament really, need further weed out the old and bring forth the new, just might satisfy in the express network that multi-service merges the service quality guarantee demand to key business.
Fig. 1 is legacy network devices as the class-based Weighted Fair Queuing (CBWFQ in router, switch, the fire compartment wall etc., Class-based Weighted Fair Queuing) QoS queue work principle schematic, as seen from Figure 1, following queue type is arranged:
A low time delay formation (LLQ, Low Latency Queuing) is used for supporting quick forwarding (EF, Expedited Forwarding) class business, adopts first priority to send, and guarantees time delay;
64 bandwidth guarantee formation (BQ, Bandwidth Queuing), are used for supporting guaranteeing to transmit (AF, Assured Forwarding) class business, can guarantee the bandwidth of each formation and controlled time delay;
A Weighted Fair Queuing (WFQ, Weight Fair Queuing), corresponding (BE, the Best Effort) business that transmits as possible uses the interface remaining bandwidth to send.
More than these queue scheduling technology, bandwidth evaluation algorithm all be very ripe.But this CBWFQ technology is used in that to be subject to the flow means of identification in the present network single, still might go wrong, and gets into a difficult position.
As seen from Figure 1, all flows comprise IP message or MPLS message all can be earlier through the processing of a critical component-grader, carrying out follow-up QoS assessment scheduling again handles, wherein, grader can be CPU (CPU, Central Processing Unit), application-specific integrated circuit (ASIC) (ASIC, Application Specific Integrated Circuit) chip or network processing unit (NP, Network Processor).And the work that grader is finished, exactly according in advance by order line or Web network management configuration good various classifying ruless message is judged that coupling sorts out, put corresponding type mark, for CPU, this is operated in chip internal and directly finishes; For asic chip or NP, the action that this coupling is sorted out is normally by the plug-in three-state content addressing memory (TCAM of chip, ternary content addressable memory) and static RAM (SRAM, Static Random Access Memory) device cooperate and to finish.Traditional CBWFQ classifying rules comprises: the input interface of message, Access Control List (ACL) (ACL, Access Control List) Ding Yi message IP five-tuple feature, IP priority, differentiated services code points priority (DSCP, Differentiated Services Codepoint Priority), MPLS service quality bit (EXP, Experimental Bit) etc.Can see that these rules can only be by some stateless application of 2,3 or 4 layers characterizing definition of message.And for some the complicated applications of state being arranged, this classification capacity just can't satisfy relevant coupling demand.
Give an example: it is generally acknowledged that the FTP application is based on transmission control protocol (TCP, Transferring Control Protocol) 20/21 port, so system definition acl rule come the FTP in the network traffics used at 20/21 port and carry out Classification and Identification, like this, system can successfully identify the PORT(active mode) FTP use and it carried out the QoS scheduling handle.Yet, for more common PASV(Passive Mode) FTP use because its FPDP is to consult to determine, each negotiated ports number all may change, and and revocable 20 ports.So predefined acl rule had just lost efficacy, be inconjunction with all QoS processing in back and all can lose efficacy, even have side effects: the ftp flow amount is identified as the application of limit priority, has seized the bandwidth of EF formation.
Give one example: present popular P2P application software: what a Web sudden peal of thunder adopted is exactly HTML (Hypertext Markup Language) (HTTP, HyperText Transfer Protocol) port numbers 80 again.If the acl rule of definition HTTP is port 80, so just can't distinguish a sudden peal of thunder and normal web browsing.And sudden peal of thunder flow can't limit, and certainly will will influence normal web browsing greatly.
To sum up, that traditional Q oS technology is subject to is too single, fixing means of identification, in network application greatly abundant today, more and more can't differentiate the true colours of flow, bring trying to go south by driving the chariot north of QoS treatment effect thus, thereby can't realize complicated applications is carried out QoS control.
In order to address the above problem, realize the quick identification of user's complicated applications flow, and combine with traditional Q oS high speed dispatching technique, a trend that has become industry network equipment QoS technical development based on the high-performance QoS solution of complicated applications is provided, but also is a difficult problem.
Summarize towards the recognition technology of complicated applications and to mainly contain following three kinds at present:
(1) uses identification based on the dynamic port of state
Complicated applications for port numbers dynamic negotiation type, passive mode FTP as previously mentioned, also has RTP (RTP, Real-time Transport Protocol), H.323 wait application, equipment QoS handling process realizes the corresponding protocols state machine according to the regulation of related application agreement.During real work, equipment is in mutual both sides' centre position, state machine running by two-way application protocol message trigger equipment, the overall process of monitoring of tools application negotiation, successfully obtain this and use final corresponding data flow port numbers, follow-up just can the sign with this port numbers used, thereby the QoS that is correlated with smoothly control is handled.
(2) identify based on the application of further feature
At present a lot of network applications all do not have clear and definite port diagnostic, add that message is through network address translation (NAT, Network Address Translation) sometimes, and port numbers has lost other value of mark especially.But through research, some is used by the deep layer of message and resolves, and still can identify.For example built-in a kind of classification policy in the network equipment when message enters the QoS grader, adopts corresponding rule can determine to use to the string search that message carries out correspondence position, and then implements follow-up QoS processing policy.
Because string search consumes processor resource very much; and the complicated applications that has also needs just can obtain its feature by certain algorithm; so network equipment vendor can be optimized searching algorithm usually; such as condition code is compiled; in addition, simple relatively based on the application characteristic description of character string, a kind of situation might appear: after the version updating of complicated applications; application characteristic is before no longer set up, and the QoS matching treatment based on it has also just lost meaning so.So, at the identification of in-depth application, generally have the deep layer means of identification of two kinds of enhancement mode: regular expression and condition code file.So-called regular expression, one is used for describing or mating the single character string that meets certain syntactic rule exactly.Regular expression can satisfy describes the requirement of using further feature, but professional relatively, and the configuration more complicated need have the user of strong technical capability just can implement.The condition code file then has higher ease for use, it cans be compared to is the virus base of antivirus software, the characteristic descriptor set of a series of application just closes, the redaction condition code file that the user only needs download network equipment vendors to provide, and be loaded in the equipment, can make device upgrade, possess new application identification and QoS control ability.
(3) use identification based on the depth characteristic of state
Using identification based on the depth characteristic of state is the comprehensive of above-mentioned two kinds of application identifications.Some popular application only depends on stateless four~seven layer depth signature analysises of single bag at present, can't accurately judge its type.Equipment is used at these, at first to set up one or more protocol state machine, all-the-way tracking application negotiation process, for example part P2P video software not only has the proprietary protocol of oneself, also use RTP/RTP control protocol (RTCP, RTP Control Protocol) open protocol and controlled its Media Stream; Secondly the message that occurs in each negotiation state is carried out the identification of depth characteristic; Also need to obtain dynamic data transmission port at last.Corresponding with it, manufacturer also all has state information for the condition code that this complicated applications identification provides.
Introduction by using recognition technologies to top three kinds is as can be seen: identifying is very complicated, and the resource consumption of processor is also very big in the entire identification process.For traditional CPU, though can finish recognition function, poor performance, if especially every bag all carries out identifying operation, and in conjunction with the operation of follow-up qos feature as: speed limit, integer, scheduling etc., performance drops to especially and can't accept.Even adopt the high-performance embedded multi-core CPU of the present main flow of industry, although its complicated business matching performance is higher, because its QoS scheduling performance is outstanding inadequately, still cause overall performance not high.And for asic chip or NP, its plug-in TCAM device can only carry out 2~4 layers of stateless coupling as: the coupling of address, port numbers, above-mentioned state recognition function then can't realize fully.
Summary of the invention
The invention provides QoS processing method and device, to improve the QoS treatment effeciency.
Technical scheme of the present invention is achieved in that
A kind of service quality QoS processing method is applied to comprise in the QoS processing unit of central processing unit CPU and on-site programmable gate array FPGA, and this method comprises:
FPGA receives the Business Stream first packet, and this first packet is sent to CPU;
If CPU finds that need carry out QoS to this first packet handles, then first packet is carried out QoS and handle, and will flow feature and QoS action indication structure Cheng Liubiao, should be handed down to FPGA by the stream table;
FPGA receives the Business Stream subsequent packet, finds the stream table according to the stream feature, and the QoS that finishes this subsequent packet according to the action of the QoS in stream table indication handles.
Described stream table comprises: Inbound stream table and outgoing direction stream table,
If described CPU finds that need carry out QoS to this first packet handles, and then first packet is carried out QoS and handles, and will flow feature and QoS and move indication structure Cheng Liubiao, should the stream table be handed down to FPGA and comprises:
A1, CPU judge whether that need carry out Inbound QoS to this first packet handles, if need, this first packet is carried out Inbound QoS processing and transmits table lookup operation, will flow feature and become an Inbound stream table with Inbound QoS action indication structure, this Inbound stream table is handed down to FPGA, goes to step B1;
If do not need, then will flow latent structure and become an Inbound stream table to be handed down to FPGA, execution in step B1;
B1, CPU judge whether that need carry out outgoing direction QoS to this first packet handles, if need, this first packet is carried out outgoing direction QoS handle, will flow feature, outgoing direction QoS action indication and forwarding information structuring and become an outgoing direction stream table, this outgoing direction stream table is handed down to FPGA;
If do not need, then will flow feature and become an outgoing direction stream table to be handed down to FPGA with the forwarding information structuring.
Described Inbound QoS handles and comprises: a kind of or combination in any during speed limit processing, discard processing, priority heavy label are handled;
Described Inbound QoS action indication comprises: speed limit speed, whether abandon a kind of or combination in any in the precedence information of indication, heavy label.
Described outgoing direction QoS handles and comprises: a kind of or combination in any during speed limit processing, discard processing, the processing of priority heavy label, integer processing, queue scheduling are handled;
Described outgoing direction QoS action indication comprises: a kind of or combination in any in speed limit speed, the precedence information that whether abandons indication, heavy label, integer information, the dequeue information.
Steps A 1 described CPU judges whether and need carry out further comprising before the Inbound QoS processing to this first packet:
CPU judges whether that need carry out the Inbound complicated business to this first packet handles, if this first packet is carried out the Inbound complicated business handle; Otherwise, this first packet is not carried out the Inbound complicated business and handles;
And steps A 1 described Inbound stream table further comprises: whether need to carry out the Inbound complicated business and handle indication;
The described CPU of step B1 judges whether and need carry out further comprising before the outgoing direction QoS processing to this first packet: CPU judges whether that need carry out the outgoing direction complicated business to this first packet handles, if this first packet is carried out the outgoing direction complicated business handle; Otherwise, this first packet is not carried out the outgoing direction complicated business and handles;
And the described outgoing direction stream of step B1 table further comprises: whether need to carry out the outgoing direction complicated business and handle indication.
Described FPGA finds the stream table according to the stream feature, and the QoS processing of finishing this subsequent packet according to the action of the QoS in stream table indication comprises:
A2, FPGA find Inbound stream table according to the stream feature of this subsequent packet, if this Inbound stream table is incorporated into direction QoS action indication, then action indicates the Inbound QoS that finishes this subsequent packet to handle execution in step B2 according to this Inbound QoS; Otherwise, direct execution in step B2;
B2, if this Inbound stream table comprises and need carry out the Inbound complicated business and handle indication, then FPGA carries out the Inbound complicated business with this subsequent packet transmitted to CPU and handles, after receiving the subsequent packet that CPU returns, execution in step C2; Otherwise, direct execution in step C2;
C2, FPGA find outgoing direction stream table according to the stream feature of this subsequent packet, if comprising, this outgoing direction stream table need carry out outgoing direction complicated business processing indication, then FPGA carries out the outgoing direction complicated business with this subsequent packet transmitted to CPU and handles, after receiving the subsequent packet that CPU returns, and execution in step D2; Otherwise, direct execution in step D2;
D2, if this outgoing direction stream table comprises outgoing direction QoS action indication, then the FPGA outgoing direction QoS that finishes this subsequent packet according to this outgoing direction QoS action indication handles execution in step E2; Otherwise, direct execution in step E2;
E2, FPGA forward this subsequent packet according to the forwarding information in the outgoing direction stream table.
A kind of QoS processing unit, this device comprises: CPU and FPGA, wherein:
FPGA: receive the Business Stream first packet, this first packet is sent to CPU; Receive and preserve the stream table that CPU sends; Receive the Business Stream subsequent packet, find the stream table according to the stream feature, the QoS that finishes this subsequent packet according to the action of the QoS in stream table indication handles;
CPU: receive the first packet that FPGA sends, if find that need carry out QoS to this first packet handles, then first packet is carried out QoS and handle, and will flow feature and QoS action indication structure Cheng Liubiao, should be handed down to FPGA by the stream table.
Described CPU comprises:
Inbound QoS processing module: receive the first packet that FPGA sends, judge whether that need carry out Inbound QoS to this first packet handles, if, this first packet is carried out Inbound QoS to be handled, dispose, the stream feature of this first packet is become an Inbound stream table with Inbound QoS action indication structure, this Inbound stream table is handed down to FPGA, this first packet is sent to the forwarding table look-up module; Otherwise, the stream latent structure of this first packet is become an Inbound stream table, this Inbound stream table is handed down to FPGA, this first packet is sent to the forwarding table look-up module;
Transmit table look-up module: receive the first packet that direction QoS processing module is sent, this first packet is transmitted table lookup operation, forwarding information is put into this first packet, this first packet is sent to outgoing direction QoS processing module;
Outgoing direction QoS processing module: receive and transmit the first packet that table look-up module is sent, judge whether that need carry out outgoing direction QoS to this first packet handles, if, this first packet is carried out outgoing direction QoS to be handled, the stream feature of this first packet, outgoing direction QoS action indication are become an outgoing direction stream table with forwarding information structuring in the first packet, this outgoing direction stream table is handed down to FPGA; Otherwise, become an outgoing direction stream table to be handed down to FPGA with the forwarding information structuring stream feature of this first packet.
Described CPU further comprises: Inbound complicated business processing module, be used for receiving the first packet that FPGA sends, if need finding that this first packet is carried out complicated business handles, then this first packet being carried out complicated business handles, dispose, this first packet is stamped " the Inbound complicated business disposes " sign and sent to Inbound QoS processing module; Receive the subsequent packet with " need carry out the Inbound complicated business handles " indication that FPGA sends, this subsequent packet is carried out the Inbound complicated business handle, dispose, this subsequent packet is sent to FPGA;
And, Inbound QoS processing module is further used for, receive the first packet that direction complicated business processing module is sent, find to have on this first packet " the Inbound complicated business disposes " sign, then need are carried out Inbound complicated business processing indication and put into described Inbound stream table.
Described CPU further comprises: outgoing direction complicated business processing module, be used for receiving the first packet that the forwarding table look-up module is sent, if need finding that this first packet is carried out the outgoing direction complicated business handles, then this first packet being carried out the outgoing direction complicated business handles, dispose, this first packet is stamped " the outgoing direction complicated business disposes " sign and sent to outgoing direction QoS processing module; Receive the subsequent packet with " need carry out the outgoing direction complicated business handles " indication that FPGA sends, this subsequent packet is carried out the outgoing direction complicated business handle, dispose, this subsequent packet is sent to FPGA;
And, outgoing direction QoS processing module is further used for, receive the first packet that outgoing direction complicated business processing module is sent, find to have on this first packet " the outgoing direction complicated business disposes " sign, then need are carried out outgoing direction complicated business processing indication and put into described outgoing direction stream table.
Described FPGA comprises:
Inbound QoS processing module: receive the Business Stream first packet, this first packet transmitted to CPU is carried out QoS handle; Receive the Business Stream subsequent packet, stream feature according to this subsequent packet finds Inbound stream table, if be incorporated into direction QoS action indication in this Inbound stream table, then according to this Inbound QoS action indication this subsequent packet being carried out Inbound QoS handles, dispose, this subsequent packet is sent to outgoing direction QoS processing module;
Outgoing direction QoS processing module: receive subsequent packet, stream feature according to this subsequent packet finds outgoing direction stream table, if comprise outgoing direction QoS action indication in this outgoing direction stream table, then according to this outgoing direction QoS action indication this subsequent packet being carried out outgoing direction QoS handles, dispose, forwarding information according in this outgoing direction stream table forwards this subsequent packet.
The Inbound QoS processing module of described FPGA is further used for, after the stream feature according to subsequent packet finds Inbound stream table, need carry out Inbound complicated business processing indication if find to comprise in the Inbound stream table, then earlier this subsequent packet transmitted to CPU be carried out the Inbound complicated business and handle.
The outgoing direction QoS processing module of described FPGA is further used for, after the stream feature according to subsequent packet finds outgoing direction stream table, need carry out outgoing direction complicated business processing indication if find to comprise in the outgoing direction stream table, then earlier this subsequent packet transmitted to CPU be carried out the outgoing direction complicated business and handle.
Compared with prior art, among the present invention, carry out QoS by the Business Stream first packet of CPU and handle, and will flow feature and QoS action indication and be issued among the FPGA, FPGA carries out QoS according to this QoS action indication to this subsequent packet to be handled, and has alleviated the processing burden of CPU greatly, has improved the QoS treatment effeciency.
Description of drawings
Fig. 1 is the class-based CBWFQ QoS queue work principle schematic in the legacy network devices;
The QoS process flow figure that Fig. 2 provides for the embodiment of the invention;
Fig. 3 carries out the method flow diagram that QoS handles for using the present invention to sudden peal of thunder business;
Fig. 4 carries out the method flow diagram that QoS handles for using the present invention to video conference business;
Fig. 5 is the composition diagram of QoS processing unit provided by the invention;
The composition diagram of the QoS processing unit that Fig. 6 provides for the embodiment of the invention one;
The composition diagram of the QoS processing unit that Fig. 7 provides for the embodiment of the invention two.
Embodiment
The present invention is further described in more detail below in conjunction with drawings and the specific embodiments.
Among the present invention, at the message transmissions path deploy QoS device that need carry out Inbound and/or outgoing direction QoS processing to network traffics, this device comprises: CPU and field programmable gate array (FPGA, Field Programmable Gate Array).
The QoS process flow figure that Fig. 2 provides for the embodiment of the invention, as shown in Figure 2, its concrete steps are as follows:
Step 201:FPGA receives service message, searches the five-tuple of this message in the Inbound stream table of self maintained.
Step 202:FPGA judges whether to find, if, execution in step 205; Otherwise, execution in step 203.
Step 203:FPGA issues CPU with this service message by data channel, CPU receives this service message, this message is carried out Inbound QoS to be handled, and transmit table lookup operation, with the original five-tuple of message, Inbound QoS action indication with whether need carry out the Inbound complicated business and handle indication structure and become an Inbound stream table, this Inbound stream table is issued among the FPGA by the PCI-E passage.
FPGA does not find Inbound stream table, illustrates that message is the Business Stream first packet
CPU is carrying out message before Inbound QoS handles, may to message carry out that complicated business is handled as: status firewall is handled, NAT handles, IP safety (IPSec) deciphering etc.Handle if carry out NAT, then the five-tuple of message can change, and in order to make FPGA can accurately match Inbound stream table, should use the five-tuple of message before NAT handles in the Inbound stream table, just the original five-tuple of the message in this step.
Handle if the message of CPU has carried out the Inbound complicated business, then need are carried out complicated business processing indication and put into Inbound stream table; Otherwise, will need not carry out complicated business processing indication and put into Inbound stream table.
In actual applications, message also may not need carry out Inbound QoS to be handled, and at this moment, in this step, CPU does not need that message is carried out Inbound QoS and handles, and simultaneously, is not incorporated into direction QoS action in the Inbound stream table yet and has indicated.
CPU can judge message according to prior art, and whether needs carry out Inbound QoS processing, for example: for the stream with fixation features, last can the configuration in the mode of ACL of CPU need be carried out the stream feature that Inbound QoS handles, after CPU receives a message, stream feature and each ACL list item coupling with this message, if on the coupling, determine that then message need carry out Inbound QoS and handle; For the unfixed stream of feature, CPU is last can to dispose the further feature recognition methods, dispose simultaneously and need carry out the stream type sign that QoS handles, after CPU receives a message, adopt this further feature recognition methods to identify the stream type of this message, need according to configuration carry out the stream type sign that QoS handles then, determine whether that need carry out Inbound QoS to this message handles.
Dispose the corresponding relation of stream feature or stream type sign and Inbound QoS contents processing on the CPU.CPU according to this corresponding relation, can determine the content that Inbound QoS handles after determining that need carry out Inbound QoS to message handles.
Inbound QoS handles and comprises: speed limit processing, discard processing, priority heavy label (Remark) processing etc.Handle if comprise speed limit, in order to guarantee the accuracy of speed limit function, speed limit is handled to be unified on the FPGA and is finished.In this step, CPU finishes by the CAR module of PCI-E passage synchronization call FPGA the speed limit of message is handled.Correspondingly, the action indication of the Inbound QoS in the Inbound stream table comprises: speed limit speed, whether abandon the precedence information of indication, heavy label etc.
Step 204:CPU carries out outgoing direction QoS to this message to be handled, outgoing direction complicated business processing indication is indicated, whether need be carried out in five-tuple, the outgoing direction QoS action of message become an outgoing direction stream table with the forwarding information structuring, this outgoing direction stream table is issued among the FPGA by the PCI-E passage, message is sent to FPGA, FPGA forwards this message, and this flow process finishes.
Handle if carried out the Inbound complicated business, and this complicated business handles and comprise that NAT handles, then in this step, the five-tuple of the message in the outgoing direction stream table is the five-tuple of the message after NAT handles.
In actual applications, message also may not need carry out outgoing direction QoS to be handled, and at this moment, in this step, CPU does not need that message is carried out outgoing direction QoS and handles, and simultaneously, does not just comprise outgoing direction QoS action in the outgoing direction stream table and has indicated.
Equally, CPU can according to prior art judge message whether needs carry out outgoing direction QoS and handle.Simultaneously, dispose the corresponding relation of stream feature or stream type sign and outgoing direction QoS contents processing on the CPU.CPU according to this corresponding relation, can determine the content that direction QoS handles after determining that need carry out outgoing direction QoS to message handles.
Outgoing direction QoS handles and comprises: speed limit processing, discard processing, the processing of priority heavy label, integer processing, queue scheduling processing etc.Correspondingly, outgoing direction QoS action indication comprises: speed limit speed, the precedence information that whether abandons indication, heavy label, integer information, dequeue information etc., wherein, integer information comprises: dequeue information+go out bandwidth information.
Forward packets is drawn together: link layer header information, outgoing interface sign etc.
Step 205:FPGA carries out Inbound QoS to this message and handles according to the Inbound QoS action indication in the Inbound stream table.
If be not incorporated into direction QoS action indication in the Inbound stream table, then this step can be omitted.
If Inbound QoS action indication comprises speed limit speed, then directly finish speed limit to message according to this speed limit speed; If comprise whether abandoning indication, then whether FPGA directly determines dropping packets according to this indication; If comprise the precedence information of heavy label, then directly finish according to the precedence information of this heavy label the priority of messages heavy label is handled.
Step 206:FPGA judges that the Inbound complicated business processing of whether need carrying out in the Inbound stream table indicates whether to be "Yes", if, execution in step 207; Otherwise, execution in step 208.
Step 207:FPGA stamps this message " carry out Inbound complicated business handle " sign back transmitted to CPU, and carry out the Inbound complicated business by CPU and handle, after receiving the message that CPU returns, execution in step 208.
The Inbound complicated business is handled and comprised: status firewall is handled, NAT handles, IPSec deciphers etc.
Step 208:FPGA finds outgoing direction stream table according to the five-tuple of message.
The outgoing direction complicated business processing of whether need carrying out that step 209:FPGA judges in the direction stream table indicates whether to be "Yes", if, execution in step 210; Otherwise, execution in step 211.
Step 210:FPGA stamps this message " carry out outgoing direction complicated business handle " sign back transmitted to CPU, and carry out the outgoing direction complicated business by CPU and handle, after receiving the message that CPU returns, execution in step 211.
The outgoing direction complicated business is handled and is comprised: status firewall processing, NAT processing, ipsec encryption etc.
Step 211:FPGA carries out outgoing direction QoS to this message and handles according to the outgoing direction QoS action indication in the outgoing direction stream table.
If do not comprise outgoing direction QoS action indication in the outgoing direction stream table, then this step can be omitted.
If outgoing direction QoS action indication comprises: integer information, then FPGA finishes integer to message according to this integer information; If comprise dequeue information, then directly this message is put into the corresponding formation of this dequeue information.
Step 212:FPGA forwards this message according to the forwarding information in the outgoing direction stream table.
Among the present invention, when FPGA finds self go into, when outgoing direction stream table is not hit, just deletes that this is gone into, outgoing direction stream table in default aging duration, improving stream table utilization ratio, and prevent network attack.
In actual applications, FPGA also can according to go into, outgoing direction stream table is gone into, the Business Processing of outgoing direction.For example: according to the hit-count of Inbound stream table in a period of time, statistics incoming traffic; Hit-count according to outgoing direction stream table in a period of time counts directional flow.
Below provide two application examples of the present invention:
Fig. 3 carries out the method flow diagram that QoS handles for using the present invention to sudden peal of thunder business, and as shown in Figure 3, its concrete steps are as follows:
Step 301:FPGA receives the service message that public network is issued Intranet, searches the five-tuple of this message in the Inbound stream table of self maintained.
Step 302:FPGA judges whether to find, if, execution in step 307; Otherwise, execution in step 303.
Step 303:FPGA issues CPU with this service message, and CPU receives this service message, according to the deep layer service feature storehouse of self maintained this message is analyzed, and finds that this message is sudden peal of thunder service message, this message is carried out NAT handle.
Step 304:CPU is according to the corresponding relation of the stream type sign that self disposes with Inbound QoS contents processing, discovery need be carried out speed limit to this message and handle, then call the CAR module of FPGA this message is carried out the speed limit processing, determining message is let pass still is to abandon, if let pass, then execution in step 305.
If the speed limit result is for abandoning, then this flow process finishes.
Step 305:CPU transmits table lookup operation to this message, with original five-tuple, the speed limit speed of message, need carry out complicated business and handle indication structure and become an Inbound stream table, this Inbound stream table is issued to FPGA.
Step 306:CPU is according to the corresponding relation of the stream type sign that self disposes with outgoing direction QoS contents processing, do not need finding that this message is carried out outgoing direction QoS handles, then this message is transmitted to FPGA, by FPGA this message is forwarded, simultaneously, five-tuple after the NAT of message handled, need not carry out complicated business and handle indication and transmit information structuring and become an outgoing direction stream table, this outgoing direction stream table is handed down to FPGA, this flow process finishes.
Step 307:FPGA is according to the speed limit speed in the Inbound stream table, finish the speed limit to this message, find to comprise in the Inbound stream table and need carry out Inbound complicated business processing indication, this message is stamped " carrying out the Inbound complicated business handles " sign via the data channel transmitted to CPU.
Step 308:CPU receives the message that FPGA sends, and this message is carried out NAT handle, and disposes, and message is sent to FPGA.
Step 309:FPGA receives message, finds outgoing direction stream table according to the five-tuple of message, and the forwarding information according in the outgoing direction stream table forwards this message.
Owing to there is not outgoing direction QoS action indication in the outgoing direction stream table, have in the outgoing direction stream table simultaneously and need not carry out complicated business processing indication, therefore, FPGA does not need that message is carried out outgoing direction QoS and handles, and does not need messages transmitted to CPU yet, and directly E-Packeting gets final product.
Fig. 4 carries out the method flow diagram that QoS handles for using the present invention to video conference business, and as shown in Figure 4, its concrete steps are as follows:
Step 401:FPGA receives the service message that Intranet is issued public network, searches the five-tuple of this message in the Inbound stream table of self maintained.
Step 402:FPGA judges whether to find, if, execution in step 407; Otherwise, execution in step 403.
Step 403:FPGA issues CPU with this message, and CPU receives this message, according to the deep layer service feature storehouse of self maintained this message is analyzed, if find that this message is the videoconference data message, then execution in step 404.
If it is the video conference protocol message that CPU finds message, then stamp at this message after " high priority transmissions " indicate, send to FPGA from data channel, after FPGA receives this message, find " high priority transmission " sign on this message, carry out the formation congestion management, with this message of preferential transmission.
Step 404:CPU is according to the corresponding relation of the stream type sign that self disposes with Inbound QoS contents processing, do not need finding that this message is carried out Inbound QoS handles, then this message is transmitted table lookup operation, with the original five-tuple of message with need not carry out complicated business and handle indication structure and become an Inbound stream table, Inbound stream table is handed down to FPGA by the PCI-E port.
Step 405:CPU carries out NAT to this message to be handled, according to the corresponding relation of the stream type sign that self disposes with outgoing direction QoS contents processing, find to need this message is carried out the queue scheduling processing of outgoing direction, then this message is carried out queue scheduling, scheduling finishes, the dequeue sign that the original five-tuple of message, scheduling are obtained, need carry out complicated business and handle indication and transmit information structuring and become an outgoing direction stream table, outgoing direction stream table is issued to FPGA, simultaneously the dequeue sign is put into message, message is sent to FPGA.
Here, " formation " in the dequeue sign is the formation on the FPGA, and FPGA can be identified at according to this dequeue and self find corresponding formation.Dispose the sign of all QoS formations of FPGA on the CPU, the QoS formation is as LLQ formation, BQ formation, WFQ formation etc.
Step 406:FPGA receives this message, according to the sign of the dequeue in the message, carries out the formation congestion management, and message is sent, and this flow process finishes.
Step 407:FPGA finds not to be incorporated in the Inbound stream table direction QoS action indication, comprise simultaneously and need not carry out complicated business processing indication, then the five-tuple according to message finds outgoing direction stream table, find to comprise in the outgoing direction stream table and need carry out complicated business processing indication, dequeue in outgoing direction stream table sign is put into message, with messages transmitted to CPU.
Step 408:CPU carries out NAT to this message to be handled, and disposes, and message is sent to FPGA by data channel.
Step 409:FPGA carries out the formation congestion management according to the sign of the dequeue in the message, and message is sent.
Fig. 5 is the composition diagram of QoS processing unit provided by the invention, and as shown in Figure 5, it mainly comprises: FPGA51 and CPU52, wherein:
Finish alternately by 1 or many data channel and high-speed PCI-E control channel between FPGA51 and the CPU52.Wherein, data channel is used for to reliability requirement not high mass data transmitting-receiving to be handled, PCI-E control channel be used for to the very high low volume data of reliability requirement handle as: synchronization call that the stream table issues, chip parameter is set, message traffic is handled etc.Wherein, data channel can be 10G bit Ethernet Attachment Unit Interface (XAUI, 10Gigabit Attachment Unit Interface)/G bit Ethernet (GE, Gigabit Ethernet).FPGA51 provides fixed interface and Flexible Interface Card (as interface cards such as POS, ATM) to insert by high-speed bus, and Business Stream enters the QoS processing unit by these interfaces.Wherein, fixed interface is as GE, 10GE interface etc., and interface card is as the last transmission grouping of SONET/SDH (POS, Packet over SONET/SDH), asynchronous transfer mode (ATM, Asynchronous Transfer Mode) interface card etc.
FPGA51: receive from the outer Business Stream first packet of QoS processing unit, this first packet is sent to CPU52; Receive and preserve the stream table that CPU52 sends; Reception finds the stream table from the outer Business Stream subsequent packet of QoS processing unit according to the stream feature, and the QoS that finishes this subsequent packet according to the action of the QoS in stream table indication handles.
CPU52: receive the first packet that FPGA51 sends, if find that need carry out QoS to this first packet handles, then first packet is carried out QoS and handle, and will flow feature and QoS action indication structure Cheng Liubiao, should be handed down to FPGA51 by the stream table.
As shown in Figure 6, CPU52 can comprise: Inbound QoS processing module 521, forwarding table look-up module 522 and outgoing direction QoS processing module 523, wherein:
Inbound QoS processing module 521: the first packet that the Inbound QoS processing module 511 of reception FPGA51 is sent, judge whether that need carry out Inbound QoS to this first packet handles, if, this first packet is carried out Inbound QoS to be handled, dispose, the stream feature of this first packet is become an Inbound stream table with Inbound QoS action indication structure, this Inbound stream table is handed down to the stream table memory module of FPGA51, this first packet is sent to transmit table look-up module 522; Otherwise, the stream latent structure of this first packet is become an Inbound stream table, this Inbound stream table is handed down to FPGA51, this first packet is sent to transmit table look-up module 522.
Stream table memory module can be positioned at FPGA51 inside, also can be the plug-in internal memory of FPGA51.
Transmit table look-up module 522: receive the first packet that direction QoS processing module 521 is sent, this first packet is transmitted table lookup operation, forwarding information is put into this first packet, this first packet is sent to outgoing direction QoS processing module 523.
Outgoing direction QoS processing module 523: receive and transmit the first packet that table look-up module 522 is sent, judge whether that need carry out outgoing direction QoS to this first packet handles, if, this first packet is carried out outgoing direction QoS to be handled, the stream feature of this first packet, outgoing direction QoS action indication are become an outgoing direction stream table with forwarding information structuring in the first packet, this outgoing direction stream table is handed down to the stream table memory module of FPGA51; Otherwise, become an outgoing direction stream table to be handed down to FPGA51 stream table memory module with the forwarding information structuring stream feature of this first packet.
As shown in Figure 7, CPU can further comprise: Inbound complicated business processing module 520, be used for to receive the first packet that the Inbound QoS processing module 511 of FPGA51 is sent, if need finding that this first packet is carried out complicated business handles, then this first packet being carried out complicated business handles, dispose, this first packet is stamped " the Inbound complicated business disposes " sign and sent to Inbound QoS processing module 521; The subsequent packet with " need carry out the Inbound complicated business handles " indication that the Inbound QoS processing module 511 of reception FPGA51 is sent, this subsequent packet is carried out the Inbound complicated business to be handled, dispose, this subsequent packet is sent to the outgoing direction QoS processing module 512 of FPGA51.
Simultaneously, Inbound QoS processing module 521 is further used for, receive the first packet that direction complicated business processing module 520 is sent, find to have on this first packet " the Inbound complicated business disposes " sign, then need are carried out Inbound complicated business processing indication and put into described Inbound stream table.
As shown in Figure 7, CPU also can further comprise: outgoing direction complicated business processing module 524, be used for receiving the first packet that forwarding table look-up module 522 is sent, if need finding that this first packet is carried out the outgoing direction complicated business handles, then this first packet being carried out the outgoing direction complicated business handles, dispose, this first packet is stamped " the outgoing direction complicated business disposes " sign and sent to outgoing direction QoS processing module 523; The subsequent packet with " need carry out the outgoing direction complicated business handles " indication that the outgoing direction QoS processing module 512 of reception FPGA51 is sent, this subsequent packet is carried out the outgoing direction complicated business to be handled, dispose, this subsequent packet is sent to the outgoing direction QoS processing module 512 of FPGA51;
And, outgoing direction QoS processing module 523 is further used for, receive the first packet that outgoing direction complicated business processing module 524 is sent, find to have on this first packet " the outgoing direction complicated business disposes " sign, then need are carried out outgoing direction complicated business processing indication and put into described outgoing direction stream table.
As shown in Figure 6, FPGA51 can comprise: Inbound QoS processing module 511 and outgoing direction QoS processing module 522, wherein:
Inbound QoS processing module 511: receive from the outer Business Stream first packet of QoS processing unit, with the Inbound QoS processing module 521 of this first packet transmitted to CPU 52; Reception is from the outer Business Stream subsequent packet of QoS processing unit, stream feature according to this subsequent packet finds Inbound stream table, if be incorporated into direction QoS action indication in this Inbound stream table, then according to this Inbound QoS action indication this subsequent packet being carried out Inbound QoS handles, dispose, this subsequent packet is sent to outgoing direction QoS processing module 512.
Outgoing direction QoS processing module 512: receive the subsequent packet that direction QoS processing module 511 is sent, stream feature according to this subsequent packet finds outgoing direction stream table, if comprise outgoing direction QoS action indication in this outgoing direction stream table, then according to this outgoing direction QoS action indication this subsequent packet being carried out outgoing direction QoS handles, dispose, forwarding information according in this outgoing direction stream table forwards this subsequent packet.
Inbound QoS processing module 511 also can be further used for, after the stream feature according to subsequent packet finds Inbound stream table, need carry out Inbound complicated business processing indication if find to comprise in the Inbound stream table, then the Inbound complicated business processing module 520 of this subsequent packet transmitted to CPU 52 be carried out the Inbound complicated business and handle.
Outgoing direction QoS processing module 512 also can be further used for, after the stream feature according to subsequent packet finds outgoing direction stream table, need carry out outgoing direction complicated business processing indication if find to comprise in the outgoing direction stream table, then earlier the outgoing direction complicated business processing module 524 of this subsequent packet transmitted to CPU 52 be carried out the outgoing direction complicated business and handle.
Among the present invention, the FPGA outside can articulate a large amount of DDR and QDR internal memory, in order to be stored into, outgoing direction stream table and dispatch buffer space that message is provided.
For promoting performance, can select multi-core CPU for use among the present invention.
Through emulation, the present invention carries out the scheme that QoS handles with respect to the existing CPU that adopts fully, and performance boost is more than 5 times.
The above only is preferred embodiment of the present invention, and is in order to limit the present invention, within the spirit and principles in the present invention not all, any modification of making, is equal to replacement, improvement etc., all should be included within the scope of protection of the invention.

Claims (11)

1. a service quality QoS processing method is characterized in that, is applied to comprise in the QoS processing unit of central processing unit CPU and on-site programmable gate array FPGA, and this method comprises:
FPGA receives the Business Stream first packet, and this first packet is sent to CPU;
If CPU finds that need carry out QoS to this first packet handles, then first packet is carried out QoS and handle, and will flow feature and QoS action indication structure Cheng Liubiao, should be handed down to FPGA by the stream table;
FPGA receives the Business Stream subsequent packet, finds the stream table according to the stream feature, and the QoS that finishes this subsequent packet according to the action of the QoS in stream table indication handles;
Described stream table comprises: Inbound stream table and outgoing direction stream table,
If described CPU finds that need carry out QoS to this first packet handles, and then first packet is carried out QoS and handles, and will flow feature and QoS and move indication structure Cheng Liubiao, should the stream table be handed down to FPGA and comprises:
A1, CPU judge whether that need carry out Inbound QoS to this first packet handles, if need, this first packet is carried out Inbound QoS processing and transmits table lookup operation, will flow feature and become an Inbound stream table with Inbound QoS action indication structure, this Inbound stream table is handed down to FPGA, goes to step B1;
If do not need, then will flow latent structure and become an Inbound stream table to be handed down to FPGA, execution in step B1;
B1, CPU judge whether that need carry out outgoing direction QoS to this first packet handles, if need, this first packet is carried out outgoing direction QoS handle, will flow feature, outgoing direction QoS action indication and forwarding information structuring and become an outgoing direction stream table, this outgoing direction stream table is handed down to FPGA;
If do not need, then will flow feature and become an outgoing direction stream table to be handed down to FPGA with the forwarding information structuring.
2. method according to claim 1 is characterized in that, described Inbound QoS handles and comprises: a kind of or combination in any during speed limit processing, discard processing, priority heavy label are handled;
Described Inbound QoS action indication comprises: speed limit speed, whether abandon a kind of or combination in any in the precedence information of indication, heavy label.
3. method according to claim 1 is characterized in that, described outgoing direction QoS handles and comprises: a kind of or combination in any during speed limit processing, discard processing, the processing of priority heavy label, integer processing, queue scheduling are handled;
Described outgoing direction QoS action indication comprises: a kind of or combination in any in speed limit speed, the precedence information that whether abandons indication, heavy label, integer information, the dequeue information.
4. method according to claim 1 is characterized in that,
Steps A 1 described CPU judges whether and need carry out further comprising before the Inbound QoS processing to this first packet:
CPU judges whether that need carry out the Inbound complicated business to this first packet handles, if this first packet is carried out the Inbound complicated business handle; Otherwise, this first packet is not carried out the Inbound complicated business and handles;
And steps A 1 described Inbound stream table further comprises: whether need to carry out the Inbound complicated business and handle indication;
The described CPU of step B1 judges whether and need carry out further comprising before the outgoing direction QoS processing to this first packet: CPU judges whether that need carry out the outgoing direction complicated business to this first packet handles, if this first packet is carried out the outgoing direction complicated business handle; Otherwise, this first packet is not carried out the outgoing direction complicated business and handles;
And the described outgoing direction stream of step B1 table further comprises: whether need to carry out the outgoing direction complicated business and handle indication.
5. method according to claim 4 is characterized in that, described FPGA finds the stream table according to the stream feature, and the QoS processing of finishing this subsequent packet according to the action of the QoS in stream table indication comprises:
A2, FPGA find Inbound stream table according to the stream feature of this subsequent packet, if this Inbound stream table is incorporated into direction QoS action indication, then action indicates the Inbound QoS that finishes this subsequent packet to handle execution in step B2 according to this Inbound QoS; Otherwise, direct execution in step B2;
B2, if this Inbound stream table comprises and need carry out the Inbound complicated business and handle indication, then FPGA carries out the Inbound complicated business with this subsequent packet transmitted to CPU and handles, after receiving the subsequent packet that CPU returns, execution in step C2; Otherwise, direct execution in step C2;
C2, FPGA find outgoing direction stream table according to the stream feature of this subsequent packet, if comprising, this outgoing direction stream table need carry out outgoing direction complicated business processing indication, then FPGA carries out the outgoing direction complicated business with this subsequent packet transmitted to CPU and handles, after receiving the subsequent packet that CPU returns, and execution in step D2; Otherwise, direct execution in step D2;
D2, if this outgoing direction stream table comprises outgoing direction QoS action indication, then the FPGA outgoing direction QoS that finishes this subsequent packet according to this outgoing direction QoS action indication handles execution in step E2; Otherwise, direct execution in step E2;
E2, FPGA forward this subsequent packet according to the forwarding information in the outgoing direction stream table.
6. a QoS processing unit is characterized in that, this device comprises: CPU and FPGA, wherein:
FPGA: receive the Business Stream first packet, this first packet is sent to CPU; Receive and preserve the stream table that CPU sends; Receive the Business Stream subsequent packet, find the stream table according to the stream feature, the QoS that finishes this subsequent packet according to the action of the QoS in stream table indication handles;
CPU: receive the first packet that FPGA sends, if find that need carry out QoS to this first packet handles, then first packet is carried out QoS and handle, and will flow feature and QoS action indication structure Cheng Liubiao, should be handed down to FPGA by the stream table;
Described CPU includes direction QoS processing module, transmits table look-up module and outgoing direction QoS processing module:
Inbound QoS processing module: receive the first packet that FPGA sends, judge whether that need carry out Inbound QoS to this first packet handles, if, this first packet is carried out Inbound QoS to be handled, dispose, the stream feature of this first packet is become an Inbound stream table with Inbound QoS action indication structure, this Inbound stream table is handed down to FPGA, this first packet is sent to the forwarding table look-up module; Otherwise, the stream latent structure of this first packet is become an Inbound stream table, this Inbound stream table is handed down to FPGA, this first packet is sent to the forwarding table look-up module;
Transmit table look-up module: receive the first packet that direction QoS processing module is sent, this first packet is transmitted table lookup operation, forwarding information is put into this first packet, this first packet is sent to outgoing direction QoS processing module;
Outgoing direction QoS processing module: receive and transmit the first packet that table look-up module is sent, judge whether that need carry out outgoing direction QoS to this first packet handles, if, this first packet is carried out outgoing direction QoS to be handled, the stream feature of this first packet, outgoing direction QoS action indication are become an outgoing direction stream table with forwarding information structuring in the first packet, this outgoing direction stream table is handed down to FPGA; Otherwise, become an outgoing direction stream table to be handed down to FPGA with the forwarding information structuring stream feature of this first packet.
7. device according to claim 6, it is characterized in that, described CPU further comprises: Inbound complicated business processing module, be used for receiving the first packet that FPGA sends, if need finding that this first packet is carried out complicated business handles, then this first packet is carried out complicated business and handle, dispose, this first packet is stamped " the Inbound complicated business disposes " sign and sent to Inbound QoS processing module; Receive the subsequent packet with " need carry out the Inbound complicated business handles " indication that FPGA sends, this subsequent packet is carried out the Inbound complicated business handle, dispose, this subsequent packet is sent to FPGA;
And, Inbound QoS processing module is further used for, receive the first packet that direction complicated business processing module is sent, find to have on this first packet " the Inbound complicated business disposes " sign, then need are carried out Inbound complicated business processing indication and put into described Inbound stream table.
8. according to claim 6 or 7 described devices, it is characterized in that, described CPU further comprises: outgoing direction complicated business processing module, be used for receiving the first packet that the forwarding table look-up module is sent, if need finding that this first packet is carried out the outgoing direction complicated business handles, then this first packet is carried out the outgoing direction complicated business and handle, dispose, this first packet is stamped " the outgoing direction complicated business disposes " sign and sent to outgoing direction QoS processing module; Receive the subsequent packet with " need carry out the outgoing direction complicated business handles " indication that FPGA sends, this subsequent packet is carried out the outgoing direction complicated business handle, dispose, this subsequent packet is sent to FPGA;
And, outgoing direction QoS processing module is further used for, receive the first packet that outgoing direction complicated business processing module is sent, find to have on this first packet " the outgoing direction complicated business disposes " sign, then need are carried out outgoing direction complicated business processing indication and put into described outgoing direction stream table.
9. device according to claim 6 is characterized in that, described FPGA comprises:
Inbound QoS processing module: receive the Business Stream first packet, this first packet transmitted to CPU is carried out QoS handle; Receive the Business Stream subsequent packet, stream feature according to this subsequent packet finds Inbound stream table, if be incorporated into direction QoS action indication in this Inbound stream table, then according to this Inbound QoS action indication this subsequent packet being carried out Inbound QoS handles, dispose, this subsequent packet is sent to outgoing direction QoS processing module;
Outgoing direction QoS processing module: receive subsequent packet, stream feature according to this subsequent packet finds outgoing direction stream table, if comprise outgoing direction QoS action indication in this outgoing direction stream table, then according to this outgoing direction QoS action indication this subsequent packet being carried out outgoing direction QoS handles, dispose, forwarding information according in this outgoing direction stream table forwards this subsequent packet.
10. device according to claim 9, it is characterized in that, the Inbound QoS processing module of described FPGA is further used for, after the stream feature according to subsequent packet finds Inbound stream table, need carry out Inbound complicated business processing indication if find to comprise in the Inbound stream table, then earlier this subsequent packet transmitted to CPU be carried out the Inbound complicated business and handle.
11. according to claim 9 or 10 described devices, it is characterized in that, the outgoing direction QoS processing module of described FPGA is further used for, after the stream feature according to subsequent packet finds outgoing direction stream table, need carry out outgoing direction complicated business processing indication if find to comprise in the outgoing direction stream table, then earlier this subsequent packet transmitted to CPU be carried out the outgoing direction complicated business and handle.
CN 201010623669 2010-12-30 2010-12-30 Service quality processing method and device Active CN102075421B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010623669 CN102075421B (en) 2010-12-30 2010-12-30 Service quality processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010623669 CN102075421B (en) 2010-12-30 2010-12-30 Service quality processing method and device

Publications (2)

Publication Number Publication Date
CN102075421A CN102075421A (en) 2011-05-25
CN102075421B true CN102075421B (en) 2013-10-02

Family

ID=44033773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010623669 Active CN102075421B (en) 2010-12-30 2010-12-30 Service quality processing method and device

Country Status (1)

Country Link
CN (1) CN102075421B (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882789B (en) * 2012-09-17 2016-03-30 华为技术有限公司 A kind of data message processing method, system and equipment
CN103716252A (en) * 2012-09-29 2014-04-09 中兴通讯股份有限公司 Flow-distribution link aggregation and device
CN102932203B (en) * 2012-10-31 2015-06-10 东软集团股份有限公司 Method and device for inspecting deep packets among heterogeneous platforms
EP3079327B1 (en) * 2013-12-30 2018-06-06 Huawei Technologies Co., Ltd. Information transmission method, device and system
CN104301251B (en) * 2014-09-22 2018-04-27 新华三技术有限公司 A kind of QoS processing methods, system and equipment
CN108370330B (en) * 2016-03-31 2021-05-18 华为技术有限公司 Information flow type analysis apparatus and method
CN106130721B (en) * 2016-08-14 2019-08-23 北京数盾信息科技有限公司 A kind of high speed network storage encryption equipment
CN106254269B (en) * 2016-08-18 2019-08-06 杭州迪普科技股份有限公司 A kind of message forwarding method and device
US10223312B2 (en) * 2016-10-18 2019-03-05 Analog Devices, Inc. Quality of service ordinal modification
CN107948104A (en) * 2017-12-25 2018-04-20 北京东土科技股份有限公司 The method and switching equipment that message forwards in a kind of network address translation environment
CN109379163B (en) * 2018-09-05 2021-11-23 新华三技术有限公司 Message forwarding rate control method and device
CN110557693A (en) * 2019-09-26 2019-12-10 上海欣诺通信技术股份有限公司 Optical network protocol analyzer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7443856B2 (en) * 2004-01-14 2008-10-28 Lucent Technologies Inc. Managing processing utilization in a network node
CN101079873B (en) * 2006-05-25 2010-04-21 深圳市恒扬科技有限公司 A firewall device based on ACP framework
CN101026625B (en) * 2007-01-24 2010-05-19 华为技术有限公司 Service quality guaranteeing method, system, broadband access terminal and network device
CN101296168A (en) * 2007-04-25 2008-10-29 北京天融信网络安全技术有限公司 Method for chip internal link list supporting policy routing
CN101106529B (en) * 2007-08-02 2010-07-21 杭州华三通信技术有限公司 Packet forwarding method and system based on secure service

Also Published As

Publication number Publication date
CN102075421A (en) 2011-05-25

Similar Documents

Publication Publication Date Title
CN102075421B (en) Service quality processing method and device
Hoeiland-Joergensen et al. The flow queue codel packet scheduler and active queue management algorithm
US10057387B2 (en) Communication traffic processing architectures and methods
US7408957B2 (en) Selective header field dispatch in a network processing system
Kumar et al. Beyond best effort: Router architectures for the differentiated services of tomorrow's internet
US6839766B1 (en) Method and apparatus for communicating cops protocol policies to non-cops-enabled network devices
US20140181319A1 (en) Communication traffic processing architectures and methods
CN108353029A (en) For managing the method and system for calculating the data service in network
US20080084866A1 (en) Routing based on dynamic classification rules
US6473434B1 (en) Scaleable and robust solution for reducing complexity of resource identifier distribution in a large network processor-based system
CN101127691A (en) A method for implementing stream-based policy routing on network processor
WO2014082590A1 (en) Packet prioritization in a software-defined network implementing openflow
CN101984608A (en) Method and system for preventing message congestion
WO2020087523A1 (en) Network communication method and apparatus, and electronic device
Kundel et al. OpenBNG: Central office network functions on programmable data plane hardware
US11863459B2 (en) Packet processing method and apparatus
CN112600684B (en) Bandwidth management and configuration method of cloud service and related device
Ricart‐Sanchez et al. Toward hardware‐accelerated QoS‐aware 5G network slicing based on data plane programmability
CN106506392A (en) A kind of network congestion processing method and device
US8630296B2 (en) Shared and separate network stack instances
CN113395212A (en) Network device, method of operating the same, and non-transitory computer-readable medium
CN1973503A (en) Flow processing
JP2003244223A (en) Congestion control method, edge type packet transfer device and network
WO2021052382A1 (en) Cloud service bandwidth management and configuration methods and related device
Cisco QC: Quality of Service Overview

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address