WO2018149228A1 - 报文发送方法及装置 - Google Patents

报文发送方法及装置 Download PDF

Info

Publication number
WO2018149228A1
WO2018149228A1 PCT/CN2017/118116 CN2017118116W WO2018149228A1 WO 2018149228 A1 WO2018149228 A1 WO 2018149228A1 CN 2017118116 W CN2017118116 W CN 2017118116W WO 2018149228 A1 WO2018149228 A1 WO 2018149228A1
Authority
WO
WIPO (PCT)
Prior art keywords
rate
forwarding device
sending
packet
adjusted
Prior art date
Application number
PCT/CN2017/118116
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 中兴通讯股份有限公司
Publication of WO2018149228A1 publication Critical patent/WO2018149228A1/zh

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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate

Definitions

  • the present disclosure relates to the field of communications, and in particular, to a message sending method and apparatus.
  • the control plane and the forwarding plane are separated.
  • the control plane can be network programmed, and the control plane is gradually unified to the computer equipment, which can be uniformly processed by the cloud platform with powerful computing processing capability.
  • the underlying forwarding device is abstracted into a virtual or logical entity. Moreover, a single control plane can hang up and manage multiple forwarding devices.
  • control plane security speed limit range For the control message uploading part, it is about the control plane security speed limit range, using the simple best-effort delivery model, the traditional delivery method of the first-come-first-served scheduling algorithm, facing the demand of real-time multimedia services, and the control plane in many aspects. Make improvements. In order to achieve service guarantee and security, a specification of a Control Plane Protocol Control (Stream) message is specified.
  • Stream Control Plane Protocol Control
  • Control messages are still processed in the traditional underlying devices, and they are independent, which is not conducive to unified management of the cloud platform.
  • the rate limit of the control packets sent by the traditional low-level forwarding device is not flexible enough.
  • the embodiments of the present disclosure provide a method and a device for sending a message, so as to solve at least the problem that the rate limit of the control packet sent by the traditional low-level forwarding device is not flexible enough.
  • a packet sending method including: adjusting a first sending rate of a packet according to a preset sending rate of an underlying forwarding device, where the first sending rate is The adjusted rate of the underlying forwarding device is sent; the packet is sent according to the adjusted first sending rate.
  • the method further includes: sending a rate limit value to the bottom forwarding device, before the first uplink sending rate of the packet is adjusted according to the preset forwarding rate of the bottom forwarding device, where The rate limit value is used to adjust the rate of sending the packet; and the packet sent by the bottom forwarding device is sent at the first sending rate, where the first sending rate is the bottom forwarding device according to the limit. The rate after the speed value is adjusted.
  • the method before the sending the rate limit value to the bottom forwarding device, the method further includes: determining the speed limit value according to a packet type of the bottom layer forwarding device port.
  • the method further includes: monitoring the bottom forwarding device; and adjusting the speed limit value according to the monitoring result obtained by the monitoring.
  • the monitoring result includes at least one of the following: a sending rate of the current packet sent by the bottom forwarding device, a scheduling rate of the current packet sent by the bottom forwarding device, and a central processing of the bottom forwarding device.
  • CPU usage the weight of the queue in which the current packet sent by the underlying forwarding device is located.
  • the method before the receiving, by the bottom forwarding device, the packet sent by the first sending rate, the method further includes: sending, to the bottom forwarding device, for adjusting, in the bottom forwarding device a parameter for storing a buffer area of the packet, where the parameter carries timing information, where the timing information is used by the bottom forwarding device to periodically adjust the location according to the parameter The cache area.
  • the parameter includes at least one of the following: a rate of sending the current packet by the bottom forwarding device, a rate limit value corresponding to the current packet sent by the bottom forwarding device, and a center of the bottom forwarding device.
  • Processor CPU utilization the weight of the queue in which the current packet sent by the underlying forwarding device is located.
  • the identifier of the underlying forwarding device is unique in the cloud platform.
  • a message sending apparatus including: an adjusting module, configured to adjust a first sending rate of a message according to a preset sending rate of an underlying forwarding device, where the The uplink sending rate is the adjusted rate of the bottom forwarding device, and the sending module is configured to send the packet according to the adjusted first sending rate.
  • the adjusting module is further configured to send a speed limit value to the bottom forwarding device before the first uplink sending rate of the rate adjustment packet is sent according to the preset forwarding device of the bottom layer forwarding device, where The rate limit value is used to adjust the rate of sending the packet; and the packet sent by the bottom forwarding device is sent at the first sending rate, where the first sending rate is the bottom forwarding device according to the The rate after the speed limit value is adjusted.
  • the method before the sending the rate limit value to the bottom forwarding device, the method further includes: determining the speed limit value according to a packet type of the bottom forwarding device port.
  • the sending module is further configured to monitor the bottom forwarding device after sending the packet according to the adjusted first sending rate; and adjusting the limit according to the monitoring result obtained by monitoring Speed value.
  • the adjusting module is further configured to send, to the bottom forwarding device, the bottom forwarding device before receiving the packet sent by the bottom forwarding device at the first sending rate.
  • a storage medium is also provided.
  • the storage medium is configured to store program code for performing the following steps: adjusting a first uplink sending rate of the packet according to a preset sending rate of the underlying forwarding device, wherein the first sending rate is the bottom forwarding device The adjusted rate is sent; the message is sent according to the adjusted first sending rate.
  • the storage medium is further configured to store program code for performing the following steps: before the first uplink sending rate of the rate adjustment message according to the preset forwarding rate of the bottom forwarding device, the method further includes Transmitting, by the bottom forwarding device, a rate limit value, where the rate limit value is used to adjust a packet sending rate, and receiving, by the bottom forwarding device, a packet sent at a first sending rate, where the The first uplink sending rate is a rate adjusted by the bottom forwarding device according to the speed limit value.
  • the storage medium is further configured to store program code for performing the following steps: before transmitting the rate limit value to the bottom forwarding device, the method further comprising: receiving, according to the message of the bottom forwarding device port The type determines the speed limit value.
  • the storage medium is further configured to store program code for performing the following steps: after the message is sent according to the adjusted first upload rate, the method further comprises: monitoring the bottom forwarding The device adjusts the speed limit value according to the monitoring result obtained by the monitoring.
  • the storage medium is further configured to store program code for performing the following steps: the monitoring result includes at least one of: the bottom forwarding device sends a sending rate of the current packet, and the bottom forwarding device sends the The scheduling rate of the current packet, the CPU usage of the CPU of the underlying forwarding device, and the weight of the queue in which the current packet is sent by the underlying forwarding device.
  • the storage medium is further configured to store program code for performing the following steps: before receiving the message sent by the underlying forwarding device at the first uplink rate, the method further comprises: The underlying forwarding device sends a parameter for adjusting a buffer area of the bottom forwarding device for storing the packet, where the parameter carries timing information, and the timing information is used by the bottom forwarding device.
  • the timing information is a period, and the buffer area is periodically adjusted according to the parameter.
  • the storage medium is further configured to store program code for performing the following steps: the parameter includes at least one of the following: the bottom forwarding device sends a sending rate of the current packet, and the current forwarding device sends the current The rate limit corresponding to the packet, the CPU usage of the CPU of the bottom forwarding device, and the weight of the queue in which the current packet is sent by the bottom forwarding device.
  • the storage medium is further arranged to store program code for performing the step of: the identity of the underlying forwarding device being unique in the cloud platform.
  • the first uplink sending rate of the packet is adjusted according to the preset sending rate of the underlying forwarding device, where the first sending rate is the adjusted rate of the underlying forwarding device; according to the adjusted first sending rate Send a message.
  • the rate of the packet is adjusted again, that is, the rate of the packet sent by the underlying forwarding device and the platform is doubled.
  • the rate limit is set. Therefore, the problem that the speed limit of the control packets sent by the traditional low-level forwarding device is limited is not flexible enough, and the speed limit is better than that of the traditional packet. On the basis of the best results of the delay and loss to meet the network requirements.
  • FIG. 1 is a block diagram showing the hardware structure of a computer terminal for transmitting a message according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart of a message sending method according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a network architecture in accordance with an embodiment of the present disclosure.
  • FIG. 4 is a flowchart of a second-order adjustable uplink rate reduction method based on a cloud platform according to an embodiment of the present disclosure
  • FIG. 5 is a functional block diagram of a protocol message data rate limit calculation function according to an embodiment of the present disclosure
  • FIG. 6 is a structural block diagram of a message transmitting apparatus according to an embodiment of the present disclosure.
  • FIG. 1 is a hardware block diagram of a computer terminal of a message sending method according to an embodiment of the present disclosure.
  • computer terminal 10 may include one or more (only one shown) processor 102 (processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA)
  • processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA)
  • a memory 104 that is configured to store data
  • a transmission device 106 that is configured as a communication function.
  • computer terminal 10 may also include more or fewer components than those shown in FIG. 1, or have a different configuration than that shown in FIG.
  • the memory 104 may be configured as a software program and a module for storing application software, such as program instructions/modules corresponding to the message transmitting method in the embodiment of the present disclosure, and the processor 102 executes by executing a software program and a module stored in the memory 104.
  • application software such as program instructions/modules corresponding to the message transmitting method in the embodiment of the present disclosure
  • the processor 102 executes by executing a software program and a module stored in the memory 104.
  • Various functional applications and data processing, that is, the above methods are implemented.
  • Memory 104 may include high speed random access memory, and may also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • memory 104 may, in one embodiment, include memory remotely located relative to processor 102, which may be coupled to computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • Transmission device 106 is arranged to receive or transmit data via a network.
  • An exemplary embodiment of the network described above may include a wireless network provided by a communication provider of the mobile terminal 10.
  • the transmission device 106 includes a Network Interface Controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet.
  • the transmission device 106 can be a Radio Frequency (RF) module configured to communicate with the Internet wirelessly.
  • NIC Network Interface Controller
  • RF Radio Frequency
  • FIG. 2 is a flowchart of a message sending method according to an embodiment of the present disclosure. As shown in FIG. 2, the process includes the following steps:
  • Step S202 The first uplink sending rate is adjusted according to the preset sending rate of the bottom forwarding device, where the first sending rate is the adjusted rate of the bottom forwarding device.
  • Step S204 Sending a message according to the adjusted first sending rate.
  • the rate of the packet being sent by the underlying forwarding device is adjusted once, and the rate of the packet sent by the underlying forwarding device is doubled.
  • a double-layer rate limit is achieved. Therefore, the problem that the speed limit of the control packet sent by the traditional low-level forwarding device is limited is not flexible enough in the related art, and can be sent over the traditional packet.
  • the speed limit purpose the best effect of delay and loss minimum to meet the network requirements is achieved.
  • the method further includes: sending a rate limit value to the underlying forwarding device, where the rate limit value is used to adjust the packet, before the first uplink sending rate of the packet is adjusted according to the preset forwarding rate of the bottom forwarding device.
  • the method before the sending the rate limit value to the bottom forwarding device, the method further includes: determining a speed limit value according to a packet type of the port corresponding to the bottom forwarding device.
  • the method further includes: monitoring the bottom forwarding device; and adjusting the speed limit value according to the monitoring result obtained by the monitoring.
  • the rate of sending packets of the underlying forwarding layer can be adjusted in real time.
  • the foregoing monitoring result includes at least one of the following: a sending rate of the current packet sent by the bottom forwarding device, a scheduling rate of the current packet sent by the bottom forwarding device, a CPU usage of the CPU of the bottom forwarding device, and an underlying forwarding The weight of the queue in which the current packet is sent by the device.
  • the method before receiving the packet sent by the underlying forwarding device at the first sending rate, the method further includes: sending, to the underlying forwarding device, a parameter for adjusting a buffer for storing the packet in the underlying forwarding device, where The parameter carries timing information, and the timing information is used by the underlying forwarding device to periodically adjust the buffer area according to the parameter.
  • the foregoing parameters include at least one of the following: a rate at which the bottom forwarding device sends the current packet, a rate limit corresponding to the current packet sent by the bottom forwarding device, and a CPU usage of the CPU of the underlying forwarding device.
  • the weight of the queue in which the current packet is sent by the forwarding device is not limited to the following: a rate at which the bottom forwarding device sends the current packet, a rate limit corresponding to the current packet sent by the bottom forwarding device, and a CPU usage of the CPU of the underlying forwarding device.
  • the identifier of the foregoing forwarding device is unique in the cloud platform. Through the above steps, unified management of the underlying forwarding device can be guaranteed.
  • the above-mentioned embodiment implements a platform-based unified management, in which the control information is uniformly processed by the platform control layer, and the lower layer and the platform are used to limit the rate of the control packets sent by the network, and the platform adjusts the control packets of the forwarding layer in real time.
  • Rate that is, the rate of the control packets is limited to each of the multiple forwarding planes.
  • the rate-limiting data is controllable by the cloud platform.
  • the control packets sent to the cloud platform are subjected to a control plane speed limit to achieve a two-layer rate limit.
  • the control message rate limit processing increases the concept of the buffer area, instead of using a fixed cache, but uses an adjustable cache message to achieve better uninterrupted service.
  • the disclosure solves the problem that the rate of the packets sent by the control plane and the forwarding plane is different in the SDN network, and the unified cloud platform management is implemented, and the second-level speed limit and the platform can be controlled. adjustable.
  • the foregoing embodiment can be applied to the cloud platform-based control technology for the uplink control information in the network device, and is applicable to the access server, but is not limited to the access server.
  • the following takes the underlying forwarding device as the access server and the packet as the control packet as an example.
  • FIG. 3 is a schematic diagram of a network architecture according to an embodiment of the present disclosure, as shown in FIG. 3:
  • All access servers (hereinafter referred to as servers) each bear their own functions. There are independent and unique identifiers in the cloud platform, which are managed by the platform. All server functions are independent and can be used as backups of other servers.
  • All servers communicate with the unified management platform in two-way communication, that is, the server sends the status to the platform in real time, and can also accept the instructions of the platform through signals (including but not limited to wired and wireless methods);
  • the default value is configured according to each message type.
  • the default speed limit is the preset minimum speed limit value mini-rate, wherein the preset minimum speed limit value mini-rate and the preset maximum speed limit value max -rate, which can be manually configured at the same time.
  • the soft forwarding part of the cloud platform is offloaded or sent to the cloud platform.
  • the cloud platform sets a comprehensive classification rate limit. For example, it can be based on slots or Based on the transponder level setting comprehensive classification speed limit, this is the second rate limit;
  • the cloud platform monitors each server for specific situations and adjusts the speed limit value on each server.
  • This document uses a variable protocol packet data buffer to dynamically adjust the buffer size according to the control packet and characteristics at the specific time (taking the packet type as an example).
  • the exemplary adjustment method is as follows: The buffer controller formulates a formula to dynamically adjust the size of the buffer buffer area according to parameters of the previous control message, the degree of congestion of the control message, and the buffer data of the buffer history, and the remaining server adjustment methods are equivalent.
  • FIG. 4 is a flowchart of a method for speed limiting a second-level adjustable uplink message based on a cloud platform according to an embodiment of the present disclosure. As shown in FIG. 4, the process includes:
  • the rate limit value of the default control packets is sent by the cloud platform.
  • the rate limit values are as follows: 1) The rate limit is based on the packet type of each port. Value, this is the first rate limit. For example, the default value is configured according to each message type.
  • the default speed limit is the minimum speed limit value mini-rate, where the preset minimum speed limit value mini-rate and preset The maximum speed limit value max-rate can be manually configured at the same time; 2) the port-based remaining speed limit value is used to calculate the size of the common adjustable buffer area;
  • the packets are sent to the cloud platform.
  • S3 The control plane of the cloud platform performs the offloading or uploading of the sent packets, and the cloud platform sets a comprehensive classification rate limit.
  • the integrated classification rate limit can be set based on the slot or based on the repeater layer.
  • the cloud platform monitors each underlying transponder (ie, the forwarding device) according to the specific situation, and adjusts the rate limit value of each underlying forwarding device.
  • the basis for the adjustment includes: the rate of the current control packet, the scheduling rate of the current control packet, the CPU utilization of the underlying forwarding device, and the weight of the current queue.
  • FIG. 5 is a block diagram of a protocol message data rate limit calculation function module according to an embodiment of the present disclosure, which is a module introduction performed in the S4 part of the flowchart of FIG. 4, as shown in FIG. 5,
  • the packet classification module 100 is configured to classify the packet according to a certain rule when the packet reaches the underlying forwarding device. For example, the packet may be identified according to a specific packet feature, and the packet field may be controlled according to the IP, or According to other control lists and other information, the classification rules are flexible and configurable. And then sent to different CPS queues, and the information is written to the scheduler-related scheduling information and sent to the cloud platform control plane;
  • each CPS queue has a CPS scheduler, the scheduler has the priority of the queue, the rate limit ratio, and the committed rate limit value, and the rate R of the current traffic is perceived, and the schedule is The current rate C that can be assigned.
  • the rate R of the current traffic of the CPS scheduler is greater than the current assignable rate C, the adjustment buffer is used, and the rate R of the current traffic from the CPS scheduler is less than the current assignable rate C, less than or equal to the current rate.
  • the operation is performed.
  • the information of the scheduler is transmitted in real time
  • Part of the data exceeding the current assignable rate C belongs to the waiting data.
  • the buffer size is reset according to the updated data, otherwise the original data buffer size is maintained, and other CPS queues are maintained.
  • the CPS scheduler steps are the same as above;
  • the port supervises the current rate of each CPS scheduler. If the remaining rate limit is available on the port, the management collects the tokens with the remaining rate limit and the subsequent buffered traffic is sent to the next step:
  • the timer is used to send the control information 1 to the cache control module 302 at a certain time to proceed to the next step, and the cache control module 302 collects and calculates the calculation work of each CPS scheduler. If the timer does not have a control signal, proceed to the previous step.
  • the speed limit calculation unit 300 is configured to: when the control information arrives, according to the size of the reference buffer area, the buffer area and the information of a certain queue may be used to recalculate the reasonable buffer size. The calculated value is re-issued to the data buffer, so that the data buffer is used for the excess data belongs to the waiting data, and the next step is performed:
  • the history data management module 303 the user stores the buffer size calculated by the cache control module 302 and returns the historical average data to the cache control module 302 when needed;
  • the information of the CPS scheduler 201 is transmitted in real time, and the CPS scheduler of other CPS queues performs the synchronization of the current rate of each CPS scheduler.
  • the speed limit calculation unit 300 is described in detail as follows:
  • the clock module 301 the timer is up, the cache control module performs processing, and the timer does not arrive until the timer expires.
  • the cache control module 302 according to the fixed parameters and variable parameters to calculate, calculate the buffer size of the current cycle of each CPS queue, proceeds to step 3;
  • the algorithm for the data buffer size is as follows:
  • Buffer(n,T) reference buffer size (n) (if R(n,T) ⁇ C(n,T))
  • the current control packet is allocated a speed limit value C(n, T);
  • the weight of the queue in which the current control message is located is WFQ.
  • the default weight WFQ is 1. If configured, the weight WFQ value is written to the CPS scheduler.
  • Historical cache mean Average(n,T) Buffer(n,T)*1/2+history cache mean(n,T-1)*1/2, where:(R(n,T)-C(n, T) * WFQ (n): is the speed limit portion of the queue in which the current control message is located, which exceeds the reference buffer area. Is the sum of the speed limit portions of all queues that exceed the reference buffer;
  • the reference buffer size is based on the mini-rate setting to ensure the basic minimum rate limit; the maximum buffer size is based on the max-rate setting and is used to reach the maximum speed limit.
  • the total amount of the public adjustable buffer is calculated based on the expected capacity of the port, and the default value or the reference buffer size of n times can be used.
  • the above-mentioned bottom forwarding device formulates the length of the corresponding queue cache according to the priority of the different queues or the ratio of the speed limit values in a certain buffer area.
  • the cache can be divided into two parts: 1.
  • the reference buffer area for ensuring the minimum speed limit of each queue, 2.
  • the adjustable allocation buffer area which is used for real-time allocation to the current queue, according to the queue priority or the speed limit value. Proportion, according to WFQ allocation.
  • the speed limit management unit 200 illustratively includes:
  • the CPS scheduler 201 is configured to adjust the rate limit of the different CPS queues, the scheduling, and the like, including the rate of the current control packet queue, the rate of the scheduling, the CPU usage of the forwarding device, and the weight of the queue in which the current control packet is located.
  • the port rate limit management module 202 is configured to forward the control packet of the buffer area in turn when the total rate limit value of the interface is smaller than the total available rate limit of the interface.
  • the buffers of each queue store control packets other than the minimum rate. Therefore, control packets can be sent as control packets with the same priority according to the rotation or sequence. If no speed limit value is available, the data in the data buffer is in a wait state.
  • the scheduling factor module 203 is configured to set a scheduling factor of the CPS scheduler, which may be a weight such as WFQ, and may configure a user transponder layer, or a port, or a certain packet type, and the factor may also be set according to time and needs, and modified. , multiple factors can be set.
  • a scheduling factor of the CPS scheduler which may be a weight such as WFQ, and may configure a user transponder layer, or a port, or a certain packet type, and the factor may also be set according to time and needs, and modified. , multiple factors can be set.
  • the speed limit calculation unit 300 illustratively includes:
  • the clock module 301 sets the waiting timeout period. After the packet is exceeded, the packet is discarded. Because the control packet is mostly time-sensitive, the delay exceeds a certain time, and the control packet is sent to a small amount.
  • the cache control module 302 the module is configured to calculate the data buffer size of each queue in real time according to the current characteristics of each queue, and control the size of the modified buffer area in real time, and store the current data sample as historical data.
  • the historical data management module 303 is configured to store a buffer buffer size of each control packet queue calculated by the Buffer control module, and a history control packet size of each queue, and calculate a historical control packet rate of each data queue. The average value is returned to the Buffer control module in real time to adjust the size of the data buffer in the next moment.
  • the foregoing embodiment provides a cloud platform-based two-level adjustable control message rate limiting method and device thereof, which is used for port speed limit management by placing a CPS scheduler in a variable data buffer area. If there is a remaining speed limit available, try to send it out. Each queue establishes a data buffer according to the actual situation of the current traffic, and can perform regular updates, which maximizes the satisfaction of each queue and utilizes the current port speed limit.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
  • the technical solution of the present disclosure which is essential or contributes to the related art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk, CD-ROM).
  • the instructions include a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present disclosure.
  • a message sending device is also provided, which is configured to implement the above-mentioned embodiments and preferred embodiments, and has not been described again.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 6 is a structural block diagram of a message sending apparatus according to an embodiment of the present disclosure. As shown in FIG. 6, the apparatus includes:
  • the adjusting module 62 is configured to adjust the first sending rate of the packet according to the preset sending rate of the bottom forwarding device, where the first sending rate is the adjusted rate of the underlying forwarding device;
  • the uploading module 64 is connected to the adjusting module 62, and configured to send the packet according to the adjusted first sending rate.
  • the adjusting module 62 is further configured to send a speed limit value to the bottom forwarding device before adjusting the first sending rate of the rate adjustment packet according to the preset forwarding rate of the bottom forwarding device, where the speed limit value is used for adjusting The rate of the packet is sent; the packet sent by the underlying forwarding device is sent at the first sending rate, where the first sending rate is the rate adjusted by the underlying forwarding device according to the rate limit value.
  • the adjusting module 62 is further configured to determine the rate limit value according to the packet type of the underlying forwarding device port before sending the rate limit value to the underlying forwarding device.
  • the sending module 64 is further configured to monitor the bottom forwarding device after sending the packet according to the adjusted first sending rate, and adjust the speed limit value according to the monitoring result obtained by the monitoring.
  • the adjusting module 62 is further configured to send, to the underlying forwarding device, a parameter for adjusting a buffer area for storing the message in the bottom forwarding device before receiving the packet sent by the bottom forwarding device at the first sending rate.
  • the parameter carries the timing information, and the timing information is used by the bottom forwarding device to periodically adjust the buffer area according to the parameter.
  • each of the above modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the above modules are in any combination.
  • the forms are located in different processors.
  • Embodiments of the present disclosure also provide a storage medium.
  • the foregoing storage medium may be configured to store program code for performing the following steps:
  • the first uplink sending rate is adjusted according to a preset sending rate of the bottom forwarding device, where the first sending rate is an adjusted rate of the bottom forwarding device.
  • S2 Sending a packet according to the adjusted first sending rate.
  • the storage medium is further configured to store program code for performing the following steps: before transmitting the rate limit value to the underlying forwarding device, the method further includes:
  • S1 Determine a rate limit value according to a packet type level of the bottom forwarding device port.
  • the storage medium is further configured to store the program code for performing the following steps: after the message is sent according to the adjusted first upload rate, the method further includes:
  • the storage medium is further arranged to store program code for performing the following steps:
  • the monitoring result includes at least one of the following: a sending rate of the current packet sent by the bottom forwarding device, a scheduling rate of the current packet sent by the bottom forwarding device, a CPU usage of the CPU of the underlying forwarding device, and a sending by the underlying forwarding device.
  • the storage medium is further configured to store program code for performing the following steps: before receiving the message sent by the underlying forwarding device at the first sending rate, the method further includes:
  • S1 sending, to the underlying forwarding device, a parameter for adjusting a buffer area for storing a message in the bottom forwarding device, where the parameter carries timing information, and the timing information is used by the bottom forwarding device to periodically time the information according to the parameter. Adjust the buffer area.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the parameter includes at least one of the following: a rate at which the bottom forwarding device sends the current packet, a rate limit corresponding to the current packet sent by the bottom forwarding device, and a CPU usage of the CPU of the bottom forwarding device, and the bottom forwarding device sends The weight of the queue in which the current message is located.
  • the storage medium is further arranged to store program code for performing the following steps:
  • the identifier of the underlying forwarding device is unique in the cloud platform.
  • the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • a mobile hard disk e.g., a hard disk
  • magnetic memory e.g., a hard disk
  • the processor is configured to: according to the stored program code in the storage medium, adjust a first sending rate of the packet according to a preset sending rate of the bottom forwarding device, where the first sending rate is The rate adjusted for the underlying forwarding device; the packet is sent according to the adjusted first sending rate.
  • the processor performs, according to the stored program code in the storage medium, before the first sending rate of the packet is adjusted according to the preset sending rate of the underlying forwarding device
  • the method further includes:
  • the lower-layer forwarding device sends the rate-limiting value, where the rate-limiting value is used to adjust the rate of sending the packet, and the packet sent by the underlying forwarding device is sent at the first sending rate, where the first sending rate is the underlying forwarding device.
  • the rate after the speed limit value is adjusted.
  • the processor performs, according to the stored program code in the storage medium, before sending the rate limit value to the underlying forwarding device, the method further includes: determining, according to the packet type level of the underlying forwarding device port. Speed value.
  • the processor performs, according to the stored program code in the storage medium, after the packet is sent according to the adjusted first sending rate, the method further includes: monitoring the underlying forwarding device; The obtained monitoring result adjusts the speed limit value.
  • the processor executes according to the stored program code in the storage medium: the monitoring result includes at least one of the following: the sending rate of the current packet sent by the bottom forwarding device, and the current report sent by the bottom forwarding device.
  • the processor performs, according to the stored program code in the storage medium, before receiving the packet sent by the bottom forwarding device at the first sending rate, the method further includes: sending the message to the bottom forwarding device.
  • the parameter of the buffer area for storing the message in the underlying forwarding device is adjusted, wherein the parameter carries timing information, and the timing information is used by the bottom forwarding device to periodically adjust the buffer area according to the parameter.
  • the processor is executed according to the stored program code in the storage medium: the parameter includes at least one of the following: the sending rate of the current packet sent by the bottom forwarding device, and the current packet sent by the bottom forwarding device.
  • the processor executes according to the stored program code in the storage medium: the identifier of the underlying forwarding device is unique in the cloud platform.
  • modules or steps of the present disclosure described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module. As such, the disclosure is not limited to any specific combination of hardware and software.
  • the packet sending method provided by the embodiment of the present disclosure adjusts the adjusted rate of the underlying forwarding device once after the forwarding rate of the packet is adjusted by the underlying forwarding device, that is, the dual forwarding device and the platform are dual-uploaded.
  • the rate of the packet is limited to a rate limit of the two-layer, which can solve the problem that the speed limit of the control packets sent by the traditional low-level forwarding device is not flexible enough.
  • the speed limit purpose of the traditional message the best effect of delay and loss is achieved to meet the network requirements.

Landscapes

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

Abstract

本公开提供了一种报文发送方法及装置,该方法包括:根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,第一上送速率为底层转发设备调整后的速率;根据调整后的第一上送速率上送报文。通过本公开,解决了相关技术中只在传统的底层转发设备对上送的控制报文进行限速导致限速不够灵活的问题。

Description

报文发送方法及装置 技术领域
本公开涉及通信领域,具体而言,涉及一种报文发送方法及装置。
背景技术
随着网络应用的普及,网络系统日趋庞大,同时,业务也逐渐增多,网络组网也发生颠覆性的变化:
1)网络架构向大局所、小节点、简洁化的反向发展。
2)控制面和转发面分离,控制层面可网络编程,把控制面逐步统一到计算机设备上,可由具有强大计算处理能力的云平台统一处理。底层转发设备被抽象成虚拟或者逻辑实体。而且单个控制面可下挂管理多个转发设备。
3)传统设备处理控制报文的处理节点部分上移。
然而:
1)对于控制报文上送部分,是关于控制层面安全限速范围,采用简单的尽力投递模型、先到先得调度算法的传统投递方法,面对实时多媒体业务的需求,多方面对控制面作出改进。为了实现服务保证以及安全性,指明控制面通信控制报文(Control Transmission Protocol Stream,也称控制报文)的特性规范。
2)控制报文还在传统的底层设备处理,并且各自为政,不利于云平台统一管理。
3)传统的底层设备处理控制报文灵活性不够,控制报文数据特性会产生变化,所以就需要整形器对控制报文特性进行监督和调节。
因此,相关技术中只在传统的底层转发设备对上送的控制报文进行限速导致限速不够灵活。
发明内容
本公开实施例提供了一种报文发送方法及装置,以至少解决相关技术中只在传统的底层转发设备对上送的控制报文进行限速导致限速不够灵活的问题。
根据本公开的一个实施例,提供了一种报文发送方法,包括:根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,所述第一上送速率为所述底层转发设备调整后的速率;根据调整后的第一上送速率上送所述报文。
可选地,在根据所述底层转发设备的预设上送速率调整报文的所述第一上送速率之前,所述方法还包括:向所述底层转发设备发送限速值,其中,所述限速值用于调整报文的上送速率;接收所述底层转发设备以第一上送速率发送的报文,其中,所述第一上送速率为所述底层转发设备根据所述限速值调整后的速率。
可选地,在向所述底层转发设备发送所述限速值之前,所述方法还包括:根据所述底 层转发设备端口的报文类型确定所述限速值。
可选地,在根据所述调整后的第一上送速率上送所述报文之后,所述方法还包括:监控所述底层转发设备;根据监控得到的监控结果调整所述限速值。
可选地,所述监控结果包括以下至少之一:所述底层转发设备发送当前报文的上送速率,所述底层转发设备发送的当前报文的调度速率,所述底层转发设备的中央处理器CPU利用率,所述底层转发设备发送的当前报文所在队列的权重。
可选地,在接收所述底层转发设备以所述第一上送速率发送的所述报文之前,所述方法还包括:向所述底层转发设备发送用于调整所述底层转发设备中用于存储所述报文的缓存区的参数,其中,所述参数携带有定时信息,所述定时信息用于所述底层转发设备以所述定时信息为周期,根据所述参数周期性的调整所述缓存区。
可选地,所述参数包括以下至少之一:所述底层转发设备发送当前报文的上送速率,所述底层转发设备发送的当前报文对应的限速值,所述底层转发设备的中央处理器CPU利用率,所述底层转发设备发送的当前报文所在队列的权重。
可选地,所述底层转发设备的标识在云平台中是唯一的。
根据本公开的另一个实施例,提供了一种报文发送装置,包括:调整模块,设置为根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,所述第一上送速率为所述底层转发设备调整后的速率;上送模块,设置为根据调整后的第一上送速率上送所述报文。
可选地,所述调整模块,还设置为在根据所述底层转发设备的预设上送速率调整报文的所述第一上送速率之前,向所述底层转发设备发送限速值,其中,所述限速值用于调整报文的上送速率;接收所述底层转发设备以第一上送速率发送的报文,其中,所述第一上送速率为所述底层转发设备根据所述限速值调整后的速率。
可选地,在向所述底层转发设备发送所述限速值之前,所述方法还包括:根据所述底层转发设备端口的报文类型确定所述限速值。
可选地,所述上送模块,还设置为在根据所述调整后的第一上送速率上送所述报文之后,监控所述底层转发设备;根据监控得到的监控结果调整所述限速值。
可选地,所述调整模块,还设置为在接收所述底层转发设备以所述第一上送速率发送的所述报文之前,向所述底层转发设备发送用于调整所述底层转发设备中用于存储所述报文的缓存区的参数,其中,所述参数携带有定时信息,所述定时信息用于所述底层转发设备以所述定时信息为周期,根据所述参数周期性的调整所述缓存区。
根据本公开的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,所述第一上送速率为所述底层转发设备调整后的速率;根据调整后的第一上送速率上送所述报文。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:在根据所述底层转发 设备的预设上送速率调整报文的所述第一上送速率之前,所述方法还包括:向所述底层转发设备发送限速值,其中,所述限速值用于调整报文的上送速率;接收所述底层转发设备以第一上送速率发送的报文,其中,所述第一上送速率为所述底层转发设备根据所述限速值调整后的速率。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:在向所述底层转发设备发送所述限速值之前,所述方法还包括:根据所述底层转发设备端口的报文类型确定所述限速值。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:在根据所述调整后的第一上送速率上送所述报文之后,所述方法还包括:监控所述底层转发设备;根据监控得到的监控结果调整所述限速值。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:所述监控结果包括以下至少之一:所述底层转发设备发送当前报文的上送速率,所述底层转发设备发送的当前报文的调度速率,所述底层转发设备的中央处理器CPU利用率,所述底层转发设备发送的当前报文所在队列的权重。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:在接收所述底层转发设备以所述第一上送速率发送的所述报文之前,所述方法还包括:向所述底层转发设备发送用于调整所述底层转发设备中用于存储所述报文的缓存区的参数,其中,所述参数携带有定时信息,所述定时信息用于所述底层转发设备以所述定时信息为周期,根据所述参数周期性的调整所述缓存区。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:所述参数包括以下至少之一:所述底层转发设备发送当前报文的上送速率,所述底层转发设备发送的当前报文对应的限速值,所述底层转发设备的中央处理器CPU利用率,所述底层转发设备发送的当前报文所在队列的权重。
可选地,存储介质还设置为存储用于执行以下步骤的程序代码:所述底层转发设备的标识在云平台中是唯一的。
通过本公开,根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,第一上送速率为底层转发设备调整后的速率;根据调整后的第一上送速率上送报文。由于在底层转发设备对报文的上送速率调整之后,再次对底层转发设备调整后的速率进行一次调控,即采用底层转发设备和平台双重对上送报文的速率进行限速,达到了双层限速,因此,可以解决相关技术中只在传统的底层转发设备对上送的控制报文进行限速导致限速不够灵活的问题,可以在达到优于传统报文上送限速目的的基础上,达到适应网络要求的延时和损失最小的最佳效果。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的 示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是本公开实施例的一种报文发送方法的计算机终端的硬件结构框图;
图2是根据本公开实施例的报文发送方法的流程图;
图3是根据本公开实施例的网络架构示意图;
图4是根据本公开实施例的基于云平台的二级可调节的上送报文限速方法的流程图;
图5是根据本公开实施例的协议报文数据限速计算功能模块图;
图6是根据本公开实施例的报文发送装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本公开。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例1所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本公开实施例的一种报文发送方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、设置为存储数据的存储器104、以及设置为通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可设置为存储应用软件的软件程序以及模块,如本公开实施例中的报文发送方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104在一实施例中可包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106设置为经由一个网络接收或者发送数据。上述的网络示例性实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其设置为通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述计算机终端的报文发送方法,图2是根据本公开 实施例的报文发送方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,第一上送速率为底层转发设备调整后的速率;
步骤S204,根据调整后的第一上送速率上送报文。
通过上述步骤,由于在底层转发设备对报文的上送速率调整之后,再次对底层转发设备调整后的速率进行一次调控,即采用底层转发设备和平台双重对上送报文的速率进行限速,达到了双层限速,因此,可以解决相关技术中只在传统的底层转发设备对上送的控制报文进行限速导致限速不够灵活的问题,可以在达到优于传统报文上送限速目的的基础上,达到适应网络要求的延时和损失最小的最佳效果。
可选地,在根据底层转发设备的预设上送速率调整报文的第一上送速率之前,方法还包括:向底层转发设备发送限速值,其中,上述限速值用于调整报文的上送速率;接收底层转发设备以第一上送速率发送的报文,其中,第一上送速率为底层转发设备根据限速值调整后的速率。通过上述步骤,多个底层转发层面各自进行报文限速,限速数据由云平台控制,使得在控制面和转发面分离场景下,控制层面可以控制报文的上送速率。
可选地,在向底层转发设备发送限速值之前,还包括:根据底层转发设备对应的端口的报文类型确定限速值。
可选地,在根据调整后的第一上送速率上送报文之后,还包括:监控底层转发设备;根据监控得到的监控结果调整限速值。通过上述步骤,可以实时调整底层转发层面的报文的上送速率。
可选地,上述监控结果包括以下至少之一:底层转发设备发送当前报文的上送速率,底层转发设备发送的当前报文的调度速率,底层转发设备的中央处理器CPU利用率,底层转发设备发送的当前报文所在队列的权重。
可选地,在接收底层转发设备以第一上送速率发送的报文之前,方法还包括:向底层转发设备发送用于调整底层转发设备中用于存储报文的缓存区的参数,其中,参数携带有定时信息,定时信息用于底层转发设备以定时信息为周期,根据参数周期性的调整缓存区。通过上述步骤,对底层转发层面的报文限速处理增加可缓存区的概念,但不使用固定缓存,而使用可调节缓存区对报文进行缓存,以达到更好地不间断服务。
可选地,上述参数包括以下至少之一:底层转发设备发送当前报文的上送速率,底层转发设备发送的当前报文对应的限速值,底层转发设备的中央处理器CPU利用率,底层转发设备发送的当前报文所在队列的权重。
可选地,上述底层转发设备的标识在云平台中是唯一的。通过上述步骤,可以保证对底层转发设备进行统一管理。
上述实施例实现了一种平台化的统一管理,由平台控制层面统一处理控制报文,采用底层和平台双重对上送控制报文进行限速,同时平台实时调整转发层面的控制报文上送速率,即多个转发层面各自存在控制报文限速,限速数据由云平台可控,上送到云平台的控 制报文再进行一次控制层面限速,达到双层限速,对转发层面的控制报文限速处理增加缓存区的概念,不使用固定缓存,而是使用可调节缓存报文以达到更好地不间断服务。采用本公开所述方法与相关技术相比,本公开解决SDN组网中,控制面和转发面分离场景中报文上送限速问题,实现统一云平台管理,二级限速、平台可控制可调节。
需要说明的是,上述实施例可以应用于基于云平台的对于上送的控制报文在网络设备中的限速技术领域,适用于接入服务器,但不限于接入服务器。下面以底层转发设备为接入服务器,以报文为控制报文为例进行详细说明。
图3是根据本公开实施例的网络架构示意图,如图3所示:
1.所有接入服务器(后面简称服务器)各自承担自己的功能,在云平台中有独立的唯一的标识,由平台统一管理,所有服务器功能独立的同时,可作为其他服务器的备份,网络中有A(0),A(1)等服务器;
2.所有服务器与统一管理平台双向通信,即服务器既向平台实时发送状态,也可通过信号接受平台的指令(包括但不局限于有线、无线方式);
3.各个服务器启动后,与云平台建立通信,云平台下发默认的控制报文的限速值以及基于端口的缓存区大小:
1)基于底层转发设备对应的端口报文类型的限速值,此为一级限速;
2)根据每种报文类型进行了默认数值配置,默认限速值为预设的最小限速值mini-rate,其中,预设的最小限速值mini-rate和预设最大限速值max-rate,可同时手工配置。
4.各个服务器经过一级限速后上送上来的报文汇聚到云平台后,云平台软转发部分进行分流或者上送处理,云平台设置综合的分类限速,例如,可以基于槽位或者基于转发器层面设置综合的分类限速,此为二级限速;
5.服务器提供服务后,云平台针对具体情况对每个服务器进行监控、并调整各个服务器上的限速值。
6.以云平台监控调整1个服务器为例:本文采用可变的协议报文数据缓冲区,根据具体时刻的控制报文以及特征(以报文类型为例),来动态调整缓冲区的大小,示例性调整方法如下:buffer控制器根据前期的控制报文特征、控制报文的拥塞程度以及buffer历史的缓存数据等参数,制定公式动态调整buffer缓存区的大小,其余服务器调整方法等同。
图4是根据本公开实施例的基于云平台的二级可调节的上送报文限速方法的流程图,如图4所示,该流程包括:
S1:所有底层转发设备(接入服务器)在云平台中有唯一标识,统一管理,与云平台双向通信。
S2:各个底层转发设备启动,与云平台建立通信,云平台下发默认的控制报文的限速值,下发的限速值包括以下两种:1)基于各端口报文类型级别限速值,此为一级限速,例如,根据每种报文类型进行默认数值配置,默认限速值为最小限速值mini-rate,其中,预设的最小限速值mini-rate和预设最大限速值max-rate,可同时手工配置;2)基于端口 的剩余限速值,用于计算公共可调节缓存区大小;
各个底层转发设备经过一级限速后,上送报文汇聚到云平台;
S3:云平台控制面部分对上送的报文进行分流或者上送处理,云平台设置综合的分类限速,例如,可以基于槽位或者基于转发器层面设置综合的分类限速,此为二级限速;
S4:底层转发设备提供服务后,云平台针对具体情况对每个底层转发器(即转发设备)进行监控、并调整各个底层转发设备上的限速值。调整的依据包含:当前控制报文的速率,当前控制报文的调度速率,底层转发设备的CPU利用率,当前队列的权重等。
图5是根据本公开实施例的协议报文数据限速计算功能模块图,是针对上述图4流程图中的S4部分进行的模块介绍,如图5所示,
报文分类模块100:设置为在报文到达底层转发设备的情况下,根据一定的规则对报文进行分类,例如,可以根据特定的报文特征识别,可以根据IP控制报文字段,也可以根据其他的控制列表等信息,分类规则灵活可配置。然后送入不同的CPS队列,同时将信息写入调度器相关的调度信息上送云平台控制面;
限速管理单元200:每个CPS队列都有CPS调度器,调度器里有该队列的优先级,限速比例以及承诺限速值等,另外可感知当前来的流量的速率R,以及该调度器当前可分配的速率C。在CPS调度器当前来的流量的速率R大于当前可分配速率C的情况,使用调节缓存区,而在CPS调度器当前来的流量的速率R小于当前可分配速率C,小于等于当前速率部分流量的情况,使用基准缓存区发送进行操作。同时调度器的信息实时传送。
其中:小于等于可分配速率部分正常的发送数据。进入下一步骤:
超出当前可分配速率C的部分数据属于等待数据,对于传来更新后的调节数据缓存区,根据更新后的数据重新设置缓存区大小,否则维持原有数据缓存区大小不变,其他CPS队列的CPS调度器步骤同上;
端口对各个CPS调度器的当前速率进行监管,如果端口出现可用剩余限速,那么管理收集剩余限速的令牌,用户后续缓存流量的发送,进行下一步骤:
根据当前的端口剩余限速以及各个缓存区的流量,如果有可用限速,那么用于发送流量,如果没有缓存区流量或者可用限速,那么处于等待状态。
采用定时器,每隔一定的时间,发送控制信息1到缓存控制模块302,进行下一步骤,缓存控制模块302进行收集和计算各个CPS调度器的计算工作。如果定时器没有控制信号发出,那么继续进行前一步骤。
限速计算单元300:设置为缓存控制模块302在有控制信息到来时,根据基准缓存区大小,可用调节缓存区以及某个队列的信息进行重新计算合理的缓存区大小。并将计算的数值重新下发给数据缓存区,这样数据缓存区用于超出部分数据属于等待数据,以及进行下一步骤:
历史数据管理模块303,用户存储缓存控制模块302计算的缓存区大小以及将历史平均数据在需要的时候返回给缓存控制模块302;
其中,CPS调度器201的信息实时传送,其他CPS队列的CPS调度器,端口对各个CPS调度器的当前速率进行监管同步进行。
其中,限速计算单元300详细介绍如下:
1,时钟模块301,定时器到,缓存控制模块进行处理,定时器未到,直到定时器到。
2,缓存控制模块302,根据固定参数以及可变参数进行运算,计算出每个CPS队列的当前周期的缓存区大小,进入步骤3;
3,将计算好的缓存区大小告知各个队列,作为各个队列的数据缓存区大小。
数据缓存区大小的算法如下:
Figure PCTCN2017118116-appb-000001
Figure PCTCN2017118116-appb-000002
最大缓冲区大小(n))(如果R(n,T)≥C(n,T))
Buffer(n,T)=基准缓冲区大小(n)    (如果R(n,T)<C(n,T))
其中,当前的控制报文的速率R(n,T);
当前控制报文的分配限速值C(n,T);
底层转发设备的CPU利用率cpu(T);
当前控制报文所在队列的权重WFQ,默认的权重WFQ都是1,如果配置的话,权重WFQ数值会写入CPS调度器;
历史缓存均值Average(n,T)=Buffer(n,T)*1/2+历史缓存均值(n,T-1)*1/2,其中:(R(n,T)-C(n,T)*WFQ(n):是当前控制报文所在队列的超过基准缓存区的限速部分,
Figure PCTCN2017118116-appb-000003
是所有队列的超出基准缓存区的限速部分的总和;
其中,基准缓冲区大小是基于mini-rate设置的,用于保证基本的最小值限速;最大缓冲区大小是基于max-rate设置的,用于达到最大值限速。
需要说明的是,公共可调节缓冲区总量是基于端口预期可承受能力计算的,可使用默认数值或者作为n倍的基准缓冲区大小。
上述底层转发设备在缓存区一定的情况下,根据不同的队列的优先级或者限速值比例,制定相应的队列缓存的长度。可将缓存区分为2部分:1.保证每个队列最小限速的基准缓存区,2.可调节分配缓存区,该缓存区用于实时分配给当前队列,根据队列的优先级或者限速值比例,按照WFQ分配。
在本公开另一优选实施方式中,所述限速管理单元200示例性包括:
CPS调度器201:设置为调整不同的CPS队列的限速,调度等,其中包含当前控制报文队列的速率,调度的速率,转发设备的CPU利用率,当前控制报文所在队列的权重等。
端口限速管理模块202:该模块设置为当接口限速值总控制报文小于接口总可用限速值时,利用剩余限速值,将缓存区的控制报文依次转发出去。每个队列的缓存区存储的都 是承诺最小速率以外的控制报文,因此可以根据轮训或者先后等方式将控制报文作为优先级相同的控制报文发送。如果没有可用的限速值,那么数据缓存区的数据处于等待状态。
调度因子模块203:设置为设置CPS调度器的调度因子,可以是WFQ等权重,可配置用户转发器层面,或者端口,或者某种报文类型等,因子也可以根据时间和需要进行设置,修改,可设置多重因子。
在本公开另一优选实施方式中,所述限速计算单元300示例性包括:
时钟模块301:设置等待超时时间,超过之后,报文被丢弃,因为控制报文大多都有时效性,延时超过一定时间,控制报文上送意义不大。
缓存控制模块302:该模块根据各个队列的当前特征,设置为实时计算每个队列的数据缓存区大小,并实时控制修改缓存区大小,同时将现在数据采样作为历史数据存储。
历史数据管理模块303:设置为存储Buffer控制模块计算的每个控制报文队列的buffer缓存区大小,以及每个队列的历史控制报文大小,并计算出每个数据队列的历史控制报文速率平均值,实时返回给Buffer控制模块,用于调整下一刻的数据缓存区大小。
上述实施例提供了一种基于云平台的二级可调节的控制报文限速方法及其装置,该方法通过将CPS调度器放入可变的数据缓存区中,用以在端口限速管理有剩余的限速可用的情况下,尽量发送出去。每个队列根据当前流量的实际情况制定数据缓存区,并能做到定时更新,最大限度地满足了各个队列以及利用了当前的端口限速。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
实施例2
在本实施例中还提供了一种报文发送装置,该装置设置为实现上述实施例及优选实施方式,己经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本公开实施例的报文发送装置的结构框图,如图6所示,该装置包括:
调整模块62,设置为根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,第一上送速率为底层转发设备调整后的速率;
上送模块64,连接至上述调整模块62,设置为根据调整后的第一上送速率上送报文。
可选地,调整模块62,还设置为在根据底层转发设备的预设上送速率调整报文的第一上送速率之前,向底层转发设备发送限速值,其中,限速值用于调整报文的上送速率;接收底层转发设备以第一上送速率发送的报文,其中,第一上送速率为底层转发设备根据 限速值调整后的速率。
可选地,调整模块62,还设置为在向底层转发设备发送限速值之前,根据底层转发设备端口的报文类型确定限速值。
可选地,上送模块64,还设置为在根据调整后的第一上送速率上送报文之后,监控底层转发设备;根据监控得到的监控结果调整限速值。
可选地,调整模块62,还设置为在接收底层转发设备以第一上送速率发送的报文之前,向底层转发设备发送用于调整底层转发设备中用于存储报文的缓存区的参数,其中,参数携带有定时信息,定时信息用于底层转发设备以定时信息为周期,根据参数周期性的调整缓存区。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本公开的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,第一上送速率为底层转发设备调整后的速率;
S2,根据调整后的第一上送速率上送报文。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在向底层转发设备发送限速值之前,方法还包括:
S1,根据底层转发设备端口的报文类型级别确定限速值。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在根据调整后的第一上送速率上送报文之后,方法还包括:
S1,监控底层转发设备;
S2,根据监控得到的监控结果调整限速值。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,监控结果包括以下至少之一:底层转发设备发送当前报文的上送速率,底层转发设备发送的当前报文的调度速率,底层转发设备的中央处理器CPU利用率,底层转发设备发送的当前报文所在队列的权重。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在接收底层转发设备以第一上送速率发送的报文之前,方法还包括:
S1,向底层转发设备发送用于调整底层转发设备中用于存储报文的缓存区的参数,其中,参数携带有定时信息,定时信息用于底层转发设备以定时信息为周期,根据参数周期性的调整缓存区。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,参数包括以下至少之一:底层转发设备发送当前报文的上送速率,底层转发设备发送的当前报文对应的限速值,底层转发设备的中央处理器CPU利用率,底层转发设备发送的当前报文所在队列的权重。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S1,底层转发设备的标识在云平台中是唯一的。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中己存储的程序代码执行:根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,第一上送速率为底层转发设备调整后的速率;根据调整后的第一上送速率上送报文。
可选地,在本实施例中,处理器根据存储介质中己存储的程序代码执行:在根据底层转发设备的预设上送速率调整报文的第一上送速率之前,方法还包括:向底层转发设备发送限速值,其中,限速值用于调整报文的上送速率;接收底层转发设备以第一上送速率发送的报文,其中,第一上送速率为底层转发设备根据限速值调整后的速率。
可选地,在本实施例中,处理器根据存储介质中己存储的程序代码执行:在向底层转发设备发送限速值之前,方法还包括:根据底层转发设备端口的报文类型级别确定限速值。
可选地,在本实施例中,处理器根据存储介质中己存储的程序代码执行:在根据调整后的第一上送速率上送报文之后,方法还包括:监控底层转发设备;根据监控得到的监控结果调整限速值。
可选地,在本实施例中,处理器根据存储介质中己存储的程序代码执行:监控结果包括以下至少之一:底层转发设备发送当前报文的上送速率,底层转发设备发送的当前报文的调度速率,底层转发设备的中央处理器CPU利用率,底层转发设备发送的当前报文所在队列的权重。
可选地,在本实施例中,处理器根据存储介质中己存储的程序代码执行:在接收底层转发设备以第一上送速率发送的报文之前,方法还包括:向底层转发设备发送用于调整底层转发设备中用于存储报文的缓存区的参数,其中,参数携带有定时信息,定时信息用于底层转发设备以定时信息为周期,根据参数周期性的调整缓存区。
可选地,在本实施例中,处理器根据存储介质中己存储的程序代码执行:参数包括以下至少之一:底层转发设备发送当前报文的上送速率,底层转发设备发送的当前报文对应的限速值,底层转发设备的中央处理器CPU利用率,底层转发设备发送的当前报文所在队列的权重。
可选地,在本实施例中,处理器根据存储介质中己存储的程序代码执行:底层转发设备的标识在云平台中是唯一的。
可选地,本实施例中的示例可以参考上述实施例及可选实施方式中所描述的示例,本 实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
以上所述仅为本公开的优选实施例而己,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
工业实用性
本公开实施例提供的报文发送方法,通过在底层转发设备对报文的上送速率调整之后,再次对底层转发设备调整后的速率进行一次调控,即采用底层转发设备和平台双重对上送报文的速率进行限速,达到了双层限速,可以解决相关技术中只在传统的底层转发设备对上送的控制报文进行限速导致限速不够灵活的问题,可以在达到优于传统报文上送限速目的的基础上,达到适应网络要求的延时和损失最小的最佳效果。

Claims (14)

  1. 一种报文发送方法,其中,包括:
    根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,所述第一上送速率为所述底层转发设备调整后的速率;
    根据调整后的第一上送速率上送所述报文。
  2. 根据权利要求1所述的方法,其中,在根据所述底层转发设备的预设上送速率调整报文的所述第一上送速率之前,所述方法还包括:
    向所述底层转发设备发送限速值,其中,所述限速值用于调整报文的上送速率;
    接收所述底层转发设备以第一上送速率发送的报文,其中,所述第一上送速率为所述底层转发设备根据所述限速值调整后的速率。
  3. 根据权利要求2所述的方法,其中,在向所述底层转发设备发送所述限速值之前,所述方法还包括:
    根据所述底层转发设备对应的端口的报文类型确定所述限速值。
  4. 根据权利要求2所述的方法,其中,在根据所述调整后的第一上送速率上送所述报文之后,所述方法还包括:
    监控所述底层转发设备;
    根据监控得到的监控结果调整所述限速值。
  5. 根据权利要求4所述的方法,其中,所述监控结果包括以下至少之一:所述底层转发设备发送当前报文的上送速率,所述底层转发设备发送的当前报文的调度速率,所述底层转发设备的中央处理器CPU利用率,所述底层转发设备发送的当前报文所在队列的权重。
  6. 根据权利要求2所述的方法,其中,在接收所述底层转发设备以所述第一上送速率发送的所述报文之前,所述方法还包括:
    向所述底层转发设备发送用于调整所述底层转发设备中用于存储所述报文的缓存区的参数,其中,所述参数携带有定时信息,所述定时信息用于所述底层转发设备以所述定时信息为周期,根据所述参数周期性的调整所述缓存区。
  7. 根据权利要求6所述的方法,其中,所述参数包括以下至少之一:所述底层转发设备发送当前报文的上送速率,所述底层转发设备发送的当前报文对应的限速值,所述底层转发设备的中央处理器CPU利用率,所述底层转发设备发送的当前报文所在队列的权重。
  8. 根据权利要求1至7中任一项所述的方法,其中,所述底层转发设备的标识在云平台中是唯一的。
  9. 一种报文发送装置,其中,包括:
    调整模块,设置为根据底层转发设备的预设上送速率调整报文的第一上送速率,其中, 所述第一上送速率为所述底层转发设备调整后的速率;
    上送模块,设置为根据调整后的第一上送速率上送所述报文。
  10. 根据权利要求9所述的装置,其中,所述调整模块,还设置为在根据所述底层转发设备的预设上送速率调整报文的所述第一上送速率之前,向所述底层转发设备发送限速值,其中,所述限速值用于调整报文的上送速率;接收所述底层转发设备以第一上送速率发送的报文,其中,所述第一上送速率为所述底层转发设备根据所述限速值调整后的速率。
  11. 根据权利要求10所述的装置,其中,所述调整模块,还设置为在向所述底层转发设备发送所述限速值之前,根据所述底层转发设备对应的端口的报文类型确定所述限速值。
  12. 根据权利要求10所述的装置,其中,所述上送模块,还设置为在根据所述调整后的第一上送速率上送所述报文之后,监控所述底层转发设备;根据监控得到的监控结果调整所述限速值。
  13. 根据权利要求10所述的装置,其中,所述调整模块,还设置为在接收所述底层转发设备以所述第一上送速率发送的所述报文之前,向所述底层转发设备发送用于调整所述底层转发设备中用于存储所述报文的缓存区的参数,其中,所述参数携带有定时信息,所述定时信息用于所述底层转发设备以所述定时信息为周期,根据所述参数周期性的调整所述缓存区。
  14. 一种存储介质,设置为存储用于执行以下步骤的程序代码:
    根据底层转发设备的预设上送速率调整报文的第一上送速率,其中,所述第一上送速率为所述底层转发设备调整后的速率;
    根据调整后的第一上送速率上送所述报文。
PCT/CN2017/118116 2017-02-16 2017-12-22 报文发送方法及装置 WO2018149228A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710083904.9A CN108449160A (zh) 2017-02-16 2017-02-16 报文发送方法及装置
CN201710083904.9 2017-02-16

Publications (1)

Publication Number Publication Date
WO2018149228A1 true WO2018149228A1 (zh) 2018-08-23

Family

ID=63170105

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/118116 WO2018149228A1 (zh) 2017-02-16 2017-12-22 报文发送方法及装置

Country Status (2)

Country Link
CN (1) CN108449160A (zh)
WO (1) WO2018149228A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230247477A1 (en) * 2022-02-01 2023-08-03 Qualcomm Incorporated Buffering techniques for non-terrestrial networks

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257298A (zh) * 2018-11-06 2019-01-22 上海航天测控通信研究所 基于自适应比例控制算法的网络流量控制方法
CN110677188B (zh) * 2019-09-23 2021-05-28 四川安迪科技实业有限公司 卫星通信空口限速动态调整方法、发送方法及装置
CN114500276A (zh) * 2020-11-13 2022-05-13 中兴通讯股份有限公司 数据处理方法、装置、系统和计算机可读存储介质
CN113014504B (zh) * 2021-03-16 2022-12-23 杭州迪普信息技术有限公司 流量控制方法、装置与电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106518A (zh) * 2006-07-10 2008-01-16 中兴通讯股份有限公司 为中央处理器提供负载保护的拒绝服务方法
WO2013107056A1 (zh) * 2012-01-21 2013-07-25 华为技术有限公司 报文转发的方法及装置
US20160359756A1 (en) * 2015-06-04 2016-12-08 Mediatek Inc. Communication device, integrated circuitry, and the communication method thereof
WO2017016612A1 (en) * 2015-07-30 2017-02-02 Telefonaktiebolaget Lm Ericsson (Publ) Technique for message flow shaping

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325588A (zh) * 2007-06-11 2008-12-17 华为技术有限公司 一种网络设备防攻击的方法以及网络设备
EP2204953A1 (en) * 2008-12-30 2010-07-07 Huawei Technologies Co., Ltd. Method, apparatus and system for realizing dynamic correlation of control plane traffic rate
WO2012106934A1 (zh) * 2011-07-27 2012-08-16 华为技术有限公司 Pci快速通道设备、链路能量管理方法及系统
CN102595503B (zh) * 2012-02-20 2014-08-06 南京邮电大学 一种基于无线多媒体传感器网络的拥塞控制方法
CN105207952A (zh) * 2014-06-12 2015-12-30 中兴通讯股份有限公司 一种分层服务质量队列限速方法和装置
CN105393508B (zh) * 2014-06-26 2019-09-13 华为技术有限公司 软件定义网络的服务质量控制方法及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106518A (zh) * 2006-07-10 2008-01-16 中兴通讯股份有限公司 为中央处理器提供负载保护的拒绝服务方法
WO2013107056A1 (zh) * 2012-01-21 2013-07-25 华为技术有限公司 报文转发的方法及装置
US20160359756A1 (en) * 2015-06-04 2016-12-08 Mediatek Inc. Communication device, integrated circuitry, and the communication method thereof
WO2017016612A1 (en) * 2015-07-30 2017-02-02 Telefonaktiebolaget Lm Ericsson (Publ) Technique for message flow shaping

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230247477A1 (en) * 2022-02-01 2023-08-03 Qualcomm Incorporated Buffering techniques for non-terrestrial networks

Also Published As

Publication number Publication date
CN108449160A (zh) 2018-08-24

Similar Documents

Publication Publication Date Title
WO2018149228A1 (zh) 报文发送方法及装置
US10205604B2 (en) Multicast to unicast conversion technique
CN108259383B (zh) 一种数据的传输方法和网络设备
US8265076B2 (en) Centralized wireless QoS architecture
US8767553B2 (en) Dynamic resource partitioning for long-term fairness to non-elastic traffic on a cellular basestation
JP2023002774A (ja) パケット伝送システムおよび方法
CN109451534B (zh) 一种用于5G系统会话管理中QoS流的动态控制方法和装置
US20190014053A1 (en) Network Flow Control Method And Network Device
US9112809B2 (en) Method and apparatus for controlling utilization in a horizontally scaled software application
Rojas-Cessa et al. Schemes for fast transmission of flows in data center networks
Bai et al. Enabling ECN over generic packet scheduling
US10091124B2 (en) System for early system resource constraint detection and recovery
CN106789721B (zh) 一种基于令牌桶的智能qos方法及系统
US10721295B2 (en) Popularity-based load-balancing for fog-cloud placement
US10432530B2 (en) System and method of providing compression technique for jitter sensitive application through multiple network links
CN112041826B (zh) 用于网络接口卡的细粒度业务整形分流
CN113315720B (zh) 一种数据流控制方法、系统及设备
WO2015024158A1 (zh) 一种准入控制方法和装置
WO2018036516A1 (zh) 流量控制方法及系统,分组交换设备及用户设备
WO2016082603A1 (zh) 一种调度器及调度器的动态复用方法
JP2020072336A (ja) パケット転送装置、方法、及びプログラム
CN113783785A (zh) Ecn水线值的配置方法、装置及网络设备
WO2020026983A1 (ja) パケット転送装置、方法、及びプログラム
Iqbal et al. Instant queue occupancy used for automatic traffic scheduling in data center networks
US10187317B1 (en) Methods for traffic rate control and devices thereof

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17896707

Country of ref document: EP

Kind code of ref document: A1