CN1297097C - Method for raising data transmission performance when the network is congested - Google Patents
Method for raising data transmission performance when the network is congested Download PDFInfo
- Publication number
- CN1297097C CN1297097C CNB031100430A CN03110043A CN1297097C CN 1297097 C CN1297097 C CN 1297097C CN B031100430 A CNB031100430 A CN B031100430A CN 03110043 A CN03110043 A CN 03110043A CN 1297097 C CN1297097 C CN 1297097C
- Authority
- CN
- China
- Prior art keywords
- data
- priority
- send
- formation
- burst
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种提高网络拥塞时数据传输性能的方法。该方法是在低速链路发生拥塞时,将大数据包在链路层进行分片,减小数据包的长度,并转入分片临时队列,而将高发送优先级数据转入高优先级队列,使实时业务数据等高优先级数据交叉在分片中发送,避免实时业务数据因为等待大数据包发送而引起的时延和抖动,保证针对实时业务数据的服务质量,且最大程度的减少了分片报文的乱序,同时又能保证实时业务数据等高优先级数据的优先调度。
The invention relates to a method for improving data transmission performance when the network is congested. This method is to fragment the large data packet at the link layer when the low-speed link is congested, reduce the length of the data packet, and transfer it to the fragmentation temporary queue, and transfer the high-priority data to the high-priority Queues, so that high-priority data such as real-time business data are sent across fragments, avoiding the delay and jitter caused by waiting for large data packets to be sent in real-time business data, ensuring the quality of service for real-time business data, and minimizing It eliminates the out-of-order of fragmented packets, and at the same time ensures the priority scheduling of high-priority data such as real-time business data.
Description
技术领域technical field
本发明涉及网络通信技术领域,尤其涉及一种提高网络拥塞时数据传输性能的方法。The invention relates to the technical field of network communication, in particular to a method for improving data transmission performance when the network is congested.
背景技术Background technique
随着网络通信技术的发展,对网络通信中的数据传输性能的要求也日益提高。为了保证网络通信中数据传输性能,即保证数据的可靠传输,以满足用户的通信需求,目前通常采用PQ(优先队列)等拥塞管理技术对数据的传输过程进行管理,当输出接口发生拥塞时,可以根据所传输数据的重要程度、需要提供的服务质量等级等对数据流进行分类,通常为根据数据报文承载的业务属性确定数据的发送优先级;然后将分类后的数据分别送入不同优先级的队列,这种方法在一定程度上保证了网络中具有较高优先级即要求服务质量等级较高的高发送优先级的数据业务的可靠传输,例如对于网络通信中要求服务质量等级较高的实时业务数据,可以送入高优先级队列进行优先传输,以使其服务质量得到优先保证。With the development of network communication technology, the requirements for data transmission performance in network communication are also increasing. In order to ensure the performance of data transmission in network communication, that is, ensure the reliable transmission of data to meet the communication needs of users, congestion management technologies such as PQ (Priority Queue) are usually used to manage the data transmission process. When the output interface is congested, The data flow can be classified according to the importance of the transmitted data, the level of service quality to be provided, etc., usually according to the business attributes carried by the data message to determine the priority of sending the data; and then send the classified data to different priority This method guarantees to a certain extent the reliable transmission of high-priority data services that require a higher quality of service level in the network. For example, for network communications that require a higher quality of service level The real-time business data can be sent to the high-priority queue for priority transmission, so that its service quality can be guaranteed first.
数据拥塞管理技术一定程度上解决了网络通信发生拥塞时高优先级数据可靠传输的问题,然而,由于网络中传输的数据包大小各异,较大的数据包在传输过程中需要的时间要比较小的数据包长一些,这种传输时间的差异对于高速链路来说是可以忽略不计的,但对于低速链路上述时间的差异却可能导致数据传输性能大大降低,而无法满足用户的通信需求。比如对于语音业务业务数据,通常要求端到端的时延不宜超过150ms,单跳的时延不宜超过20ms,传输时延通常为数据包大小(帧长)除以链路带宽,对于低速链路大数据包的传输时延如图1所示,对于768Kbps以下的低速链路,大数据包引起的时延远远超出了语音业务数据通常要求的端到端的时延值。也就是说大数据包随后到达的实时业务数据包,虽然进入了高优先级队列(即High队列)中也必需等待大数据包发送完毕后才能得到调度处理,如图2所示,实时业务数据包2在大数据包1进行调度处理的瞬间到达,但实时业务数据包2必须等到大数据包1发送完后才能进行调度处理,假设大数据包1长度为1500字节,输出的链路带宽为256Kbps,则实时业务数据包2的时延将达到46ms。Data congestion management technology solves the problem of reliable transmission of high-priority data when network communication is congested to a certain extent. However, due to the different sizes of data packets transmitted in the network, the time required for larger data packets in the transmission process is relatively long. Small data packets are longer, and the difference in transmission time is negligible for high-speed links, but for low-speed links, the above-mentioned time difference may lead to greatly reduced data transmission performance, which cannot meet the communication needs of users . For example, for voice service data, it is generally required that the end-to-end delay should not exceed 150ms, and the single-hop delay should not exceed 20ms. The transmission delay is usually the data packet size (frame length) divided by the link bandwidth. The transmission delay of data packets is shown in Figure 1. For low-speed links below 768Kbps, the delay caused by large data packets far exceeds the end-to-end delay value usually required by voice service data. That is to say, the real-time service data packets that arrive after the large data packets enter the high-priority queue (that is, the High queue) and must wait for the large data packets to be sent before they can be dispatched. As shown in Figure 2, the real-time service data Packet 2 arrives at the moment when the big data packet 1 is scheduled and processed, but the real-time service data packet 2 must wait until the big data packet 1 is sent before it can be scheduled. Assuming that the length of the big data packet 1 is 1500 bytes, the output link bandwidth is 256Kbps, the delay of real-time service data packet 2 will reach 46ms.
为了解决上述问题,通常想到的方法便是对大数据包进行分片,减小最大传输单元,对数据包进行分片可以在网络层或链路层进行,如果在网络层进行数据包的分片,并在目的端的网络层进行分片后数据的重组,则将增加对网络带宽资源的消耗,必将加剧网络的拥塞程度,因此对大数据包进行分片应该在链路层进行。现有的MP(PPP多链路协议)分片技术便是一种链路层分片技术,该技术将PPP(点到点协议)帧按一定的分片策略分成若干片,在每一个分片上封装MP头,做起始(B)、终止(E)等标记,并编上序号,然后将所有分片分发给各个通道进行发送,在接收端按序号对分片进行重组,如果有分片丢失,则整个数据包因无法重组而被丢弃。In order to solve the above problems, the commonly thought method is to fragment large data packets to reduce the maximum transmission unit. Fragmentation of data packets can be performed at the network layer or link layer. If the packet is divided at the network layer Fragmentation, and data reorganization after fragmentation at the network layer of the destination end will increase the consumption of network bandwidth resources and will certainly aggravate network congestion. Therefore, fragmentation of large data packets should be performed at the link layer. Existing MP (PPP multi-link protocol) fragmentation technology is exactly a kind of link layer fragmentation technology, this technology divides PPP (point-to-point protocol) frame into several slices according to certain fragmentation strategy, in each fragmentation Encapsulate the MP header on the chip, mark the start (B), end (E), etc., and number it, then distribute all the fragments to each channel for transmission, and reassemble the fragments according to the sequence number at the receiving end. If a fragment is lost, the entire packet is discarded because it cannot be reassembled.
因此,如果采用MP分片技术就必需保证分片报文的按序发送和接收。通常对于没有应用PQ、CQ(定制队列)、WFQ(加权公平队列)等排队机制的情况,分片报文的传输顺序是可以保证的;但对于采用了上述排队机制的通信网络来说,如果仍采用现有的MP分片技术,则可能出现因严重打乱分片报文的传输顺序而在接收端无法进行报文的重组,从而无法保证数据的可靠传输的情况。Therefore, if the MP fragmentation technology is used, it is necessary to ensure that the fragmented messages are sent and received in sequence. Usually, for the situation where queuing mechanisms such as PQ, CQ (Customized Queue), and WFQ (Weighted Fair Queuing) are not applied, the transmission order of fragmented packets can be guaranteed; If the existing MP fragmentation technology is still used, the transmission order of the fragmented packets may be severely disturbed, and the message cannot be reassembled at the receiving end, so that the reliable transmission of data cannot be guaranteed.
发明内容Contents of the invention
鉴于上述现有技术所存在的问题,本发明的目的是提供一种提高网络拥塞时数据传输性能的方法,以解决链路中因大数据包产生的传输时延而导致无法满足数据传输服务质量要求的问题。In view of the problems existing in the above-mentioned prior art, the purpose of the present invention is to provide a method for improving data transmission performance when the network is congested, so as to solve the problem that the data transmission service quality cannot be satisfied due to the transmission time delay generated by the large data packet in the link. asked questions.
本发明的目的是这样实现的:所述的提高网络拥塞时数据传输性能的方法,包括:The purpose of the present invention is achieved in that the method for improving data transmission performance when the network is congested includes:
a、将待发送的数据进行分类;a. Classify the data to be sent;
b、将具有高发送优先级的数据转入高优先级队列中,其他数据转入分片临时队列和较低优先级队列中;b. Transfer the data with high sending priority to the high priority queue, and transfer other data to the fragmented temporary queue and lower priority queue;
c、在进行数据发送处理时,首先对高优先级队列和分片临时队列中的数据进行发送处理,然后对较低优先级队列中的数据进行发送处理。c. When performing data sending processing, the data in the high-priority queue and the fragmented temporary queue are sent first, and then the data in the lower-priority queue is sent.
所述的步骤a包括:根据QoS(服务质量)值对数据进行分类。The step a includes: classifying the data according to the QoS (Quality of Service) value.
所述的步骤a包括:根据IP(互联网协议)的五元组信息对数据进行分类。The step a includes: classifying the data according to the five-tuple information of IP (Internet Protocol).
所述的步骤a包括:根据数据包的输入接口对数据进行分类。The step a includes: classifying the data according to the input interface of the data packet.
所述的骤b包括:根据需要将从较低优先级队列中调度出的大数据包进行分片,并在所述的分片中封装序号后转入分片临时队列中;大数据包是否需要分片及分片的大小是根据高优先级数据业务允许的时延和数据传输带宽确定的,分片大小等于允许的时延乘以数据传输带宽。Described step b comprises: carry out fragmentation according to need from the large data packet dispatched from the lower priority queue, and after encapsulating the sequence number in the fragmentation, transfer to the fragmentation temporary queue; whether the large data packet Fragmentation and the size of the fragmentation are determined according to the allowable delay and data transmission bandwidth of the high-priority data service, and the fragmentation size is equal to the allowable delay multiplied by the data transmission bandwidth.
所述的高发送优先级的数据为:根据数据报文承载的业务属性确定在网络拥塞时需要优先进行发送的数据;The data with high sending priority is: according to the business attribute carried by the data message, it is determined that the data needs to be sent preferentially when the network is congested;
所述的大数据包为:其大小在发送过程中对高优先级数据产生的时延超过该类数据允许的时延。The above-mentioned large data packet is: the delay caused by the size of the high-priority data in the sending process exceeds the allowable delay of this type of data.
所述的较低优先级队列可以进一步包括一个或多个不同优先级的数据发送队列。The lower priority queue may further include one or more data sending queues of different priorities.
当采用单通道链路(即低速链路)进行数据发送时,所述的步骤c进一步包括:When using a single-channel link (i.e. a low-speed link) for data transmission, the step c further includes:
c1、调度高优先级队列中的数据并发送出去;c1. Schedule the data in the high priority queue and send it out;
c2、当高优先级队列中的数据发送完毕时,调度分片临时队列中的数据并发送出去;c2. When the data in the high-priority queue has been sent, schedule the data in the temporary queue for fragmentation and send it out;
c3、当高优先级队列和分片临时队列中的数据均发送完毕时,调度较低优先级队列中的数据并进行发送处理。c3. When the data in the high-priority queue and the fragmented temporary queue are all sent, the data in the lower-priority queue is scheduled and sent.
当采用多通道链路进行数据发送时:When using a multi-lane link for data transmission:
所述的步骤b还包括:将各数据均封装序号后分别加入各个队列中;The step b also includes: adding each data to each queue after encapsulating the serial number;
所述的步骤c进一步包括:Described step c further comprises:
c4、调度分片临时队列中的数据并发送出去;c4. Scheduling the data in the temporary queue of fragments and sending them out;
c5、当分片临时队列中的数据发送完毕时,调度高优先级队列中的数据并发送出去;c5. When the data in the fragmented temporary queue has been sent, schedule the data in the high-priority queue and send it out;
c6、当分片临时队列和高优先级队列中的数据均发送完毕时,调度较低优先级队列中的数据并进行发送处理;c6. When the data in the fragmented temporary queue and the high-priority queue are all sent, schedule the data in the lower-priority queue and send it;
在接收端根据各数据的序号进行数据的接收及分片数据的重新组装。Data reception and fragmented data reassembly are performed at the receiving end according to the sequence numbers of each data.
由上述技术方案可以看出,本发明是在低速链路发生拥塞时,将大数据包在链路层进行分片,减小数据包的长度,使实时业务数据等高优先级数据交叉在分片报文中发送,避免实时业务数据因为等待大数据包发送而引起的时延和抖动,保证实时业务数据的服务质量。本发明还可以在捆绑多通道的链路上应用QoS的排队机制时,最大程度的减少数据传输过程中分片报文的乱序,而同时又能保证实时业务数据等高优先级数据的优先调度。本发明实现也较为简单,只需要在原来实现的排队策略基础上,增加一个分片临时队列,没有其他的系统开销。另外,本发明的适用范围较广,可以应用于包括PPP、HDLC(高级数据链路控制)、FR(帧中继)等多种链路中。As can be seen from the above technical solution, the present invention fragments the large data packet at the link layer when the low-speed link is congested, reduces the length of the data packet, and enables high-priority data such as real-time business data to be crossed in the split It can avoid the delay and jitter caused by waiting for large data packets to be sent in real-time business data, and ensure the quality of service of real-time business data. The present invention can also minimize the out-of-sequence of fragmented messages in the data transmission process when applying the QoS queuing mechanism on the link bound with multiple channels, while at the same time ensuring the priority of high-priority data such as real-time business data scheduling. The implementation of the present invention is also relatively simple. It only needs to add a fragmented temporary queue on the basis of the original queuing strategy, and there is no other system overhead. In addition, the present invention has a wide application range and can be applied to various links including PPP, HDLC (High-level Data Link Control), FR (Frame Relay) and the like.
附图说明Description of drawings
图1为不同长度帧在不同带宽链路中的传输时延表;Figure 1 is a transmission delay table of frames of different lengths in links of different bandwidths;
图2为现有技术中数据包发送的示意图;FIG. 2 is a schematic diagram of data packet transmission in the prior art;
图3为本发明中采用单通道进行数据包发送的示意图;Fig. 3 is the schematic diagram that adopts single channel to carry out data packet transmission in the present invention;
图4为本发明中采用多通道进行数据包发送的示意图;Fig. 4 is the schematic diagram that adopts multi-channel to carry out data packet transmission among the present invention;
图5为本发明的具体实施方式流程图。Fig. 5 is a flowchart of a specific embodiment of the present invention.
具体实施方式Detailed ways
本发明的所述的提高网络拥塞时数据传输性能的方法的核心思想是当链路层因网络拥塞而发送数据包失败后,将数据包按一定的规则,例如IP的五元组信息或者QoS(服务质量)值等,入相应的队列,其中IP的五元组信息包括:源和目的地址,源和目的端口号,协议号,相应的队列包括:高优先级队列、分片临时队列和较低优先级队列。实时业务入高优先级队列,对于待发送的大数据包分片后放入分片临时队列中,其他业务数据放入较低优先级队列。实时数据包交叉到大数据包的分片中进行调度,这样便可以保证发送失败的数据中具有高优先级的数据可以优先发送出去,且保证其不会因为其他大数据包的发送导致较长的时延。The core idea of the method for improving data transmission performance when the network is congested in the present invention is that when the link layer fails to send a data packet due to network congestion, the data packet is sent according to certain rules, such as IP quintuple information or QoS (Quality of Service) value, etc., enter the corresponding queue, wherein the five-tuple information of IP includes: source and destination address, source and destination port number, protocol number, and the corresponding queue includes: high priority queue, fragmentation temporary queue and lower priority queue. The real-time business enters the high-priority queue, and the large data packets to be sent are fragmented and put into the fragmented temporary queue, and other business data are put into the lower-priority queue. The real-time data packets are cross-scheduled into the fragments of the large data packets, so as to ensure that the data with high priority in the data that fails to be sent can be sent out first, and it is guaranteed that it will not cause a long delay due to the sending of other large data packets. delay.
本发明的具体实施方式如图3、图4和图5所示,具体实现过程描述如下,参见图5:The specific implementation of the present invention is shown in Figure 3, Figure 4 and Figure 5, and the specific implementation process is described as follows, referring to Figure 5:
步骤51:将因网络拥塞而未发送出去的数据包按照相应的发送优先级对其进行分类;Step 51: classify the data packets that are not sent out due to network congestion according to the corresponding sending priority;
具体可以根据各数据包的QoS(服务质量)值进行分类,也可以根据IP数据包的五元组信息进行分类。Specifically, the classification may be performed according to the QoS (Quality of Service) value of each data packet, or may be classified according to the five-tuple information of the IP data packet.
步骤52:将具有高发送优先级的数据转入高优先级队列中,例如可以将发送优先级较高的实时业务数据放入高优先级队列中,以便于下一步的优先发送。Step 52: Transfer the data with high sending priority to the high priority queue, for example, put the real-time service data with higher sending priority into the high priority queue, so as to facilitate the priority sending in the next step.
步骤53:将其他数据转入分片临时队列和较低优先级队列中,具体过程为:Step 53: Transfer other data into the fragmented temporary queue and lower priority queue, the specific process is:
步骤531:将其他数据转入较低优先级队列中;Step 531: transfer other data to a lower priority queue;
较低优先级队列还可以进一步根据数据服务质量等级划分为不同优先级的多个队列,且当高优先级队列和分片临时队列中的数据均已发送完毕时,再按优先级顺序进行较低优先级队列的调度,例如可以分为如图3、图4所示的正常数据发送队列(即Normal队列)和低优先级数据发送队列(即Low队列),当然也可以分成更多的不同优先级数据发送队列,或者仅应用一个数据发送队列作为较低优先级队列;The lower priority queue can be further divided into multiple queues with different priorities according to the data service quality level, and when the data in the high priority queue and the fragmented temporary queue have been sent, they will be compared in order of priority. Scheduling of low priority queues, for example, can be divided into normal data sending queues (i.e. Normal queues) and low priority data sending queues (i.e. Low queues) as shown in Figure 3 and Figure 4, and of course can also be divided into more different Priority data transmission queue, or only one data transmission queue as a lower priority queue;
步骤532:当高优先级队列中的数据发送处理完毕时,调度出较低优先级队列中的数据;Step 532: When the data in the high-priority queue is sent and processed, dispatch the data in the lower-priority queue;
步骤533:将调度出的大数据包进行分片处理,并将所述的分片中封装序号后放入分片临时队列中,即将分片封装标记头,标记头中包含按照分片顺序确定的分片序号;Step 533: Fragmenting the scheduled large data packet, and encapsulating the serial number in the fragment into the temporary queue of fragmentation, that is, encapsulating the tag header in the fragment, the tag header contains information determined according to the order of fragmentation shard sequence number;
分片的大小可以根据网络通信中高优先级数据需要保证的时延及数据传输带宽进行控制,具体为:每个分片的大小(byte)等于需要保证的时延(ms)乘以数据传输带宽(Kbps)再除以8,数据传输带宽即待发送数据的输出接口带宽;The size of fragments can be controlled according to the guaranteed delay and data transmission bandwidth of high-priority data in network communication, specifically: the size of each fragment (byte) is equal to the guaranteed delay (ms) multiplied by the data transmission bandwidth (Kbps) and then divided by 8, the data transmission bandwidth is the output interface bandwidth of the data to be sent;
大数据包是指其大小在发送过程中对高优先级数据产生的时延超过了该类数据允许的时延,对大数据包的分片是为了避免紧随其后到达的高优先级数据包不需要等候该大数据包发送完毕再进行发送,而仅需要等待一个小的分片报文发送完毕即可,其余分片则暂时缓存到分片临时队列中,从而保证了实时业务数据等高优先级数据的时延符合通信要求;A large data packet means that the delay caused by the size of the high-priority data in the transmission process exceeds the allowable delay of this type of data. The fragmentation of the large data packet is to avoid the high-priority data that arrives immediately after it. The packet does not need to wait for the large data packet to be sent before sending, but only needs to wait for a small fragment message to be sent, and the remaining fragments are temporarily cached in the fragment temporary queue, thus ensuring real-time business data, etc. The delay of high-priority data meets the communication requirements;
采用将从队列中调度出的大数据包进行分片后再入分片临时队列的是为了方便接收端对接收数据和处理。如果将分类后的大数据包直接分片并放入相应的队列中,则因为出队时不同优先级队列的交叉调度,不同队列中的不同数据包的分片报文将交叉混合发送出去,将造成严重的分片报文乱序,增加了接收端重组报文的负荷,甚至无法对接收的分片报文进行重组。The purpose of fragmenting the large data packets dispatched from the queue and then entering the fragmentation temporary queue is to facilitate the reception and processing of the data by the receiving end. If the classified large data packets are directly fragmented and put into corresponding queues, because of the cross-scheduling of different priority queues when leaving the queue, the fragmented messages of different data packets in different queues will be cross-mixed and sent out. It will cause serious out-of-sequence of the fragmented packets, increase the load of the receiving end to reassemble the packets, and even fail to reassemble the received fragmented packets.
步骤54:将高优先级队列和分片临时队列中的数据进行发送处理;Step 54: send the data in the high-priority queue and the fragmented temporary queue;
高优先级队列和分片临时队列中的数据或者具有较高的发送优先级,或者是已经从较低优先级队列中调度出的待发送数据,所以需要优先进行发送处理;The data in the high-priority queue and the fragmented temporary queue either has a higher sending priority, or has been scheduled from a lower-priority queue to be sent, so it needs to be sent first;
数据的调度发送处理过程具体包括以下两种情况:The data scheduling and sending process specifically includes the following two situations:
一种是采用单通道链路进行数据发送,这种情况可以优先发送高优先级队列中的数据,当高优先级队列中的数据发送处理完毕时,再发送分片临时队列中的分片数据;即当进行发送处理时,总是最先检查高优先级队列中是否存在数据包,如果有,则将其调度出队列,不做任何标记,直接发送出去;当高优先级队列为空时,才调度其他的队列;分片临时队列的优先级仅次于高优先级队列,而高于其他队列;One is to use a single-channel link for data transmission. In this case, the data in the high-priority queue can be sent first. When the data in the high-priority queue is sent and processed, the fragmented data in the fragmented temporary queue is sent. ; That is, when sending processing, always first check whether there is a data packet in the high-priority queue, if there is, it will be dispatched out of the queue, without any mark, and sent directly; when the high-priority queue is empty , to schedule other queues; the priority of fragmented temporary queues is second only to high-priority queues, but higher than other queues;
当有实时业务数据等高发送优先级数据到达时,优先对其进行调度,而分片报文则优先于除高发送优先级数据以外的其他数据得到调度,从而保证了高发送优先级数据总是最优先发送,即使是在大数据包之后到达,也只需要等待一个分片报文发送的时间,因此,高发送优先级数据的时延和抖动等服务质量指标得到了很好的保证,即提高网络拥塞时数据传输性能;在链路的接收端,对于实时业务数据等高发送优先级数据由于没有封装标记头,可以立即交给网络层进行转发处理;而对于分片报文,则放入缓存,等到接收到该数据包的全部分片,并按序号重组起来,再交由网络层处理,这样,虽然实时业务数据包等高发送优先级数据交叉在分片报文当中传输,仍然不会引起分片报文的乱序;When high-priority data such as real-time service data arrives, it will be scheduled first, and fragmented packets will be scheduled prior to other data except high-priority data, thus ensuring high-priority data It is sent with the highest priority. Even if it arrives after a large data packet, it only needs to wait for a fragmented packet to be sent. Therefore, the service quality indicators such as delay and jitter of high-priority data are well guaranteed. That is to improve data transmission performance when the network is congested; at the receiving end of the link, for real-time business data and other high-priority transmission data, because there is no encapsulation marker header, it can be immediately handed over to the network layer for forwarding processing; for fragmented packets, then Put it into the cache, wait until all the fragments of the data packet are received, reassemble them according to the sequence number, and then hand them over to the network layer for processing, so that although real-time business data packets and other high-priority data are cross-transmitted in fragmented packets, Still will not cause out-of-order fragmented packets;
具体数据发送过程可以参见图3,数据包1在得到调度出队列时对其进行分片,分成分片报文1.1、1.2、1.3、1.4,假设输出的链路带宽为256Kbps,要保证10ms的时延,每片的报文大小大约为320字节;首先发送分片报文1.1,其他的分片缓存到分片临时队列;如果分片报文1.1发送完成后,高优先级队列中有实时业务数据包2到达,则调度发送实时业务数据包2;发送完成后,如果高优先级队列中没有数据包了,再调度发送第二个分片报文1.2,如此继续;The specific data sending process can be seen in Figure 3. When the data packet 1 is dispatched out of the queue, it is fragmented and divided into fragmented messages 1.1, 1.2, 1.3, and 1.4. Assuming that the output link bandwidth is 256Kbps, a 10ms delay must be guaranteed. Delay, the size of each piece of the message is about 320 bytes; send the fragmented message 1.1 first, and the other fragments are cached in the fragmented temporary queue; if the fragmented message 1.1 is sent, there are When the real-time service data packet 2 arrives, the real-time service data packet 2 is scheduled to be sent; after the sending is completed, if there is no data packet in the high-priority queue, the second fragmented message 1.2 is scheduled to be sent, and so on;
第二种情况是采用捆绑多通道链路进行数据的发送,所述的捆绑多通道是将多个通道作为一个接口来应用,以增加传输带宽,因为通过多通道链路发送数据时数据流被多个通道分担,同一数据流可能从不同的通道发送,而各个通道由于带宽和拥塞程度的不同,可能导致数据包的错序,所以通过多通道链路发送数据时,需要为数据包确定序号,以保证接收端按正确的顺序将数据包交给网络层处理;否则,可能导致接收端无法正确的重组数据包;The second case is to use a bundled multi-channel link to send data. The bundled multi-channel is to use multiple channels as an interface to increase the transmission bandwidth, because the data stream is blocked when sending data through a multi-channel link. Shared by multiple channels, the same data stream may be sent from different channels, and each channel may cause out-of-sequence data packets due to different bandwidth and congestion levels. Therefore, when sending data through a multi-channel link, it is necessary to determine the sequence number for the data packet , to ensure that the receiver sends the data packets to the network layer in the correct order; otherwise, the receiver may not be able to reassemble the data packets correctly;
本发明将多通道链路作为一条逻辑链路,并为逻辑链路设计总的排队策略,而不是为各个通道分别设计排队策略,当某一通道拥塞时,由它发送的数据包将被送入逻辑链路的队列,进行统一的队列调度;为了保证各个通道负载均衡,多通道链路通常也会将大数据包按照一定的分片策略分成若干分片报,由各个通道分别发送;且仍然采用出队时分片及暂存于分片临时队列中的方法,将数据包的分片缓存到一个临时队列中;在多通道链路的情况下,所有的数据包,包括实时业务数据包,都需要标记序号;且设定分片临时队列的优先级最高,以确保一个数据包的各个分片按顺序调度,避免分片报文的乱序。但是与低速链路方案不同的是,分片临时队列具有最高的优先级。The present invention regards a multi-channel link as a logical link, and designs a general queuing strategy for the logical link, rather than designing a queuing strategy for each channel separately. When a certain channel is congested, the data packets sent by it will be sent In order to ensure the load balance of each channel, multi-channel links usually divide large data packets into several fragments according to a certain fragmentation strategy, and send them separately by each channel; and Still adopting the method of fragmentation and temporary storage in the fragmentation temporary queue when leaving the team, the fragmentation of the data packet is cached in a temporary queue; in the case of a multi-channel link, all data packets, including real-time business data packets , all need to mark the serial number; and set the priority of the fragmented temporary queue to be the highest to ensure that each fragment of a data packet is scheduled in order to avoid disorder of fragmented messages. But different from the low-speed link solution, the fragmented temporary queue has the highest priority.
如上所述高发送优先级数据可能需要等待一个大数据包的分片全部发送完毕后才得到调度,但是对于多通道链路来说,其带宽通常比较大,大数据包发送引起的时延和抖动通常不会超出高发送优先级数据允许的最大时延。As mentioned above, high-priority data may need to wait for all fragments of a large data packet to be dispatched before being scheduled. However, for multi-channel links, the bandwidth is usually relatively large, and the delay and Jitter usually does not exceed the maximum latency allowed for high transmit priority data.
通过多通道链路发送数据的具体过程如图4所示,当链路发生拥塞时,数据包根据排队策略入相应优先级的队列,当大数据包1得到调度出队时,多通道链路为了平衡负载,将该数据包分成通道数个分片报文1.1、1.2、1.3、1.4,先将第一个分片报文1.1出队,由轮到的物理通道(图中是物理通道1)发送;其他分片报文1.2、1.3、1.4入分片临时队列,等待下一次的队列调度,因为分片临时队列的优先级最高,所以所有分片被连续调度后,才会调度其他队列中的数据包,所有数据包都被封装了标记头,编上了序号,如此调度物理通道的负载近似,可以最大限度的降低数据包乱序的可能;而同时又成功的实现了多通道链路的QoS队列调度。The specific process of sending data through a multi-channel link is shown in Figure 4. When the link is congested, the data packet enters the corresponding priority queue according to the queuing strategy. When the large data packet 1 is dispatched out of the queue, the multi-channel link In order to balance the load, the data packet is divided into several fragmented messages 1.1, 1.2, 1.3, and 1.4 in the channel. ) to send; other fragmented messages 1.2, 1.3, and 1.4 enter the fragmented temporary queue and wait for the next queue scheduling. Since the fragmented temporary queue has the highest priority, other queues will not be scheduled until all fragments are continuously scheduled. In the data packets, all data packets are encapsulated with tag headers and numbered, so that the load of the physical channel is approximated, which can minimize the possibility of data packet disorder; and at the same time, the multi-channel chain Route QoS queue scheduling.
步骤55:对较低优先级队列中的数据进行发送处理;Step 55: send the data in the lower priority queue;
较低优先级队列包括正常数据发送队列和低优先级数据发送队列,在进行数据发送处理时,正常数据发送队列中的数据优先于低优先级数据发送列;The lower priority queues include normal data sending queues and low priority data sending queues. During data sending processing, the data in the normal data sending queues takes precedence over the low priority data sending queues;
对较低优先级队列中的数据进行发送处理包括:Send processing of data in lower priority queues includes:
对于正常大小的数据包直接进行发送,正常大小的数据包是指该数据包的发送时延不超过网络通信允许的最大时延;For normal-sized data packets to be sent directly, a normal-sized data packet means that the transmission delay of the data packet does not exceed the maximum delay allowed by network communication;
对于大数据包则参照步骤533进行处理。For large data packets, refer to step 533 for processing.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB031100430A CN1297097C (en) | 2003-04-09 | 2003-04-09 | Method for raising data transmission performance when the network is congested |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB031100430A CN1297097C (en) | 2003-04-09 | 2003-04-09 | Method for raising data transmission performance when the network is congested |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1536820A CN1536820A (en) | 2004-10-13 |
| CN1297097C true CN1297097C (en) | 2007-01-24 |
Family
ID=34319606
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB031100430A Expired - Fee Related CN1297097C (en) | 2003-04-09 | 2003-04-09 | Method for raising data transmission performance when the network is congested |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1297097C (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107222475A (en) * | 2017-05-26 | 2017-09-29 | 马鸣 | A kind of Data Transport Protocol method for wireless sensor network intelligent building conservation system |
Families Citing this family (41)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100420249C (en) * | 2005-03-22 | 2008-09-17 | 中国科学院计算技术研究所 | A Method of Guaranteeing Quality of Service in Wireless Local Area Network |
| CN101346971B (en) * | 2005-12-23 | 2011-05-18 | 艾利森电话股份有限公司 | Method and device for solving data grouping service congestion |
| CN1917476B (en) * | 2006-09-07 | 2010-05-12 | 杭州华三通信技术有限公司 | Laminated adjustment method and device |
| CN101192940B (en) * | 2006-11-28 | 2011-04-20 | 中兴通讯股份有限公司 | Quality guarantee method for mobile game service |
| CN101242341B (en) * | 2007-02-07 | 2015-07-29 | 华为技术有限公司 | A kind of method for dispatching message and device |
| CN101425943B (en) * | 2007-10-30 | 2011-08-10 | 中兴通讯股份有限公司 | Method for uplink QoS guarantee in G bit passive optical network system |
| CN101217499B (en) * | 2008-01-21 | 2010-12-01 | 中兴通讯股份有限公司 | Array dispatching method |
| CN101252451B (en) * | 2008-03-22 | 2011-04-20 | 桂林电子科技大学 | Method and middleware for Web server system requesting to distinguish service ensuring service quality |
| CN101534245B (en) * | 2009-04-09 | 2011-08-10 | 国电南瑞科技股份有限公司 | Transmission control method for data processing of real-time monitoring system |
| CN101883386B (en) * | 2009-05-04 | 2014-01-29 | 中国移动通信集团公司 | Method, device and system for hierarchical data relay forwarding |
| CN101895403B (en) | 2009-05-22 | 2013-08-28 | 华为技术有限公司 | Data transmission method and device and communication system |
| CN102014067B (en) * | 2010-12-14 | 2012-11-21 | 北京星网锐捷网络技术有限公司 | Message fragment sending method, device and network equipment |
| CN102595205A (en) * | 2011-01-03 | 2012-07-18 | 香港星巴香港有限公司 | Interactive service system, interactive system and interactive method thereof |
| CN102083134B (en) * | 2011-02-15 | 2014-07-09 | 华为技术有限公司 | Service processing method and device as well as wireless network controller |
| CN102710327B (en) * | 2012-06-08 | 2015-03-18 | 烽火通信科技股份有限公司 | High-priority service safety bearer ensuring method and device with cross protection function |
| CN102957626B (en) * | 2012-11-14 | 2016-08-10 | 中兴通讯股份有限公司 | A kind of message forwarding method and device |
| CN103414692A (en) * | 2013-07-15 | 2013-11-27 | 北京控制工程研究所 | High real-time spacecraft data transmission method based on priorities |
| CN104853226A (en) * | 2014-02-17 | 2015-08-19 | 华为技术有限公司 | Method, device, equipment and system for processing multimedia data |
| CN104270441B (en) * | 2014-09-28 | 2018-12-04 | 曙光信息产业股份有限公司 | A kind of method and system of distributed system multipriority communication |
| CN104361088B (en) * | 2014-11-17 | 2017-12-12 | 国电南京自动化股份有限公司 | Congestion data processing method of the SCADA system based on real-time weight analysis |
| CN105763481A (en) * | 2014-12-19 | 2016-07-13 | 北大方正集团有限公司 | Information caching method and device |
| CN104780120A (en) * | 2015-04-15 | 2015-07-15 | 天脉聚源(北京)教育科技有限公司 | Method and device for transmitting files in local area network |
| CN105608181A (en) * | 2015-12-22 | 2016-05-25 | 安徽瑞信软件有限公司 | Business data acquisition processing method |
| CN106656864B (en) * | 2017-02-21 | 2020-04-28 | 中国联合网络通信集团有限公司 | A message forwarding scheduling method and device |
| CN109309615B (en) * | 2017-07-27 | 2020-07-07 | 华为技术有限公司 | Method and device for transmitting data |
| CN109587692B (en) * | 2017-09-29 | 2022-08-30 | 中国石油天然气股份有限公司 | Oil well condition data acquisition method and device |
| CN109450980A (en) * | 2018-10-11 | 2019-03-08 | 东南大学 | Computing resource selection method based on delay requirement difference in wireless cloud computing system |
| CN109586780A (en) * | 2018-11-30 | 2019-04-05 | 四川安迪科技实业有限公司 | The method for preventing message from blocking in satellite network |
| CN109547357A (en) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | Transmission method, device, equipment and the medium of data information in a kind of storage system |
| CN110351195A (en) * | 2019-08-15 | 2019-10-18 | 赛尔网络有限公司 | A kind of method for controlling network congestion, device, equipment and medium |
| CN110995796A (en) * | 2019-11-20 | 2020-04-10 | 中国建设银行股份有限公司 | Data transmission method and device based on private line |
| CN113037640A (en) * | 2019-12-09 | 2021-06-25 | 华为技术有限公司 | Data forwarding method, data caching device and related equipment |
| CN112491620B (en) * | 2020-11-29 | 2022-11-01 | 中国航空工业集团公司洛阳电光设备研究所 | Multi-channel data transmission controller based on SRIO and adjusting method |
| CN112738642A (en) * | 2020-12-28 | 2021-04-30 | 广州赞赏信息科技有限公司 | Method for realizing multi-network card aggregation plug flow |
| CN113162871A (en) * | 2021-04-22 | 2021-07-23 | 成都华微电子科技有限公司 | Data transmission method, data transmission circuit and artificial intelligence chip |
| CN114050978B (en) * | 2021-11-11 | 2023-08-29 | 安徽电信规划设计有限责任公司 | Communication load big data adjusting method and system |
| CN115604196A (en) * | 2022-08-20 | 2023-01-13 | 西安翔腾微电子科技有限公司(Cn) | Fragmentation method based on ARINC664 protocol |
| CN116015943B (en) * | 2022-12-30 | 2024-03-12 | 电子科技大学 | A privacy protection method based on multi-level tunnel obfuscation |
| CN116192771B (en) * | 2023-02-09 | 2025-02-14 | 超越星途卫星网络技术(杭州)有限公司 | A priority queue management method and system |
| CN120653599A (en) * | 2024-03-13 | 2025-09-16 | 华为技术有限公司 | Data transmission chip, data transmission method and electronic equipment |
| CN118764451B (en) * | 2024-07-31 | 2025-09-23 | 苏州元脑智能科技有限公司 | Packet forwarding method, device, computer equipment and storage medium |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0372795A2 (en) * | 1988-12-06 | 1990-06-13 | AT&T Corp. | Bandwidth allocation and congestion control scheme for an integrated voice and data network |
| WO2001041397A1 (en) * | 1999-11-30 | 2001-06-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for packet delay reduction using scheduling and header compression |
| CN1336058A (en) * | 1998-12-10 | 2002-02-13 | 诺基亚网络有限公司 | System and method for pre-filtering low priority packets |
| US20020131413A1 (en) * | 2000-11-30 | 2002-09-19 | Shih-Chiang Tsao | Method and apparatus for scheduling for packet-switched networks |
| US6538989B1 (en) * | 1997-09-09 | 2003-03-25 | British Telecommunications Public Limited Company | Packet network |
-
2003
- 2003-04-09 CN CNB031100430A patent/CN1297097C/en not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0372795A2 (en) * | 1988-12-06 | 1990-06-13 | AT&T Corp. | Bandwidth allocation and congestion control scheme for an integrated voice and data network |
| US6538989B1 (en) * | 1997-09-09 | 2003-03-25 | British Telecommunications Public Limited Company | Packet network |
| CN1336058A (en) * | 1998-12-10 | 2002-02-13 | 诺基亚网络有限公司 | System and method for pre-filtering low priority packets |
| WO2001041397A1 (en) * | 1999-11-30 | 2001-06-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for packet delay reduction using scheduling and header compression |
| US20020131413A1 (en) * | 2000-11-30 | 2002-09-19 | Shih-Chiang Tsao | Method and apparatus for scheduling for packet-switched networks |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107222475A (en) * | 2017-05-26 | 2017-09-29 | 马鸣 | A kind of Data Transport Protocol method for wireless sensor network intelligent building conservation system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1536820A (en) | 2004-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1297097C (en) | Method for raising data transmission performance when the network is congested | |
| US10270696B2 (en) | Transmission of data packets of different priority levels using pre-emption | |
| US6577596B1 (en) | Method and apparatus for packet delay reduction using scheduling and header compression | |
| US10171369B2 (en) | Systems and methods for buffer management | |
| US6845105B1 (en) | Method and apparatus for maintaining sequence numbering in header compressed packets | |
| CN102971996B (en) | Switching node with the load balance of packet burst | |
| US7602809B2 (en) | Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability | |
| JP7329627B2 (en) | Packet processing method and related device | |
| US20040151184A1 (en) | Class-based rate control using multi-threshold leaky bucket | |
| JP2002016637A (en) | Packet scheduling device | |
| CN1520113A (en) | Method and apparatus for scheduling available link bandwidth between packet switched data streams | |
| CN1669344A (en) | Method and device for improving wireless communication service quality | |
| CN101267443A (en) | A data processing method and communication device | |
| CN1658575A (en) | Method for improving service quality in SGSN network processor | |
| CN101043438A (en) | System and method for transmitting data packet | |
| CN1705295A (en) | Packet transmission system having priority and method therefor | |
| CN113038530B (en) | High-efficiency transmission method for packet service of QoS guarantee of satellite mobile communication system | |
| EP1202531A1 (en) | Dynamic packet delay assignment for bandwidth optimization of packet flows | |
| CN101212467B (en) | MPLS network service scheduling method | |
| CN102904821B (en) | A kind of data transmission method, Apparatus and system | |
| US8184649B2 (en) | Method for transmitting data available in the form of data packets | |
| JP3972370B2 (en) | Differentiated scheduling method in downlink communication between RNC and Node B in network | |
| US7126912B2 (en) | Methods for sequencing datagram transmissions | |
| CN1625173A (en) | Optimization method of transmission control protocol in mobile communication system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070124 Termination date: 20160409 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |