CN102291389A - A satellite network congestion control method of cross-layer - Google Patents

A satellite network congestion control method of cross-layer Download PDF

Info

Publication number
CN102291389A
CN102291389A CN 201110197030 CN201110197030A CN102291389A CN 102291389 A CN102291389 A CN 102291389A CN 201110197030 CN201110197030 CN 201110197030 CN 201110197030 A CN201110197030 A CN 201110197030A CN 102291389 A CN102291389 A CN 102291389A
Authority
CN
Grant status
Application
Patent type
Application number
CN 201110197030
Other languages
Chinese (zh)
Inventor
刘林峰
叶晓国
吕康蒙
孙力娟
李鹏
王汝传
肖甫
邹志强
Original Assignee
南京邮电大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Abstract

卫星网络中跨层拥塞控制的设计方法是一种卫星网络中使用跨层设计增强TCP性能的解决方案。 Design of cross-layer satellite network congestion control is a satellite network using TCP performance enhancement cross-layer design solutions. 主要用于解决因卫星网络的高误码环境对TCP的影响,使得TCP能够及时地预测拥塞并能正确判断网络拥塞和误码造成的数据包丢失,属于卫星网络的拥塞控制领域。 Mainly used to address the impact of the satellite network error prone environment on TCP, so TCP timely and correctly predict congestion judgment errors caused by network congestion and packet loss, congestion control belongs to the field of satellite networks. 它应具有如下特征:本发明是使TCP层与链路层实现跨层交互,使得链路层中的队列状态能够传递给TCP层,使得TCP层能够根据队列的状态来判断链路的拥塞状况,从而采取相应的策略,最终达到提高TCP性能的效果。 It should have the following features: the present invention is that 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 determined according to the congestion condition of the link state of the queue in order to take the appropriate strategy, and ultimately achieve the effect of improving TCP performance.

Description

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

技术领域 FIELD

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

背景技术 Background technique

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

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

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

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

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

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

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

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

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

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

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

步骤3.收到的如果是ack包,将ack包数加1,并记录对端发此ack包时的时间, 步骤4.如果本ack包的序号大于上次记录的ack序号,表示是新的ack,将拥塞窗口加1,然后开始下一次传输,拥塞窗口随着传输次数按指数规律增长;当拥塞窗口增长到慢开始门限值时,就改为执行拥塞避免算法,拥塞窗口按线性规律增长, Step 3. If the received packet is ack, the ack packet number incremented by 1, and records the time when the peer this ack packet, step 4. If this ack packet sequence number is greater than the last recorded ack number, represents a new the ACK, the congestion window plus 1, then the first transmission, the transmission frequency and the congestion window as the start growing exponentially; congestion window when the slow start threshold to grow, it is to perform congestion avoidance algorithm, the congestion window linearly the law of growth,

步骤5.如果收到一个或两个重复的ack,只采用重传策略,即当计时器设置的重传时间到时还没有收到确认,就重传这一报文段, Step 5. If you receive a duplicate ACK or two, using only retransmission policy, i.e. when the retransmission timer is set to If we can not receive the acknowledgment, retransmits the segment,

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

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

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

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

y max-y IXiuti y max-y IXiuti

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

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

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

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

Qma — Qmdx Qma - Qmdx

分组和设置拥塞标志位;否则,直接丢弃到达的数据包,并将拥塞标志设置为拥塞。 And setting a congestion packet flag; otherwise, discards the packet arrived, and congested congestion flag is set.

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

附图说明 BRIEF DESCRIPTION

[0012] 图1是链路层收到数据包后的流程示意图。 [0012] FIG. 1 is a schematic flow diagram of the link layer receives data packets.

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

具体实施方式 detailed description

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

1.链路层的跨层设计方案 1. The cross-layer design of the link layer

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

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

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

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

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

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

当分组到达队列时,如果平均队列长度小于最小门限值gram ,分组安全进入队列;当伪vg大于最大门限值gmax ,丢弃所有到达报文;如果平均队列长度位于β·和之间,则按如下公式计算分组丢弃概率: When the packet arrives at the queue, if the average queue length is less than the minimum threshold Gram, secure entry packet queue; vg when the dummy is greater than the maximum threshold value Gmax, discards all incoming packets; if the average queue length and located between β ·, then It is calculated by the following formula packet drop probability:

Figure CN102291389AD00061

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

了使被标记的分组散布得更均勻,需对标记概率巧作修正以得到作为实际标记概率。 Packet is marked so that the spread more uniform, the need for marking probability skillfully been amended to give the actual marking probability.

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

,路由器输出链路的带宽是G报文到达速率是邓。 , The bandwidth of the outgoing 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 AW> Cf, part of the arrival of the packets need to go through waiting to be sent. 而如果这种状态持续下去,排队等待的报文就会逐渐增多,缓存区将很快被填满,最终溢出并导致报文丢弃。 If this condition continues, the queued messages will be gradually increased, the buffer will soon be filled, overflow and eventually lead to discards the packet. 为了保护瞬时突发流,报文到达速率按以下公式计算: In order to protect against transient burst stream, the packet arrival rate is calculated as follows:

Figure CN102291389AD00062

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

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

步骤1.在收到包的时候,判断平均队列长度Qavg的值,当小于RED预先设定的门限Qmin的时候,继续判断总的报文到达速率A,若总的报文速率A小于输出链路的带宽C,将分组放入队列,并将拥塞标志设置为非拥塞;否则,以概率P=1_C/A丢弃数据包和设置拥塞标志为拥塞。 Step 1. When the packet is received, determination Qavg average queue length value, 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 packet output rate for the A-chain channel bandwidth C, the packet into the queue, and the congestion flag set to non-congestion; otherwise, the probability P = 1_C / a dropped packet congestion flag is set and congestion.

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

链路的带宽C,调用函数计算概率P,以概率f Link Bandwidth C, calling function calculating the probability P, probability f

Figure CN102291389AD00063

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

Figure CN102291389AD00064

志设置为非拥塞;否则,P取1和α Chi non disposed congestion; otherwise, P 1 and takes α

Figure CN102291389AD00065

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

ymaz-ymin ymaz-ymin

弃数据包和设置拥塞标志位。 And setting a congestion packet discard flag.

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

A小于输出链路的带宽c,调用函数计算概率P,以概率+P腿 Output link bandwidth of A is less than c, calling the function calculating the probability P, + P probability leg

Figure CN102291389AD00066

丢弃分组和设置拥塞标志位;否则,直接丢弃到达的数据包,并将拥塞标志设置为拥塞。 And discarding the packet congestion flag is set; otherwise, discards the packet arrived, and congested congestion flag is set. [0021] 层的跨层设计方案 Cross-layer design [0021] layer

TCP拥塞控制是一种端到端的控制机制,该机制的目标是使网络处于高吞吐量、低延时的状态,尽量避免拥塞的发生。 TCP end to end congestion control is a control mechanism, the mechanism is that the target network is a high throughput, low latency state, to avoid congestion. 一旦网络发生拥塞,通过该机制可以将网络从拥塞中恢复过来,进入正常的工作状态。 Once the network congestion occurs, the network can be restored by this mechanism from the congestion 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 algorithm is required to maintain two variables for each connection: a congestion window cwnd, and a slow start threshold ssthresh. 拥塞避免算法步骤如下: Congestion avoidance algorithm steps 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 output can not exceed the size of the cwnd and the advertised window is received. 拥塞避免时发送方使用的流量控制。 When congestion avoidance flow control imposed by the sender.

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

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

[0025] 如果连续收到3个或以上的重复ack,就重传丢失的数据包文段,而无需等待超时定时器溢出。 [0025] If the received three or more consecutive repeat ACK, retransmits the lost data packet segment, without waiting for the timeout timer overflows. 步骤如下: Proceed as follows:

(1) 当收到第3个重复的ack时,将ssthresh设置为当前拥塞窗口cwnd的一半,重传丢失的报文段。 (1) When receiving the third duplicate ACK, the ssthresh is set to half the current congestion window cwnd, retransmission of lost segment.

[0026] (2) 每次收到另一个重复的ack时,cwnd增加1个报文段大小并发送一个1个分组。 [0026] (2) each time it receives another duplicate ack, cwnd increases a segment size and a transmission packet a.

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

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

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

[0029] 步骤2.判断收到的新包是否是上次连接的尸体包,如果是尸体分组,释放该分组内存并退出。 Whether the new packet [0029] Step 2. The judge received the corpse last connected 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 the received packet is ack, the ack packet number incremented by 1, and records the time when the peer This ack packet.

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

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

[0033] 步骤6.当收到三个或以上重复的ack时,如果链路层传来的拥塞标志显示为链路拥塞,即拥塞标志位为1时,调用快速重传策略,否则只采用重传策略。 [0033] Step 6. Upon receipt of three or more duplicate ACK, if the transmitted link layer congestion flag that is congested link, i.e. the congestion flag bit is 1, the fast retransmission policy call, or using only retransmission policy.

Claims (1)

  1. 1. 一种卫星网络中跨层拥塞控制设计方法,其特征在于实现传输层TCP与链路层的跨层设计,使TCP能够预测拥塞并能正确判断出误码和拥塞产生的丢包以及时地调整发送窗口,其中TCP层设计步骤如下:步骤1.当传输层收到一个新包时,对确认报文ack类型进行判断,如果不是ack包则退出,步骤2.判断收到的新包是否是上次连接的尸体包,如果是尸体分组,释放该分组内存并退出,步骤3.收到的如果是ack包,将ack包数加1,并记录对端发此ack包时的时间, 步骤4.如果本ack包的序号大于上次记录的ack序号,表示是新的ack,将拥塞窗口加1,然后开始下一次传输,拥塞窗口随着传输次数按指数规律增长;当拥塞窗口增长到慢开始门限值时,就改为执行拥塞避免算法,拥塞窗口按线性规律增长,步骤5.如果收到一个或两个重复的ack,只采用重传策略,即当计时器设置 A cross-layer satellite network congestion control design methods, characterized in that to realize the transport layer TCP link layer of cross-layer design, so that TCP congestion can be predicted and can correctly determine the packet loss and bit error generated when congestion and adjusting the transmission window, wherein the TCP layer is designed as follows: step 1. when the transmission layer receives a new packet, an acknowledgment packet type judgment ack, ack packet if not exit, step 2. receive a new packet is determined whether it is connected to the bodies of the last packet, if the packet bodies releasing the packet memory and exits, step 3. If the received packet is ack, the ack 1 plus the number of packets, and records the time when this remote end of the ack packet step 4. If this number is greater than the ack ack packet sequence number of the last record, the new representation is ack, the congestion window plus 1, then the first transmission, the transmission frequency and the congestion window as the start growing exponentially; when the congestion window growth to slow start threshold value, it is changed to perform congestion avoidance algorithm, the congestion window by growing linear law, step 5. If you receive a duplicate ACK or both, using only the retransmission policy, i.e. when the timer is set 的重传时间到时还没有收到确认,就重传这一报文段,步骤6.当收到三个或以上重复的ack时,如果链路层传来的拥塞标志显示为链路拥塞,即拥塞标志位为1时,调用快速重传策略,即源端不必等待RTO超时,立即重传丢失的数据包,同时将慢启动阈值设置为当前拥塞窗口大小的一半,并且将拥塞窗口减为原来的一半,否则只采用重传策略,链路层中实现跨层设计的步骤如下:步骤7.在收到数据包的时候,判断平均队列长度Qavg的值,当小于随机早期检测算法RED预先设定的门限Qmin的时候,继续判断总的报文到达速率A,若总的报文速率A小于输出链路的带宽C,将分组放入队列,并将拥塞标志设置为非拥塞;否则,以概率P=1_C/A丢弃数据包和设置拥塞标志为拥塞,步骤8. 当Qavg的值大于等于Qmin,并小于Qmax时,若总的报文速率A小于输出链路的带宽C,调用函数计 Retransmission time, had not received the acknowledgment, retransmits the segment, step 6. Upon receiving three or more duplicate ACK, if the transmitted link layer congestion link congestion flag that is , i.e., the congestion flag = 1, calling the fast retransmission policy, i.e., the source need not wait RTO expires, immediate retransmission of lost data packets, while the slow start as half of the current congestion window size threshold setting, and the congestion window Save by half, or using only retransmission policy, implemented in the link layer is the step of cross-layer design is as follows: step 7. when the packet is received, determination Qavg average queue length value, when less than RED algorithm random early detection Qmin threshold time set in advance, it continues to determine the total packet arrival rate a, if the total packet rate is less than the output link bandwidth of a C, the packet into the queue, and the congestion flag set to non-congestion; otherwise with probability P = 1_C / a dropped packet congestion flag is set and congestion, step 8. when the value of Qmin by Qavg is greater than or equal, and smaller than the quantity Qmax, if the total packet rate is less than the output link bandwidth of a C, call function meter 算概率P,以概率丢弃分组,并将拥塞标志设置为非拥塞;否则,P取i和K/β max-β 腿a+ f^qavs-q^)中较小值,然后以概率ρ丢弃数据包和设置拥塞标志位, ymax-ymm步骤9.当Qavg的值大于等于RED预先设定的门限Qmax的时候,若总的报文速率A小于输出链路的带宽C,调用函数计算概率P,以概率P= 丢弃Qimi — qm^k分组和设置拥塞标志位;否则,直接丢弃到达的数据包,并将拥塞标志设置为拥塞。 Probability P count, packet discard probability, and a non-congested congestion flag; otherwise, P i and taking K / β max-β leg a + f ^ qavs-q ^) value smaller, and to discard the data probability ρ and setting a congestion packet flag, 9. when Qavg value ymax-ymm step greater than or equal to Qmax RED threshold time set in advance, when the total traffic rate is less than the output link bandwidth of a C, calling function calculating the probability P, discard probability P = Qimi - qm ^ k, and setting a congestion packet flag; otherwise, discards the packet arrived, and congested congestion flag is set.
CN 201110197030 2011-07-14 2011-07-14 A satellite network congestion control method of cross-layer CN102291389A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110197030 CN102291389A (en) 2011-07-14 2011-07-14 A satellite network congestion control method of cross-layer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110197030 CN102291389A (en) 2011-07-14 2011-07-14 A satellite network congestion control method of cross-layer

Publications (1)

Publication Number Publication Date
CN102291389A true true CN102291389A (en) 2011-12-21

Family

ID=45337498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110197030 CN102291389A (en) 2011-07-14 2011-07-14 A satellite network congestion control method of cross-layer

Country Status (1)

Country Link
CN (1) CN102291389A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664867A (en) * 2012-03-15 2012-09-12 南京邮电大学 Method for enhancing transmission protocols in satellite communication system
WO2014141006A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Scalable flow and congestion control in a network
CN104092625A (en) * 2014-05-28 2014-10-08 中南大学 Adaptive request batch scheduling method used in DCN
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
WO2016065676A1 (en) * 2014-10-27 2016-05-06 北京华夏创新科技有限公司 Optimization method and system based on throughput rate and packet loss control cwnd
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9590923B2 (en) 2013-03-15 2017-03-07 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
CN107395522A (en) * 2017-08-25 2017-11-24 深圳市华讯方舟空间信息产业科技有限公司 Packet loss processing method based on TCP protocol, and computer readable storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854297A (en) * 2010-05-21 2010-10-06 南京邮电大学 Method for designing transmission control protocol (tcp) cross-layer in satellite network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854297A (en) * 2010-05-21 2010-10-06 南京邮电大学 Method for designing transmission control protocol (tcp) cross-layer in satellite network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
谢立峰等: "采用基于速率的缓存控制的CSFQ算法", 《浙江大学学报(工学版)》, vol. 38, no. 7, 31 July 2004 (2004-07-31), pages 851 - 855 *
高文宇等: "基于RED的带宽分配算法", 《计算机工程》, vol. 31, no. 19, 31 October 2005 (2005-10-31) *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664867B (en) * 2012-03-15 2014-11-19 南京邮电大学 Method for enhancing transmission protocols in satellite communication system
CN102664867A (en) * 2012-03-15 2012-09-12 南京邮电大学 Method for enhancing transmission protocols in satellite communication system
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9110866B2 (en) 2013-03-15 2015-08-18 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
GB2525832A (en) * 2013-03-15 2015-11-04 Ibm Scalable flow and congestion control in a network
US9614930B2 (en) 2013-03-15 2017-04-04 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
WO2014141006A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Scalable flow and congestion control in a network
US9503382B2 (en) 2013-03-15 2016-11-22 International Business Machines Corporation Scalable flow and cogestion control with openflow
GB2525832B (en) * 2013-03-15 2017-03-01 Ibm Scalable flow and congestion control in a network
US9590923B2 (en) 2013-03-15 2017-03-07 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
CN104092625B (en) * 2014-05-28 2017-07-18 中南大学 Dcn is an adaptive scheduling method for requesting a batch
CN104092625A (en) * 2014-05-28 2014-10-08 中南大学 Adaptive request batch scheduling method used in DCN
WO2016065676A1 (en) * 2014-10-27 2016-05-06 北京华夏创新科技有限公司 Optimization method and system based on throughput rate and packet loss control cwnd
CN107395522A (en) * 2017-08-25 2017-11-24 深圳市华讯方舟空间信息产业科技有限公司 Packet loss processing method based on TCP protocol, and computer readable storage medium

Similar Documents

Publication Publication Date Title
Barakat et al. On TCP performance in a heterogeneous network: a survey
Aggarwal et al. Understanding the performance of TCP pacing
US20090141631A1 (en) Voice adaptive gateway pacing methods and systems for wireless multi-hop networks
Wu et al. JTCP: Jitter-based TCP for heterogeneous wireless networks
US7512066B2 (en) Congestion control system
US6535482B1 (en) Congestion notification from router
US20060045008A1 (en) Queue-based active queue management process
Monks et al. Limitations of TCP-ELFN for ad hoc networks
US20060092836A1 (en) Intelligent congestion feedback apparatus and method
US7782758B2 (en) Efficient loss recovery architecture for loss-decoupled TCP
US6950393B1 (en) Method and apparatus for process flow random early discard in service aware networking systems
WO2004057817A2 (en) Protecting real-time data in wireless networks
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
EP1441288A2 (en) Reactive bandwidth control for streaming data
US20050041582A1 (en) Method of enhancing the efficiency of data flow in communication systems
Liu et al. Improving explicit congestion notification with the mark-front strategy
CN101494652A (en) Method for reinforcing TCP protocol performance in satellite communication system
US20120140621A1 (en) Incast Congestion Control in a Network
CN1414761A (en) Multi-priority buffer reliable transmission method in communication system
CN101056259A (en) A collaborative congestion control method for high-speed network
CN101895466A (en) Method for reducing influence of data packet disorder on SCTP multipath transmission
CN1556629A (en) Method for regulating congest window in communication network
CN101184052A (en) Congestion control method of implementing reliable UDP transmission
US20070014246A1 (en) Method and system for transparent TCP offload with per flow estimation of a far end transmit window
CN1842052A (en) Data transmission method for wireless link control layer

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)