CN108092748A - 一种进行反馈的方法和接入层设备 - Google Patents
一种进行反馈的方法和接入层设备 Download PDFInfo
- Publication number
- CN108092748A CN108092748A CN201611028847.6A CN201611028847A CN108092748A CN 108092748 A CN108092748 A CN 108092748A CN 201611028847 A CN201611028847 A CN 201611028847A CN 108092748 A CN108092748 A CN 108092748A
- Authority
- CN
- China
- Prior art keywords
- layer equipment
- access layer
- queue
- data packet
- depth
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种进行反馈的方法和接入层设备,用以解决现有技术中存在的在接入层设备由于带宽限制丢弃不能发送的数据包后的丢包反馈速度慢,从而造成数据传输效率低下的问题。该方法包括:接入层设备在接收到应用层设备的数据包后,确定数据包对应的发送队列;若确定的发送队列的队列深度达到最大队列深度,则接入层设备丢弃收到的数据包;接入层设备向应用层设备发送丢包信息。由于本发明实施例能够由接入层设备进行丢弃数据包的反馈,因此提高了丢包的反馈效率,从而提高了数据的传输效率。
Description
技术领域
本发明涉及分组传送网技术领域,特别涉及一种进行反馈的方法和接入层设备。
背景技术
随着PTN(Packet Transport Network,分组传送网)网络技术的发展,集客专线业务等面向客户的分组传送网业务得到了大力推广。其中,宽带服务质量是分组传送网业务中的重要服务指标。宽带服务质量主要体现在能否为用户提供承诺的和可视的带宽。目前的分组传送网业务在网络的接入层设备的发送侧端口为用户配置承诺的带宽,并在整个传输路径上为承诺带宽提供保障,这一承诺的带宽往往会小于接入层设备的接收侧端口的带宽。
由于在用户应用层设备一侧不会有带宽限制的配置,应用层设备不会感知接入层设备的带宽限制,因此在向接入层设备发送数据时,仍将以较高的发送速率发送数据包。由于接入层设备承诺带宽的限制,应用层设备向接入层设备的发送速率会超过接入层设备发送数据的速率,因此将会在接入层设备发生拥塞,导致接入层设备丢弃超出承诺带宽下发送速率的数据。目前,PTN业务采用TCP协议(Transmission Control Protocol,传输控制协议)的数据重传机制,因此针对接入层设备因为带宽限制而丢弃数据包的行为,只有在对端接收数据包的应用层设备收到全部数据包后,才能通过PTN网络反馈丢包信息。例如,在图1所示的传送网***中,对端应用层设备103在发现数据包丢失时,会连续发送三个相同的ACK(Acknowledgement,确认字符)报文或者超时确认(即对端应用层设备未在规定的确认时间之内发送确认报文,以使发送数据包的应用层设备认为发送失败),发送数据包的应用层设备101在收到报错ACK报文或者在规定的确认时间内没有收到确认ACK报文后将认为传输错误,需要进行重传。这样的丢包反馈过程繁琐,导致因带宽限制而发生丢包的信息不能快速反馈到发送数据包的应用层设备,从而造成发送效率低下,用户因此无法感受到承诺的带宽。
综上,在当前的PTN传送网***中,在接入层设备由于带宽限制丢弃不能发送的数据包后,传送网***进行丢包反馈速度慢,从而造成数据传输效率低下。
发明内容
本发明提供一种进行反馈的方法和接入层设备,用以解决现有技术中存在的在接入层设备由于带宽限制丢弃不能发送的数据包后,传送网***进行丢包反馈速度慢,从而造成数据传输效率低下的问题。
本发明实施例提供一种进行反馈的方法,包括:
接入层设备在接收到应用层设备的数据包后,确定数据包对应的发送队列;
若确定的发送队列的队列深度达到最大队列深度,则接入层设备丢弃收到的数据包;
接入层设备向应用层设备发送丢包信息。
可选地,该方法还包括:
若队列深度小于最大队列深度,则接入层设备将数据包放入到对应的发送队列中;
接入层设备根据队列深度确定接收窗口值;
接入层设备向应用层设备发送接收窗口值,以使应用层设备根据接收窗口值调整自身的发送窗口值。
可选地,接入层设备根据队列深度确定接收窗口值,包括:
接入层设备根据深度范围与反压值的对应关系,确定发送队列当前的队列深度所属的深度范围对应的反压值;
接入层设备根据反压值确定接收窗口值。
可选地,接入层设备根据反压值确定接收窗口值,包括:
接入层设备将反压值确定为接收窗口值。
可选地,丢包信息包括:用于表示有数据包丢弃的信息和/或丢弃的数据包的序列号。
本发明实施例还提供一种进行反馈的接入层设备,包括:
发送队列确定模块,用于在接收到应用层设备的数据包后,确定数据包对应的发送队列;
处理模块,用于在确定的发送队列的队列深度达到最大队列深度后,丢弃收到的数据包;
发送模块,用于向应用层设备发送丢包信息。
可选地,处理模块还用于:
若队列深度小于最大队列深度,则将数据包放入到对应的发送队列中;
根据队列深度确定接收窗口值;
所述发送模块,还用于向应用层设备发送接收窗口值,以使应用层设备根据接收窗口值调整自身的发送窗口值。
可选地,处理模块具体用于:
根据深度范围与反压值的对应关系,确定发送队列当前的队列深度所属的深度范围对应的反压值;
根据反压值确定接收窗口值。
可选地,处理模块具体用于:
将反压值确定为接收窗口值。
可选地,丢包信息包括:用于表示有数据包丢弃的信息和/或丢弃的数据包的序列号。
本发明实施例中的接入层设备在发送队列达到最大队列深度并仍然需要在该发送队列发送数据包的情况下,将会丢弃该数据包,并向应用层设备发送丢包信息。由于本发明实施例能够由接入层设备进行丢弃数据包的反馈,而不需要经过传送网的传送后在对端应用层设备对丢包情况进行反馈,相比于现有的传送网***的反馈机制能够提前进行丢包反馈,因此提高了丢包的反馈效率,从而提高了数据的传输效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的PTN网络设备的数据传输模式示意图;
图2为本发明实施例提供的进行反馈的方法的步骤示意图;
图3为本发明实施例提供的根据业务流ID确定发送队列的示意图;
图4为本发明实施例提供的应用层设备与接入层设备的数据传输模式示意图;
图5为本发明实施例提供的第一种队列深度范围与反压值的对应关系的示意图;
图6为本发明实施例提供的第二种队列深度范围与反压值的对应关系的示意图;
图7为本发明实施例提供的第三种队列深度范围与反压值的对应关系的示意图;
图8为本发明实施例提供的配置业务流反压表的步骤示意图;
图9为本发明实施例提供的进行反馈的方法所适用的PTN网络宽带服务业务的示意图;
图10为本发明实施例提供的一种进行反馈的方法的具体流程图;
图11为本发明实施例提供的一种进行反馈的接入层设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
以图1为例说明PTN传送网中应用层设备通过接入层设备向对端应用层设备发送数据包的过程:
数据发送端的应用层设备101将需要发送的数据包A向接入层设备102发送,接入层设备102收到数据包A后,对数据包A进行数据分流等处理,之后将处理后的数据包A通过发送队列向传送网发送;对端应用层设备103在确认收到数据包后会经由传送网以及接入层设备102向发送数据包的应用层设备101发送ACK报文,以表示接收到了数据包或者表示没有收到数据包。
其中,ACK报文中携带有对端应用层设备的rwnd(Receiver Window,接收窗口值),接收窗口值表示设备的接收窗口的大小,接收窗口值越大,则设备接收数据的速率越高。与接收窗口值对应的是发送窗口值,发送窗口值表示设备发送数据的发送窗口的大小,发送窗口值越大,则设备发送数据的速率越高。
如图2所示,本发明实施例提供的一种进行反馈的方法,包括以下步骤:
步骤201:接入层设备在接收到应用层设备的数据包后,确定数据包对应的发送队列;
步骤202:若确定的发送队列的队列深度达到最大队列深度,则接入层设备丢弃收到的数据包;
步骤203:接入层设备向应用层设备发送丢包信息。
本发明实施例中,接入层设备在收到应用层设备发送的数据包后,由接入层设备确定所述数据包对应的发送队列,在确定的发送队列的队列深度达到最大队列深度时,将会丢弃该数据包;在丢弃数据包之后,接入层设备将向应用层设备发送丢包信息。由于在接入层设备就能够进行丢包反馈,提高了PTN网络中对丢包的反馈效率,能够提高传输数据的效率。
在步骤201中,本发明实施例中的接入层设备在接收到应用层设备发送的数据包后,确定数据包对应的发送队列。
其中,由于接入层设备会针对每一个业务流使用对应的发送队列进行发送,因此本发明实施例可以根据数据包所属业务流所使用的发送队列确定数据包对应的发送队列。例如,接入层设备根据业务流ID(Identification,身份)信息确定当前需要发送的数据包A属于业务流M,并且当前业务流M所使用的发送队列为发送队列S,则接入层设备确定当前需要发送的数据包A对应的发送队列为发送队列S。
如图3所示,接入层设备存在多个发送队列S1、S2以及S3,对应的业务流ID分别为ID1、ID2以及ID3。在确定数据包M对应的发送队列时,接入层设备需要查看数据包M的ID信息,假设数据包M的业务流ID信息为“ID3”,则接入层设备确定业务流ID信息为“ID3”的发送队列S3为数据包M对应的发送队列。
可选地,接入层设备在确定数据包对应的发送队列后,需要确定当前发送队列的深度并确定当前队列深度是否达到了该发送队列的最大发送深度。
其中,发送队列的深度体现接入层设备在发送数据包时缓存的待发送数据包所占用的缓存区的大小,当前发送队列对应缓存区中的待发送数据越多则当前发送队列的深度越大。接入层设备通过检测某一发送队列对应的缓存区中已占用的大小判断该发送队列的当前深度。例如,接入层设备对发送队列S指定了某一容量的缓存区,当前该缓存区内的已占用区域达到2K字节,则接入层设备能够通过检测当前该缓存区中已占用的容量判断当前发送队列的深度为2K字节。
发送队列的最大发送深度体现接入层设备针对发送队列设定的缓存区域的最大容量,当某一发送队列达到最大深度后,接入层设备将不再放入数据包。接入层设备会针对每一个发送队列设定对应的缓存区,该缓存区域的容量代表所对应的发送队列的最大深度。由于接入层设备在发送数据包前,会将需要发送的数据包放入发送队列对应的缓存区,并在发送数据包后,从缓存区删除已经发送的数据包,如果接入层设备接收需要发送的数据包的速度过快,导致缓存区内的数据包无法及时发送,则发送队列的队列深度将越来越大,导致接入层设备在队列深度达到最大队列深度后丢弃数据包。其中,接入层设备接收数据包的速率受应用层设备的发送窗口值影响,接入层设备发送数据包的速率受承诺的带宽的影响。例如接入层设备针对某一发送队列S制定了4K字节的缓存区容量,则该发送队列的最大队列深度为4K字节,假设当前发送窗口值过大导致接入层设备接收数据包的速率过快,放入缓存区的数据包来不及被发送出去,则发送队列S对应的缓存区的已占用区域将不断增加,在已占用区域达到4K字节后,接入层设备将不再向发送队列S对应的缓存区域放入数据包,导致数据包被丢弃。
在步骤202中,接入层设备会根据确定的发送队列的深度,判断当前发送队列是否达到最大队列深度;在确定当前队列深度达到最大队列深度后,将丢弃超出队列最大深度的数据包。
例如,接入层设备在接收应用层设备发送的数据包A后,确定数据包A对应的发送队列为发送队列S,其中发送队列S对应的最大队列深度为4K字节,假设接入层设备经过检测确定发送队列S的队列深度已经达到4K字节,因此接入层设备确定当前队列S的队列深度已经达到了最大队列深度,接入层设备将丢弃该数据包A。
在步骤203中,接入层设备在由于发送队列的队列深度达到最大深度并丢弃数据包后,会向应用层设备发送丢包信息。
由于接入层设备在接收应用层设备发送的数据包后,会记录发送该数据包的应用层设备信息,因此在接入层设备丢弃数据包后,该接入层设备能够确定发送该数据包的应用层设备,接入层设备在丢弃数据包后,将向该应用层设备发送丢包信息。
例如图4所示,接入层设备402在丢弃数据包A后,将丢包信息通过ACK报文向应用层设备401发送,以通知该应用层设备401发生丢包,并将被丢弃的数据包A对应的序列号告知应用层设备401,以使应用层设备401重传被丢弃的数据包A。
可选地,丢包信息包括:用于表示有数据包丢弃的信息和/或丢弃的数据包的序列号。
1、丢包信息包括:用于表示有数据包丢弃的信息:
本发明实施例中接入层设备在丢弃数据包后,能够将发生丢包的信息向应用层设备发送,用以告知应用层设备当前有数据包被丢弃。接入层设备在丢弃数据包后,向应用层设备发送有数据包丢失的信息,以使应用层设备在收到该信息之后重新发送之前一段时间向接入层设备发送的全部数据包。例如,约定接入层设备通过连续发送三个相同的ACK报文表示发生丢包,则图4中的应用层设备401在连续收到三个相同的ACK报文后确定发生丢包,将重传此前发送的数据包。另外,接入层设备402也可以向应用层设备401发送NACK(Non-Acknowledgement,否确认字符)报文或者携带特定信息的报文告知应用层设备401当前发生丢包。
2、丢包信息包括:丢弃的数据包的序列号。
本发明实施例中接入层设备在丢弃数据包后,能够将被丢弃的数据包的序列号信息向应用层设备发送,以方便应用层设备在收到被丢弃的数据包的序列号后进行重传。接入层设备在丢弃数据包后,通过报文将被丢弃的数据包的序列号告知应用层设备,以使应用层设备收到丢包的反馈,以及在收到丢弃的数据包的序列号后,重传被丢弃的数据包。例如,图4中的接入层设备402通过ACK报文向应用层设备401发送被丢弃的数据包的序列号,应用层设备401在收到ACK报文发送的数据包的序列号后,确认该序列号代表的数据包被丢弃,将进行重传。
3、丢包信息包括:用于表示有数据包丢弃的信息和丢弃的数据包的序列号。
本发明实施例中接入层设备在丢弃数据包后,能够将发生丢包的信息以及被丢弃的数据包的序列号信息向应用层设备发送,以方便应用层设备在收到丢包信息后根据被丢弃的数据包的序列号进行重传。例如,约定接入层设备通过连续发送三个相同的ACK报文表示发生丢包,并且每个ACK报文均携带被丢弃的数据包的序列号,则图4中的接入层设备402在丢弃数据包M后,向应用层设备401连续发送三个携带数据包M的序列号的ACK报文,应用层设备401在收到三个连续的ACK报文后,确定发生丢包,以及根据ACK报文中的序列号确定数据包M被丢弃,之后应用层设备401将进行数据包M的重传。
可选地,若队列深度小于最大队列深度,则接入层设备将数据包放入到对应的发送队列中;
接入层设备根据队列深度确定接收窗口值;
接入层设备向应用层设备发送接收窗口值,以使应用层设备根据接收窗口值调整发送窗口值。
本发明实施中,接入层设备在确定数据包对应的发送队列后,在该发送队列的队列深度未达到最大深度时,将该数据包放入对应的发送队列;此后,接入层设备根据当前的发送队列深度,确定接收窗口值,并将确定的接收窗口值向应用层设备发送,以使应用层设备根据接收窗口值调整自身的发送窗口值。由于接入层设备能够根据发送队列的队列深度确定接收窗口值,并将接收窗口值向应用层设备发送,以使应用层设备根据接收窗口值调整自身的发送窗口值,因此本实施例实现根据接入层设备的发送队列深度对应用层设备的发送窗口值进行反压调整。
可选地,接入层设备根据队列深度确定接收窗口值,包括接入层设备根据深度范围与反压值的对应关系,确定发送队列当前的队列深度所属的深度范围对应的反压值;以及接入层设备根据反压值确定接收窗口值。
其中,发送队列的深度范围由深度范围两端的门限深度决定;在发送队列的队列深度小于最小门限深度时,接入层设备确定不需要对接收窗口值进行调整;在发送队列的队列深度大于或者等于最小门限深度时,接入层设备根据发送队列的深度范围与反压值的对应关系确定反压值。例如在图5中,队列深度n1所属的深度范围为最小门限深度N1以及最大队列深度N(也相当于是一个门限深度)之间的深度范围。
本发明实施例中,根据队列深度确定接收窗口值的方式有多种,下面列举两种:
方式一,接入层设备根据预设的发送队列的深度范围与反压值之间的对应关系,确定当前队列深度所属的深度范围对应的反压值,进一步将确定的反压值作为接收窗口值。
可以设定反压值代表调整后的接收窗口值的数值,因此在确定反压值后,接入层设备将反压值作为接收窗口值向应用层设备发送。
以图5为例,在接入层设备确定当前发送队列的队列深度为n1时,根据队列深度与反压值的对应关系,确定队列深度n1对应的反压值为Y1,接入层设备将Y1作为接收窗口值向应用层设备发送。
方式二,接入层设备根据预设的发送队列的深度范围与反压值之间的对应关系,确定当前队列深度所属的深度范围对应的反压值,接入层设备将反压值作为当前实际接收窗口值的调整幅度,根据反压值以及对端应用层设备当前的实际接收窗口值确定接收窗口值。其中,接入层设备可以根据最近一次收到的由对端应用层设备发送的ACK报文中的接收窗口值作为实际接收窗口值。
可以设定反压值代表传送网络的对端应用层设备当前实际的接收窗口值需要减小的数值。例如当前对端应用层设备当前实际的接收窗口值为Y0,根据如图5所示的队列深度范围与反压值的关系,接入层设备确定当前发送队列的队列深度为n1时,根据队列深度与反压值的对应关系,确定队列深度n1对应的反压值为Y1,接入层设备根据反压值Y1确定接收窗口值,则接入层设备将Y0-Y1作为接收窗口值向应用层设备发送。
例如,接入层设备最近一次接收到的ACK报文中的对端应用层设备的实际接收窗口值为400字节,接入层设备确定的反压值为50字节,则接入层设备将根据反压值确定的接收窗口值为350字节,并将接收窗口值向应用层设备发送。
另外,也可以将反压值确定为当前实际的接收窗口值需要减小的百分数,假设当前对端应用层设备当前实际的接收窗口值为Y0,接入层设备根据图5所示的队列深度与反压值的对应关系确定队列深度为n1时的反压值为Y1,则接入层设备将以Y0*Y1作为接收窗口值向应用层设备发送。
例如,接入层设备最近一次接收到的ACK报文中的接收窗口值为400字节,接入层设备确定的反压值Y1的数值为80%,表示调整后的接收窗口值为当前实际接收窗口值的80%,则接入层设备将根据反压值确定的接收窗口值为320(400*80%)字节,并将接收窗口值向应用层设备发送。
以上根据队列深度确定接收窗口值的方式只是举例说明,只要是接入层设备能够通过当前的队列深度确定接收窗口值的方法都能够适用于本发明的实施例。
可选地,发送队列的不同队列深度范围对应的反压值可以有一个或者多个。
例如图6所示,某一个发送队列的不同队列深度范围对应的反压值可以有多个:在队列深度范围大于等于0字节并且小于最小门限深度N1时,由于不需要对接收窗口值进行调整因此不设定反压值;在队列深度范围大于等于最小门限深度N1并且小于第二门限深度N2时,设定对应的反压值为X1字节;在队列深度范围大于等于第二门限深度N2并且小于第三门限深度N3时,设定对应的反压值为X2字节;以及在队列深度范围大于第三门限深度N3并且小于等于最大队列深度N时,设定对应的反压值为X3字节,其中X1、X2、X3为正整数,并且X1>X2>X3≥0,N、N1、N2、N3为正整数,并且0<N1<N2<N3<N。
可选地,针对不同的发送队列,可以分别设定队列深度与反压值的对应关系。
如图7所示,针对不同的发送队列S1、S2以及S3,假设S1、S2以及S3的最大队列深度均为N,并且S1、S2以及S3有且只有一个门限深度,分别为N1、N2以及N3,根据发送队列的不同业务需要可以在不同的队列深度范围设定不同的反压值。例如,发送队列S3对及时调整发送速率的要求最高,发送队列S2次之,发送队列S1对及时调整发送速率的要求最低,可以在某一队列深度范围N1至N的范围内针对发送队列S1设定反压值Z1,在N2至N的范围内针对发送队列S2设定反压值Z2以及在N3至N的范围内针对发送队列S3设定反压值Z3,其中N1、N2以及N3分别为发送队列S1、S2以及S3的门限值,并且Z1、Z2、Z3、N1、N2、N3为正整数,并且Z1>Z2>Z3>0,并且0<N1<N2<N3<N。
本发明实施例中,接入层设备根据队列深度所属的深度范围与反压值的对应关系确定接收窗口值的方法有多种,下面列举两种:
方式一,接入层设备根据需要发送的数据包确定对应的发送队列后,根据队列深度所属的深度范围与反压值的对应关系确定当前的队列深度的反压值,并根据反压值确定接收窗口值。
例如,接入层设备确定需要发送的数据包M对应的发送队列后,根据该发送队列当前的队列深度所属的深度范围与反压值的对应关系确定反压值,并根据反压值确定接收窗口值。
方式二,接入层设备根据队列深度所属的深度范围与反压值的对应关系配置业务流反压表,在需要确定接收窗口值时,根据业务流反压表确定接收窗口值。
可选地,接入层设备在确定当前发送队列需要根据反压值对接收窗口值进行反压调整或者不需要根据反压值对接收窗口值进行反压调整后,配置业务流反压表;其中,接入层设备在确定当前队列深度超过最小的门限深度后,确定当前发送队列需要根据反压值对接收窗口值进行反压调整;或者接入层设备在确定当前队列深度未到达最小的门限深度后,确定当前发送队列不需要根据反压值对接收窗口值进行反压调整。
例如针对图7所示的三条发送队列S1、S2以及S3,预设的发送队列S1、S2以及S3的调整后的接收窗口值分别为Z1、Z2以及Z3。假设当前发送队列S1、S2以及S3的队列深度分别为n1、n2以及n3,其中,N1<n1<N,n2<N2<N,N3<n3<N,则当前S1以及S3的队列深度已经达到相应队列的门限值因此需要根据反压值确定接收窗口值,而发送队列S2的队列深度未达到门限深度N2,因此不需要根据反压值确定接收窗口值。
根据以上信息配置发送队列S1、S2以及S3的业务流反压表:
数据流ID | 业务流ID | 反压状态 | 门限深度 | 接收窗口值 |
1 | ID1 | 1 | N1 | Z1 |
2 | ID2 | 0 | N2 | Z2 |
3 | ID3 | 1 | N3 | Z3 |
表1-发送队列S1、S2以及S3的业务流反压表
如表1所示业务流反压表包括业务流编号、业务流ID信息、业务流反压状态、反压门限深度以及反压窗口值等内容。其中,业务流反压状态表示当前是否需要根据反压值对接收窗口值进行调整,以“0”表示不需要根据反压值对接收窗口值进行调整,以“1”表示需要根据反压值对接收窗口值进行调整。
本发明实施例中,接入层设备根据队列深度是否达到了该队列深度的最小的门限深度,确定当前是否需要对接收窗口值进行调整。例如,接入层设备检测当前发送队列的深度达到了该队列深度对应的最小的门限深度,则接入层设备认为需要对接收窗口值进行调整;接入层设备检测当前发送队列的深度未达到该队列深度对应的最小的门限深度,则接入层设备认为不需要对接收窗口值进行调整。
下面以图8说明接入层设备配置业务流反压表的过程:
步骤801:接入层设备接收应用层设备发送的数据包;
步骤802:接入层设备对接收的数据包进行处理,确定数据包对应的业务流ID以及发送队列等信息;
步骤803:接入层设备确定发送队列当前的队列深度,并根据预设的队列深度范围与反压值之间的对应关系确定当前队列深度是否需要调整接收窗口值,并在需要调整接收窗口值后确定当前队列深度所属的适度范围对应的反压值。
步骤804:接入层设备根据确定的业务流ID信息、反压状态、门限深度以及反压值等信息配置业务流反压表。
可选地,接入层设备根据业务流反压表确定业务流对应的发送队列当前的反压状态以及确定发送队列的反压值和/或调整后的接收窗口值。
例如,表1中的发送队列S1当前的反压状态为“1”,因此需要根据反压值确定接收窗口值,接入层设备根据表1中的信息确定发送队列S1的接收窗口值为Z1。
可选地,接入层设备在发现配置的业务流反压表中的信息发生变化后,对业务流反压表进行更新。
例如,经过反压调整后,接入层设备检测到发送队列S1当前的队列深度已经小于门限深度N1,此时接入层设备将更新表1中记载的发送队列S1的反压状态为“0”。
可选地,本发明实施例在满足以下条件中的部分或者全部后,确定需要根据队列深度确定接收窗口值:
条件一,接入层设备收到需要向应用层设备转发的ACK报文。
接入层设备在收到需要向应用层设备转发的ACK报文后,根据ACK报文对应的业务流ID以及根据该业务流ID对应的发送队列的深度确定接收窗口值,或者根据ACK报文对应的业务流ID查看业务流反压表,根据业务流反压表确定该业务流发送队列当前的反压状态以及反压值和/或调整后的接收窗口值。
例如,接入层设备收到对端应用层设备发送的ACK报文,该ACK报文对应的业务流ID为“ID1”,接入层设备可以根据“ID1”发送队列的队列深度,确定该队列深度所属的深度范围对应的反压值,进一步根据反压值确定接收窗口值;接入层设备也可以根据表1确定业务流ID为“ID1”的发送队列的反压状态为“1”,即需要根据反压值调整接收窗口值,则接入层设备根据表1确定接收窗口值为Z1;若接入层设备确定其收到的ACK报文对应的业务流ID为“ID2”,接入层设备根据表1可以确定该发送队列的反压状态为“0”,即不需要根据反压值调整接收窗口值,此时接入层设备不需要确定接收窗口值,也不需要将确定的接收窗口值通过ACK报文向应用层设备发送。
条件二,接入层设备收到应用层设备发送的数据包,并将需要发送的数据包放入对应的发送队列后。
接入层设备在根据需要将发送的数据包放入对应的发送队列后,根据发送队列的队列深度确定接收窗口值,或者根据确定的发送队列对应的的业务流“ID”查看业务流反压表,并根据业务流反压表确定该业务流发送队列当前的反压状态以及反压值和/或调整后的接收窗口值。
例如,接入层设备将需要发送的数据包M放入对应的发送队列后,可以根据该发送队列的队列深度所属的深度范围对应的反压值,确定接收窗口值;接入层设备也可以在将需要发送的数据包M放入对应的发送队列后,根据需要发送的数据包M所属的业务流ID,例如为“ID1”,并根据表1确定该发送队列的反压状态为“1”,即需要根据反压值调整接收窗口值,则接入层设备根据表1确定接收窗口值为Z1。
可选地,接入层设备在确定接收窗口值后,通过报文向应用层设备发送接收窗口值。
本发明实施例中,接入层设备向应用层设备发送接收窗口值的方式有多种,下面列举两种:
方式一,接入层设备向应用层设备发送报文(可以是ACK报文),在该报文中携带接收窗口值的信息,以使应用层设备根据收到的接收窗口值调整发送窗口值。
例如,接入层设备在确定接收窗口值后,向应用层设备发送一个ACK报文,将确定的接收窗口值发送给应用层设备,以使应用层设备根据收到的接收窗口值调整发送窗口值。
方式二,接入层设备收到对端应用层设备发送的ACK报文后,将ACK报文中携带的实际接收窗口值替换为接入层设备确定的接收窗口值,并将该ACK报文向应用层设备转发,以使应用层设备根据收到的接收窗口值调整发送窗口值。
可选地,应用层设备在收到ACK报文中的接收窗口值之后,会根据接收窗口值调整自身的发送窗口值。
在本发明实施例中,应用层设备需要根据接收窗口值对自身的发送窗口值进行调整,可以设定发送窗口值等于或者小于接收窗口值,以防止应用层设备发送了过多的数据而对端的应用层设备无法全部接收。
例如在图4所示的传送网***中,应用层设备401在收到ACK报文后,会根据ACK报文中携带的接收窗口值的大小调整自身的发送窗口值。假设当前应用层设备401的发送窗口值大小为400字节,接入层设备202发送的接收窗口值为100字节,应用层设备401在收到接收窗口值之后,会将自身的发送窗口值改为不超过100字节的某一数值。
可选地,本发明实施例能够应用于“集客专线业务”等通过PTN网络为用户提供承诺带宽服务的业务。
下面以图9说明本发明实施例在通过PTN网络为用户提供承诺带宽服务的业务中起到的作用:
图9所示为向用户提供承诺带宽服务的PTN传送网络架构示意图,其中在PTN传送网的接入层设备902与接入层设备903之间为用户配置承诺的带宽,而用户应用层设备901与接入层设备902之间则没有带宽限制。由于应用层设备901在向接入层设备902发送数据包时的发送速率不受带宽的限制,但在收到应用层设备901发送的数据包后,接入层设备902向传送网发送数据包的速率受到承诺的带宽的限制,因此在应用层设备901发送数据包的速率过快时,将导致接入层设备902的发送队列的队列深度达到最大队列深度,造成接入层设备902丢弃超过最大队列深度的需要发送的数据包。
根据本发明实施例提供的反馈方法,接入层设备902能够在收到应用层设备901发送的数据包后,确定数据包对应的发送队列,如果确定的发送队列已经达到最大队列深度,则接入层设备902在丢弃数据包后,向应用层设备901反馈丢包信息,因此传送网能够对应用层设备901的发送速率过快造成的丢包快速做出响应。
另外,根据本发明实施例提供的方法,接入层设备902还能够在确定的发送队列未达到最大队列深度并将数据包放入对应的发送队列后,根据预设的队列深度范围与反压值的对应关系,确定当前发送队列的队列深度所属的深度范围对应的反压值,进一步根据反压值确定接收窗口值并将确定的接收窗口值向应用层设备901发送,以使应用层设备901根据收到的接收窗口值调整发送窗口值,因此能够根据接入层设备902当前的发送队列深度,对应用层设备901的接收窗口值进行反压调整。
以图10说明本发明实施例进行反馈的具体流程:
步骤1001:接入层设备在接收到应用层设备的数据包后,确定数据包对应的发送队列;
步骤1002:接入层设备判断确定的发送队列当前的队列深度是否达到该发送队列的最大队列深度,如果是,则执行步骤1003,否则执行步骤1004;
步骤1003:接入层设备丢弃收到的数据包,并向应用层设备发送丢包信息;
步骤1004:接入层设备将数据包放入到对应的发送队列中;
步骤1005:接入层设备根据对应的发送队列的队列深度确定反压值;
步骤1006:接入层设备根据反压值确定接收窗口值;
步骤1007:接入层设备向应用层设备发送接收窗口值,以使应用层设备根据接收窗口值调整自身的发送窗口值。
基于同一发明构思,本发明实施例还提供了一种进行反馈的接入层设备。由于该接入层设备解决问题的原理与本发明实施例相似,因此该终端的实施可以参见本发明方法的实施,重复之处不在赘述。
如图11所示,本发明实施例提供的一种进行反馈的接入层设备,包括:
发送队列确定模块1101,用于在接收到应用层设备的数据包后,确定数据包对应的发送队列;
处理模块1102,用于在确定的发送队列的队列深度达到最大队列深度后,则丢弃收到的数据包;
发送模块1103,用于向应用层设备发送丢包信息。
可选地,处理模块1102还用于:
若队列深度小于最大队列深度,则将数据包放入到对应的发送队列中;
根据队列深度确定接收窗口值;
所述发送模块1103,还用于向应用层设备发送接收窗口值,以使应用层设备根据接收窗口值调整自身的发送窗口值。
可选地,处理模块1102具体用于:
根据深度范围与反压值的对应关系,确定发送队列当前的队列深度所属的深度范围对应的反压值;
根据反压值确定接收窗口值。
可选地,处理模块1102具体用于:
将反压值确定为接收窗口值。
可选地,丢包信息包括:用于表示有数据包丢弃的信息和/或丢弃的数据包的序列号。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种进行反馈的方法,其特征在于,该方法包括:
接入层设备在接收到应用层设备的数据包后,确定所述数据包对应的发送队列;
若确定的所述发送队列的队列深度达到最大队列深度,则所述接入层设备丢弃收到的所述数据包;
所述接入层设备向所述应用层设备发送丢包信息。
2.如权利要求1所述的方法,其特征在于,该方法还包括:
若所述队列深度小于最大队列深度,则所述接入层设备将所述数据包放入到对应的所述发送队列中;
所述接入层设备根据所述队列深度确定接收窗口值;
所述接入层设备向所述应用层设备发送所述接收窗口值,以使所述应用层设备根据所述接收窗口值调整自身的发送窗口值。
3.如权利要求2所述的方法,其特征在于,所述接入层设备根据所述队列深度确定接收窗口值,包括:
所述接入层设备根据深度范围与反压值的对应关系,确定所述发送队列当前的队列深度所属的深度范围对应的反压值;
所述接入层设备根据所述反压值确定所述接收窗口值。
4.如权利要求3所述的方法,其特征在于,所述接入层设备根据所述反压值确定所述接收窗口值,包括:
所述接入层设备将所述反压值确定为所述接收窗口值。
5.如权利要求1~4任一所述的方法,其特征在于,所述丢包信息包括:用于表示有数据包丢弃的信息和/或丢弃的数据包的序列号。
6.一种进行反馈的接入层设备,其特征在于,该接入层设备包括:
发送队列确定模块,用于在接收到应用层设备的数据包后,确定所述数据包对应的发送队列;
处理模块,用于在确定的所述发送队列的队列深度达到最大队列深度后,丢弃收到的所述数据包;
发送模块,用于向所述应用层设备发送丢包信息。
7.如权利要求6所述的接入层设备,其特征在于,所述处理模块还用于:
若所述队列深度小于最大队列深度,则将所述数据包放入到对应的所述发送队列中;
根据所述队列深度确定接收窗口值;
所述发送模块,还用于向所述应用层设备发送所述接收窗口值,以使所述应用层设备根据所述接收窗口值调整自身的发送窗口值。
8.如权利要求7所述的接入层设备,其特征在于,所述处理模块具体用于:
根据深度范围与反压值的对应关系,确定所述发送队列当前的队列深度所属的深度范围对应的反压值;
根据所述反压值确定所述接收窗口值。
9.如权利要求8所述的接入层设备,其特征在于,所述处理模块具体用于:
将所述反压值确定为所述接收窗口值。
10.如权利要求6~9任一所述的接入层设备,其特征在于,所述丢包信息包括:用于表示有数据包丢弃的信息和/或丢弃的数据包的序列号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611028847.6A CN108092748A (zh) | 2016-11-21 | 2016-11-21 | 一种进行反馈的方法和接入层设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611028847.6A CN108092748A (zh) | 2016-11-21 | 2016-11-21 | 一种进行反馈的方法和接入层设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108092748A true CN108092748A (zh) | 2018-05-29 |
Family
ID=62168119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611028847.6A Pending CN108092748A (zh) | 2016-11-21 | 2016-11-21 | 一种进行反馈的方法和接入层设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108092748A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005129A (zh) * | 2018-08-29 | 2018-12-14 | 北京百瑞互联技术有限公司 | 一种基于蓝牙mesh网络的数据传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958833A (zh) * | 2010-09-20 | 2011-01-26 | 云南省科学技术情报研究院 | 一种基于red的网络拥塞控制算法 |
US20130007858A1 (en) * | 2010-12-30 | 2013-01-03 | Interdigital Patent Holdings, Inc. | Authentication and secure channel setup for communication handoff scenarios |
CN103248884A (zh) * | 2012-02-14 | 2013-08-14 | 华为技术有限公司 | 一种控制视频速率的***、基站及方法 |
CN103428104A (zh) * | 2012-05-25 | 2013-12-04 | 中国科学院声学研究所 | 一种基于内容中心网络的拥塞控制方法 |
CN106027412A (zh) * | 2016-05-30 | 2016-10-12 | 南京理工大学 | 一种基于拥塞队列长度的tcp拥塞控制方法 |
-
2016
- 2016-11-21 CN CN201611028847.6A patent/CN108092748A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958833A (zh) * | 2010-09-20 | 2011-01-26 | 云南省科学技术情报研究院 | 一种基于red的网络拥塞控制算法 |
US20130007858A1 (en) * | 2010-12-30 | 2013-01-03 | Interdigital Patent Holdings, Inc. | Authentication and secure channel setup for communication handoff scenarios |
CN103248884A (zh) * | 2012-02-14 | 2013-08-14 | 华为技术有限公司 | 一种控制视频速率的***、基站及方法 |
CN103428104A (zh) * | 2012-05-25 | 2013-12-04 | 中国科学院声学研究所 | 一种基于内容中心网络的拥塞控制方法 |
CN106027412A (zh) * | 2016-05-30 | 2016-10-12 | 南京理工大学 | 一种基于拥塞队列长度的tcp拥塞控制方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005129A (zh) * | 2018-08-29 | 2018-12-14 | 北京百瑞互联技术有限公司 | 一种基于蓝牙mesh网络的数据传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2959622B1 (en) | System and method for multi-layer protocol selection | |
US9042364B2 (en) | Method of detecting and handling an endless RLC retransmission | |
US20210167896A1 (en) | Transmitting node, receiving node, methods and mobile communications system | |
KR101853982B1 (ko) | 반송파 집적 환경에서의 데이터 전송 방법 및 시스템 | |
US10979934B2 (en) | System and method for maintaining synchronization in connectionless transmissions | |
KR20070033292A (ko) | 무선 통신 시스템에서 시그날링 데이터 메시지들을전송하는 방법 및 장치 | |
CN103354482B (zh) | 一种数据传输方法、***及基站和用户设备 | |
CN104836646A (zh) | 一种rlc am模式传输可靠性增强方法 | |
JP2005006320A (ja) | 無線通信ネットワーク、無線通信局、およびデータ・パケットを送信する方法 | |
CN1977497B (zh) | 避免服务数据单元(sdu)复制的无损无线链路控制实体(rlc)的重建 | |
CN107623545A (zh) | 文件传输方法及装置 | |
CN105743805A (zh) | 一种数据传输方法及装置 | |
CN104184568B (zh) | 通信***的数据传输方法及*** | |
US7573883B2 (en) | System, method and operator for increasing the active window size in a NAK-based window protocol | |
CN108092748A (zh) | 一种进行反馈的方法和接入层设备 | |
US20090109951A1 (en) | Method and Apparatus for Counting Transmission Times of a PDU | |
JP2009081567A (ja) | 再送制御システム、再送制御方法、送信機及び受信機 | |
CN104219777B (zh) | 宽带高速电台的信道接入方法 | |
Tykhomyrov et al. | Analysis and performance evaluation of the IEEE 802.16 ARQ mechanism | |
US9344534B2 (en) | Method and apparatus for performing data processing and data transmission by 3G AE and 3G RE | |
CN109561516A (zh) | 一种rrc的nas pdu新传和重传的发送方法 | |
JPH11145916A (ja) | 水中音響データ通信方法 | |
CN107204936A (zh) | 一种数据的传输方法、装置及设备 | |
CN109327289A (zh) | 一种数据包重传方法和装置 | |
JP2003078509A (ja) | 自動再送要求通信方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180529 |