Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberCN102291389 A
Publication typeApplication
Application numberCN 201110197030
Publication date21 Dec 2011
Filing date14 Jul 2011
Priority date14 Jul 2011
Publication number201110197030.2, CN 102291389 A, CN 102291389A, CN 201110197030, CN-A-102291389, CN102291389 A, CN102291389A, CN201110197030, CN201110197030.2
Inventors刘林峰, 叶晓国, 吕康蒙, 孙力娟, 李鹏, 王汝传, 肖甫, 邹志强
Applicant南京邮电大学
Export CitationBiBTeX, EndNote, RefMan
External Links: SIPO, Espacenet
一种卫星网络中跨层拥塞控制方法 A satellite network, cross-layer congestion control method translated from Chinese
CN 102291389 A
Abstract  translated from Chinese
卫星网络中跨层拥塞控制的设计方法是一种卫星网络中使用跨层设计增强TCP性能的解决方案。 Satellite network design approach cross-layer congestion control is a satellite network using TCP performance enhancing cross-layer design solutions. 主要用于解决因卫星网络的高误码环境对TCP的影响,使得TCP能够及时地预测拥塞并能正确判断网络拥塞和误码造成的数据包丢失,属于卫星网络的拥塞控制领域。 Mainly used to solve high error due to the impact of environmental satellite network TCP, so TCP congestion in a timely manner and be able to predict correctly judge the packet network congestion and error loss, belonging to the field of satellite network congestion control. 它应具有如下特征:本发明是使TCP层与链路层实现跨层交互,使得链路层中的队列状态能够传递给TCP层,使得TCP层能够根据队列的状态来判断链路的拥塞状况,从而采取相应的策略,最终达到提高TCP性能的效果。 It should have the following characteristics: the present invention is to make the TCP layer and the link layer cross-layer interaction, so that the queue status of the link layer can be passed to the TCP layer, so that the TCP layer can be judged according to the state of the queue congestion status of the link in order to take the appropriate strategy, and ultimately to improve TCP performance results.
Claims(1)  translated from Chinese
1. 一种卫星网络中跨层拥塞控制设计方法,其特征在于实现传输层TCP与链路层的跨层设计,使TCP能够预测拥塞并能正确判断出误码和拥塞产生的丢包以及时地调整发送窗口,其中TCP层设计步骤如下:步骤1.当传输层收到一个新包时,对确认报文ack类型进行判断,如果不是ack包则退出,步骤2.判断收到的新包是否是上次连接的尸体包,如果是尸体分组,释放该分组内存并退出,步骤3.收到的如果是ack包,将ack包数加1,并记录对端发此ack包时的时间, 步骤4.如果本ack包的序号大于上次记录的ack序号,表示是新的ack,将拥塞窗口加1,然后开始下一次传输,拥塞窗口随着传输次数按指数规律增长;当拥塞窗口增长到慢开始门限值时,就改为执行拥塞避免算法,拥塞窗口按线性规律增长,步骤5.如果收到一个或两个重复的ack,只采用重传策略,即当计时器设置的重传时间到时还没有收到确认,就重传这一报文段,步骤6.当收到三个或以上重复的ack时,如果链路层传来的拥塞标志显示为链路拥塞,即拥塞标志位为1时,调用快速重传策略,即源端不必等待RTO超时,立即重传丢失的数据包,同时将慢启动阈值设置为当前拥塞窗口大小的一半,并且将拥塞窗口减为原来的一半,否则只采用重传策略,链路层中实现跨层设计的步骤如下:步骤7.在收到数据包的时候,判断平均队列长度Qavg的值,当小于随机早期检测算法RED预先设定的门限Qmin的时候,继续判断总的报文到达速率A,若总的报文速率A小于输出链路的带宽C,将分组放入队列,并将拥塞标志设置为非拥塞;否则,以概率P=1_C/A丢弃数据包和设置拥塞标志为拥塞,步骤8. 当Qavg的值大于等于Qmin,并小于Qmax时,若总的报文速率A小于输出链路的带宽C,调用函数计算概率P,以概率丢弃分组,并将拥塞标志设置为非拥塞;否则,P取i和K/β max-β 腿a+ f^qavs-q^)中较小值,然后以概率ρ丢弃数据包和设置拥塞标志位, ymax-ymm步骤9.当Qavg的值大于等于RED预先设定的门限Qmax的时候,若总的报文速率A小于输出链路的带宽C,调用函数计算概率P,以概率P= 丢弃Qimi — qm^k分组和设置拥塞标志位;否则,直接丢弃到达的数据包,并将拥塞标志设置为拥塞。 A satellite network congestion control cross-layer design approach, characterized by achieving TCP transport layer and link layer of cross-layer design, the TCP congestion can be predicted and can correct the error and determine the packet loss and congestion generated when adjust the send window, where TCP layer design as follows: Step 1. When the transport layer receives a new packet type of acknowledgment message ack judgment, if not ack packets exit, Step 2. judge received a new package whether it is connected to the body of the last packet, the packet if it is the body of the release of the packet memory and exit, step 3. If it is received ack packet, plus an ack packets, and records made during the end of this time ack packets Step 4. If this number is greater than the ack ack packet sequence number of the last record, said the new ack, the congestion window by one, and then a transfer, as the congestion window exponentially increase the number of transfers under the start; when the congestion window Slow growth at the beginning of the threshold that would instead perform congestion avoidance algorithm, the congestion window by a linear growth law, step 5. If you receive one or two duplicate ack, using only retransmission strategy, that is, when the timer settings If we can not retransmit time to receive confirmation on the retransmission of this segment, Step 6. When you receive three or more duplicate ack, if the link layer congestion flag that is coming from the link congestion, That congestion flag is 1, the call fast retransmission strategy, that the source does not have to wait for RTO timeout immediately retransmit lost packets, while the slow start threshold to half of the current congestion window size, and the congestion window is reduced to half of the original, otherwise only use retransmission strategy, link layer cross-layer design implementation steps as follows: Step 7. At the time of receipt of the packet to determine the value of the average queue length Qavg, when less than a pre-RED Random Early Detection Algorithm Threshold Qmin time set by the judge to continue the total packet arrival rate A, if the total is less than the packet rate A C output link bandwidth, the packet queue and congestion flag set to non-congestion; otherwise, probability P = 1_C / A discarded packet and setting a congestion flag congestion Qavg Step 8. When the value of greater than or equal Qmin, and less than Qmax, if the total is less than the packet rate A C output link bandwidth, call the function calculate the probability P, the probability dropping packets, congestion and non-congestion flag is set; otherwise, P i take and K / β max-β leg a + f ^ qavs-q ^) the smaller value, and then drops the probability ρ package and setting a congestion flag when Qavg value ymax-ymm Step 9. greater than or equal threshold Qmax RED preset time, if the total is less than the packet rate A C output link bandwidth, call the function to calculate the probability P, probability P = discard Qimi - qm ^ k grouping and setting a congestion flag; otherwise discarded packets arrive and congestion flag is set to congestion.
Description  translated from Chinese

一种卫星网络中跨层拥塞控制方法 A satellite network, cross-layer congestion control method

技术领域 FIELD

[0001] 本发明是一种面向卫星网络中传输层协议的性能解决方案。 [0001] The present invention is a transport layer protocol for satellite network performance solutions. 主要用于提高TCP协议在卫星网络中的性能,属于卫星网络传输层拥塞控制的技术领域。 Mainly used to improve the performance of TCP in satellite networks, belongs to the field of satellite network transport layer congestion control.

背景技术 BACKGROUND

[0002] 随着hternet的普及,Internet上用户和应用的数量都在迅速增长,当多个用户对网络的需求总量大于网络实际传输能力时,必然会导致网络拥塞的发生。 [0002] As hternet popularity, Internet on the number of users and applications are growing rapidly, while the total demand for multiple users on the network is greater than the actual network transmission capacity, will inevitably lead to network congestion. 虽然拥塞源于资源短缺,但增加资源并不能避免拥塞的发生,有时甚至会加重拥塞程度。 Although congestion due to the shortage of resources, but additional resources and can not avoid the occurrence of congestion, sometimes aggravate congestion. 例如,增加网关缓存表面上看可以防止或缓解由于拥塞引起的分组丢弃,但随着缓存的增加,端到端的时延也相应增大。 For example, increasing the gateway cache surface may prevent or alleviate the cause of packet discard due to congestion, but with the increase in the cache, end to end delay will also increase accordingly. 因为分组的持续时间是有限的,超时的分组同样需要重传。 Because the duration of the packet is limited, the same timeout packet needs to be retransmitted. 因此,过大的缓存空间有可能使总延迟超过端系统重传时钟的值从而导致分组重传。 So, too large cache space is likely that the total value of the clock delay exceeds end system causing retransmission packet retransmission. 这些分组白白浪费了网络的可用带宽,反而加重了拥塞。 These groups have wasted a lot of the available bandwidth of the network, but increased congestion.

[0003] 目前互联网上使用的拥塞控制机制基本上都是TCP拥塞控制机制,它是一种基于端系统的控制机制。 [0003] The present congestion control mechanism used on the Internet are basically TCP congestion control mechanism, which is a control mechanism for end system. 在^ternet发展初期,主要是通过TCP协议中端到端基于滑动窗口的流量控制完成的,TCP的流量算法中也逐步增加了慢启动、拥塞避免、快速重传与快速恢复等算法,以期对网络流量进行控制。 ^ Ternet in early stages of development, mainly through the end TCP protocol based on sliding window flow control is completed, TCP flow algorithm gradually increases slow start, congestion avoidance, fast retransmit and fast recovery algorithms, in order to network traffic control. 随着应用需求的丰富和技术的发展,研究者开始认识到想完全依赖实现在终端系统上的策略与算法很难满足越来越多的复杂应用需求。 With the development of rich applications and technologies, researchers began to realize that want to completely rely on the terminal system to achieve strategies and algorithms more and more difficult to meet the needs of complex applications. 于是,人们把注意力转向网络中的路由器等中间节点设备,期望通过增强它们的功能来实现主机终端无法达到的目标。 So, people turned their attention to the intermediate nodes in the network devices such as routers, expect to enhance their capabilities to achieve the host terminal can not achieve. 就拥塞控制而言,网络中间节点有可能更及时,甚至提前准确了解网络的拥塞状态,并依此实施有效的资源管理策略,使网络能有效地避免拥塞,或尽早从严重的拥塞状态中恢复过来。 On congestion control, the network may be more timely intermediate nodes, or even ahead of an accurate understanding of the congestion status of the network, and so the implementation of effective resource management strategies, the network can effectively avoid congestion, or as soon as possible to recover from severe congestion state come up.

[0004] 目前在网络节点中使用的拥塞控制机制主要有两类:队列管理和队列调度,其中队列管理又可分为被动队列管理(Passive Queue Management, PQM)和主动队列管理(Active Queue Management,AQM)。 [0004] The present congestion control mechanism used in the network nodes are mainly two types: queue management and queue scheduling, queue management which can be divided into passive queue management (Passive Queue Management, PQM) and AQM (Active Queue Management, AQM). 传统的路由器采用被动队列算法中最为典型的“去尾(Drop-Tail)”管理策略,当分组到达时,如果缓冲队列己满,路由器则丢弃该分组。 Traditional routers passive queue algorithm most typical "to the end (Drop-Tail)" management strategy, when a packet arrives, if the buffer queue is already full, the router discards the packet. “去尾” 策略虽然简单,但很容易产生持续的满队列状态,甚至导致业务流对缓存的死锁和业务流的全局同步。 "Go tail" strategy is simple, but it is easy to produce sustained full queue status, and even lead to traffic on the global deadlock and traffic cache synchronization. Floyd于1993年提出了著名的随机早期检测(Random Early Detection, RED) 算法,有效地改进了路由器上的“去尾”算法,同时也成为路由器设计的唯一候选算法。 Floyd made famous in the 1993 Random Early Detection (Random Early Detection, RED) algorithm effectively improve the "de-tail" algorithm on the router, and also became the only candidate algorithms router design. RED 算法的有效性虽然经过了一些实践的验证,但是依旧存在一些缺陷,如公平性和稳定性问题,而且其算法的性能敏感于参数的选择等。 Although the effectiveness of the RED algorithm is validated through some practice, but it still has some shortcomings, such as fairness and stability, and its performance of the algorithm is sensitive to the selection of parameters and so on. 针对RED算法存在的这些问题,国内外的众多学者对其进行了大量的研究,并出现了许多比较优秀的派生算法,其中比较典型的有BLUE、 REM、Stabilized-RED, Active RED、以及GREEN等,尽管这些算法相比较RED算法有了一些改进,但是将他们直接应用在卫星网络中来进行拥塞控制,仍有很多不足。 RED algorithm for the existence of these problems, many scholars at home and abroad a lot of research was carried out, and there were many more good derived algorithms, which typically has a BLUE, REM, Stabilized-RED, Active RED, GREEN, and so on Although these algorithms compared to RED algorithm has some improvements, but will they be applied directly to the satellite network congestion control, there are still many deficiencies.

[0005] 因此,针对卫星网络的动态性和高误码率、大传播时延、带宽不对称等特点,需要结合跨层资源优化的思想,设计一种灵活的拥塞控制机制使得TCP层能够根据网络实时状况准确地预测拥塞并能区分出误码与拥塞造成的丢包,从而采取相应的拥塞调整策略,保证网络资源的利用率,提高卫星网络中TCP的传输性能。 [0005] Thus, for the dynamic and high error rate satellite networks, large propagation delay, bandwidth asymmetry, etc., requires a combination of cross-layer resource optimization ideas to design a flexible congestion control mechanism makes the TCP layer can be based on real-time network status accurately predict congestion and packet loss can distinguish errors and congestion caused by congestion in order to take the appropriate adjustment strategy to ensure the utilization of network resources, improving satellite network TCP transmission performance. 发明内容 SUMMARY

[0006] 技术问题:本发明的目的是提供一种卫星网络中结合跨层设计的拥塞控制方法, 解决卫星网络中TCP不能准确地预测拥塞和判断网络拥塞和误码造成的数据包丢失,从而提高卫星网络中TCP协议的性能。 [0006] Technical Problem: The purpose of the present invention is to provide a satellite network congestion control method combines cross-layer design to solve the packet satellite network TCP can not accurately predict congestion and error to determine the network congestion and loss, thereby improve the performance of the satellite network TCP protocol.

[0007] 技术方案:本方法是一种策略性的方法,基于卫星网络的环境,通过跨层设计的方法和策略,结合链路层协议,改进TCP的拥塞控制算法,使其减少因链路传输出错丢包而导致TCP发送窗口缩减、吞吐量降低。 [0007] Technical Solution: This method is a strategic approach, based on the satellite network environment, through the cross-layer design methods and strategies, combined with link layer protocol, TCP's congestion control algorithm improvements to reduce the link transmission errors resulting in loss reduction TCP send window, throughput decreases.

[0008] 目前的协议栈机制是某一层协议通过下面层所提供的服务,转而向更高层提供服务,但这种方式存在很多的缺点。 [0008] At present, the mechanism of the protocol stack is a layer protocols and services provided by the underlying layer, turned to a higher level of service, but there are many disadvantages of this approach. 在TCP层,无线信道中的信息拥塞所产生的错误将导致IP 包的丢失,致使比特率降低。 Error in the TCP layer, in the wireless channel congestion information generated will result in the loss of the IP packet, resulting in a bit rate reduction. 在丢失事件发生后将花费很长的时间去修复,尤其是大量信息丢失后可能导致TCP的中断。 After the loss in the event it takes a long time to repair, especially after the interruption could cause TCP's a lot of information is lost. 此时系统将耗费几个往返时间(RTT)才能恢复到中断事件发生前的水平。 The system will take several round-trip time (RTT) to recover to the level before the interrupt occurred. 为了解决这些问题,提出了一种TCP层跨层设计的方法,使其与链路层之间传递特定的信息,从而与卫星通信环境相适应,从而使系统能够满足各种业务的需求。 In order to solve these problems, a method of cross-layer design of the TCP layer, so that it passes between the link layer specific information, so that the satellite communication environment to adapt, thus enabling the system to meet the needs of various services.

[0009] 本方法实现的是链路层与TCP层的跨层设计,链路层中使用报文速率和RED相结合的队列管理方法,将实时的队列状态传递给TCP层,TCP层通过接收的信息调整拥塞控制策略。 [0009] The method is implemented in the link layer and the TCP layer of cross-layer design, the link layer queue management methods used in packet rate and RED combining real-time queue status will be passed to the TCP layer, TCP layer by receiving Information adjust congestion control strategy.

[0010] 卫星网络中跨层拥塞控制设计方法实现传输层TCP与链路层的跨层设计,使TCP 能够预测拥塞并能正确判断出误码和拥塞产生的丢包以及时地调整发送窗口,其中TCP层设计步骤如下: [0010] satellite network congestion control cross-layer design approach to achieve TCP transport layer and link layer of cross-layer design, the TCP congestion can be predicted and can correctly determine the packet loss and congestion generated error and when to adjust the send window, TCP layer design which follows:

步骤1.当传输层收到一个新包时,对确认报文ack类型进行判断,如果不是ack包则退出, Step 1. When the transport layer receives a new packet, the packet ack to confirm the type of judgment, if not ack packets exit,

步骤2.判断收到的新包是否是上次连接的尸体包,如果是尸体分组,释放该分组内存并退出, Step 2. determine whether the new packet is received by the bodies of the last connection package, if it is the body of the packet, the release of the packet memory and exit,

步骤3.收到的如果是ack包,将ack包数加1,并记录对端发此ack包时的时间, 步骤4.如果本ack包的序号大于上次记录的ack序号,表示是新的ack,将拥塞窗口加1,然后开始下一次传输,拥塞窗口随着传输次数按指数规律增长;当拥塞窗口增长到慢开始门限值时,就改为执行拥塞避免算法,拥塞窗口按线性规律增长, Step 3. If you receive a package ack, ack package will add a number, and record the time the peer this ack packet, the step 4. If the packet is larger than the number of the ack ack last record number, indicating that the new The ack, the congestion window by one, and then a transfer, as the congestion window exponentially increase the number of transfers under the start; when the congestion window is increased to slow start threshold value, then to perform congestion avoidance algorithm, the congestion window linearly law of growth,

步骤5.如果收到一个或两个重复的ack,只采用重传策略,即当计时器设置的重传时间到时还没有收到确认,就重传这一报文段, Step 5. If you receive one or two duplicate ack, using only retransmission strategy, that is, when the retransmission timer is set to, had not received confirmation on the retransmission of this segment,

步骤6.当收到三个或以上重复的ack时,如果链路层传来的拥塞标志显示为链路拥塞,即拥塞标志位为1时,调用快速重传策略,即源端不必等待RTO超时,立即重传丢失的数据包,同时将慢启动阈值设置为当前拥塞窗口大小的一半,并且将拥塞窗口减为原来的一半,否则只采用重传策略, Step 6. When you receive three or more duplicate ack, if the link layer congestion flag that is coming from the link congestion, ie congestion flag is 1, the call fast retransmission strategy, that the source does not have to wait for the RTO timeout immediately retransmit lost packets, while the slow start to set the threshold for half the current congestion window size, and the congestion window is reduced to half of the original, otherwise only use retransmission strategy,

链路层中实现跨层设计的步骤如下: Step link layer cross-layer design is as follows:

步骤7.在收到数据包的时候,判断平均队列长度Qavg的值,当小于随机早期检测算法RED预先设定的门限Qmin的时候,继续判断总的报文到达速率A,若总的报文速率A小于输出链路的带宽C,将分组放入队列,并将拥塞标志设置为非拥塞;否则,以概率P=1_C/A丢弃数据包和设置拥塞标志为拥塞, Step 7. At the time of receipt of the packet to determine the value of the average queue length Qavg, when the time is less than the threshold Qmin Random Early Detection RED preset continue to determine the total packet arrival rate A, if the total packet A rate of less than C output link bandwidth, the packet queue, and a non-congested congestion flag is set; otherwise, the probability P = 1_C / A discarded packet and setting a congestion flag congestion,

步骤8. 当Qavg的值大于等于Qmin,并小于Qmax时,若总的报文速率A小于输出链路的带宽C,调用函数计算概率P,以概率 Step 8. When the value is greater than or equal Qavg Qmin, and less than Qmax, if the total is less than the bandwidth, packet rate A C output link, call a function to calculate the probability P, the probability

^(g^g-grxm)丢弃分组,并将拥塞标志设置为非拥塞;否则,P取i和K/ ^ (G ^ g-grxm) dropping packets, congestion and non-congestion flag is set; otherwise, P i take and K /

y max-y IXiuti y max-y IXiuti

A+ f4QaVg:Qmm)中较小值,然后以概率P丢弃数据包和设置拥塞标志位, Q max — Q mm A + f4QaVg: Qmm) the smaller the value, then the probability P dropped packets and congestion flag is set, Q max - Q mm

步骤9.当Qavg的值大于等于RED预先设定的门限Qmax的时候,若总的报文速率A小 Step 9. When Qavg value greater than or equal RED preset threshold Qmax time, if the total of A small packet rate

„ ^ ^ v (Oav^ — Dmax) ^ "^ ^ V (Oav ^ - Dmax) ^

于输出链路的带宽C,调用函数计算概率P,以概率P= 丢弃 C output link bandwidth, and call a function to calculate the probability P, with probability P = discard

Qma — Qmdx Qma - Qmdx

分组和设置拥塞标志位;否则,直接丢弃到达的数据包,并将拥塞标志设置为拥塞。 Grouping and setting a congestion flag; otherwise discarded packets arrive and congestion flag is set to congestion.

[0011] 有益效果:本方法基于跨层设计,将链路层的队列状态信息传递给TCP层,使得TCP层在收到重复ack的时候能够根据链路层的队列状态信息判断出链路的拥塞状况,使得TCP能够及时地预测拥塞并能正确判断出网络拥塞和误码造成的数据包丢失,提高了通信链路的吞吐率和带宽利用率。 [0011] beneficial effects: This method is based on cross-layer design, the queue status information to the link layer of the TCP layer, making the TCP layer receive duplicate ack when the queue status can be judged according to the link layer information links congestion, making timely predict TCP congestion and can correctly determine the packet network congestion and error loss, improves throughput and bandwidth utilization of the communication link.

附图说明 Brief Description

[0012] 图1是链路层收到数据包后的流程示意图。 [0012] Figure 1 is a schematic flow diagram of the link layer packet is received after.

[0013] 图2是TCP层收到数据包后的流程示意图。 [0013] FIG. 2 is a schematic flow diagram of the TCP layer receives packets after.

具体实施方式 DETAILED DESCRIPTION

[0014] 方法流程: [0014] The method of the process:

1.链路层的跨层设计方案 Cross-layer design scheme 1. Link Layer

传统的队列管理采用尾丢弃算法,容易造成全局同步和缓冲区易被填满等问题。 The traditional tail drop queue management algorithms, likely to cause global synchronization and buffer easily fill other issues. RED拥塞控制机制的基本思想是通过监控路由器输出端口队列的平均长度来探测拥塞,一旦发现拥塞逼近,就随机地选择连接来通知拥塞,使他们在队列溢出导致丢包之前减小拥塞窗口, 降低发送数据速度,从而缓解网络拥塞。 The basic idea of RED congestion control mechanisms is by monitoring the output port router average queue length to detect congestion, approaching congestion once found, will randomly select a connection to notify congestion, enabling them to reduce the congestion window in the queue overflow before packet loss, reduced sending data rate, thereby alleviating network congestion. 由于RED是基于FIFO队列调度策略的,并且只是丢弃正进入路由器的数据包,因此其实施起来也较为简单。 Because RED is based on the FIFO queue scheduling, and just discard the packet entering the router, so it is relatively simple to implement. RED算法主要包括两个部分:计算平均队列长度和计算丢弃包的概率。 RED algorithm consists of two parts: the calculation of the average queue length and calculate the probability dropped packets.

[0015] (1)平均队列长度的计算 Computing [0015] (1) the average queue length

= (1 — Wi ) χ Qavgt + x qmr = (1 - Wi) χ Qavgt + x qmr

其中Swgi表示ι时刻的平均队列长度,qmr表示当前队列长度,Wf表示平均队列长度 Which represents the average queue length ι Swgi moment, qmr represents the current queue length, Wf represents the average queue length

的权重值、的大小决定了RED对输入数据流变化的敏感程度,O ^% Sl。 The weight value determines the size of the input data stream changes RED sensitivity, O ^% Sl.

[0016] (2)丢包概率的计算 [0016] Computing (2) the probability of loss

当分组到达队列时,如果平均队列长度小于最小门限值gram ,分组安全进入队列;当伪vg大于最大门限值gmax ,丢弃所有到达报文;如果平均队列长度位于β和之间,则按如下公式计算分组丢弃概率: When a packet arrives in the queue, if the average queue length is less than the minimum threshold gram, grouping safe access to the queue; when pseudo vg than the maximum threshold gmax, discard all incoming messages; if the average queue length and located between β , then grouped according to the following formula to calculate the drop probability:

Figure CN102291389AD00061

其中,I为最大丢弃概率,《,_是连续成功传输的分组数。 Where, I is the maximum drop probability, ", _ is the number of consecutive successful packet transmission. 在算法的实际实现中,为 In an actual implementation of the algorithm, for

了使被标记的分组散布得更均勻,需对标记概率巧作修正以得到作为实际标记概率。 The packet is marked so that more evenly spread, the need for marking probability clever as modified to obtain the probability of an actual mark.

[0017] 假设有/7个数据流经过同一个路由器,其中流i在ί时刻到达路由器的速率是 [0017] Suppose there / 7 data streams through the same router, which stream i at ί time arrival rate of the router is

,路由器输出链路的带宽是G报文到达速率是邓。 Bandwidth output link is G router packet arrival rate is Deng. 如果则所有到 If all the

达的报文无需等待,立即被发送出去;反之,如果AW> Cf ,部分到达的被报文就需要经过排队等待,才能发送出去。 Up packets without waiting to be sent out immediately; on the contrary, if the AW> Cf, part arriving packets are queued on the need to go through in order to send out. 而如果这种状态持续下去,排队等待的报文就会逐渐增多,缓存区将很快被填满,最终溢出并导致报文丢弃。 If this condition continues, the queued messages will be gradually increased, the buffer will be filled soon, eventually overflow and cause packets are discarded. 为了保护瞬时突发流,报文到达速率按以下公式计算: In order to protect the instantaneous burst stream, packet arrival rate is calculated according to the following formula:

Figure CN102291389AD00062

其中,r为采样间隔,/为数据流i在T时间内到达的数据包的个数,)和.%( — T)分别为流i当前时刻和前一时刻的数据包到达速率,f为控制参数。 Wherein, r is the sampling interval, / i is the number of data streams arriving at the T time packets, ) and% ( -. T) are the packet arrival rate stream i current time and the previous time , f is the control parameter.

[0018] 本方法是通过监视路由器输入端口的平均队列长度和报文到达速率来探测链路的拥塞状况,然后将链路的拥塞状况传递给TCP层,从而使得TCP层能够在丢包产生时判断是由误码还是拥塞引起的,以及时地对发送窗口作出调整,进而提高TCP的吞吐率。 [0018] In this method, an input port of a router by monitoring the average queue length and the packet arrival rate to detect the congestion status of the link, then the link congestion status is passed to the TCP layer, so that the packet loss generated in the TCP layer can be Analyzing is caused by the error or congestion, and to adjust the transmission time window, and to improve TCP throughput. 基于跨层设计的链路层队列控制包括以下步骤: Based on cross-layer design of queue control link layer comprises the following steps:

步骤1.在收到包的时候,判断平均队列长度Qavg的值,当小于RED预先设定的门限Qmin的时候,继续判断总的报文到达速率A,若总的报文速率A小于输出链路的带宽C,将分组放入队列,并将拥塞标志设置为非拥塞;否则,以概率P=1_C/A丢弃数据包和设置拥塞标志为拥塞。 Step 1. When you receive the package, when the value judgment Qavg average queue length, when the time is less than the threshold Qmin RED preset continue to determine the total packet arrival rate A, if the total is less than the output packet rate A chain Road bandwidth C, the packet queue, and a non-congested congestion flag is set; otherwise, the probability P = 1_C / A discarded packet and setting a congestion flag congestion.

[0019] 步骤2.当Qavg的值大于等于Qmin,并小于Qmax时,若总的报文速率A小于输出 [0019] Step 2. When the value of greater than or equal Qavg Qmin, and less than Qmax, if the total is less than the output packet rate A

链路的带宽C,调用函数计算概率P,以概率f C link bandwidth, call the function to calculate the probability P, the probability f

Figure CN102291389AD00063

丢弃分组,并将拥塞标 Discard the packet and marked congestion

Figure CN102291389AD00064

志设置为非拥塞;否则,P取1和α Chi set to non-congestion; otherwise, P 1 and α take

Figure CN102291389AD00065

中较小值,然后以概率ρ丢 The smaller the value, and then lost with probability ρ

ymaz-ymin ymaz-ymin

弃数据包和设置拥塞标志位。 Discard the packet and setting a congestion flag.

[0020] 步骤3.当Qavg的值大于等于RED预先设定的门限Qmax的时候,若总的报文速率 [0020] Step 3. When the value of greater than or equal RED Qavg preset threshold Qmax time, if the total packet rate

A小于输出链路的带宽c,调用函数计算概率P,以概率+P腿 A less than c output link bandwidth, call the function to calculate the probability P, + P probability leg

Figure CN102291389AD00066

丢弃分组和设置拥塞标志位;否则,直接丢弃到达的数据包,并将拥塞标志设置为拥塞。 Discard the packet and setting a congestion flag; otherwise discarded packets arrive and congestion flag is set to congestion. [0021] 层的跨层设计方案 Cross-layer design scheme [0021] layer

TCP拥塞控制是一种端到端的控制机制,该机制的目标是使网络处于高吞吐量、低延时的状态,尽量避免拥塞的发生。 TCP congestion control is an end-to-control mechanism, the goal of this mechanism is to make the network in a high-throughput, low-latency state, to avoid congestion. 一旦网络发生拥塞,通过该机制可以将网络从拥塞中恢复过来,进入正常的工作状态。 Once the network is congested, the mechanism by which you can recover from congestion in the network over into the normal working condition. TCP拥塞控制通常可分为慢启动、拥塞避免、快速重传和快速恢复四个阶段。 TCP congestion control is usually divided into slow start, congestion avoidance, fast retransmit and fast recovery of four stages. 拥塞避免算法需要对每个连接维持两个变量:一个拥塞窗口cwnd和一个慢启动阀值ssthresh。 Congestion avoidance algorithms need to maintain two variables for each connection: a congestion window cwnd, and a slow start threshold ssthresh. 拥塞避免算法步骤如下: Congestion avoidance algorithm steps are as follows:

(1) 对一个给定的连接,初始化cwnd为1个报文段,ssthresh为65535个字节。 (1) For a given connection, initializing cwnd to one segment, ssthresh to 65535 bytes.

[0022] (2) TCP的输出不能超过cwnd和接收通告窗口的大小。 [0022] (2) TCP's output can not exceed the size of cwnd and the receiver's advertised window. 拥塞避免时发送方使用的流量控制。 When congestion avoidance sender uses flow control.

[0023] (3) 当拥塞发生时,ssthresh被设置为当前窗口大小的一半。 [0023] (3) When congestion occurs, ssthresh is set to half the current window size. 此外,如果是超时重传,则cwnd被设置为1个报文段。 In addition, if a retransmission timeout, the cwnd is set to one segment.

[0024] (4) 当新的数据被对方确认时,就增加cwnd,但增加的方法依赖于是否正在进行慢启动或拥塞避免。 [0024] (4) When a new data confirm each other, we increase cwnd, but the increase is dependent on whether the method being slow start or congestion avoidance. 如果cwnd小于或等于ssthresh,则正在进行慢启动,否则正在进行拥塞避免。 If cwnd is less than or equal to ssthresh, the ongoing slow start, congestion avoidance being otherwise.

[0025] 如果连续收到3个或以上的重复ack,就重传丢失的数据包文段,而无需等待超时定时器溢出。 [0025] If the continuous receive three or more duplicate ack, to retransmit lost packets segment, without waiting for the timer overflow. 步骤如下: Proceed as follows:

(1) 当收到第3个重复的ack时,将ssthresh设置为当前拥塞窗口cwnd的一半,重传丢失的报文段。 (1) Upon receipt of the first three duplicate ack, the ssthresh is set to half of the current congestion window cwnd and retransmit the missing segment.

[0026] (2) 每次收到另一个重复的ack时,cwnd增加1个报文段大小并发送一个1个分组。 [0026] (2) Each time you receive another duplicate ack, cwnd increase the size of a packet and sends a segment a packet.

[0027] (3) 当下一个确认新数据的ack到达时,设置cwnd为ssthresh,这个ack应该是在进行重传后的一个往返时间内对步骤1中重传的确认。 [0027] (3) present an acknowledgment ack new data arrives, set cwnd to ssthresh, the ack should be confirmed in step 1 retransmitted during a round-trip time after the retransmission. 另外,这个ack也应该是对丢失的分组和收到的第一个重复的ack之间的所有中间报文段的确认。 In addition, the ack should be confirmed in the middle of all reported missing packets and received a duplicate ack between the text segment.

[0028] 从上面可以看出,传统的TCP设计在收到三个重复ack的时候,不能正确判断出丢包是由误码还是拥塞引起的,因此直接降低拥塞窗口,使得整体的链路利用率降低,下面是通过跨层设计的TCP拥塞控制方法,包括以下步骤: [0028] As can be seen from the above, the traditional TCP design in three duplicate ack when received, can not correctly determine the packet loss is caused by congestion or error, thereby directly decreasing the congestion window, making the overall link utilization rate decreased below the TCP congestion control method through cross-layer design, including the following steps:

步骤1.当传输层收到一个新包时,对ack包类型进行判断,如果不是ack包则退出。 Step 1. When the transport layer receives a new package of ack packet type judgment, if not ack packets exit.

[0029] 步骤2.判断收到的新包是否是上次连接的尸体包,如果是尸体分组,释放该分组内存并退出。 Whether the new package [0029] Step 2. The judge received the bodies of the last connection of the package, if it is the body of the packet, the release of the packet memory and exit.

[0030] 步骤3.收到的如果是ack包,将ack包数加1,并记录对端发此ack包时的时间。 [0030] Step 3. If you receive a package ack, ack package will add a number, and record the time the peer this ack packets.

[0031] 步骤4.如果本ack包的序号大于上次记录的ack序号,表示是新的ack,调整拥塞窗口。 [0031] Step 4. If this number is greater than the ack ack packet sequence number of the last record, said the new ack, adjust the congestion window.

[0032] 步骤5.如果收到一个或两个重复的ack,只采用重传策略。 [0032] Step 5. If you receive one or two duplicate ack, using only retransmission strategy.

[0033] 步骤6.当收到三个或以上重复的ack时,如果链路层传来的拥塞标志显示为链路拥塞,即拥塞标志位为1时,调用快速重传策略,否则只采用重传策略。 [0033] Step 6. When you receive three or more duplicate ack, if the link layer congestion flag that is coming from the link congestion, ie congestion flag is 1:00, call fast retransmission strategy, otherwise use only retransmission strategy.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
CN101854297A *21 May 20106 Oct 2010南京邮电大学Method for designing transmission control protocol (tcp) cross-layer in satellite network
Non-Patent Citations
Reference
1 *谢立峰等: "采用基于速率的缓存控制的CSFQ算法", 《浙江大学学报(工学版)》, vol. 38, no. 7, 31 July 2004 (2004-07-31), pages 851 - 855
2 *高文宇等: "基于RED的带宽分配算法", 《计算机工程》, vol. 31, no. 19, 31 October 2005 (2005-10-31)
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
CN102664867A *15 Mar 201212 Sep 2012南京邮电大学Method for enhancing transmission protocols in satellite communication system
CN102664867B *15 Mar 201219 Nov 2014南京邮电大学Method for enhancing transmission protocols in satellite communication system
CN104092625A *9 Jun 20148 Oct 2014中南大学Adaptive request batch scheduling method used in DCN
CN104092625B *9 Jun 201418 Jul 2017中南大学一种用于dcn中的自适应请求分批调度方法
US910464315 Mar 201311 Aug 2015International Business Machines CorporationOpenFlow controller master-slave initialization protocol
US911086630 Sep 201418 Aug 2015International Business Machines CorporationOpenFlow controller master-slave initialization protocol
US911898415 Mar 201325 Aug 2015International Business Machines CorporationControl plane for integrated switch wavelength division multiplexing
US940756015 Mar 20132 Aug 2016International Business Machines CorporationSoftware defined network-based load balancing for physical and virtual networks
US944474815 Mar 201313 Sep 2016International Business Machines CorporationScalable flow and congestion control with OpenFlow
US950338230 Sep 201422 Nov 2016International Business Machines CorporationScalable flow and cogestion control with openflow
US959092330 Sep 20147 Mar 2017International Business Machines CorporationReliable link layer for control links between network controllers and switches
US959619215 Mar 201314 Mar 2017International Business Machines CorporationReliable link layer for control links between network controllers and switches
US960908615 Mar 201328 Mar 2017International Business Machines CorporationVirtual machine mobility using OpenFlow
US961493030 Sep 20144 Apr 2017International Business Machines CorporationVirtual machine mobility using OpenFlow
US976907415 Mar 201319 Sep 2017International Business Machines CorporationNetwork per-flow rate limiting
WO2014141006A1 *5 Mar 201418 Sep 2014International Business Machines CorporationScalable flow and congestion control in a network
WO2016065676A1 *19 Nov 20146 May 2016北京华夏创新科技有限公司Optimization method and system based on throughput rate and packet loss control cwnd
Classifications
International ClassificationH04L12/753, H04L29/06
Legal Events
DateCodeEventDescription
21 Dec 2011C06Publication
8 Feb 2012C10Entry into substantive examination
11 Jun 2014C02Deemed withdrawal of patent application after publication (patent law 2001)