WO2016206492A1 - Flow processing method and device - Google Patents

Flow processing method and device Download PDF

Info

Publication number
WO2016206492A1
WO2016206492A1 PCT/CN2016/081759 CN2016081759W WO2016206492A1 WO 2016206492 A1 WO2016206492 A1 WO 2016206492A1 CN 2016081759 W CN2016081759 W CN 2016081759W WO 2016206492 A1 WO2016206492 A1 WO 2016206492A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream
metering
rate
type
queue
Prior art date
Application number
PCT/CN2016/081759
Other languages
French (fr)
Chinese (zh)
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 中兴通讯股份有限公司
Publication of WO2016206492A1 publication Critical patent/WO2016206492A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based

Definitions

  • the present application relates to, but is not limited to, the field of communications, and in particular, to a stream processing method, apparatus, and extended metering tape type.
  • OpenFlow is an exchange technology. OpenFlow version 1.3 (v1.3) adds a meter (Meter Table). Among them, one meter contains several meter items, and one item defines a meter. Each meter enables OpenFlow to implement some simple Quality of Service (QoS) services, and can combine each port queue to achieve more complex QoS.
  • QoS Quality of Service
  • the flow table can be processed by the meter Meter_id to transfer the data stream to the meter labeled meter_id.
  • Each meter entry may have one or more Meter Bands, each metering configured with a corresponding rate and how the specified data is processed.
  • Each meter measures the rate of the data stream assigned to it, and then according to the measurement rate, selects a metering band with the highest configuration rate among the metering bands whose configuration rate is lower than the measurement rate, and processes the data stream. If the current measurement rate is lower than any configured metering rate, then the meter has no operation.
  • the metering band uses only two optional metering tape types: drop and differentiated service code point remark (DSCP remark).
  • the drop type metering band will discard the data packet and can be used to define the bandwidth rate limit.
  • the DSCP remark type metering band can reduce the differentiated service code point (DSCP) in the Internet Protocol (IP) header of the data packet.
  • IP Internet Protocol
  • the priority of the field drop can be used to define a simple differential strategy.
  • the OpenFlow switch port can set the queue.
  • a forwarding port can be configured with multiple queues. Each queue can be configured with a maximum rate (max_rate), a minimum rate (min_rate), etc., and can be configured through OF-Config (OpenFlow Configuration).
  • OF-Config is an auxiliary protocol of OpenFlow, which is used to configure and manage network device resources.
  • the flow table directive can add a Set-queue action to the action set, ie to specify The queue (labeled as queue_id) forwards the data.
  • the data is forwarded to the specified queue (labeled queue_id) of the specified port (labeled port) by the enqueue action.
  • This paper provides a stream processing method, device, and extended metering band type to solve at least the problem that the related technology cannot guarantee the quality of service of the multicast service.
  • the embodiment of the invention provides a stream processing method, including:
  • the type includes: an inbound queue request, the inbound queue request is used to indicate a port to which the corresponding rate stream is to be joined, and a queue of the port;
  • the flow through the metering belt is processed according to the type of metering belt.
  • the inbound queue application includes at least: a configuration rate of the flow, a port corresponding to the configured rate of the flow, and a queue of the port corresponding to the configured rate of the flow.
  • the type further includes at least one of the following: discard, differential service code point DSCP re-marking.
  • the method before processing the stream passing through the metering tape according to the type of the plurality of metering strips, the method further includes:
  • the preset DSCP value of the stream is used to indicate content of the stream, where the content includes at least: video, audio, text.
  • processing the flow through the metering band according to the type of the metering band includes:
  • a stream having a second rate in the stream is added to the second metering strip and the stream passing through the second metering strip is processed according to the type of the second metering strip.
  • processing, according to the type of the first metering tape, the flow through the first metering tape comprises:
  • the stream having the first rate is added to the first queue of the first port.
  • processing the flow through the second metering band according to the type of the second metering tape comprises:
  • first rate is less than the second rate.
  • processing the flow through the metering band according to the type of the metering band includes:
  • the stream having the third rate is added to the third queue of the third port.
  • processing the flow through the metering band according to the type of the metering band includes:
  • the stream having the fourth rate is added to the fourth queue of the fourth port.
  • the embodiment of the invention further provides a computer readable storage medium storing computer executable instructions, which are implemented when the computer executable instructions are executed.
  • the embodiment of the invention further provides a stream processing device, comprising:
  • the first configuration module is configured to: receive a configuration of a type of a metering band in the OpenFlow protocol meter, where the type includes: an inbound queue request, where the inbound queue request is used to indicate a port to which the corresponding rate stream is to be joined a queue of the port;
  • the first processing module is configured to process the flow passing through the metering belt according to the type of the metering belt.
  • the inbound queue application includes at least: a configuration rate of the flow, a port corresponding to the configured rate of the flow, and a queue of the port corresponding to the configured rate of the flow.
  • the type further includes at least one of the following: discard, differential service code point DSCP re-marking.
  • the device further includes:
  • a second configuration module configured to: receive a configuration of the flow table, where the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added;
  • a second processing module configured to: add the flow with a preset DSCP value to the meter according to the configuration of the convection table, wherein the flow with the preset DSCP value is in the convection
  • the configuration of the table is configured to be added to the meter.
  • the preset DSCP value of the stream is used to indicate content of the stream, where the content includes at least: video, audio, text.
  • the first processing module includes:
  • a first processing unit configured to: when the preset DSCP value indicates that the content of the stream is a video, add a stream having the first rate in the stream to the first metering band, and according to the first Measuring the type of the belt, processing the stream passing through the first metering belt;
  • a second processing unit configured to: when the preset DSCP value indicates that the content of the stream is a video, add a stream having a second rate in the stream to a second metering band, and according to the second The type of metering belt is processed for the flow through the second metering belt.
  • the first processing unit is configured to: when the type of the first metering band is an inbound request, add the stream having the first rate to the first queue of the first port.
  • the second processing unit is configured to: when the type of the second metering band is an inbound request, add a stream having the second rate to a second queue of the second port; In the case where the second metering band is of a discard type, the stream having the second rate is discarded, wherein the first rate is less than the second rate.
  • the first processing module further includes:
  • a third processing unit configured to: when the preset DSCP value indicates that the content of the stream is audio, add a stream having a third rate in the stream to the third metering band; When the type of the three metering bands is an inbound queue application, the stream having the third rate is added to the third queue of the third port.
  • the first processing module further includes:
  • a fourth processing unit configured to: when the preset DSCP value indicates that the content of the stream is text, add a stream having a fourth rate in the stream to the fourth metering band; In the case that the type of the four metering bands is an inbound queue application, the stream having the fourth rate is added to the fourth queue of the fourth port.
  • the embodiment of the present invention further provides an extended metering tape type, and the metering tape type includes the following parameters: a configuration rate (rate), an enqueue action number (enqueue_number), a port number (port), and a queue number (queue_id).
  • the metering strap type is used to indicate that the metering strap transfers data to a corresponding queue of one or more ports depending on the rate of the stream.
  • the embodiment of the present invention adopts a configuration for receiving a type of a metering band in an OpenFlow protocol meter, where the type includes: an inbound queue application, and the inbound queue application is used to indicate a queue of ports and ports to which the corresponding rate stream is to be added;
  • the type of the metering belt solves the problem that the related technology cannot guarantee the service quality of the multicast service and the service quality of the multicast service is ensured.
  • FIG. 1 is a flow chart of a stream processing method according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the structure of a stream processing apparatus according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram showing an alternative structure of a stream processing apparatus according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of an OpenFlow implementation multicast QoS system in accordance with an alternative embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a simple OpenFlow multicast network topology according to an alternative embodiment of the present invention.
  • FIG. 6 is a flow diagram of a QoS guarantee implementation in accordance with an alternate embodiment of the present invention.
  • the embodiment of the present invention provides an extended metering tape type, and the metering tape type includes the following parameters: a configuration rate rate, an enqueue action number enqueue_number, a port number port, and a queue number queue_id; the extended metering band type is used to indicate the metering Bring data to a corresponding queue of one or more ports based on the rate of the flow.
  • FIG. 1 is a flowchart of a flow processing method according to an embodiment of the present invention. As shown in FIG. 1 , the flow includes the following steps:
  • Step S102 Receive a configuration of a type of a metering band in an OpenFlow protocol meter, where the type includes: an inbound queue request, and the inbound queue application is used to indicate a queue of ports and ports to which the corresponding rate stream is to be added;
  • step S104 the stream passing through the metering belt is processed according to the type of the metering belt.
  • the inbound queue application type is adopted in the metering band, so that the metering band can forward the flow through the metering band according to the rate to the corresponding port and port queue, so that streams of different rates can respectively achieve respective requirements.
  • QoS requirements In this way, differentiated QoS requirements can be implemented for streams of different rates entering the same meter in the multicast service; compared to the related art, the stream passing through the metering band cannot be further processed according to the rate of the stream (only drop or DSCP remark can be performed ), through the above steps, solved the related technology can not guarantee the multicast service
  • the quality of service issues guarantees the quality of service for multicast services.
  • the items configured in the queue request may include at least: a configuration rate of the flow, a port corresponding to the configured rate of the flow, and a queue of the port corresponding to the configured rate of the flow.
  • a configuration rate of the flow for a meter, there may be one or more metering bands.
  • the configuration rate of the configured stream, the port corresponding to the configured rate of the stream, and the stream may be required.
  • the queues for these ports can be configured with the lowest rate and can be configured with the highest rate.
  • a queue with a minimum rate of 100 kbps can guarantee its QoS.
  • a queue with a minimum rate of 500 kbps can guarantee its QoS, but it may cause waste of resources and occupy a relatively high-speed queue. Therefore, when the flow is added to the metering band according to the rate for processing, it enters the metering band corresponding to the minimum configuration rate in the configuration rate that can satisfy the rate requirement of the stream.
  • the type of the metering band may further include at least one of the following: drop, DSCP remark. That is, when the above method is applied, the metering band in the meter can also implement the QoS guarantee of the stream in combination with the drop and DSCP remark types.
  • video, audio, and text content may be included; and the streams of the content have respective characteristics.
  • the video stream rate is large, and the rate of change is also large.
  • the DSCP value of the IP packet header can be passed when the stream is encapsulated by the multicast source. Mark the contents of the stream. In this way, the stream can enter different meters depending on the DSCP value (ie, the content of the stream) and can be processed by metering bands in different meters.
  • the configuration of the flow table may be received, where the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added; and the flow with the preset DSCP value may be added to the meter according to the configuration of the flow table, Among them, the stream with the preset DSCP value can be configured to be added to the meter in the configuration of the convection table.
  • the preset DSCP value of the stream may be used to indicate the content of the stream, where the content may at least include: video, audio, text.
  • the content of the stream may at least include: video, audio, text.
  • the corresponding DSCP value may be used for marking, thereby entering different measurement. With differentiated processing.
  • processing the flow through the metering band may include:
  • a stream having a second rate in the stream is added to the second metering strip and the stream passing through the second metering strip is processed according to the type of the second metering strip.
  • processing the stream passing through the first metering band according to the type of the first metering tape may include:
  • the stream having the first rate is added to the first queue of the first port.
  • processing the stream passing through the second metering zone according to the type of the second metering tape may include:
  • the speed limit of the video stream can be achieved by combining the metering bands of the discard type.
  • processing the stream passing the metering band according to the type of the metering band may include:
  • the stream having the third rate is added to the third queue of the third port.
  • processing the stream passing through the metering band according to the type of the metering band may include:
  • the stream having the fourth rate is added to the fourth queue of the fourth port.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course Can be through hardware.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in a form of a software product stored in a storage medium (such as a read-only memory (Read- Only Memory (referred to as ROM) / random access memory (RAM), disk, CD-ROM, including a number of instructions to make a terminal device (can be a mobile phone, computer, server, or network) The device or the like) performs the method described in the embodiments of the present invention.
  • ROM read-only memory
  • RAM random access memory
  • the embodiment of the invention further provides a computer readable storage medium storing computer executable instructions, which are implemented when the computer executable instructions are executed.
  • a flow processing device is further provided, which is configured to implement the above-mentioned embodiments and optional embodiments, and has not been described again.
  • the term “module” may implement a combination of software and/or hardware of a predetermined function.
  • the devices described in the following embodiments may alternatively be implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 2 is a structural block diagram of a stream processing apparatus according to an embodiment of the present invention. As shown in FIG. 2, the apparatus includes: a first configuration module 22 and a first processing module 24, where
  • the first configuration module 22 is configured to: receive a configuration of a type of the metering band in the OpenFlow protocol meter, and the type includes: an inbound queue application, and the inbound queue application is used to indicate a port of the port and the port to which the corresponding rate stream is to be added;
  • the first processing module 24, coupled to the first configuration module 22, is configured to process the stream passing through the metering band according to the type of metering tape.
  • the inbound queue application may include at least: a configuration rate of the flow, a port corresponding to the configured rate of the flow, and a queue of the port corresponding to the configured rate of the flow.
  • the type may also include at least one of the following: discard, differential service code point re-marking.
  • FIG. 3 is a schematic diagram of an optional structure of a stream processing apparatus according to an embodiment of the present invention. As shown in FIG. 3, optionally, the apparatus further includes:
  • the second configuration module 32 is configured to: receive a configuration of the flow table, where the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added;
  • the second processing module 34 is coupled to the second configuration module 32, and configured to: add a flow having a preset DSCP value to the meter according to the configuration of the flow table, wherein the flow with the preset DSCP value is configured in the flow table It is configured to be added to the meter.
  • the preset DSCP value of the stream may be used to indicate the content of the stream, wherein the content may at least include: video, audio, text.
  • the first processing module 24 can include:
  • the first processing unit 241 is configured to: when the preset DSCP value indicates that the content of the stream is video, add the stream having the first rate in the stream to the first metering band, and pass the channel according to the type of the first metering band. The flow of the first metering belt is processed;
  • the second processing unit 242 is configured to: when the preset DSCP value indicates that the content of the stream is video, add the stream with the second rate in the stream to the second metering band, and pass the channel according to the type of the second metering band. The stream of the second metering zone is processed.
  • the first processing unit 241 is configured to: when the type of the first metering band is an inbound request, add the stream with the first rate to the first queue of the first port.
  • the second processing unit 242 is configured to: when the type of the second metering band is an inbound request, add the stream having the second rate to the second queue of the second port; and in the second metering band In the case of the type of discarding, the stream having the second rate is discarded, wherein the first rate is less than the second rate.
  • the first processing module 24 may further include:
  • the third processing unit 243 is configured to: when the preset DSCP value indicates that the content of the stream is audio, add the stream with the third rate in the stream to the third metering band; and the type of the third metering band is the queue request In the case, the stream having the third rate is added to the third queue of the third port.
  • the first processing module 24 may further include:
  • the fourth processing unit 244 is configured to: when the preset DSCP value indicates that the content of the stream is text, add the stream having the fourth rate in the stream to the fourth metering band; and the type of the fourth metering band is the queue request In the case, the stream having the fourth rate is added to the fourth queue of the fourth port.
  • the foregoing modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the modules are located in multiple In the processor.
  • the embodiment of the present invention further provides a software for executing the technical solutions described in the foregoing embodiments and optional implementation manners.
  • the embodiment of the invention further provides a storage medium.
  • the storage medium may be configured to store program code for performing the following steps:
  • Step S1 Receive a configuration of a type of a metering band in an OpenFlow protocol meter, where the type includes: an inbound queue request, and the inbound queue application is used to indicate a port of the port and the port to which the corresponding rate stream is to be added;
  • step S2 the flow passing through the metering belt is processed according to the type of the metering belt.
  • the foregoing storage medium may include, but is not limited to, a USB flash drive, a Read-Only Memory (ROM), and a Random Access Memory (RAM).
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • An optional embodiment of the present invention provides a multicast flow differential service mechanism based on an OpenFlow meter, and implements a multicast flow differential service mechanism by using an OpenFlow meter and a port queue.
  • a differential service model (Diff-Serv) is used to perform QoS guarantee for different content of the multicast.
  • the differential service generally sets different DSCP values in the Type of Service (ToS) field of the IP header to distinguish different content streams, and then executes different service policies for different content streams.
  • ToS Type of Service
  • OpenFlow network increases the flexibility and scalability of network management. Therefore, it is very flexible to use OpenFlow to identify content streams. It is very manageable for resource policy configuration of switches and helps to achieve More complex and detailed differential services.
  • the optional embodiment of the present invention can extend the meter of the OpenFlow protocol in the related art, and add a type of band type (Band Type).
  • Band Type a type of band type
  • Enqueue apply, which performs one or more enqueue actions.
  • Meters built with this type of metering band allow streams of different rates to enter different queues of the multicast port.
  • the optional embodiment of the present invention may design a multicast management module and a QoS guarantee module on the OpenFlow controller.
  • the multicast management module may be configured to: manage multicast group members, establish a multicast tree, and send a corresponding multicast identification flow table to the switch, and provide multicast of each switch to the QoS module according to the multicast tree structure. Forward port information.
  • the QoS guarantee module may be configured to: establish a content identification flow table and a corresponding meter, and configure a corresponding port queue through OF-Config.
  • Different content streams can be distinguished by different DSCP values in the content identification flow table; multiple meters can be established in the meter to implement different QoS guarantees; and/or, different characteristics can be different according to different content streams.
  • the content stream implements different QoS policies.
  • the optional embodiment of the present invention may separately establish a corresponding meter and port queue to ensure bandwidth.
  • the rate of the video stream can be divided into multiple levels, and then each level of the multicast forwarding port is configured with a corresponding port with a minimum rate. Queue, and then establish a meter with a plurality of metering bands of the enqueue apply type, and send the video streams with the rate of each level to the corresponding queues of the multicast ports respectively, so as to ensure the smooth flow of the video stream of each level. transmission.
  • This can avoid low-speed streams occupying high-bandwidth resources, thus saving network bandwidth.
  • the change is also small, so that the rate grading may not be performed. They can all have only one rate, and only need to create a queue with the lowest rate on each multicast port. Then, a meter that only has one metering band of the enqueue apply type can be separately established for the two content streams, and the two streams are respectively sent to the corresponding queues of the multicast ports to ensure smooth transmission.
  • the optional embodiment of the present invention extends the meter of the OpenFlow protocol, and adds a new metering type enqueue apply.
  • the meter established by using the metering band can make the data stream enter different queues according to different rates.
  • the optional embodiment of the present invention can design two modules of multicast management and QoS guarantee on the OpenFlow controller to be responsible for data multicast and content QoS guarantee respectively. Then, each content stream can be implemented with an extended metering band and port queue A more detailed differential service can reduce network bandwidth overhead while ensuring smooth transmission.
  • the OpenFlow metering band in the related art is first expanded, and a new metering type enqueue apply is added. Then, two modules of multicast management and multicast QoS are designed on the OpenFlow controller to be responsible for data multicast and content QoS guarantee respectively. Then use the enqueue apply metering band to design the corresponding meter for different content to realize the detailed multicast stream difference service.
  • the following describes the method provided by the optional embodiment of the present invention by using the video, audio, and text stream differential services in a simple network topology as an example.
  • the network topology may be more complicated and the data content is divided. It may vary depending on the circumstances, however, these different application scenarios may be applied by alternative embodiments of the present invention.
  • the above metering band enqueue apply type defined in the optional embodiment of the present invention may be a type "Optional" type.
  • the metering band can perform one or more enqueue actions, and the parameters of the metering band can include a corresponding configuration rate, an enqueue_number, a port number, and a queue number (queue_id).
  • the metering band can transfer data to a corresponding queue of one or more ports based on the flow rate.
  • the execution pseudo code for this metering band is as follows:
  • Data stream after processing the gauge is: when 0 ⁇ b kbps, it will enter the p through the flow rate of the metering belt a port queues q 11 and p queues q 2 port 21; when the flow rate exceeds b kbps, p 1 will enter the port queue queues q 12 and q 2 p port 22.
  • FIG. 4 is a block diagram of an OpenFlow implementation multicast QoS system according to an alternative embodiment of the present invention, As shown in FIG. 4, in order to implement multicast QoS guarantee, an optional embodiment of the present invention can design two modules on the controller: a multicast management module and a QoS guarantee module, where:
  • the multicast management module is configured to: manage multicast group members, establish a multicast tree, and deliver a corresponding multicast identification flow table (ie, flow table 0) to the switch, and provide each switch group to the QoS module according to the multicast tree structure. Broadcast forwarding port.
  • the QoS guarantee module is configured to: establish a content identification flow table (flow table 1) and a corresponding meter, and configure a corresponding port queue through OF-Config.
  • the QoS guarantee module will establish a corresponding meter in the meter according to the selected QoS policy.
  • the flow table 0 can be established by the multicast management module and sent to the switch for the multicast identification of the switch.
  • the flow table 1 can be established by the QoS guarantee module and sent to the switch for distinguishing and identifying different content streams.
  • the QoS guarantee module goes to the corresponding meter in the meter for processing; the meter can be established by the QoS guarantee module and delivered to the switch, and can include multiple meters to implement different QoS guarantees, for example, by each meter.
  • the execution process of data entering the OpenFlow switch includes the following steps:
  • Step S401 after the data stream enters the OpenFlow switch, it will enter the pipeline and perform matching in the flow table 0, and the corresponding instruction of the successfully matched flow entry will be executed, that is, the flow table 1 is transferred.
  • step S402 the data stream continues to match in the flow table 1 to identify the content of the stream, and after the matching is successful, the data is transferred to the corresponding meter.
  • step S403 after the data stream enters the corresponding meter, the meter selects the metering band whose configuration rate is lower than the current rate of the current rate, and the processing manner may include: drop, DSCP remark, and enqueue apply.
  • the enqueue_apply metering band forwards the data stream to the specified queue on the specified port.
  • step S404 the data is forwarded to and out of the port through the queue, and the queue is configured with a corresponding maximum or minimum rate to limit or guarantee the rate of the flow.
  • FIG. 5 is a schematic diagram of a simple OpenFlow multicast network topology according to an alternative embodiment of the present invention.
  • a multimedia access control (MAC) address of a multicast source is 00:00:00:00:00: 00
  • the user datagram (UDP) port number used by multicast is 100.
  • the invention can An optional embodiment may be configured to establish a multicast management module in the OpenFlow controller, which is configured to: manage the joining of multicast group members, establish a multicast tree, and establish and deliver a multicast identification flow table for the corresponding switch, and provide the QoS module with the QoS module.
  • the multicast forwarding port of each switch As shown in Figure 5, the steps of the process include:
  • step S501 when a multicast application needs to be established, the multicast group member sends an application to the multicast management module of the OpenFlow controller, and the multicast management module in the OpenFlow controller manages the group members.
  • Step S502 The multicast group management module establishes a multicast tree for the multicast according to the network topology, the link state, and the selected spanning tree algorithm, and the thick black line in FIG. 5 indicates the multicast tree.
  • Step S503 After the multicast tree is established, the multicast management module establishes and delivers a corresponding multicast identification flow table, that is, a flow table, for each switch according to the multicast source MAC address, the UDP port, and the port of the multicast tree entering and leaving the switch. 0.
  • the multicast identification flow table established by switch 1 can be as shown in Table 2:
  • Step S504 the multicast management module further needs to provide a multicast forwarding port of each switch to the QoS module according to the multicast tree structure.
  • the multicast out port of switch 1 can be port 3 and port 4.
  • the module needs to provide this information to the QoS module, and the QoS module will use this information to assist in establishing the corresponding enqueue_apply type metering band.
  • FIG. 6 is a flow chart of a QoS guarantee implementation, QoS guarantee mode, in accordance with an alternative embodiment of the present invention.
  • the block will establish a corresponding flow table 1 and meter according to the selected QoS guarantee policy, and configure the corresponding port queue in combination with OF-Config.
  • the differential service model DiffServ
  • DiffServ can be used to differentially serve the transmission of video, audio, text, and the like of a multicast-based application. Therefore, different content streams need to be identified, as shown in FIG.
  • the process includes the following steps:
  • the DSCP value of the ToS field in the IP header is used to indicate different contents by setting different DSCP values.
  • a multicast source encapsulates a data packet, it sets different DSCP values for different contents.
  • the DSCP values of text, audio, video, and other format contents can be set to 4, 3, 2, and 1, respectively.
  • Step S602 in order to identify different content streams, the QoS guarantee module needs to establish a corresponding flow table 1 to identify different content streams. Since different content sets different DSCP values, different content streams can be identified by matching the IP_DSCP value. After the matching is successful, the corresponding meter is transferred to implement the corresponding QoS guarantee.
  • the content identification flow table can be as shown in Table 3:
  • the data stream When the DSCP value of the data stream is 2, the data stream will be transferred to the meter 2 for processing; when the DSCP value is 3, the meter 3 will be processed; when the DSCP value is 4, the meter 4 will be processed.
  • Different meters will be designed according to different service strategies to achieve differentiated services for different content streams.
  • the design of the content recognition flow table is described above, and the content streams of different video, audio and text are separately identified.
  • the QoS module After receiving the multicast forwarding port information of each switch provided by the multicast management module, the QoS module needs to design corresponding meters for each content flow and configure corresponding port queues. In order to achieve smooth content transmission, bandwidth protection can be performed for each content stream.
  • the content rate may be hierarchically divided, a corresponding queue is set, and a corresponding meter is established. Steps S603 to S605 are explained below by taking a video stream as an example:
  • Step S603 dividing the video rate into two according to the characteristics of the video rate and the granularity of the division.
  • the rate can be divided into three levels: 0 to 100 kbps, 100 to 500 kbps, and 500 to 1000 kbps.
  • a corresponding queue is established for each level of the multicast forwarding port by the OF-Config protocol, and a corresponding minimum rate is set for each queue.
  • three queues can be set for each multicast forwarding port.
  • Step S605 using the enqueue apply metering band to establish a corresponding meter, such as the meter with a Meter id of 2 in Table 4 (ie, meter 2):
  • video streams of different rate rates can be adjusted into different queues for each multicast port.
  • the rate of the video stream is between 0 and 100 kbps
  • the queue 1 of the port 3 and the queue 2 of the port 4 have a maximum forwarding rate of 100 kbps, which can ensure smooth transmission;
  • the rate is 100-500 kbps
  • it enters queue 3 of port 3 and queue 4 of port 4.
  • the rate is 500-1000 kbps
  • it enters queue 5 of port 3 and queue 6 of port 4.
  • the rate When the rate is reduced until the low-speed queue can meet its requirements, it is forwarded to the low-speed queue to avoid the waste of resources caused by the low-speed stream occupying the high-speed queue.
  • the meter will discard the data to achieve the purpose of limiting the rate of the stream.
  • the rate limit of the meter 2 in Table 4 is 1000 kbps, and if it is greater than 1000 kbps, the data is discarded.
  • the transmission rate of the audio stream and the text stream is relatively small and the change is small. Therefore, the rate can be not graded, and there is only one level rate. Only one queue is set up on each multicast port, and the queue is set to the minimum. rate. Then, a meter that only has one metering band of the enqueue apply type can be separately established for the two content streams, and the two streams are respectively sent to the corresponding queues of the multicast ports to ensure smooth transmission.
  • a meter 3 is then established in the meter, containing only one enqueue apply type metering band configured at a rate of 0 kbps, through which the audio stream is forwarded to queue 7 of port 3 and queue 8 of port 4.
  • all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
  • the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
  • the device/function module/functional unit in the above embodiment When the device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the embodiment of the present invention adopts a configuration for receiving a type of a metering band in an OpenFlow protocol meter, where the type includes: an inbound queue application, and the inbound queue application is used to indicate a queue of ports and ports to which the corresponding rate stream is to be added;
  • the type of the metering belt solves the problem that the related technology cannot guarantee the service quality of the multicast service and the service quality of the multicast service is ensured.

Abstract

A flow processing method comprises: receiving a configuration for the type of a meter band in an OpenFlow protocol meter, wherein the type comprises an enqueue application indicating a port that a flow having a corresponding rate is to be added and a port queue; and processing, according to the type of the meter band, a flow passing through the meter band.

Description

流处理方法和装置Stream processing method and device 技术领域Technical field
本申请涉及但不限于通信领域,尤其涉及一种流处理方法、装置以及扩展的计量带类型。The present application relates to, but is not limited to, the field of communications, and in particular, to a stream processing method, apparatus, and extended metering tape type.
背景技术Background technique
OpenFlow(开放流)是一种交换技术。OpenFlow版本1.3(v1.3)增加了计量表(Meter Table)。其中,一个计量表包含若干计量表项,一个表项定义了一个计量器。每个计量器可以使OpenFlow实现一些简单的服务质量(Quality of Service,简称为QoS)业务,并且可以结合每个端口队列来实现更复杂的QoS。OpenFlow is an exchange technology. OpenFlow version 1.3 (v1.3) adds a meter (Meter Table). Among them, one meter contains several meter items, and one item defines a meter. Each meter enables OpenFlow to implement some simple Quality of Service (QoS) services, and can combine each port queue to achieve more complex QoS.
流表可以通过指令Meter meter_id将数据流转入到标号为meter_id的计量器进行处理。The flow table can be processed by the meter Meter_id to transfer the data stream to the meter labeled meter_id.
每个计量表项可能有一个或多个计量带(Meter Band),每个计量带配置相应的速率和指定数据被处理的方式。每个计量器测量出指定给它的数据流的速率,然后根据测量速率,在配置速率低于该测量速率的计量带中选取一个配置速率最高的计量带,对数据流进行处理。如果当前的测量速率比任何配置的计量带速率都低,那么计量器就无任何操作。Each meter entry may have one or more Meter Bands, each metering configured with a corresponding rate and how the specified data is processed. Each meter measures the rate of the data stream assigned to it, and then according to the measurement rate, selects a metering band with the highest configuration rate among the metering bands whose configuration rate is lower than the measurement rate, and processes the data stream. If the current measurement rate is lower than any configured metering rate, then the meter has no operation.
目前,计量带只用两种可选的(optional)计量带类型:丢弃(drop)和差分服务代码点重标记(Differentiated Services Code Point remark,简称为DSCP remark)。其中,drop类型的计量带将丢弃数据包,可以用来定义带宽速率限制;DSCP remark类型的计量带可以减少数据包的因特网协议(IP)头中的差分服务代码点(Differentiated Services Code Point,DSCP)字段丢弃的优先级,可用于定义一个简单的差分策略。Currently, the metering band uses only two optional metering tape types: drop and differentiated service code point remark (DSCP remark). The drop type metering band will discard the data packet and can be used to define the bandwidth rate limit. The DSCP remark type metering band can reduce the differentiated service code point (DSCP) in the Internet Protocol (IP) header of the data packet. The priority of the field drop can be used to define a simple differential strategy.
同时,OpenFlow交换机端口可以设置队列。一个转发端口可以设置多个队列,每个队列可以配置最大速率(max_rate)、最小速率(min_rate)等,可以通过OF-Config(开放流配置)来进行配置。其中,OF-Config是OpenFlow的一个辅助协议,用来配置和管理网络设备资源。在OpenFlow v1.3中,流表指令可以向动作集之中添加设置队列(Set-queue)动作,即向指定 队列(标号为queue_id)转发数据,在OpenFlow版本1.0(v1.0)中,则通过入队列(enqueue)动作,向指定端口(标号为port)的指定队列(标号为queue_id)转发数据。At the same time, the OpenFlow switch port can set the queue. A forwarding port can be configured with multiple queues. Each queue can be configured with a maximum rate (max_rate), a minimum rate (min_rate), etc., and can be configured through OF-Config (OpenFlow Configuration). Among them, OF-Config is an auxiliary protocol of OpenFlow, which is used to configure and manage network device resources. In OpenFlow v1.3, the flow table directive can add a Set-queue action to the action set, ie to specify The queue (labeled as queue_id) forwards the data. In OpenFlow version 1.0 (v1.0), the data is forwarded to the specified queue (labeled queue_id) of the specified port (labeled port) by the enqueue action.
研究过程中发现,随着网络技术和多媒体技术的高速发展,音/视频会议、视频点播、多人游戏、协同工作和远程教学等基于组播的应用不断出现,对组播的服务质量需求也越来越强烈。然而,一个组播应用中可能同时存在多种形式的内容流,如视频、音频、文本等,不同的内容流的数据量大小、对数据完整性的要求等不同。During the research, it was found that with the rapid development of network technology and multimedia technology, multicast-based applications such as audio/video conferencing, video on demand, multiplayer games, collaborative work and distance learning continue to emerge, and the quality of service requirements for multicast is also More and more intense. However, in a multicast application, multiple forms of content streams may exist at the same time, such as video, audio, text, etc., and the data volume size and data integrity requirements of different content streams are different.
针对相关技术无法保障组播业务的服务质量的问题,目前尚未提出有效的解决方案。In view of the problem that the related technologies cannot guarantee the quality of service of the multicast service, an effective solution has not been proposed yet.
发明内容Summary of the invention
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。The following is an overview of the topics detailed in this document. This Summary is not intended to limit the scope of the claims.
本文提供了一种流处理方法、装置以及扩展的计量带类型,以至少解决相关技术无法保障组播业务的服务质量的问题。This paper provides a stream processing method, device, and extended metering band type to solve at least the problem that the related technology cannot guarantee the quality of service of the multicast service.
本发明实施例提供了一种流处理方法,包括:The embodiment of the invention provides a stream processing method, including:
接收对OpenFlow协议计量器中计量带的类型的配置,其中,所述类型包括:入队列申请,所述入队列申请用于指示对应速率的流要加入的端口和所述端口的队列;Receiving a configuration of a type of the metering band in the OpenFlow protocol meter, wherein the type includes: an inbound queue request, the inbound queue request is used to indicate a port to which the corresponding rate stream is to be joined, and a queue of the port;
根据所述计量带的类型,对通过所述计量带的流进行处理。The flow through the metering belt is processed according to the type of metering belt.
可选地,所述入队列申请至少包括:流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队列。Optionally, the inbound queue application includes at least: a configuration rate of the flow, a port corresponding to the configured rate of the flow, and a queue of the port corresponding to the configured rate of the flow.
可选地,所述类型还包括以下至少之一:丢弃、差分服务代码点DSCP重标记。Optionally, the type further includes at least one of the following: discard, differential service code point DSCP re-marking.
可选地,在根据所述多个计量带的类型,对通过所述计量带的流进行处理之前,所述方法还包括:Optionally, before processing the stream passing through the metering tape according to the type of the plurality of metering strips, the method further includes:
接收对流表的配置,其中,所述对流表的配置用于指示具有对应DSCP值的流要加入的计量器; Receiving a configuration of the flow table, wherein the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added;
根据所述对流表的配置,将具有预设DSCP值的所述流加入所述计量器中,其中,所述具有预设DSCP值的所述流在所述对流表的配置中被配置为要加入所述计量器。Adding, according to the configuration of the convection table, the flow with a preset DSCP value to the meter, wherein the flow with a preset DSCP value is configured in the configuration of the convection table to be The meter is added.
可选地,所述流的所述预设DSCP值用于指示所述流的内容,其中,所述内容至少包括:视频、音频、文本。Optionally, the preset DSCP value of the stream is used to indicate content of the stream, where the content includes at least: video, audio, text.
可选地,在所述预设DSCP值指示所述流的内容为视频的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括:Optionally, if the preset DSCP value indicates that the content of the flow is a video, processing the flow through the metering band according to the type of the metering band includes:
将所述流中具有第一速率的流加入第一计量带,并根据所述第一计量带的类型,对通过所述第一计量带的流进行处理;Adding a stream having a first rate in the stream to a first metering belt, and processing a stream passing through the first metering belt according to a type of the first metering belt;
将所述流中具有第二速率的流加入第二计量带,并根据所述第二计量带的类型,对通过所述第二计量带的流进行处理。A stream having a second rate in the stream is added to the second metering strip and the stream passing through the second metering strip is processed according to the type of the second metering strip.
可选地,根据所述第一计量带的类型,对通过所述第一计量带的流进行处理包括:Optionally, processing, according to the type of the first metering tape, the flow through the first metering tape comprises:
在所述第一计量带的类型为入队列申请的情况下,将具有所述第一速率的流加入第一端口的第一队列。In the case that the type of the first metering band is an inbound request, the stream having the first rate is added to the first queue of the first port.
可选地,根据所述第二计量带的类型,对通过所述第二计量带的流进行处理包括:Optionally, processing the flow through the second metering band according to the type of the second metering tape comprises:
在所述第二计量带的类型为入队列申请的情况下,将具有所述第二速率的流加入第二端口的第二队列;When the type of the second metering band is an inbound request, adding the stream having the second rate to the second queue of the second port;
在所述第二计量带的类型为丢弃的情况下,将具有所述第二速率的流丢弃;And discarding the stream having the second rate if the type of the second metering strip is discarded;
其中,所述第一速率小于所述第二速率。Wherein the first rate is less than the second rate.
可选地,在所述预设DSCP值指示所述流的内容为音频的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括:Optionally, if the preset DSCP value indicates that the content of the flow is audio, processing the flow through the metering band according to the type of the metering band includes:
将所述流中具有第三速率的流加入所述第三计量带;Adding a stream having a third rate in the stream to the third metering zone;
在所述第三计量带的类型为入队列申请的情况下,将具有所述第三速率的流加入第三端口的第三队列。In the case that the type of the third metering band is an inbound request, the stream having the third rate is added to the third queue of the third port.
可选地,在所述预设DSCP值指示所述流的内容为文本的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括: Optionally, if the preset DSCP value indicates that the content of the flow is text, processing the flow through the metering band according to the type of the metering band includes:
将所述流中具有第四速率的流加入所述第四计量带;Adding a stream having a fourth rate in the stream to the fourth metering zone;
在所述第四计量带的类型为入队列申请的情况下,将具有所述第四速率的流加入第四端口的第四队列。In the case that the type of the fourth metering band is an inbound request, the stream having the fourth rate is added to the fourth queue of the fourth port.
本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述流处理方法。The embodiment of the invention further provides a computer readable storage medium storing computer executable instructions, which are implemented when the computer executable instructions are executed.
本发明实施例还提供了一种流处理装置,包括:The embodiment of the invention further provides a stream processing device, comprising:
第一配置模块,设置为:接收对OpenFlow协议计量器中计量带的类型的配置,其中,所述类型包括:入队列申请,所述入队列申请用于指示对应速率的流要加入的端口和所述端口的队列;The first configuration module is configured to: receive a configuration of a type of a metering band in the OpenFlow protocol meter, where the type includes: an inbound queue request, where the inbound queue request is used to indicate a port to which the corresponding rate stream is to be joined a queue of the port;
第一处理模块,设置为:根据所述计量带的类型,对通过所述计量带的流进行处理。The first processing module is configured to process the flow passing through the metering belt according to the type of the metering belt.
可选地,所述入队列申请至少包括:流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队列。Optionally, the inbound queue application includes at least: a configuration rate of the flow, a port corresponding to the configured rate of the flow, and a queue of the port corresponding to the configured rate of the flow.
可选地,所述类型还包括以下至少之一:丢弃、差分服务代码点DSCP重标记。Optionally, the type further includes at least one of the following: discard, differential service code point DSCP re-marking.
可选地,所述装置还包括:Optionally, the device further includes:
第二配置模块,设置为:接收对流表的配置,其中,所述对流表的配置用于指示具有对应DSCP值的流要加入的计量器;a second configuration module, configured to: receive a configuration of the flow table, where the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added;
第二处理模块,设置为:根据所述对流表的配置,将具有预设DSCP值的所述流加入所述计量器中,其中,所述具有预设DSCP值的所述流在所述对流表的配置中被配置为要加入所述计量器。a second processing module, configured to: add the flow with a preset DSCP value to the meter according to the configuration of the convection table, wherein the flow with the preset DSCP value is in the convection The configuration of the table is configured to be added to the meter.
可选地,所述流的所述预设DSCP值用于指示所述流的内容,其中,所述内容至少包括:视频、音频、文本。Optionally, the preset DSCP value of the stream is used to indicate content of the stream, where the content includes at least: video, audio, text.
可选地,所述第一处理模块包括:Optionally, the first processing module includes:
第一处理单元,设置为:在所述预设DSCP值指示所述流的内容为视频的情况下,将所述流中具有第一速率的流加入第一计量带,并根据所述第一计量带的类型,对通过所述第一计量带的流进行处理;a first processing unit, configured to: when the preset DSCP value indicates that the content of the stream is a video, add a stream having the first rate in the stream to the first metering band, and according to the first Measuring the type of the belt, processing the stream passing through the first metering belt;
第二处理单元,设置为:在所述预设DSCP值指示所述流的内容为视频的情况下,将所述流中具有第二速率的流加入第二计量带,并根据所述第二 计量带的类型,对通过所述第二计量带的流进行处理。a second processing unit, configured to: when the preset DSCP value indicates that the content of the stream is a video, add a stream having a second rate in the stream to a second metering band, and according to the second The type of metering belt is processed for the flow through the second metering belt.
可选地,所述第一处理单元是设置为:在所述第一计量带的类型为入队列申请的情况下,将具有所述第一速率的流加入第一端口的第一队列。Optionally, the first processing unit is configured to: when the type of the first metering band is an inbound request, add the stream having the first rate to the first queue of the first port.
可选地,所述第二处理单元是设置为:在所述第二计量带的类型为入队列申请的情况下,将具有所述第二速率的流加入第二端口的第二队列;以及在所述第二计量带的类型为丢弃的情况下,将具有所述第二速率的流丢弃,其中,所述第一速率小于所述第二速率。Optionally, the second processing unit is configured to: when the type of the second metering band is an inbound request, add a stream having the second rate to a second queue of the second port; In the case where the second metering band is of a discard type, the stream having the second rate is discarded, wherein the first rate is less than the second rate.
可选地,所述第一处理模块还包括:Optionally, the first processing module further includes:
第三处理单元,设置为:在所述预设DSCP值指示所述流的内容为音频的情况下,将所述流中具有第三速率的流加入所述第三计量带;在所述第三计量带的类型为入队列申请的情况下,将具有所述第三速率的流加入第三端口的第三队列。a third processing unit, configured to: when the preset DSCP value indicates that the content of the stream is audio, add a stream having a third rate in the stream to the third metering band; When the type of the three metering bands is an inbound queue application, the stream having the third rate is added to the third queue of the third port.
可选地,所述第一处理模块还包括:Optionally, the first processing module further includes:
第四处理单元,设置为:在所述预设DSCP值指示所述流的内容为文本的情况下,将所述流中具有第四速率的流加入所述第四计量带;在所述第四计量带的类型为入队列申请的情况下,将具有所述第四速率的流加入第四端口的第四队列。a fourth processing unit, configured to: when the preset DSCP value indicates that the content of the stream is text, add a stream having a fourth rate in the stream to the fourth metering band; In the case that the type of the four metering bands is an inbound queue application, the stream having the fourth rate is added to the fourth queue of the fourth port.
本发明实施例还提供了一种扩展的计量带类型,所述计量带类型包括下列参数:配置速率(rate)、入队列动作个数(enqueue_number)、端口号(port)及队列号(queue_id);其中,所述计量带类型用于指示计量带根据流的速率将数据转入一个或多个端口的相应队列。The embodiment of the present invention further provides an extended metering tape type, and the metering tape type includes the following parameters: a configuration rate (rate), an enqueue action number (enqueue_number), a port number (port), and a queue number (queue_id). Wherein the metering strap type is used to indicate that the metering strap transfers data to a corresponding queue of one or more ports depending on the rate of the stream.
通过本发明实施例,采用接收对OpenFlow协议计量器中计量带的类型的配置,其中,类型包括:入队列申请,入队列申请用于指示对应速率的流要加入的端口和端口的队列;根据计量带的类型,对通过计量带的流进行处理的方式,解决了相关技术无法保障组播业务的服务质量的问题,保障了组播业务的服务质量。The embodiment of the present invention adopts a configuration for receiving a type of a metering band in an OpenFlow protocol meter, where the type includes: an inbound queue application, and the inbound queue application is used to indicate a queue of ports and ports to which the corresponding rate stream is to be added; The type of the metering belt solves the problem that the related technology cannot guarantee the service quality of the multicast service and the service quality of the multicast service is ensured.
在阅读并理解了附图和详细描述后,可以明白其他方面。Other aspects will be apparent upon reading and understanding the drawings and detailed description.
附图概述 BRIEF abstract
图1是根据本发明实施例的流处理方法的流程图;1 is a flow chart of a stream processing method according to an embodiment of the present invention;
图2是根据本发明实施例的流处理装置的结构框图;2 is a block diagram showing the structure of a stream processing apparatus according to an embodiment of the present invention;
图3是根据本发明实施例的流处理装置的可选结构示意图;3 is a schematic diagram showing an alternative structure of a stream processing apparatus according to an embodiment of the present invention;
图4是根据本发明可选实施例的OpenFlow实施组播QoS系统框架图;4 is a block diagram of an OpenFlow implementation multicast QoS system in accordance with an alternative embodiment of the present invention;
图5是根据本发明可选实施例的简易的OpenFlow组播网络拓扑示意图;5 is a schematic diagram of a simple OpenFlow multicast network topology according to an alternative embodiment of the present invention;
图6是根据本发明可选实施例的QoS保障实施的流程图。6 is a flow diagram of a QoS guarantee implementation in accordance with an alternate embodiment of the present invention.
本发明的较佳实施方式Preferred embodiment of the invention
下面结合附图对本发明的实施方式进行描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。Embodiments of the present invention will be described below with reference to the accompanying drawings. It should be noted that the embodiments in the present application and the various manners in the embodiments may be combined with each other without conflict.
需要说明的是,本文中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that the terms "first", "second" and the like are used herein to distinguish similar objects, and are not necessarily used to describe a particular order or order.
本发明实施例提供了一种扩展的计量带类型,计量带类型包括下列参数:配置速率rate、入队列动作个数enqueue_number、端口号port及队列号queue_id;该扩展的计量带类型用于指示计量带根据流的速率将数据转入一个或多个端口的相应队列。The embodiment of the present invention provides an extended metering tape type, and the metering tape type includes the following parameters: a configuration rate rate, an enqueue action number enqueue_number, a port number port, and a queue number queue_id; the extended metering band type is used to indicate the metering Bring data to a corresponding queue of one or more ports based on the rate of the flow.
本实施例还提供了一种流处理方法,图1是根据本发明实施例的流处理方法的流程图,如图1所示,该流程包括如下步骤:The embodiment also provides a flow processing method. FIG. 1 is a flowchart of a flow processing method according to an embodiment of the present invention. As shown in FIG. 1 , the flow includes the following steps:
步骤S102,接收对OpenFlow协议计量器中计量带的类型的配置,其中,类型包括:入队列申请,入队列申请用于指示对应速率的流要加入的端口和端口的队列;Step S102: Receive a configuration of a type of a metering band in an OpenFlow protocol meter, where the type includes: an inbound queue request, and the inbound queue application is used to indicate a queue of ports and ports to which the corresponding rate stream is to be added;
步骤S104,根据计量带的类型,对通过计量带的流进行处理。In step S104, the stream passing through the metering belt is processed according to the type of the metering belt.
通过上述步骤,在计量带中采用入队列申请类型,使得计量带可以将通过该计量带的流根据速率转发流至对应的端口及端口的队列,从而使得不同速率的流可以分别实现各自需求的QoS要求。这样,对于组播业务中进入相同计量器的不同速率的流可以实现差异化的QoS要求;相对于相关技术中无法根据流的速率对通过计量带的流进一步处理(只能进行drop或者DSCP remark)的方式,通过上述步骤,解决了相关技术无法保障组播业务 的服务质量的问题,保障了组播业务的服务质量。Through the above steps, the inbound queue application type is adopted in the metering band, so that the metering band can forward the flow through the metering band according to the rate to the corresponding port and port queue, so that streams of different rates can respectively achieve respective requirements. QoS requirements. In this way, differentiated QoS requirements can be implemented for streams of different rates entering the same meter in the multicast service; compared to the related art, the stream passing through the metering band cannot be further processed according to the rate of the stream (only drop or DSCP remark can be performed ), through the above steps, solved the related technology can not guarantee the multicast service The quality of service issues guarantees the quality of service for multicast services.
可选地,入队列申请中配置的项目至少可包括:流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队列。例如,对于一个计量器而言,可以有一个或者多个计量带,在计量带被配置为入队列申请类型时,可以需要配置流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队列。从而使得对应速率的流可以分别进入相应的计量带,进而加入对应的端口的队列中进行处理。这些端口的队列可以配置有最低速率,还可以配置有最高速率。例如对于0~100kbps的流,进入最低速率为100kbps的队列即可保障其QoS。此外,虽然对于0~100kbps的流,进入最低速率为500kbps的队列也可以保障其QoS,但可能造成资源的浪费,并且占用较高速的队列。因此,流在根据速率加入计量带进行处理时,进入配置速率中能够满足该流的速率要求的最小配置速率所对应的计量带进行处理。Optionally, the items configured in the queue request may include at least: a configuration rate of the flow, a port corresponding to the configured rate of the flow, and a queue of the port corresponding to the configured rate of the flow. For example, for a meter, there may be one or more metering bands. When the metering band is configured as a queued request type, the configuration rate of the configured stream, the port corresponding to the configured rate of the stream, and the stream may be required. Configure the queue of the port corresponding to the rate. Therefore, the streams of the corresponding rate can be respectively entered into the corresponding metering bands, and then added to the queue of the corresponding port for processing. The queues for these ports can be configured with the lowest rate and can be configured with the highest rate. For example, for a stream of 0 to 100 kbps, a queue with a minimum rate of 100 kbps can guarantee its QoS. In addition, although for a stream of 0 to 100 kbps, a queue with a minimum rate of 500 kbps can guarantee its QoS, but it may cause waste of resources and occupy a relatively high-speed queue. Therefore, when the flow is added to the metering band according to the rate for processing, it enters the metering band corresponding to the minimum configuration rate in the configuration rate that can satisfy the rate requirement of the stream.
可选地,计量带的类型还可以包括以下至少之一:drop、DSCP remark。即在应用上述方法时,计量器中计量带还可以结合drop、DSCP remark类型实现流的QoS保障。Optionally, the type of the metering band may further include at least one of the following: drop, DSCP remark. That is, when the above method is applied, the metering band in the meter can also implement the QoS guarantee of the stream in combination with the drop and DSCP remark types.
可选地,在组播业务中,可包含视频、音频、文本内容;而这些内容的流具有各自的特征。例如,视频流速率较大,速率的变化范围也大;为了对不同内容的流进行差异化的QoS保障,在本发明实施例中可通过在组播源封装流时,通过IP包头的DSCP值对流的内容进行标记。这样,流可以根据DSCP值的不同(也即流的内容的不同)进入不同的计量器,进而可被不同的计量器中的计量带处理。例如,可接收对流表的配置,其中,对流表的配置用于指示具有对应DSCP值的流要加入的计量器;可根据对流表的配置,将具有预设DSCP值的流加入计量器中,其中,具有预设DSCP值的流在对流表的配置中可被配置为要加入计量器。Optionally, in the multicast service, video, audio, and text content may be included; and the streams of the content have respective characteristics. For example, the video stream rate is large, and the rate of change is also large. In order to differentiate the QoS of different content streams, in the embodiment of the present invention, the DSCP value of the IP packet header can be passed when the stream is encapsulated by the multicast source. Mark the contents of the stream. In this way, the stream can enter different meters depending on the DSCP value (ie, the content of the stream) and can be processed by metering bands in different meters. For example, the configuration of the flow table may be received, where the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added; and the flow with the preset DSCP value may be added to the meter according to the configuration of the flow table, Among them, the stream with the preset DSCP value can be configured to be added to the meter in the configuration of the convection table.
可选地,上述流的预设DSCP值可以用于指示流的内容,其中,内容至少可包括:视频、音频、文本。在本发明实施例中并不限于上述三种内容;在流的内容导致流的速率、流的速率的变化呈现一定特征的情况下,可以采用对应的DSCP值进行标记,进而可进入不同的计量带进行差异化的处理。Optionally, the preset DSCP value of the stream may be used to indicate the content of the stream, where the content may at least include: video, audio, text. In the embodiment of the present invention, it is not limited to the above three contents; in the case that the content of the stream causes a change in the rate of the stream and the rate of the stream to exhibit certain characteristics, the corresponding DSCP value may be used for marking, thereby entering different measurement. With differentiated processing.
可选地,在预设DSCP值指示流的内容为视频的情况下,根据计量带的 类型,对通过计量带的流进行处理可包括:Optionally, in the case that the preset DSCP value indicates that the content of the stream is a video, according to the metering band Type, processing the flow through the metering band may include:
将流中具有第一速率的流加入第一计量带,并根据第一计量带的类型,对通过第一计量带的流进行处理;Adding a stream having a first rate in the stream to the first metering belt, and processing the stream passing through the first metering belt according to the type of the first metering belt;
将流中具有第二速率的流加入第二计量带,并根据第二计量带的类型,对通过第二计量带的流进行处理。A stream having a second rate in the stream is added to the second metering strip and the stream passing through the second metering strip is processed according to the type of the second metering strip.
可选地,根据第一计量带的类型,对通过第一计量带的流进行处理可包括:Optionally, processing the stream passing through the first metering band according to the type of the first metering tape may include:
在第一计量带的类型为入队列申请的情况下,将具有第一速率的流加入第一端口的第一队列。In the case that the type of the first metering band is an inbound request, the stream having the first rate is added to the first queue of the first port.
可选地,根据第二计量带的类型,对通过第二计量带的流进行处理可包括:Optionally, processing the stream passing through the second metering zone according to the type of the second metering tape may include:
在第二计量带的类型为入队列申请的情况下,将具有第二速率的流加入第二端口的第二队列;When the type of the second metering band is an inbound request, adding the stream with the second rate to the second queue of the second port;
在第二计量带的类型为丢弃的情况下,将具有第二速率的流丢弃;When the type of the second metering band is discarded, the stream having the second rate is discarded;
其中,第一速率小于第二速率。通过结合丢弃类型的计量带,可以实现视频流的限速。Wherein the first rate is less than the second rate. The speed limit of the video stream can be achieved by combining the metering bands of the discard type.
可选地,在预设DSCP值指示流的内容为音频的情况下,根据计量带的类型,对通过计量带的流进行处理可包括:Optionally, in a case that the preset DSCP value indicates that the content of the stream is audio, processing the stream passing the metering band according to the type of the metering band may include:
将流中具有第三速率的流加入第三计量带;Adding a stream having a third rate in the stream to the third metering zone;
在第三计量带的类型为入队列申请的情况下,将具有第三速率的流加入第三端口的第三队列。In the case where the type of the third metering band is an inbound request, the stream having the third rate is added to the third queue of the third port.
可选地,在预设DSCP值指示流的内容为文本的情况下,根据计量带的类型,对通过计量带的流进行处理可包括:Optionally, in a case that the preset DSCP value indicates that the content of the stream is text, processing the stream passing through the metering band according to the type of the metering band may include:
将流中具有第四速率的流加入第四计量带;Adding a stream having a fourth rate in the stream to the fourth metering zone;
在第四计量带的类型为入队列申请的情况下,将具有第四速率的流加入第四端口的第四队列。In the case where the type of the fourth metering band is an inbound request, the stream having the fourth rate is added to the fourth queue of the fourth port.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也 可以通过硬件。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read-Only Memory,简称为ROM)/随机存取存储器(random access memory,简称为RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course Can be through hardware. Based on such understanding, the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in a form of a software product stored in a storage medium (such as a read-only memory (Read- Only Memory (referred to as ROM) / random access memory (RAM), disk, CD-ROM, including a number of instructions to make a terminal device (can be a mobile phone, computer, server, or network) The device or the like) performs the method described in the embodiments of the present invention.
本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述流处理方法。The embodiment of the invention further provides a computer readable storage medium storing computer executable instructions, which are implemented when the computer executable instructions are executed.
在本实施例中还提供了一种流处理装置,该装置设置为:实现上述实施例及可选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置可选地可以软件来实现,但是硬件、或者软件和硬件的组合的实现也是可能并被构想的。In the embodiment, a flow processing device is further provided, which is configured to implement the above-mentioned embodiments and optional embodiments, and has not been described again. As used below, the term "module" may implement a combination of software and/or hardware of a predetermined function. Although the devices described in the following embodiments may alternatively be implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
图2是根据本发明实施例的流处理装置的结构框图,如图2所示,该装置包括:第一配置模块22和第一处理模块24,其中,2 is a structural block diagram of a stream processing apparatus according to an embodiment of the present invention. As shown in FIG. 2, the apparatus includes: a first configuration module 22 and a first processing module 24, where
第一配置模块22,设置为:接收对OpenFlow协议计量器中计量带的类型的配置,类型包括:入队列申请,入队列申请用于指示对应速率的流要加入的端口和端口的队列;The first configuration module 22 is configured to: receive a configuration of a type of the metering band in the OpenFlow protocol meter, and the type includes: an inbound queue application, and the inbound queue application is used to indicate a port of the port and the port to which the corresponding rate stream is to be added;
第一处理模块24,耦合至第一配置模块22,设置为:根据计量带的类型,对通过计量带的流进行处理。The first processing module 24, coupled to the first configuration module 22, is configured to process the stream passing through the metering band according to the type of metering tape.
通过上述模块的综合作用,解决了相关技术无法保障组播业务的服务质量的问题,保障了组播业务的服务质量。Through the comprehensive function of the above modules, the problem that the related technologies cannot guarantee the service quality of the multicast service is solved, and the service quality of the multicast service is guaranteed.
可选地,入队列申请至少可包括:流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队列。Optionally, the inbound queue application may include at least: a configuration rate of the flow, a port corresponding to the configured rate of the flow, and a queue of the port corresponding to the configured rate of the flow.
可选地,类型还可包括以下至少之一:丢弃、差分服务代码点重标记。Optionally, the type may also include at least one of the following: discard, differential service code point re-marking.
图3是根据本发明实施例的流处理装置的可选结构示意图,如图3所示,可选地,该装置还包括:FIG. 3 is a schematic diagram of an optional structure of a stream processing apparatus according to an embodiment of the present invention. As shown in FIG. 3, optionally, the apparatus further includes:
第二配置模块32,设置为:接收对流表的配置,其中,对流表的配置用于指示具有对应DSCP值的流要加入的计量器; The second configuration module 32 is configured to: receive a configuration of the flow table, where the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added;
第二处理模块34,耦合至第二配置模块32,设置为:根据对流表的配置,将具有预设DSCP值的流加入计量器中,其中,具有预设DSCP值的流在对流表的配置中被配置为要加入计量器。The second processing module 34 is coupled to the second configuration module 32, and configured to: add a flow having a preset DSCP value to the meter according to the configuration of the flow table, wherein the flow with the preset DSCP value is configured in the flow table It is configured to be added to the meter.
可选地,流的预设DSCP值可用于指示流的内容,其中,内容至少可包括:视频、音频、文本。Optionally, the preset DSCP value of the stream may be used to indicate the content of the stream, wherein the content may at least include: video, audio, text.
可选地,第一处理模块24可包括:Optionally, the first processing module 24 can include:
第一处理单元241,设置为:在预设DSCP值指示流的内容为视频的情况下,将流中具有第一速率的流加入第一计量带,并根据第一计量带的类型,对通过第一计量带的流进行处理;The first processing unit 241 is configured to: when the preset DSCP value indicates that the content of the stream is video, add the stream having the first rate in the stream to the first metering band, and pass the channel according to the type of the first metering band. The flow of the first metering belt is processed;
第二处理单元242,设置为:在预设DSCP值指示流的内容为视频的情况下,将流中具有第二速率的流加入第二计量带,并根据第二计量带的类型,对通过第二计量带的流进行处理。The second processing unit 242 is configured to: when the preset DSCP value indicates that the content of the stream is video, add the stream with the second rate in the stream to the second metering band, and pass the channel according to the type of the second metering band. The stream of the second metering zone is processed.
可选地,第一处理单元241是设置为:在第一计量带的类型为入队列申请的情况下,将具有第一速率的流加入第一端口的第一队列。Optionally, the first processing unit 241 is configured to: when the type of the first metering band is an inbound request, add the stream with the first rate to the first queue of the first port.
可选地,第二处理单元242是设置为:在第二计量带的类型为入队列申请的情况下,将具有第二速率的流加入第二端口的第二队列;以及在第二计量带的类型为丢弃的情况下,将具有第二速率的流丢弃,其中,第一速率小于第二速率。Optionally, the second processing unit 242 is configured to: when the type of the second metering band is an inbound request, add the stream having the second rate to the second queue of the second port; and in the second metering band In the case of the type of discarding, the stream having the second rate is discarded, wherein the first rate is less than the second rate.
可选地,第一处理模块24还可包括:Optionally, the first processing module 24 may further include:
第三处理单元243,设置为:在预设DSCP值指示流的内容为音频的情况下,将流中具有第三速率的流加入第三计量带;在第三计量带的类型为入队列申请的情况下,将具有第三速率的流加入第三端口的第三队列。The third processing unit 243 is configured to: when the preset DSCP value indicates that the content of the stream is audio, add the stream with the third rate in the stream to the third metering band; and the type of the third metering band is the queue request In the case, the stream having the third rate is added to the third queue of the third port.
可选地,第一处理模块24还可包括:Optionally, the first processing module 24 may further include:
第四处理单元244,设置为:在预设DSCP值指示流的内容为文本的情况下,将流中具有第四速率的流加入第四计量带;在第四计量带的类型为入队列申请的情况下,将具有第四速率的流加入第四端口的第四队列。The fourth processing unit 244 is configured to: when the preset DSCP value indicates that the content of the stream is text, add the stream having the fourth rate in the stream to the fourth metering band; and the type of the fourth metering band is the queue request In the case, the stream having the fourth rate is added to the fourth queue of the fourth port.
需要说明的是,上述模块可以通过软件或硬件来实现,对于通过硬件来实现的情况,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。 It should be noted that the foregoing modules may be implemented by software or hardware. For the implementation by hardware, the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the modules are located in multiple In the processor.
本发明实施例还提供了一种软件,该软件用于执行上述实施例及可选实施方式中描述的技术方案。The embodiment of the present invention further provides a software for executing the technical solutions described in the foregoing embodiments and optional implementation manners.
本发明实施例还提供了一种存储介质。在本实施例中,上述存储介质可以设置为存储用于执行以下步骤的程序代码:The embodiment of the invention further provides a storage medium. In this embodiment, the storage medium may be configured to store program code for performing the following steps:
步骤S1,接收对OpenFlow协议计量器中计量带的类型的配置,其中,类型包括:入队列申请,入队列申请用于指示对应速率的流要加入的端口和端口的队列;Step S1: Receive a configuration of a type of a metering band in an OpenFlow protocol meter, where the type includes: an inbound queue request, and the inbound queue application is used to indicate a port of the port and the port to which the corresponding rate stream is to be added;
步骤S2,根据计量带的类型,对通过计量带的流进行处理。In step S2, the flow passing through the metering belt is processed according to the type of the metering belt.
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。Optionally, in the embodiment, the foregoing storage medium may include, but is not limited to, a USB flash drive, a Read-Only Memory (ROM), and a Random Access Memory (RAM). A variety of media that can store program code, such as a hard disk, a disk, or an optical disk.
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。For example, the specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the optional embodiments, and details are not described herein again.
下面结合可选实施例对本发明实施例进行详细描述和说明。The embodiments of the present invention are described and illustrated in detail below with reference to the exemplary embodiments.
本发明可选实施例提供了一种基于OpenFlow计量器的组播流差分服务机制,涉及利用OpenFlow计量器和端口队列实现组播流差分服务机制。An optional embodiment of the present invention provides a multicast flow differential service mechanism based on an OpenFlow meter, and implements a multicast flow differential service mechanism by using an OpenFlow meter and a port queue.
在本可选实施例中,采用差分服务模型(Diff-Serv)来对组播的不同内容进行QoS保障。差分服务一般在IP包头的服务类别TOS(Type Of Service,ToS)字段中设置不同的DSCP值来区分不同的内容流,然后对不同的内容流执行不同的服务策略。OpenFlow网络的出现增加了对网络进行管理的灵活性和可扩展性,因此运用OpenFlow对内容流进行识别具有很好的灵活性,对交换机进行资源策略配置具有很好的管理性,有助于实现更复杂细致的差分服务。In this alternative embodiment, a differential service model (Diff-Serv) is used to perform QoS guarantee for different content of the multicast. The differential service generally sets different DSCP values in the Type of Service (ToS) field of the IP header to distinguish different content streams, and then executes different service policies for different content streams. The emergence of OpenFlow network increases the flexibility and scalability of network management. Therefore, it is very flexible to use OpenFlow to identify content streams. It is very manageable for resource policy configuration of switches and helps to achieve More complex and detailed differential services.
为了提供一种组播QoS机制来保障组播的带宽,同时提高资源利用率,本发明可选实施例可以对相关技术中OpenFlow协议的计量表进行扩展,增加一种计量带类型(Band Type):入队列申请(enqueue apply),该类型计量带执行一个或多个enqueue动作。利用该类型计量带建立的计量器可以让不同速率的流进入组播端口的不同队列。 In order to provide a multicast QoS mechanism to ensure the bandwidth of the multicast and improve the resource utilization, the optional embodiment of the present invention can extend the meter of the OpenFlow protocol in the related art, and add a type of band type (Band Type). : Enqueue apply, which performs one or more enqueue actions. Meters built with this type of metering band allow streams of different rates to enter different queues of the multicast port.
可选地,为了在OpenFlow网络中实现组播QoS保障,本发明可选实施例可以在OpenFlow控制器上设计组播管理模块和QoS保障模块。Optionally, in order to implement multicast QoS guarantee in the OpenFlow network, the optional embodiment of the present invention may design a multicast management module and a QoS guarantee module on the OpenFlow controller.
可选地,组播管理模块可设置为:管理组播组成员,建立组播树以及为交换机下发相应的组播识别流表,根据组播树结构向QoS模块提供每个交换机的组播转发端口信息。Optionally, the multicast management module may be configured to: manage multicast group members, establish a multicast tree, and send a corresponding multicast identification flow table to the switch, and provide multicast of each switch to the QoS module according to the multicast tree structure. Forward port information.
可选地,QoS保障模块可设置为:建立内容识别流表和相应的计量表,通过OF-Config配置相应的端口队列。可以在内容识别流表中通过不同的DSCP值来区分不同的内容流;可以在计量表中建立多个计量器来实现不同的QoS保障;及/或,可以根据不同内容流的特点对不同的内容流实施不同的QoS策略。Optionally, the QoS guarantee module may be configured to: establish a content identification flow table and a corresponding meter, and configure a corresponding port queue through OF-Config. Different content streams can be distinguished by different DSCP values in the content identification flow table; multiple meters can be established in the meter to implement different QoS guarantees; and/or, different characteristics can be different according to different content streams. The content stream implements different QoS policies.
可选地,其中,为了保障视频流、音频流、文本流的流畅传输,本发明可选实施例可以分别建立相应的计量器和端口队列来保障带宽。Optionally, in order to ensure smooth transmission of the video stream, the audio stream, and the text stream, the optional embodiment of the present invention may separately establish a corresponding meter and port queue to ensure bandwidth.
可选地,考虑到视频流传输速率大,同时速率变化大,因此可以将视频流的速率分成多个等级,然后在每个组播转发端口都给每个等级配置相应的具有最小速率的端口队列,然后建立含多个enqueue apply类型的计量带的计量器,将具有每个等级的速率的视频流分别发送到组播端口各自对应的队列,来保障每个等级的速率的视频流的流畅传输。这样可以避免低速的流占据高带宽资源,从而可以节约网络的带宽。同时,为了防止视频流占用太多的网络带宽,还可以在计量器中增加一个drop类型的计量带来对视频流进行限速。Optionally, considering that the video streaming rate is large and the rate changes greatly, the rate of the video stream can be divided into multiple levels, and then each level of the multicast forwarding port is configured with a corresponding port with a minimum rate. Queue, and then establish a meter with a plurality of metering bands of the enqueue apply type, and send the video streams with the rate of each level to the corresponding queues of the multicast ports respectively, so as to ensure the smooth flow of the video stream of each level. transmission. This can avoid low-speed streams occupying high-bandwidth resources, thus saving network bandwidth. At the same time, in order to prevent the video stream from occupying too much network bandwidth, it is also possible to add a drop type metering to the meter to limit the speed of the video stream.
可选地,考虑到音频流、文本流的传输速率相对较小,变化也较小,因此可以不进行速率的分级。它们可以都只有一个等级速率,只需各自在每个组播端口建立一个具有最小速率的队列。然后可以给这两种内容流分别建立只含一个enqueue apply类型的计量带的计量器,将这两种流分别发送到组播端口各自对应的队列来保障流畅传输。Optionally, considering that the transmission rate of the audio stream and the text stream is relatively small, the change is also small, so that the rate grading may not be performed. They can all have only one rate, and only need to create a queue with the lowest rate on each multicast port. Then, a meter that only has one metering band of the enqueue apply type can be separately established for the two content streams, and the two streams are respectively sent to the corresponding queues of the multicast ports to ensure smooth transmission.
可见,本发明可选实施例扩展了OpenFlow协议的计量表,增加了新的计量带类型enqueue apply,利用该类型计量带建立的计量器可以使数据流根据不同的速率进入不同的队列。相应地,本发明可选实施例可以在OpenFlow控制器上设计组播管理和QoS保障两个模块,来分别负责数据组播和内容的QoS保障。然后,可以利用扩展的计量带和端口队列对每个内容流实施 了更细致的差分服务,在保障流畅传输的同时可以减小网络带宽开销。It can be seen that the optional embodiment of the present invention extends the meter of the OpenFlow protocol, and adds a new metering type enqueue apply. The meter established by using the metering band can make the data stream enter different queues according to different rates. Correspondingly, the optional embodiment of the present invention can design two modules of multicast management and QoS guarantee on the OpenFlow controller to be responsible for data multicast and content QoS guarantee respectively. Then, each content stream can be implemented with an extended metering band and port queue A more detailed differential service can reduce network bandwidth overhead while ensuring smooth transmission.
下面结合附图对本发明可选实施例进行具体描述和说明。The optional embodiments of the present invention are specifically described and illustrated below with reference to the accompanying drawings.
本发明可选实施例为了实现组播的流差分服务,首先拓展了相关技术中的OpenFlow计量带,增加了新的计量带类型enqueue apply。然后在OpenFlow控制器上设计了组播管理和组播QoS两个模块,来分别负责数据组播和内容的QoS保障。然后利用enqueue apply计量带分别为不同内容设计相应的计量器,来实现细致的组播流差分服务。In an alternative embodiment of the present invention, in order to implement the multicast stream differential service, the OpenFlow metering band in the related art is first expanded, and a new metering type enqueue apply is added. Then, two modules of multicast management and multicast QoS are designed on the OpenFlow controller to be responsible for data multicast and content QoS guarantee respectively. Then use the enqueue apply metering band to design the corresponding meter for different content to realize the detailed multicast stream difference service.
下面仅以在一个简单的网络拓扑环境下实现组播的视频、音频、文本的流差分服务为例对本发明可选实施例提供的方法进行说明,实际中,网络拓扑可能更复杂并且数据内容划分可能会根据具体情况变化,然而,这些不同的应用场景均可被本发明可选实施例所应用到。The following describes the method provided by the optional embodiment of the present invention by using the video, audio, and text stream differential services in a simple network topology as an example. In practice, the network topology may be more complicated and the data content is divided. It may vary depending on the circumstances, however, these different application scenarios may be applied by alternative embodiments of the present invention.
可选实施例一:Alternative embodiment 1:
本发明可选实施例中新增的计量带enqueue apply类型的结构体可以如下所示:The structure of the new metering enqueue apply type in the alternative embodiment of the present invention can be as follows:
struct ofp_meter_band_enqueue_apply{Struct ofp_meter_band_enqueue_apply{
uint16_t type;            /*计量带类型*/Uint16_t type; /* metering tape type*/
uint16_t len;             /*该计量带的字节长度.*/Uint16_t len; /* The byte length of the metering band.*/
uint32_t rate;            /*该计量带的配置速率*/Uint32_t rate; /* The configuration rate of the metering band*/
uint8_t enqueue_number     /*队列的总个数*/Uint8_t enqueue_number /*The total number of queues*/
struct enqueue_parameter*list   /*队列参数*/Struct enqueue_parameter*list /* queue parameter */
uint8_t pad[32];Uint8_t pad[32];
};};
其中among them
struct enqueue_parameter{Struct enqueue_parameter{
uint32_t port;            /*端口号*/Uint32_t port; /*port number*/
uint32_t queue_id;        /*队列号*/Uint32_t queue_id; /*Queue number*/
}}
本发明可选实施例中定义的上述计量带enqueue apply类型可以是一种 “可选的(optional)”类型。该类型计量带可以执行一个或多个enqueue动作,该计量带的参数可包括相应的配置速率(rate)、enqueue动作个数(enqueue_number)、端口号(port)及队列号(queue_id)。该计量带可以根据流速率将数据转入一个或多个端口的相应队列。该计量带的执行伪代码如下所示:The above metering band enqueue apply type defined in the optional embodiment of the present invention may be a type "Optional" type. The metering band can perform one or more enqueue actions, and the parameters of the metering band can include a corresponding configuration rate, an enqueue_number, a port number, and a queue number (queue_id). The metering band can transfer data to a corresponding queue of one or more ports based on the flow rate. The execution pseudo code for this metering band is as follows:
Figure PCTCN2016081759-appb-000001
Figure PCTCN2016081759-appb-000001
Figure PCTCN2016081759-appb-000002
Figure PCTCN2016081759-appb-000002
需要说明的是,利用该计量带时,在多级流表设计时不能有output动作,以避免和enqueue动作造成重复发送,同时所有动作可以采用Apply-actions指令,而非Write-actions指令,这样可以保障相关动作的执行在数据流通过该计量带进入队列之前完成。It should be noted that when using the metering band, there is no output action in the multi-stage flow table design to avoid repeated transmissions with the enqueue action, and all actions can use the Apply-actions command instead of the Write-actions command. It can be ensured that the execution of the relevant action is completed before the data stream enters the queue through the metering band.
利用该扩展的计量带可以设计一个让不同速率的流进入不同端口队列的计量器。可以给具有不同配置速率rate的enqueue apply类型计量带设置不同的queue_id参数,则可以实现根据不同速率将流调整进入组播端口中的不同队列,以利于后面实现组播QoS保障。下表1为利用enqueue apply计量带建立的计量器1:With this extended metering band, you can design a meter that allows streams of different rates to enter different port queues. You can set different queue_id parameters for the enqueue apply type metering band with different rate settings. You can adjust the flow to different queues in the multicast port according to different rates to facilitate multicast QoS guarantee. Table 1 below shows the gauge 1 established with the enqueue apply metering belt:
表1Table 1
Figure PCTCN2016081759-appb-000003
Figure PCTCN2016081759-appb-000003
数据流经过该计量器的处理:当通过该计量带的流速率在0~b kbps时,将进入p1端口的队列q11和p2端口的队列q21;当流速率超过b kbps时,将进入p1端口的队列q12和p2端口的队列q22Data stream after processing the gauge is: when 0 ~ b kbps, it will enter the p through the flow rate of the metering belt a port queues q 11 and p queues q 2 port 21; when the flow rate exceeds b kbps, p 1 will enter the port queue queues q 12 and q 2 p port 22.
可选实施例二:Alternative embodiment 2:
图4是根据本发明可选实施例的OpenFlow实施组播QoS系统框架图, 如图4所示,为了实现组播的QoS保障,本发明可选实施例可以在控制器上设计两个模块:组播管理模块和QoS保障模块,其中:4 is a block diagram of an OpenFlow implementation multicast QoS system according to an alternative embodiment of the present invention, As shown in FIG. 4, in order to implement multicast QoS guarantee, an optional embodiment of the present invention can design two modules on the controller: a multicast management module and a QoS guarantee module, where:
组播管理模块设置为:管理组播组成员、建立组播树以及为交换机下发相应的组播识别流表(即流表0),根据组播树结构向QoS模块提供每个交换机的组播转发端口。The multicast management module is configured to: manage multicast group members, establish a multicast tree, and deliver a corresponding multicast identification flow table (ie, flow table 0) to the switch, and provide each switch group to the QoS module according to the multicast tree structure. Broadcast forwarding port.
QoS保障模块设置为:建立内容识别流表(流表1)和相应的计量表,以及通过OF-Config配置相应的端口队列。QoS保障模块将根据选择的QoS策略,在计量表中建立相应的计量器。其中,流表0可由组播管理模块建立并下发到交换机,用于实现交换机的组播识别;流表1可由QoS保障模块建立并下发到交换机,用于不同内容流的区分识别,并由QoS保障模块转到计量表中相应的计量器进行处理;计量表可以由QoS保障模块建立并下发到交换机,可以包含多个计量器来实现不同的QoS保障,例如通过每个计量器包含一个或多个enqueue_apply类型的计量带,来让不同速率的流进入不同的队列;队列可以由OF-Config来配置,可以设置队列最大速率、队列最小速率等来辅助实现QoS保障。The QoS guarantee module is configured to: establish a content identification flow table (flow table 1) and a corresponding meter, and configure a corresponding port queue through OF-Config. The QoS guarantee module will establish a corresponding meter in the meter according to the selected QoS policy. The flow table 0 can be established by the multicast management module and sent to the switch for the multicast identification of the switch. The flow table 1 can be established by the QoS guarantee module and sent to the switch for distinguishing and identifying different content streams. The QoS guarantee module goes to the corresponding meter in the meter for processing; the meter can be established by the QoS guarantee module and delivered to the switch, and can include multiple meters to implement different QoS guarantees, for example, by each meter. One or more metering bands of type enqueue_apply to allow streams of different rates to enter different queues; queues can be configured by OF-Config, which can set the maximum rate of queues, the minimum rate of queues, etc. to assist in implementing QoS guarantee.
结合图4所示,数据进入OpenFlow交换机的执行过程包括如下步骤:As shown in FIG. 4, the execution process of data entering the OpenFlow switch includes the following steps:
步骤S401,当数据流进入OpenFlow交换机后,将进入流水线,在流表0中进行匹配,将执行匹配成功的流表项的相应指令,即转到流表1。Step S401, after the data stream enters the OpenFlow switch, it will enter the pipeline and perform matching in the flow table 0, and the corresponding instruction of the successfully matched flow entry will be executed, that is, the flow table 1 is transferred.
步骤S402,数据流在流表1中继续匹配,以识别流的内容,匹配成功后转到相应计量器。In step S402, the data stream continues to match in the flow table 1 to identify the content of the stream, and after the matching is successful, the data is transferred to the corresponding meter.
步骤S403,数据流进入相应的计量器后,计量器选择配置速率低于流当前速率的计量带中配置速率最大的那个计量带进行处理,处理方式可包括:drop、DSCP remark和enqueue apply。其中,enqueue_apply计量带会将数据流转发到指定端口的指定队列。In step S403, after the data stream enters the corresponding meter, the meter selects the metering band whose configuration rate is lower than the current rate of the current rate, and the processing manner may include: drop, DSCP remark, and enqueue apply. The enqueue_apply metering band forwards the data stream to the specified queue on the specified port.
步骤S404,数据经过队列转发出端口,队列配置相应的最大或最小速率来限制或保障流的速率。In step S404, the data is forwarded to and out of the port through the queue, and the queue is configured with a corresponding maximum or minimum rate to limit or guarantee the rate of the flow.
可选实施例三:Alternative embodiment three:
图5是根据本发明可选实施例的简易的OpenFlow组播网络拓扑示意图,如图5所示,假设组播源的多媒体接入控制(MAC)地址为00:00:00:00:00:00,组播使用的用户数据报(UDP)端口号为100。本发明可 选实施例可以在OpenFlow的控制器建立一个组播管理模块,设置为:管理组播组成员的加入,建立组播树,为相应的交换机建立并下发组播识别流表,向QoS模块提供每个交换机的组播转发端口。结合图5所示,该流程的步骤包括:5 is a schematic diagram of a simple OpenFlow multicast network topology according to an alternative embodiment of the present invention. As shown in FIG. 5, it is assumed that a multimedia access control (MAC) address of a multicast source is 00:00:00:00:00: 00, the user datagram (UDP) port number used by multicast is 100. The invention can An optional embodiment may be configured to establish a multicast management module in the OpenFlow controller, which is configured to: manage the joining of multicast group members, establish a multicast tree, and establish and deliver a multicast identification flow table for the corresponding switch, and provide the QoS module with the QoS module. The multicast forwarding port of each switch. As shown in Figure 5, the steps of the process include:
步骤S501,当需要建立一个组播应用时,组播组成员向OpenFlow控制器的组播管理模块发送申请,OpenFlow控制器中的组播管理模块对组成员进行管理。In step S501, when a multicast application needs to be established, the multicast group member sends an application to the multicast management module of the OpenFlow controller, and the multicast management module in the OpenFlow controller manages the group members.
步骤S502,组播组管理模块将根据网络拓扑、链路状态以及选择的生成树算法,为该组播建立一个组播树,图5粗黑线表示组播树。Step S502: The multicast group management module establishes a multicast tree for the multicast according to the network topology, the link state, and the selected spanning tree algorithm, and the thick black line in FIG. 5 indicates the multicast tree.
步骤S503,组播树建立后,组播管理模块将根据组播源MAC地址、UDP端口以及组播树进出交换机的端口为每个交换机建立并下发相应的组播识别流表,即流表0。流表0的匹配域可以是Ether_Src=源MAC地址、Src_Port=UDP端口、Ingress_port=组播树进入交换机的端口,相应的指令可以是进入流区分识别流表(即流表1)。例如,交换机1建立的组播识别流表可以如表2所示:Step S503: After the multicast tree is established, the multicast management module establishes and delivers a corresponding multicast identification flow table, that is, a flow table, for each switch according to the multicast source MAC address, the UDP port, and the port of the multicast tree entering and leaving the switch. 0. The matching field of the flow table 0 may be Ether_Src=source MAC address, Src_Port=UDP port, Ingress_port=port of the multicast tree entering the switch, and the corresponding instruction may be the incoming flow distinguishing identification flow table (ie, flow table 1). For example, the multicast identification flow table established by switch 1 can be as shown in Table 2:
表2Table 2
Figure PCTCN2016081759-appb-000004
Figure PCTCN2016081759-appb-000004
步骤S504,组播管理模块还需要根据组播树结构向QoS模块提供每个交换机的组播转发端口。例如,交换机1的组播出端口可以是端口3和端口4,该模块需要将该信息提供给QoS模块,QoS模块将利用该信息辅助建立相应的enqueue_apply类型计量带。Step S504, the multicast management module further needs to provide a multicast forwarding port of each switch to the QoS module according to the multicast tree structure. For example, the multicast out port of switch 1 can be port 3 and port 4. The module needs to provide this information to the QoS module, and the QoS module will use this information to assist in establishing the corresponding enqueue_apply type metering band.
可选实施例四:Alternative embodiment four:
图6是根据本发明可选实施例的QoS保障实施的流程图,QoS保障模 块将根据所选择的QoS保障策略,建立相应的流表1和计量表,并结合OF-Config来配置相应的端口队列。在此,可以使用差分服务模型(DiffServ),对一个基于组播的应用的视频、音频、文本等内容的传输进行差分服务,因此需要对不同的内容流进行识别,如图6所示,该流程包括如下步骤:6 is a flow chart of a QoS guarantee implementation, QoS guarantee mode, in accordance with an alternative embodiment of the present invention. The block will establish a corresponding flow table 1 and meter according to the selected QoS guarantee policy, and configure the corresponding port queue in combination with OF-Config. Here, the differential service model (DiffServ) can be used to differentially serve the transmission of video, audio, text, and the like of a multicast-based application. Therefore, different content streams need to be identified, as shown in FIG. The process includes the following steps:
步骤S601,为了实现差分服务,利用IP包头中ToS字段的DSCP值,通过设置不同DSCP值来标明不同内容。组播源在封装数据包时,对不同的内容设置不同的DSCP值,例如,可以将文本、音频、视频、其他格式内容的DSCP值分别设置为4、3、2、1。In step S601, in order to implement the differential service, the DSCP value of the ToS field in the IP header is used to indicate different contents by setting different DSCP values. When a multicast source encapsulates a data packet, it sets different DSCP values for different contents. For example, the DSCP values of text, audio, video, and other format contents can be set to 4, 3, 2, and 1, respectively.
步骤S602,为了识别不同的内容流,QoS保障模块需要建立相应的流表1来识别不同的内容流。由于不同的内容设置不同的DSCP值,因此可以通过匹配IP_DSCP值来识别不同的内容流,匹配成功后转入相应的计量器实现相应的QoS保障。内容识别流表可以如表3所示:Step S602, in order to identify different content streams, the QoS guarantee module needs to establish a corresponding flow table 1 to identify different content streams. Since different content sets different DSCP values, different content streams can be identified by matching the IP_DSCP value. After the matching is successful, the corresponding meter is transferred to implement the corresponding QoS guarantee. The content identification flow table can be as shown in Table 3:
表3table 3
Match FieldsMatch Fields PriorityPriority CountersCounters InstructionInstruction TimeoutsTimeouts CookieCookie
IP_DSCP=2IP_DSCP=2     Meter meter_id=2Meter meter_id=2    
IP_DSCP=3IP_DSCP=3     Meter meter_id=3Meter meter_id=3    
IP_DSCP=4IP_DSCP=4     Meter meter_id=4Meter meter_id=4    
当数据流的DSCP值为2时,数据流将转向计量器2进行处理;DSCP值为3时,则转向计量器3进行处理;DSCP值为4时,则转向计量器4进行处理。不同的计量器将根据不同的服务策略来设计,从而实现对不同内容流的差分服务。When the DSCP value of the data stream is 2, the data stream will be transferred to the meter 2 for processing; when the DSCP value is 3, the meter 3 will be processed; when the DSCP value is 4, the meter 4 will be processed. Different meters will be designed according to different service strategies to achieve differentiated services for different content streams.
上面阐述了内容识别流表的设计,将视频、音频、文本不同的内容流进行了分离识别。QoS模块收到组播管理模块提供的每个交换机的组播转发端口信息后,还需要在每个交换机为各种内容流设计相应的计量器以及配置相应的端口队列。为了实现内容传输的流畅,可以对每个内容流进行带宽保障。可以根据每个内容流的特点,在本发明可选实施例中,可以对内容速率进行等级划分,设置相应队列,建立相应计量器。下面以视频流为例阐述步骤S603至步骤S605:The design of the content recognition flow table is described above, and the content streams of different video, audio and text are separately identified. After receiving the multicast forwarding port information of each switch provided by the multicast management module, the QoS module needs to design corresponding meters for each content flow and configure corresponding port queues. In order to achieve smooth content transmission, bandwidth protection can be performed for each content stream. According to the characteristics of each content stream, in an optional embodiment of the present invention, the content rate may be hierarchically divided, a corresponding queue is set, and a corresponding meter is established. Steps S603 to S605 are explained below by taking a video stream as an example:
步骤S603,根据视频速率的特点和划分的颗粒度,将视频速率划分成 几个等级。例如,对于一个传输速率大致在0~1000kbps之间变化的视频流,可以将其速率划分成3个等级:0~100kbps、100~500kbps、500~1000kbps。Step S603, dividing the video rate into two according to the characteristics of the video rate and the granularity of the division. Several grades. For example, for a video stream whose transmission rate varies between 0 and 1000 kbps, the rate can be divided into three levels: 0 to 100 kbps, 100 to 500 kbps, and 500 to 1000 kbps.
步骤S604,通过OF-Config协议在每个组播转发端口为每个等级的速率建立相应的队列,以及为每个队列设置相应的最小速率。例如,可以给每个组播转发端口设置3个队列,如在图5中所示的交换机1的端口3的队列1和端口4的队列2均有min_rate=100kbps、端口3的队列3和端口4的队列4均有min_rate=500kbps、端口3的队列5和端口4的队列6均有min_rate=1000kbps,分别实现低、中、高三种转发速率。In step S604, a corresponding queue is established for each level of the multicast forwarding port by the OF-Config protocol, and a corresponding minimum rate is set for each queue. For example, three queues can be set for each multicast forwarding port. For example, queue 1 of port 1 and queue 2 of port 4 of switch 1 shown in FIG. 5 have min_rate=100 kbps, queue 3 of port 3, and port. Queue 4 of 4 has min_rate=500 kbps, queue 5 of port 3 and queue 6 of port 4 all have min_rate=1000 kbps, which realizes three forwarding rates of low, medium and high respectively.
步骤S605,利用enqueue apply计量带建立相应的计量器,例如表4中的Meter id为2的计量器(即计量器2):Step S605, using the enqueue apply metering band to establish a corresponding meter, such as the meter with a Meter id of 2 in Table 4 (ie, meter 2):
表4Table 4
Figure PCTCN2016081759-appb-000005
Figure PCTCN2016081759-appb-000005
Figure PCTCN2016081759-appb-000006
Figure PCTCN2016081759-appb-000006
利用计量器2,可以将不同等级速率的视频流调整进入每个组播端口的不同的队列。当视频流经过计量器2进行处理时,若视频流的速率在0~100kbps,则进入端口3的队列1和端口4的队列2,其最大转发速率是100kbps,完全能保障其流畅的传输;同样速率在100~500kbps时,进入端口3的队列3和端口4的队列4;速率在500~1000kbps时,进入端口3的队列5和端口4的队列6。该方法的优势是,使视频流进入可以充分满足其速率要求的队列,同时又不占用过多的资源。若视频流速率较大,则可以将其转发进入高速队列,当速率降低至低速队列可满足其要求时,将其转发进入低速队列,以避免低速流占用高速队列造成资源浪费。为了防止视频流因瞬时速率过大而占用太多的网络带宽,还可以在计量器增加一个drop类型的计量带,设置该计量带的配置速率为高速队列的速率,当速率超过高速队列的速率时,计量表将会丢弃数据,以达到限制流的速率的目的。如表4中的计量器2的限速为1000kbps,若大于1000kbps则丢弃数据。With meter 2, video streams of different rate rates can be adjusted into different queues for each multicast port. When the video stream passes through the meter 2 for processing, if the rate of the video stream is between 0 and 100 kbps, the queue 1 of the port 3 and the queue 2 of the port 4 have a maximum forwarding rate of 100 kbps, which can ensure smooth transmission; When the rate is 100-500 kbps, it enters queue 3 of port 3 and queue 4 of port 4. When the rate is 500-1000 kbps, it enters queue 5 of port 3 and queue 6 of port 4. The advantage of this approach is that the video stream is put into a queue that can fully meet its rate requirements without taking up too much resources. If the video stream rate is large, it can be forwarded to the high-speed queue. When the rate is reduced until the low-speed queue can meet its requirements, it is forwarded to the low-speed queue to avoid the waste of resources caused by the low-speed stream occupying the high-speed queue. In order to prevent the video stream from occupying too much network bandwidth due to the excessive instantaneous rate, it is also possible to add a drop type metering band to the meter, and set the metering rate to the rate of the high speed queue when the rate exceeds the rate of the high speed queue. At the time, the meter will discard the data to achieve the purpose of limiting the rate of the stream. The rate limit of the meter 2 in Table 4 is 1000 kbps, and if it is greater than 1000 kbps, the data is discarded.
音频流、文本流的传输速率相对较小,变化也较小,因此可以不进行速率的分级,都只有一个等级速率,只需各自在每个组播端口建立一个队列,为队列设置相应的最小速率。然后可以给这两种内容流分别建立只含一个enqueue apply类型的计量带的计量器,将这两种流分别发送到组播端口各自对应的队列来保障流畅传输。The transmission rate of the audio stream and the text stream is relatively small and the change is small. Therefore, the rate can be not graded, and there is only one level rate. Only one queue is set up on each multicast port, and the queue is set to the minimum. rate. Then, a meter that only has one metering band of the enqueue apply type can be separately established for the two content streams, and the two streams are respectively sent to the corresponding queues of the multicast ports to ensure smooth transmission.
例如,如表4中Meter id为3的计量器(即计量器3)所示,对于一个传输速率大致在0~100kbps之间变化的音频,在每个组播端口设置一个队列,端口3的队列7和端口4的队列8均有min_rate=100kbps。然后在计量表中建立计量器3,只含一个配置速率为0kbps的enqueue apply类型计量带,则音频流经过该计量器都被转发到端口3的队列7和端口4的队列8。For example, as shown in the meter in Table 4 with a meter id of 3 (ie, meter 3), for a tone whose transmission rate varies between 0 and 100 kbps, a queue is set for each multicast port, and port 3 is Queue 8 of queue 7 and port 4 have min_rate=100 kbps. A meter 3 is then established in the meter, containing only one enqueue apply type metering band configured at a rate of 0 kbps, through which the audio stream is forwarded to queue 7 of port 3 and queue 8 of port 4.
又例如,如表4中Meter id为4的计量器(即计量器4)所示,对于一个传输速率大致在0~200kbps之间变化的文本,在每个组播端口设置一个队列,端口3的队列9和端口4的队列10均有min_rate=200kbps。然后在计量表中建立计量器4,只含一个配置速率为0kbps的enqueue apply类型计量 带,则文本流经过该计量器都被转发到端口3的队列9和端口4的队列10。For another example, as shown in the meter of Meter 4 with meter id of 4 (ie, meter 4), for a text whose transmission rate varies between 0 and 200 kbps, a queue is set for each multicast port, port 3 Both queue 9 and port 4 queue 10 have min_rate=200 kbps. Then establish a meter 4 in the meter, which only contains an enqueue apply type measurement with a configuration rate of 0 kbps. Band, then the text stream is forwarded through the meter to queue 9 of port 3 and queue 10 of port 4.
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件、处理器等)执行,在执行时,包括方法实施例的步骤之一或其组合。One of ordinary skill in the art will appreciate that all or a portion of the steps of the above-described embodiments can be implemented using a computer program flow, which can be stored in a computer readable storage medium, such as on a corresponding hardware platform (eg, The system, device, device, device, processor, etc. are executed, and when executed, include one or a combination of the steps of the method embodiments.
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。Alternatively, all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
上述实施例中的装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。The devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
上述实施例中的装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。When the device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium. The above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
本领域的普通技术人员可以理解,可以对本申请的技术方案进行修改或者等同替换,而不脱离本申请技术方案的精神和范围。本申请的保护范围以权利要求所定义的范围为准。A person skilled in the art can understand that the technical solutions of the present application can be modified or equivalently replaced without departing from the spirit and scope of the technical solutions of the present application. The scope of protection of this application is defined by the scope defined by the claims.
工业实用性Industrial applicability
通过本发明实施例,采用接收对OpenFlow协议计量器中计量带的类型的配置,其中,类型包括:入队列申请,入队列申请用于指示对应速率的流要加入的端口和端口的队列;根据计量带的类型,对通过计量带的流进行处理的方式,解决了相关技术无法保障组播业务的服务质量的问题,保障了组播业务的服务质量。 The embodiment of the present invention adopts a configuration for receiving a type of a metering band in an OpenFlow protocol meter, where the type includes: an inbound queue application, and the inbound queue application is used to indicate a queue of ports and ports to which the corresponding rate stream is to be added; The type of the metering belt solves the problem that the related technology cannot guarantee the service quality of the multicast service and the service quality of the multicast service is ensured.

Claims (21)

  1. 一种流处理方法,包括:A stream processing method comprising:
    接收对开放流OpenFlow协议计量器中计量带的类型的配置,其中,所述类型包括:入队列申请,所述入队列申请用于指示对应速率的流要加入的端口和所述端口的队列;Receiving a configuration of a type of a metering band in an OpenFlow protocol meter, wherein the type includes: an inbound queue request, the inbound queue request is used to indicate a port to which the corresponding rate stream is to be joined, and a queue of the port;
    根据所述计量带的类型,对通过所述计量带的流进行处理。The flow through the metering belt is processed according to the type of metering belt.
  2. 根据权利要求1所述的方法,其中,所述入队列申请包括:The method of claim 1 wherein the queued application comprises:
    流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队列。The configuration rate of the flow, the port corresponding to the configured rate of the flow, and the queue of the port corresponding to the configured rate of the flow.
  3. 根据权利要求1所述的方法,所述类型还包括以下至少之一:The method of claim 1 , the type further comprising at least one of the following:
    丢弃、差分服务代码点DSCP重标记。Discard, differential service code point DSCP re-marking.
  4. 根据权利要求3所述的方法,在根据所述多个计量带的类型,对通过所述计量带的流进行处理之前,所述方法还包括:The method according to claim 3, before the processing of the stream passing through the metering band, according to the type of the plurality of metering bands, the method further comprises:
    接收对流表的配置,其中,所述对流表的配置用于指示具有对应DSCP值的流要加入的计量器;Receiving a configuration of the flow table, wherein the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added;
    根据所述对流表的配置,将具有预设DSCP值的所述流加入所述计量器中,其中,所述具有预设DSCP值的所述流在所述对流表的配置中被配置为要加入所述计量器。Adding, according to the configuration of the convection table, the flow with a preset DSCP value to the meter, wherein the flow with a preset DSCP value is configured in the configuration of the convection table to be The meter is added.
  5. 根据权利要求4所述的方法,其中,The method of claim 4, wherein
    所述流的所述预设DSCP值用于指示所述流的内容,其中,所述内容包括:视频、音频、文本。The preset DSCP value of the stream is used to indicate content of the stream, where the content includes: video, audio, text.
  6. 根据权利要求5所述的方法,其中,在所述预设DSCP值指示所述流的内容为视频的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括:The method according to claim 5, wherein, in a case that the preset DSCP value indicates that the content of the stream is a video, processing the stream passing through the metering band according to the type of the metering band comprises:
    将所述流中具有第一速率的流加入第一计量带,并根据所述第一计量带的类型,对通过所述第一计量带的流进行处理;Adding a stream having a first rate in the stream to a first metering belt, and processing a stream passing through the first metering belt according to a type of the first metering belt;
    将所述流中具有第二速率的流加入第二计量带,并根据所述第二计量带的类型,对通过所述第二计量带的流进行处理。 A stream having a second rate in the stream is added to the second metering strip and the stream passing through the second metering strip is processed according to the type of the second metering strip.
  7. 根据权利要求6所述的方法,其中,根据所述第一计量带的类型,对通过所述第一计量带的流进行处理包括:The method of claim 6 wherein processing the stream through the first metering band according to the type of the first metering tape comprises:
    在所述第一计量带的类型为入队列申请的情况下,将具有所述第一速率的流加入第一端口的第一队列。In the case that the type of the first metering band is an inbound request, the stream having the first rate is added to the first queue of the first port.
  8. 根据权利要求6所述的方法,其中,根据所述第二计量带的类型,对通过所述第二计量带的流进行处理包括:The method of claim 6 wherein processing the stream through the second metering band according to the type of the second metering strip comprises:
    在所述第二计量带的类型为入队列申请的情况下,将具有所述第二速率的流加入第二端口的第二队列;When the type of the second metering band is an inbound request, adding the stream having the second rate to the second queue of the second port;
    在所述第二计量带的类型为丢弃的情况下,将具有所述第二速率的流丢弃;And discarding the stream having the second rate if the type of the second metering strip is discarded;
    其中,所述第一速率小于所述第二速率。Wherein the first rate is less than the second rate.
  9. 根据权利要求5所述的方法,其中,在所述预设DSCP值指示所述流的内容为音频的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括:The method according to claim 5, wherein, in the case that the preset DSCP value indicates that the content of the stream is audio, processing the stream passing through the metering band according to the type of the metering band comprises:
    将所述流中具有第三速率的流加入所述第三计量带;Adding a stream having a third rate in the stream to the third metering zone;
    在所述第三计量带的类型为入队列申请的情况下,将具有所述第三速率的流加入第三端口的第三队列。In the case that the type of the third metering band is an inbound request, the stream having the third rate is added to the third queue of the third port.
  10. 根据权利要求5所述的方法,其中,在所述预设DSCP值指示所述流的内容为文本的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括:The method according to claim 5, wherein, in the case that the preset DSCP value indicates that the content of the stream is text, processing the stream passing through the metering band according to the type of the metering band comprises:
    将所述流中具有第四速率的流加入所述第四计量带;Adding a stream having a fourth rate in the stream to the fourth metering zone;
    在所述第四计量带的类型为入队列申请的情况下,将具有所述第四速率的流加入第四端口的第四队列。In the case that the type of the fourth metering band is an inbound request, the stream having the fourth rate is added to the fourth queue of the fourth port.
  11. 一种流处理装置,包括:A stream processing device comprising:
    第一配置模块,设置为:接收对开放流OpenFlow协议计量器中计量带的类型的配置,其中,所述类型包括:入队列申请,所述入队列申请用于指示对应速率的流要加入的端口和所述端口的队列;The first configuration module is configured to: receive a configuration of a type of the metering band in the OpenFlow protocol protocol meter, where the type includes: an inbound queue request, where the inbound queue request is used to indicate that the corresponding rate stream is to be added. a port and a queue of the port;
    第一处理模块,设置为:根据所述计量带的类型,对通过所述计量带的 流进行处理。a first processing module, configured to: pass the metering belt according to the type of the metering belt The stream is processed.
  12. 根据权利要求11所述的装置,其中,所述入队列申请包括:The apparatus of claim 11 wherein said queued application comprises:
    流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队列。The configuration rate of the flow, the port corresponding to the configured rate of the flow, and the queue of the port corresponding to the configured rate of the flow.
  13. 根据权利要求11所述的装置,所述类型还包括以下至少之一:The apparatus of claim 11 wherein said type further comprises at least one of:
    丢弃、差分服务代码点DSCP重标记。Discard, differential service code point DSCP re-marking.
  14. 根据权利要求13所述的装置,还包括:The apparatus of claim 13 further comprising:
    第二配置模块,设置为:接收对流表的配置,其中,所述对流表的配置用于指示具有对应DSCP值的流要加入的计量器;a second configuration module, configured to: receive a configuration of the flow table, where the configuration of the flow table is used to indicate a meter to which the flow having the corresponding DSCP value is to be added;
    第二处理模块,设置为:根据所述对流表的配置,将具有预设DSCP值的所述流加入所述计量器中,其中,所述具有预设DSCP值的所述流在所述对流表的配置中被配置为要加入所述计量器。a second processing module, configured to: add the flow with a preset DSCP value to the meter according to the configuration of the convection table, wherein the flow with the preset DSCP value is in the convection The configuration of the table is configured to be added to the meter.
  15. 根据权利要求14所述的装置,其中,The device according to claim 14, wherein
    所述流的所述预设DSCP值用于指示所述流的内容,其中,所述内容包括:视频、音频、文本。The preset DSCP value of the stream is used to indicate content of the stream, where the content includes: video, audio, text.
  16. 根据权利要求15所述的装置,其中,所述第一处理模块包括:The apparatus of claim 15 wherein said first processing module comprises:
    第一处理单元,设置为:在所述预设DSCP值指示所述流的内容为视频的情况下,将所述流中具有第一速率的流加入第一计量带,并根据所述第一计量带的类型,对通过所述第一计量带的流进行处理;a first processing unit, configured to: when the preset DSCP value indicates that the content of the stream is a video, add a stream having the first rate in the stream to the first metering band, and according to the first Measuring the type of the belt, processing the stream passing through the first metering belt;
    第二处理单元,设置为:在所述预设DSCP值指示所述流的内容为视频的情况下,将所述流中具有第二速率的流加入第二计量带,并根据所述第二计量带的类型,对通过所述第二计量带的流进行处理。a second processing unit, configured to: when the preset DSCP value indicates that the content of the stream is a video, add a stream having a second rate in the stream to a second metering band, and according to the second The type of metering belt is processed for the flow through the second metering belt.
  17. 根据权利要求16所述的装置,其中,The device according to claim 16, wherein
    所述第一处理单元是设置为:在所述第一计量带的类型为入队列申请的情况下,将具有所述第一速率的流加入第一端口的第一队列。The first processing unit is configured to: when the type of the first metering band is an inbound request, add the stream having the first rate to the first queue of the first port.
  18. 根据权利要求16所述的装置,其中,The device according to claim 16, wherein
    所述第二处理单元是设置为:在所述第二计量带的类型为入队列申请的情况下,将具有所述第二速率的流加入第二端口的第二队列;以及在所述第 二计量带的类型为丢弃的情况下,将具有所述第二速率的流丢弃,其中,所述第一速率小于所述第二速率。The second processing unit is configured to: when the type of the second metering band is an inbound request, add a stream having the second rate to a second queue of the second port; and in the Where the type of the two metering bands is discarded, the stream having the second rate is discarded, wherein the first rate is less than the second rate.
  19. 根据权利要求15所述的装置,所述第一处理模块还包括:The apparatus of claim 15, the first processing module further comprising:
    第三处理单元,设置为:在所述预设DSCP值指示所述流的内容为音频的情况下,将所述流中具有第三速率的流加入所述第三计量带;在所述第三计量带的类型为入队列申请的情况下,将具有所述第三速率的流加入第三端口的第三队列。a third processing unit, configured to: when the preset DSCP value indicates that the content of the stream is audio, add a stream having a third rate in the stream to the third metering band; When the type of the three metering bands is an inbound queue application, the stream having the third rate is added to the third queue of the third port.
  20. 根据权利要求15所述的装置,所述第一处理模块还包括:The apparatus of claim 15, the first processing module further comprising:
    第四处理单元,设置为:在所述预设DSCP值指示所述流的内容为文本的情况下,将所述流中具有第四速率的流加入所述第四计量带;在所述第四计量带的类型为入队列申请的情况下,将具有所述第四速率的流加入第四端口的第四队列。a fourth processing unit, configured to: when the preset DSCP value indicates that the content of the stream is text, add a stream having a fourth rate in the stream to the fourth metering band; In the case that the type of the four metering bands is an inbound queue application, the stream having the fourth rate is added to the fourth queue of the fourth port.
  21. 一种扩展的计量带类型,所述计量带类型包括下列参数:配置速率rate、入队列动作个数enqueue_number、端口号port及队列号queue_id;An extended metering tape type, the metering tape type includes the following parameters: a configuration rate rate, an enqueue action number enqueue_number, a port number port, and a queue number queue_id;
    其中,所述计量带类型用于指示计量带根据流的速率将数据转入一个或多个端口的相应队列。 The metering strap type is used to indicate that the metering strap transfers data to a corresponding queue of one or more ports according to the rate of the stream.
PCT/CN2016/081759 2015-06-26 2016-05-11 Flow processing method and device WO2016206492A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510366414.0 2015-06-26
CN201510366414.0A CN106330753A (en) 2015-06-26 2015-06-26 Stream processing method and device

Publications (1)

Publication Number Publication Date
WO2016206492A1 true WO2016206492A1 (en) 2016-12-29

Family

ID=57584524

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/081759 WO2016206492A1 (en) 2015-06-26 2016-05-11 Flow processing method and device

Country Status (2)

Country Link
CN (1) CN106330753A (en)
WO (1) WO2016206492A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574613B (en) * 2017-03-07 2022-05-10 中兴通讯股份有限公司 Two-layer intercommunication method and device for SDN data center
CN111225230B (en) * 2020-02-20 2022-10-04 腾讯科技(深圳)有限公司 Management method and related device for network live broadcast data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202701A (en) * 2006-12-12 2008-06-18 中兴通讯股份有限公司 Method for distributing band width of assemblage useable bit rate transaction in grouping network
CN103841044A (en) * 2014-02-27 2014-06-04 中国科学技术大学苏州研究院 Bandwidth control method based on software-defined networking and oriented to different types of flow
WO2015041706A1 (en) * 2013-09-23 2015-03-26 Mcafee, Inc. Providing a fast path between two entities

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227418B (en) * 2007-01-19 2012-04-04 华为技术有限公司 System, apparatus and method for implementing amalgamation IP message
CN102882746B (en) * 2012-10-11 2015-04-22 盛科网络(苏州)有限公司 Measuring method and measuring system of flow table adding rate in Openflow switchboard system
CN103973599B (en) * 2014-04-25 2017-05-24 中国科学院计算技术研究所 Channel allocation method and device based on OpenFlow

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202701A (en) * 2006-12-12 2008-06-18 中兴通讯股份有限公司 Method for distributing band width of assemblage useable bit rate transaction in grouping network
WO2015041706A1 (en) * 2013-09-23 2015-03-26 Mcafee, Inc. Providing a fast path between two entities
CN103841044A (en) * 2014-02-27 2014-06-04 中国科学技术大学苏州研究院 Bandwidth control method based on software-defined networking and oriented to different types of flow

Also Published As

Publication number Publication date
CN106330753A (en) 2017-01-11

Similar Documents

Publication Publication Date Title
US9887938B1 (en) Enhanced audio video bridging (AVB) methods and apparatus
EP3198931B1 (en) Transmitting data based on flow input from base station
US9614755B2 (en) Combined hardware/software forwarding mechanism and method
US20140140211A1 (en) Classification of traffic for application aware policies in a wireless network
US11368398B2 (en) Systems and methods for identifying candidate flows in data packet networks
WO2017157274A1 (en) Network-traffic control method and network device thereof
US11411882B2 (en) Generating automatic bandwidth adjustment policies per label-switched path
US9509565B2 (en) Energy efficiency in software defined networks
WO2015074586A1 (en) Service quality control method, apparatus and system
US20190149475A1 (en) Unified streamlining for data traffic
WO2017143723A1 (en) Method, device, and system for controlling service quality
WO2015172668A1 (en) Method and device for determining congestion window in network
WO2015172474A1 (en) Information push management method and device
WO2020083263A1 (en) Data transmission method, apparatus and device in a wifi network
CN108471629A (en) The control method of business service quality, equipment and system in transmission network
EP3506573B1 (en) Method and system for traffic management, packet switching device and user device
CN108990115B (en) Method for guaranteeing QoS under multi-core network networking of cluster communication system
US7957394B1 (en) Automatic network switch configuration to support quality of service
CN104009928A (en) Method and device for limiting speed of data flow
WO2016206492A1 (en) Flow processing method and device
WO2015135284A1 (en) Data stream forwarding control method, system and computer storage medium
CN109286566A (en) Qos module classification realization method and system in Hybrid interchanger
WO2016202087A1 (en) Multicast management method, apparatus, and switching device
WO2023279818A1 (en) Deterministic flow forwarding method and apparatus, storage medium and electronic apparatus
Breabăn et al. Contribution for limiting and testing network policies

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: 16813608

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16813608

Country of ref document: EP

Kind code of ref document: A1