CN106559350A - 一种跨层拥塞控制方法及相关设备与系统 - Google Patents
一种跨层拥塞控制方法及相关设备与系统 Download PDFInfo
- Publication number
- CN106559350A CN106559350A CN201510642962.1A CN201510642962A CN106559350A CN 106559350 A CN106559350 A CN 106559350A CN 201510642962 A CN201510642962 A CN 201510642962A CN 106559350 A CN106559350 A CN 106559350A
- Authority
- CN
- China
- Prior art keywords
- link
- transmission
- layer
- control
- congestion state
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000005540 biological transmission Effects 0.000 claims abstract description 339
- 238000001514 detection method Methods 0.000 claims abstract description 111
- 230000002159 abnormal effect Effects 0.000 claims description 105
- 230000003993 interaction Effects 0.000 claims description 81
- 238000012545 processing Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 abstract description 46
- 206010033799 Paralysis Diseases 0.000 abstract description 8
- 201000004569 Blindness Diseases 0.000 abstract 1
- 230000002085 persistent effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 23
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 210000003127 knee Anatomy 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000803 paradoxical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种跨层拥塞控制方法及相关设备与系统,针对编码TCP协议中的编码层和传输层,可通过设计相应的跨层信息共享以及协调控制机制,实现链路拥塞状态的检测和发送速率的动态控制,从而使得编码层与传输层不再相互独立地进行冗余度控制与发送窗口控制,解决了编码TCP的盲目冗余恢复可能会对TCP屏蔽拥塞状态造成影响,影响拥塞控制机制及时发挥作用,从而引发链路持续拥塞,造成网络瘫痪的问题,提高了链路拥塞控制的准确性。
Description
技术领域
本发明涉及移动通信技术领域,尤其涉及一种跨层拥塞控制方法及相关设备与系统。
背景技术
据统计,移动用户访问无线互联网应用的传输层协议中,74.5%为TCP协议(Transmission Control Protocol,传输控制协议)。具体地,TCP协议以基于IP协议提供的无连接的端到端的报文传输服务为基础,通过数据分段、发送编号、接收确认、超时重传、乱序重组、丢弃重复包、流量控制等机制向应用层提供面向连接的、可靠的字节流服务。
具体地,TCP对所传输的数据都做了序号标记,序号是按照字节数来增长的。TCP接收方在接收到数据后发出一个确认(ACK)给对端,ACK里面包含一个序列号n,这个序列号n表示序号在n之前的数据已经全部被收到,现在正期待序号为n的数据到来。另外,由于网络中路由器处理能力的限制、链路错误等原因都会导致数据包的丢弃,因而,TCP对发出去的数据包都保留有计时器,如果定时器到而确认还没有收到的情况下,会进行重传。也就是说,TCP可使用确认和超时重传机制保障数据的可靠性传输,并且,结合接收端本地对于乱序包的重组和重复包的丢弃,确保了递交给应用层的是一个可靠的数据流。再有,由于数据的发送方和接收方并不一定有相同的数据处理能力,因而,为了避免数据发送过快而超过对方的接收能力,使得网络中存在过多的报文进而引发拥塞,TCP采用了流量控制机制,即,TCP拥塞控制机制。
具体地,TCP拥塞控制机制的原理如下所述:
如图1(a)(吞吐量与负载的关系示意图)以及图1(b)(延时与负载的关系示意图)所示,当负载(Load)较小时,吞吐量(Throughput)的增长与负载基本呈线性关系,延时(Response time,也即响应时间)增长缓慢,但是当负载超过Knee点后,吞吐量增长十分缓慢,但是延迟却增长较快,当负载超过Cliff之后,吞吐量就急剧下降,延迟相应急剧上升。也就是说,Cliff点就是网络的最大负载,一旦超过,网络的整体性能就大打折扣。而负载在Knee附近时,网络的使用效率是最高的,此时吞吐量高,响应时间也比较快。
相应地,TCP拥塞控制的原理就是网络中的节点采取一定的措施来尽量使得网络的负载保持在Knee位置,需要避免拥塞的发生或者对拥塞的发生作出反应,使其能够再次恢复到Knee位置,从而保持网络的整体性能最大化。
具体地,TCP的拥塞控制主要依赖于拥塞窗口(cwnd)来实现,另一个对端通告的接收窗口(rwnd)用于流量控制。TCP的真正的发送窗口=min(rwnd,cwnd)。窗口值的大小就代表能够发送出去的但还没有收到ACK的最大数据报文段。显然,窗口越大,数据发送的速度也就越快,但是也越可能使得网络拥塞。TCP的拥塞控制就是要在这两者之间权衡,选取最佳的cwnd值,使得网络吞吐量最大化且不产生拥塞。其中,在TCP中,cwnd的单位可为字节;另外,假设TCP每次都是按照MSS(Maximum Segment Size,最大分段大小)来发送数据的,则,也可以将数据包个数作为cwnd的单位,例如,“cwnd增加1”可相当于字节数增加1个MSS大小。
进一步地,由于TCP技术是为本就丢包率很低的有线网络设计的,在这一系统中,数据包丢失一般而言便是网络拥堵的信号。但是,这种缺省假设会造成无线网络环境下TCP的传输效率十分低下,因为无线环境并不稳定,存在频繁的非拥塞丢包现象。在这种环境下,TCP报文重传与拥塞控制机制造成了不必要的性能开销,非常需要前向纠错技术(forward error correction),而这正是编码TCP所提供的。
编码TCP的核心思想是,将网络编码与TCP相结合,通过引入编码层向TCP的拥塞控制层屏蔽丢包,从而在丢包率较高的无线环境中避免频繁触发TCP拥塞控制窗口机制来保证非拥塞状态下的TCP数据传输速率,提高无线非拥塞场景下的TCP速率稳定性。
采用编码TCP技术之后,大量数据包会被打包在一起并使用一种算法方程进行处理,这一方程将会描述这些数据包。如果其中有部分信息丢失,接收端可以通过解译这一描述方程来提取丢失的信息。这些方程的解译是简单而线性的,这就意味着这一过程并不会占用过多的计算机内部资源。经过测试可知,这种技术可使数据传输的表现有极大的提升,如,将校园无线网的传输速度从原本的1Mbps大幅提升到16Mbps;或者,在一辆快速行驶的列车上,将网络的接入速度从0.5Mbps跃升至13.5Mbps等。
然而,问题是,如果丢包确实是拥塞造成的,则编码TCP的盲目冗余恢复可能会对TCP屏蔽拥塞状态造成影响,影响拥塞控制机制及时发挥作用,从而引发链路持续拥塞,造成网络瘫痪。
发明内容
本发明实施例提供了一种跨层拥塞控制方法及相关设备与系统,用以解决编码TCP的盲目冗余恢复可能会对TCP屏蔽拥塞状态造成影响,影响拥塞控制机制及时发挥作用,从而引发链路持续拥塞,造成网络瘫痪的问题。
本发明实施例提供了一种跨层拥塞控制方法,包括:
编码层获取用于反映链路传输状态的统计信息;并
根据设定的信息交互规则,与传输层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,根据设定的信息交互规则,与传输层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制,包括:
根据所述统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制;或者,
根据所述统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给传输层,由传输层根据所述链路拥塞状态,执行以下操作:在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层进行冗余度控制;或者,
将所述统计信息上报给传输层,由传输层根据所述统计信息,确定链路拥塞状态,以及,接收所述传输层下发的链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制;或者,
将所述统计信息上报给传输层,由传输层根据所述统计信息,执行以下操作:确定链路拥塞状态并根据所述链路拥塞状态,在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制。
可选地,获取用于反映链路传输状态的统计信息,包括:
采用主动检测的方式和/或被动接收的方式,获取用于反映链路传输状态的统计信息。
可选地,所述统计信息至少包括以下信息中的任意一种或多种:
丢包信息、时延信息、抖动信息、或者ECN(显示拥塞通告)信息。
进一步地,本发明实施例还提供了另一种跨层拥塞控制方法,包括:
传输层根据设定的信息交互规则,与编码层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,根据设定的信息交互规则,与编码层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制,包括:
在接收到编码层上报的用于反映链路传输状态的统计信息时,根据编码层上报的统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者,根据编码层上报的统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给编码层,由编码层根据所述链路拥塞状态,执行以下操作:在确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者在确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制;
或者,
在接收到编码层上报的、根据获取到的用于反映链路传输状态的统计信息确定的链路拥塞状态时,根据设定规则,执行以下操作:在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;
或者,
在接收到编码层在根据编码层确定的链路拥塞状态,确定链路传输异常且链路已拥塞时下发的指示时,根据所述指示进行发送窗口的控制;其中,该确定的链路拥塞状态是编码层根据获取到的用于反映链路传输状态的统计信息确定的。
进一步地,本发明实施例提供了一种编码层设备,包括:
获取模块,用于获取用于反映链路传输状态的统计信息;
处理模块,用于根据设定的信息交互规则,与传输层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,所述处理模块,具体可用于根据所述统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
根据所述统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给传输层设备,由传输层设备根据所述链路拥塞状态,执行以下操作:在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层设备进行冗余度控制;或者,
将所述统计信息上报给传输层设备,由传输层设备根据所述统计信息,确定链路拥塞状态,以及,接收所述传输层设备下发的链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
将所述统计信息上报给传输层设备,由传输层设备根据所述统计信息,执行以下操作:确定链路拥塞状态并根据所述链路拥塞状态,在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层设备进行冗余度控制。
进一步地,本发明实施例提供了一种传输层设备,包括:
处理模块,用于根据设定的信息交互规则,与编码层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,所述处理模块,具体可用于在接收到编码层设备上报的用于反映链路传输状态的统计信息时,执行以下操作:根据编码层设备上报的统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层设备进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者,根据编码层设备上报的统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给编码层设备,由编码层设备根据所述链路拥塞状态,执行以下操作:在确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者在确定链路传输异常且链路已拥塞时,指示所述传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
用于在接收到编码层设备上报的、根据获取到的用于反映链路传输状态的统计信息确定的链路拥塞状态时,根据设定规则,执行以下操作:在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层设备进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者,
用于在接收到编码层设备在根据编码层设备确定的链路拥塞状态,确定链路传输异常且链路已拥塞时下发的指示时,根据所述指示进行发送窗口的控制。
进一步地,本发明实施例提供了一种跨层拥塞控制系统,包括:
编码层设备,用于获取用于反映链路传输状态的统计信息,并根据设定的信息交互规则,与传输层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制;
传输层设备,用于根据设定的信息交互规则,与编码层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
本发明有益效果如下:
本发明实施例提供了一种跨层拥塞控制方法及相关设备与系统,针对编码TCP协议中的编码层和传输层,可通过设计相应的跨层信息共享以及协调控制机制,实现链路拥塞状态的检测和发送速率的动态控制,从而使得编码层与传输层不再相互独立地进行冗余度控制与发送窗口控制,解决了编码TCP的盲目冗余恢复可能会对TCP屏蔽拥塞状态造成影响,影响拥塞控制机制及时发挥作用,从而引发链路持续拥塞,造成网络瘫痪的问题,提高了链路拥塞控制的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1(a)所示为吞吐量与负载的关系示意图;
图1(b)所示为延时与负载的关系示意图;
图2所示为本发明实施例一中所述跨层拥塞控制方法的流程示意图;
图3所示为本发明实施例一中第一种跨层拥塞控制方案的一种可能的结构示意图;
图4所示为本发明实施例一中第二种跨层拥塞控制方案的一种可能的结构示意图;
图5所示为本发明实施例一中第二种跨层拥塞控制方案的第二种可能的结构示意图;
图6所示为本发明实施例一中第三种跨层拥塞控制方案的一种可能的结构示意图;
图7所示为本发明实施例一中第四种跨层拥塞控制方案的一种可能的结构示意图;
图8所示为本发明实施例二中所述跨层拥塞控制方法的流程示意图;
图9所示为本发明实施例三中所述编码层设备的结构示意图;
图10所示为本发明实施例三中所述传输层设备的结构示意图;
图11所示为本发明实施例三中所述跨层拥塞控制系统的结构示意图。
具体实施方式
本发明实施例提供了一种跨层拥塞控制方法及相关设备与系统,针对编码TCP协议中的编码层和传输层,可通过设计相应的跨层信息共享以及协调控制机制,实现链路拥塞状态的检测和发送速率的动态控制,从而使得编码层与传输层不再相互独立地进行冗余度控制与发送窗口控制,解决了编码TCP的盲目冗余恢复可能会对TCP屏蔽拥塞状态造成影响,影响拥塞控制机制及时发挥作用,从而引发链路持续拥塞,造成网络瘫痪的问题,提高了链路拥塞控制的准确性。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
本发明实施例一提供了一种跨层拥塞控制方法,如图2所示,其为本发明实施例一中所述跨层拥塞控制方法的流程示意图,所述跨层拥塞控制方法可包括以下步骤:
步骤201:编码层获取用于反映链路传输状态的统计信息。
可选地,编码层获取用于反映链路传输状态的统计信息,可包括:
采用主动检测的方式和/或被动接收的方式,获取用于反映链路传输状态的统计信息。
其中,所述统计信息至少可包括以下信息中的任意一种或多种:
丢包信息、时延信息、抖动信息、或者ECN(显示拥塞通告)信息等。
也就是说,拥塞状态检测可采用发送端主动检测(基于丢包、时延、抖动等信息)和/或接收端主动反馈(ECN等信息反馈上报)两种机制,本发明实施例对此不作赘述。
步骤202:根据设定的信息交互规则,与传输层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,所述设定的信息交互规则可以是编码层主动获取到的,也可以是外界主动输入至所述编码层(如向所述编码层写入相应代码等),使得所述编码层被动获取到的,此处不再赘述。
另外,需要说明的是,此处所述的设定的信息交互规则可以是相应的用于唯一确定编码层与传输层进行信息交互的相应操作流程的信息,也可以是相应的用于判断编码层与传输层进行信息交互的相应操作流程具体为何流程的信息。
相应地,当所述设定的信息交互规则为用于唯一确定编码层与传输层进行信息交互的相应操作流程的信息时,编码层可直接根据该设定的信息交互规则,执行相应的交互操作,无需经过判断流程;而当所述设定的信息交互规则为用于判断编码层与传输层进行信息交互的相应操作流程具体为何流程的信息时,编码层可首先根据该设定的信息交互规则,从多种可能的交互操作流程中选择一种操作流程,之后根据该操作流程与传输层进行信息交互。
其中,在本发明所述实施例一中,各种可能的交互操作流程可如步骤一、步骤二、步骤三以及步骤四所述。即,根据设定的信息交互规则,与传输层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制,可包括步骤一、步骤二、步骤三以及步骤四所述的四种情况,下文会对其进行详细说明。
可选地,当所述设定的信息交互规则为用于判断编码层与传输层进行信息交互的相应操作流程具体为何流程的信息时,编码层可根据设定的信息交互规则,在确定自身具备拥塞检测能力以及拥塞控制能力时,执行步骤一;在确定自身具备拥塞检测能力但不具备拥塞控制能力时,执行步骤二;在确定自身不具备拥塞检测能力但具备拥塞控制能力时,执行步骤三;在确定自身不具备拥塞检测能力且不具备拥塞控制能力时,执行步骤四,本发明对此不作赘述。
下面,将对本发明实施例一所涉及到的四种情况进行详细说明:
步骤一:根据所述统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制。
也就是说,此时,可采用编码层检测与编码层控制机制,即,在编码层复制传输层的拥塞控制机制,以实现拥塞状态检测与传输速率的调整。
另外,需要说明的是,在采用编码层检测与编码层控制机制时,需要协调控制冗余度和发送窗口,需要对上扩展接口告知传输发送窗口。其优点是,不依赖于上层传输层机制实现公平性、对现有实现修改最小。
步骤二:根据所述统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给传输层,由传输层根据所述链路拥塞状态,执行以下操作:在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层进行冗余度控制。
也就是说,此时,可采用编码层检测与传输层控制机制,即,在编码层复制传输层的拥塞状态检测,并在传输层实现传输速率的调整。
另外,需要说明的是,此时,需要对上扩展接口告知链路拥塞状态。其优点是,各层相对独立;编码层可以相对独立地进行冗余度控制、传输层可以相对独立地进行窗口调整;但依赖于上层传输层机制实现公平性。
步骤三:将所述统计信息上报给传输层,由传输层根据所述统计信息,确定链路拥塞状态,以及,接收所述传输层下发的链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制。
也就是说,此时,可采用传输层检测与编码层控制机制,即,在传输层实现拥塞状态检测,在编码层实现发送速率控制决策。
另外,需要说明的是,此时,需要对上扩展接口告知用于反映链路传输状态的统计信息等、需要对上扩展接口告知传输发送窗口。其缺点是,需要来回信息交互,有悖常理。
步骤四:将所述统计信息上报给传输层,由传输层根据所述统计信息,执行以下操作:确定链路拥塞状态并根据所述链路拥塞状态,在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制。
也就是说,此时,可采用传输层检测与传输层控制机制,即,在传输层实现拥塞状态检测,在传输层实现速率调整控制。
另外,需要说明的是,此时,需要对上扩展接口告知用于反映链路传输状态的统计信息等,需要对下扩展接口协调冗余度控制。其特点是,依赖于上层传输层机制实现公平性,对现有实现修改较多。
也就是说,在本发明所述实施例中,可根据拥塞检测能力以及拥塞控制能力所在层次的不同,将跨层拥塞控制机制分为四种,一种是由编码层检测与编码层控制、一种是由编码层检测与传输层控制、一种是由传输层检测与编码层控制,还有一种是由传输层检测与传输层控制,从而可达到较为充分地协调编码层冗余度控制与传输层发送窗口控制两种机制的效果,实现了统一的链路拥塞状态检测和发送速率动态控制,提高了链路拥塞控制的准确性与灵活性。
下面,将结合上述提及的四种跨层拥塞控制机制,对本发明实施例中所述的跨层拥塞控制方法进行进一步说明。
第一种:编码层检测+编码层控制
如图3所示,其为该第一种跨层拥塞控制方案的一种可能的结构示意图,由图3可知,传输层可包括发送队列和接收队列、编码层可包括编码模块和解码模块,且,用于实现拥塞检测的拥塞检测模块与用于实现拥塞控制的拥塞控制模块可同时位于编码层中,以使得编码层可同时具备拥塞检测能力与拥塞控制能力。
具体地,该第一种跨层拥塞控制方案可包括以下步骤:
步骤1:由位于编码层的解码模块获取并向位于编码层的拥塞检测模块报告链路传输过程中的丢包、时延、抖动等统计信息。
步骤2:由位于编码层的拥塞检测模块基于解码模块上报的统计信息,进行链路拥塞状态的判断,并将相应的链路拥塞状态信息提交给位于编码层的拥塞控制模块。
可选地,拥塞检测模块可采用现有的TCP拥塞检测算法,进行链路拥塞状态的判断,此处不再赘述。
步骤3:拥塞控制模块基于拥塞检测模块上报的链路拥塞状态,进行综合决策,如果存在丢包等传输异常但确定链路尚未拥塞,则指示编码模块进行冗余度控制。
可选地,拥塞控制模块可采用现有的TCP窗口控制算法,进行综合决策,此处不再赘述。
另外,编码模块在进行冗余度控制时,可采用增加冗余度或者调整其他编码参数的方式以避免重传开销,本发明实施例对此不作任何限定。
步骤4:拥塞控制模块若基于链路拥塞状态,确定存在丢包等传输异常且确定链路已经拥塞,则可进一步通知传输层发送队列调整发送窗口,以避免网络崩溃。
需要说明的是,此时,除了可进一步通知传输层发送队列调整发送窗口,以避免网络崩溃之外,还可指示编码模块进行冗余度控制,此处不再赘述。
第二种:编码层检测+传输层控制
如图4所示,其为该第二种跨层拥塞控制方案的一种可能的结构示意图,由图4可知,传输层可包括发送队列和接收队列、编码层可包括编码模块和解码模块,且,用于实现拥塞检测的拥塞检测模块位于编码层中,用于实现拥塞控制的拥塞控制模块位于传输层中,以使得编码层可具备拥塞检测能力、传输层可具备拥塞控制能力。
具体地,该第二种跨层拥塞控制方案可包括以下步骤:
步骤1:由位于编码层的解码模块获取并向位于编码层的拥塞检测模块报告链路传输过程中的丢包、时延、抖动等统计信息。
步骤2:由位于编码层的拥塞检测模块基于解码模块上报的统计信息,进行链路拥塞状态的判断;并将相应的链路拥塞状态信息提交给位于传输层的拥塞控制模块。
可选地,拥塞检测模块可采用现有的TCP拥塞检测算法,进行链路拥塞状态的判断,此处不再赘述。
步骤3:拥塞控制模块基于拥塞检测模块上报的链路拥塞状态,进行综合决策,如果存在丢包等传输异常但确定链路尚未拥塞,则指示编码层的编码模块进行冗余度控制。
可选地,拥塞控制模块可采用现有的TCP窗口控制算法,进行综合决策,此处不再赘述。
另外,编码模块在进行冗余度控制时,可采用增加冗余度或者调整其他编码参数的方式以避免重传开销,本发明实施例对此不作任何限定。
步骤4:拥塞控制模块若基于链路拥塞状态,确定存在丢包等传输异常且确定链路已经拥塞,则可进一步通知位于传输层的发送队列调整发送窗口,以避免网络崩溃。
需要说明的是,此时,除了可进一步通知传输层发送队列调整发送窗口,以避免网络崩溃之外,还可指示编码模块进行冗余度控制,此处不再赘述。
需要说明的是,如图5所示,当采用编码层检测+传输层控制的机制进行跨层拥塞控制时,在编码层的拥塞检测模块基于解码模块上报的统计信息,进行链路拥塞状态的判断、进而确定存在丢包等传输异常且确定链路尚未拥塞时,可直接通知编码层的编码模块通过增加冗余度或者调整其他编码参数的方式来避免重传开销;以及,在基于解码模块上报的统计信息,进行链路拥塞状态的判断、进而确定存在丢包等传输异常且确定链路已经拥塞时,才进一步通知传输层的拥塞控制模块,以由传输层的拥塞控制模块采用现有TCP窗口控制算法,基于链路拥塞状态,进行综合决策,调整TCP的发送队列的发送窗口,以避免网络崩溃等。
第三种:传输层检测与编码层控制
如图6所示,其为该第三种跨层拥塞控制方案的一种可能的结构示意图,由图6可知,传输层可包括发送队列和接收队列、编码层可包括编码模块和解码模块,且,用于实现拥塞检测的拥塞检测模块可位于传输层中,用于实现拥塞控制的拥塞控制模块可位于编码层中,以使得传输层可具备拥塞检测能力,编码层可具备拥塞控制能力。
具体地,该第三种跨层拥塞控制方案可包括以下步骤:
步骤1:由位于编码层的解码模块获取并向位于传输层的拥塞检测模块报告链路传输过程中的丢包、时延、抖动等统计信息。
步骤2:由位于传输层的拥塞检测模块基于解码模块上报的统计信息,进行链路拥塞状态的判断,并将相应的链路拥塞状态信息提交给位于编码层的拥塞控制模块。
可选地,拥塞检测模块可采用现有的TCP拥塞检测算法,进行链路拥塞状态的判断,此处不再赘述。
步骤3:拥塞控制模块基于拥塞检测模块上报的链路拥塞状态,进行综合决策,如果存在丢包等传输异常但确定链路尚未拥塞,则指示编码模块进行冗余度控制。
可选地,拥塞控制模块可采用现有的TCP窗口控制算法,进行综合决策,此处不再赘述。
另外,编码模块在进行冗余度控制时,可采用增加冗余度或者调整其他编码参数的方式以避免重传开销,本发明实施例对此不作任何限定。
步骤4:拥塞控制模块若基于链路拥塞状态,确定存在丢包等传输异常且确定链路已经拥塞,则进一步通知传输层发送队列调整发送窗口,以避免网络崩溃。
需要说明的是,此时,除了可进一步通知传输层发送队列调整发送窗口,以避免网络崩溃之外,还可指示编码模块进行冗余度控制,此处不再赘述。
第四种:传输层检测+传输层控制
如图7所示,其为该第四种跨层拥塞控制方案的一种可能的结构示意图,由图7可知,传输层可包括发送队列和接收队列、编码层可包括编码模块和解码模块,且,用于实现拥塞检测的拥塞检测模块与用于实现拥塞控制的拥塞控制模块可同时位于传输层中,以使得传输层可同时具备拥塞检测能力与拥塞控制能力。
具体地,该第四种跨层拥塞控制方案可包括以下步骤:
步骤1:由位于编码层的解码模块获取并向位于传输层的拥塞检测模块报告链路传输过程中的丢包、时延、抖动等统计信息。
步骤2:由位于传输层的拥塞检测模块基于解码模块上报的统计信息进行链路拥塞状态的判断,并进一步将相应的链路拥塞状态报告给位于传输层的拥塞控制模块。
可选地,拥塞检测模块可采用现有的TCP拥塞检测算法,进行链路拥塞状态的判断,此处不再赘述。
步骤3:位于传输层的拥塞控制模块基于拥塞检测模块上报的链路拥塞状态,进行综合决策,如果存在丢包等传输异常但确定链路尚未拥塞,则通知位于编码层的编码模块进行冗余度控制。
可选地,拥塞控制模块可采用现有的TCP窗口控制算法,进行综合决策,此处不再赘述。
另外,编码模块在进行冗余度控制时,可采用增加冗余度或者调整其他编码参数的方式以避免重传开销,本发明实施例对此不作任何限定。
步骤4:拥塞控制模块若基于链路拥塞状态,确定存在丢包等传输异常且确定链路已经拥塞,则调整TCP发送队列的发送窗口,以避免网络崩溃。
需要说明的是,此时,除了可进一步通知传输层发送队列调整发送窗口,以避免网络崩溃之外,还可指示编码模块进行冗余度控制,此处不再赘述。
需要说明的是,在上述四种控制机制中,由于第三种控制机制需要来回信息的交互,有悖于常理,因而在实际应用中,通常可不予采用。
本发明实施例一提供了一种跨层拥塞控制方法,针对编码TCP协议中的编码层和传输层,可通过设计相应的跨层信息共享以及协调控制机制,实现链路拥塞状态的检测和发送速率的动态控制,从而使得编码层与传输层可不再相互独立地盲目地进行冗余度控制与发送窗口控制,解决了编码TCP的盲目冗余恢复可能会对TCP屏蔽拥塞状态造成影响,影响拥塞控制机制及时发挥作用,从而引发链路持续拥塞,造成网络瘫痪的问题,提高了链路拥塞控制的准确性。
实施例二:
基于同一发明构思,本发明实施例一提供了一种以传输层为执行主体的跨层拥塞控制方法,如图8所示,其为本发明实施例二中所述跨层拥塞控制方法的流程示意图,所述跨层拥塞控制方法可包括以下步骤:
步骤801:传输层获取设定的信息交互规则。
可选地,所述设定的信息交互规则可以是传输层主动获取到的,也可以是外界主动输入至所述传输层(如向所述传输层写入相应代码等),使得所述传输层被动获取到的,此处不再赘述。
另外,需要说明的是,此处所述的设定的信息交互规则可以是相应的用于唯一确定编码层与传输层进行信息交互的相应操作流程的信息,也可以是相应的用于判断编码层与传输层进行信息交互的相应操作流程具体为何流程的信息。
相应地,当所述设定的信息交互规则为用于唯一确定编码层与传输层进行信息交互的相应操作流程的信息时,传输层可直接根据该设定的信息交互规则,执行相应的交互操作,无需经过判断流程;而当所述设定的信息交互规则为用于判断编码层与传输层进行信息交互的相应操作流程具体为何流程的信息时,传输层可首先根据该设定的信息交互规则,从多种可能的交互操作流程中选择一种操作流程,之后根据该操作流程与编码层进行信息交互。
步骤802:传输层根据获取到的设定的信息交互规则,与编码层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,根据设定的信息交互规则,与编码层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制,可包括以下三种情况:
第一种情况:若接收到编码层上报的用于反映链路传输状态的统计信息,则执行以下操作:
根据编码层上报的统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者,
根据编码层上报的统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给编码层,由编码层根据所述链路拥塞状态,执行以下操作:在确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者在确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制。
可选地,传输层可在确定自身具备拥塞检测能力以及拥塞控制能力时,执行上述第一种情况中的两种可能的操作中的第一种操作。
也就是说,此时,可采用传输层检测与传输层控制机制,即,在传输层实现拥塞状态检测,在传输层实现速率调整控制。
另外,需要说明的是,此时,需要对上扩展接口告知用于反映链路传输状态的统计信息等,需要对下扩展接口协调冗余度控制。其特点是,依赖于上层传输层机制实现公平性,对现有实现修改较多。
进一步地,传输层可在确定自身具备拥塞检测能力但不具备拥塞控制能力时,执行上述第一种情况中的两种可能的操作中的第二种操作。
也就是说,此时,可采用传输层检测与编码层控制机制,即,在传输层实现拥塞状态检测,在编码层实现发送速率控制决策。
另外,需要说明的是,此时,需要对上扩展接口告知用于反映链路传输状态的统计信息等、需要对上扩展接口告知传输发送窗口。其缺点是,需要来回信息交互,有悖常理。
第二种情况:若接收到编码层上报的、根据获取到的用于反映链路传输状态的统计信息确定的链路拥塞状态,则执行以下操作:在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制。
也就是说,此时,可采用编码层检测与传输层控制机制,即,在编码层复制传输层的拥塞状态检测,并在传输层实现传输速率的调整。
另外,需要说明的是,此时,需要对上扩展接口告知链路拥塞状态。其优点是,各层相对独立;编码层可以相对独立地进行冗余度控制、传输层可以相对独立地进行窗口调整;但依赖于上层传输层机制实现公平性。
第三种情况:若接收到编码层在根据编码层确定的链路拥塞状态,确定链路传输异常且链路已拥塞时下发的指示,则根据所述指示进行发送窗口的控制。
也就是说,此时,可采用编码层检测与编码层控制机制,即,在编码层复制传输层的拥塞控制机制,以实现拥塞状态检测与传输速率的调整。
另外,需要说明的是,在采用编码层检测与编码层控制机制时,需要协调控制冗余度和发送窗口,需要对上扩展接口告知传输发送窗口。其优点是,不依赖于上层传输层机制实现公平性、对现有实现修改最小。
也就是说,在本发明所述实施例中,可根据拥塞检测能力以及拥塞控制能力所在层次的不同,将跨层拥塞控制机制分为四种,一种是由编码层检测与编码层控制、一种是由编码层检测与传输层控制、一种是由传输层检测与编码层控制,还有一种是由传输层检测与传输层控制,从而可达到较为充分地协调编码层冗余度控制与传输层发送窗口控制两种机制的效果,实现了统一的链路拥塞状态检测和发送速率动态控制,提高了链路拥塞控制的准确性与灵活性。
可选地,与实施例一中的相关描述类似,所述统计信息可以是编码层采用主动检测的方式和/或被动接收的方式获取到的。
其中,所述统计信息至少可包括以下信息中的任意一种或多种:
丢包信息、时延信息、抖动信息、或者ECN信息。
本发明实施例二提供了一种跨层拥塞控制方法,针对编码TCP协议中的编码层和传输层,可通过设计相应的跨层信息共享以及协调控制机制,实现链路拥塞状态的检测和发送速率的动态控制,从而使得编码层与传输层可不再相互独立地盲目地进行冗余度控制与发送窗口控制,解决了编码TCP的盲目冗余恢复可能会对TCP屏蔽拥塞状态造成影响,影响拥塞控制机制及时发挥作用,从而引发链路持续拥塞,造成网络瘫痪的问题,提高了链路拥塞控制的准确性。
实施例三:
基于与本实施例一相同的发明构思,本申请实施例三提供了一种编码层设备,该设备的具体实施可参见上述方法实施例一中的相关描述,重复之处不再赘述,如图9所示,该设备主要可包括:
获取模块91,可用于获取用于反映链路传输状态的统计信息;
处理模块92,可用于根据设定的信息交互规则,与传输层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,所述处理模块92具体可用于根据所述统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
根据所述统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给传输层设备,由传输层设备根据所述链路拥塞状态,执行以下操作:在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层设备进行冗余度控制;或者,
将所述统计信息上报给传输层设备,由传输层设备根据所述统计信息,确定链路拥塞状态,以及,接收所述传输层设备下发的链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
将所述统计信息上报给传输层设备,由传输层设备根据所述统计信息,执行以下操作:确定链路拥塞状态并根据所述链路拥塞状态,在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层设备进行冗余度控制。
可选地,所述获取模块91具体可用于采用主动检测的方式和/或被动接收的方式,获取用于反映链路传输状态的统计信息。
其中,所述统计信息至少可包括以下信息中的任意一种或多种:
丢包信息、时延信息、抖动信息、或者ECN信息。
进一步地,基于与本实施例二相同的发明构思,本申请实施例三还提供了一种传输层设备,该设备的具体实施可参见上述方法实施例二中的相关描述,重复之处不再赘述,如图10所示,该设备主要可包括:
处理模块101,可用于根据设定的信息交互规则,与编码层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,所述处理模块101,具体可用于在接收到编码层设备上报的用于反映链路传输状态的统计信息时,执行以下操作:根据编码层设备上报的统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层设备进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者,根据编码层设备上报的统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给编码层设备,由编码层设备根据所述链路拥塞状态,执行以下操作:在确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者在确定链路传输异常且链路已拥塞时,指示所述传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
用于在接收到编码层设备上报的、根据获取到的用于反映链路传输状态的统计信息确定的链路拥塞状态时,执行以下操作:在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层设备进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者,
用于在接收到编码层设备在根据编码层设备确定的链路拥塞状态,确定链路传输异常且链路已拥塞时下发的指示时,根据所述指示进行发送窗口的控制。
可选地,所述统计信息可以是编码层设备采用主动检测的方式和/或被动接收的方式获取到的。
其中,所述统计信息至少可包括以下信息中的任意一种或多种:
丢包信息、时延信息、抖动信息、或者ECN信息。
进一步地,基于与本实施例一、二相同的发明构思,本申请实施例三还提供了一种跨层拥塞控制系统,该系统的具体实施可参见上述方法实施例一、二中的相关描述,重复之处不再赘述,如图11所示,该系统主要可包括编码层设备111以及传输层设备112,其中:
编码层设备111,可用于获取用于反映链路传输状态的统计信息,并根据设定的信息交互规则,与传输层设备112进行信息交互,以实现链路拥塞状态的检测和发送速率的控制;
传输层设备112,可用于根据设定的信息交互规则,与编码层设备111进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
可选地,所述编码层设备111具体可用于根据所述统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层设备112进行发送窗口的控制、或者进行冗余度控制且指示传输层设备112进行发送窗口的控制;或者,
根据所述统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给传输层设备112,由传输层设备112根据所述链路拥塞状态,执行以下操作:在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备111进行冗余度控制,或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层设备111进行冗余度控制;或者,
将所述统计信息上报给传输层设备112,由传输层设备112根据所述统计信息,确定链路拥塞状态,以及,接收所述传输层设备112下发的链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层设备112进行发送窗口的控制、或者进行冗余度控制且指示传输层设备112进行发送窗口的控制;或者,
将所述统计信息上报给传输层设备112,由传输层设备112根据所述统计信息,执行以下操作:确定链路拥塞状态并根据所述链路拥塞状态,在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备111进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示编码层设备111进行冗余度控制;
所述传输层设备112,具体可用于在接收到编码层上报的用于反映链路传输状态的统计信息时,根据编码层设备111上报的统计信息,确定链路拥塞状态,并,在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层设备111进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备111进行冗余度控制;或者,根据编码层设备111上报的统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给编码层设备111,由编码层设备111根据所述链路拥塞状态,执行以下操作:在确定链路传输异常但链路尚未拥塞时,进行冗余度控制;或者在确定链路传输异常且链路已拥塞时,指示传输层设备112进行发送窗口的控制、或者进行冗余度控制且指示传输层设备112进行发送窗口的控制;或者,
在接收到编码层设备111上报的、根据获取到的用于反映链路传输状态的统计信息确定的链路拥塞状态时,执行以下操作:在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层设备111进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备111进行冗余度控制;或者,
在接收到编码层设备111在根据编码层设备111确定的链路拥塞状态,确定链路传输异常且链路已拥塞时下发的指示时,根据所述指示进行发送窗口的控制;其中,该确定的链路拥塞状态是编码层设备111根据获取到的用于反映链路传输状态的统计信息确定的。
本发明实施例三提供了相应的跨层拥塞控制设备与系统,针对编码TCP协议中的编码层和传输层,可通过设计相应的跨层信息共享以及协调控制机制,实现链路拥塞状态的检测和发送速率的动态控制,从而使得编码层与传输层不再相互独立地盲目地进行冗余度控制与发送窗口控制,解决了编码TCP的盲目冗余恢复可能会对TCP屏蔽拥塞状态造成影响,影响拥塞控制机制及时发挥作用,从而引发链路持续拥塞,造成网络瘫痪的问题,提高了链路拥塞控制的准确性。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种跨层拥塞控制方法,其特征在于,包括:
编码层获取用于反映链路传输状态的统计信息;并
根据设定的信息交互规则,与传输层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
2.如权利要求1所述的方法,其特征在于,根据设定的信息交互规则,与传输层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制,包括:
根据所述统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制;或者,
根据所述统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给传输层,由传输层根据所述链路拥塞状态,执行以下操作:在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层进行冗余度控制;或者,
将所述统计信息上报给传输层,由传输层根据所述统计信息,确定链路拥塞状态,以及,接收所述传输层下发的链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制;或者,
将所述统计信息上报给传输层,由传输层根据所述统计信息,执行以下操作:确定链路拥塞状态并根据所述链路拥塞状态,在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制。
3.如权利要求1所述的方法,其特征在于,获取用于反映链路传输状态的统计信息,包括:
采用主动检测的方式和/或被动接收的方式,获取用于反映链路传输状态的统计信息。
4.如权利要求1所述的方法,其特征在于,所述统计信息至少包括以下信息中的任意一种或多种:
丢包信息、时延信息、抖动信息、或者显示拥塞通告ECN信息。
5.一种跨层拥塞控制方法,其特征在于,包括:
传输层根据设定的信息交互规则,与编码层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
6.如权利要求5所述的方法,其特征在于,根据设定的信息交互规则,与编码层进行信息交互,以实现链路拥塞状态的检测和发送速率的控制,包括:
在接收到编码层上报的用于反映链路传输状态的统计信息时,根据编码层上报的统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;或者,根据编码层上报的统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给编码层,由编码层根据所述链路拥塞状态,执行以下操作:在确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者在确定链路传输异常且链路已拥塞时,指示传输层进行发送窗口的控制、或者进行冗余度控制且指示传输层进行发送窗口的控制;
或者,
在接收到编码层上报的、根据获取到的用于反映链路传输状态的统计信息确定的链路拥塞状态时,执行以下操作:在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层进行冗余度控制;
或者,
在接收到编码层在根据编码层确定的链路拥塞状态,确定链路传输异常且链路已拥塞时下发的指示时,根据所述指示进行发送窗口的控制;其中,该确定的链路拥塞状态是编码层根据获取到的用于反映链路传输状态的统计信息确定的。
7.一种编码层设备,其特征在于,包括:
获取模块,用于获取用于反映链路传输状态的统计信息;
处理模块,用于根据设定的信息交互规则,与传输层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
8.如权利要求7所述的设备,其特征在于,
所述处理模块,具体用于根据所述统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
根据所述统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给传输层设备,由传输层设备根据所述链路拥塞状态,执行以下操作:在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层设备进行冗余度控制;或者,
将所述统计信息上报给传输层设备,由传输层设备根据所述统计信息,确定链路拥塞状态,以及,接收所述传输层设备下发的链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者,在根据所述链路拥塞状态,确定链路传输异常且链路已拥塞时,指示传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
将所述统计信息上报给传输层设备,由传输层设备根据所述统计信息,执行以下操作:确定链路拥塞状态并根据所述链路拥塞状态,在确定链路传输异常且链路已拥塞时进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者在确定链路传输异常但链路尚未拥塞时,指示所述编码层设备进行冗余度控制。
9.一种传输层设备,其特征在于,包括:
处理模块,用于根据设定的信息交互规则,与编码层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
10.如权利要求9所述的设备,其特征在于,
所述处理模块,具体用于在接收到编码层设备上报的用于反映链路传输状态的统计信息时,执行以下操作:根据编码层设备上报的统计信息,确定链路拥塞状态,并在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层设备进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者,根据编码层设备上报的统计信息,确定链路拥塞状态并将所述链路拥塞状态上报给编码层设备,由编码层设备根据所述链路拥塞状态,执行以下操作:在确定链路传输异常但链路尚未拥塞时,进行冗余度控制,或者在确定链路传输异常且链路已拥塞时,指示所述传输层设备进行发送窗口的控制、或者进行冗余度控制且指示传输层设备进行发送窗口的控制;或者,
用于在接收到编码层设备上报的、根据获取到的用于反映链路传输状态的统计信息确定的链路拥塞状态时,执行以下操作:在根据所述链路拥塞状态,确定链路传输异常但链路尚未拥塞时,指示编码层设备进行冗余度控制,或者,在确定链路传输异常且链路已拥塞时,进行发送窗口的控制、或者进行发送窗口的控制且指示编码层设备进行冗余度控制;或者,
用于在接收到编码层设备在根据编码层设备确定的链路拥塞状态,确定链路传输异常且链路已拥塞时下发的指示时,根据所述指示进行发送窗口的控制。
11.一种跨层拥塞控制系统,其特征在于,包括:
编码层设备,用于获取用于反映链路传输状态的统计信息,并根据设定的信息交互规则,与传输层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制;
传输层设备,用于根据设定的信息交互规则,与编码层设备进行信息交互,以实现链路拥塞状态的检测和发送速率的控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510642962.1A CN106559350A (zh) | 2015-09-30 | 2015-09-30 | 一种跨层拥塞控制方法及相关设备与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510642962.1A CN106559350A (zh) | 2015-09-30 | 2015-09-30 | 一种跨层拥塞控制方法及相关设备与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106559350A true CN106559350A (zh) | 2017-04-05 |
Family
ID=58417680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510642962.1A Pending CN106559350A (zh) | 2015-09-30 | 2015-09-30 | 一种跨层拥塞控制方法及相关设备与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106559350A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113543208A (zh) * | 2021-05-26 | 2021-10-22 | 浙江大华技术股份有限公司 | 无线传输控制方法及无线通信系统、计算机存储介质 |
CN114401208A (zh) * | 2021-12-10 | 2022-04-26 | 北京百度网讯科技有限公司 | 数据传输方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080239948A1 (en) * | 2007-03-28 | 2008-10-02 | Honeywell International, Inc. | Speculative congestion control system and cross-layer architecture for use in lossy computer networks |
CN101841479A (zh) * | 2010-04-28 | 2010-09-22 | 四川大学 | 一种基于网络编码的高误码率长时延网络自适应传输方法 |
CN102006230A (zh) * | 2010-11-26 | 2011-04-06 | 中南大学 | 一种有线/无线混合网络中融合三种信息的拥塞控制方法 |
-
2015
- 2015-09-30 CN CN201510642962.1A patent/CN106559350A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080239948A1 (en) * | 2007-03-28 | 2008-10-02 | Honeywell International, Inc. | Speculative congestion control system and cross-layer architecture for use in lossy computer networks |
CN101841479A (zh) * | 2010-04-28 | 2010-09-22 | 四川大学 | 一种基于网络编码的高误码率长时延网络自适应传输方法 |
CN102006230A (zh) * | 2010-11-26 | 2011-04-06 | 中南大学 | 一种有线/无线混合网络中融合三种信息的拥塞控制方法 |
Non-Patent Citations (2)
Title |
---|
何仁清等: "基于网络透视技术的拥塞链路检测方法", 《2006年全国光电子与光电信息技术学术研讨会论文集》 * |
单山: "无线网络下基于网络编码的TCP性能增强技术研究", 《万方学位论文》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113543208A (zh) * | 2021-05-26 | 2021-10-22 | 浙江大华技术股份有限公司 | 无线传输控制方法及无线通信系统、计算机存储介质 |
CN113543208B (zh) * | 2021-05-26 | 2024-04-19 | 浙江大华技术股份有限公司 | 无线传输控制方法及无线通信系统、计算机存储介质 |
CN114401208A (zh) * | 2021-12-10 | 2022-04-26 | 北京百度网讯科技有限公司 | 数据传输方法、装置、电子设备和存储介质 |
CN114401208B (zh) * | 2021-12-10 | 2022-12-06 | 北京百度网讯科技有限公司 | 数据传输方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102203509B1 (ko) | 패킷 전송 방법, 단말, 네트워크 디바이스 및 통신 시스템 | |
JP4016387B2 (ja) | データフロー制御方法 | |
EP2681880B1 (en) | Controlling network device behavior | |
CN104093170B (zh) | 基于tcp的数据传输方法和tcp代理装置 | |
US8306062B1 (en) | Method and apparatus of adaptive large receive offload | |
KR100787294B1 (ko) | 이동 통신 기지국의 티씨피 성능 향상 장치 | |
EP1691526A1 (en) | Transmission control protocol (TCP) congestion control using multiple TCP acknowledgements (ACKs) | |
JP5625748B2 (ja) | 通信装置、通信システム、プログラム及び通信方法 | |
US20160323062A1 (en) | Packet recovery in interactive real-time media protocol | |
CN102664718B (zh) | 无线侧tcp数据重传的方法和设备 | |
US9485186B2 (en) | Network congestion control with awareness of random packet losses | |
CN106789702B (zh) | 控制tcp传输性能的方法及装置 | |
JP2007208571A (ja) | 通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラム | |
CN110557677A (zh) | 一种视频传输的方法及装置 | |
CN107800638B (zh) | 一种拥塞控制方法及装置 | |
Dunaytsev et al. | Modeling TCP SACK performance over wireless channels with completely reliable ARQ/FEC | |
Torkey et al. | Modified fast recovery algorithm for performance enhancement of TCP-NewReno | |
CN104980365A (zh) | 一种基于连续丢包拥塞判断的tcp传输加速方法 | |
CN106559350A (zh) | 一种跨层拥塞控制方法及相关设备与系统 | |
CN104580171A (zh) | Tcp协议的传输方法、装置和系统 | |
CN106341348B (zh) | 一种面向tcp业务的流量控制方法及接入网网元 | |
Moltchanov et al. | Modeling TCP SACK performance over wireless channels with semi-reliable ARQ/FEC | |
EP3389206B1 (en) | Multipath error correction | |
Krishnaprasad et al. | TCP kay: An end-to-end improvement to TCP performance in lossy wireless networks using ACK-DIV technique & FEC | |
Naito et al. | New analytical model for TCP in wireless environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170405 |
|
RJ01 | Rejection of invention patent application after publication |