WO2019101054A1 - 聚合速率控制方法、设备以及系统 - Google Patents

聚合速率控制方法、设备以及系统 Download PDF

Info

Publication number
WO2019101054A1
WO2019101054A1 PCT/CN2018/116323 CN2018116323W WO2019101054A1 WO 2019101054 A1 WO2019101054 A1 WO 2019101054A1 CN 2018116323 W CN2018116323 W CN 2018116323W WO 2019101054 A1 WO2019101054 A1 WO 2019101054A1
Authority
WO
WIPO (PCT)
Prior art keywords
target data
data packet
flow
service flow
flow entry
Prior art date
Application number
PCT/CN2018/116323
Other languages
English (en)
French (fr)
Inventor
曹龙雨
何钢杰
于益俊
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP18881504.7A priority Critical patent/EP3703323B1/en
Publication of WO2019101054A1 publication Critical patent/WO2019101054A1/zh
Priority to US16/877,722 priority patent/US11088956B2/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/41Flow control; Congestion control by acting on aggregated flows or links
    • 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/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0958Management thereof based on metrics or performance parameters
    • H04W28/0967Quality of Service [QoS] parameters
    • 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
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present application relates to the field of communications, and in particular, to an aggregation rate control method, device, and system.
  • the 3rd Generation Partnership Project (3GPP) network adopts a “best effort” mechanism.
  • the system will configure different quality of service (quality of service, Qos) parameters to meet the needs of different business scenarios.
  • Qos parameters defined in the 3GPP protocol include: Qos class indentifier (QCI), ARP (allocation and retention priority), guaranteed bit rate (GBR), maximum bit rate (MBR), and Aggregated maximum bit rate (AMBR) and so on.
  • the embodiment of the present application provides an aggregation rate control method, which is capable of controlling a maximum aggregation rate in an openflow-based network.
  • an aggregation rate control method including:
  • the gateway switch receives the flow entry and the connection table sent by the software-defined network SDN controller, where the flow entry includes at least a matching domain and a flow table instruction, where the connection table includes at least a packet processing operation; the gateway switch parses and Obtaining the header information of the received target data packet, and matching the header information with the matching domain of the flow entry; if the matching domain of the flow entry matches successfully, the gateway switch performs the a connection instruction in a flow table instruction of the flow entry, wherein the connection instruction is used to point to a connection table; the gateway switch performs a message processing operation of the connection table, wherein the message processing operation is used for aggregation If the bit rate of the service flow is greater than the set maximum aggregation rate, the target data message is discarded or cached.
  • an aggregation rate control method including:
  • the SDN controller generates a flow entry and a connection table according to the QOS control policy, where the flow entry includes at least a matching domain and a flow table instruction, the flow table instruction at least includes a connection instruction, where the connection instruction is used to point to the a connection table, the connection table includes at least a packet processing operation, where the packet processing operation is used to discard or cache the target data packet if the bit rate of the aggregated service flow is greater than the set maximum aggregation rate;
  • the controller sends the flow table entry and the connection table to the gateway switch.
  • the first aspect and the second aspect respectively describe an aggregation rate control method from the perspective of a gateway switch and an SDN controller, respectively, which can implement control of a maximum aggregation rate in an openflow-based network.
  • the target data packet is discarded or cached in at least two manners:
  • the gateway switch directly discards or caches the target data packet.
  • the gateway switch discards or caches the target data packet based on a packet drop or cache policy. Specifically, in a case that the priority level of the target data packet is smaller than a priority level of other data packets of the aggregated service flow, the gateway switch discards or caches the target data packet; or, in the target datagram If the priority of the file is a specified priority level, the gateway switch discards or caches the target data packet.
  • the gateway switch when the target data packet is buffered, after the target data packet is buffered, the bit rate of the aggregated service flow is reduced to be smaller than the set maximum aggregation.
  • the gateway switch retransmits the target data message. The following describes how the gateway switch retransmits the target data packet from the two perspectives of the transmission path and the retransmission mode.
  • the gateway switch retransmits the target data packet by using the user plane path before the cache; or the gateway switch retransmits the target data packet by using the newly established user plane path.
  • the gateway switch retransmits the target data packet directly, or the gateway switch retransmission device if the priority of the target data packet is greater than other buffered data packets.
  • the target data message The target data message.
  • connection table includes at least: a connection table identifier, the maximum aggregation rate, and the message processing operation.
  • a third aspect provides a method for controlling an aggregation rate, including: an SDN controller receiving a bit rate of an aggregated service flow reported by a gateway switch; and an SDN controller determining that a bit rate of the aggregated service flow is greater than a maximum aggregation rate; The SDN controller sends a flow entry to the gateway switch, where the flow entry is used to instruct the gateway switch to send the aggregated service flow, where the bit rate of the aggregate service flow is greater than the maximum aggregation rate.
  • the target data packet in the packet is discarded or cached, and the aggregated traffic stream shares the maximum aggregation rate.
  • a method for controlling an aggregation rate including:
  • the gateway switch reports the bit rate of the aggregated service flow to the SDN controller
  • the gateway switch receives the flow entry returned by the SDN controller according to the bit rate of the aggregated service flow, where the flow entry is used to instruct the gateway switch to discard the target data packet in the aggregated service flow. Or cached, the aggregated service flow shares the maximum aggregation rate;
  • the gateway switch executes the flow table entry of the flow entry to discard or cache the target data packet.
  • the foregoing third aspect and the fourth aspect respectively describe an aggregation rate control method from the perspective of a gateway switch and an SDN controller, which can implement control of a maximum aggregation rate in an openflow-based network.
  • the flow entry is used to indicate that the gateway switch discards or caches the target data packet by at least two types:
  • the flow entry is used to instruct the gateway switch to directly discard or cache the target data packet;
  • the flow entry is used to indicate that the gateway switch, if the priority of the target data packet is smaller than the priority of the data packet in the aggregated service flow, Target data packets are discarded or cached.
  • the SDN controller instructs the gateway switch to retransmit the cached target data message if the bit rate of the aggregated traffic flow decreases to less than the aggregated bit rate.
  • the gateway switch retransmits the target data packet by using the user plane path before the cache; or the gateway switch retransmits the target data packet by using the newly established user plane path.
  • the gateway switch retransmits the target data packet directly, or the gateway switch retransmission device if the priority of the target data packet is greater than other buffered data packets.
  • the target data message The target data message.
  • a fifth aspect a first network device is provided, the first network device comprising a unit capable of performing the method of any one of the first aspect or the fourth aspect.
  • a second network device comprising a unit capable of performing the method of any one of the second aspect or the third aspect.
  • a seventh aspect a first network device, comprising: a processor, a transmitter, and a receiver, wherein: the processor is configured to perform the method of any one of the first aspects; or The method of any of the fourth aspects is performed.
  • a second network device comprising: a processor, a transmitter, and a receiver, wherein: the processor is configured to perform the method of any one of the second aspects; or The method of any of the third aspects is performed.
  • a ninth aspect a communication system, comprising: a first network device and a second network device, wherein: in the case where the first network device is used to implement the method of any of the first aspects, The second network device is configured to implement the method of any one of the second aspects; or, if the first network device is used to implement the method of any of the fourth aspects, The second network device is operative to implement the method of any of the third parties.
  • FIG. 1 is a schematic structural diagram of a system of a 3GPP network in the prior art
  • FIG. 2 is a schematic structural diagram of a system based on an openflow network according to an embodiment of the present application
  • FIG. 3 is a schematic structural diagram of a user-level aggregated service flow according to an embodiment of the present application.
  • FIG. 5 is an interaction diagram of an aggregation rate control method according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of interaction of a specific embodiment of the aggregation rate control method shown in FIG. 5;
  • FIG. 7 is an interaction diagram of another aggregation rate control method according to an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a specific application scenario of the aggregation rate control method shown in FIG. 7;
  • FIG. 9 is a schematic diagram of interaction of a specific embodiment of using the aggregation rate control method shown in FIG. 7 in the application scenario shown in FIG. 8;
  • FIG. 10 is a schematic diagram of another specific application scenario of the aggregation rate control method shown in FIG. 7; FIG.
  • FIG. 11 is an interaction diagram of a specific embodiment of using the aggregation rate control method shown in FIG. 7 in the application scenario shown in FIG. 10;
  • FIG. 12 is a schematic structural diagram of a device according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic structural diagram of a communication system according to an embodiment of the present disclosure.
  • FIG. 14 is a schematic structural diagram of a communication system according to an embodiment of the present application.
  • a conventional 3GPP network includes: a user equipment (UE), a base station 120 (eNodeB, eNB), a serving gateway (SGW), and a packet data node gateway 140. , PGW) and mobility management entity (MME).
  • the 3GPP network implements the separation of the user plane function and the control plane function.
  • the user plane function is responsible for the transmission and processing of the data service
  • the control plane function is responsible for coordinating and controlling the transmission and processing of the signaling. The following describes the user plane functions and control plane functions implemented by each device in the 3GPP network.
  • the functions implemented by the eNB 120 can be divided into user plane functions and control plane functions.
  • the user plane function of the eNB 120 includes: data packet and signaling message forwarding scheduling processing.
  • the control plane functions of the eNB 120 include: radio resource allocation and L1L2 configuration management. It should be understood that the above description of the user plane function and the control plane function of the eNB 120 is for illustrative purposes only, and is not specifically limited.
  • the functions implemented by the SGW 130 can be divided into user plane functions and control plane functions.
  • the user plane functions of the SGW 130 include: data packet forwarding, quality of service (QOS) execution, and billing information statistics.
  • the control plane functions of the SGW include: bearer management. It should be understood that the user plane function and the control plane function of the above SGW 130 are only for illustrative purposes, and are not specifically limited.
  • the functions implemented by the PGW 140 can be divided into user plane functions and control plane functions.
  • the user plane functions of the PGW 140 include: data forwarding, QoS execution, and the like.
  • the control plane functions of the PGW 140 include: IP address allocation, bearer management, and the like. It should be understood that the user plane functions and control plane functions of the PGW 140 described above are for illustrative purposes only and are not to be construed as limiting.
  • the functions implemented by the MME 150 are mainly control plane functions.
  • the control plane functions of the MME 150 include: paging, handover, roaming, authentication, encryption and integrity protection for Non-Access Stratum (NAS) signaling, and access layer ( Access Stratum, AS) security control, idle state mobility control, and more. It should be understood that the above-described examples of the control plane functions of the MME 150 are for illustrative purposes only and are not specifically limited.
  • FIG. 1 can be applied not only to a 4G system but also to a 5G or subsequent evolved system, which is not specifically limited herein.
  • the prior art uses the openflow technology to modify the traditional 3GPP network, thereby obtaining the openflow network involved in the embodiment of the present application.
  • the openflow network of the present application includes a UE 210, an eNB switch 220 (switch), a GW switch 230, a software defined network controller 240 (SDN controller) (software defined network, SDN), an eNB controller 250, and a core. Net control machine 260.
  • the eNB interaction machine 220 is configured to implement the user plane function of the eNB in the 3GPP network as shown in FIG. 1 .
  • the GW switch 230 is configured to implement the user plane function of the SGW and the user plane function of the PGW in the 3GPP network as shown in FIG.
  • the eNB controller 250 is used to implement the control plane function of the eNB in the 3GPP network as shown in FIG.
  • the core network controller 260 is configured to implement the control plane function of the SGW, the control plane function of the PGW, and the control plane function of the MME. It should be understood that the network architecture shown in FIG. 2 above is merely an example and should not be specifically limited.
  • the QoS execution function is implemented by the GW gateway in the 3GPP network
  • the QoS execution function in the openflow network is implemented by the GW switch.
  • the GW switch needs to control the Qos parameters such as QCI, ARP, GBR, MBR, and AMBR.
  • the QCI, ARP, GBR, MBR, and AMBR included in the QoS parameters are described in detail below.
  • QCI specifies resource types, priority levels, packet delay budgets, and packet loss rates for different QCI levels to provide different quality of service for data services.
  • the QCI levels are different, at least one of the resource type, the priority level, the packet delay budget, and the packet loss rate, which are determined by the openflow-based network for the data service, is different.
  • the resource type is GBR
  • the quality of service provided by the network for data services is better than that when the resource type is Non-GBR
  • the quality of service provided by the network for data services is better than the quality of service provided by the network for the data service when the priority is lower.
  • the service quality provided by the network for the data service is better than the packet delay budget, and the network is the data.
  • the quality of service provided by the business is better than that when the packet loss rate is large.
  • the definition of QCI can be found in Table 1.
  • the ARP parameter contains the following three elements: priority level, pre-emption capability, and pre-emption vulnerability.
  • priority level establishing a bearer for a data service with a higher priority is prioritized with a bearer for a data service with a lower priority.
  • the preemptive data service preempts other bearer resources and preempts other bearer resources.
  • the data service that is preemptively vulnerable to release the bearer to provide resources to other bearer uses is preferred over the preempted vulnerable data service release bearer to provide resources for use by other bearers.
  • GBR is used to indicate the minimum bit rate that the network provides for data services. That is, the bit rate provided by the network for data services must be greater than GBR. For example, if the GBR is 3 Mbit/s, the bit rate provided by the network for the data service may be 4 Mbit/s or 5 Mbit/s, and so on. It is to be understood that the above examples of GBR are for illustrative purposes only and are not specifically limited.
  • the MBR is used to indicate the maximum bit rate that the network provides for data services. That is, the bit rate that the network provides for data services must be smaller than the MBR. For example, if the MBR is 6 Mbit/s, the bit rate provided by the network for the data service may be 4 Mbit/s or 5 Mbit/s. It is to be understood that the above examples of the MBR are for illustrative purposes only and are not specifically limited.
  • the AMBR is used to limit the bit rate provided for the aggregated service flow to be greater than the maximum aggregation rate. That is, when the bit rate of the aggregated service flow is greater than the maximum aggregation rate, packets of some or all of the service flows in the aggregated service flow need to be discarded or Cache.
  • the aggregated service flow may include an aggregated service flow at a user equipment (UE) level, an aggregated service flow at an access point name (APN) level, and the like.
  • the user-level aggregated service flow may be a combination of multiple service flows accumulated by the same user equipment, for example, a video service flow, a voice service flow, and a game service flow of the same contracted user.
  • the aggregation service flow at the access point level may be a combination of multiple service flows accumulated by the same access device, for example, a video service flow, a voice service flow, a game service flow, and the like of the same access device. For example, suppose the maximum aggregation rate is 10 Mbit/s, the bit rate of the video service stream in the aggregate service flow is 3 Mbit/s, the bit rate of the voice service stream is 2 Mbit/s, and the bit rate of the game service stream is 4 Mbit/s. The bit rate of the aggregated traffic flow is less than the maximum aggregation rate.
  • the GW switch can easily control the QCI, GBR, MBR, etc., but the GW switch is difficult to control the AMBR.
  • the specific reasons are as follows:
  • the openflow network processes the data packet by using a flow entry.
  • the GW switch is used as an example to describe how the openflow-based network uses the outgoing flow entry to process data packets.
  • S101 The SDN controller delivers the data to the GW switch. a flow entry;
  • S102 the GW switch stores the received flow entry;
  • S103 after receiving the data packet, the GW switch parses and acquires the header information of the received data packet, and stores the header information in the GW.
  • the matching field of the flow entry in the switch is matched.
  • S104 If the matching information of the header information and the flow entry is successfully matched, the GW switch processes the data packet according to the flow table instruction.
  • the openflow network needs to process data packets based on different granularities.
  • an openflow network may need to process data packets from a variety of different granularities, such as flow granularity, bearer granularity, APN (access point name granularity), and UE (user equipment) granularity.
  • flow granularity such as flow granularity, bearer granularity, APN (access point name granularity), and UE (user equipment) granularity.
  • APN access point name granularity
  • UE user equipment
  • the openflow-based network processes data packets based on flow entries. That is, the openflow-based network processes data packets based on the flow granularity. Therefore, the openflow-based network is difficult to be larger than the flow granularity.
  • the data message is processed at the granularity.
  • the control of QCI, GBR, MBR, etc. is based on the flow granularity to process data packets
  • the control of AMBR is based on UE granularity or APN granularity for processing data packets, so in today's openflow based
  • the control of QCI, GBR, MBR, etc. can only be realized in the network, and the AMBR is not yet controlled.
  • the present application provides two aggregation rate control methods, devices, and systems, which can implement AMBR control on an openflow-based network architecture.
  • the embodiment of the present application provides an aggregation rate control method.
  • the aggregation rate control method of the embodiment of the present application includes the following steps:
  • the SDN controller generates a flow entry and a connection table according to the QOS control policy.
  • the QOS control policy includes at least a maximum aggregation rate of the aggregated service flow.
  • the QOS control policy may further include a QCI of the aggregated service flow and a QCI, a GBR, an MBR, and the like of the non-aggregated service flow.
  • the QOS control policy may be: the maximum aggregation rate of the aggregated service flow is 10 Mbit/s. It can be understood that the above examples of the QoS control strategy are for illustrative purposes only and should not be specifically limited.
  • the maximum aggregation rate is the maximum value of the bit rate that the network can provide for the aggregated service flow. That is, if the bit rate of the aggregated service flow is less than the maximum aggregation rate, the network can work normally. If the bit rate of the aggregated service flow is greater than the maximum aggregation rate, the network needs to aggregate data packets of some and all service flows in the service flow. Discard or cache until the bit rate of the aggregated traffic flow is less than the maximum aggregation rate. That is to say, the bit rate that the aggregated service flow can occupy the network cannot exceed the maximum aggregation rate.
  • the bit rate of the video service stream in the aggregate service flow is 7 Mbit/s
  • the bit rate of the voice service stream is 3 Mbit/s
  • the bit rate of the game service stream is 5 Mbit/s.
  • the bit rate of the aggregated service flow is less than the maximum aggregation rate, and the network can work normally.
  • the maximum aggregation rate is 20 Mbit/s
  • the bit rate of the video service stream in the aggregate service stream is 10 Mbit/s
  • the bit rate of the voice service stream is 3 Mbit/s
  • the bit rate of the game service stream is 8 Mbit/s.
  • the bit rate of the stream is greater than the maximum aggregation rate.
  • the network needs to discard or cache data packets of some and all traffic flows in the aggregated service flow.
  • S202 The SDN controller sends the flow entry and the connection table to the GW switch.
  • the GW switch receives the flow entry and the connection table sent by the SDN controller.
  • the GW switch parses and obtains the header information of the received target data packet, and matches the header information with the matching field of the flow entry.
  • the target data message is data organized in a specific format.
  • the format of the target data packet is usually different.
  • the target data packet adopts the TCP/IP protocol
  • the target data packet adopts a format different from the target datagram.
  • the UDP protocol is used
  • the format of the target data packet is adopted.
  • the target data packet usually includes header information (head), payload (playload), and check information, where the header information is usually used to carry the header information.
  • the transmission information related to the user data for example, the packet length, the packet type, the identification information of the packet, and the like.
  • the identifier information of the packet may be a unique identifier of the packet, for example, at least one of an IP quintuple (source IP address, destination IP address, protocol type, source port number, destination port number), or an Ethernet frame header. At least one of the various header fields (source MAC address, destination MAC address, and the like) is not specifically limited herein. Payloads are typically used to carry user data, such as video data, audio data, and game data. The verification information is used to verify the header information and the correctness of the payload.
  • the Ethernet frame protocol is used as an example.
  • the target data packet can include a 6-byte destination MAC address, a 6-byte source MAC address, and a 2-byte packet type/length. Up to 1500 bytes of data and 4 bytes of frame check sequence (FCS).
  • the header information of the target data packet includes a destination MAC address, a source MAC address, a packet type, and a packet length.
  • the payload of the target data message includes 46 to 1500 bytes of data.
  • the verification information of the data message includes a 4-byte FCS. It should be understood that the foregoing example uses the Ethernet frame protocol as an example to describe the target data packet. However, in the actual application, the target data packet may also adopt other protocols, which is not specifically limited herein.
  • the flow entry may generally include, but is not limited to, a Match Fields, a priority, a counter, a flow table instruction (instructiong), and an aging time. (Timeout), attached attributes (cookies), and notes. It should be understood that the flow entries shown in Table 4 are merely examples and should not be specifically limited.
  • the matching field can be used to carry a specified value that matches the header information of the target data message.
  • the specified value may be at least one of an IP quintuple (source IP address, destination IP address, protocol type, source port number, destination port number), or may be various header fields of the Ethernet frame header (source) At least one of a MAC address, a destination MAC address, and the like.
  • IP quintuple source IP address, destination IP address, protocol type, source port number, destination port number
  • source At least one of a MAC address, a destination MAC address, and the like.
  • the flow table instruction is used to indicate the manner in which the target data message is processed, for example, pointing to a connection table, forwarding, discarding, modifying a message header, encapsulating, and decapsulating, and the like.
  • the flow table instruction in the flow entry is executed.
  • the connection instruction in the flow table instruction of the GW switch executing the flow entry points to the connection table.
  • the SDN controller sends a flow entry to the GW switch: the source IP address is 192.168.0.12, the destination IP address is 192.168.0.135, and the flow table command points to the connection table.
  • the GW switch parses and obtains the header information of the received data packet as the source IP address is 192.168.0.12, and the destination IP address is 192.168.0.135, and the header information and the flow entry of the target data packet are obtained.
  • the matching fields match, and the GW switch will point to the connection table according to the flow table instructions.
  • S205 The GW switch performs a packet processing operation of the connection table.
  • connection table includes at least a connection table identifier, a maximum aggregation rate, and a message processing operation.
  • connection table identifier may be a unique identifier of the connection table.
  • the maximum aggregation rate is the maximum aggregation rate obtained according to the Qos control strategy.
  • the message processing operation is used to discard or cache the target data message if the bit rate of the aggregated service flow is greater than the set maximum aggregation rate.
  • the connection table may further include a specified priority level, where the specified priority level is used to instruct the GW switch to discard or cache the data packet of the specified priority level. It should be noted that the connection table shown in Table 5 is merely an example and should not be specifically limited.
  • the following describes how to control the maximum aggregation rate by the aggregation rate control method shown in FIG. 5 in combination with a specific application scenario.
  • the aggregation service flow includes service flow 1 and service flow 2.
  • the bit rate of service flow 1 is 6 Mbit/s
  • the bit rate of service flow 2 is 5 Mbit/s
  • the maximum aggregation rate of the aggregation service flow is 10 Mbit/s.
  • the specific steps can be embodied as:
  • connection table 1 The connection table 1, the flow entry 1, and the flow entry 2 generated by the SDN controller according to the QoS control policy of the aggregated service flow.
  • connection identifier of the connection table 1 is LINK-ID1
  • the maximum aggregation rate is 10 Mbit/s.
  • the packet processing operation is to report the data flow of the service flow 1 when the bit rate of the aggregate service flow is greater than 10 Mbit/s.
  • the text is discarded or cached.
  • the matching field 1 in the flow entry 1 is the IP quintuple of the service flow 1
  • the flow table instruction 1 is the connection table 1 pointing to the connection identifier LINK-ID1.
  • the matching field 2 in the flow table 2 is the IP quintuple of the service flow 2
  • the flow table instruction 2 is the connection table 1 pointing to the connection identifier LINK-ID1.
  • S302 The SDN controller sends the flow entry 1, the flow entry 2, and the connection table 1 to the GW switch.
  • the GW switch receives the flow entry 1, the flow entry 2, and the connection table 1 delivered by the SDN controller.
  • the GW switch matches the IP quintuple of the data packet of the service flow 1 with the IP quintuple of the match domain 1 of the flow entry 1. Because the IP quintuple of the data packet of the traffic flow 1 matches the IP quintuple of the matching domain 1 of the flow entry 1, the GW switch executes the flow table instruction 1 to the connection table 1 whose connection identifier is LINK-ID1.
  • the GW switch matches the IP quintuple of the data packet of the service flow 2 with the IP quintuple of the match domain 2 of the flow entry 2. Because the IP quintuple of the data packet of the service flow 2 matches the IP quintuple of the matching domain 2 of the flow entry 2, the GW switch executes the flow table instruction 2 to the connection table 1 whose connection identifier is LINK-ID1.
  • the GW switch performs the packet processing operation in the connection table 1, and the bit rate of the service flow 1 and the service flow 2 is 11 Mbit/s, so that the bit rate of the aggregated service flow is greater than the maximum aggregate service flow, and the service flow 1 is Some or all of the data packets are discarded or cached.
  • the embodiment of the present application provides another aggregation rate control method.
  • the aggregation rate control method of the embodiment of the present application includes the following steps:
  • the GW switch reports the bit rate of the aggregated service flow to the SDN controller.
  • the SDN controller receives the bit rate of the aggregated service flow reported by the GW switch.
  • the aggregated service flow may be an aggregated service flow at the user equipment level, an aggregated service flow at the access point level, or the like.
  • the user-level aggregated service flow may be a combination of multiple service flows accumulated by the same user equipment, for example, a video service flow, a voice service flow, and a game service flow of the same contracted user.
  • the aggregation service flow at the access point level may be a combination of multiple service flows accumulated by the same access device, for example, a video service flow, a voice service flow, a game service flow, and the like of the same access device. It can be understood that the foregoing examples of the aggregated service flow are for illustrative purposes only and should not be specifically limited. In other possible embodiments, the number, type, and the like of the service flows of the aggregated service flow may be different.
  • the SDN controller determines that the bit rate of the aggregated service flow is greater than a maximum aggregation rate.
  • the maximum aggregation rate is the maximum value of the bit rate that the network can provide for the aggregated service flow. That is, if the bit rate of the aggregated service flow is less than the maximum aggregation rate, the network can work normally. If the bit rate of the aggregated service flow is greater than the maximum aggregation rate, the network needs to aggregate data packets of some and all service flows in the service flow. Discard or cache until the bit rate of the aggregated traffic flow is less than the maximum aggregation rate. That is to say, the bit rate that the aggregated service flow can occupy the network cannot exceed the maximum aggregation rate.
  • the bit rate of the video service stream in the aggregate service flow is 7 Mbit/s
  • the bit rate of the voice service stream is 3 Mbit/s
  • the bit rate of the game service stream is 5 Mbit/s.
  • the bit rate of the aggregated service flow is less than the maximum aggregation rate, and the network can work normally.
  • the maximum aggregation rate is 20 Mbit/s
  • the bit rate of the video service stream in the aggregate service stream is 10 Mbit/s
  • the bit rate of the voice service stream is 3 Mbit/s
  • the bit rate of the game service stream is 8 Mbit/s.
  • the bit rate of the stream is greater than the maximum aggregation rate.
  • the network needs to discard or cache data packets of some and all traffic flows in the aggregated service flow.
  • S403 If the bit rate of the aggregated service flow is greater than the maximum aggregation rate, the SDN controller sends a flow entry to the GW switch. Correspondingly, the gateway switch receives the flow entry sent by the SDN controller.
  • the GW switch parses and obtains the header information of the received target data packet, and matches the header information with the matching field of the flow entry.
  • the target data message is data organized in a specific format.
  • the format of the target data packet is usually different.
  • the target data packet adopts the TCP/IP protocol
  • the target data packet adopts a format different from the target datagram.
  • the UDP protocol is used
  • the format of the target data packet is adopted.
  • the target data packet usually includes header information (head), payload (playload), and check information, where the header information is usually used to carry the header information.
  • the transmission information related to the user data for example, the packet length, the packet type, the identification information of the packet, and the like.
  • the identifier information of the packet may be a unique identifier of the packet, for example, at least one of an IP quintuple (source IP address, destination IP address, protocol type, source port number, destination port number), or an Ethernet frame header. At least one of the various header fields (source MAC address, destination MAC address, and the like) is not specifically limited herein. Payloads are typically used to carry user data, such as video data, audio data, and game data. The verification information is used to verify the header information and the correctness of the payload.
  • the Ethernet frame protocol is used as an example.
  • the target data packet can include a 6-byte destination MAC address, a 6-byte source MAC address, and a 2-byte packet type/length. Up to 1500 bytes of data and 4 bytes of frame check sequence (FCS).
  • the header information of the target data packet includes a destination MAC address, a source MAC address, a packet type, and a packet length.
  • the payload of the target data message includes 46 to 1500 bytes of data.
  • the verification information of the data message includes a 4-byte FCS. It should be understood that the foregoing example uses the Ethernet frame protocol as an example to describe the target data packet. However, in the actual application, the target data packet may also adopt other protocols, which is not specifically limited herein.
  • the flow entry may generally include, but is not limited to, a Match Fields, a priority, a counter, a flow table instruction (instructiong), and an aging time. (Timeout), attached attributes (cookies), and notes. It should be understood that the flow entries shown in Table 4 are merely examples and should not be specifically limited.
  • the matching field can be used to carry a specified value that matches the header information of the target data message.
  • the specified value may be at least one of an IP quintuple (source IP address, destination IP address, protocol type, source port number, destination port number), or may be various header fields of the Ethernet frame header (source) At least one of a MAC address, a destination MAC address, and the like.
  • IP quintuple source IP address, destination IP address, protocol type, source port number, destination port number
  • source At least one of a MAC address, a destination MAC address, and the like.
  • the flow table instruction is used to indicate the processing manner of the target data packet, for example, forwarding, discarding, modifying the header, encapsulation, and decapsulation.
  • the flow table instruction in the flow entry is executed.
  • the specific application scenario of FIG. 8 will be described below to explain how to control the maximum aggregation rate by the aggregation rate control method shown in FIG. It is assumed that the aggregated service flow includes the service flow 1 and the service flow 2, and both pass through the same GW gateway 230.
  • the bit rate of the service flow 1 is 6 Mbit/s
  • the bit rate of the service flow 2 is 5 Mbit/s
  • the Qos control policy is the aggregation service.
  • the maximum aggregation rate of the stream is 10 Mbit/s.
  • the specific steps can be as follows:
  • the GW switch reports the bit rate of the service flow 1 and the service flow 2 to the SDN controller.
  • the SDN controller receives the bit rate of the service flow 1 and the service flow 2 reported by the GW switch.
  • the SDN controller collects the bit rate of the service flow 1 and the service flow 2, thereby determining that the bit rate of the aggregated service flow is determined to be 11 Mbit/s.
  • S503 The SDN controller determines that the bit rate of the aggregated service flow is 11 Mbit/s, which is greater than the maximum aggregation rate of 10 Mbit/s.
  • the SDN controller sends the flow entry 1 and the flow entry 2 to the GW switch.
  • the GW switch receives the flow entry 1 and the flow entry 2 delivered by the SDN controller.
  • the matching field 1 of the flow entry 1 is the IP quintuple of the service flow 1
  • the flow table instruction 1 discards or caches the target data packet in the service flow 1.
  • the matching field 2 of the flow entry 2 is the IP quintuple of the traffic flow 2, and the flow table instruction 2 is to forward the target data packet in the traffic flow 2.
  • the specific application scenario of FIG. 10 will be described below to explain how to control the maximum aggregation rate by the aggregation rate control method shown in FIG.
  • the aggregated service flow includes service flow 1 and service flow 2, and service flow 1 passes through GW switch 1, service flow 2 passes through GW switch 2, service traffic 1 has a bit rate of 6 Mbit/s, and service flow 2 has a bit rate of 5 Mbit.
  • the Qos control policy is that the maximum aggregation rate of the aggregated service flow is 10 Mbit/s.
  • the specific steps can be as follows:
  • the GW switch 1 reports the bit rate of the service flow 1 to the SDN controller.
  • the SDN controller receives the bit rate of the traffic flow 1 reported by the GW switch 1.
  • the GW switch 2 reports the bit rate of the service flow 2 to the SDN controller.
  • the SDN controller receives the bit rate of the traffic flow 2 reported by the GW switch 2.
  • the SDN controller collects the bit rate of the service flow 1 and the service flow 2, thereby determining that the bit rate of the aggregated service flow is determined to be 11 Mbit/s.
  • the SDN controller determines that the bit rate of the aggregated service flow is 11 Mbit/s, which is greater than the maximum aggregation rate of 10 Mbit/s.
  • the SDN controller sends a flow entry 1 to the GW switch 1.
  • the GW switch 1 receives the flow entry 1 delivered by the SDN controller.
  • the matching field 1 of the flow entry 1 is the IP quintuple of the service flow 1, and the flow table instruction 1 discards or caches the target data packet in the service flow 1.
  • the SDN controller sends a flow entry 2 to the GW switch 2.
  • the GW switch 2 receives the flow entry 2 delivered by the SDN controller.
  • the matching field 2 of the flow entry 2 is the IP quintuple of the service flow 2, and the flow table instruction 2 is to forward the target data packet in the service flow 2.
  • the GW switch 2 matches the IP quintuple of the data packet of the service flow 2 with the IP quintuple of the matching domain 2 of the flow entry 2. Because the IP quintuple of the data packet of the service flow 2 matches the IP quintuple of the matching domain 2 of the flow entry 2, the GW switch 2 executes the flow table instruction 2 in the flow entry 2 to be in the traffic flow 2 The target data packet is forwarded.
  • the GW switch directly discards or caches the target data packet.
  • the GW switch does not need to consider the level of the target data packet.
  • the GW switch immediately discards or caches the target data packet to
  • the bit rate of the aggregated traffic flow drops to the maximum aggregation rate.
  • the aggregate service flow includes service flow 1 and service flow 2.
  • the priority of service flow 1 is 1, and the priority of service flow 2 is 5.
  • the GW switch The target data packets of service flow 1 and service flow 2 are discarded or cached.
  • the GW switch discards or caches the target data packet based on a packet drop or cache policy.
  • the packet discarding or caching policy may be a customized policy, for example, may be a lowest priority policy or a specified priority policy. It should be noted that the example of the packet discarding or caching policy is for illustrative purposes only and should not be specifically limited.
  • the GW switch discards the target data packet if the priority of the target data packet is less than the priority of other data packets of the aggregated service flow. Or cache to ensure that data packets with higher priority can be transmitted preferentially.
  • the aggregate service flow includes service flow 1 and service flow 2.
  • the priority of service flow 1 is 1, and the priority of service flow 2 is 5.
  • the GW switch The target data packets of service flow 2 are discarded or cached.
  • the target data packet of the service flow 1 may be continuously discarded or cached.
  • the GW switch discards or caches the target data packet if the priority of the target data packet is a specified priority.
  • the priority of the data packets in the service flow is as follows.
  • the bit rate of the aggregated service flow is reduced to the maximum aggregation rate as soon as possible.
  • the aggregation service flow includes the service flow 1 and the service flow 2, and the service flow 1 has a priority level of 1.
  • the service flow 2 has a priority level of 5, and the service flow with the priority level 5 is designated to be discarded or cached.
  • the GW switch discards or caches the target data packet of the service flow 2.
  • the target data packet of the service flow 1 may be continuously discarded or cached.
  • the GW switch can also combine multiple packet discarding or caching policies for use.
  • a GW switch can combine a minimum priority policy with a specified priority policy. That is, the GW switch first discards or caches the target data packet according to the specified priority policy, and then the GW switch discards or caches the target data packet according to the lowest priority policy.
  • the aggregation service flow includes the service flow 1 and the service flow 2.
  • the service flow 1 has a priority level of 1.
  • the service flow 2 has a priority level of 3.
  • the service flow of the priority level 5 is designated to be discarded or cached.
  • the GW switch When the bit rate of the aggregated service flow is greater than the set maximum aggregation rate, the GW switch first discards or caches the data packet of the service flow with the priority level of 5 according to the specified priority policy. After the service flow with the priority level of 5 is not found, the GW switch discards or caches the target data packet of the lower priority service flow 2 according to the lowest priority policy, and the target data packet of the service flow 2 is If the bit rate of the aggregated service flow is still greater than the set maximum aggregation rate, the target data packets of the traffic class 1 with higher priority can be discarded or cached.
  • the GW gateway may retransmit the target data message buffered in its own memory after the bit rate of the aggregated service flow falls below the maximum aggregate bit rate. .
  • the GW gateway will re-transmit the cached target data packets from the retransmission path and the retransmission sequence:
  • the gateway switch retransmits the target data packet by using a user plane path before the cache.
  • the openflow network includes a UE, an eNB switch, a GW switch 1, a GW switch 2, a GW switch 3, and a GW switch 4.
  • the target data packet transmits the target data packet through the user plane path of the UE, the eNB switch, the GW switch 1, and the GW switch 2, and after the cache, the user plane path UE, the eNB switch, and the GW switch still pass through the cache. 1 and the GW switch 2 transmits the target data message.
  • the gateway switch retransmits the target data packet through the newly established user plane path.
  • the openflow network includes a UE, an eNB switch, a GW switch 1, a GW switch 2, a GW switch 3, and a GW switch 4.
  • the target data packet transmits the target data packet through the user plane path of the UE, the eNB switch, the GW switch 1, and the GW switch 2, and after the buffering, the newly established user plane path UE and the eNB switch may be used after the buffering.
  • the GW switch 3 and the GW switch 4 transmit the target data message.
  • the gateway switch directly retransmits the target data packet.
  • the GW switch does not need to consider the level of the target data packet.
  • the GW switch immediately retransmits the target data packet as soon as possible.
  • the cached target data message is retransmitted.
  • the cached target data packet includes the target data packet of the traffic flow 1 and the target data packet of the traffic flow 2.
  • the priority of the traffic flow 1 is 1, and the priority of the traffic flow 2 is 5.
  • the GW switch retransmits the target data packets of the service flow 1 and the service flow 2.
  • the gateway switch retransmits the target data packet if the priority of the target data packet is greater than other buffered data packets.
  • the GW switch retransmits the target data packet with a higher priority to reduce the transmission delay of the data packet with higher priority.
  • the cached target data packet includes the target data packet of the traffic flow 1 and the target data packet of the traffic flow 2.
  • the priority of the traffic flow 1 is 1, and the priority of the traffic flow 2 is 5.
  • the GW switch preferentially retransmits the target data packet of the service flow 1. After the target data packet of the service flow 1 is retransmitted, the GW switch retransmits the target data packet of the service flow 2.
  • the embodiment of the present application further provides a device (shown in FIG. 12) for implementing the method described in the foregoing FIG.
  • the device 30 includes a transceiver unit 301, a processing unit 302, and a storage unit 303.
  • the transceiver unit 301, the processing unit 302, and the storage unit 303 may be connected by a bus or other means (in FIG. 12, for example, by a bus connection).
  • the transceiver unit 301 is configured to implement the content interaction between the processing unit 302 and other units or network elements.
  • the transceiver unit 301 can be a communication interface of the device, a transceiver circuit or a transceiver, or a transceiver.
  • the transceiver unit 301 can also be a communication interface or a transceiver circuit of the processing unit 302.
  • the transceiver unit 301 can be a transceiver chip.
  • the processing unit 302 is configured to implement processing of data by the device.
  • Processing unit 302 can be a processing circuit or a processor.
  • the processor may be a central processing unit (CPU), a network processor (NP) or a combination of a CPU and an NP.
  • the processor 302 can be a general purpose processor, a digital signal processor, an application specific integrated circuit, an off-the-shelf programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component.
  • the processor may further include a hardware chip.
  • the hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a Generic Array Logic (GAL), or any combination thereof.
  • CPLD complex programmable logic device
  • FPGA field-programmable gate array
  • GAL Generic Array Logic
  • each step of the above method may be completed by an integrated logic circuit of hardware in the processing unit 302 or an instruction in the form of software.
  • the processing unit 302 may implement or perform the methods, steps, and logic blocks disclosed in the embodiments of the present invention.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory,
  • the storage unit 303 is configured to store computer instructions executed by the processing unit 302.
  • the storage unit 303 may be a storage circuit or a memory.
  • the memory can be either volatile memory or non-volatile memory, or can include both volatile and nonvolatile memory.
  • the non-volatile memory may be a read-only memory (ROM), a programmable read only memory (ROMM), an erasable programmable read only memory (erasable PROM, EPROM), or an electrical Erase programmable EPROM (EEPROM) or flash memory.
  • the volatile memory can be a random access memory (RAM) that acts as an external cache.
  • the program code stored in the storage unit 303 is specifically used to implement the functions of the GW switch in the embodiment shown in FIG. 5.
  • the processing unit 302 is configured to invoke the program code stored in the storage unit 303, and perform the following steps:
  • connection instruction in the flow table instruction of the flow entry, where the connection instruction is used to point to the connection table, if the matching of the matching field of the flow entry is successful;
  • the processing unit 302 is specifically configured to: directly discard or cache the target data packet; or discard or cache the target data packet based on a packet discarding or caching policy.
  • the processing unit 302 is configured to: discard or cache the target data packet if the priority of the target data packet is less than a priority of other data packets of the aggregated service flow; Alternatively, if the priority level of the target data packet is a specified priority level, the target data packet is discarded or cached.
  • the processing unit 302 is further configured to: reduce a bit rate of the aggregated service flow to be smaller than the set In the case of a predetermined maximum aggregation rate, the target data message is retransmitted by the transceiver unit 301.
  • the transceiver unit 301 is further configured to: retransmit the target data packet by using a user plane path before the buffer; or retransmit the target data packet by using the newly established user plane path.
  • the transceiver unit 301 is further configured to: directly retransmit the target data packet; or, if the priority of the target data packet is greater than other buffered data packets, retransmit the Target data message.
  • connection table at least includes: a connection table identifier, the maximum aggregation rate, and the packet processing operation.
  • the execution steps of the processing unit 302 and other technical features involved in the processing unit 302 may refer to the related content of the GW switch in the method embodiment of FIG. 5, and details are not described herein again. .
  • the program code stored in the storage unit 303 is specifically used to implement the functions of the SDN controller in the embodiment shown in FIG.
  • the processing unit 302 is configured to invoke the program code stored in the storage unit 303, and perform the following steps:
  • the SDN controller generates a flow entry and a connection table according to the QOS control policy, where the flow entry includes at least a matching domain and a flow table instruction, the flow table instruction at least includes a connection instruction, where the connection instruction is used to point to the a connection table, where the connection table includes at least a packet processing operation, where the packet processing operation is used to discard or cache the target data packet if the bit rate of the aggregated service flow is greater than the set maximum aggregation rate;
  • the SDN controller sends the flow entry and the connection table to the gateway switch.
  • the discarding or caching the target data packet specifically includes: directly discarding or caching the target data packet; or discarding or caching the target data packet based on a packet discarding or caching policy.
  • the discarding or caching the target data packet based on the packet discarding or caching policy includes: when the priority of the target data packet is less than the priority of other data packets of the aggregated service flow The target data packet is discarded or cached; or the target data packet is discarded or cached if the priority of the target data packet is a specified priority.
  • the execution steps of the processing unit 302 and other technical features involved in the processing unit 302 may also refer to the related content of the SDN controller in the method embodiment of FIG. Narration.
  • the embodiment of the present application further provides an apparatus (as shown in FIG. 12) for implementing the method described in the foregoing FIG.
  • the device 30 includes a transceiver unit 301, a processing unit 302, and a storage unit 303.
  • the transceiver unit 301, the processing unit 302, and the storage unit 303 may be connected by a bus or other means (in FIG. 12, for example, by a bus connection).
  • the transceiver unit 301 is configured to implement the content interaction between the processing unit 302 and other units or network elements.
  • the transceiver unit 301 can be a communication interface of the device, a transceiver circuit or a transceiver, or a transceiver.
  • the transceiver unit 301 can also be a communication interface or a transceiver circuit of the processing unit 302.
  • the transceiver unit 301 can be a transceiver chip.
  • the processing unit 302 is configured to implement processing of data by the device.
  • Processing unit 302 can be a processing circuit or a processor.
  • the processor may be a central processing unit (CPU), a network processor (NP) or a combination of a CPU and an NP.
  • the processor 302 can be a general purpose processor, a digital signal processor, an application specific integrated circuit, an off-the-shelf programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component.
  • the processor may further include a hardware chip.
  • the hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a Generic Array Logic (GAL), or any combination thereof.
  • CPLD complex programmable logic device
  • FPGA field-programmable gate array
  • GAL Generic Array Logic
  • each step of the above method may be completed by an integrated logic circuit of hardware in the processing unit 302 or an instruction in the form of software.
  • the processing unit 302 may implement or perform the methods, steps, and logic blocks disclosed in the embodiments of the present invention.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory,
  • the storage unit 303 is configured to store computer instructions executed by the processing unit 302.
  • the storage unit 303 may be a storage circuit or a memory.
  • the memory can be either volatile memory or non-volatile memory, or can include both volatile and nonvolatile memory.
  • the non-volatile memory may be a read-only memory (ROM), a programmable read only memory (ROMM), an erasable programmable read only memory (erasable PROM, EPROM), or an electrical Erase programmable EPROM (EEPROM) or flash memory.
  • the volatile memory can be a random access memory (RAM) that acts as an external cache.
  • the program code stored in the storage unit 303 is specifically used to implement the functions of the GW switch in the embodiment shown in FIG.
  • the processing unit 302 is configured to invoke the program code stored in the storage unit 303, and perform the following steps:
  • the flow table instruction of the flow entry is processed by the processing unit 302 to discard or cache the target data message.
  • the flow entry is used to indicate that the gateway switch directly discards or caches the target data packet; or the flow entry is used to indicate that the gateway switch is in the target data packet. If the priority level is smaller than the priority level of the data packet in the aggregated service flow, the target data packet is discarded or cached.
  • the transceiver unit 301 when the flow entry is used to instruct the gateway switch to cache the target data packet, in a case where the bit rate of the aggregated service flow decreases to less than the aggregated bit rate, the transceiver unit 301 is used. Retransmitting the cached target data message.
  • the transceiver unit 301 retransmits the cached target data packet by using the user plane path before the buffer; or retransmits the cached target packet by using the newly created user plane path, where the user plane path is at the user plane.
  • the gateway switch sends the path of the target data packet.
  • the transceiver unit 301 retransmits the cached target data packet.
  • the execution steps of the processing unit 302 and other technical features involved in the processing unit 302 may refer to the related content of the GW switch in the method embodiment of FIG. 7, and details are not described herein again. .
  • the program code stored in the storage unit 303 is specifically used to implement the functions of the SDN controller in the embodiment shown in FIG.
  • the processing unit 302 is configured to call the program code stored in the storage unit 303, and perform the following steps:
  • the flow entry is sent to the gateway switch, where the flow entry is used to indicate that the gateway switch is to use the aggregate service flow.
  • the target data packet in the packet is discarded or cached, and the aggregated traffic stream shares the maximum aggregation rate.
  • the flow entry when the flow entry is used to indicate that the gateway switch discards or caches the target data packet, the flow entry is used to instruct the gateway switch to directly discard or cache the target data packet. Or the flow entry is used to indicate that the gateway switch sends the target data packet if the priority of the target data packet is smaller than a priority of the data packet in the aggregated service flow. Discard or cache.
  • the processor 701 is further configured to: when a bit rate of the aggregated service flow decreases to less than the aggregated bit In the case of the rate, the gateway switch is instructed to retransmit the cached target data message.
  • the processing unit 302 is further configured to: instruct the gateway switch to retransmit the cached target data packet by using a user plane path before the buffer; or instruct the gateway switch to retransmit the cache by using a newly created user plane path.
  • the target packet, where the user plane path is on the user plane, and the gateway switch sends the path of the target data packet.
  • the processing unit 302 is further configured to: instruct the gateway switch to retransmit the cached target data if a priority level of the target data packet is greater than a priority level of other data packets that are cached. Message.
  • the execution steps of the processing unit 302 and other technical features involved in the processing unit 302 may refer to the related content of the SDN controller in the method embodiment of FIG. Narration.
  • the embodiment of the present application further provides a first network device (shown in FIG. 13) and a second network device (shown in FIG. 13), where The first network device is configured to perform the function of the GW switch in an aggregation rate control method described in the foregoing embodiment of FIG. 5, and the second network device is configured to execute the SDN controller in an aggregation rate control method described in the foregoing FIG. The function.
  • the first network device 41 of the embodiment of the present application includes: a receiving module 410, a matching module 420, an executing module 430, and a processing module 440.
  • the receiving module 410 is configured to receive a flow entry and a connection table sent by the software-defined network SDN controller, where the flow entry includes at least a matching domain and a flow table instruction, where the connection table includes at least a packet processing operation.
  • the matching module 420 is configured to parse and obtain the header information of the received target data packet, and match the header information with the matching field of the flow entry.
  • the execution module 430 is configured to execute a connection instruction in a flow table instruction of the flow entry, wherein the connection instruction is used to point to a connection table, if a matching match with the flow entry is successful.
  • the processing module 440 is configured to perform a message processing operation of the connection table, where the message processing operation is used to: when the bit rate of the aggregated service flow is greater than a set maximum aggregation rate, Data packets are discarded or cached.
  • the processing module 440 is configured to: directly discard or cache the target data packet; or discard or cache the target data packet according to a packet discarding or caching policy.
  • the processing module 440 is configured to: when the priority of the target data packet is less than a priority of other data packets of the aggregated service flow, the target data packet is discarded or cached; or And if the priority level of the target data packet is a specified priority level, the target data packet is discarded or cached.
  • the gateway switch further includes a retransmission module 450, where the retransmission module 450 is configured to: when the bit rate of the aggregated service flow is reduced to be less than the set maximum aggregation rate, the gateway The switch retransmits the target data packet.
  • the retransmission module 450 is further configured to: retransmit the target data packet by using a user plane path before the buffer; or retransmit the target data packet by using the newly established user plane path.
  • the retransmission module 450 is further configured to: directly retransmit the target data packet; or, in a case where the priority of the target data packet is greater than other data packets that are buffered, the retransmission device The target data message.
  • connection table at least includes: a connection table identifier, the maximum aggregation rate, and the packet processing operation.
  • the second network device 42 of the embodiment of the present application includes: a generating module 460 and a sending module 470.
  • the generating module 460 is configured to generate a flow entry and a connection table according to the QOS control policy, where the flow entry includes at least a matching domain and a flow table instruction, where the flow table instruction includes at least a connection instruction, and the connection instruction uses Pointing at the connection table, the connection table includes at least a packet processing operation, where the packet processing operation is used to discard the target data packet if the bit rate of the aggregated service flow is greater than the set maximum aggregation rate. Or cache;
  • the sending module 470 is configured to send the flow entry and the connection table to a gateway switch.
  • the discarding or caching the target data packet specifically includes: directly discarding or caching the target data packet; or discarding or caching the target data packet based on a packet discarding or caching policy.
  • the discarding or caching the target data packet based on the packet discarding or caching policy includes: when the priority of the target data packet is less than the priority of other data packets of the aggregated service flow The target data packet is discarded or cached; or the target data packet is discarded or cached if the priority of the target data packet is a specified priority.
  • the embodiment of the present application further provides a first network device (shown in FIG. 14) and a second network device (shown in FIG. 14).
  • the first network device is configured to perform the function of the GW switch in an aggregation rate control method described in the foregoing embodiment of FIG. 7, and the second network device is configured to perform SDN control in an aggregation rate control method described in the foregoing FIG. The function of the device.
  • the second network device 51 of the embodiment of the present application includes: a receiving module 510, a determining module 520, and a sending module 530.
  • the receiving module 510 is configured to receive a bit rate of the aggregated service flow reported by the gateway switch.
  • the determining module 520 is configured to determine that a bit rate of the aggregated service flow is greater than a maximum aggregation rate
  • the sending module 530 is configured to send a flow entry to the gateway switch, where the flow table entry is used to indicate the gateway, where the bit rate of the aggregated service flow is greater than the maximum aggregation rate.
  • the switch discards or caches the target data packet in the aggregated service flow, and the aggregated service flow shares the maximum aggregation rate.
  • the flow entry when the flow entry is used to indicate that the gateway switch discards or caches the target data packet, the flow entry is used to instruct the gateway switch to directly discard or cache the target data packet. Or the flow entry is used to indicate that the gateway switch sends the target data packet if the priority of the target data packet is smaller than a priority of the data packet in the aggregated service flow. Discard or cache.
  • the SDN controller when the flow entry is used to instruct the gateway switch to cache the target data packet, the SDN controller further includes an indication module 540, where the indication module 540 is configured to be in the aggregated service flow. And in the case that the bit rate falls below the aggregate bit rate, the gateway switch is instructed to retransmit the cached target data message.
  • the indication module 540 is further configured to: instruct the gateway switch to retransmit the cached target data packet by using a user plane path before the cache; or instruct the gateway switch to retransmit the cache by using a newly created user plane path.
  • the target packet, where the user plane path is on the user plane, and the gateway switch sends the path of the target data packet.
  • the indication module 540 is further configured to: instruct the gateway switch to retransmit the cached target datagram if a priority level of the target data packet is greater than a priority level of the cached other data packet. Text.
  • the first network device 52 of the embodiment of the present application includes: a sending module 550, a receiving module 560, and an executing module 570.
  • the sending module 550 is configured to report, to the SDN controller, a bit rate of the aggregated service flow
  • the receiving module 560 is configured to receive, by the SDN controller, a flow entry that is returned according to a bit rate of the aggregated service flow, where the flow entry is used to indicate that the gateway switch is to be in the aggregated service flow.
  • the target data packet is discarded or cached, and the aggregated service flow shares the maximum aggregation rate;
  • the execution module 570 is configured to execute the flow table entry of the flow entry to discard or cache the target data message.
  • the flow entry is used to instruct the gateway switch to discard or cache the target data packet, including: the flow entry is used to instruct the gateway switch to directly discard or cache the target data packet. Or the flow entry is used to indicate that the gateway switch sends the target data packet if the priority of the target data packet is smaller than a priority of the data packet in the aggregated service flow. Discard or cache.
  • the sending module 550 is further configured to decrease a bit rate of the aggregated service flow to be smaller than the aggregated bit rate. In the case of the retransmission of the cached target data message.
  • the sending module 550 is further configured to: retransmit the cached target data packet by using the user plane path before the buffer; or retransmit the cached target packet by using the newly created user plane path, where the user The surface path is on the user plane, and the gateway switch sends the path of the target data packet.
  • the sending module 550 is further configured to retransmit the cached target data packet if a priority level of the target data packet is greater than a priority level of the buffered other data packet.
  • the embodiment of the present application further provides a communication system, where the communication system includes: a first network device and a second network device.
  • the first network device corresponds to the gateway switch in the method embodiment of FIG.
  • the second network device corresponds to the SDN controller in the method embodiment of FIG. 5.
  • the first network device may be the first network device characterized by the device shown in FIG. 12, and the second network device may be the second network device shown in FIG.
  • the first network device may be the first network device 41 shown in FIG. 13, and the second network device may be the second network device 42 shown in FIG.
  • the embodiment of the present application further provides a communication system, where the communication system includes: a first network device and a second network device.
  • the first network device corresponds to the GW switch in the method embodiment of FIG.
  • the second network device corresponds to the SDN controller in the method embodiment of FIG.
  • the first network device may be the first network device characterized by the device shown in FIG. 12, and the second network device may be the second network device characterized by the device shown in FIG.
  • the first network device may be the first network device 52 shown in FIG. 14, and the second network device may be the second network device 51 shown in FIG.
  • the disclosed system, terminal, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present application.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present application may be in essence or part of the contribution to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Abstract

本申请实施例提供了一种聚合速率控制方法,设备以及系统。其中,所述方法包括:网关交换机接收软件自定义网络SDN控制器发送的流表项以及连接表,其中,流表项至少包括匹配域以及流表指令,连接表至少包括报文处理操作;解析并获取收到的目标数据报文的报头信息,并将报头信息与流表项的匹配域进行匹配;在与流表项的匹配域匹配成功的情况下,执行流表项的流表指令中的连接指令,其中,连接指令用于指向连接表;执行连接表的报文处理操作,其中,报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将目标数据报文丢弃或者缓存。上述方法能够在基于openflow的网络架构上实现对AMBR进行控制。

Description

聚合速率控制方法、设备以及系统 技术领域
本申请涉及通信领域,尤其涉及一种聚合速率控制方法、设备以及系统。
背景技术
第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)网络采用的是“尽力而为”的机制,为了满足不同业务场景的传输质量需求,系统会通过同时配置不同的服务质量(quality of service,Qos)参数以满足不同业务场景的需求。3GPP协议中定义的Qos参数包括:Qos等级定义(Qos class indentifier,QCI)、ARP(allocation and retention priority)、保证比特速率(guaranteed bit rate,GBR)、比特率上限(maximum bit rate,MBR)以及最大聚合速率(aggregated maximum bit rate,AMBR)等等。
在3GPP网络中,已经有成熟的机制对最大聚合速率进行控制,但是,在基于openflow的网络中尚未实现对最大聚合速率进行控制。
发明内容
本申请实施例提供了一种聚合速率控制方法,能够在基于openflow的网络中实现对最大聚合速率进行控制。
第一方面,提供了一种聚合速率控制方法,包括:
网关交换机接收软件自定义网络SDN控制器发送的流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述连接表至少包括报文处理操作;网关交换机解析并获取收到的目标数据报文的报头信息,并将所述报头信息与所述流表项的匹配域进行匹配;在与所述流表项的匹配域匹配成功的情况下,网关交换机执行所述流表项的流表指令中的连接指令,其中,所述连接指令用于指向连接表;网关交换机执行所述连接表的报文处理操作,其中,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将所述目标数据报文丢弃或者缓存。
第二方面,提供了一种聚合速率控制方法,包括:
SDN控制器根据QOS控制策略生成流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述流表指令至少包括连接指令,所述连接指令用于指向所述连接表,所述连接表至少包括报文处理操作,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将目标数据报文丢弃或者缓存;SDN控制器向网关交换机发送所述流表项以及所述连接表。
上述第一方面和第二方面分别从网关交换机和SDN控制器的角度分别描述了一种聚合速率控制方法,能够在基于openflow的网络中实现对最大聚合速率进行控制。
结合第一方面或者第二方面,将所述目标数据报文丢弃或者缓存具体至少两种方式:
在第一种方式中,网关交换机直接将所述目标数据报文丢弃或者缓存。
在第二种方式中,网关交换机基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。具体地,在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,网关交换机将所述目标数据报文丢弃或者缓存;或者,在所述目标数据报文的 优先级别为指定优先级别的情况下,网关交换机将所述目标数据报文丢弃或者缓存。
结合第一方面或者第二方面,当将所述目标数据报文缓存时,在将所述目标数据报文缓存之后,在所述聚合业务流的比特速率降低至小于所述设定的最大聚合速率的情况下,所述网关交换机重传所述目标数据报文。下面将分别从传输路径和重传方式两个角度分别介绍网关交换机如何重传目标数据报文。
从传输路径来看,所述网关交换机通过缓存前的用户面路径重传所述目标数据报文;或者,所述网关交换机通过新建立的用户面路径重传所述目标数据报文。
从重传方式来看,所述网关交换机直接重传所述目标数据报文;或者,在所述目标数据报文的优先级别大于缓存的其他数据报文的情况下,所述网关交换机重传所述目标数据报文。
结合第一方面或者第二方面,所述连接表至少包括:连接表标识、所述最大聚合速率以及所述报文处理操作。
第三方面,提供了一种聚合速率控制方法,包括:SDN控制器接收网关交换机上报的聚合业务流的比特速率;SDN控制器确定所述聚合业务流的比特速率大于最大聚合速率;在所述聚合业务流的比特速率大于所述最大聚合速率的情况下,SDN控制器向所述网关交换机下发流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率。
第四方面,提供了一种聚合速率控制方法,包括:
网关交换机向SDN控制器上报聚合业务流的比特速率;
网关交换机接收所述SDN控制器根据所述聚合业务流的比特速率返回的流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率;
网关交换机执行所述流表项的流表指令将所述目标数据报文进行丢弃或者缓存。
上述第三方面和第四方面分别从网关交换机和SDN控制器的角度分别描述了一种聚合速率控制方法,能够在基于openflow的网络中实现对最大聚合速率进行控制。
结合第三方面或者第四方面,流表项用于指示所述网关交换机将所述目标数据报文丢弃或者缓存的方式至少包括以下两种:
在第一种方式中,所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,
在第二种方式中,所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
结合第三方面或者第四方面,在所述聚合业务流的比特速率下降至小于所述聚合比特速率的情况下,SDN控制器指示所述网关交换机重传缓存的所述目标数据报文。
从传输路径来看,所述网关交换机通过缓存前的用户面路径重传所述目标数据报文;或者,所述网关交换机通过新建立的用户面路径重传所述目标数据报文。
从重传方式来看,所述网关交换机直接重传所述目标数据报文;或者,在所述目标数据报文的优先级别大于缓存的其他数据报文的情况下,所述网关交换机重传所述目标数据 报文。
第五方面,提供了一种第一网络设备,所述第一网络设备包括能够执行如第一方面任一项或者第四方面任一项所述的方法的单元。
第六方面,提供了一种第二网络设备,所述第二网络设备包括能够执行如第二方面任一项或者第三方面任一项所述的方法的单元。
第七方面,提供了一种第一网络设备,包括:处理器、发射器和接收器,其中:所述处理器用于执行如第一方面任一项所述的方法;或者,所述处理器用于执行如第四方面任一项所述的方法。
第八方面,提供了一种第二网络设备,包括:处理器、发射器和接收器,其中:所述处器用于执行如第二方面任一项所述的方法;或者,所述处理器用于执行如第三方面任一项所述的方法。
第九方面,提供了一种通信系统,包括:第一网络设备和第二网络设备,其中:在所述第一网络设备用于实现如第一方面任一项所述的方法的情况下,所述第二网络设备用于实现如第二方面任一项所述的方法;或者,在所述第一网络设备用于实现如第四方面任一项所述的方法的情况下,所述第二网络设备用于实现如第三方任一项所述的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的3GPP网络的系统结构示意图;
图2是本申请实施例涉及的基于openflow的网络的系统结构示意图;
图3是本申请实施例涉及的用户级的聚合业务流的构成示意图;
图4是现有技术中基于openflow的网络对数据进行处理的流程示意图;
图5是本申请实施例提供了一种聚合速率控制方法的交互图;
图6是图5所示的聚合速率控制方法的具体实施例的交互示意图;
图7是本申请实施例提供了另一种聚合速率控制方法的交互图;
图8是图7所示的聚合速率控制方法的一具体应用场景的示意图;
图9是图8所示的应用场景下使用图7所示的聚合速率控制方法的具体实施例的交互示意图;
图10是图7所示的聚合速率控制方法的另一具体应用场景的示意图;
图11是图10所示的应用场景下使用图7所示的聚合速率控制方法的具体实施例的交互示意图;
图12是本申请实施例提供的一种装置的结构示意图;
图13是本申请实施例提供的一种通信系统的结构示意图;
图14是本申请实施例提供的一种通信系统的结构示意图。
具体实施方式
如图1所示,传统的3GPP网络包括:终端设备110(user equipment,UE)、基站120(eNodeB,eNB)、服务网关130(serving gateway,SGW)、分组数据节点网关140(packet data node gateway,PGW)以及移动性管理实体150(mobility management entity,MME)。3GPP网络实现了用户面功能和控制面功能的分离,其中,用户面功能负责数据业务的传输和处理,控制面功能负责协调和控制信令的传送和处理。下面将分别介绍3GPP网络中各个设备实现的用户面功能以及控制面功能。
eNB 120实现的功能可以划分为用户面功能以及控制面功能。其中,eNB 120的用户面功能包括:数据报文和信令消息转发调度处理。eNB 120的控制面功能包括:无线资源分配以及L1L2配置管理。应理解,上述eNB 120的用户面功能以及控制面功能的举例只是为了进行说明,而非构成具体限定。
SGW 130实现的功能可以划分为用户面功能以及控制面功能。其中,SGW 130的用户面功能包括:数据报文转发、服务质量(quality of service,Qos)执行以及计费信息统计等等。SGW的控制面功能包括:承载管理。应理解,上述SGW 130的用户面功能以及控制面功能的举例只是为了进行说明,而非构成具体限定。
PGW 140实现的功能可以分为用户面功能以及控制面功能。其中,PGW 140的用户面功能包括:数据转发,QoS执行等。PGW 140的控制面功能包括:IP地址分配,承载管理等。应理解,上述PGW 140的用户面功能以及控制面功能的举例只是为了进行说明,而非构成具体限定。
MME 150实现的功能主要为控制面功能。其中,MME 150的控制面功能包括:寻呼(paging)、切换、漫游、鉴权、对非接入层(Non-Access Stratum,NAS)信令的加密和完整性保护,对接入层(Access Stratum,AS)安全性控制、空闲状态移动性控制等等。应理解,上述MME 150的控制面功能的举例只是为了进行说明,而非构成具体限定。
不难理解,图1所示的例子不仅可以应用于4G系统中,而且,还可以应用于5G或者后续演进的系统中,此处不作具体限定。
随着开放流(openflow)技术的发展,现有技术使用openflow技术对传统的3GPP网络进行了改造,从而得到本申请实施例涉及的openflow网络。
如图2所示,本申请的openflow网络包括UE 210、eNB交换机220(switch)、GW交换机230、软件定义网络控制器240(SDN controller)(software defined network,SDN)、eNB控制机250以及核心网控制机260。不难理解,尽管本申请实施例的网络架构不同于3GPP网络的网络架构,但是,openflow网络可以实现3GPP网络的功能。其中,eNB交互机220用于实现如图1所示3GPP网络中的eNB的用户面功能。GW交换机230用于实现如图1所示3GPP网络中的SGW的用户面功能以及PGW的用户面功能。eNB控制机250用于实现如图1所示3GPP网络中的eNB的控制面功能。核心网控制机260用于实现SGW的控制面功能、PGW的控制面功能以及MME的控制面功能。应理解,上述图2所示的网络架构仅仅是作为一种举例,不应构成具体限定。
不难理解,由于在3GPP网络中QoS执行功能是由GW网关实现,对应地,在openflow网络中QoS执行功能是由GW交换机实现。换而言之,GW交换机需要对QCI、ARP、GBR、 MBR以及AMBR等等Qos参数进行控制。下面将对QoS参数中包括的QCI、ARP、GBR、MBR以及AMBR分别进行详细的介绍。
QCI规定了不同QCI等级的资源类型、优先级别、分组延时预算和丢包率等等,从而为数据业务提供不同的服务质量。其中,当QCI等级不同时,基于openflow的网络为数据业务确定的QCI等级对应的资源类型、优先级别、分组延时预算和丢包率等等中的至少一个也不同。不难理解,当资源类型为GBR类型时,网络为数据业务提供的服务质量优于当资源类型为Non-GBR类型时,网络为数据业务提供的服务质量;优先级别较高时,网络为数据业务提供的服务质量优于优先级别较低时,网络为数据业务提供的服务质量;分组时延预算较小时,网络为数据业务提供的服务质量优于分组时延预算较大时,网络为数据业务提供的服务质量。丢包率较小时,网络为数据业务提供的服务质量优于丢包率较大时,网络为数据业务提供的服务质量。QCI的定义具体可以参阅表1。
表1标准QCI定义
Figure PCTCN2018116323-appb-000001
ARP参数包含下面三个要素:优先级(priority level),抢占能力(pre-emption capability),被抢占脆弱性(pre-emption vulnerability)。其中,在资源紧张的情况下,为优先级别高的数据业务建立承载优先于为优先级别低的数据业务建立承载。在资源紧张的情况下,抢占能力强的数据业务抢占别的承载的资源优先于抢占能力弱的数据业务抢占别的承载的资源。在资源紧张的情况下,被抢占脆弱性高的数据业务释放承载以提供资源给别的承载使 用优先于被抢占脆弱性低的数据业务释放承载以提供资源给别的承载使用。
GBR用于表示网络为数据业务提供的比特速率的最小值,即,网络为数据业务提供的比特速率必须大于GBR。例如,假设GBR为3Mbit/s,则网络为数据业务提供的比特速率可以是4Mbit/s或者5Mbit/s等等。可以理解,上述GBR的举例仅仅是用于说明,不构成具体限定。
MBR用于表示网络为数据业务提供的比特速率的最大值,即,网络为数据业务提供的比特速率必须小于MBR。例如,假设MBR为6Mbit/s,则网络为数据业务提供的比特速率可以是4Mbit/s或者5Mbit/s等等。可以理解,上述MBR的举例仅仅是用于说明,不构成具体限定。
AMBR用于限制为聚合业务流提供的比特速率不能大于最大聚合速率,即,当聚合业务流的比特速率大于最大聚合速率时,需要将聚合业务流中的部分或者全部业务流的报文丢弃或者缓存。其中,聚合业务流可以包括用户设备(user equipment,UE)级的聚合业务流以及接入点(access point name,APN)级的聚合业务流等等。如图3所示,用户级的聚合业务流可以是同一个用户设备累计的多种业务流的组合,例如,同一签约用户的视频业务流、语音业务流以及游戏业务流等等。接入点级的聚合业务流可以是同一接入设备累计的多种业务流的组合,例如,同一接入设备的视频业务流、语音业务流以及游戏业务流等等。举例说明,假设最大聚合速率为10Mbit/s,聚合业务流中视频业务流的比特速率为3Mbit/s、语音业务流的比特速率为2Mbit/s以及游戏业务流的比特速率为4Mbit/s,则聚合业务流的比特速率小于最大聚合速率。
在具体实现中,GW交换机很容易实现对QCI、GBR、MBR等等进行控制,但是,GW交换机却难以对AMBR实现控制,具体的原因分析如下:
在现有技术中,openflow网络是采用下发流表项(flow entry)的方式对数据报文进行处理。为了便于理解,下面将以GW交换机为例具体进行说明基于openflow的网络如何是采用下发流表项对数据报文进行处理的:如图4所示,S101:SDN控制器向GW交换机下发流表项;S102:GW交换机将接收到的流表项进行存储;S103:GW交换机接收到数据报文之后,解析并获取收到的数据报文的报头信息,并将报头信息与存储在GW交换机中的流表项的匹配域进行匹配;S104:如果报头信息与流表项的匹配域匹配成功,则GW交换机按照流表指令对数据报文进行处理。
为了满足不同场景的需要,openflow网络需要基于不同的粒度对数据报文进行处理。例如,openflow网络可能需要从流粒度、承载粒度、APN(access point name)粒度以及UE(user equipment)粒度等等多种不同的粒度对数据报文进行处理。例如,GW网关在进行Qos控制时,对QCI、GBR、MBR的控制都是基于流粒度的数据报文处理,对AMBR的控制是基于APN粒度以及UE粒度的数据报文处理。
但是,基于openflow的网络是基于流表项对数据报文进行处理的,即,基于openflow的网络是基于流粒度对数据报文进行处理的,所以,基于openflow的网络难以在比流粒度更大的粒度上对数据报文进行处理。然而,对于QCI、GBR、MBR等等的控制是基于流粒度对数据报文进行处理的,对AMBR的控制是基于UE粒度或者APN粒度对数据报文进行处理的,所以,在现今的基于openflow的网络中只能实现对QCI、GBR、MBR等等的 控制,尚未实现对AMBR进行控制。
为了解决上述问题,本申请提供了两种聚合速率控制方法、装置以及系统,能够在基于openflow的网络架构上实现对AMBR进行控制。
如图5所示,本申请实施例提供了一种聚合速率控制方法。本申请实施例的聚合速率控制方法包括如下步骤:
S201:SDN控制器根据QOS控制策略生成流表项以及连接表。
在本申请实施例中,QOS控制策略至少包括聚合业务流的最大聚合速率。可选地,QOS控制策略还可以包括聚合业务流的QCI以及非聚合业务流的QCI、GBR、MBR等等。举例来说,QOS控制策略可以是:聚合业务流的最大聚合速率为10Mbit/S。可以理解,上述Qos控制策略的举例仅仅用于说明,不应构成具体的限定。
在本申请实施例中,最大聚合速率是网络为聚合业务流能够提供的比特速率的最大值。即,如果聚合业务流的比特速率小于最大聚合速率,则网络能够正常工作,如果聚合业务流的比特速率大于最大聚合速率,则网络需要将聚合业务流中的部分和全部业务流的数据报文进行丢弃或者缓存,直到聚合业务流的比特速率小于最大聚合速率。也就是说,聚合业务流能够占用网络的比特速率不能超过最大聚合速率。
举例说明,假设最大聚合速率为20Mbit/s,聚合业务流中视频业务流的比特速率为7Mbit/s、语音业务流的比特速率为3Mbit/s以及游戏业务流的比特速率为5Mbit/s,则聚合业务流的比特速率小于最大聚合速率,网络能够正常工作。又假设最大聚合速率为20Mbit/s,聚合业务流中视频业务流的比特速率为10Mbit/s、语音业务流的比特速率为3Mbit/s以及游戏业务流的比特速率为8Mbit/s,则聚合业务流的比特速率大于最大聚合速率,需要将网络需要将聚合业务流中的部分和全部业务流的数据报文进行丢弃或者缓存。
S202:SDN控制器将流表项以及连接表发送给GW交换机。相应地,GW交换机接收SDN控制器发送的流表项以及连接表。
S203:GW交换机解析并获取收到的目标数据报文的报头信息,并将报头信息与流表项的匹配域进行匹配。
在本申请实施例中,目标数据报文是采用特定格式组织起来的数据。当目标数据报文采用的协议不同时,目标数据报文的格式通常也并不相同,例如,当目标数据报文采用TCP/IP协议时,目标数据报文采用的格式不同于当目标数据报文采用UDP协议时,目标数据报文采用的格式。但是,即使目标数据报文的格式各不相同,如表2所示,目标数据报文通常都会包括报头信息(head)、净荷(playload)以及校验信息,其中,报头信息通常用于承载与用户数据相关的传输信息,例如,报文长度、报文类型、报文的标识信息等等。报文的标识信息可以是报文的唯一标识,例如,IP五元组(源IP地址、目的IP地址、协议类型、源端口号、目的端口号)中的至少一个,或者,以太网帧头的各种头域(源MAC地址、目的MAC地址等等)中的至少一个,此处不做具体限定。净荷通常用于承载用户数据,例如,视频数据、音频数据以及游戏数据等等。检验信息用于校验报头信息以及净荷的正确性。不难理解,当净荷占据整个目标数据报文的比例越大时,目标数据报文的传输效率越高,当净荷占据整个目标数据报文的比例越小时,目标数据报文的传输效率越低。
表2目标数据报文
Figure PCTCN2018116323-appb-000002
如表3所示,以以太网帧协议为例,目标数据报文可以包括6个字节的目的MAC地址、6个字节的源MAC地址、2个字节的报文类型/长度、46至1500字节的数据以及4字节的帧校验序列(frame check sequence,FCS)。其中,目标数据报文的报头信息包括目的MAC地址、源MAC地址、报文类型以及报文长度。目标数据报文的净荷包括46至1500字节的数据。数据报文的校验信息包括4字节的FCS。应理解,上述例子中以目标数据报文采用以太网帧协议为例进行说明,但是,在实际应用中,目标数据报文还可以采用其他的协议,此处不作具体限定。
表3目标数据报文(以太网帧协议)
Figure PCTCN2018116323-appb-000003
在本申请实施例中,如表4所示,流表项通常可以包括但不限于:匹配域(Match Fields)、优先级别(priority)、计数器(counters)、流表指令(instructiong)、老化时间(Timeout)、附属属性(Cookie)以及便签(flag)。应理解,表4所示的流表项仅仅是作为一种举例,不应构成具体的限定。
表4流表项
Figure PCTCN2018116323-appb-000004
在一具体实施方式中,匹配域可用于承载与目标数据报文的报头信息进行匹配的指定值。例如,指定值可以是IP五元组(源IP地址、目的IP地址、协议类型、源端口号、目的端口号)中的至少一个,或者,可以是以太网帧头的各种头域(源MAC地址、目的MAC地址等等)中的至少一个。需要说明的是,上述匹配域的举例仅仅是用于说明,不应构成具体的限定。在实际应用中,通过目标数据报文的报头信息与流表项的匹配域进行匹配,就可以确定目标数据报文对应的流表项,从而获得目标数据报文的处理方式。
在一具体实施方式中,流表指令用于指示对目标数据报文的处理方式,例如,指向连接表、转发、丢弃、修改报文头、封装以及解封装等等。在实际应用中,在目标数据报文的报头信息与流表项的匹配域能够匹配时,则对应执行流表项中的流表指令。
S204:在目标数据报文的报头信息与流表项的匹配域相匹配时,GW交换机执行流表项的流表指令中的连接指令。
在本申请实施例中,在目标数据报文的报头信息与流表项的匹配域相匹配时,GW交换机执行流表项的流表指令中的连接指令指向连接表。举个例子说明,假设SDN控制器向GW交换机下发流表项为:匹配域为源IP地址为192.168.0.12,目的IP地址为192.168.0.135,流表指令为指向连接表。GW交换机接收到数据报文之后,解析并获取收到的数据报文的报头信息为源IP地址为192.168.0.12,目的IP地址为192.168.0.135,则目标数据报文的报头信息与流表项的匹配域相匹配,GW交换机按照流表指令将指向连接表。应理解,此处的例子仅仅是用于进行举例,不应构成具体限定。
S205:GW交换机执行连接表的报文处理操作。
在本申请实施例中,如表5所示,连接表至少包括连接表标识、最大聚合速率以及报文处理操作。
表5连接表
Figure PCTCN2018116323-appb-000005
其中,连接表标识可以是连接表的唯一标识。最大聚合速率是根据Qos控制策略得到的最大聚合速率。报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将目标数据报文丢弃或者缓存。可选地,连接表还可以包括指定优先等级,其中,指定优先等级用于指示GW交换机将指定优先等级的数据报文进行丢弃或者缓存。需要说明的是,表5所示的连接表仅仅是作为一种示例,不应构成具体限定。
下面将结合具体的应用场景说明如何通过图5所示的聚合速率控制方法对最大聚合速率进行控制的。假设聚合业务流包括业务流1以及业务流2,业务流1的比特速率为6Mbit/s,业务流2的比特速率为5Mbit/s,Qos控制策略为聚合业务流的最大聚合速率为10Mbit/s,如图6所示,具体的步骤可以体现为:
S301:SDN控制器根据聚合业务流的Qos控制策略生成的连接表1、流表项1以及流表项2。
在本实施例中,连接表1的连接标识为LINK-ID1,最大聚合速率为10Mbit/s,报文处理操作为在聚合业务流的比特速率大于10Mbit/s时,将业务流1的数据报文进行丢弃或者缓存。流表项1中的匹配域1为业务流1的IP五元组,流表指令1为指向连接标识为LINK-ID1的连接表1。流表2中的匹配域2为业务流2的IP五元组,流表指令2为指向连接标识为LINK-ID1的连接表1。
S302:SDN控制器将流表项1、流表项2以及连接表1下发给GW交换机。相应地,GW交换机接收SDN控制器下发的流表项1、流表项2以及连接表1。
S303:当业务流1经过GW交换机时,GW交换机将业务流1的数据报文的IP五元组与流表项1的匹配域1的IP五元组进行匹配。因为业务流1的数据报文的IP五元组与流表项1的匹配域1的IP五元组匹配成功,GW交换机执行流表指令1指向连接标识为LINK-ID1的连接表1。
S304:当业务流2经过GW交换机时,GW交换机将业务流2的数据报文的IP五元组与流表项2的匹配域2的IP五元组进行匹配。因为业务流2的数据报文的IP五元组与流表项2的匹配域2的IP五元组匹配成功,GW交换机执行流表指令2指向连接标识为LINK-ID1的连接表1。
S305:GW交换机执行连接表1中的报文处理操作,统计业务流1和业务流2的比特速率为11Mbit/s,从而确定聚合业务流的比特速率大于最大聚合业务流,将业务流1中的部分或者全部数据报文进行丢弃或者缓存。
如图7所示,本申请实施例提供了另一种聚合速率控制方法。本申请实施例的聚合速率控制方法包括如下步骤:
S401:GW交换机向SDN控制器上报聚合业务流的比特速率。相应地,SDN控制器 接收GW交换机上报的聚合业务流的比特速率。
在本申请实施例中,聚合业务流可以是用户设备级的聚合业务流以及接入点级的聚合业务流等等。用户级的聚合业务流可以是同一个用户设备累计的多种业务流的组合,例如,同一签约用户的视频业务流、语音业务流以及游戏业务流等等。接入点级的聚合业务流可以是同一接入设备累计的多种业务流的组合,例如,同一接入设备的视频业务流、语音业务流以及游戏业务流等等。可以理解,上述聚合业务流的举例仅仅用于说明,不应构成具体的限定,在其他可能的实施例中,聚合业务流的业务流的数量、类型等等可以是各不相同的。
S402:SDN控制器确定所述聚合业务流的比特速率大于最大聚合速率。
在本申请实施例中,最大聚合速率是网络为聚合业务流能够提供的比特速率的最大值。即,如果聚合业务流的比特速率小于最大聚合速率,则网络能够正常工作,如果聚合业务流的比特速率大于最大聚合速率,则网络需要将聚合业务流中的部分和全部业务流的数据报文进行丢弃或者缓存,直到聚合业务流的比特速率小于最大聚合速率。也就是说,聚合业务流能够占用网络的比特速率不能超过最大聚合速率。
举例说明,假设最大聚合速率为20Mbit/s,聚合业务流中视频业务流的比特速率为7Mbit/s、语音业务流的比特速率为3Mbit/s以及游戏业务流的比特速率为5Mbit/s,则聚合业务流的比特速率小于最大聚合速率,网络能够正常工作。又假设最大聚合速率为20Mbit/s,聚合业务流中视频业务流的比特速率为10Mbit/s、语音业务流的比特速率为3Mbit/s以及游戏业务流的比特速率为8Mbit/s,则聚合业务流的比特速率大于最大聚合速率,需要将网络需要将聚合业务流中的部分和全部业务流的数据报文进行丢弃或者缓存。
S403:在所述聚合业务流的比特速率大于所述最大聚合速率的情况下,SDN控制器向所述GW交换机下发流表项。相应地,所述网关交换机接收所述SDN控制器下发的流表项。
S404:GW交换机解析并获取收到的目标数据报文的报头信息,并将报头信息与流表项的匹配域进行匹配。
在本申请实施例中,目标数据报文是采用特定格式组织起来的数据。当目标数据报文采用的协议不同时,目标数据报文的格式通常也并不相同,例如,当目标数据报文采用TCP/IP协议时,目标数据报文采用的格式不同于当目标数据报文采用UDP协议时,目标数据报文采用的格式。但是,即使目标数据报文的格式各不相同,如表2所示,目标数据报文通常都会包括报头信息(head)、净荷(playload)以及校验信息,其中,报头信息通常用于承载与用户数据相关的传输信息,例如,报文长度、报文类型、报文的标识信息等等。报文的标识信息可以是报文的唯一标识,例如,IP五元组(源IP地址、目的IP地址、协议类型、源端口号、目的端口号)中的至少一个,或者,以太网帧头的各种头域(源MAC地址、目的MAC地址等等)中的至少一个,此处不做具体限定。净荷通常用于承载用户数据,例如,视频数据、音频数据以及游戏数据等等。检验信息用于校验报头信息以及净荷的正确性。不难理解,当净荷占据整个目标数据报文的比例越大时,目标数据报文的传输效率越高,当净荷占据整个目标数据报文的比例越小时,目标数据报文的传输效率越低。
如表3所示,以以太网帧协议为例,目标数据报文可以包括6个字节的目的MAC地址、6个字节的源MAC地址、2个字节的报文类型/长度、46至1500字节的数据以及4字 节的帧校验序列(frame check sequence,FCS)。其中,目标数据报文的报头信息包括目的MAC地址、源MAC地址、报文类型以及报文长度。目标数据报文的净荷包括46至1500字节的数据。数据报文的校验信息包括4字节的FCS。应理解,上述例子中以目标数据报文采用以太网帧协议为例进行说明,但是,在实际应用中,目标数据报文还可以采用其他的协议,此处不作具体限定。
在本申请实施例中,如表4所示,流表项通常可以包括但不限于:匹配域(Match Fields)、优先级别(priority)、计数器(counters)、流表指令(instructiong)、老化时间(Timeout)、附属属性(Cookie)以及便签(flag)。应理解,表4所示的流表项仅仅是作为一种举例,不应构成具体的限定。
在一具体实施方式中,匹配域可用于承载与目标数据报文的报头信息进行匹配的指定值。例如,指定值可以是IP五元组(源IP地址、目的IP地址、协议类型、源端口号、目的端口号)中的至少一个,或者,可以是以太网帧头的各种头域(源MAC地址、目的MAC地址等等)中的至少一个。需要说明的是,上述匹配域的举例仅仅是用于说明,不应构成具体的限定。在实际应用中,通过目标数据报文的报头信息与流表项的匹配域进行匹配,就可以确定目标数据报文对应的流表项,从而获得目标数据报文的处理方式。
在一具体实施方式中,流表指令用于指示对目标数据报文的处理方式,例如,转发、丢弃、修改报文头、封装以及解封装等等。在实际应用中,在目标数据报文的报头信息与流表项的匹配域能够匹配时,则对应执行流表项中的流表指令。
S405:在目标数据报文的报头信息与流表项的匹配域相匹配时,GW交换机执行流表项的流表指令将所述聚合业务流的目标数据报文进行丢弃或者缓存。
下面将结合图8具体的应用场景说明如何通过图7所示的聚合速率控制方法对最大聚合速率进行控制的。假设聚合业务流包括业务流1以及业务流2,并且都经过同一个GW网关230,业务流1的比特速率为6Mbit/s,业务流2的比特速率为5Mbit/s,Qos控制策略为聚合业务流的最大聚合速率为10Mbit/s,如图9所示,具体的步骤可以体现为:
S501:GW交换机向SDN控制器上报业务流1以及业务流2的比特速率。相应地,SDN控制器接收GW交换机上报的业务流1和业务流2的比特速率。
S502:SDN控制器统计业务流1以及业务流2的比特速率,从而确定确定聚合业务流的比特速率为11Mbit/s。
S503:SDN控制器确定聚合业务流的比特速率11Mbit/s大于最大聚合速率10Mbit/s。
S504:SDN控制器向GW交换机下发流表项1以及流表项2。相应地,GW交换机接收SDN控制器下发的流表项1以及流表项2。其中,流表项1的匹配域1为业务流1的IP五元组,流表指令1为将业务流1中的目标数据报文进行丢弃或者缓存。流表项2的匹配域2为业务流2的IP五元组,流表指令2为将业务流2中的目标数据报文进行转发。
S505:当业务流1经过GW交换机时,GW交换机将业务流1的数据报文的IP五元组与流表项1的匹配域1的IP五元组进行匹配。因为业务流1的数据报文的IP五元组与流表项1的匹配域1的IP五元组匹配成功,GW交换机执行流表项1中的流表指令1将业务流1中的目标数据报文进行丢弃或者缓存。
S506:当业务流2经过GW交换机时,GW交换机将业务流2的数据报文的IP五元组 与流表项2的匹配域2的IP五元组进行匹配。因为业务流2的数据报文的IP五元组与流表项2的匹配域2的IP五元组匹配成功,GW交换机执行流表项2中的流表指令2将业务流2中的目标数据报文进行转发。
下面将结合图10具体的应用场景说明如何通过图7所示的聚合速率控制方法对最大聚合速率进行控制的。假设聚合业务流包括业务流1以及业务流2,并且,业务流1经过GW交换机1,业务流2经过GW交换机2,业务流1的比特速率为6Mbit/s,业务流2的比特速率为5Mbit/s,Qos控制策略为聚合业务流的最大聚合速率为10Mbit/s,如图11所示,具体的步骤可以体现为:
S601:GW交换机1向SDN控制器上报业务流1的比特速率。相应地,SDN控制器接收GW交换机1上报的业务流1的比特速率。
S602:GW交换机2向SDN控制器上报业务流2的比特速率。相应地,SDN控制器接收GW交换机2上报的业务流2的比特速率。
S603:SDN控制器统计业务流1以及业务流2的比特速率,从而确定确定聚合业务流的比特速率为11Mbit/s。
S604:SDN控制器确定聚合业务流的比特速率11Mbit/s大于最大聚合速率10Mbit/s。
S605:SDN控制器向GW交换机1下发流表项1。相应地,GW交换机1接收SDN控制器下发的流表项1。其中,流表项1的匹配域1为业务流1的IP五元组,流表指令1为将业务流1中的目标数据报文进行丢弃或者缓存。
S606:SDN控制器向GW交换机2下发流表项2。相应地,GW交换机2接收SDN控制器下发的流表项2。其中,流表项2的匹配域2为业务流2的IP五元组,流表指令2为将业务流2中的目标数据报文进行转发。
S607:当业务流1经过GW交换机1时,GW交换机1将业务流1的数据报文的IP五元组与流表项1的匹配域1的IP五元组进行匹配。因为业务流1的数据报文的IP五元组与流表项1的匹配域1的IP五元组匹配成功,GW交换机1执行流表项1中的流表指令1将业务流1中的目标数据报文进行丢弃或者缓存。
S608:当业务流2经过GW交换机2时,GW交换机2将业务流2的数据报文的IP五元组与流表项2的匹配域2的IP五元组进行匹配。因为业务流2的数据报文的IP五元组与流表项2的匹配域2的IP五元组匹配成功,GW交换机2执行流表项2中的流表指令2将业务流2中的目标数据报文进行转发。
下面将详细介绍在图5至图11所示的聚合速率控制方法中,GW交换机丢弃或者缓存数据报文的几种主要的方式:
在第一种方式中,GW交换机直接将目标数据报文进行丢弃或者缓存。在本实施方式中,GW交换机不需要考虑目标数据报文的级别,只要聚合业务流的的比特速率大于设定的最大聚合速率,GW交换机立刻将目标数据报文进行丢弃或者缓存,以尽快将聚合业务流的比特速率下降至最大聚合速率。例如,聚合业务流包括业务流1以及业务流2,业务流1的优先级别为1,业务流2的优先级别为5,在聚合业务流的比特速率大于设定的最大聚合速率时,GW交换机将业务流1和业务流2的目标数据报文都进行丢弃或者缓存。
在第二种方式中,GW交换机基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓 存。在本实施方式中,报文丢弃或缓存策略可以是自定义的策略,例如,可以是最低优先级别策略或者指定优先级别策略等等。需要说明的是,报文丢弃或者缓存策略的举例仅仅是为了进行说明,不应构成具体限定。
当报文丢弃或缓存策略为最低优先级别策略时,GW交换机在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存,以保证优先级别较高的数据报文能够优先进行传输。例如,聚合业务流包括业务流1以及业务流2,业务流1的优先级别为1,业务流2的优先级别为5,在聚合业务流的比特速率大于设定的最大聚合速率时,GW交换机将业务流2的目标数据报文都进行丢弃或者缓存。当然,如果将业务流2的目标数据报文都丢弃或者缓存之后,聚合业务流的比特速率仍然大于设定的最大聚合速率,则可以继续将业务流1的目标数据报文都进行丢弃或者缓存。
当报文丢弃或缓存策略为指定优先级别策略时,GW交换机在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存,这样可以无需比较聚合业务流中的数据报文的优先级别,尽快将聚合业务流的比特速率下降至最大聚合速率。例如,聚合业务流包括业务流1以及业务流2,业务流1的优先级别为1,业务流2的优先级别为5,指定将优先级别为5的业务流进行丢弃或者缓存。在聚合业务流的比特速率大于设定的最大聚合速率时,GW交换机将业务流2的目标数据报文都进行丢弃或者缓存。当然,如果将业务流2的目标数据报文都丢弃或者缓存之后,聚合业务流的比特速率仍然大于设定的最大聚合速率,则可以继续将业务流1的目标数据报文都进行丢弃或者缓存。
在实际应用中,GW交换机还可以将多个报文丢弃或缓存策略结合进行使用。例如,GW交换机可以将最低优先级别策略和指定优先级别策略结合起来使用。即,GW交换机先按照指定优先级别策略丢弃或者缓存目标数据报文,然后,GW交换机再按照最低优先级别策略丢弃或者缓存目标数据报文。举个例子进行说明,聚合业务流包括业务流1以及业务流2,业务流1的优先级别为1,业务流2的优先级别为3,指定将优先级别为5的业务流进行丢弃或者缓存。在聚合业务流的比特速率大于设定的最大聚合速率时,GW交换机首先按照指定优先级别策略查找优先级别为5的业务流的数据报文进行丢弃或者缓存。在查找不到优先级别为5的业务流之后,GW交换机再按照最低优先级别策略将优先级别较低的业务流2的目标数据报文进行丢弃或者缓存,在将业务流2的目标数据报文都丢弃或者缓存之后,聚合业务流的比特速率仍然大于设定的最大聚合速率,则可以继续将优先级别较高的业务流1的目标数据报文都进行丢弃或者缓存。
如果GW网关将目标数据报文缓存在自身的存储器内,则在聚合业务流的比特速率下降至小于最大聚合比特速率之后,GW网关可以将缓存在自身的存储器内的目标数据报文进行重传。下文将从重传路径以及重传顺序两个角度介绍GW网关将缓存的目标数据报文进行重传的几种方式:
从重传路径的角度来看:
在第一种方式中,所述网关交换机通过缓存前的用户面路径重传所述目标数据报文。假设openflow网络包括UE、eNB交换机、GW交换机1、GW交换机2、GW交换机3以及GW交换机4。在缓存前,目标数据报文通过UE、eNB交换机、GW交换机1以及GW 交换机2的用户面路径传输所述目标数据报文,则在缓存后,依然通过用户面路径UE、eNB交换机、GW交换机1以及GW交换机2传输所述目标数据报文。
在第二种方式中,所述网关交换机通过新建立的用户面路径重传所述目标数据报文。假设openflow网络包括UE、eNB交换机、GW交换机1、GW交换机2、GW交换机3以及GW交换机4。在缓存前,目标数据报文通过UE、eNB交换机、GW交换机1以及GW交换机2的用户面路径传输所述目标数据报文,则在缓存后,可以通过新建立的用户面路径UE、eNB交换机、GW交换机3以及GW交换机4传输所述目标数据报文。
从重传顺序的角度来看:
在第一种方式中,所述网关交换机直接重传所述目标数据报文。在本实施方式中,GW交换机不需要考虑目标数据报文的级别,只要聚合业务流的的比特速率降低至小于设定的最大聚合速率,GW交换机立刻将目标数据报文进行重传,以尽快将缓存的目标数据报文进行重传。例如,缓存的目标数据报文包括业务流1的目标数据报文以及业务流2的目标数据报文,业务流1的优先级别为1,业务流2的优先级别为5。在聚合业务流的比特速率降低至小于最大聚合速率时,GW交换机将业务流1和业务流2的目标数据报文都进行重传。
在第二种方式中,在所述目标数据报文的优先级别大于缓存的其他数据报文的情况下,所述网关交换机重传所述目标数据报文。在本实施方式中,GW交换机优先将级别较高的目标数据报文进行重传,以减少优先级别较高的数据报文的传输时延。例如,缓存的目标数据报文包括业务流1的目标数据报文以及业务流2的目标数据报文,业务流1的优先级别为1,业务流2的优先级别为5。在聚合业务流的比特速率降低至小于最大聚合速率时,GW交换机优先将业务流1的目标数据报文都进行重传。在业务流1的目标数据报文都重传完毕之后,GW交换机再将业务流2的目标数据报文都进行重传。
基于与图5所示的聚合速率控制方法相同的构思,本申请实施例还提供一种装置(如图12所示),该装置用于实现前述图5实施例所描述的方法。如图12所示,装置30包括:收发单元301、处理单元302以及存储单元303。收发单元301、处理单元302以及存储单元303可通过总线或者其它方式连接(图12中以通过总线连接为例)。
收发单元301用于实现处理单元302与其他单元或者网元的内容交互。具体的,收发单元301可以是该装置的通信接口,也可以是收发电路或者收发器,还可以是收发信机。收发单元301还可以是处理单元302的通信接口或者收发电路。可选的,收发单元301可以是一个收发芯片。
处理单元302用于实现装置对数据的处理。处理单元302可以是处理电路,也可以是处理器。其中,处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。上述处理器302可以是通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻 辑(Generic Array Logic,GAL)或其任意组合。在实现过程中,上述方法的各步骤可以通过处理单元302中的硬件的集成逻辑电路或者软件形式的指令完成。其中,处理单元302可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
存储单元303用于存储处理单元302执行的计算机指令。存储单元303可以是存储电路也可以是存储器。存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
当装置30为第一网络设备时,存储单元303中存储的程序代码具体用于实现图5所示实施例中的所述GW交换机的功能。具体的,处理单元302用于调用存储单元303中存储的程序代码,并执行以下步骤:
通过收发单元301接收SDN控制器发送的流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述连接表至少包括报文处理操作;
解析并获取收到的目标数据报文的报头信息,并将所述报头信息与流表项的匹配域进行匹配;
在与所述流表项的匹配域匹配成功的情况下,执行所述流表项的流表指令中的连接指令,其中,所述连接指令用于指向连接表;
执行所述连接表的报文处理操作,其中,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将所述目标数据报文丢弃或者缓存。
可选地,所述处理单元302具体用于:直接将所述目标数据报文丢弃或者缓存;或者,基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。
可选地,所述处理单元302具体用于:在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存;或者,在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存。
可选地,当将所述目标数据报文缓存时,在将所述目标数据报文缓存之后,所述处理单元302还用于:在所述聚合业务流的比特速率降低至小于所述设定的最大聚合速率的情况下,通过收发单元301重传所述目标数据报文。
可选地,所述收发单元301还用于:通过缓存前的用户面路径重传所述目标数据报文;或者,通过新建立的用户面路径重传所述目标数据报文。
可选地,所述收发单元301还用于:直接重传所述目标数据报文;或者,在所述目标数据报文的优先级别大于缓存的其他数据报文的情况下,重传所述目标数据报文。
可选地,所述连接表至少包括:连接表标识、所述最大聚合速率以及所述报文处理操 作。
需要说明的,当装置30为第一网络设备时,处理单元302的执行步骤以及处理单元302涉及的其他技术特征还可参照图5方法实施例中所述GW交换机的相关内容,这里不再赘述。
当装置30为第二网络设备时,存储单元303中存储的程序代码具体用于实现图5所示实施例中的所述SDN控制器的功能。具体的,处理单元302用于调用存储单元303中存储的程序代码,并执行以下步骤:
SDN控制器根据QOS控制策略生成流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述流表指令至少包括连接指令,所述连接指令用于指向所述连接表,所述连接表至少包括报文处理操作,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将目标数据报文丢弃或者缓存;
SDN控制器向网关交换机发送所述流表项以及所述连接表。
可选地,将所述目标数据报文丢弃或者缓存具体包括:直接将所述目标数据报文丢弃或者缓存;或者,基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。
可选地,所述基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存,包括:在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存;或者,在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存。
需要说明的,当装置30为第二网络设备时,处理单元302的执行步骤以及处理单元302涉及的其他技术特征还可参照图5方法实施例中所述SDN控制器的相关内容,这里不再赘述。
基于与图7所示的聚合速率控制方法相同的构思,本申请实施例还提供一种装置(如图12所示),该装置用于实现前述图7实施例所描述的方法。如图12所示,装置30包括:收发单元301、处理单元302以及存储单元303。收发单元301、处理单元302以及存储单元303可通过总线或者其它方式连接(图12中以通过总线连接为例)。
收发单元301用于实现处理单元302与其他单元或者网元的内容交互。具体的,收发单元301可以是该装置的通信接口,也可以是收发电路或者收发器,还可以是收发信机。收发单元301还可以是处理单元302的通信接口或者收发电路。可选的,收发单元301可以是一个收发芯片。
处理单元302用于实现装置对数据的处理。处理单元302可以是处理电路,也可以是处理器。其中,处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。上述处理器302可以是通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。在实现过程中,上述方法的各步骤可以通过 处理单元302中的硬件的集成逻辑电路或者软件形式的指令完成。其中,处理单元302可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
存储单元303用于存储处理单元302执行的计算机指令。存储单元303可以是存储电路也可以是存储器。存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
当装置30为第一网络设备时,存储单元303中存储的程序代码具体用于实现图7所示实施例中的所述GW交换机的功能。具体的,处理单元302用于调用存储单元303中存储的程序代码,并执行以下步骤:
通过收发单元301向SDN控制器上报聚合业务流的比特速率;
通过收发单元301接收所述SDN控制器根据所述聚合业务流的比特速率返回的流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率;
通过处理单元302执行所述流表项的流表指令将所述目标数据报文进行丢弃或者缓存。
可选地,所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
可选地,当流表项用于指示所述网关交换机将所述目标数据报文缓存时,在所述聚合业务流的比特速率下降至小于所述聚合比特速率的情况下,通过收发单元301重传缓存的所述目标数据报文。
可选地,收发单元301通过缓存前的用户面路径重传缓存的目标数据报文;或者,通过新建的用户面路径重传缓存的目标报文,其中,所述用户面路径为在用户面上,所述网关交换机发送所述目标数据报文的路径。
可选地,在所述目标数据报文的优先级别大于缓存的其他数据报文的优先级别的情况下,收发单元301重传缓存的所述目标数据报文。
需要说明的,当装置30为第一网络设备时,处理单元302的执行步骤以及处理单元302涉及的其他技术特征还可参照图7方法实施例中所述GW交换机的相关内容,这里不再赘述。
当装置30为第二网络设备时,存储单元303中存储的程序代码具体用于实现图7所示实施例中的所述SDN控制器的功能。具体的,处理单元302用于调用存储单元303中存储 的程序代码,并执行以下步骤:
接收网关交换机上报的聚合业务流的比特速率;
确定所述聚合业务流的比特速率大于最大聚合速率;
在所述聚合业务流的比特速率大于所述最大聚合速率的情况下,向所述网关交换机下发流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率。
可选地,当流表项用于指示所述网关交换机将所述目标数据报文丢弃或者缓存时,所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
可选地,当流表项用于指示所述网关交换机将所述目标数据报文缓存时,所述处理器701还用于:在所述聚合业务流的比特速率下降至小于所述聚合比特速率的情况下,指示所述网关交换机重传缓存的所述目标数据报文。
可选地,所述处理单元302还用于:指示所述网关交换机通过缓存前的用户面路径重传缓存的目标数据报文;或者,指示所述网关交换机通过新建的用户面路径重传缓存的目标报文,其中,所述用户面路径为在用户面上,所述网关交换机发送所述目标数据报文的路径。
可选地,所述处理单元302还用于:指示所述网关交换机在所述目标数据报文的优先级别大于缓存的其他数据报文的优先级别的情况下,重传缓存的所述目标数据报文。
需要说明的,当装置30为第二网络设备时,处理单元302的执行步骤以及处理单元302涉及的其他技术特征还可参照图7方法实施例中所述SDN控制器的相关内容,这里不再赘述。
基于与图5所示的聚合速率控制方法相同的构思,本申请实施例还提供一种第一网络设备(图13所示)以及一种第二网络设备(如图13所示),其中,第一网络设备用于执行前述图5实施例描述的一种聚合速率控制方法中GW交换机的功能,第二网络设备用于执行前述图5实施例描述的一种聚合速率控制方法中SDN控制器的功能。
参见图13,本申请实施例的第一网络设备41包括:接收模块410、匹配模块420、执行模块430以及处理模块440。
接收模块410用于接收软件自定义网络SDN控制器发送的流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述连接表至少包括报文处理操作。
所述匹配模块420用于解析并获取收到的目标数据报文的报头信息,并将所述报头信息与流表项的匹配域进行匹配。
所述执行模块430用于在与所述流表项的匹配域匹配成功的情况下,执行所述流表项的流表指令中的连接指令,其中,所述连接指令用于指向连接表。
所述处理模块440用于执行所述连接表的报文处理操作,其中,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将所述目标数据报文丢弃或者缓存。
可选地,所述处理模块440用于:直接将所述目标数据报文丢弃或者缓存;或者,基 于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。
可选地,所述处理模块440用于:在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存;或者,在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存。
可选地,所述网关交换机还包括重传模块450,所述重传模块450用于在所述聚合业务流的比特速率降低至小于所述设定的最大聚合速率的情况下,所述网关交换机重传所述目标数据报文。
可选地,所述重传模块450还用于:通过缓存前的用户面路径重传所述目标数据报文;或者,通过新建立的用户面路径重传所述目标数据报文。
可选地,所述重传模块450还用于:直接重传所述目标数据报文;或者,在所述目标数据报文的优先级别大于缓存的其他数据报文的情况下,重传所述目标数据报文。
可选地,所述连接表至少包括:连接表标识、所述最大聚合速率以及所述报文处理操作。
需要说明的,通过前述图5实施例的详细描述,本领域技术人员可以清楚的知道第一网络设备41所包含的各个功能模块的实现方法,所以为了说明书的简洁,在此不再详述。
参见图13,本申请实施例的第二网络设备42包括:生成模块460以及发送模块470。
所述生成模块460用于根据QOS控制策略生成流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述流表指令至少包括连接指令,所述连接指令用于指向所述连接表,所述连接表至少包括报文处理操作,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将目标数据报文丢弃或者缓存;
所述发送模块470用于向网关交换机发送所述流表项以及所述连接表。
可选地,将所述目标数据报文丢弃或者缓存具体包括:直接将所述目标数据报文丢弃或者缓存;或者,基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。
可选地,所述基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存,包括:在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存;或者,在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存。
需要说明的,通过前述图5实施例的详细描述,本领域技术人员可以清楚的知道第二网络设备42所包含的各个功能模块的实现方法,所以为了说明书的简洁,在此不再详述。
基于与图7所示的聚合速率控制方法相同的发明构思,本申请实施例还提供一种第一网络设备(图14所示)以及一种第二网络设备(如图14所示),其中,第一网络设备用于执行前述图7实施例描述的一种聚合速率控制方法中GW交换机的功能,第二网络设备用于执行前述图7实施例描述的一种聚合速率控制方法中SDN控制器的功能。
参见图14,本申请实施例的第二网络设备51包括:接收模块510、确定模块520以及发送模块530。
所述接收模块510用于接收网关交换机上报的聚合业务流的比特速率;
所述确定模块520用于确定所述聚合业务流的比特速率大于最大聚合速率;
所述发送模块530用于在所述聚合业务流的比特速率大于所述最大聚合速率的情况 下,向所述网关交换机下发流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率。
可选地,当流表项用于指示所述网关交换机将所述目标数据报文丢弃或者缓存时,所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
可选地,当流表项用于指示所述网关交换机将所述目标数据报文缓存时,所述SDN控制器还包括指示模块540,所述指示模块540用于在所述聚合业务流的比特速率下降至小于所述聚合比特速率的情况下,指示所述网关交换机重传缓存的所述目标数据报文。
可选地,所述指示模块540还用于:指示所述网关交换机通过缓存前的用户面路径重传缓存的目标数据报文;或者,指示所述网关交换机通过新建的用户面路径重传缓存的目标报文,其中,所述用户面路径为在用户面上,所述网关交换机发送所述目标数据报文的路径。
可选地,所述指示模块540还用于指示所述网关交换机在所述目标数据报文的优先级别大于缓存的其他数据报文的优先级别的情况下,重传缓存的所述目标数据报文。
需要说明的,通过前述图7实施例的详细描述,本领域技术人员可以清楚的知道第二网络设备51所包含的各个功能模块的实现方法,所以为了说明书的简洁,在此不再详述。
参见图14,本申请实施例的第一网络设备52包括:发送模块550,接收模块560以及执行模块570。
所述发送模块550用于向SDN控制器上报聚合业务流的比特速率;
所述接收模块560用于接收所述SDN控制器根据所述聚合业务流的比特速率返回的流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率;
所述执行模块570用于执行所述流表项的流表指令将所述目标数据报文进行丢弃或者缓存。
可选地,流表项用于指示所述网关交换机将所述目标数据报文丢弃或者缓存,包括:所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
可选地,当流表项用于指示所述网关交换机将所述目标数据报文缓存时,所述发送模块550还用于在所述聚合业务流的比特速率下降至小于所述聚合比特速率的情况下,重传缓存的所述目标数据报文。
可选地,所述发送模块550还用于:通过缓存前的用户面路径重传缓存的目标数据报文;或者,通过新建的用户面路径重传缓存的目标报文,其中,所述用户面路径为在用户面上,所述网关交换机发送所述目标数据报文的路径。
可选地,所述发送模块550还用于在所述目标数据报文的优先级别大于缓存的其他数据报文的优先级别的情况下,重传缓存的所述目标数据报文。
需要说明的,通过前述图7实施例的详细描述,本领域技术人员可以清楚的知道第一 网络设备52所包含的各个功能模块的实现方法,所以为了说明书的简洁,在此不再详述。
另外,本申请实施例还提供了一种通信系统,该通信系统包括:第一网络设备和第二网络设备。所述第一网络设备对应图5方法实施例中的所述网关交换机。所述第二网络设备对应图5方法实施例中的所述SDN控制器。
具体实现中,所述第一网络设备可以是图12所示装置表征的第一网络设备,所述第二网络设备可以是图12所示的第二网络设备。所述第一网络设备可以是图13所示的第一网络设备41,所述第二网络设备可以是图13所示的第二网络设备42。
另外,本申请实施例还提供了一种通信系统,该通信系统包括:第一网络设备和第二网络设备。所述第一网络设备对应图7方法实施例中的所述GW交换机。所述第二网络设备对应图7方法实施例中的所述SDN控制器。
具体实现中,所述第一网络设备可以是图12所示装置表征的第一网络设备,第二网络设备可以是图12所示装置表征的第二网络设备。所述第一网络设备可以是图14所示的第一网络设备52,所述第二网络设备可以是图14所示的第二网络设备51。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (30)

  1. 一种聚合速率控制方法,其特征在于,
    网关交换机接收软件自定义网络SDN控制器发送的流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述连接表至少包括报文处理操作;
    网关交换机解析并获取收到的目标数据报文的报头信息,并将所述报头信息与所述流表项的匹配域进行匹配;
    网关交换机执行所述流表项的流表指令中的连接指令,其中,所述连接指令用于指向连接表;
    网关交换机执行所述连接表的报文处理操作,其中,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将所述目标数据报文丢弃或者缓存。
  2. 根据权利要求1所述的方法,其特征在于,将所述目标数据报文丢弃或者缓存具体包括:
    直接将所述目标数据报文丢弃或者缓存;或者,
    基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。
  3. 根据权利要求2所述的方法,其特征在于,所述基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存,包括:
    在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存;或者,
    在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存。
  4. 一种聚合速率控制方法,其特征在于,
    SDN控制器根据QOS控制策略生成流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述流表指令至少包括连接指令,所述连接指令用于指向所述连接表,所述连接表至少包括报文处理操作,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将目标数据报文丢弃或者缓存;
    SDN控制器向网关交换机发送所述流表项以及所述连接表。
  5. 根据权利要求4所述的方法,其特征在于,将所述目标数据报文丢弃或者缓存具体包括:
    直接将所述目标数据报文丢弃或者缓存;或者,
    基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。
  6. 根据权利要求5所述的方法,其特征在于,所述基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存,包括:
    在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存;或者,
    在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存。
  7. 一种聚合速率控制方法,其特征在于,
    SDN控制器接收网关交换机上报的聚合业务流的比特速率;
    SDN控制器确定所述聚合业务流的比特速率大于最大聚合速率;
    SDN控制器向所述网关交换机下发流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率。
  8. 根据权利要求7所述的方法,其特征在于,流表项用于指示所述网关交换机将所述目标数据报文丢弃或者缓存,包括:
    所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,
    所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
  9. 根据权利要求7或8所述的方法,其特征在于,当流表项用于指示所述网关交换机将所述目标数据报文缓存时,所述方法还包括:
    在所述聚合业务流的比特速率下降至小于所述聚合比特速率的情况下,SDN控制器指示所述网关交换机重传缓存的所述目标数据报文。
  10. 一种聚合速率控制方法,其特征在于,
    网关交换机向SDN控制器上报聚合业务流的比特速率;
    网关交换机接收所述SDN控制器根据所述聚合业务流的比特速率返回的流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率;
    网关交换机执行所述流表项的流表指令将所述目标数据报文进行丢弃或者缓存。
  11. 根据权利要求10所述的方法,其特征在于,流表项用于指示所述网关交换机将所述目标数据报文丢弃或者缓存,包括:
    所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,
    所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
  12. 根据权利要求10或11所述的方法,其特征在于,当流表项用于指示所述网关交换机将所述目标数据报文缓存时,所述方法还包括:
    在所述聚合业务流的比特速率下降至小于所述聚合比特速率的情况下,所述网关交换机重传缓存的所述目标数据报文。
  13. 一种第一网络设备,其特征在于,包括接收模块、匹配模块、执行模块以及处理模块,
    所述接收模块用于接收SDN控制器发送的流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述连接表至少包括报文处理操作;
    所述匹配模块用于解析并获取收到的目标数据报文的报头信息,并将所述报头信息与流表项的匹配域进行匹配;
    所述执行模块用于执行所述流表项的流表指令中的连接指令,其中,所述连接指令用于指向连接表;
    所述处理模块用于执行所述连接表的报文处理操作,其中,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将所述目标数据报文丢弃或者 缓存。
  14. 根据权利要求13所述的网络设备,其特征在于,所述处理模块用于:直接将所述目标数据报文丢弃或者缓存;或者,基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。
  15. 根据权利要求14所述的网络设备,其特征在于,所述处理模块用于:在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存;或者,在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存。
  16. 一种第二网络设备,其特征在于,包括:生成模块以及发送模块,
    所述生成模块用于根据QOS控制策略生成流表项以及连接表,其中,所述流表项至少包括匹配域以及流表指令,所述流表指令至少包括连接指令,所述连接指令用于指向所述连接表,所述连接表至少包括报文处理操作,所述报文处理操作用于在聚合业务流的比特速率大于设定的最大聚合速率的情况下,将目标数据报文丢弃或者缓存;
    所述发送模块用于向网关交换机发送所述流表项以及所述连接表。
  17. 根据权利要求16所述的网络设备,其特征在于,将所述目标数据报文丢弃或者缓存具体包括:
    直接将所述目标数据报文丢弃或者缓存;或者,
    基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存。
  18. 根据权利要求17所述的网络设备,其特征在于,所述基于报文丢弃或缓存策略将所述目标数据报文丢弃或缓存,包括:
    在所述目标数据报文的优先级别小于聚合业务流的其他数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存;或者,
    在所述目标数据报文的优先级别为指定优先级别的情况下,将所述目标数据报文丢弃或者缓存。
  19. 一种第二网络设备,其特征在于,包括接收模块、确定模块以及发送模块,
    所述接收模块用于接收网关交换机上报的聚合业务流的比特速率;
    所述确定模块用于确定所述聚合业务流的比特速率大于最大聚合速率;
    所述发送模块用于向所述网关交换机下发流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率。
  20. 根据权利要求19所述的网络设备,其特征在于,流表项用于指示所述网关交换机将所述目标数据报文丢弃或者缓存,包括:
    所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,
    所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
  21. 根据权利要求19或20所述的网络设备,其特征在于,当流表项用于指示所述网关交换机将所述目标数据报文缓存时,所述SDN控制器还包括指示模块,
    所述指示模块用于在所述聚合业务流的比特速率下降至小于所述聚合比特速率的情况 下,指示所述网关交换机重传缓存的所述目标数据报文。
  22. 一种第一网络设备,其特征在于,包括发送模块,接收模块以及执行模块,
    所述发送模块用于向SDN控制器上报聚合业务流的比特速率;
    所述接收模块用于接收所述SDN控制器根据所述聚合业务流的比特速率返回的流表项,其中,所述流表项用于指示所述网关交换机将所述聚合业务流中的目标数据报文丢弃或者缓存,所述聚合业务流共享所述最大聚合速率;
    所述执行模块用于执行所述流表项的流表指令将所述目标数据报文进行丢弃或者缓存。
  23. 根据权利要求22所述的网络设备,其特征在于,流表项用于指示所述网关交换机将所述目标数据报文丢弃或者缓存,包括:
    所述流表项用于指示所述网关交换机直接将所述目标数据报文丢弃或者缓存;或者,
    所述流表项用于指示所述网关交换机在所述目标数据报文的优先级别小于所述聚合业务流中的数据报文的优先级别的情况下,将所述目标数据报文丢弃或者缓存。
  24. 一种第一网络设备,其特征在于,包括:处理器、发射器和接收器,其中:
    所述处理器用于执行如权利要求1至3任一权利要求所述的方法;或者,
    所述处理器用于执行如权利要求10至12任一权利要求所述的方法。
  25. 一种第二网络设备,其特征在于,包括:处理器、发射器和接收器,其中:
    所述处理器用于执行如权利要求4至6任一权利要求所述的方法;或者,
    所述处理器用于执行如权利要求7至9任一权利要求所述的方法。
  26. 一种计算机程序,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至3任一权利要求所述的方法,或者,如权利要求10至12任一权利要求所述的方法。
  27. 一种计算机程序,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求4至6任一权利要求所述的方法,或者,如权利要求7至9任一权利要求所述的方法。
  28. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一权利要求所述的方法,或者,所述计算机程序被处理器执行时实现如权利要求10至12任一权利要求所述的方法。
  29. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求4至6任一权利要求所述的方法,或者,所述计算机程序被处理器执行时实现如权利要求7至9任一权利要求所述的方法。
  30. 一种通信系统,其特征在于,包括:第一网络设备和第二网络设备,其中:
    在所述第一网络设备用于实现如权利要求1至3任一权利要求所述的方法的情况下,所述第二网络设备用于实现如权利要求4至6任一权利要求所述的方法;或者,
    在所述第一网络设备用于实现如权利要求10至12任一权利要求所述的方法的情况下,所述第二网络设备用于实现如权利要求7至9任一权利要求所述的方法。
PCT/CN2018/116323 2017-11-27 2018-11-20 聚合速率控制方法、设备以及系统 WO2019101054A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP18881504.7A EP3703323B1 (en) 2017-11-27 2018-11-20 Aggregation rate control method, device and system
US16/877,722 US11088956B2 (en) 2017-11-27 2020-05-19 Aggregate rate control method, device, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711221144.XA CN109842570B (zh) 2017-11-27 2017-11-27 聚合速率控制方法、设备以及系统
CN201711221144.X 2017-11-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/877,722 Continuation US11088956B2 (en) 2017-11-27 2020-05-19 Aggregate rate control method, device, and system

Publications (1)

Publication Number Publication Date
WO2019101054A1 true WO2019101054A1 (zh) 2019-05-31

Family

ID=66631228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/116323 WO2019101054A1 (zh) 2017-11-27 2018-11-20 聚合速率控制方法、设备以及系统

Country Status (4)

Country Link
US (1) US11088956B2 (zh)
EP (1) EP3703323B1 (zh)
CN (1) CN109842570B (zh)
WO (1) WO2019101054A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220329527A1 (en) * 2021-04-09 2022-10-13 Microsoft Technology Licensing, Llc Architectures for disaggregating sdn from the host
US11799782B2 (en) 2021-05-31 2023-10-24 Microsoft Technology Licensing, Llc Scaling host policy via distribution
US11799785B2 (en) 2021-04-09 2023-10-24 Microsoft Technology Licensing, Llc Hardware-based packet flow processing

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112714127A (zh) * 2020-12-29 2021-04-27 成都卫士通信息产业股份有限公司 数据加密方法、系统及电子设备和存储介质
CN115334136B (zh) * 2022-07-05 2024-02-02 北京天融信网络安全技术有限公司 一种连接老化控制方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179046A (zh) * 2013-04-15 2013-06-26 昆山天元昌电子有限公司 基于openflow的数据中心流量控制方法及系统
CN104272653A (zh) * 2012-05-04 2015-01-07 瑞典爱立信有限公司 分组数据联网中的拥塞控制
CN104468624A (zh) * 2014-12-22 2015-03-25 上海斐讯数据通信技术有限公司 Sdn控制器、路由/交换设备及网络防御方法
CN104796353A (zh) * 2014-01-17 2015-07-22 华为技术有限公司 报文转发方法、交换机
US20160381620A1 (en) * 2014-02-11 2016-12-29 Nec Corporation Communication system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882746B (zh) * 2012-10-11 2015-04-22 盛科网络(苏州)有限公司 Openflow交换机系统中流表添加速率的测试方法及系统
CN104580027B (zh) * 2013-10-25 2018-03-20 新华三技术有限公司 一种OpenFlow报文转发方法及设备
US10091166B2 (en) * 2015-12-31 2018-10-02 Fortinet, Inc. Sequentially serving network security devices using a software defined networking (SDN) switch
WO2017217802A1 (ko) * 2016-06-16 2017-12-21 엘지전자(주) 무선 통신 시스템에서 데이터를 송수신하기 위한 방법 및 이를 지원하는 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104272653A (zh) * 2012-05-04 2015-01-07 瑞典爱立信有限公司 分组数据联网中的拥塞控制
CN103179046A (zh) * 2013-04-15 2013-06-26 昆山天元昌电子有限公司 基于openflow的数据中心流量控制方法及系统
CN104796353A (zh) * 2014-01-17 2015-07-22 华为技术有限公司 报文转发方法、交换机
US20160381620A1 (en) * 2014-02-11 2016-12-29 Nec Corporation Communication system
CN104468624A (zh) * 2014-12-22 2015-03-25 上海斐讯数据通信技术有限公司 Sdn控制器、路由/交换设备及网络防御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220329527A1 (en) * 2021-04-09 2022-10-13 Microsoft Technology Licensing, Llc Architectures for disaggregating sdn from the host
US11652749B2 (en) 2021-04-09 2023-05-16 Microsoft Technology Licensing, Llc High availability for hardware-based packet flow processing
US11757782B2 (en) * 2021-04-09 2023-09-12 Microsoft Technology Licensing, Llc Architectures for disaggregating SDN from the host
US11799785B2 (en) 2021-04-09 2023-10-24 Microsoft Technology Licensing, Llc Hardware-based packet flow processing
US11799782B2 (en) 2021-05-31 2023-10-24 Microsoft Technology Licensing, Llc Scaling host policy via distribution

Also Published As

Publication number Publication date
EP3703323B1 (en) 2023-11-15
CN109842570B (zh) 2021-10-22
CN109842570A (zh) 2019-06-04
EP3703323A4 (en) 2020-09-02
EP3703323A1 (en) 2020-09-02
US20200280521A1 (en) 2020-09-03
US11088956B2 (en) 2021-08-10

Similar Documents

Publication Publication Date Title
US11445559B2 (en) Communication method and communications apparatus
US20210219105A1 (en) Communications method and apparatus
US10721754B2 (en) Data transmission method and apparatus
WO2019101054A1 (zh) 聚合速率控制方法、设备以及系统
US20190230681A1 (en) Method, Apparatus, System, Terminal, And Access Network Device For Communication
CA2814479C (en) Service data flow detection in a conforming 3gpp access network having a packet modification function
EP3590280B1 (en) Method for transmitting tcp ack packet in wireless communication system and a device therefor
US11968565B2 (en) User plane information reporting method and apparatus
WO2016033970A1 (zh) 流量管理实现方法、装置和网络设备
US20230116578A1 (en) Data transmission method and apparatus
WO2018126692A1 (zh) 数据传输的控制方法和设备
US10893435B2 (en) Data transmission method and apparatus thereof
WO2020220943A1 (zh) 一种通信系统和网络设备
WO2015070444A1 (zh) 通信方法、用户设备和基站
WO2023050415A1 (zh) 一种多路径传输方法及装置、通信设备
WO2023174100A1 (zh) 通信方法及通信装置
WO2023184545A1 (zh) 一种数据传输方法及装置、通信设备
WO2023184552A1 (zh) 一种数据传输方法及装置、通信设备
WO2023019450A1 (zh) 一种QoS的控制方法及装置、通信设备
WO2024067640A1 (zh) 一种协议数据单元集合传输方法及装置
WO2023115283A1 (zh) 一种通信方法、装置、网元、通信设备及计算机存储介质

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018881504

Country of ref document: EP

Effective date: 20200526