CN109039936A - Transmission rate control, device, sending device and receiving device - Google Patents

Transmission rate control, device, sending device and receiving device Download PDF

Info

Publication number
CN109039936A
CN109039936A CN201811003680.7A CN201811003680A CN109039936A CN 109039936 A CN109039936 A CN 109039936A CN 201811003680 A CN201811003680 A CN 201811003680A CN 109039936 A CN109039936 A CN 109039936A
Authority
CN
China
Prior art keywords
point
receiving
transmission rate
data flow
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811003680.7A
Other languages
Chinese (zh)
Other versions
CN109039936B (en
Inventor
邓维山
夏寅贲
李凤凯
冀智刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811003680.7A priority Critical patent/CN109039936B/en
Publication of CN109039936A publication Critical patent/CN109039936A/en
Priority to PCT/CN2019/082462 priority patent/WO2020042624A1/en
Application granted granted Critical
Publication of CN109039936B publication Critical patent/CN109039936B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/12Avoiding congestion; Recovering from congestion

Landscapes

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

Abstract

This application discloses a kind of transmission rate control, device, sending device and receiving devices.The transmission rate control is applied to DCN, comprising: sending point receives the first CNP that the receiving point is sent, and the first CNP includes rate information, and the rate information indicates that the receiving point receives the receiving velocity for the data packet that the data flow includes;The receiving velocity is determined according to the rate information;Rate of evacuation is determined according to the receiving velocity;The transmission rate of the data flow is updated to the rate of evacuation.The technical solution of the application, sending point adjust the transmission rate of data flow according to the rate information of receiving point, can accurately adjust the transmission rate of data flow, so as to eliminate the queue congestion of transfer point, improve the transmission performance of data flow.

Description

Transmission rate control, device, sending device and receiving device
Technical field
This application involves field of communication technology more particularly to a kind of transmission rate control, device, sending device and connect Receiving unit.
Background technique
Data center network (data center network, DCN) is the core network for transmitting data, is widely used in Field of network transmission.A kind of typical DCN includes sending point, transfer point and receiving point, and transfer point receives the number that sending point issues According to packet, and it is sent to receiving point.With the development of artificial intelligence, cloud computing and real-time big data analysis etc., DCN should meet super Low delay, height are handled up and are required without packet loss etc., this is based on, and DCN supports remote direct memory to access (remote direct Memory access, RDMA) data transmission scheme.
Phenomena such as will cause too long data transmission delay or even packet loss due to network congestion is based on this, and RDMA provides one Kind data center's quantization congestion notification (data center quantized congestion notification, DCQCN) side Case.Specifically, adding Explicit Congestion when transfer point detects congestion for received data packet and noticing (explicit Congestion notification, ECN) label.After receiving point receives the data packet with ECN label, to sending point It sends congestion notification message (congestion notification packet, CNP), is produced and gathered around with notice transmission spot net Plug.When sending point receives CNP, the transmission rate by reducing the affiliated data flow of data packet eliminates congestion.Work as congestion After elimination, sending point increases the transmission rate of the affiliated data flow of the data packet again.
In practical application scene, sending point determines the transmission rate of the data flow according to preset Dynamic gene, and The transmission rate of the data flow is adjusted by adjusting the Dynamic gene.This adjustment mode leads to the transmission of the data flow Rate is shaken, and is declined so as to cause the transmission performance of data flow.
Summary of the invention
This application provides a kind of transmission rate control, device, sending device and receiving devices, apply in DCN, The accurate adjustment of the transmission rate of data flow is realized, to eliminate the queue congestion of transfer point and improve the transporting of data flow Energy.
Technical solution provided by the present application is applied to DCN, and the DCN includes sending point, transfer point and receiving point, described Sending point is used to send data flow to the receiving point via the transfer point.
In a first aspect, this application provides a kind of transmission rate controls, this method comprises:
The sending point receives the first congestion notification message CNP that the receiving point is sent, described in the first CNP instruction There are congestion, the data flow includes first data packet for the transfer point when transfer point forwards the first data packet, and described the One CNP includes rate information, and the rate information indicates that the receiving point receives the reception for the data packet that the data flow includes Rate;
The sending point determines the receiving velocity according to the rate information;
The sending point determines that rate of evacuation, the rate of evacuation are that the instruction transfer point will according to the receiving velocity The rate for the entire packet dequeue that queue in the transfer point includes, the queue include the data in the data flow Packet;
The transmission rate of the data flow is updated to the rate of evacuation by the sending point.
Wherein, in this implementation, CNP includes the rate that receiving point receives the data packet of data flow transmitted by sending point Information.After sending point receives the CNP, the receiving velocity of receiving point is determined according to the rate information.Then, sending point according to The receiving velocity of receiving point determines the target transmission rate of the data flow, in turn, the transmission rate of data flow is updated to institute State target transmission rate.
Using this implementation, sending point using the receiving velocity of receiving point as the parameter of adjustment data flow transmission rate according to According to the transmission rate for the reduction data flow that can be shot the arrow at the target, the queue so as to congestion in fast evacuation transfer point includes Data packet, quickly eliminate transfer point existing for congestion.
In the optional design of one kind, the sending point determines rate of evacuation according to the receiving velocity, comprising:
The sending point generates hypervelocity specific factor a according to the transmission rate of the data flow and the receiving velocity, described The specific factor a that exceeds the speed limit meets:Wherein, RIt sendsRefer to the transmission rate of the data flow, RIt receivesRefer to the reception Rate;
Emptying time T is determined according to the hypervelocity specific factor apause, the emptying time TpauseMeet: Tpause=a × (tgt+rtt)+tgt, wherein time when timestamp and enqueue when tgt refers to the data packet dequeue in the queue The time interval that the difference of stamp should meet, when rtt is referred in the transfer point without queue, data packet is from the sending point via described Transfer point is transferred to the receiving point, then the duration of the sending point is returned by the receiving point;
According to the emptying time TpauseCalculate the rate of evacuation Rpause, the rate of evacuation RpauseMeet:
Wherein, in the application, in order to quickly eliminate congestion existing for the transfer point, in the queue for making the transfer point The equal dequeue of entire packet, makes the transfer point reach the state of no queue.The application " will make the transfer point reach no team The state of column " is known as emptying.In a kind of implementation of the application, indicate that the transfer point empties in emptying time.It is described Emptying time is the duration for the entire packet dequeue that the queue in the instruction transfer point includes.It sending point can be according to institute State the rate of evacuation that emptying time calculates the data flow.
Using this implementation, sending point can accurately determine the rate of evacuation of the data flow, thus to the data Stream realizes accurate reduction of speed.
In the optional design of one kind, the transmission rate of the data flow is updated to the rate of evacuation in the sending point Later, further includes:
The sending point sends the data flow with the rate of evacuation and continues the emptying time;
The transmission rate of the data flow is updated to the receiving velocity by the sending point.
Wherein, sending point continues emptying time with rate of evacuation transmission data flow, to include by the queue of transfer point The quick dequeue of entire packet, and then can reduce the propagation delay time for the data packet for including in queue.By the transfer point Queue in congestion data packet emptying after, the transmission rate of data flow is updated to the reception from rate of evacuation by sending point Rate.
Using this implementation, in empty stage, the emptying time of congestion existing for transfer point and the row of data flow are specified Null-rate fast and accurately empties congestion existing for transfer point.It is the transmission speed of sending point increase data stream in the speed stabilizing stage Rate provides specific target, so that the adjustment of data flow transmission rate is more accurate.
In the optional design of one kind, the transmission rate of the data flow is updated to the receiving velocity in the sending point Later, further includes:
Whether the transmission rate that the data flow is detected in the sending point reaches the maximum transmission rate of the sending point;
When the transmission rate of the data flow is not up to the maximum transmission rate of the sending point, the sending point judgement Whether twoth CNP that the receiving point send is received in second preset interval duration, and the 2nd CNP indicates the transfer point For the transfer point there are congestion, the data flow includes second data packet when forwarding the second data packet, and described second is default It is spaced duration and is greater than the first preset interval duration, when the first preset interval duration is the minimum interval that receiving point sends CNP It is long;
When not receiving two CNP in the second preset interval duration, the sending point is by the data flow Transmission rate be updated to target transmission rate, the target transmission rate meets:
Whether the transmission rate that the sending point repeats the detection data flow reaches the sending point most The operation of big transmission rate, until the transmission rate of the data flow reaches the maximum transmission rate of the sending point.
Wherein, sending point sends the data flow with receiving velocity, leads to the handling capacity of the data packet of the data flow not It is high.Based on this, under the premise of guaranteeing that congestion is not present in transfer point, sending point can also further increase the hair of the data flow Transmission rate.Specifically, sending point is using the maximum transmission rate of the sending point as final targeted rate, often in the application One wheel raising speed, by the maximum of the transmission rate of the transmission rate raising speed of the data flow to the data flow and the sending point The half of the sum of transmission rate, until the transmission rate of the data flow reaches the maximum transmission rate of sending point.
Using this implementation, the sending point of the data flow increases institute using its maximum transmission rate as reference data State the transmission rate of data flow, thus when there is a plurality of data flow to need to increase transmission rate, can guarantee pieces of data stream it Between raising speed fairness.
In the optional design of one kind, the rate information includes: period 1 and the receiving point in the period 1 Inside receive the length summation of the data packet of the data flow;Or
The rate information includes the receiving velocity.
Using this implementation, sending point using the receiving velocity of receiving point as the parameter of adjustment data flow transmission rate according to According to the transmission rate for the reduction data flow that can be shot the arrow at the target, the queue so as to congestion in fast evacuation transfer point includes Data packet, quickly eliminate transfer point existing for congestion.
In the optional design of one kind, the data packet for the data flow that the receiving point receives within the period 1 In include first data packet.
Specifically, receiving point continues to determine each period, this realization since initial time in a kind of optional implementation In mode, the receiving point will correspond to the period as the period 1 when will receive the first data packet.Another optional realization Mode is, as the initial time of the period 1 at the time of receiving point will receive the first data packet, by the initial time The period of cycle duration is as the period 1 backward.
Using this implementation, receiving point be can determine in the period of transfer point congestion, and the receiving point is corresponding to The rate of data packet of the reception data flow provided accurate to adjust the transmission rate of the data flow for sending point Data reference.
In the optional design of one kind, the receiving velocity refers to the data packet packet of the received data flow of the receiving point Include the period corresponding rate of first data packet.
Specifically, in one possible implementation, receiving point continues to determine each period since initial time.This In implementation, when receiving the first data packet, receiving point determines period where at the time of receive the first data packet when Between section, obtain the length summation for the data packet that the data flow is received in the period, and then calculate the receiving velocity.? In alternatively possible implementation, when receiving point receives the first data packet, start received institute of institute in calculating cycle duration The length summation of the data packet of data flow is stated, and then calculates the receiving velocity.
Using this implementation, receiving point be can determine in the period of transfer point congestion, and the receiving point is corresponding to The rate of data packet of the reception data flow provided accurate to adjust the transmission rate of the data flow for sending point Data reference.
Second aspect, this application provides a kind of transmission rate controls, this method comprises:
The receiving point receives the sending point and sends and via the first data packet that the transfer point forwards, the data Stream includes first data packet, and first data packet includes Explicit Congestion notice ECN label, the ECN label instruction institute Stating transfer point when transfer point forwarding first data packet, there are congestions;
The receiving point is marked according to the ECN that first data packet includes, and generates the first congestion notification message CNP, institute Stating the first CNP includes rate information, and the rate information indicates that the receiving point receives the data packet that the data flow includes Receiving velocity;
The receiving point sends the first CNP to the sending point.
Wherein, it in the application, after receiving point receives the data packet comprising ECN label, determines and receives the data packet The rate information of the data packet of affiliated data flow.The rate information is added in CNP generated by the receiving point.It is described The CNP is sent the sending point by receiving point, adjusts the number according to the rate information for triggering the sending point According to the transmission rate of stream.
Using this implementation, sending point using the receiving velocity of receiving point as the parameter of adjustment data flow transmission rate according to According to the transmission rate for the reduction data flow that can be shot the arrow at the target, the queue so as to congestion in fast evacuation transfer point includes Data packet, quickly eliminate transfer point existing for congestion.
In the optional design of one kind, the rate information includes: period 1 and the receiving point in the period 1 Inside receive the length summation of the data packet of the data flow;Or
The rate information includes the receiving velocity.
Using this implementation, sending point using the receiving velocity of receiving point as the parameter of adjustment data flow transmission rate according to According to the transmission rate for the reduction data flow that can be shot the arrow at the target, the queue so as to congestion in fast evacuation transfer point includes Data packet, quickly eliminate transfer point existing for congestion.
In the optional design of one kind, the data packet for the data flow that the receiving point receives within the period 1 In include first data packet.
Specifically, receiving point continues to determine each period, this realization since initial time in a kind of optional implementation In mode, the receiving point will correspond to the period as the period 1 when will receive the first data packet.Another optional realization Mode is, as the initial time of the period 1 at the time of receiving point will receive the first data packet, by the initial time The period of cycle duration is as the period 1 backward.
Using this implementation, receiving point be can determine in the period of transfer point congestion, and the receiving point is corresponding to The rate of data packet of the reception data flow provided accurate to adjust the transmission rate of the data flow for sending point Data reference.
In the optional design of one kind, the receiving velocity refers to the data packet packet of the received data flow of the receiving point Include the period corresponding rate of first data packet.
Specifically, in one possible implementation, receiving point continues to determine each period since initial time.This In implementation, when receiving the first data packet, receiving point determines period where at the time of receive the first data packet when Between section, obtain the length summation for the data packet that the data flow is received in the period, and then calculate the receiving velocity.? In alternatively possible implementation, when receiving point receives the first data packet, start received institute of institute in calculating cycle duration The length summation of the data packet of data flow is stated, and then calculates the receiving velocity.
Using this implementation, receiving point be can determine in the period of transfer point congestion, and the receiving point is corresponding to The rate of data packet of the reception data flow provided accurate to adjust the transmission rate of the data flow for sending point Data reference.
The third aspect, present invention also provides a kind of transmission rate control devices, and device setting is in sending point, including hair Send device, receiver and processor.Wherein, transmitter is for executing data flow in first aspect and each implementation of first aspect It sends.Receiver is used to execute the reception of CNP in first aspect and each implementation of first aspect.Processor is for executing first Operation in aspect and each implementation of first aspect other than the transmission of data flow and the reception of CNP.
Fourth aspect, present invention also provides a kind of transmission rate control devices, and device setting is in receiving point, including hair Send device, receiver and processor.Wherein, transmitter is used to execute the hair of CNP in second aspect and each implementation of second aspect It send.Receiver is used to execute the reception of the data packet of data flow in second aspect and each implementation of second aspect.Processor is used In execution second aspect and each implementation of second aspect other than the transmission of CNP and the reception of the data packet of data flow Operation.
5th aspect, present invention also provides a kind of transmission rate control device, which is arranged in sending point, including with In the module for the middle method and step for executing first aspect and each implementation of first aspect.
6th aspect, present invention also provides a kind of transmission rate control device, which is arranged in receiving point, including with In the module for the middle method and step for executing second aspect and each implementation of second aspect.
7th aspect is used as the sending point, including transceiver this application provides a kind of sending device, processor with And memory.Wherein, can be connected by bus system between transceiver, processor and the memory.The memory is used In storage program, instruction or code, the processor is used to execute program, instruction or the code in the memory, completes the Or the method in any one possible design of first aspect on the one hand.
Eighth aspect is used as the receiving point, including transceiver this application provides a kind of receiving device, processor with And memory.Wherein, can be connected by bus system between transceiver, processor and the memory.The memory is used In storage program, instruction or code, the processor is used to execute program, instruction or the code in the memory, completes the Method in any one possible design of two aspects or second aspect.
9th aspect, this application provides a kind of computer readable storage medium, in the computer readable storage medium It is stored with instruction, when run on a computer, so that computer execution first aspect, second aspect, first aspect are any Method in possible design or in the arbitrarily possible design of second aspect.
It include ECN label in response to received first data packet of institute in the application, receiving point generates CNP, and by the CNP It is sent to sending point.Wherein, sending point sends data flow to the receiving point via transfer point, and the data flow includes described the One data packet.In order to solve the problems, such as the transmission performance decline of data flow, the CNP includes the rate information of the receiving point. The rate information is the rate for the data packet that the receiving point receives the data flow.Believed according to the rate of receiving point sending point The target transmission rate for determining data flow is ceased, in turn, the transmission rate of data flow is adjusted according to target transmission rate.Thus may be used See, the technical solution of the application, sending point adjusts the transmission rate of data flow according to the rate information of receiving point, can be accurate The transmission rate of adjustment data flow improves the transmission performance of data flow so as to eliminate the queue congestion of transfer point.
Detailed description of the invention
In order to illustrate more clearly of the technical solution of the application, letter will be made to attached drawing needed in the embodiment below Singly introduce, it should be apparent that, for those of ordinary skills, without creative efforts, also Other drawings may be obtained according to these drawings without any creative labor.
Fig. 1 is a kind of structural schematic diagram of DCN of the application;
Fig. 2 is a kind of signaling interaction diagram of DCQCN method of the application;
Fig. 3 is the data frame structure schematic diagram of the application CNP;
Fig. 4 is the method flow diagram of the application transmission rate control one embodiment;
Fig. 5 is the data frame structure schematic diagram of the first CNP one embodiment of the application;
Fig. 6 is the method flow diagram of another embodiment of the application transmission rate control;
Fig. 7 is the topological diagram of the application DCN one embodiment;
Fig. 8 is the structural schematic diagram of one embodiment of the application transmission rate control device;
Fig. 9 is the structural schematic diagram of one embodiment of the application sending device;
Figure 10 is the structural schematic diagram of another embodiment of the application transmission rate control device;
Figure 11 is the structural schematic diagram of one embodiment of the application receiving device.
Specific embodiment
DCN includes multiple sending points, multiple transmission point and multiple receiving points.Wherein, sending point, receiving point and transfer point are equal It is the network equipment.Sending point and receiving point are interchanger, router or server.Transfer point be, for example, interchanger or Person's router.It is a kind of structural schematic diagram of DCN of the application referring to Fig. 1, Fig. 1.DCN shown in FIG. 1 includes sending point 1, transmission Point 1, transfer point 2, receiving point 1 and receiving point 2.
It should be understood that Fig. 1 is only a kind of exemplary structure schematic diagram of the application DCN, in practical applications, DCN is included Sending point quantity, the quantity of transfer point and the quantity of receiving point can be more.
In a kind of implementation of the application, a sending point can send a data in multiple sending points of DCN Stream.For example, sending point 1 sends data flow 1 in Fig. 1, data flow 1 is transferred to receiving point 1 via transfer point 1.
In another implementation of the application, a sending point can send at least two datas in multiple sending points Stream.For example, sending point 1 can also send data flow 2 and data flow 3 in addition to sending data flow 1 in Fig. 1.In this implementation, Data flow 2 and data flow 3 can be transmitted through same transfer point, for example, data flow 2 and data flow 3 are transmitted via transfer point 1. Data flow 2 and data flow 3 can also be transmitted via different transfer points, for example, data flow 2 is transmitted via transfer point 1, data flow 3 transmit via transfer point 2.Data flow 2 and data flow 3 can be for transmission to same receiving points, for example, data flow 2 and data flow 3 are equal It is transferred to 1 (not shown in figure 1) of receiving point.Data flow 2 and data flow 3 can also be for transmission to different receiving points, for example, data Stream 2 is transferred to receiving point 1, and data flow 3 is transferred to receiving point 2.
Data flow refers to the sequence of data packet transmitted from sending point to receiving point, and the data flow includes multiple numbers According to packet.After any data packet in the sequence of data packet is issued from sending point, in transfer point enqueue.The data packet from After the transfer point dequeue, it is transferred to the receiving point.Wherein, enqueue refers to that the data packet enters the transfer point In include queue, dequeue refers to that the data packet leaves the queue for including in the transfer point.The queue is the biography The linear list for being used to dispatch data packet that defeated point includes.The transfer point is realized by the temporary storage that the transfer point includes The storage of queue.After the transfer point receives the data packet that the sending point is sent, by data packet enqueue, then according to team Column dispatching algorithm, then data packet is subjected to dequeue operation.The queue scheduling algorithm includes first in first out (first in First out, FIFO) queue scheduling algorithm, Weighted Fair Queuing (weighted fair queuing, WFQ) dispatching algorithm, Priority query's (priority queuing, PQ) dispatching algorithm or custom queuing (custom queue, CQ) dispatching algorithm.Base In this, when the queue length be greater than certain value, cause interval duration of the data packet from enqueue to dequeue be greater than one When periodically long, this phenomenon is known as the transfer point by the application, and there are congestions.
Transfer point there are congestion, will lead to it is too long via the packet transmission time of the data flow of the transfer point, thus Reduce the transmission performance of the data flow.In view of this, the DCQCN method passes through this application provides a kind of DCQCN method The transmission rate for adjusting data flow eliminates congestion existing for transfer point, improves the transmission performance of data flow.
Referring to fig. 2, Fig. 2 is a kind of signaling interaction diagram of DCQCN method of the application.Wherein, the transfer point example of congestion is generated Transfer point 1 shown in FIG. 1 in this way.Transfer point 1 is used to the data for the data flow 1 that sending point 1 is sent forwarding a packet to receiving point 1, It include the data packet 1 of data flow 1 in the queue of 1 congestion of transfer point.DCQCN method 100 shown in Fig. 2 the following steps are included:
Step S101, the length in response to the queue in transfer point 1 is more than predetermined threshold value, and the transfer point 1 is described Data packet 1 beats ECN label, and sends receiving point 1 for the data packet 1 marked comprising the ECN.
In the application, threshold value is set for the queue length in transfer point in advance, the threshold value is also referred to as waterline, is used for Indicate the queue in the transfer point with the presence or absence of congestion.Wherein, waterline K meets: K=B × tgt, B refer in the queue Time when timestamp and enqueue when the rate of data packet dequeue, tgt refer to the data packet dequeue in the queue The time interval that the difference of stamp should meet.
Wherein, the data packet for the data flow that sending point is sent all includes ECN attribute field.ECN attribute field is transmission control Agreement (transmission control protocol, TCP)/Internet Protocol processed (internet protocol, IP) the congestion confirmation flag of protocol definition, initial value are, for example, sky.When transfer point detects congestion, the transfer point is enabled ECN attribute field in the data packet of queue, such as the value of ECN attribute field is set to 1, it indicates belonging to the ECN attribute field Data packet when the transfer point is transmitted, be in congestion state.
In the application, the process of the ECN attribute field in above-mentioned enabled data packet is properly termed as: beating ECN mark for data packet Note.ECN label indicates the ECN attribute field after enabling, for example, ECN label indicates that the value of ECN attribute field is 1.
In the implementation of the application, whether the length that the transfer point 1 detects queue in the transfer point 1 is more than water Line, if the queue length of transfer point 1 is more than waterline, there are congestions for instruction transfer point 1.The transfer point 1 is the number of enqueue ECN label is beaten according to packet, then, continues in the data packet and queue of the transmission enqueue including ECN label to include not Beat the data packet of ECN label.If the queue length of transfer point 1 is less than waterline, congestion is not present in instruction transfer point 1, described Transfer point 1 continues the entire packet for transmitting the data packet of the enqueue and the queue includes.
In the optional example of the application, if transfer point 1, there are congestion, data packet 1 is the data packet of enqueue, Transfer point 1 beats ECN label for data packet 1, and includes ECN by described in 1 dequeue of data packet including ECN label The data packet 1 of label is sent to receiving point 1.
It should be understood that transfer point 1 can forward a plurality of different data flow in the application.Based on this, join the team in transfer point 1 It include the data packet of different data streams in the data packet of column.And in this step, transfer point 1 is that each data packet of enqueue is beaten Same ECN label.
Step S102, the ECN for including in response to the data packet 1 are marked, and receiving point 1 generates CNP1, and by the CNP1 It is sent to the sending point 1.
Wherein, CNP1 refers to the corresponding CNP of data flow 1 belonging to data packet 1, adjusts data flow 1 for triggering sending point 1 Transmission rate.
It should be understood that including traffic identifier in data packet, the traffic identifier is for data flow belonging to identification data packet.For example, The value for the traffic identifier for including in data packet 1 is 01, indicates that data packet 1 belongs to data flow 1;The traffic identifier for including in data packet 2 Value is 02, indicates that data packet 2 belongs to data flow 2.Based on this, after receiving point 1 receives data packet 1, the stream of data packet 1 is obtained Mark 01, which is added in CNP generated, CNP1 is obtained.
Specifically, the frame structure of CNP1 is as shown in Figure 3, comprising: media access control (media access control, MAC) head, Internet protocol the 4th edition (internet protocol version 4, IPv4), User Datagram Protocol (user Datagram protocol, UDP) head, basic transmission head (base transport header, BTH), the reservation of 16 bytes Position, fixed cycles redundancy detection (invariant cyclic redundancy check, ICRC) and Frame Check Sequence (frame Check sequence, FCS).Wherein, in one possible implementation, the IPv4 head in the frame structure of above-mentioned CNP1 can To be replaced by Internet protocol the 6th edition (internet protocol version 6, IPv6) head.Wherein, above-mentioned CNP1 The definition of each field in frame structure can join the long-distance inner based on fusion ether and directly access the second edition (remote Direct memory access over converged ethernet version 2, RoCE v2) annex in standard agreement 17.9.3 the explanation in (annex 17.9.3), herein without repeating.
In addition, there are the states of congestion to continue for some time for transfer point 1, then, receiving point 1 is during this period of time The data packet for receiving data flow 1 includes ECN label.Based on this, CNP1 is sent in order to avoid being repeated as many times to sending point 1, From this transmission CNP1 moment of receiving point 1, CNP1 no longer is sent to sending point 1 in the first preset interval duration.If this sends After CNP1 the first preset interval duration, the data packet of 1 received data stream 1 of receiving point still includes ECN label, receiving point 1 sends CNP1 to sending point 1 again.In the alternative embodiment of the application, the first preset interval duration is, for example, 50 μ s.
Step S103 after receiving point 1 receives the CNP1, adjusts the transmission rate of the data flow 1.
Wherein, it includes first reducing the transmission rate of data flow 1 that sending point 1, which adjusts the transmission rate of data flow 1, to eliminate Congestion existing for transfer point 1;After determining that congestion existing for transfer point 1 is eliminated, then the transmission rate of increase data stream 1.
The relationship of transmission rate and transmission rate adjusted before adjusting for ease of description will be any in the application Transmission rate before primary adjustment is described as " transmission rate of data flow " or " the currently transmitted rate of data flow ", by this Transmission rate after secondary adjustment is described as " target transmission rate ".The transmission rate before adjustment is generally also sending point every time The rate currently in use for sending the data flow.
Falling-rate period:
The currently transmitted rate of data flow 1 is, for example, RC, target transmission rate R after 1 reduction of speed of data flowTWith current hair Transmission rate RCMeet:The transmission rate of data flow 1 is had currently transmitted rate R by sending point 1CIt is reduced to mesh Mark transmission rate RT
Wherein, α refers to rate descending factors, and the value of α is updated according to preset rules.Specifically, when DCN network is established, α Initial value be, for example, α1, α1Value be 1.When 1 first time of sending point receives CNP1, by α1As determine target transmission rate, Then, the transmission rate of data flow 1 is reduced to according to α1Determine target transmission rate.If sending point 1 is in the first preset interval CNP1 is received in length, is updated α according to α=(1-g) α+g and is obtained α2, by α2As target transmission rate is determined, then, by data The transmission rate of stream 1 is reduced to according to the determined target transmission rate of α 2.If sending point 1 does not receive in the first preset interval duration To CNP1, α is updated according to α=(1-g) α and obtains α3, but not according to α3Determine target transmission rate.If sending point 1 receives again CNP1, then by α3As new initial value, for determining target transmission rate.Wherein, g refers to the update weight of α, 0 < g < 1.
It should be understood that the value of α when different scenes is different, to avoid confusion, the application is by marking lower target form to not α with scene is distinguished.Therefore, in above-mentioned implementation, α1、α2And α3And the subparameter of non-alpha, but respectively indicate difference α when scene.
Ramp-up stage:
The principle for eliminating congestion is, by reducing the transmission rate of data flow, makes the data packet enqueue of congestion queue Rate be lower than dequeue rate.Based on this, after congestion is eliminated in the queue in transfer point 1, if sending point 1 is still with lower Transmission rate send data flow 1, the data packet that will lead to data flow 1 owes to handle up.In view of this, the queue in transfer point 1 disappears After congestion, sending point 1 should increase data stream 1 transmission rate.
It should be understood that according to the description of step S102 it is found that it is first that sending point 1 receives the minimum interval of CNP1 twice Preset interval duration, if after 1 first time of sending point receives CNP1, the first preset interval duration does not receive CNP1 again, Illustrate that congestion existing for transfer point 1 has been eliminated.Based on this, in the application, if sending point 1 reduce data flow transmission rate it Afterwards, CNP1 is not received in the second preset interval duration, then it is assumed that congestion existing for transfer point 1 has been eliminated, and sending point 1 starts to rise The transmission rate of high data flow 1.Wherein, the second preset interval duration is greater than the first preset interval duration.At one of the application In alternative embodiment, the second preset interval duration is, for example, 55 μ s.
In the application, according to the transmission rate of three phases increase data stream 1, the three phases include: fast for sending point 1 Quick-recovery (fast recovery, FR) stage, actively growth (active increase, AI) stage and super active increase (hyper active increase, the HAI) stage.Specifically, sending point 1 enters FR stage liter after determining elimination congestion The transmission rate of high data flow 1.Do not receive CNP1 after the FR stage raising speed in second preset interval duration, sending point 1 into Enter the transmission rate that the AI stage continues increase data stream 1.It is not received in second preset interval duration after the AI stage raising speed CNP1, sending point 1 continue the transmission rate of increase data stream 1 into the HAI stage.
In a kind of optional implementation of the application, the currently transmitted rate of data flow 1 is, for example, RC, in this scene, RCIt is Target transmission rate after above-mentioned falling-rate period last time reduction of speed.The FR stage, corresponding target transmission rate was RT1, RT1Value It is preset fixed value.Sending point 1 is with transmission rate RCIt sends in the second preset interval duration of data flow 1 and does not receive CNP1, according toTransmission rate after determining FR first time in stage raising speed, then, sending point 1 is by the hair of data flow 1 Transmission rate is updated to the transmission rate after first time in the FR stage raising speed.Further, sending point 1 is with the FR stage first CNP1 is not received in second preset interval duration of the transmission rate transmission data flow 1 after secondary raising speed, according to The transmission rate of data flow 1 is updated to the FR by the transmission rate after determining second of raising speed of FR stage, then, sending point 1 Transmission rate after second of raising speed of stage.It recycles according to this, so that the transmission rate of the data flow 1 is constantly close to the FR stage pair The target transmission rate answered is RT1
The AI stage, corresponding target transmission rate was, for example, RT2, RT2Meet: RT2=RT1+RAI, wherein RAIIt is used to indicate and passs The rate step-length of increasing.Work as RC=RT1When, sending point 1 is with transmission rate RCIt sends in the second preset interval duration of data flow 1 not CNP1 is received, according toTransmission rate after determining AI first time in stage raising speed, then, sending point 1 is by data The transmission rate of stream 1 is updated to the transmission rate after first time in the AI stage raising speed.Further, sending point 1 is with the AI CNP1 is not received in second preset interval duration of the transmission rate transmission data flow 1 after first time in stage raising speed, according toTransmission rate after determining second of raising speed of AI stage, then, sending point 1 by the transmission rate of data flow 1 more It is newly the transmission rate after described second of raising speed of AI stage.It recycles according to this, so that the transmission rate not disconnecting of the data flow 1 Nearly AI stage corresponding target transmission rate is RT2
The HAI stage, corresponding target transmission rate was, for example, RT3, RT3Meet: RT3=RT1+N*RAI, wherein N is greater than 1 Integer.Work as RC=RT2When, sending point 1 is with transmission rate RCIt sends in the second preset interval duration of data flow 1 and does not receive CNP1, according toTransmission rate after determining HAI first time in stage raising speed, then, sending point 1 is by data flow 1 Transmission rate is updated to the transmission rate after first time in the HAI stage raising speed.Further, sending point 1 is with the HAI stage CNP1 is not received in second preset interval duration of the transmission rate transmission data flow 1 after first time raising speed, according toTransmission rate after determining second of raising speed of HAI stage, then, sending point 1 is by the transmission rate of data flow 1 Transmission rate after being updated to described second of raising speed of HAI stage.It recycles according to this, so that the transmission rate of the data flow 1 is not The disconnecting nearly AI stage, corresponding target transmission rate was RT3
It should be understood that in above-mentioned ramp-up stage each time after raising speed, if sending point 1 receives in the second preset interval duration To CNP1, then stop raising speed operation, into above-mentioned falling-rate period.
It should be understood that above-mentioned is only the data packet 1 for including and CNP1 corresponding with data flow 1 with data flow 1, data flow 1 The description carried out Deng for.It include the data packet of different data streams in the application, in the queue of transfer point, each data packet is wrapped It is marked containing ECN.But receiving point can generate and send CNP for different data streams, for example, 1 corresponding data stream 1 of receiving point is raw It include the traffic identifier of data flow 1 at CNP1, CNP1.1 corresponding data stream 2 of receiving point generates CNP2, and CNP2 includes the stream of data flow 2 Mark.Sending point can also adjust separately the transmission rate of data flow indicated by the traffic identifier of different CNP, for example, sending point 1 connects After receiving CNP1, the transmission rate of data flow 1 is adjusted.After sending point 1 receives CNP2, the transmission speed of data flow 2 is adjusted Rate.Wherein, receiving point adjusts the transmission rate of every data stream for the operation of every data stream generation CNP and receiving point Operation, be detailed in foregoing description.Details are not described herein again.
According to the description of method 100, the application determines the target transmission rate of reduction of speed according to rate descending factors, is difficult essence True drops to suitable degree for the transmission rate of data flow.If the transmission rate reduction of speed degree of data flow is excessive, can make At after the elimination of the congestion of transfer point, the data packet enqueue rate of data flow is low compared with dequeue rate, so that the number of data flow It owes to handle up according to packet.If the transmission rate reduction of speed degree of data flow is too small, it will cause the congestions in transfer point to be difficult to eliminate, and makes It is too long to obtain transfer point congestion time.The application is according to the targeted rate raising speed preestablished, it is also difficult to accurately by data flow Transmission rate is raised to suitable degree.If the transmission rate raising speed degree of data flow is excessive, it is easy to again result in transfer point Congestion, if the transmission rate raising speed degree of data flow is too small, the data packet that will lead to data flow persistently owes to handle up.In view of This, those skilled in the art propose a kind of transmission rate control, device, sending device and receiving device.
With reference to the accompanying drawing, the transmission rate control of the application is described.
The transmission rate control of the application is applied to DCN, the hardware connection structure of the DCN such as foregoing description.Its In, multiple sending point hardware entities in the DCN can multiple transmission with logically equivalent at a sending point, in the DCN Point hardware entities can be with logically equivalent at a transfer point, and multiple receiving point hardware entities in the DCN can be with logically equivalent At a receiving point.DCN after logically equivalent can consider that, including sending point, transfer point and receiving point, the sending point is used for Data flow is sent to the receiving point via the transfer point.DCN after the application combination logically equivalent controls transmission rate Method is described.
Referring to fig. 4, Fig. 4 is the method flow diagram of the application transmission rate control one embodiment.Implement shown in Fig. 4 Example, is described this programme from the angle of sending point.Method 200 shown in Fig. 4, sending point is according to the rate information of receiving point The transmission rate for adjusting data flow, can adjust the transmission rate of data flow, accurately so as to eliminate the queue of transfer point Congestion improves the transmission performance of data flow.Method 200 includes the following steps:
Step S201, the sending point receive the first CNP that the receiving point is sent.
Wherein, the first CNP indicates that there are congestions for the transfer point when transfer point forwards the first data packet, described Data flow includes first data packet, and the first CNP includes the traffic identifier of the data flow.
In scheme described herein, the first CNP further includes rate information, is connect described in the rate information instruction Sink receives the receiving velocity for the data packet that the data flow includes.Specifically, in a kind of optional example of the application, rate The length for the data packet that information includes the period 1 and the receiving point receives the data flow within the period 1 is total With.The period 1 refers to that the receiving point receives the period of the data packet of the data flow.In the another kind of the application In optional example, rate information includes receiving velocity.The receiving velocity meets:
Wherein, the technical solution of the application can be with the duration of preset period.In the optional example of the application, The duration of predetermined period is, for example, 10 μ s.Based on this, in presently filed embodiment one, the receiving point was at described first week It include first data packet in the data packet of the data flow received in phase.Specifically, one kind of embodiment one can It selects in implementation, receiving point continues determining each period since initial time, and in this implementation, the receiving point will be connect The period is corresponded to when receiving the first data packet as the period 1.The another kind of embodiment one is optional to be achieved in that, is connect As the initial time of the period 1 at the time of sink will receive the first data packet, by the initial time backward the period when The long period is as the period 1.In presently filed embodiment two, the receiving point is within the period 1 It can not also include first data packet in the data packet of the data flow received.A kind of optional reality of embodiment two In existing mode, receiving point continues to determine since initial time each period, upper when the application will receive the first data packet A cycle is as the period 1.
Further, in a kind of optional embodiment of the application, the receiving velocity refers to that the receiving point receives The data flow data packet include first data packet period corresponding rate.Specifically, in a kind of possible reality In existing mode, receiving point continues to determine each period since initial time.In this implementation, the first data packet is being received When, the period in place period, obtains described in receiving in the period at the time of receiving point determination receives the first data packet The length summation of the data packet of data flow, and then calculate the receiving velocity.In alternatively possible implementation, receiving point When receiving the first data packet, start calculating cycle duration in the data packet of the received data flow length summation, into And calculate the receiving velocity.
It should be understood that the rate information for including in the application CNP, when corresponding receiving point sends the CNP information described in reception The rate of the data packet of data flow.For example, the rate information that the first CNP includes, corresponding receiving point receives the first data packet Rate;If sending point receives CNP, the speed that the CNP includes after receiving the first CNP the first preset interval duration again Rate, corresponding receiving point receive rate when the second data packet of the data flow.Second data packet is in first data The first preset interval duration reaches the receiving point after packet.Based on this, rate that the CNP that sending point receives every time is included Rate meaning corresponding to information is different, and for the ease of clearly describing, the application passes through the ordinal numbers such as " first " and " second " The mode of word, CNP received to institute are distinguished.
It is the data frame structure schematic diagram of the first CNP one embodiment of the application referring to Fig. 5, Fig. 5.The first CNP packet It includes: MAC header, IPv4/IPv6 head, UDP head, BTH, rate information, ICRC and FCS.Wherein, the first CNP of the embodiment of the present application It also include rate information compared with CNP shown in Fig. 3, the rate information is arranged the reserved bit of CNP shown in Fig. 3, obtains First CNP described in the present embodiment.In first CNP, rate information such as foregoing description is every in addition to the rate information The meaning of item data, be it is well known to those skilled in the art, and will not be described here in detail by the application.
Step S202, the sending point determine the receiving velocity according to the rate information.
Wherein, according to the description of step S201, rate information includes two kinds of forms.Based on this, the application's is a kind of according to rate Information determines being achieved in that for receiving velocity, and period 1 and the receiving point are read from the first CNP at described first week The length summation that the data packet of the data flow is received in phase, according to The receiving velocity is calculated.The another kind of the application determines being achieved in that for receiving velocity according to rate information, from institute It states in the first CNP and reads the receiving velocity.
Step S203, the sending point determine rate of evacuation according to the receiving velocity.
Wherein, the emptying refers to the entire packet dequeue that the queue in the transfer point includes.Rate of evacuation is Indicate the rate for the entire packet dequeue that the queue in the transfer point is included by the transfer point.
Specifically, there are congestions for transfer point described herein, in order to quickly eliminate congestion existing for the transfer point, this A kind of embodiment of application is the equal dequeue of entire packet made in the queue of the transfer point, reaches the transfer point To the state of no queue.The application " will make the transfer point reach the state of no queue " and be known as emptying, i.e., by the team of transfer point Entire packet empties in column, to achieve the purpose that eliminate congestion.Wherein, in a kind of implementation of the application, institute is indicated Transfer point is stated to empty in emptying time.The emptying time is the entire packet that the queue in the instruction transfer point includes The duration of dequeue.
It should be understood that in the implement scene in the transfer point without queue, data packet is from the sending point via the biography Defeated point is transferred to the receiving point, then by the duration that the receiving point returns to the sending point is, for example, rtt.In the transfer point In have in the implement scene of queue, maximum allowable duration of the data packet from enqueue to dequeue is tgt.Data packet is obtained from institute Stating sending point and being transferred to the maximum allowable transmission duration of the receiving point is tgt+rtt.Based on this, the optional reality of the application It applies in example, the emptying time TpauseMeet: Tpause=a × (tgt+rtt)+tgt, wherein a is the sending point according to institute The transmission rate and the receiving velocity for stating data flow generate hypervelocity specific factor, and a meets:RIt sendsRefer to described The transmission rate of data flow, RIt receivesRefer to the receiving velocity.
Further, to achieve the purpose that emptying, sending point should adjust the transmission rate of data flow, so that data packet exists The rate of enqueue is less than the rate of dequeue in the transfer point.Specifically, sending point is according to the emptying time TpauseMeter Calculate rate of evacuation Rpause, obtain
The transmission rate of the data flow is updated to the rate of evacuation by step S204, the sending point.
Step S203 is met, after the rate of evacuation for determining the data flow, sending point is fast by the transmission of the data flow Rate is reduced to the rate of evacuation, so that the transfer point empties in emptying time.
Wherein, in the application, the initial transmission rate of data flow is set full rate by sending point.Wherein, initial to send Rate refers to the transmission rate of sending point initial time.At the time of initial time refers to that DCN network is accessed in sending point.Full rate is Refer to that sending point is the maximum transmission rate of data stream configuration.
Using the implementation of method 200, sending point is using the receiving velocity of receiving point as adjustment data flow transmission rate Parameter foundation, can shoot the arrow at the target reduction data flow transmission rate, so as to congestion in fast evacuation transfer point The data packet that queue includes quickly eliminates congestion existing for transfer point.
On the basis of method 200, sending point sends data flow with rate of evacuation and continues emptying time, thus by transfer point The queue quick dequeue of entire packet that includes, and then can reduce the propagation delay time for the data packet for including in queue.This In one optional embodiment of application, the stage that the transmission rate of data flow is the rate of evacuation is known as empty stage.
Further, after by the data packet emptying of congestion in the queue of the transfer point, to guarantee handling up for network, The transmission rate of sending point increase data stream.
Wherein, after the emptying of entire packet that the queue of transfer point includes, if sending point send the rate of data flow with The rate that receiving point receives the data packet of the data flow is identical, can guarantee data packet in transfer point the rate of enqueue and The rate of dequeue is identical, so as to avoid transfer point from occurring congestion again.Based on this, after empty stage, send The transmission rate of data flow is updated to the receiving velocity from rate of evacuation by point.In the optional embodiment of the application, The stage that the transmission rate of data flow is the receiving velocity is known as the speed stabilizing stage.The step of the receiving velocity such as method 200 Described in rapid S202.
In summary, the technical solution of the application, in empty stage, specify congestion existing for transfer point emptying time and The rate of evacuation of data flow fast and accurately empties congestion existing for transfer point.It is sending point increase data in the speed stabilizing stage The transmission rate of stream provides specific target, so that the adjustment of data flow transmission rate is more accurate.
In the speed stabilizing stage, the handling capacity of DCN network is possible and unsaturated.Based on this, in order to improve the biography of data packet Defeated efficiency, sending point can continue to increase the transmission rate of the data flow on the basis of speed stabilizing stage.
Wherein, in practical applications, a transfer point hardware entities may transmit a plurality of data flow, and, a plurality of data The transmission rate of stream may be different.But in method 100 in the raising speed mode of step S103 ramp-up stage, a plurality of data Every data stream corresponds to identical target transmission rate in stream.Therefore, raising speed mode described in method 100, so that a plurality of number It is limited to the currently transmitted rate of the data flow, according to data stream every in stream so as to cause each number of process for increasing transmission rate According to lacking fairness between stream.
Based on this, in a kind of alternative embodiment of the application, since entering the speed stabilizing stage, sending point can detecte data The transmission rate of stream whether be the sending point maximum transmission rate.Maximum transmission rate refers to that the maximum of the sending point can Transmission rate.If the transmission rate of data flow is not the maximum transmission rate of the sending point, the transmission of the data flow is indicated There are also raised spaces for rate.In turn, sending point judges that the sending point sends the number with the current transmission rate of data flow After stream, the 2nd CNP whether is received in the second preset interval duration.2nd CNP indicates the transfer point forwarding the For the transfer point there are congestion, the data flow includes second data packet when two data packets.If the second preset interval duration It does not receive the 2nd CNP inside, indicates that sending point sends the data flow with the current transmission rate of data flow and do not cause to gather around Plug, the transmission rate of the data flow is updated to target transmission rate by sending point.In one embodiment of the application, the mesh Transmission rate is marked to meet:Then, sending point Repeat the above-mentioned transmission rate for judging data flow whether be maximum transmission rate operation, until the transmission of the data flow Rate reaches the maximum transmission rate of sending point.In the alternative embodiment of the application, this stage is known as ramp-up stage.
Certainly, in boosting velocity procedure described herein, it is corresponding that sending point receives the data flow at any time New CNP then executes method 200.And will not be described here in detail.
It should be understood that in the technical solution of the application, sending point is in different moments according to the step S201 of method 200 What is received is different CNP.And in boosting velocity procedure described in the application alternative embodiment, corresponding to each round judgement operation Moment is different, and therefore, it is different that epicycle judgement operates corresponding CNP CNP corresponding from last round of judgement operation.Based on this, originally Each round can be judged that the ordinal number for operating corresponding CNP is described as upper one in description by a kind of alternative embodiment of application The ordinal number that wheel judgement operates corresponding CNP adds one.
For example, the first round judges that operation correspondence judges whether the sending point receives the 2nd CNP, if the sending point is not The 2nd CNP is received, the transmission rate of the data flow is updated, and enters the second wheel judgement.Second wheel judgement operation corresponds to Judge whether sending point receives the 3rd CNP, if the sending point does not receive the 3rd CNP, by the transmission speed of the data flow Rate updates again, and enters third round and judge.If the sending point receives the 3rd CNP, method 200 is executed, and subsequent Ramp-up stage can reset ordinal number to CNP.
It can be seen that ramp-up stage described herein, the sending point of the data flow using its maximum transmission rate as Reference data increases the transmission rate of the data flow, thus when there is a plurality of data flow to need to increase transmission rate, Neng Goubao Demonstrate,prove the fairness of raising speed between pieces of data stream.
It is the method flow diagram of another embodiment of the application transmission rate control referring to Fig. 6, Fig. 6.Side shown in Fig. 6 Method 300 is applied in the DCN, is executed before the execution of the method 200 by receiving point.
It should be understood that the method 300 is the embodiment of 200 opposite equip. of the method, the skill that the method 300 is protected Art feature is corresponding with the technical characteristic that the method 200 is protected.Based on this, in the method 300 with 200 phase of the method With or corresponding technical term and operating procedure etc. detailed description, referring to method 200, method 300 is repeated no more.
Method 300 includes the following steps:
Step S301, the receiving point receive the first data that the sending point sends and forwards via the transfer point Packet.
Step S302, the receiving point are marked according to the ECN that first data packet includes, and generate the first CNP.
Wherein, identical with the description of method 100, in the technical solution of the application, transfer point detects the transfer point Whether queue length is more than waterline, if the queue length of the transfer point is more than waterline, indicates that there are congestions for the transfer point.
In a kind of optional embodiment of the application, in order to shorten duration of the receiving point to sending point signal congestion, so that Receiving point sends CNP to sending point in time, and when transfer point is there are when congestion, the transfer point is the data packet of enqueue, out team In the queue of the data packet of column and the transfer point then entire packet beats ECN label, continues to transmit and all beats ECN label Data packet.In present embodiment, the data packet for beating ECN label includes first data packet.
In the method 300, the relationship of first data packet and data flow, the data flow is with the first CNP's Relationship is detailed in the method 200 and describes accordingly.The frame structure of first CNP in detail as shown in Figure 5, the frame knot shown in Fig. 5 The meaning of every item data in structure, is detailed in the method 200 and describes accordingly.Details are not described herein again.
Corresponding with the method 200, the first CNP includes rate information.In the alternative embodiment of the application In, the receiving point obtains the rate information after receiving first data packet, and the rate information is written Reserved bit in CNP.
Identical with the method 200, in a kind of optional example of the application, rate information includes period 1 and institute State the length summation that receiving point receives the data packet of the data flow within the period 1.The another kind of the application can It selects in example, rate information includes receiving velocity.The specific embodiment party of period 1 and receiving velocity described herein Formula is detailed in method 200 and describes accordingly.Details are not described herein again.
Step S303, the receiving point send the first CNP to the sending point.
Wherein, it after the first CNP is sent the sending point by the receiving point, triggers the sending point and executes institute State method 200.
Should be understood that herein described technical solution, receiving point constantly detect the data packet of the received data flow be No to mark comprising ECN, if sent in the first CNP the first preset interval duration, the data packet of received data flow includes ECN label, the receiving point execute step S302 again, generate and send the 2nd CNP.
To sum up, transmission rate control described herein, the first data packet packet of receiving point received data stream When containing ECN label, the receiving point will receive the receiving velocity of the data packet of the data flow, corresponding by the data flow CNP is fed back to sending point.Sending point determines the target transmission rate of the data flow according to the receiving velocity, and then according to mesh Mark transmission rate adjusts the transmission rate of the data flow, so that the transmission rate of the data flow is in empty stage, speed stabilizing Stage or ramp-up stage.It can be seen that the technical solution of the application, can accurately adjust the transmission rate of data flow, from And the queue congestion of transfer point can be eliminated, improve the transmission performance of data flow.In addition, the application is sent with the maximum of sending point Parameter foundation of the rate as the data flow raising speed, additionally it is possible to when there is a plurality of data flow to need to increase transmission rate, guarantee The fairness of raising speed between pieces of data stream.
The above method 200 and method 300 are in conjunction with the DCN after logically equivalent to the description of the present application, in order to more clear Chu, the detailed technical solution for illustrating the application, retouch this programme below with reference to a hardware entities topological diagram of DCN It states.
It is the topological diagram of the application DCN one embodiment referring to Fig. 7, Fig. 7.Wherein, the data flow A of sending point A is sequentially passed through Transfer point 71, transfer point 73 and transfer point 74 are transferred to receiving point X.Sending point B sends data stream B 1 and data flow B2, wherein Data stream B 1 is sequentially transferred to receiving point X through transfer point 72, transfer point 73 and transfer point 74, and data stream B 2 is sequentially through transfer point 72, transfer point 73 and transfer point 74 are transferred to receiving point Y.The data flow C that sending point C is sent is sequentially through transfer point 72, transfer point 73 and transfer point 74 be transferred to receiving point Y.
Wherein, network receiving point X and receiving point Y shown in Fig. 7 is established connection and is started, can using 10 μ s as the period, Constantly record every 10 μ s the data packet of received every data stream length summation, to obtain in corresponding 10 μ s, receive every The receiving velocity of data flow.
It is noted that for the ease of the overall management of DCN network, it is above-mentioned by receiving point X and receiving point Y corresponding default week Phase duration is set as identical.But in actual use, the corresponding predetermined period duration of receiving point X and receiving point Y can also be set It is set to difference.The application does not limit this.
In DCN shown in Fig. 7, each transmission point is constantly examined in transfer point 71, transfer point 72, transfer point 73 and transfer point 74 Whether the queue length for surveying the transfer point is more than default waterline, if the queue length of the transfer point is more than waterline, instruction should Transfer point generates congestion, and the entire packet in queue is beaten ECN and marked by the transfer point.The optional implementation of the application Example in, whether the queue length of transfer point 72 is more than default waterline, then transfer point 72 be its queue in data stream B 1 data packet, The data packet of data stream B 2 and the data packet of data flow C stamp ECN label.In transfer point 71, transfer point 73 and transfer point 74 The queue length of each transmission point is that then transfer point 71, transfer point 73 and transfer point 74, which do not execute, above-mentioned beats ECN more than waterline The operation of label.The data packet of this data stream B 1 for stamping ECN label is hereafter known as data packet B1, this is stamped into ECN The data packet of the data stream B 2 of label is known as data packet B2, the data packet of this data flow C for stamping ECN label is known as data Wrap C.
It should be understood that the transfer point in DCN network can be expressed as multistage according to the flow direction of data flow.When multistage transfer point In at least two-stage transfer point there are when congestion, one kind of the application is optional to be achieved in that, the first order in congestion transfer point passes Defeated point is that the data packet in the queue of the first order transfer point beats ECN label.And if at least two-stage congestion transmission The transmitted data flow of point is identical, and the transfer point of other grades in the transfer point of at least two-stage congestion is not necessarily to be its team Data packet in column beats ECN label.If the Stream Element that the transfer point of at least two-stage congestion is transmitted is identical, institute The transfer point for stating other grades in at least transfer point of two-stage congestion is not beat the data packet that ECN is marked in its queue to beat ECN mark Note.
For example, data packet, data packet, the data flow of data stream B 1 of transfer point 73 and the equal transmitting data stream A of transfer point 74 The data packet of B2 and the data packet of data flow C.When transfer point 73 and transfer point 74 have congestion, transfer point 73 is by the biography The entire packet that the queue of defeated point 73 includes beats ECN label.Based on this, in transfer point 74, the data packet of enqueue has been It is marked comprising ECN, so, transfer point 74 no longer needs to beat ECN label for the data packet that the queue of the transfer point 74 includes.
For another example, when transfer point 72 and transfer point 73 are there are when congestion, even if queue of the transfer point 72 to the transfer point 72 The entire packet for including has beaten ECN label, still, the number of the data packet of 72 transmitting data stream B1 of transfer point, data stream B 2 According to the data packet of packet and data flow C, and transfer point 73 compares the data packet that transfer point 72 goes back transmitting data stream A, so, transfer point 73 also need the data packet for the data flow A for including in queue for the transfer point 73 to beat ECN label.
For the transfer point 72 shown in Fig. 7 there are for congestion, data packet B1 is sent receiving point X by transfer point 72, will Data packet B2 and data packet C are sent to receiving point Y.
It is described by taking the operating process of data packet B1, receiving point X and sending point B as an example.Receiving point X receives data After wrapping B1, the period in period where receiving data packet B1 is determined, then, receiving point X obtains received in the corresponding period The receiving velocity that receiving point X receives data stream B 1 is calculated in the length summation of the data packet of data stream B 1.Further, it receives Point X generates the first CNPB1, and by the first CNPB1It is sent to sending point B.First CNPB1Including failing to be sold at auction for data stream B 1 Knowledge and the receiving point X receive the receiving velocity of data stream B 1.
Sending point B receives the first CNPB1Afterwards, the first CNP is readB1The receiving velocity for including.In turn, sending point B is according to side The rate of evacuation and emptying time of data stream B 1 is calculated in method described in method 200, then, by the transmission speed of data stream B 1 Rate is reduced to the rate of evacuation, and the data packet of the data stream B 1 in the queue of transfer point 72 is made to enter empty stage.
It should be understood that after sending point B continues emptying time with rate of evacuation transmission data stream B 1, transfer point 72 The data packet of data stream B 1 has been drained off in queue, still, in the queue of transfer point 72 may further include the data of data stream B 2 The data packet of packet and data flow C.Based on this, to avoid transfer point 72 from being again introduced into congestion state, while data stream B 1 is avoided Data packet owes to handle up, and is being sent after data stream B 1 continues emptying time with the rate of evacuation, and sending point B is by data stream B 1 Transmission rate has rate of evacuation to be updated to the first CNPB1The receiving velocity for including, so that the data packet of data stream B 1 is being transmitted The enqueue rate and dequeue rate of point 72 reach balance.
In the present embodiment, the minimum interval duration that receiving point X sends data stream B 1 twice is, for example, 50 μ s.Correspondingly, hair Point B is sent to receive the first CNPB1The 2nd CNP is not received in 55 μ s laterB1, then it is assumed that congestion existing for transfer point 72 has disappeared It removes.If congestion existing for transfer point 72 is eliminated, sending point B still sends data stream B 1 with receiving velocity, can make the number of data stream B 1 It owes to handle up according to packet.Based on this, if not receive the 2nd CNP in 55 μ s of receiving velocity transmission data stream B 1B1, sending point B will The transmission rate raising speed of data stream B 1 to the sum of the maximum transmission rate of receiving velocity and sending point B half.Then, sending point B detects the 3rd CNP that receiving point X transmission whether is received in 55 μ sB1If sending point B is not received in the 55 μ s after raising speed 3rd CNPB1, the currently transmitted rate of the transmission rate raising speed of data stream B 1 to data stream B 1 and the maximum of sending point B are sent The half of the sum of rate.Above-mentioned deterministic process is repeated, until the transmission rate of data stream B 1 reaches the maximum hair of sending point B Transmission rate.Certainly, if sending point B receives the CNP of receiving point X transmission during raising speedB1, then it is corresponding that data stream B 1 is calculated again Rate of evacuation, and the transmission rate of data stream B 1 is reduced to this rate of evacuation being calculated.
It is identical with the treatment process of receiving point X, after receiving point Y receives data packet B2 and data packet C, generate first CNPB2With the first CNPC.Wherein, the first CNPB2Traffic identifier and receiving point Y including data stream B 2 receive data stream B 2 Data packet receiving velocity, the first CNPCTraffic identifier and receiving point Y including data flow C receive the number of data flow C According to the receiving velocity of packet.Then, receiving point Y is by the first CNPB2It is sent to sending point B, by the first CNPCIt is sent to Send point C.
Sending point B receives the first CNPB2Afterwards, according to the first CNPB2In include receiving velocity, calculate number According to the rate of evacuation and emptying time of stream B2, and the transmission rate of data stream B 2 is reduced to corresponding rate of evacuation.Then, with phase Rate of evacuation is answered to send after data stream B 2 continues the corresponding emptying time according to stream B2, sending point B is by the hair of data stream B 2 Transmission rate is the first CNP by corresponding rate of evacuation raising speedB2The receiving velocity for including.In turn, in ramp-up stage, sending point B judgement Whether n-th CNP is receivedB2If not receiving the n-th CNPB2, then with the transmission rate currently in use of data stream B 2 and sending point The maximum transmission rate of B is parameter, carries out raising speed.Specific deterministic process and boosting velocity procedure, it is similar to data stream B 1, herein no longer It is described in detail.
Correspondingly, sending point C receives the first CNPCAfterwards, according to the first CNPCIn include receiving velocity, meter The rate of evacuation and emptying time of data flow C are calculated, and the transmission rate of data flow C is reduced to corresponding rate of evacuation.Then, with Corresponding rate of evacuation is sent after data flow C continues the corresponding emptying time according to stream C, and sending point C is by the transmission of data flow C Rate is the first CNP by corresponding rate of evacuation raising speedCThe receiving velocity for including.In turn, in ramp-up stage, C judgement in sending point is It is no to receive the n-th CNPCIf not receiving the n-th CNPC, then most with data flow C transmission rate currently in use and sending point C Big transmission rate is parameter, carries out raising speed.Specific deterministic process and boosting velocity procedure, similar to data stream B 1, and will not be described here in detail.
Wherein, in the present embodiment, n is the ordinal numbers such as two, three or four.
Although should be understood that receiving point X also receives the data packet of data flow A, the transmission of the data packet of transmitting data stream A Congestion is not present in point 71, transfer point 73 and transfer point 74.So the data packet for the data flow A that receiving point X is received does not include ECN label, receiving point X generate CNP without corresponding data stream A.In turn, sending point A is not necessarily to adjust the transmission speed of data flow A Rate.If there are congestions for transfer point 73 and/or transfer point 74, then, the data packet for the data flow A that receiving point X is received also includes ECN label.In turn, receiving point X is generated and is sent the first CNP to sending point AA, the first CNPAInclude failing to be sold at auction for data flow A Knowledge and receiving point X receive the receiving velocity of the data packet of data flow A.Sending point A receives the first CNPALater, data are adjusted Flow the transmission rate of A.Sending point A adjusts the process of the transmission rate of data flow A, with above-mentioned sending point B adjustment data stream B 1 It describes similar.The present embodiment is no longer described in detail.
To sum up, transmission rate control described herein, the first data packet packet of receiving point received data stream When containing ECN label, the receiving point will receive the receiving velocity of the data packet of the data flow, corresponding by the data flow CNP is fed back to sending point.Sending point determines the target transmission rate of the data flow according to the receiving velocity, and then according to mesh Mark transmission rate adjusts the transmission rate of the data flow, so that the transmission rate of the data flow is in empty stage, speed stabilizing Stage or ramp-up stage.It can be seen that the technical solution of the application, can accurately adjust the transmission rate of data flow, from And the queue congestion of transfer point can be eliminated, improve the transmission performance of data flow.In addition, the application is sent with the maximum of sending point Parameter foundation of the rate as the data flow raising speed, additionally it is possible to when there is a plurality of data flow to need to increase transmission rate, guarantee The fairness of raising speed between pieces of data stream.
Corresponding with above-mentioned transmission rate control, present invention also provides transmission rate control devices.
In the alternative embodiment of the application, the transmission rate control device that the sending point is arranged in includes receiving Module, sending module and processing module.The receiving module, the sending module and the processing module can be used for executing institute The method for stating the execution of sending point described in method 200 and the corresponding embodiment of Fig. 7.
The division of the above modules is only a kind of division of logic function, in actual implementation, the receiving module Function is desirably integrated into transmitter, and the function of the sending module is desirably integrated into receiver, and the function of the processing module can To be integrated into processor realization.As shown in figure 8, the structure that Fig. 8 is one embodiment of the application transmission rate control device is shown It is intended to.The transmission rate control device 800 includes transmitter 801, receiver 802 and processor 803.The transmitter 801 can To execute the transmission of the data flow in method 200 and the corresponding embodiment of Fig. 7.The receiver 802 can execute method 200 And the reception of the CNP in the corresponding embodiment of Fig. 7.The processor 803 can execute method 200 and the corresponding reality of Fig. 7 Apply the operation in example other than the transmission of data flow and the reception of CNP.
For example, the transmitter 801 can be used for sending the data flow to the receiving point;The receiver 802 can be used First number of transfer point forwarding is indicated in receiving the first congestion notification message CNP, the first CNP that the receiving point is sent For the transfer point there are congestion, the data flow includes first data packet when according to packet, and the first CNP includes rate letter Breath, the rate information indicate that the receiving point receives the receiving velocity for the data packet that the data flow includes;The processor 803 It can be used for determining the receiving velocity according to the rate information;Rate of evacuation, the row are determined according to the receiving velocity Null-rate is the rate for the entire packet dequeue that the queue in the transfer point is included by the instruction transfer point, the team Column include the data packet in the data flow;The transmission rate of the data flow is updated to the rate of evacuation.
Particular content can be no longer superfluous herein with reference to the description of relevant portion in method 200 and the corresponding embodiment of Fig. 7 It states.
Corresponding with transmission rate control device shown in Fig. 8, present invention also provides a kind of sending devices.Such as Fig. 9 institute Show, Fig. 9 is the structural schematic diagram of one embodiment of the application sending device.The sending device 900 may include processor 901, transceiver 902 and memory 903.Wherein, memory 903 can be used for storing program/generation of the prepackage of sending device 900 Code also can store the code etc. when executing for processor 901.
It should be understood that the sending device 900 of the application can correspond to the present processes 200 and the corresponding embodiment of Fig. 7 In sending point, wherein transceiver 902 be used for execute sending point described in method 200 and the corresponding embodiment of Fig. 7 execution The reception of CNP and the transmission of data flow, processor 901 is for executing described in the above method 200 and the corresponding embodiment of Fig. 7 Other processing of the sending point other than the reception of CNP and the transmission of data flow.Details are not described herein.
In the alternative embodiment of the application, the transmission rate control device that the receiving point is arranged in includes receiving Module, sending module and processing module.The receiving module, the sending module and the processing module can be used for executing institute The method for stating the execution of sending point described in method 300 and the corresponding embodiment of Fig. 7.
The division of the above modules is only a kind of division of logic function, in actual implementation, the receiving module Function is desirably integrated into transmitter, and the function of the sending module is desirably integrated into receiver, and the function of the processing module can To be integrated into processor realization.As shown in Figure 10, Figure 10 is the knot of another embodiment of the application transmission rate control device Structure schematic diagram.The transmission rate control device 1000 includes transmitter 1001, receiver 1002 and processor 1003.The transmitter 1001 specifically can be used for executing the hair of the CNP of the execution of receiving point described in the above method 300 and the corresponding embodiment of Fig. 7 It send;The receiver 1002 specifically can be used for executing the execution of receiving point described in the above method 300 and the corresponding embodiment of Fig. 7 Data packet reception;The processor 1003 is specifically used for executing to be connect described in the above method 300 and the corresponding embodiment of Fig. 7 Other processing of the sink other than the reception of data packet and the transmission of CNP.
For example, the transmitter 1001 can be used for sending the first CNP to the sending point;The receiver 1002 can be with For receiving first data packet sending point transmission and forwarded via the transfer point, the data flow includes described first Data packet, first data packet include Explicit Congestion notice ECN label, and the ECN label indicates that the transfer point forwards institute Stating transfer point when the first data packet, there are congestions;And the first CNP is sent to the sending point;The processor 1003 It can be used for the ECN for including according to first data packet label, generate the first congestion notification message CNP, the first CNP packet Rate information is included, the rate information indicates that the receiving point receives the receiving velocity for the data packet that the data flow includes.
Particular content can be no longer superfluous herein with reference to the description of relevant portion in method 300 and the corresponding embodiment of Fig. 7 It states.
Corresponding with transmission rate control device shown in Fig. 10, present invention also provides a kind of receiving devices.Such as Figure 11 Shown, Figure 11 is the structural schematic diagram of one embodiment of the application receiving device.The receiving device 1100 may include processing Device 1101, transceiver 1102 and memory 1103.Wherein, memory 1103 can be used for storing the journey of the prepackage of receiving device 1100 Sequence/code also can store the code etc. when executing for processor 1101.
It should be understood that the receiving device 1100 of the application can correspond to the present processes 300 and the corresponding embodiment of Fig. 7 Described in receiving point, wherein transceiver 1102 is for executing receiving point described in the above method 300 and the corresponding embodiment of Fig. 7 The reception of the data packet of execution and the transmission of CNP, processor 1101 is for executing the above method 300 and the corresponding implementation of Fig. 7 Other processing of the receiving point described in example other than the reception of data packet and the transmission of CNP.Details are not described herein.
Present invention also provides a kind of DCN.The DCN includes sending point, transfer point and receiving point.Wherein, sending point can be with It is to send to set provided by transmission rate control device provided by the corresponding embodiment of Fig. 8 or the corresponding embodiment of Fig. 9 Standby, receiving point can be transmission rate control device provided by the corresponding embodiment of Figure 10 or the corresponding embodiment of Figure 11 There is provided receiving device.The DCN is used to execute the method in the corresponding embodiment of Fig. 4 to Fig. 7.
In the specific implementation, corresponding sending device and receiving device, the application also provide a kind of computer storage medium respectively, Wherein, the computer storage medium being arranged in arbitrary equipment can be stored with program, and when which executes, implementable includes Fig. 4 Step some or all of in each embodiment of the transmission rate control provided to Fig. 7.Storage medium in arbitrary equipment It can be magnetic disk, CD, read-only memory (read-only memory, ROM) or random access memory (random Access memory, RAM) etc..
In the application, transceiver can be wireline transceiver, wireless transceiver or combinations thereof.Wireline transceiver for example can be with For Ethernet interface.Ethernet interface can be optical interface, electrical interface or combinations thereof.Wireless transceiver for example can be wireless office Domain net transceiver, cellular network transceiver or combinations thereof.Processor can be central processing unit (centralprocessing Unit, CPU), the combination of network processing unit (network processor, NP) or CPU and NP.Processor can also be into one Step includes hardware chip.Above-mentioned hardware chip can be specific integrated circuit (application-specific integrated Circuit, ASIC), programmable logic device (programmable logic device, PLD) or combinations thereof.Above-mentioned PLD can To be Complex Programmable Logic Devices (complex programmable logic device, CPLD), field programmable logic Gate array (field-programmable gate array, FPGA), Universal Array Logic (generic array logic, GAL) or any combination thereof.Memory may include volatile memory (volatile memory), such as random access memory Device (random-access memory, RAM);Memory also may include nonvolatile memory (non-volatile Memory), such as read-only memory (read-only memory, ROM), flash memory (flash memory), hard disk (hard disk drive, HDD) or solid state hard disk (solid-state drive, SSD);Memory can also include above-mentioned kind The combination of the memory of class.
In Fig. 9 and Figure 11 can also include bus interface, bus interface may include any number of interconnection bus and The various circuits for the memory that bridge, the one or more processors specifically represented by processor and memory represent are linked at one It rises.Bus interface can also link various other circuits of such as peripheral equipment, voltage-stablizer and management circuit or the like Together, these are all it is known in the art, and therefore, it will not be further described herein.Bus interface offer connects Mouthful.Transceiver provides the unit for communicating over a transmission medium with various other equipment.Processor is responsible for managing bus architecture With common processing, memory can store processor used data when executing operation.
Art technology is any it will also be appreciated that the various illustrative components, blocks that the embodiment of the present application is listed (illustrative logical block) and step (step) can by electronic hardware, computer software, or both knot Conjunction is realized.Such function is that the design for depending on specific application and whole system is realized by hardware or software It is required that.Those skilled in the art can be used various methods and realize the function, but this for every kind of specific application Kind, which is realized, is understood not to the range beyond the embodiment of the present application protection.
Various illustrative logic units and circuit described in the embodiment of the present application can be by general processors, number Word signal processor, specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic devices, from Door or transistor logic are dissipated, discrete hardware components or above-mentioned any combination of design carry out implementation or operation described function.It is logical It can be microprocessor with processor, optionally, which may be any traditional processor, controller, micro- Controller or state machine.Processor can also be realized by the combination of computing device, such as digital signal processor and Wei Chu Device, multi-microprocessor are managed, one or more microprocessors combine a digital signal processor core or any other like Configuration is to realize.
The step of method described in the embodiment of the present application or algorithm can be directly embedded into hardware, processor execute it is soft The combination of part unit or the two.Software unit can store in RAM memory, flash memory, ROM memory, EPROM storage Other any form of storaging mediums in device, eeprom memory, register, hard disk, moveable magnetic disc, CD-ROM or this field In.Illustratively, storaging medium can be connect with processor, so that processor can read information from storaging medium, and It can be to storaging medium stored and written information.Optionally, storaging medium can also be integrated into the processor.Processor and storaging medium can To be set in asic, ASIC be can be set in UE.Optionally, processor and storaging medium also can be set in UE not In same component.
It should be understood that the size of the serial number of each process is not meant to execution sequence in the various embodiments of the application Successively, the execution sequence of each process should be determined by its function and internal logic, and the implementation process without coping with embodiment, which is constituted, appoints What is limited.
In the above-described embodiments, can come wholly or partly by software, hardware, firmware or any combination thereof real It is existing.When implemented in software, it can entirely or partly realize in the form of a computer program product.The computer program Product includes one or more computer instructions.When loading on computers and executing the computer program instructions, all or It partly generates according to process described herein or function.The computer can be general purpose computer, special purpose computer, meter Calculation machine network or other programmable devices.The computer instruction may be stored in a computer readable storage medium, or It is transmitted from a computer readable storage medium to another computer readable storage medium, for example, the computer instruction can To pass through wired (such as coaxial cable, optical fiber, Digital Subscriber Line from a web-site, computer, server or data center (DSL)) or wireless (such as infrared, wireless, microwave etc.) mode is into another web-site, computer, server or data The heart is transmitted.The computer readable storage medium can be any usable medium or include that computer can access The data storage devices such as one or more usable mediums integrated server, data center.The usable medium can be magnetism Medium, (for example, floppy disk, hard disk, tape), optical medium (for example, DVD) or semiconductor medium (such as solid state hard disk (solid State disk, SSD)) etc..
The various pieces of this specification are all made of progressive mode and are described, same and similar portion between each embodiment Dividing may refer to each other, and what each embodiment introduced is and other embodiments difference.Especially for device and it is For embodiment of uniting, since it is substantially similar to the method embodiment, so being described relatively simple, related place is referring to method reality Apply the explanation of example part.
In addition, the ordinal numbers such as " first " and " second " that the application refers to, for multiple same alike results but include not Object with content distinguishes.
Although the preferred embodiment of the application has been described, it is created once a person skilled in the art knows basic Property concept, then additional changes and modifications may be made to these embodiments.So it includes excellent that the following claims are intended to be interpreted as It selects embodiment and falls into all change and modification of the application range.
Obviously, those skilled in the art can carry out various modification and variations without departing from the essence of the application to the application Mind and range.In this way, if these modifications and variations of the application belong to the range of the claim of this application and its equivalent technologies Within, then the application is also intended to include these modifications and variations.

Claims (18)

1. a kind of transmission rate control, which is characterized in that the method is applied to data center network DCN, the DCN packet Sending point, transfer point and receiving point are included, the sending point is used to send data flow, institute to the receiving point via the transfer point The method of stating includes:
The sending point receives the first congestion notification message CNP, the first CNP that the receiving point is sent and indicates the transmission The transfer point is there are congestion when point the first data packet of forwarding, and the data flow includes first data packet, the first CNP Including rate information, the rate information indicates that the receiving point receives the receiving velocity for the data packet that the data flow includes;
The sending point determines the receiving velocity according to the rate information;
The sending point determines that rate of evacuation, the rate of evacuation are that the instruction transfer point will be described according to the receiving velocity The rate for the entire packet dequeue that queue in transfer point includes, the queue include the data packet in the data flow;
The transmission rate of the data flow is updated to the rate of evacuation by the sending point.
2. transmission rate control as described in claim 1, which is characterized in that the sending point is according to the receiving velocity Determine rate of evacuation, comprising:
The sending point generates hypervelocity specific factor a, the hypervelocity according to the transmission rate of the data flow and the receiving velocity Specific factor a meets:Wherein, RIt sendsRefer to the transmission rate of the data flow, RIt receivesRefer to the reception speed Rate;
The sending point determines emptying time T according to the hypervelocity specific factor apause, the emptying time TpauseMeet: Tpause =a × (tgt+rtt)+tgt, wherein when timestamp and enqueue when tgt refers to the data packet dequeue in the queue The time interval that should meet of difference of timestamp, when rtt is referred in the transfer point without queue, data packet from the sending point via The transfer point is transferred to the receiving point, then the duration of the sending point is returned by the receiving point;
The sending point is according to the emptying time TpauseCalculate the rate of evacuation Rpause, the rate of evacuation RpauseMeet:
3. transmission rate control as claimed in claim 1 or 2, which is characterized in that in the sending point by the data The transmission rate of stream is updated to after the rate of evacuation, further includes:
The sending point sends the data flow with the rate of evacuation and continues the emptying time;
The transmission rate of the data flow is updated to the receiving velocity by the sending point.
4. transmission rate control as claimed in claim 3, which is characterized in that in the sending point by the data flow Transmission rate is updated to after the receiving velocity, further includes:
Whether the transmission rate that the data flow is detected in the sending point reaches the maximum transmission rate of the sending point;
When the transmission rate of the data flow is not up to the maximum transmission rate of the sending point, the sending point judges second Whether twoth CNP that the receiving point send is received in preset interval duration, and the 2nd CNP indicates the transfer point forwarding For the transfer point there are congestion, the data flow includes second data packet, second preset interval when the second data packet Duration is greater than the first preset interval duration, and the first preset interval duration is the minimum interval duration that receiving point sends CNP;
When not receiving two CNP in the second preset interval duration, the sending point is by the hair of the data flow Transmission rate is updated to target transmission rate, and the target transmission rate meets:
Whether the transmission rate that the sending point repeats the detection data flow reaches the maximum hair of the sending point The operation of transmission rate, until the transmission rate of the data flow reaches the maximum transmission rate of the sending point.
5. transmission rate control as described in claim 1, which is characterized in that
The rate information includes: the number that period 1 and the receiving point receive the data flow within the period 1 According to the length summation of packet;Or
The rate information includes the receiving velocity.
6. transmission rate control as claimed in claim 5, which is characterized in that
It include first data packet in the data packet for the data flow that the receiving point receives within the period 1.
7. transmission rate control as claimed in claim 5, which is characterized in that
The receiving velocity refers to that the data packet of the received data flow of the receiving point includes the week of first data packet Phase corresponding rate.
8. a kind of transmission rate control, which is characterized in that the method is applied to data center network DCN, the DCN packet Sending point, transfer point and receiving point are included, the receiving point is for receiving the data that the sending point is sent via the transfer point Stream, which comprises
The receiving point receives the sending point and sends and via the first data packet that the transfer point forwards, the data stream packets First data packet is included, first data packet includes Explicit Congestion notice ECN label, and the ECN label indicates the biography There are congestions for the transfer point when defeated point forwarding first data packet;
The ECN that the receiving point includes according to first data packet is marked, and generates the first congestion notification message CNP, and described the One CNP includes rate information, and the rate information indicates that the receiving point receives the reception for the data packet that the data flow includes Rate;
The receiving point sends the first CNP to the sending point.
9. transmission rate control as claimed in claim 8, which is characterized in that
The rate information includes: the number that period 1 and the receiving point receive the data flow within the period 1 According to the length summation of packet;Or
The rate information includes the receiving velocity.
10. transmission rate control as claimed in claim 9, which is characterized in that
It include first data packet in the data packet for the data flow that the receiving point receives within the period 1.
11. transmission rate control as claimed in claim 9, which is characterized in that
The receiving velocity refers to that the data packet of the received data flow of the receiving point includes the week of first data packet Phase corresponding rate.
12. a kind of transmission rate control device, which is characterized in that setting is arranged in sending point, the sending point in data center Network DCN, the DCN further include transfer point and receiving point, and the sending point is used for via the transfer point to the receiving point Data flow is sent, described device includes transmitter, receiver and processor, wherein
The transmitter, for sending the data flow to the receiving point;
The receiver indicates institute for receiving the first congestion notification message CNP, the first CNP that the receiving point is sent Stating transfer point when transfer point the first data packet of forwarding, there are congestion, the data flow includes first data packet, described First CNP includes rate information, and the rate information indicates that the receiving point receives connecing for the data packet that the data flow includes Receive rate;
The processor, for determining the receiving velocity according to the rate information;It is also used to true according to the receiving velocity Determine rate of evacuation, the rate of evacuation is that the instruction transfer point goes out the entire packet that the queue in the transfer point includes The rate of queue, the queue include the data packet in the data flow;It is also used to update the transmission rate of the data flow For the rate of evacuation.
13. transmission rate control device as claimed in claim 12, which is characterized in that
The processor, specifically for generating hypervelocity specific factor a according to the transmission rate of the data flow and the receiving velocity, The hypervelocity specific factor a meets:Wherein, RIt sendsRefer to the transmission rate of the data flow, RIt receivesRefer to described Receiving velocity;Emptying time T is determined according to the hypervelocity specific factor apause, the emptying time TpauseMeet: Tpause=a × (tgt+rtt)+tgt, wherein time when timestamp and enqueue when tgt refers to the data packet dequeue in the queue The time interval that the difference of stamp should meet, when rtt is referred in the transfer point without queue, data packet is from the sending point via described Transfer point is transferred to the receiving point, then the duration of the sending point is returned by the receiving point;According to the emptying time TpauseCalculate the rate of evacuation Rpause, the rate of evacuation RpauseMeet:
14. transmission rate control device as described in claim 12 or 13, which is characterized in that
The processor, when being also used to control the transmitter and sending the data flow with the rate of evacuation and continue the emptying Between;It is also used to the transmission rate of the data flow being updated to the receiving velocity.
15. transmission rate control device as claimed in claim 14, which is characterized in that
The processor, whether the transmission rate for being also used to detect the data flow, which reaches the maximum of the sending point, sends speed Rate;When the transmission rate of the data flow is not up to the maximum transmission rate of the sending point, it is also used to judge that second is default Whether twoth CNP that the receiving point send is received in the duration of interval, and the 2nd CNP indicates second number of transfer point forwarding According to transfer point when packet there are congestion, the data flow includes second data packet, and when second preset interval grows up In the first preset interval duration, the first preset interval duration is the minimum interval duration that receiving point sends CNP;When described second When not receiving two CNP in preset interval duration, it is also used to for the transmission rate of the data flow being updated to target transmission Rate, the target transmission rate meet:
Whether the processor, the transmission rate for being also used to repeat the detection data flow reach the sending point The operation of maximum transmission rate, until the transmission rate of the data flow reaches the maximum transmission rate of the sending point.
16. a kind of transmission rate control device, which is characterized in that setting is arranged in receiving point, the receiving point in data center Network DCN, the DCN further include sending point and transfer point, and the receiving point is for receiving the sending point via the transmission The data flow that point is sent, described device includes transmitter, receiver and processor, wherein
The receiver is sent and for receiving the sending point via the first data packet that the transfer point forwards, the number It include first data packet according to stream, first data packet includes Explicit Congestion notice ECN label, the ECN label instruction There are congestions for the transfer point when transfer point forwarding first data packet;
The processor, the ECN label for including according to first data packet, generates the first congestion notification message CNP, institute Stating the first CNP includes rate information, and the rate information indicates that the receiving point receives the data packet that the data flow includes Receiving velocity;
The transmitter, for sending the first CNP to the sending point.
17. a kind of sending device, which is characterized in that be used as sending point, the sending point is arranged in data center network DCN, institute Stating DCN further includes transfer point and receiving point, and the sending point is used to send data flow to the receiving point via the transfer point, The sending device includes processor and memory, in which:
The memory, for storing program instruction;
The processor, for calling and executing the program instruction stored in the memory, so that the sending device executes Transmission rate control described in any one of claims 1 to 7.
18. a kind of receiving device, which is characterized in that be used as receiving point, the receiving point is arranged in data center network DCN, institute Stating DCN further includes sending point and transfer point, and the receiving point is for receiving the number that the sending point is sent via the transfer point According to stream, the receiving device includes processor and memory, in which:
The memory, for storing program instruction;
The processor, for calling and executing the program instruction stored in the memory, so that the receiving device executes Transmission rate control described in any one of claim 8 to 11.
CN201811003680.7A 2018-08-30 2018-08-30 Transmission rate control method, device, sending equipment and receiving equipment Active CN109039936B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811003680.7A CN109039936B (en) 2018-08-30 2018-08-30 Transmission rate control method, device, sending equipment and receiving equipment
PCT/CN2019/082462 WO2020042624A1 (en) 2018-08-30 2019-04-12 Transmission rate control method and apparatus, sending device and receiving device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811003680.7A CN109039936B (en) 2018-08-30 2018-08-30 Transmission rate control method, device, sending equipment and receiving equipment

Publications (2)

Publication Number Publication Date
CN109039936A true CN109039936A (en) 2018-12-18
CN109039936B CN109039936B (en) 2021-12-28

Family

ID=64625678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811003680.7A Active CN109039936B (en) 2018-08-30 2018-08-30 Transmission rate control method, device, sending equipment and receiving equipment

Country Status (2)

Country Link
CN (1) CN109039936B (en)
WO (1) WO2020042624A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113782A (en) * 2019-04-29 2019-08-09 惠州Tcl移动通信有限公司 Data transmission method, device and storage medium
CN110460491A (en) * 2019-07-05 2019-11-15 锐捷网络股份有限公司 Performance test methods and device based on RDMA
CN110505156A (en) * 2019-08-23 2019-11-26 中国人民解放军国防科技大学 Low-overhead congestion control method in high-speed interconnection network
WO2020042624A1 (en) * 2018-08-30 2020-03-05 华为技术有限公司 Transmission rate control method and apparatus, sending device and receiving device
CN112134809A (en) * 2020-09-16 2020-12-25 山东云海国创云计算装备产业创新中心有限公司 Flow control method, device, equipment and readable storage medium
CN113098785A (en) * 2021-03-31 2021-07-09 新华三信息安全技术有限公司 Message processing method and device
CN113132262A (en) * 2020-01-15 2021-07-16 阿里巴巴集团控股有限公司 Data stream processing and classifying method, device and system
WO2021147704A1 (en) * 2020-01-23 2021-07-29 华为技术有限公司 Congestion control method and apparatus
CN113794655A (en) * 2020-07-17 2021-12-14 北京京东尚科信息技术有限公司 Flow monitoring method and device, computer storage medium and electronic equipment
CN116915722A (en) * 2023-09-12 2023-10-20 珠海星云智联科技有限公司 Network congestion adjusting method, device, computing equipment and readable storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114938350B (en) * 2022-06-15 2023-08-22 长沙理工大学 Congestion feedback-based data stream transmission control method in lossless network of data center
CN117395206B (en) * 2023-12-12 2024-03-12 南京邮电大学 Rapid and accurate congestion feedback method for lossless data center network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030926A (en) * 2006-02-28 2007-09-05 华为技术有限公司 Method for controlling network data flow of global microwave access inter-operation
CA2699325C (en) * 2007-09-26 2016-03-15 International Business Machines Corporation Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture
CN108418767A (en) * 2018-02-09 2018-08-17 华为技术有限公司 Data transmission method, equipment and computer storage media

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416690B2 (en) * 2010-01-11 2013-04-09 Research In Motion Limited Explicit congestion notification based rate adaptation using binary marking in communication systems
CN105915464B (en) * 2016-06-21 2018-09-25 中南大学 A kind of quick and easy quantization congestion notification method
CN109039936B (en) * 2018-08-30 2021-12-28 华为技术有限公司 Transmission rate control method, device, sending equipment and receiving equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030926A (en) * 2006-02-28 2007-09-05 华为技术有限公司 Method for controlling network data flow of global microwave access inter-operation
CA2699325C (en) * 2007-09-26 2016-03-15 International Business Machines Corporation Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture
CN108418767A (en) * 2018-02-09 2018-08-17 华为技术有限公司 Data transmission method, equipment and computer storage media

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020042624A1 (en) * 2018-08-30 2020-03-05 华为技术有限公司 Transmission rate control method and apparatus, sending device and receiving device
CN110113782A (en) * 2019-04-29 2019-08-09 惠州Tcl移动通信有限公司 Data transmission method, device and storage medium
CN110460491A (en) * 2019-07-05 2019-11-15 锐捷网络股份有限公司 Performance test methods and device based on RDMA
CN110505156A (en) * 2019-08-23 2019-11-26 中国人民解放军国防科技大学 Low-overhead congestion control method in high-speed interconnection network
CN110505156B (en) * 2019-08-23 2020-10-30 中国人民解放军国防科技大学 Low-overhead congestion control method in high-speed interconnection network
CN113132262B (en) * 2020-01-15 2024-05-03 阿里巴巴集团控股有限公司 Data stream processing and classifying method, device and system
CN113132262A (en) * 2020-01-15 2021-07-16 阿里巴巴集团控股有限公司 Data stream processing and classifying method, device and system
WO2021147704A1 (en) * 2020-01-23 2021-07-29 华为技术有限公司 Congestion control method and apparatus
CN113794655A (en) * 2020-07-17 2021-12-14 北京京东尚科信息技术有限公司 Flow monitoring method and device, computer storage medium and electronic equipment
CN112134809B (en) * 2020-09-16 2024-04-23 山东云海国创云计算装备产业创新中心有限公司 Flow control method, device, equipment and readable storage medium
CN112134809A (en) * 2020-09-16 2020-12-25 山东云海国创云计算装备产业创新中心有限公司 Flow control method, device, equipment and readable storage medium
CN113098785A (en) * 2021-03-31 2021-07-09 新华三信息安全技术有限公司 Message processing method and device
CN113098785B (en) * 2021-03-31 2022-05-27 新华三信息安全技术有限公司 Message processing method and device
CN116915722A (en) * 2023-09-12 2023-10-20 珠海星云智联科技有限公司 Network congestion adjusting method, device, computing equipment and readable storage medium
CN116915722B (en) * 2023-09-12 2023-12-19 珠海星云智联科技有限公司 Network congestion adjusting method, device, computing equipment and readable storage medium

Also Published As

Publication number Publication date
WO2020042624A1 (en) 2020-03-05
CN109039936B (en) 2021-12-28

Similar Documents

Publication Publication Date Title
CN109039936A (en) Transmission rate control, device, sending device and receiving device
US8072886B2 (en) Method and system for transmission control protocol (TCP) traffic smoothing
CN108418767A (en) Data transmission method, equipment and computer storage media
CN105684364A (en) Method and system for queue management in a packet-switched network
CN109560901A (en) A kind of data repeating method, device, terminal device and storage medium
CN109391557A (en) Congestion Avoidance in network switch device
CN109067665A (en) Jamming control method and the network equipment
US20210297351A1 (en) Fabric control protocol with congestion control for data center networks
CN107634908B (en) Data transmission method and equipment
CN105099938B (en) The determination method and apparatus of congestion window in network
CN107948103A (en) A kind of interchanger PFC control methods and control system based on prediction
WO2017097201A1 (en) Data transmission method, transmission device and receiving device
WO2018149228A1 (en) Packet transmission method and device
WO2019128649A1 (en) Data stream sending method, device and system
CN107547442A (en) Data transfer buffer queue distribution method and device
CN107682279A (en) A kind of delay control method, device and storage medium, program product
Nguyen et al. Performance evaluation of TCP congestion control algorithms in data center networks
CN109818879A (en) Flow control methods and device
CN104283741B (en) The method and device of the accurate big stream aging of detection
CN114124830A (en) RDMA service quality assurance method and system for multiple application scenes of data center
CN110381036A (en) A kind of TCP jamming control method for DASH Streaming Media
CN113950099B (en) Network congestion control method and device
TWI423623B (en) Network buffer management methods and computer program products
Rüngeler et al. Congestion and flow control in the context of the message-oriented protocol SCTP
CN106657131B (en) Cloud communication platform based on internet

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant