WO2015014133A1 - OPENFLOW网络中QoS的实现方法及装置 - Google Patents

OPENFLOW网络中QoS的实现方法及装置 Download PDF

Info

Publication number
WO2015014133A1
WO2015014133A1 PCT/CN2014/075382 CN2014075382W WO2015014133A1 WO 2015014133 A1 WO2015014133 A1 WO 2015014133A1 CN 2014075382 W CN2014075382 W CN 2014075382W WO 2015014133 A1 WO2015014133 A1 WO 2015014133A1
Authority
WO
WIPO (PCT)
Prior art keywords
scheduler
message
queue
openflow
instruction
Prior art date
Application number
PCT/CN2014/075382
Other languages
English (en)
French (fr)
Inventor
肖敏
吴波
张君辉
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to EP14832684.6A priority Critical patent/EP3029896B1/en
Priority to US14/909,199 priority patent/US10554570B2/en
Publication of WO2015014133A1 publication Critical patent/WO2015014133A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • 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/622Queue service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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]

Definitions

  • the present invention relates to the field of communications, and in particular, to an implementation method and apparatus for Quality of Service (QoS) in an OpenFlow network.
  • QoS Quality of Service
  • the QoS function of the network refers to the different requirements of the network for various service applications, and provides different quality of service guarantees, such as bandwidth, packet loss rate, delay, and delay jitter, to simultaneously carry data, voice, and video.
  • FIG. 1 is a schematic diagram of a service flow processing process for implementing a QoS function on a network device.
  • the QoS function of the network mainly includes the following four types: 1. Flow classification and flow labeling.
  • a flow is a group of data packets with the same characteristics. Traffic classification classifies traffic entering the network according to certain flow division rules (such as port-based or packet-based field values).
  • the flow label is to set the service level and priority mark in the network for the service packets after the traffic classification, so as to realize the QoS differentiation of different service flows; 2. Traffic measurement, coloring and supervision functions.
  • the function is to perform rate measurement (Metering) on the service flow after completing the traffic classification and flow labeling, and according to the arrival rate of the traffic, the configured guaranteed information rate (CIR) and the maximum allowed rate (Peak Information).
  • CIR configured guaranteed information rate
  • Paak Information the maximum allowed rate
  • Rate Colors and rate limits incoming messages.
  • the message coloring and rate limiting usually adopts the two rate three color marker (TrTCM) specified in the standard RFC 2698 of the Internet Engineering Task Force (IETF).
  • queue congestion management and scheduling functions Traffic that is measured, colored, and supervised by traffic will enter different levels of cache queues. This process is called queuing (Q U euing).
  • the queue congestion management is to monitor the queue buffer, and the packets are discarded by Tail Drop (TD), Random Early Detection (RED) or Weighted Random Early Detection (WRED). Discarding methods (also known as congestion policies) anticipate and avoid congestion.
  • Scheduling is to select packets from cache queues representing different service levels and put them into the output queue in a specific order, that is, to schedule the queues of packets buffered by different queues.
  • the commonly used queue scheduling algorithms include Strict Priority Queue (SPQ) scheduling algorithm and Weighted Fair Queue (WFQ). Scheduling algorithm and Deficit Weighted Round Robin (DWRR) scheduling algorithm.
  • Traffic shaping is the same as traffic policing. The difference between the two is that traffic shaping does not directly discard traffic that exceeds the limiting rate. Instead, the traffic is cached first, and the cached messages are sent out when appropriate. This allows traffic to maintain a relatively uniform rate, helping to reduce the probability of packet loss on downstream network nodes due to bursty traffic.
  • the packet priority can be rewritten to affect the QoS processing of the downstream network node.
  • the QoS function of the network can be used to implement single-layer QoS or Hierarchical QoS (HQoS for short).
  • Single-layer QoS can only perform service bandwidth control and queue scheduling based on ports. It is impossible to implement traffic management for different service levels of different users and different users at the same time, and hierarchical QoS can be implemented.
  • 2 is an example diagram of a hierarchical QoS layered traffic management model. As shown in FIG. 2, hierarchical QoS in this example implements four levels of traffic management at the port level, user group level, user level, and service level. Hierarchical QoS implements QoS functions such as bandwidth control and queue scheduling through layering. It can finely control the bandwidth allocation of each layer in complex networking and layered service models to achieve end-to-end service QoS. .
  • Figure 3 is a comparison example of single-layer QoS and hierarchical QoS scheduling mechanism.
  • single-layer QoS scheduling refers to the fact that only one scheduler (Scheduler) is used for the entire QoS processing process, and only one layer of QoS scheduling can be completed.
  • Hierarchical QoS scheduling refers to the use of multiple schedulers for the entire QoS process (three hierarchical schedulers are used for hierarchical QoS in Figure 3), which can perform multi-layer QoS scheduling (hierarchical QoS in Figure 3 completes two-layer scheduling) .
  • hierarchical QoS Based on the above-mentioned hierarchical QoS, it has obvious technical advantages over single-layer QoS. It is explicitly proposed in the TR-101 (Second Edition) standard issued by the International Standards Organization Broadband Forum (BBF) in July 2011.
  • FIG. 4 is a schematic diagram of the OpenFlow network component architecture. As shown in Figure 4, the control plane of the OpenFlow network is implemented by the OpenFlow controller.
  • the OpenFlow controller is a device with powerful computing capabilities.
  • the specific device configuration can be a PC, server, or server cluster.
  • the plane is implemented by an OpenFlow switch.
  • the OpenFlow switch is a device with powerful switching capabilities.
  • the specific device form is a network device equipped with multiple network ports and based on flow table for packet processing and forwarding.
  • OpenFlow controller Run the OpenFlow protocol with the OpenFlow interface between OpenFlow switches, which is internationally The standards organization Open Networking Foundation (ONF) is responsible for the development and revision.
  • ONF Open Networking Foundation
  • FIG. 6 is a format diagram of an OpenFlow flow table. As shown in FIG. 6, a flow table may include multiple flow table entries, and a matching field in each flow table entry may be in a packet header. Any of the fields (such as address field, user ID field, service priority field, etc.).
  • the instruction in the corresponding flow table entry is executed (Instruction).
  • the meter can perform flow measurement, coloring and supervision functions. All the meters are configured in the Meter Table.
  • the meter table is composed of The OpenFlow controller is delivered to the OpenFlow switch through the OpenFlow protocol.
  • Figure 7 is a format diagram of the OpenFlow meter table. As shown in Figure 7, the meter table can contain multiple meters, and the "measured bandwidth configuration" in each meter is used to configure the CIR/PIR of the meter. And coloring rules.
  • the packet processing process of the OpenFlow switch may include a multi-level flow table, where each level flow table can be called by the measurer; another instruction "Write-Actions action” can be used to add a new one to the action set (Action Set).
  • Action there is an action “Set-Queue queue_id” can be used to add messages to the corresponding queue, each queue can complete traffic measurement, coloring and supervision functions, queue scheduling function can also be completed between multiple queues, queue
  • the configuration parameters are delivered to the OpenFlow switch by the OpenFlow controller through the OF-Config protocol (a special configuration protocol different from the OpenFlow protocol).
  • the queuing and queue scheduling functions implemented by the Set-Queue action are executed at the end of the OpenFlow switch message processing flow.
  • the traffic measurement, coloring, and supervision functions in the QoS function can be executed as instructions in the middle of the OpenFlow switch packet processing flow, but the queuing and queue scheduling functions can only be performed in OpenFlow. The last process of the packet processing process is performed as an action.
  • This allows the OpenFlow switch to implement port-based single-layer queue scheduling instead of multi-layer queue scheduling required by hierarchical QoS.
  • an effective solution has not been proposed yet. SUMMARY OF THE INVENTION
  • an OpenFlow switch cannot implement technical problems such as hierarchical QoS.
  • a method for implementing QoS in an OpenFlow network including: performing, when a flow table matching is successful, a packet for entering a scheduler and adding the packet to the OpenFlow switch An instruction of the queue is specified in the scheduler; and the scheduler management is performed by the scheduler under the trigger of the instruction.
  • executing instructions for invoking a scheduler and adding the message to a specified queue in the scheduler comprises: executing the instructions in a flow table entry for the message match.
  • executing an instruction for invoking a scheduler and adding the message to a specified queue in the scheduler comprising: invoking a scheduler identifier corresponding to the dispatcher identifier in the instruction, corresponding to the scheduler identifier
  • the specified scheduler is configured to add the packet to a queue corresponding to the queue identifier in the specified scheduler according to the queue identifier carried in the instruction.
  • the scheduler further includes: a next layer scheduler identifier, where the next layer scheduler identifier is used by the queue in the scheduler to invoke the next layer scheduler.
  • a method for implementing QoS in an OpenFlow network including: adding management information to a first message sent by an OpenFlow controller to an OpenFlow switch, where the management information is used for specifying
  • the instruction performs at least one of: adding, modifying, deleting, the specified instruction is used to invoke a scheduler and add the message to a specified queue in the scheduler; and send the first message to the OpenFlow switch .
  • the first message includes: a flow table configuration message.
  • the method further includes: the OpenFlow controller sending, to the OpenFlow switch, at least one of the following: a configuration message and a read message to a scheduler list to which the scheduler belongs, where the configuration message is used Performing at least one of the following on the scheduler table and the entries in the scheduler table: adding, modifying, deleting; the read message is used to read the scheduler table and the entry.
  • the method further includes: adding a scheduler table error reporting information to the second message sent by the OpenFlow switch to the OpenFlow controller, where the scheduler table error reporting information is used according to the configuration message pair
  • the scheduler table reports to the OpenFlow controller when an abnormality occurs in the configuration and when an abnormality occurs in the reading of the scheduler table according to the read message.
  • an apparatus for implementing QoS in an OpenFlow network including: an execution module, configured to enter a packet of an OpenFlow switch, and when the flow table matching succeeds, execute the caller for calling the scheduler and Adding the message to the instruction of the specified queue in the scheduler; the management module is configured to perform queue scheduling management by the scheduler under the trigger of the instruction.
  • the execution module is configured to execute the instruction in the flow table entry of the message matching.
  • the execution module is further configured to execute the instruction when the scheduler includes the following: a next layer scheduler identifier, where the next layer scheduler identifier is used in the scheduler The queue calls the next level of scheduler.
  • an apparatus for implementing QoS in an OpenFlow network including: a first adding module, configured to add management information to a first message sent by an OpenFlow controller to an OpenFlow switch, where The management information is used to perform management on at least one of the following: adding, modifying, deleting, the specified instruction is used to invoke the scheduler and add the message to a specified queue in the scheduler; Sending the first message to the OpenFlow switch.
  • the foregoing apparatus further includes: a second adding module, configured to add a scheduler table error reporting information to the second message sent by the OpenFlow switch to the OpenFlow controller, where the scheduler table error reporting information is used for And reporting to the OpenFlow controller when an abnormality occurs in the configuration of the scheduler table according to the configuration message, and when an abnormality occurs in reading the scheduler table according to the read message.
  • a second adding module configured to add a scheduler table error reporting information to the second message sent by the OpenFlow switch to the OpenFlow controller, where the scheduler table error reporting information is used for And reporting to the OpenFlow controller when an abnormality occurs in the configuration of the scheduler table according to the configuration message, and when an abnormality occurs in reading the scheduler table according to the read message.
  • the technical means for invoking the scheduler and adding the message to the specified queue in the scheduler is performed on the packet with the matching of the flow table, and the related art cannot implement the level of the OpenFlow switch.
  • Technical issues such as QoS enable OpenFlow switches to achieve both single-
  • FIG. 1 is a diagram showing an example of a service flow processing flow for implementing a QoS function by a network device according to the related art
  • FIG. 5 is a schematic diagram of a packet processing flow of an OpenFlow switch implementing a QoS function according to the related art;
  • FIG. 6 is a format diagram of an OpenFlow flow table according to the related art;
  • FIG. 8 is a flowchart of a method for implementing QoS in an OpenFlow network according to Embodiment 1 of the present invention;
  • FIG. 9 is a flowchart of an apparatus for implementing QoS in an OpenFlow network according to Embodiment 1 of the present invention
  • FIG. 10 is another block diagram of a method for implementing QoS in an OpenFlow network according to Embodiment 1 of the present invention
  • FIG. 11 is a block diagram showing another structure of an apparatus for implementing QoS in an OpenRow network according to Embodiment 1 of the present invention
  • 12 is a structural block diagram of a preferred embodiment of the apparatus shown in FIG. 11.
  • FIG. 13 is a schematic diagram of a packet processing principle for implementing an QoS function of an OpenFlow switch according to Embodiment 2 of the present invention
  • FIG. 15 is a schematic diagram showing the principle of implementing QoS in an OpenRow network according to Embodiment 2 of the present invention
  • FIG. 16 is a schematic diagram of a method for implementing QoS in an OpenRow network according to Embodiment 2 of the present invention
  • FIG. 17 is a schematic diagram of content of a meter in an OpenRow switch according to Embodiment 3 of the present invention
  • FIG. 18 is a scheduler table in an OpenRow switch according to Embodiment 3 of the present invention
  • 19 is a schematic diagram of content of a flow table in an OpenRow switch according to Embodiment 4 of the present invention
  • FIG. 20 is a schematic diagram of contents of a meter in an OpenRow switch according to Embodiment 4 of the present invention
  • FIG. 21 is a diagram of implementation according to the present invention. Schematic diagram of the scheduler table contents in the OpenRow switch of Example 4. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 8 is a flowchart of a method for implementing QoS in an OpenFlow network according to Embodiment 1 of the present invention. As shown in FIG.
  • Step S802 When a flow table matching is successful, the packet that enters the OpenFlow switch performs an instruction for calling the scheduler and adding the message to the specified queue in the scheduler.
  • the function of the execution instruction at this time is to call the corresponding measurer to complete the flow measurement, coloring, and supervision functions, and is not performed for execution. Invoking the scheduler and adding the above message to the specified queue in the scheduler, and for queuing and queue scheduling functions (ie, calling the scheduler and adding the above message to the specified queue in the scheduler)
  • step S802 since the queuing and queue scheduling functions are directly executed when the flow table matching is successful, hierarchical QoS can be implemented.
  • Step S804 performing queue scheduling management by using the scheduler under the trigger of the above instruction.
  • the scheduler can complete the queue congestion management and queue scheduling functions; and the scheduler can also call the measurer for the queue in the scheduler to complete the traffic measurement, coloring, and supervision functions.
  • the foregoing command may be carried in a flow table entry that is sent to the OpenRow switch by the OpenRow controller.
  • step S802 may be expressed as, but not limited to, the following form: The above instructions.
  • step S802 may be expressed as, but not limited to, the following form: according to the scheduler identifier carried in the above instruction.
  • the packet may be added to the queue corresponding to the queue identifier in the specified scheduler according to the queue identifier carried in the command.
  • hierarchical QoS There are various ways to implement hierarchical QoS based on the steps S802-S804. For example, another scheduler may be nested in the scheduler.
  • the scheduler in steps S802-S804 further includes: a next-level scheduler identifier,
  • the next layer scheduler identifier is used by the queue in the scheduler to call the next layer scheduler.
  • an apparatus for implementing QoS in an OpenFlow network is provided, which is used to implement the foregoing embodiments and preferred embodiments. The descriptions of the modules involved in the apparatus are described below. .
  • the term "module" is a combination of software and/or hardware that can perform a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and conceivable.
  • the apparatus includes: an execution module 90, connected to the management module 92, configured to send a message to the OpenRow switch, and when the flow table matching succeeds, execute to invoke the scheduler and add the foregoing message to the foregoing
  • the instruction of the queue is specified in the scheduler; the management module 92 is configured to perform queue scheduling management by using the scheduler under the trigger of the above instruction.
  • Hierarchical QoS can also be achieved through the functions implemented by each of the above modules.
  • the execution module 90 is configured to execute the instruction in the flow table entry of the message matching.
  • the execution module 90 is further configured to include the following content in the scheduler.
  • the above instruction is executed: the next layer scheduler identifier, wherein the next layer scheduler identifier is used by the queue in the scheduler to call the next layer scheduler.
  • the OpenRow controller side is also improved, which will be described in detail below.
  • FIG. 10 is another flowchart of a method for implementing QoS in an OpenFlow network according to Embodiment 1 of the present invention. As shown in FIG.
  • Step S1002 Add management information to a first message sent by an OpenFlow controller to an OpenFlow switch, where the foregoing management information is used to perform at least one of the following operations on a specified instruction: adding, modifying And deleting, the above specified instruction is used to invoke the scheduler and add the above message to the specified queue in the above scheduler.
  • the foregoing first message includes but is not limited to: a flow table configuration message.
  • the OpenFlow controller is
  • Step S1004 Send the first message to the OpenFlow switch.
  • the scheduler table error report information is added to the second message sent by the OpenFlow switch to the OpenFlow controller, where the scheduler table error report information is used according to the The configuration message is reported to the OpenFlow controller when an abnormality occurs in the configuration of the scheduler table and when an abnormality occurs in reading the scheduler table according to the read message.
  • the foregoing second message includes, but is not limited to, an error reporting message, that is, the scheduler table error reporting information may be added to the existing error reporting message.
  • an apparatus for implementing QoS in an OpenFlow OpenFlow network is also provided. As shown in FIG. 11, the apparatus includes: a first adding module 1 10, connected to the sending module 11 2, configured to be in OpenFlow controller sent to
  • Adding management information to the first message of the OpenFlow switch where the foregoing management information is used to perform at least one of the following operations on the specified instruction: adding, modifying, deleting, and the specified instruction is used to invoke the scheduler and add the foregoing message to the foregoing scheduling.
  • the specified queue in the device; the sending module 112 is configured to send the first message to the OpenFlow switch.
  • the following modules may also be included but not limited to:
  • the scheduler table error reporting information is added to the second message sent by the OpenFlow switch to the OpenFlow controller, where the scheduler table error reporting information is used to configure the scheduler table to be abnormal according to the configuration message. And reporting to the OpenFlow controller when an abnormality occurs in the reading of the scheduler table according to the read message.
  • the module can be applied to an OpenFlow switch.
  • the "first”, “second”, and the like in the present embodiment are only for distinguishing different features, and do not constitute a limitation (for example, an execution order, etc.) to the present embodiment.
  • the following will be described in detail in conjunction with Preferred Embodiments 2-4 of Embodiment 1.
  • Embodiment 2 provides a method for implementing QoS in an OpenFlow network, which is used in an OpenFlow switch.
  • the OpenFlow switch is mainly implemented but not limited to the following two processes: Step S1302: Entering an OpenFlow switch from an ingress port The packet is first matched by the flow table. For the packets whose flow table matches successfully, the queue and schedule in the corresponding flow table entry are executed. (Scheduler Queue) The scheduler-id queue-id command, which uses the scheduler identifier (Scheduler_ID) and the queue identifier (Queue_ID) as parameters to invoke the corresponding scheduler and cause the message to enter the corresponding queue in the scheduler. .
  • Each scheduler contains one or more queues, all of which are configured in the Scheduler Table.
  • the packet processing process of the OpenRow switch may include a multi-level flow table, where each level flow table can be called to the scheduler.
  • Step S1304 After the packet completes the flow table matching, invokes the corresponding scheduler, and causes the packet to enter the corresponding queue in the scheduler, the scheduler can complete the queue congestion management and the queue scheduling function, and the scheduler can also be The queue calls the measurer, which can perform flow measurement, coloring, and supervision functions for the queue.
  • one of the schedulers in the scheduler table can call another scheduler for the queues in it, and allow multiple nested nesting calls by the scheduler.
  • FIG 14 is a format diagram of the OpenFlow scheduler table.
  • the scheduler table can contain multiple schedulers, each of which contains a "scheduler ID" (Scheduler ID) and a "queue ID” (Queue ID). Fields, these two fields are the identifiers used by the flow table instructions to invoke the scheduler to ensure that the messages enter the correct queue of the correct scheduler; each scheduler also contains the "next layer scheduler identifier" (Next Level Scheduler ID) field, which is used by the queue in the scheduler to call the corresponding next-level scheduler.
  • each scheduler When the value of this field is 0, it means that no other scheduler is called; each scheduler also contains "measurer” Identifies the “Meter ID” field, which is used by the queue in the scheduler to call the corresponding measurer. A value of 0 means that no measurer is called; each scheduler also contains a "congestion policy” (Congestion Policy) ) , “Scheduling Algorithm”, “Queue Priority” and “Queue Weight” are commonly used parameters for queue congestion management and queue scheduling.
  • Congestion Policy Congestion Policy
  • the embodiment also provides a method for implementing QoS in an OpenFlow network, which is used in an OpenFlow controller and an OpenFlow switch. As shown in FIG. 15, the method includes the following steps: Step S1 502: Extending a protocol message of an existing OpenFlow protocol, in an OpenFlow controller Sent
  • the OpenFlow switch's "Controller-to-Switch" type flow table configuration message adds support for the use of "queue and dispatch" instructions in the flow table to implement the "queue and schedule” instructions in the flow table. Add, modify, and delete. Extend the existing OpenFlow protocol to add scheduler table configuration messages and schedulers to the "Controller-to-Switch" type messages sent by the OpenFlow controller to the OpenFlow switch.
  • the table reads the message, where the scheduler table configuration message implements the addition, modification, and deletion of the scheduler table and its entries, and the scheduler table reads the message to implement the reading of the scheduler table and its entries.
  • Step S1 504 extending the protocol message of the existing OpenFlow protocol, adding information of the scheduler table configuration error and the scheduler table reading error in the "Asynchronous" type error report message sent by the OpenRow switch to the OpenFlow controller Information, where the scheduler table configuration error information implements error reporting when the scheduler table and its entries fail to be configured on the switch, and the scheduler table reads the error information to implement the scheduler table and its entries when the switch fails to read on the switch. Error reported.
  • CoS Class of Service
  • Step 1 The OpenFlow protocol is run between the OpenFlow controller and the OpenFlow switch.
  • FIG 16 is a schematic diagram of the flow table contents in the OpenFlow switch. As shown in Figure 16, there is only one flow table in the OpenFlow switch. The flow table contains two flow table entries, and the command fields in each flow table entry contain " Queue and schedule "instructions.
  • Figure 17 is a schematic diagram of the contents of the meter in the OpenRow switch. As shown in Figure 17, the meter table contains two meters, and the indicators of the meters are 101 and 201, respectively.
  • Figure 18 shows the contents of the scheduler table in the OpenFlow switch. As shown in Figure 18, the scheduler table contains a scheduler. The identifier of the scheduler is 1. This scheduler contains two queues.
  • Step 3 The traffic of the queue 1 entering the scheduler 1 calls the measurer 101 to complete the measurement, coloring, and supervision of the traffic, and the traffic of the queue 2 entering the scheduler 1 calls the measurer 201 to complete the measurement, coloring, and
  • the traffic of queue 1 and queue 2 in scheduler 1 is queued according to the scheduling algorithm WFQ according to the weights of 80% and 20% respectively. When congestion occurs in queue 1 and queue 2, WRED congestion is used.
  • next-level scheduler ID of queue 1 is 0, indicating that queue 1 does not call the next-level scheduler. Similarly, queue 2 does not call the next-level scheduler.
  • hierarchical QoS needs to be completed on the OpenFlow switch to achieve different service levels among users. Two-tier scheduling between traffic flows and traffic traffic of different users. As shown in FIG. 13 and FIG. 15, in this embodiment, an OpenFlow controller in an OpenFlow network and
  • the OpenFlow switch performs the following steps: Step 1.
  • the OpenFlow protocol is run between the OpenFlow controller and the OpenFlow switch.
  • the OpenFlow controller sends the flow table, the meter table, and the scheduler table to the OpenFlow switch.
  • Figure 19 shows the flow table contents in the OpenFlow switch. As shown in Figure 19, there is only one flow table in the OpenFlow switch.
  • the flow table contains four flow table entries, and the command fields in each flow table entry are Contains the "Queue and Schedule" directive.
  • 20 is a schematic diagram of the contents of the meter table in the OpenFlow switch. As shown in FIG. 20, the meter table includes six meters, and the identifiers of the meters are 101, 201, 301, 401, 501, and 601, respectively.
  • 21 is a schematic diagram of the contents of the scheduler table in the OpenFlow switch. As shown in FIG.
  • the scheduler table includes three schedulers, and the identifiers of the scheduler are 1, 2, and 3, respectively, where the scheduler 1 includes two queues, and the queue The identifiers are 1 and 2, and the scheduler 2 also contains two queues. The identifiers of the queues are 1 and 2, respectively.
  • the scheduler 3 also contains two queues, and the identifiers of the queues are 1 and 2, respectively.
  • the next-level scheduler identifier of queue 1 in scheduler 3 is 1, indicating that queue 1 invokes scheduler 1; the next-level scheduler identifier of queue 2 in scheduler 3 is 2, indicating that queue 2 invokes scheduler 2. Therefore, both the scheduler 1 and the scheduler 2 are the next-level schedulers of the scheduler 3.
  • Step 3 The traffic of the queue 1 entering the scheduler 1 calls the measurer 101 to complete the measurement, coloring, and supervision of the traffic, and the traffic of the queue 2 entering the scheduler 1 calls the measurer 201 to complete the measurement, coloring, and
  • the traffic of queue 1 and queue 2 in scheduler 1 is queued according to the scheduling algorithm WFQ according to the weights of 55% and 45% respectively.
  • WRED congestion is used.
  • the policy the next-level scheduler ID of queue 1 is 0, indicating that queue 1 does not call the next-level scheduler. Similarly, queue 2 does not call the next-level scheduler.
  • the traffic of the queue 1 entering the scheduler 2 calls the measurer 301 to complete the measurement, coloring and supervision of the traffic, and the traffic of the queue 2 entering the scheduler 2 calls the measurer 401 to complete the measurement, coloring and supervision of the traffic, and then,
  • the scheduling algorithm WFQ the traffic of the queue 1 and the queue 2 in the scheduler 2 is queued according to the weights of 50% and 50% respectively.
  • the congestion policy of the WRED is adopted.
  • the next-level scheduler identifier is 0, indicating that queue 1 does not call the next-level scheduler.
  • queue 2 does not call the next-level scheduler.
  • both the scheduler 1 and the scheduler 2 are the next-level schedulers of the scheduler 3.
  • the output service traffic enters the queue 1 of the scheduler 3, and the traffic flow of the queue 1 entering the scheduler 3 invokes the measurer 501 to complete the measurement, coloring, and supervision of the traffic; after the scheduler 2 completes the queue scheduling, The output service traffic enters queue 2 of scheduler 3, and the traffic flow entering queue 2 of scheduler 3 invokes measurer 601 to complete the measurement, coloring, and supervision of traffic. Then, the traffic of the queue 1 and the queue 2 in the scheduler 3 is queued according to the scheduling algorithm WFQ according to the weights of 65% and 35% respectively. When the queue 1 and the queue 2 are congested, the WRED congestion strategy is adopted.
  • a storage medium is provided, the software being stored, including but not limited to: an optical disk, a floppy disk, a hard disk, a rewritable memory, and the like.
  • the embodiments of the present invention achieve the following beneficial effects: The above embodiment extends the development of the ONF
  • the implementation mechanism of the QoS function specified by the OpenFlow switch specification standard adds new packet queuing and queue scheduling methods and steps in the packet processing flow, and supports the above new queuing and queue scheduling methods by extending the existing OpenFlow protocol.
  • the prior art cannot realize the defect of hierarchical QoS, and realizes the OpenFlow switch processing mechanism in which single layer QoS and hierarchical QoS are unified.
  • the above modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices.
  • the computing device may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the above are only the preferred embodiments of the present invention, and are not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.
  • the above technical solution provided by the present invention can be applied to the implementation of the QoS in the OpenFlow OpenFlow network.
  • the message matching the flow table matching is performed to invoke the scheduler and add the message to the
  • the technical means of specifying the instruction of the queue in the scheduler solves the technical problem that the OpenFlow switch cannot implement hierarchical QoS in the related art, so that the OpenFlow switch can implement both single-layer QoS and hierarchical QoS.

Landscapes

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

Abstract

本发明提供了一种OpenFlow网络中QoS的实现方法及装置,其中,上述方法包括:对进入OpenFlow交换机的报文,在流表匹配成功时,执行用于调用调度器和将所述报文加入所述调度器中指定队列的指令;在所述指令的触发下,通过所述调度器进行队列调度管理。采用本发明提供的上述技术手段,解决了相关技术中,OpenFlow 交换机无法实现层次化QoS等技术问题,从而使得OpenFlow交换机既能实现单层 QoS,又能实现层次化QoS。

Description

OpenFlow网络中 QoS的实现方法及装置
技术领域 本发明涉及通信领域, 尤其是涉及一种开放流 (OpenFlow ) 网络中服务质量 (Quality of Service, 简称为 QoS ) 的实现方法及装置。 背景技术 在当今的数据通信网络中, 不管是局域网、 城域网还是广域网, QoS功能都是一 种重要且常用的网络功能。 网络的 QoS功能是指网络针对各种业务应用的不同需求, 为其提供不同的服务质量保证, 如带宽、 丢包率、 延迟和延迟抖动等, 以实现同时承 载数据、 语音和视频等多种业务的综合网络。 图 1是网络设备实现 QoS功能的业务流 量处理流程示例图, 如图 1所示, 网络的 QoS功能主要包括以下四类: 一、 流分类和 流标记功能。 流是一组具有相同特性的数据报文, 流分类就是按照一定的流划分规则 (例如基于端口或基于报文的某些字段值) 对进入网络的业务流量进行分类。 流标记 就是给流分类后的业务报文设置网络内的服务等级和优先级标记, 以实现不同业务流 的 QoS区分; 二、 流量测量、 着色和监管功能。 该功能就是在完成流分类和流标记之 后, 对业务流进行速率测量 (Metering ), 同时根据流量的到达速率、 配置的保证通过 速率(Committed Information Rate,简称为 CIR)和最大允许速率(Peak Information Rate, 简称为 PIR) 给进入的报文进行着色和速率限制。 具体来说, 报文着色和速率限制通 常会采用互联网工程任务组 (Internet Engineering Task Force, 简称为 IETF) 的标准 RFC 2698所规定的双速率三色标记(Two rate Three Color Marker, 简称为 TrTCM)算 法, 该算法把不超过 CIR的报文标记为绿色, 把超过 CIR而不超过 PIR的报文标记为 黄色, 把超过 PIR的报文标记为红色, 再通过丢弃红色报文实现业务流的速率限制。 三、 队列拥塞管理和调度功能。 经过流量测量、 着色和监管的业务流量会进入不同等 级的缓存队列, 这个过程被称为排队 (QUeuing)。 队列拥塞管理就是监控队列缓存, 通过尾丢弃 (Tail Drop, 简称为 TD)、 随机早期探测 (Random Early Detection, 简称 为 RED )或加权随机早期探测 (Weighted Random Early Detection, 简称为 WRED)等 报文丢弃方式(也被称为拥塞策略)来预见并避免拥塞的发生。队列调度(Scheduling ) 就是从代表不同业务等级的缓存队列中选择报文并把这些报文以特定的顺序放入输出 队列中, 即针对不同队列所缓存报文的出队顺序进行调度, 以最大程度避免拥塞和满 足高优先级业务流量的出队, 常用的队列调度算法包括严格优先级队列(Strict Priority Queue, 简称为 SPQ) 调度算法、 加权公平队列 (Weighted Fair Queue, 简称为 WFQ) 调度算法和差额加权轮询 (Deficit Weighted Round Robin, 简称为 DWRR) 调度算法 等。 四、 流量整形和优先级重写功能。 经过队列调度后的流量一般会通过漏桶机制实 现流量整形, 流量整形与流量监管一样完成流量速率限制的功能, 二者的区别在于流 量整形不会像流量监管一样对于超出限制速率的流量直接丢弃, 而是会先把这些流量 缓存起来, 并在合适的时候再将缓存的报文发送出去。 这使得流量能保持一个比较均 匀的速率, 有助于降低下游网络节点由于突发流量导致丢包的概率。 在业务流量从出 端口发送出去之前, 除了完成流量整形, 还可以对报文的优先级进行重写, 以影响下 游网络节点的 QoS处理。 网络的 QoS 功能既可以用于实现单层 QoS, 也可以用于实现层次化 QoS (Hierarchical QoS,简称为 HQoS)。单层 QoS只能基于端口进行业务带宽控制和队列 调度, 无法实现同时对不同用户及不同用户中不同服务等级业务进行流量管理, 而层 次化 QoS则可以实现。 图 2是层次化 QoS分层流量管理模型示例图, 如图 2所示, 该 示例中层次化 QoS实现了端口级、 用户组级、 用户级和业务级的四级流量管理。 层次 化 QoS通过分层实现带宽控制和队列调度等 QoS功能,可以在复杂的组网和分层的业 务模型中, 对每一层的带宽分配进行精细控制, 达到保证端到端业务 QoS的目的。 图 3是单层 QoS和层次化 QoS调度机制对比示例图,如图 3所示,单层 QoS调度指的是 整个 QoS处理过程只使用一个调度器 (Scheduler) , 只能完成一层 QoS调度, 层次化 QoS调度指的是整个 QoS处理过程使用多个调度器(图 3中层次化 QoS使用了三个调 度器), 可以完成多层 QoS调度(图 3中层次化 QoS完成了两层调度)。基于上述层次 化 QoS具备相对于单层 QoS的明显技术优势, 在国际标准组织宽带论坛 (Broadband Forum, 简称为 BBF) 于 2011年 7月发布的 TR-101 (第二版) 标准中, 明确提出了 要求网络设备支持层次化 QoS的能力, 而且目前已经有越来越多的商用网络设备能够 支持层次化 QoS的能力。 随着软件定义网络 (Software Defined Network, 简称为 SDN ) 概念的提出及其应 用的发展, 作为 SDN 核心技术的 OpenFlow 技术正处于快速发展阶段, 目前利用 OpenFlow 技术建设的 OpenFlow 网络已经越来越多地应用于实际的生产生活中。 OpenFlow 网络采用控制平面与转发平面 (也称为数据平面) 分离的架构, 图 4 是 OpenFlow网络组件架构示意图。如图 4所示, OpenFlow网络的控制平面由 OpenFlow 控制器来实现, OpenFlow控制器是一种具备强大计算能力的设备, 具体的设备形态可 以是个人电脑、 服务器或服务器集群等, OpenFlow网络的转发平面由 OpenFlow交换 机来实现, OpenFlow交换机是一种具备强大交换能力的设备, 具体的设备形态是配备 多个网络端口、 基于流表 (Flow Table) 进行报文处理与转发的网络设备, OpenFlow 控制器与 OpenFlow交换机之间的 OpenFlow接口运行 OpenFlow协议, 该协议由国际 标准组织开放网络基金会(Open Networking Foundation, 简称为 ONF) 负责制定和修 改。
ONF于 2013年 4月正式发布的 OpenFlow交换机规范 1.3.2版本,规定了 OpenFlow 协议流程以及 OpenFlow交换机内部的报文处理流程,其中就包括了 OpenFlow协议和 OpenFlow交换机实现 QoS功能的方法。 图 5是 OpenFlow交换机实现 QoS功能的报 文处理流程示意图, 如图 5所示, 从入端口进入 OpenFlow交换机的报文首先会进行 流表匹配,流表是由 OpenFlow控制器通过 OpenFlow协议下发到 OpenFlow交换机的。 图 6是 OpenFlow流表的格式图,如图 6所示,流表中可以包含多个流表条目( Flow Table Entry) , 每个流表条目中的 "匹配字段"都可以是报文头中的任意字段 (例如地址字 段、 用户标识字段、 服务优先级字段等)。 接下来, 对于流表匹配成功的报文会执行相 应流表条目中的指令 (Instruction)。 有一条指令 "Meter meter_id" 可用于调用相应的 测量器 (Meter) , 测量器可以完成流量测量、 着色和监管功能, 所有测量器都配置在 测量器表 (Meter Table) 中, 测量器表是由 OpenFlow控制器通过 OpenFlow协议下发 到 OpenFlow交换机的。 图 7是 OpenFlow测量器表的格式图, 如图 7所示, 测量器表 中可以包含多个测量器, 每个测量器中的 "测量器带宽配置"用于配置该测量器的 CIR/PIR和着色规则。 OpenFlow交换机的报文处理流程可以包含多级流表, 其中每一 级流表都可以对测量器进行调用; 另一条指令 "Write-Actions action"可用于往动作集 合 (Action Set) 中添加新的动作 (Action), 有一个动作 " Set-Queue queue_id" 可用 于把报文加入相应的队列, 每个队列可以完成流量测量、 着色和监管功能, 多个队列 之间还可以完成队列调度功能, 队列的配置参数是由 OpenFlow控制器通过 OF-Config 协议(不同于 OpenFlow协议的一种专用配置协议)下发到 OpenFlow交换机的。 作为 动作集合中的一个动作, 设置队列 (Set-Queue) 动作实现的排队和队列调度等功能都 是在 OpenFlow交换机报文处理流程的最后执行的。 综上所述, 根据目前 OpenFlow交换机规范的规定, QoS功能中的流量测量、 着 色和监管功能都可以在 OpenFlow交换机报文处理流程的中间作为指令执行, 但排队 和队列调度功能都只能在 OpenFlow交换机报文处理流程的最后作为动作执行, 这就 使得 OpenFlow交换机只能实现基于端口的单层队列调度, 而无法实现层次化 QoS所 要求的多层队列调度。 针对上述 OpenFlow交换机无法实现层次化 QoS的问题, 目前尚未提出有效的解 决方案。 发明内容 针对相关技术中, OpenFlow交换机无法实现层次化 QoS等技术问题, 本发明实 施例提供了一种 OpenFlow网络中 QoS的实现方法及装置, 以至少解决上述问题。 根据本发明的一个实施例,提供了一种 OpenFlow网络中 QoS的实现方法,包括: 对进入 OpenFlow交换机的报文, 在流表匹配成功时, 执行用于调用调度器和将所述 报文加入所述调度器中指定队列的指令; 在所述指令的触发下, 通过所述调度器进行 队列调度管理。 优选地, 执行用于调用调度器和将所述报文加入所述调度器中指定队列的指令, 包括: 执行所述报文匹配的流表条目中的所述指令。 优选地, 执行用于调用调度器和将所述报文加入所述调度器中指定队列的指令, 包括: 根据所述指令中携带的调度器标识调用调度器列表中与所述调度器标识对应的 指定调度器; 根据所述指令中携带的队列标识将所述报文加入到所述指定调度器中与 所述队列标识对应的队列。 优选地, 所述调度器中还包括: 下一层调度器标识, 其中, 该下一层调度器标识 用于所述调度器中的队列调用下一层调度器。 根据本发明的另一个实施例, 提供了一种 OpenFlow网络中 QoS的实现方法, 包 括: 在 OpenFlow控制器发往 OpenFlow交换机的第一消息中添加管理信息, 其中, 所 述管理信息用于对指定指令进行以下至少之一管理: 增加、 修改、 删除, 所述指定指 令用于调用调度器和将所述报文加入所述调度器中的指定队列; 向所述 OpenFlow交 换机发送所述第一消息。 优选地, 所述第一消息包括: 流表配置消息。 优选地, 上述方法还包括: 所述 OpenFlow控制器向所述 OpenFlow交换机发送以 下至少之一消息: 对所述调度器所属调度器列表的配置消息和读取消息, 其中, 所述 配置消息用于对所述调度器表及所述调度器表中的条目进行以下至少之一管理:增加、 修改、 删除; 所述读取消息用于读取所述调度器表和所述条目。 优选地, 上述方法还包括: 在所述 OpenFlow交换机发往 OpenFlow控制器的第二 消息中添加调度器表错误上报信息, 其中, 所述调度器表错误上报信息用于在根据所 述配置消息对所述调度器表进行配置发生异常时和根据所述读取消息对所述调度器表 进行读取发生异常时向所述 OpenFlow控制器上报。 根据本发明的又一个实施例, 提供了一种 OpenFlow网络中 QoS的实现装置, 包 括: 执行模块, 设置为对进入 OpenFlow交换机的报文, 在流表匹配成功时, 执行用 于调用调度器和将所述报文加入所述调度器中指定队列的指令; 管理模块, 设置为在 所述指令的触发下, 通过所述调度器进行队列调度管理。 优选地, 所述执行模块, 设置为执行所述报文匹配的流表条目中的所述指令。 优选地,所述执行模块,还设置为在所述调度器中包括以下内容时执行所述指令: 下一层调度器标识, 其中, 该下一层调度器标识用于所述调度器中的队列调用下一层 调度器。 根据本发明的再一个实施例, 提供了一种 OpenFlow网络中 QoS的实现装置, 包 括: 第一添加模块, 设置为在 OpenFlow控制器发往 OpenFlow交换机的第一消息中添 加管理信息, 其中, 所述管理信息用于对指定指令进行以下至少之一管理: 增加、 修 改、删除,所述指定指令用于调用调度器和将所述报文加入所述调度器中的指定队列; 发送模块, 用于向所述 OpenFlow交换机发送所述第一消息。 优选地, 上述装置还包括: 第二添加模块, 设置为在所述 OpenFlow交换机发往 OpenFlow控制器的第二消息中添加调度器表错误上报信息, 其中,所述调度器表错误 上报信息用于在根据所述配置消息对所述调度器表进行配置发生异常时和根据所述读 取消息对所述调度器表进行读取发生异常时向所述 OpenFlow控制器上报。 通过本发明实施例, 对流表匹配成功的报文执行用于调用调度器和将所述报文加 入所述调度器中指定队列的指令的技术手段,解决了相关技术中, OpenFlow交换机无 法实现层次化 QoS等技术问题, 从而使得 OpenFlow交换机既能实现单层 QoS, 又能 实现层次化 QoS。
附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。 在附图 中: 图 1为根据相关技术的网络设备实现 QoS功能的业务流量处理流程示例图; 图 2为根据相关技术的层次化 QoS分层流量管理模型示例图; 图 3为根据相关技术的单层 QoS和层次化 QoS调度机制对比示例图; 图 4为根据相关技术的 OpenFlow网络组件架构示意图; 图 5为根据相关技术的 OpenFlow交换机实现 QoS功能的报文处理流程示意图; 图 6为根据相关技术的 OpenFlow流表的格式图; 图 7为根据相关技术的 OpenFlow测量器表的格式图; 图 8为根据本发明实施例 1的 OpenFlow网络中 QoS的实现方法的流程图; 图 9为根据本发明实施例 1的 OpenFlow网络中 QoS的实现装置的结构框图; 图 10为根据本发明实施例 1的 OpenFlow网络中 QoS的实现方法的另一流程图; 图 11为根据本发明实施例 1的 OpenRow网络中 QoS的实现装置的另一结构框 图; 图 12为根据图 1 1所示装置的一个优选实施例的结构框图; 图 13为本发明实施例 2提供的 OpenFlow交换机实现 QoS功能的报文处理原理 示意图; 图 14为本发明实施例 2提供的 OpenRow调度器表的格式图; 图 15为根据本发明实施例 2的 OpenRow网络中实现 QoS的原理示意图; 图 16为根据本发明实施例 3的 OpenRow交换机中的流表内容示意图; 图 17为根据本发明实施例 3的 OpenRow交换机中的测量器表内容示意图; 图 18为根据本发明实施例 3的 OpenRow交换机中的调度器表内容示意图; 图 19为根据本发明实施例 4的 OpenRow交换机中的流表内容示意图; 图 20为根据本发明实施例 4的 OpenRow交换机中的测量器表内容示意图; 以 及 图 21为根据本发明实施例 4的 OpenRow交换机中的调度器表内容示意图。 具体实施方式 下文中将参考附图并结合实施例来详细说明本发明。 需要说明的是, 在不冲突的 情况下, 本申请中的实施例及实施例中的特征可以相互组合。 实施例 1 首先, 从 OpenFlow交换机侧进行说明。 图 8为根据本发明实施例 1的 OpenFlow 网络中 QoS的实现方法的流程图。 如图 8所示, 该方法包括: 步骤 S802, 对进入 OpenFlow交换机的报文, 在流表匹配成功时, 执行用于调 用调度器和将上述报文加入上述调度器中指定队列的指令。 在相关技术中, 在流表匹配成功时, 虽然也可以执行相应的指令, 但是, 此时执 行指令的作用为调用相应的测量器, 以完成流量测量、 着色和监管功能, 并不是执行 用于调用调度器和将上述报文加入上述调度器中指定队列的指令, 而对于排队和队列 调度功能 (即调用调度器和将上述报文加入上述调度器中指定队列的功能) 则在
OpenRow交换机报文处理流程的最后进行, 因此, 无法实现层次化 QoS。 而在该步 骤 S802 中, 由于在流表匹配成功时, 会直接执行上述排队和队列调度功能, 因此可 以实现层次化 QoS。 步骤 S804,在上述指令的触发下,通过上述调度器进行队列调度管理。该步骤中, 调度器可以完成队列拥塞管理和队列调度功能; 并且, 调度器还可以为该调度器中的 队列调用测量器, 完成流量测量、 着色和监管功能。 在本实施例中, 上述指令可以携带在 OpenRow控制器下发给 OpenRow交换机 的流表条目中, 此时, 步骤 S802可以表现为但不限于以下形式: 执行上述报文匹配 的流表条目中的上述指令。 在本实施例中, 在对调度器进行调用时, 可以在调度器列表根据调度器标识进行 调用, 此时, 步骤 S802可以表现为但不限于以下形式: 根据上述指令中携带的调度 器标识调用调度器列表中与上述调度器标识对应的指定调度器; 与之相似的, 也可以 根据上述指令中携带的队列标识将上述报文加入到上述指定调度器中与上述队列标识 对应的队列。 基于步骤 S802-S804实现层次化 QoS的方式有多种, 例如可以在调度器中嵌套 另一个调度器, 此时, 步骤 S802-S804中的调度器中还包括: 下一层调度器标识, 其 中, 该下一层调度器标识用于上述调度器中的队列调用下一层调度器。 在本实施例中还提供了一种 OpenFlow网络中 QoS的实现装置, 用于实现上述实 施例及优选实施方式, 已经进行过说明的不再赘述, 下面对该装置中涉及到的模块进 行说明。如以下所使用的, 术语"模块"是可以实现预定功能的软件和 /或硬件的组合。 尽管以下实施例所描述的装置较佳地以软件来实现, 但是硬件, 或者软件和硬件的组 合的实现也是可能并被构想的。 图 9为根据本发明实施例 1的 OpenFlow网络中 QoS 的实现装置的结构框图。 如图 9所示, 该装置包括: 执行模块 90, 连接至管理模块 92, 设置为对进入 OpenRow交换机的报文, 在 流表匹配成功时, 执行用于调用调度器和将上述报文加入上述调度器中指定队列的指 令; 管理模块 92, 设置为在上述指令的触发下, 通过上述调度器进行队列调度管理。 通过上述各个模块实现的功能, 同样可以实现层次化 QoS。 在本实施例的一个优选实施方式中, 上述执行模块 90, 设置为执行上述报文匹配 的流表条目中的上述指令 优选地, 上述执行模块 90, 还设置为在上述调度器中包括以下内容时执行上述指 令: 下一层调度器标识, 其中, 该下一层调度器标识用于上述调度器中的队列调用下 一层调度器。 在本实施例中, 为了实现层次化 QoS, 还对 OpenRow控制器侧进行了改进, 以 下详细说明。 图 10为根据本发明实施例 1的 OpenFlow网络中 QoS的实现方法的另一流程图。 如图 10所示, 该方法包括: 步骤 S1002, 在 OpenFlow控制器发往 OpenFlow交换机的第一消息中添加管理 信息, 其中, 上述管理信息用于对指定指令进行以下至少之一管理: 增加、 修改、 删 除,上述指定指令用于调用调度器和将上述报文加入上述调度器中的指定队列。其中, 上述第一消息包括但不限于: 流表配置消息。 为了进一步支持对上述处理步骤的支持, 在所述 OpenFlow 控制器向所述
OpenFlow交换机的消息中增加以下至少之一消息:对上述调度器所属调度器列表的配 置消息和读取消息, 其中, 上述配置消息用于对上述调度器表及上述调度器表中的条 目进行以下至少之一管理: 增加、 修改、 删除; 上述读取消息用于读取上述调度器表 和上述条目。 即 OpenFlow控制器需要向 OpenFlow交换机发送上述至少之一消息。 步骤 S1004, 向 OpenFlow交换机发送上述第一消息。 为了使 OpenFlow控制器及时获知 OpenFlow交换机对于调度器的支持状态, 在 OpenFlow交换机发往 OpenFlow控制器的第二消息中添加调度器表错误上报信息, 其中, 上述调度器表错误上报信息用于在根据上述配置消息对上述调度器表进行配置 发生异常时和根据上述读取消息对上述调度器表进行读取发生异常时向上述 OpenFlow 控制器上报。 其中, 上述第二消息包括但不限于: 错误上报消息, 即可以 在现有的错误上报消息中增加上述调度器表错误上报信息。 在本实施例中,还提供了一种开放流 OpenFlow网络中服务质量 QoS的实现装置, 如图 11所示, 该装置包括: 第一添加模块 1 10, 连接至发送模块 11 2, 设置为在 OpenFlow 控制器发往
OpenFlow 交换机的第一消息中添加管理信息, 其中, 上述管理信息用于对指定指令 进行以下至少之一管理: 增加、 修改、 删除, 上述指定指令用于调用调度器和将上述 报文加入上述调度器中的指定队列; 发送模块 112, 设置为向上述 OpenFlow交换机发送上述第一消息。 在优选实施例中, 如图 12所示, 还可以包括但不限于以下模块: 第二添加模块
114, 设置为在 OpenFlow交换机发往 OpenFlow控制器的第二消息中添加调度器表 错误上报信息, 其中, 上述调度器表错误上报信息用于在根据上述配置消息对上述调 度器表进行配置发生异常时和根据上述读取消息对上述调度器表进行读取发生异常时 向上述 OpenFlow控制器上报。 需要说明的是, 该模块可以应用于 OpenFlow交换机 中。 需要说明的是, 本实施例中的 "第一"和 "第二"等, 仅为区分不同特征, 并不 构成对本实施例的限定 (例如执行顺序等)。 为了更好地理解上述实施例 1, 以下结合实施例 1的优选实施例 2-4详细说明。 实施例 2 本实施例提供了一种 OpenFlow网络中实现 QoS的方法, 用于 OpenFlow交换 机, 如图 13所示, OpenFlow交换机主要实现但不限于以下两个流程: 步骤 S1302, 从入端口进入 OpenFlow交换机的报文首先进行流表匹配, 对于流 表匹配成功的报文, 执行相应流表条目中的 "排队和调度" (Scheduler Queue scheduler— id queue— id ) 指令, 该指令使用调度器标识 (Scheduler—ID ) 和队列标识 (Queue—ID )作为参数,用于调用相应的调度器并使得报文进入该调度器中的相应队 列。 每个调度器都包含一个或多个队列, 所有调度器都配置在调度器表 (Scheduler Table) 中。 OpenRow交换机的报文处理流程可以包含多级流表, 其中每一级流表都 可以对调度器进行调用。 步骤 S1304, 在报文完成流表匹配、 调用相应的调度器并使得报文进入该调度器 中的相应队列后, 调度器可以完成队列拥塞管理和队列调度功能, 而且, 调度器还可 以为其中的队列调用测量器, 测量器可以完成该队列的流量测量、 着色和监管功能。 为了实现层次化 QoS, 调度器表中的某一个调度器可以为其中的队列调用另一个 调度器, 且允许调度器的多层嵌套调用。 也就是说, 被上层调度器调用的调度器还可 以继续调用下层调度器, 以形成多层队列调度的结构。 图 14是 OpenFlow调度器表的格式图, 如图 14所示, 调度器表中可以包含多个 调度器, 每个调度器包含 "调度器标识" (Scheduler ID ) 和 "队列标识" (Queue ID) 字段, 这两个字段是流表指令调用调度器时所使用的标识, 用于保证报文进入正确的 调度器的正确的队列中; 每个调度器也包含 "下一层调度器标识" (Next Level Scheduler ID ) 字段, 该字段用于调度器中的队列调用相应的下一层调度器, 该字段 取值为 0时代表不调用任何其它调度器;每个调度器也包含"测量器标识"(Meter ID) 字段, 该字段用于调度器中的队列调用相应的测量器, 该字段取值为 0时代表不调用 任何测量器; 每个调度器还包含 "拥塞策略" (Congestion Policy ) , "调度算法" (Scheduling Algorithm ), "队列优先级" (Queue Priority) 和 "队列权重" (Queue Weight) 等队列拥塞管理和队列调度通常需要使用的参数。 本实施例还提供了一种 OpenFlow网络中实现 QoS的方法, 用于 OpenFlow控 制器和 OpenFlow交换机, 如图 15所示, 包括: 步骤 S1 502, 扩展现有 OpenFlow协议的协议消息, 在 OpenFlow控制器发往
OpenFlow交换机的 "从控制器到交换机"(Controller-to-Switch) 类型的流表配置消 息中增加对于流表中使用 "排队和调度" 指令的支持, 实现流表中 "排队和调度" 指 令的增加、 修改和删除。 扩展现有 OpenFlow协议, 在 OpenFlow控制器发往 OpenFlow交换机的 "从控 制器到交换机"(Controller-to-Switch)类型的消息中增加调度器表配置消息和调度器 表读取消息, 其中调度器表配置消息实现调度器表及其条目的增加、 修改和删除, 调 度器表读取消息实现调度器表及其条目的读取。 步骤 S1 504, 扩展现有 OpenFlow协议的协议消息, 在 OpenRow交换机发往 OpenFlow 控制器的 "异步"(Asynchronous) 类型的错误上报消息中增加调度器表 配置错误的信息和调度器表读取错误的信息, 其中调度器表配置错误的信息实现调度 器表及其条目在交换机上配置失败时的错误上报, 调度器表读取错误的信息实现调度 器表及其条目在交换机上读取失败时的错误上报。 实施例 3 本实施例中, 分配到虚拟局域网 (Virtual LAN , 简称为 VLAN ) 1 0 的用户 A (VLANJD = 10)有两个服务等级(Class of Service, 简称为 CoS) 的业务流量(分 别为 CoS = 1和 CoS = 2) 经过 OpenFlow网络, 需要在 OpenFlow交换机上完成单 层 QoS。 结合图 1 3与图 1 5所示, 本实施例中, OpenFlow网络中的 OpenFlow控制器和 OpenFlow交换机要执行如下步骤: 步骤 1, OpenFlow控制器与 OpenFlow交换机之间运行 OpenFlow协议, 由
OpenFlow控制器向 OpenFlow交换机下发流表、 测量器表与调度器表。 图 16为 OpenFlow交换机中的流表内容示意图, 如图 16所示, OpenFlow交换 机中只有一级流表, 流表中包含两个流表条目, 每个流表条目中的指令字段都包含了 "排队和调度" 指令。 图 17为 OpenRow交换机中的测量器表内容示意图, 如图 17 所示,测量器表包含两个测量器,测量器的标识分别为 101和 201。图 1 8为 OpenFlow 交换机中的调度器表内容示意图, 如图 18所示, 调度器表包含一个调度器, 调度器 的标识为 1, 这一个调度器又包含两个队列, 队列的标识分别为 1和 2。 如果出现 OpenFlow控制器向 OpenFlow交换机下发的流表、 测量器表与调度器 表在 OpenFlow交换机上配置失败的情况, OpenFlow交换机会向 OpenFlow控制器 发送相应的配置失败的错误上报消息。 步骤 2, 从入端口进入 OpenFlow 交换机的报文首先进行流表匹配, 针对匹配 (VLAN = 10, CoS = 1 ) 成功的报文执行 "排队和调度"指令 (Scheduler Queue 1 1 ),该指令调用调度器 1并使得报文进入调度器 1中的队列 1;针对匹配(VLAN = 1 0, CoS = 2) 成功的报文执行 "排队和调度"指令 (Scheduler Queue 1 2 ), 该指令调 用调度器 1并使得报文进入调度器 1中的队列 2。 步骤 3, 进入调度器 1中的队列 1 的业务流量调用测量器 1 01完成流量的测量、 着色和监管, 进入调度器 1中的队列 2的业务流量调用测量器 201完成流量的测量、 着色和监管, 然后, 调度器 1 中队列 1和队列 2的流量根据调度算法 WFQ, 按照分 别为 80%和 20%的权重完成队列调度, 当队列 1 和队列 2 发生拥塞时采用的都是 WRED的拥塞策略,队列 1的下一层调度器标识为 0表示队列 1没有调用下一层调度 器, 同样地, 队列 2也没有调用下一层调度器。 实施例 4 本实施例中, 分配到虚拟局域网 1 0的用户 A (VLANJD = 1 0) 有两个服务等级 的业务流量 (分别为 CoS = 1和 CoS = 2) 经过 OpenFlow网络, 分配到虚拟局域网 20的用户 B (VLANJD = 20)也有两个服务等级的业务流量(分别为 CoS = 1和 CoS = 2) 经过 OpenFlow网络, 需要在 OpenFlow交换机上完成层次化 QoS, 实现各用 户中不同服务等级的业务流量之间和不同用户的业务流量之间的两层调度。 结合图 1 3与图 1 5所示, 本实施例中, OpenFlow网络中的 OpenFlow控制器和
OpenFlow交换机要执行如下步骤: 步骤 1, OpenFlow控制器与 OpenFlow交换机之间运行 OpenFlow协议, 由
OpenFlow控制器向 OpenFlow交换机下发流表、 测量器表与调度器表。 图 19示出了 OpenFlow交换机中的流表内容示意图, 如图 1 9所示, OpenFlow 交换机中只有一级流表, 流表中包含四个流表条目, 每个流表条目中的指令字段都包 含了 "排队和调度"指令。 图 20为 OpenFlow交换机中的测量器表内容示意图, 如 图 20所示, 测量器表包含六个测量器, 测量器的标识分别为 101、 201、 301、 401、 501和 601。 图 21为 OpenFlow交换机中的调度器表内容示意图, 如图 21所示, 调 度器表包含三个调度器,调度器的标识分别为 1、 2和 3,其中调度器 1包含两个队列, 队列的标识分别为 1和 2, 调度器 2也包含两个队列, 队列的标识分别为 1和 2, 调 度器 3也包含两个队列, 队列的标识分别为 1和 2。 调度器 3中队列 1 的下一层调度 器标识为 1,表示队列 1调用了调度器 1;调度器 3中队列 2的下一层调度器标识为 2, 表示队列 2调用了调度器 2。 所以说, 调度器 1与调度器 2都是调度器 3的下一层调 度器。 如果出现 OpenFlow控制器向 OpenFlow交换机下发的流表、 测量器表与调度器 表在 OpenFlow交换机上配置失败的情况, OpenFlow交换机会向 OpenFlow控制器 发送相应的配置失败的错误上报消息。 步骤 2, 从入端口进入 OpenFlow 交换机的报文首先进行流表匹配, 针对匹配 (VLAN = 10, CoS = 1 )成功的报文执行 "排队和调度"指令(Scheduler Queue 1 1 ),该指令调用调度器 1并使得报文进入调度器 1中的队列 1;针对匹配(VLAN = 1 0, CoS = 2) 成功的报文执行 "排队和调度"指令 (Scheduler Queue 1 2 ), 该指令调 用调度器 1并使得报文进入调度器 1中的队列 2; 针对匹配(VLAN = 20, CoS = 1 ) 成功的报文执行 "排队和调度"指令 (Scheduler Queue 2 1 ), 该指令调用调度器 2 并使得报文进入调度器 2中的队列 1; 针对匹配 (VLAN = 20, CoS = 2) 成功的报文 执行 "排队和调度"指令 (Scheduler Queue 2 2), 该指令调用调度器 2并使得报文 进入调度器 2中的队列 2。 步骤 3, 进入调度器 1中的队列 1 的业务流量调用测量器 1 01完成流量的测量、 着色和监管, 进入调度器 1中的队列 2的业务流量调用测量器 201完成流量的测量、 着色和监管, 然后, 调度器 1 中队列 1和队列 2的流量根据调度算法 WFQ, 按照分 别为 55%和 45%的权重完成队列调度, 当队列 1 和队列 2 发生拥塞时采用的都是 WRED的拥塞策略,队列 1的下一层调度器标识为 0表示队列 1没有调用下一层调度 器, 同样地, 队列 2也没有调用下一层调度器。 进入调度器 2中的队列 1 的业务流量调用测量器 301完成流量的测量、着色和监 管, 进入调度器 2中的队列 2的业务流量调用测量器 401完成流量的测量、 着色和监 管, 然后, 调度器 2中队列 1和队列 2的流量根据调度算法 WFQ, 按照分别为 50% 和 50%的权重完成队列调度, 当队列 1和队列 2发生拥塞时采用的都是 WRED的拥 塞策略,队列 1 的下一层调度器标识为 0表示队列 1没有调用下一层调度器,同样地, 队列 2也没有调用下一层调度器。 如前上述, 调度器 1与调度器 2都是调度器 3的下一层调度器。 调度器 1完成队 列调度后的输出业务流量进入调度器 3的队列 1, 进入调度器 3的队列 1 的业务流量 调用测量器 501完成流量的测量、 着色和监管; 调度器 2完成队列调度后的输出业务 流量进入调度器 3的队列 2, 进入调度器 3的队列 2的业务流量调用测量器 601完成 流量的测量、 着色和监管。 然后, 调度器 3 中队列 1 和队列 2的流量根据调度算法 WFQ, 按照分别为 65%和 35%的权重完成队列调度, 当队列 1和队列 2发生拥塞时 采用的都是 WRED的拥塞策略。 在另外一个实施例中, 还提供了一种软件, 该软件用于执行上述实施例及优选实 施方式中描述的技术方案。 在另外一个实施例中, 还提供了一种存储介质, 该存储介质中存储有上述软件, 该存储介质包括但不限于: 光盘、 软盘、 硬盘、 可擦写存储器等。 综上所示, 本发明实施例实现了以下有益效果: 上述实施例扩展了 ONF制定的
OpenFlow交换机规范标准规定的 QoS功能的实现机制,在报文处理流程中增加了新 的报文排队和队列调度方法和步骤, 并通过扩展现有 OpenFlow协议支持上述新的排 队和队列调度方法, 克服了现有技术无法实现层次化 QoS的缺陷, 实现了单层 QoS 与层次化 QoS相统一的 OpenFlow交换机处理机制。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所 组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现, 从而, 可以 将它们存储在存储装置中由计算装置来执行, 并且在某些情况下, 可以以不同于此处 的顺序执行所示出或描述的步骤, 或者将它们分别制作成各个集成电路模块, 或者将 它们中的多个模块或步骤制作成单个集成电路模块来实现。 这样, 本发明不限制于任 何特定的硬件和软件结合。 以上仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技术人 员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的任何 修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。 工业实用性 采用本发明提供的上述技术方案, 可以应用于开放流 OpenFlow 网络中服务质量 QoS的实现过程中, 对流表匹配成功的报文执行用于调用调度器和将所述报文加入所 述调度器中指定队列的指令的技术手段,解决了相关技术中, OpenFlow交换机无法实 现层次化 QoS等技术问题, 从而使得 OpenFlow交换机既能实现单层 QoS, 又能实现 层次化 QoS。

Claims

权 利 要 求 书
1. 一种开放流 OpenFlow网络中服务质量 QoS的实现方法, 包括:
对进入 OpenFlow交换机的报文, 在流表匹配成功时, 执行用于调用调度 器和将所述报文加入所述调度器中指定队列的指令;
在所述指令的触发下, 通过所述调度器进行队列调度管理。
2. 根据权利要求 1所述的方法, 其中, 执行用于调用调度器和将所述报文加入所 述调度器中指定队列的指令, 包括:
执行所述报文匹配的流表条目中的所述指令。
3. 根据权利要求 1所述的方法, 其中, 执行用于调用调度器和将所述报文加入所 述调度器中指定队列的指令, 包括:
根据所述指令中携带的调度器标识调用调度器列表中与所述调度器标识对 应的指定调度器;
根据所述指令中携带的队列标识将所述报文加入到所述指定调度器中与所 述队列标识对应的队列。
4. 根据权利要求 1至 3任一项所述的方法, 其中, 所述调度器中还包括: 下一层 调度器标识, 其中, 该下一层调度器标识用于所述调度器中的队列调用下一层 调度器。
5. 一种开放流 OpenFlow网络中服务质量 QoS的实现方法, 包括:
在 OpenFlow控制器发往 OpenFlow交换机的第一消息中添加管理信息,其 中, 所述管理信息用于对指定指令进行以下至少之一管理: 增加、 修改、删除, 所述指定指令用于调用调度器和将所述报文加入所述调度器中的指定队列; 向所述 OpenFlow交换机发送所述第一消息。
6. 根据权利要求 5所述的方法, 其中, 所述第一消息包括: 流表配置消息。
7. 根据权利要求 5所述的方法, 其中, 还包括:
所述 OpenFlow控制器向所述 OpenFlow交换机发送以下至少之一消息:对 所述调度器所属调度器列表的配置消息和读取消息, 其中, 所述配置消息用于 对所述调度器表及所述调度器表中的条目进行以下至少之一管理:增加、修改、 删除; 所述读取消息用于读取所述调度器表和所述条目。
8. 根据权利要求 7所述的方法, 其中, 还包括: 在所述 OpenFlow交换机发往 OpenFlow控制器的第二消息中添加调度器表 错误上报信息, 其中, 所述调度器表错误上报信息用于在根据所述配置消息对 所述调度器表进行配置发生异常时和根据所述读取消息对所述调度器表进行读 取发生异常时向所述 OpenFlow控制器上报。
9. 根据权利要求 8所述的方法, 其中, 所述第二消息包括: 错误上报消息。
10. 一种开放流 OpenFlow网络中服务质量 QoS的实现装置, 包括:
执行模块, 设置为对进入 OpenFlow交换机的报文, 在流表匹配成功时, 执行用于调用调度器和将所述报文加入所述调度器中指定队列的指令;
管理模块, 设置为在所述指令的触发下, 通过所述调度器进行队列调度管 理。
11. 根据权利要求 10所述的装置, 其中, 所述执行模块, 设置为执行所述报文匹配 的流表条目中的所述指令。
12. 根据权利要求 10或 11所述的装置, 其中, 所述执行模块, 还设置为在所述调 度器中包括以下内容时执行所述指令:
下一层调度器标识, 其中, 该下一层调度器标识用于所述调度器中的队列 调用下一层调度器。
13. 一种开放流 OpenFlow网络中服务质量 QoS的实现装置, 包括:
第一添加模块,设置为在 OpenFlow控制器发往 OpenFlow交换机的第一消 息中添加管理信息, 其中, 所述管理信息用于对指定指令进行以下至少之一管 理: 增加、 修改、 删除, 所述指定指令用于调用调度器和将所述报文加入所述 调度器中的指定队列;
发送模块, 设置为向所述 OpenFlow交换机发送所述第一消息。
14. 根据权利要求 13所述的装置, 其中, 还包括:
第二添加模块,设置为在所述 OpenFlow交换机发往 OpenFlow控制器的第 二消息中添加调度器表错误上报信息, 其中, 所述调度器表错误上报信息用于 在根据所述配置消息对所述调度器表进行配置发生异常时和根据所述读取消息 对所述调度器表进行读取发生异常时向所述 OpenFlow控制器上报。
PCT/CN2014/075382 2013-07-31 2014-04-15 OPENFLOW网络中QoS的实现方法及装置 WO2015014133A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP14832684.6A EP3029896B1 (en) 2013-07-31 2014-04-15 Qos implementation method, apparatus and system in openflow network
US14/909,199 US10554570B2 (en) 2013-07-31 2014-04-15 Method and device for implementing QoS in OpenFlow network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310330279.5 2013-07-31
CN201310330279.5A CN104348750B (zh) 2013-07-31 2013-07-31 OpenFlow网络中QoS的实现方法及装置

Publications (1)

Publication Number Publication Date
WO2015014133A1 true WO2015014133A1 (zh) 2015-02-05

Family

ID=52430944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/075382 WO2015014133A1 (zh) 2013-07-31 2014-04-15 OPENFLOW网络中QoS的实现方法及装置

Country Status (4)

Country Link
US (1) US10554570B2 (zh)
EP (1) EP3029896B1 (zh)
CN (1) CN104348750B (zh)
WO (1) WO2015014133A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109155753A (zh) * 2016-03-18 2019-01-04 华为技术有限公司 用于移动网络中的可编程缓存区的方法和设备
EP3435605A4 (en) * 2016-04-22 2019-04-03 Huawei Technologies Co., Ltd. POWER SUPPLY, CONTROL DEVICE, SERVICE MANAGEMENT PROCESS, AND TRAFFIC MANAGEMENT CHIP

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929334B (zh) * 2013-01-11 2018-02-23 华为技术有限公司 网络异常通知方法和装置
EP3503479B1 (en) * 2014-04-16 2020-09-23 Huawei Technologies Co., Ltd. Flow entry management method and device
JP6492112B2 (ja) * 2014-06-26 2019-03-27 華為技術有限公司Huawei Technologies Co.,Ltd. ソフトウェア定義ネットワーク化のためのサービス品質制御方法及びデバイス
US9571412B2 (en) * 2014-11-21 2017-02-14 Cavium, Inc. Systems and methods for hardware accelerated timer implementation for openflow protocol
US9813362B2 (en) 2014-12-16 2017-11-07 Oracle International Corporation Framework for scheduling packets with multiple destinations in a virtual output queue network switch
US10270713B2 (en) * 2014-12-16 2019-04-23 Oracle International Corporation Scheduling packets with multiple destinations in a virtual output queue network switch
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US10432511B2 (en) * 2015-03-12 2019-10-01 Nec Corporation Method for forwarding data in a network, forwarding element for forwarding data, and a network for forwarding data
CN104836745B (zh) * 2015-05-08 2017-12-12 中国人民解放军61600部队 一种基于单向传输设备的网络层隧道化方法
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
CN105357036A (zh) * 2015-10-21 2016-02-24 盛科网络(苏州)有限公司 一种模拟面向对象化的QoS验证模型及验证方法
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
CN108449279B (zh) * 2016-12-13 2021-10-26 中国移动通信有限公司研究院 拥塞控制方法及装置
CN106685849B (zh) * 2016-12-22 2020-11-27 台州市吉吉知识产权运营有限公司 基于sdn的wred报文丢弃方法及系统
US11245572B1 (en) 2017-01-31 2022-02-08 Barefoot Networks, Inc. Messaging between remote controller and forwarding element
US10757028B1 (en) 2017-04-23 2020-08-25 Barefoot Networks, Inc. Configurable forwarding element deparser
CN109150752B (zh) * 2017-06-16 2023-02-10 华为技术有限公司 缓存控制方法、网元及控制器
US10826840B1 (en) 2017-07-23 2020-11-03 Barefoot Networks, Inc. Multiple copies of stateful tables
US10594630B1 (en) 2017-09-28 2020-03-17 Barefoot Networks, Inc. Expansion of packet data within processing pipeline
CN109672615B (zh) * 2017-10-17 2022-06-14 华为技术有限公司 数据报文缓存方法及装置
US10686714B2 (en) * 2018-04-27 2020-06-16 Avago Technologies International Sales Pte. Limited Traffic management for high-bandwidth switching
CN110708253B (zh) 2018-07-09 2023-05-12 华为技术有限公司 一种报文控制方法、流表更新方法和节点设备
US10771399B2 (en) * 2018-07-30 2020-09-08 Intel Corporation Quality of service-aware processing of decoding tasks
CN109768927B (zh) * 2019-01-31 2021-04-27 新华三技术有限公司 一种HQoS实现方法及装置
CN109660461B (zh) * 2019-01-31 2021-04-27 新华三技术有限公司 一种HQoS实现方法及装置
CN109831389A (zh) * 2019-03-14 2019-05-31 山东浪潮云信息技术有限公司 一种基于OpenFlow流量统计的负载均衡调度方法
CN112152865B (zh) * 2019-06-27 2023-06-27 中兴通讯股份有限公司 一种网络性能测量装置及方法
CN112995056B (zh) * 2019-12-16 2023-09-15 中兴通讯股份有限公司 一种流量调度方法、电子设备及存储介质
US11516135B2 (en) * 2020-01-19 2022-11-29 Mellanox Technologies, Ltd. Global policers
US20210288910A1 (en) * 2020-11-17 2021-09-16 Intel Corporation Network interface device with support for hierarchical quality of service (qos)
CN113472570B (zh) * 2021-06-26 2024-02-02 华北电力大学 一种面向电力通信的时延敏感前传网流量调度方法
WO2023012948A1 (ja) * 2021-08-04 2023-02-09 日本電信電話株式会社 通信装置、通信システム、及び通信方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075971A (zh) * 2007-07-16 2007-11-21 中兴通讯股份有限公司 一种层次化QoS的实现方法
CN101478475A (zh) * 2008-11-21 2009-07-08 中兴通讯股份有限公司 一种HQoS技术在T-MPLS网络中的实现方法
CN101667974A (zh) * 2009-10-12 2010-03-10 中兴通讯股份有限公司 一种实现分层服务质量的方法及网络处理器
CN102185777A (zh) * 2011-05-11 2011-09-14 烽火通信科技股份有限公司 多级层次化带宽管理的方法
CN102868645A (zh) * 2012-09-26 2013-01-09 盛科网络(苏州)有限公司 Openflow交换机系统及其报文处理方法
CN102957629A (zh) * 2011-08-30 2013-03-06 华为技术有限公司 队列管理的方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998045976A2 (en) * 1997-04-04 1998-10-15 Ascend Communications, Inc. Hierarchical packet scheduling method and apparatus
CN100531203C (zh) * 2005-06-09 2009-08-19 中兴通讯股份有限公司 一种在多协议标签交换协议中保证服务质量的方法
CN1968186A (zh) * 2006-06-19 2007-05-23 华为技术有限公司 一种调度报文发送的装置及方法
CN100466619C (zh) * 2006-09-05 2009-03-04 华为技术有限公司 一种接入业务服务质量的控制装置及其方法
US8869150B2 (en) * 2010-05-18 2014-10-21 Lsi Corporation Local messaging in a scheduling hierarchy in a traffic manager of a network processor
US9253098B2 (en) * 2011-03-07 2016-02-02 Nec Europe Ltd. Method for operating an openflow switch within a network, an openflow switch and a network
US8560663B2 (en) * 2011-09-30 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing
KR102087226B1 (ko) * 2013-02-14 2020-03-10 삼성전자주식회사 다수의 사업자 지원을 위한 sdn 기반의 네트워크 공유 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075971A (zh) * 2007-07-16 2007-11-21 中兴通讯股份有限公司 一种层次化QoS的实现方法
CN101478475A (zh) * 2008-11-21 2009-07-08 中兴通讯股份有限公司 一种HQoS技术在T-MPLS网络中的实现方法
CN101667974A (zh) * 2009-10-12 2010-03-10 中兴通讯股份有限公司 一种实现分层服务质量的方法及网络处理器
CN102185777A (zh) * 2011-05-11 2011-09-14 烽火通信科技股份有限公司 多级层次化带宽管理的方法
CN102957629A (zh) * 2011-08-30 2013-03-06 华为技术有限公司 队列管理的方法和装置
CN102868645A (zh) * 2012-09-26 2013-01-09 盛科网络(苏州)有限公司 Openflow交换机系统及其报文处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3029896A4 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109155753A (zh) * 2016-03-18 2019-01-04 华为技术有限公司 用于移动网络中的可编程缓存区的方法和设备
EP3412007A4 (en) * 2016-03-18 2019-03-13 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR PROGRAMMABLE BUFFERS IN MOBILE NETWORKS
US10645009B2 (en) 2016-03-18 2020-05-05 Futurewei Technologies, Inc. Method and apparatus for programmable buffers in mobile networks
CN109155753B (zh) * 2016-03-18 2021-01-29 华为技术有限公司 用于移动网络中的可编程缓存区的方法和设备
EP3435605A4 (en) * 2016-04-22 2019-04-03 Huawei Technologies Co., Ltd. POWER SUPPLY, CONTROL DEVICE, SERVICE MANAGEMENT PROCESS, AND TRAFFIC MANAGEMENT CHIP
US10715456B2 (en) 2016-04-22 2020-07-14 Huawei Technologies Co., Ltd. Network device, controller, queue management method, and traffic management chip
US11265258B2 (en) 2016-04-22 2022-03-01 Huawei Technologies Co., Ltd. Network device, controller, queue management method, and traffic management chip

Also Published As

Publication number Publication date
US20160191406A1 (en) 2016-06-30
US10554570B2 (en) 2020-02-04
EP3029896B1 (en) 2019-07-24
CN104348750A (zh) 2015-02-11
CN104348750B (zh) 2019-07-26
EP3029896A1 (en) 2016-06-08
EP3029896A4 (en) 2016-10-05

Similar Documents

Publication Publication Date Title
WO2015014133A1 (zh) OPENFLOW网络中QoS的实现方法及装置
WO2014173367A2 (zh) 实现QoS的方法、系统、设备及计算机存储介质
US7675926B2 (en) Hierarchical QoS behavioral model
US7621162B2 (en) Hierarchical flow-characterizing multiplexor
EP2302843B1 (en) Method and device for packet scheduling
US20110317708A1 (en) Quality of service control for mpls user access
CN101692648B (zh) 一种队列调度方法及系统
CN113852567B (zh) 面向多模态业务流的公平性调度装置及方法
JP6756070B2 (ja) パケット交換ネットワーク内のネットワークノードにおけるトラフィック管理のための方法およびネットワークノード
JP2006506845A (ja) ルータにおけるパケットに対し論理リンクを選択する方法
CN101815032A (zh) 基于一体化网络安全服务架构的信息分类隔离方法
WO2016082603A1 (zh) 一种调度器及调度器的动态复用方法
WO2014201934A1 (zh) 报文调度方法和装置
Addanki et al. Moving a step forward in the quest for Deterministic Networks (DetNet)
CN110417656A (zh) 一种基于sdn网络的服务质量保障系统以及方法
DomŻał et al. Efficient and reliable transmission in Flow-Aware Networks—An integrated approach based on SDN concept
Wadekar Enhanced ethernet for data center: Reliable, channelized and robust
Domżał et al. Efficient congestion control mechanism for flow‐aware networks
WO2020238875A1 (zh) 确定端口属性的方法和装置
Domżał et al. Click-based tests of QoS mechanisms for flow-based router
KR100453825B1 (ko) Ip망에서 큐오에스 제공을 위한 자원 관리 방법
WO2024016327A1 (zh) 报文传输
Irazabal et al. TC-RAN: A programmable Traffic Control Service Model for 5G/6G SD-RAN
Janowski et al. On assuring QoS in Ethernet access network
JP2006020027A (ja) 通信フロー制御方法、システム、装置及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14832684

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2014832684

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14909199

Country of ref document: US