CN112714072B - 一种调整发送速率的方法及装置 - Google Patents
一种调整发送速率的方法及装置 Download PDFInfo
- Publication number
- CN112714072B CN112714072B CN201911026306.3A CN201911026306A CN112714072B CN 112714072 B CN112714072 B CN 112714072B CN 201911026306 A CN201911026306 A CN 201911026306A CN 112714072 B CN112714072 B CN 112714072B
- Authority
- CN
- China
- Prior art keywords
- rate
- sending
- priority
- adjusted
- information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000005540 biological transmission Effects 0.000 claims abstract description 62
- 238000004891 communication Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 239000000758 substrate Substances 0.000 claims 1
- 230000003993 interaction Effects 0.000 abstract description 8
- 229920006235 chlorinated polyethylene elastomer Polymers 0.000 description 30
- 238000005516 engineering process Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000000136 cloud-point extraction Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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/29—Flow control; Congestion control using a combination of thresholds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种调整发送速率的方法及装置,在该方法中,接收设备首先获取第一信息,该第一信息中包括来自发送端集合的所有数据流的优先级信息,且该发送端集合包括通过同一个物理链路与该接收设备通信的发送设备,然后,接收设备根据该第一信息生成用于指示第一待调整发送设备调整发送速率的第一调整结果,该第一待调整发送设备为该发送端集合中的一个发送设备,从而向该第一待调整发送设备发送该第一调整结果。接收设备可以及时根据物理链路中承载数据流的优先级信息,自动调整隧道的发送速率,减少了与控制器之间的交互流程,可以实现减少解决网络拥塞时所占用的网络资源及时延。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种调整发送速率的方法及装置。
背景技术
软件定义广域网(software-defined wide area network,SD-WAN)技术的主要原理是:通过租用运营商的物理网络,组建自己的上层(overlay)网络,以提供SD-WAN服务。由于用户不需要创建物理网络,从而能够降低组网成本,因此,在SD-WAN服务提供方中得到广泛应用
目前,在SD-WAN场景中,是通过控制器集中控制SD-WAN中的各个链路发送的数据流量,以实现避免拥塞的效果的。例如,SD-WAN场景中的客户驻地设备(customer premisesequipment,CPE)可以测量其所在的链路的可用带宽,并上报给控制器。控制器则可以根据每个链路上一次所使用的带宽以及当前的可用带宽,确定是否需要控制该链路发送的数据流量,然后向CPE发送调整指示。CPE在接收该调整指示后,则控制其发送的数据流量。
在上述方式中,需要控制器和CPE之间进行多次交互才能实现,因此通过控制器控制链路发送的数据流量,虽然可以避免网络拥塞,但是会占用较多的网络资源,并且多次交互也会产生延时,不能及时解决网络拥塞。
发明内容
本申请提供一种调整发送速率的方法及装置,用以减少SD-WAN场景中在解决网络拥塞时所占用的网络资源及时延。
第一方面,提供一种调整发送速率的方法,在该方法中,接收设备首先获取第一信息,该第一信息中包括来自发送端集合的所有数据流的优先级信息,且该发送端集合包括通过同一个物理链路与该接收设备通信的发送设备,然后,接收设备根据该第一信息生成用于指示第一待调整发送设备调整发送速率的第一调整结果,该第一待调整发送设备为该发送端集合中的一个发送设备,从而向该第一待调整发送设备发送该第一调整结果。
在上述技术方案中,接收设备可以及时根据物理链路中承载数据流的优先级信息,自动调整隧道的发送速率,减少了与控制器之间的交互流程,可以实现减少解决网络拥塞时所占用的网络资源及时延。
在一种可能的实现中,该第一调整结果中包括第一待调整发送设备和第一发送速率的对应关系,该第一发送速率不低于第一数据流集合的速率,该第一数据流集合包括来自该第一待调整发送设备的优先级不低于第一优先级的所有数据流,且,该第一待调整发送设备调整后的发送速率不超过该第一发送速率。
在上述技术方案中,第一待调整发送设备可以是发送端集合中的其中一个发送设备。优先级不低于第一优先级的数据流可以认为是优先级较高的数据流。由于调整后的发送速率不低于优先级较高的数据流的速率,从而可以保证调整后的发送速率能够保证优先级较高的数据流的发送,例如,可以保证发送语音或者视频等优先级高的业务的数据流,可以提高用户体验。
在一种可能的实现中,该第一信息还包括来自发送端集合的所有数据流的速率信息,则该接收设备首先确定来自发送端集合的不低于第一优先级的所有数据流的总速率,若该总速率不低于该物理链路的带宽,确定该第一待调整发送设备的发送速率为第一数据流集合的速率,该第一数据流集合包括来自该第一待调整发送设备的优先级不低于第一优先级的所有数据流;若该总速率低于该物理链路的带宽,根据该物理链路的带宽与该总速率的差值确定速率增量,进而确定该第一待调整发送设备的发送速率为该第一数据流集合的速率与该速率增量之和。
在上述技术方案中,通过将优先级较高数据流的总速率与物理链路的带宽进行比较来确定发送速率的方式,可以使得确定的发送速率在保证优先级较高的数据流能够发送的情况下,最大化利用带宽。
在一种可能的实现中,该速率增量可以包括但不限于如下两种获取方式:
第一种获取方式,根据该差值计算平均值,然后将该平均值作为速率增量,其中该平均值为该差值除以该发送端集合中发送设备的数量的商。
在上述技术方案中,在保证优先级较高的数据流能够发送的情况下,若带宽还有剩余,则可以均分该剩余带宽。
第二种获取方式,确定与第一调整发送设备的第二数据流集合的速率,该第二数据流集合包括来自该第一待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流,从而将第二数据流集合的速率作为速率增量。
在上述技术方案中,在保证优先级较高的数据流能够发送的情况下,若带宽还有剩余,可以利用该剩余带宽发送优先级次高的数据流。
在一种可能的实现中,若第二待调整发送设备中不包括优先级不低于第一优先级的数据流,则发送设备还可以根据第一信息生成第二调整结果,该第二调整结果中包括第二待调整发送设备和第二发送速率的对应关系,该第二发送速率不高于速率阈值,该第二待调整发送设备调整后的发送速率不超过该第二发送速率。
在上述技术方案中,若第二待调整发送设备中不包括优先级较高的数据流,则可以设置该第二待调整发送设备的发送速率不高于速率阈值,使得该第二待调整发送设备不占用优先级较高的数据流的带宽。
在一种可能的实现中,该速率阈值的获取方式与速率增量的获取方式相似,在此不再赘述。
在一种可能的实现中,发送设备可以先从接收设备接收包括该物理链路的网络状态信息的第二信息,该网络状态信息包括时延、抖动以及丢包信息中的至少一种,并根据该第二信息确定该物理链路发生拥塞,然后再根据该第一信息生成第一调整结果。
这样,接收设备只有在隧道发生拥塞时,才生成该调整结果,可以减少接收设备的运算量。
第二方面,本申请提供一种调整发送速率的装置,所述装置包括处理器,用于实现上述第一方面描述的方法。所述装置还可以包括存储器,用于存储程序指令和数据。所述存储器与所述处理器耦合,所述处理器可以调用并执行所述存储器中存储的程序指令,用于实现上述第一方面描述的方法中的任意一种方法。所述装置还可以包括通信接口,所述通信接口用于该装置与其它设备进行通信。示例性地,该其它设备为发送设备。
在一种可能的实现中,该装置处理器和通信接口,其中:
处理器,用于获取第一信息,所述第一信息中包括来自发送端集合的所有数据流的优先级信息,所述发送端集合包括通过同一个物理链路与所述装置通信的发送设备;以及,用于根据所述第一信息生成第一调整结果,所述第一调整结果用于指示第一待调整发送设备调整发送速率;所述第一待调整发送设备为所述发送端集合中的一个发送设备;
通信接口,用于向所述第一待调整发送设备发送所述第一调整结果。
在一种可能的实现中,所述第一调整结果中包括该第一待调整发送设备和第一发送速率的对应关系,所述第一发送速率不低于第一数据流集合的速率,所述第一数据流集合包括来自所述第一待调整发送设备的优先级不低于第一优先级的所有数据流,所述第一待调整发送设备调整后的发送速率不超过所述第一发送速率。
在一种可能的实现中,所述第一信息还包括来自发送端集合的所有数据流的速率信息,所述处理器具体用于:
确定来自发送端集合的不低于第一优先级的所有数据流的总速率;
若所述总速率不低于所述物理链路的带宽,确定所述第一待调整发送设备的发送速率为第一数据流集合的速率,所述第一数据流集合包括来自所述第一待调整发送设备的优先级不低于第一优先级的所有数据流;
若所述总速率低于所述物理链路的带宽,根据所述物理链路的带宽与所述总速率的差值确定速率增量,确定所述第一待调整发送设备的发送速率为所述第一数据流集合的速率与所述速率增量之和。
在一种可能的实现中,所述处理模块用于:
根据所述差值计算的平均值,所述平均值为所述差值除以所述发送端集合中发送设备的数量的商,将所述平均值作为所述速率增量;或,
所述速率增量为第二数据流集合的速率,所述第二数据流集合包括来自所述第一待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流。
在一种可能的实现中,所述处理模块还用于根据第一信息生成第二调整结果,所述第二调整结果中包括第二待调整发送设备和第二发送速率的对应关系,所述第二发送速率不高于速率阈值,所述第二待调整发送设备不包括优先级不低于第一优先级的数据流,所述第二待调整发送设备调整后的发送速率不超过所述第二发送速率。
在一种可能的实现中,根据差值计算平均值,将所述平均值作为所述速率阈值;所述差值为所述物理链路的带宽与来自发送端集合的不低于第一优先级的所有数据流的总速率之间的差值,所述平均值为所述差值除以所述发送端集合中发送设备的数量的商;或,
将第二数据流集合的速率作为所述速率阈值,所述第二数据流集合包括来自所述第二待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流。
在一种可能的实现中,所述通信接口还用于,获取第二信息,所述第二信息包括所述物理链路的网络状态信息,所述网络状态信息包括时延、抖动以及丢包信息中的至少一种;
所述处理器还用于,根据所述第二信息确定所述物理链路发生拥塞。
第三方面,本申请提供一种调整发送速率的装置,该装置可以是接收设备,也可以是接收设备中的装置,该装置可以包括处理模块和通信模块,这些模块可以执行上述第一方面任一种实现示例中的网络设备所执行的相应功能,具体的:
处理模块,用于获取第一信息,所述第一信息中包括来自发送端集合的所有数据流的优先级信息,所述发送端集合包括通过同一个物理链路与所述装置通信的发送设备;以及,用于根据所述第一信息生成第一调整结果,所述第一调整结果用于指示第一待调整发送设备调整发送速率;所述第一待调整发送设备为所述发送端集合中的一个发送设备;
通信模块,用于向所述第一待调整发送设备发送所述第一调整结果。
在一种可能的实现中,所述第一调整结果中包括第一待调整发送设备和第一发送速率的对应关系,所述第一发送速率不低于第一数据流集合的速率,所述第一数据流集合包括来自所述第一待调整发送设备的优先级不低于第一优先级的所有数据流,所述第一待调整发送设备调整后的发送速率不超过所述第一发送速率。
在一种可能的实现中,所述第一信息还包括来自发送端集合的所有数据流的速率信息,所述处理模块具体用于:
确定来自发送端集合的不低于第一优先级的所有数据流的总速率;
若所述总速率不低于所述物理链路的带宽,确定所述第一待调整发送设备的发送速率为第一数据流集合的速率,所述第一数据流集合包括来自所述第一待调整发送设备的优先级不低于第一优先级的所有数据流;
若所述总速率低于所述物理链路的带宽,根据所述物理链路的带宽与所述总速率的差值确定速率增量,确定所述第一待调整发送设备的发送速率为所述第一数据流集合的速率与所述速率增量之和。
在一种可能的实现中,所述处理器用于:
根据所述差值计算平均值,所述平均值为所述差值除以所述发送端集合中发送设备的数量的商,将所述平均值作为所述速率增量;或,
所述速率增量为第二数据流集合的速率,所述第二数据流集合包括来自所述第一待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流。
在一种可能的实现中,所述处理器还用于根据第一信息生成第二调整结果,所述第二调整结果中包括第二待调整发送设备和第二发送速率的对应关系,所述第二发送速率不高于速率阈值,所述第二待调整发送设备不包括优先级不低于第一优先级的数据流,所述第二待调整发送设备调整后的发送速率不超过所述第二发送速率。
在一种可能的实现中,根据差值计算的平均值,将所述平均值作为所述速率阈值;所述差值为所述物理链路的带宽与来自发送端集合的不低于第一优先级的所有数据流的总速率之间的差值,所述平均值为所述差值除以所述发送端集合中发送设备的数量的商;或,
将第二数据流集合的速率作为所述速率阈值,所述第二数据流集合包括来自所述第二待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流。
在一种可能的实现中,所述通信模块还用于,获取第二信息,所述第二信息包括所述物理链路的网络状态信息,所述网络状态信息包括时延、抖动以及丢包信息中的至少一种;
所述处理模块还用于,根据所述第二信息确定所述物理链路发生拥塞。
第四方面,本申请提供了一种通信系统,包括如上述第二方面或第三方面中所述的接收设备,还包括发送设备。所述发送设备与所述接收设备之间通过物理链路通信。
第五方面,本申请实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法。
第六方面,本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法。
第七方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现第一方面所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
上述第二方面至第七方面及其实现方式的有益效果可以参考对第一方面的方法及其实现方式的有益效果的描述。
附图说明
图1为本申请实施例提供的通信系统的一种示例的架构图;
图2为本申请实施例提供的一种调整发送速率的方法的一种示例的流程图;
图3为本申请实施例提供的调整发送速率的装置的一种示例的结构示意图;
图4为本申请实施例提供的调整发送速率的装置的另一种示例的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
为便于本领域技术人员理解本方案,下面对本申请实施例所涉及的技术术语进行解释。
1)SD-WAN技术,可以理解为,采用虚拟组网技术的软件控制网络,以分配网络资源,为使用该网络进行通信的通信双方提供服务水平协议(service level agreement,SLA)保证。该虚拟组网技术可以是例如虚拟专用网(virtual private network,VPN)、互联网协议安全(internet protocol security,IPsec)隧道、多协议标记交换(multi-protocollabel switching,MPLS)隧道以及其它虚拟网络管理机制等,在此不作限制。在本申请实施例中,采用SD-WAN技术建立的网络可以称为SD-WAN网络。
2)本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
首先,对本申请实施例所涉及的应用场景进行介绍。
请参考图1,为本申请实施例适用的通信系统100的一种示例的架构图。在图1中,包括第一站点110、SD-WAN网络120、第二站点130以及第三站点140。
其中,第一站点110、第二站点130以及第三站点140可以是物理上相互独立的小型网络,该小型网络可以是企业用户的总部网络、云数据中心和分支机构的网络等,可以采用局域网(local area network,LAN)技术或者其他通信技术创建,在此不作限制。
如图1所示,第一站点110、第二站点130以及第三站点140分别通过CPE连接到SD-WAN网络120,例如,第一站点110通过第一CPE111连接至SD-WAN网络120中,第二站点130通过第二CPE131连接至SD-WAN网络120中,以及第三站点140通过第三CPE141连接至SD-WAN网络120中。CPE,例如,第一CPE111、第二CPE131和第三CPE141,可以是路由器、交换机、调制解调器(modem)等,或者也可以是网关设备或者中继节点(relay node,RN)等,用于为各个站点(第一站点110、第二站点130以及第三站点140)中的终端设备提供有线宽带、互联网协议电视(internet protocol television,IPTV)、网络电话(voice over internetprotocol,VoIP)等互联网业务的接入。终端设备可以是一种向用户提供语音和/或数据连通性的设备,例如可以包括具有有线或无线连接功能的手持式设备、计算机等,计算机内置的或者车载的移动装置,智能眼镜或者智能手表等智能穿戴式设备,虚拟现实(virtualreality,VR)设备,或者智慧家庭(smart home)中的无线或有线终端设备等。
SD-WAN网络120可以是在包括运营商边缘(provider edge,PE)设备的一个或多个运营商网络上运行的。该SD-WAN网络120可以是由软件定义网络(software definednetwork,SDN)控制器121管理,作为一种示例,SDN控制器121可以控制各个站点的CPE设备通过不同的PE设备接入SD-WAN网络120,与CPE连接的PE设备可以是附着到运营商网络且距离该CPE的物理位置最近的PE设备,如图1所示,SDN控制器121确定与该第一CPE111连接的PE设备为第一PE设备122,与第二CPE131连接的PE设备为第二PE设备123,以及与第三CPE141连接的PE设备为第三PE设备124,然后SDN控制器121分别向第一CPE111、第二CPE131和第三CPE141发送注册响应,以指示与其连接的PE设备的信息,从而使得第一CPE111通过该第一PE设备122,第二CPE131通过该第二PE设备123,第三CPE141、通过该第三PE设备124连接到SD-WAN网络120中。连接到该SD-WAN网络120中的多个CPE之间通过虚拟网络隧道进行通信,以互联各个站点。作为一种示例,任意两个CPE之间的虚拟网络隧道可以包括但不限于如下两种类型,第一种类型的虚拟网络隧道可以为需要保证数据流的服务质量(service quality,QoS)的虚拟网络隧道,例如,采用多协议标签交换技术(multi-protocol label switching,MPLS)技术的虚拟网络隧道或者采用虚拟私人网络(virtualprivate network,VPN)技术的虚拟网络隧道等;第二种类型的虚拟网络隧道可以为不需要保证数据流的QoS的虚拟网络隧道,例如,为采用互联网协议(internet protocol,IP)技术的虚拟网络隧道。多个CPE之间可以通过该虚拟网络隧道,进行多对一或者一对多的通信。各个站点所包括的CPE分别与企业用户的SD-WAN控制器150相连,并由SD-WAN控制器150统一管理的,例如,可以控制任意两个CPE之间的隧道发送的数据流量等。
需要说明的是,图1中的站点、CPE、PE设备的数量只是举例,在实际应用中,本申请提供的通信系统100可以为更多个站点或者CPE提供服务,且可以包括更多的PE。此外,在如图1所示的通信系统100中,尽管示出了站点、CPE、PE、SD-WAN控制器以及SDN控制器,但通信系统的架构可以并不限于包括上述内容。例如,还可以包括用于承载虚拟化网络功能的设备、无线中继设备等,在此不一一详述。
本申请实施例提供的通信系统的网络架构,也可以应用于第五代通信系统(the5th generation,5G)、先进的长期演进(advanced long term evolution,LTE-A)系统等。
此外,所述通信系统还可以适用于面向未来的通信技术,本申请实施例描述的通信系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在图1所示的通信系统中,CPE之间的通信是基于虚拟网络隧道进行的。由于每个虚拟网络隧道(可以简称为隧道)的带宽有限,因此,当隧道中发送的数据流的速率过大,则会造成拥塞。
为了缓解拥塞,一种常见的拥塞优化方式是:通过SD-WAN控制器控制隧道发送的数据流量。具体来讲,SD-WAN控制器可以根据每个链路上一次所使用的带宽以及由CPE测量的其所在的链路的可用带宽,确定是否需要调整该链路发送的数据流量,然后向CPE发送调整指示。CPE在接收该调整指示后,则根据该调整指示控制其发送的数据流量。然而,通过SD-WAN控制器控制隧道发送的数据流量时,需要SD-WAN控制器和CPE之间进行多次交互才能实现,从而会占用较多的网络资源,并且多次交互也会产生延时,不能及时解决网络拥塞。
鉴于此,本申请实施例提供一种调整发送速率的方法,接收设备可以及时感知隧道发生拥塞,生成并向发送设备发送用于调整发送速率的信息,以缓解拥塞。
下面结合附图介绍本申请实施例提供的技术方案。
请参考图2,为本申请实施例提供的一种调整发送速率的方法的流程图。
下面将结合图1所示的通信系统100为例说明本申请提供的技术方案。
S201、接收设备接收来自至少一个发送设备的数据流。
在图1所示的通信系统中,站点的CPE会接收到来自其他站点的CPE的数据流。例如,第三CPE141从第一物理链路上可能仅接收到来自第一CPE111的数据流,也可能第三CPE141从第一物理链路上还同时接收来自第二CPE131的数据流。为方便说明,下文中,以第三CPE141从第一物理链路上同时接收来自第一CPE111和第二CPE131的数据流为例。
作为一种示例,第三CPE141接收来自第一CPE111的10个数据流,分别标记为数据流1~数据流10,以及接收来自第二CPE131的8个数据流,分别为数据流11~数据流18。
在本申请实施例中,可以将通过同一物理链路与接收设备通信的至少一个发送设备看做一个发送端集合,例如,第一CPE111和第二CPE131分别向第三CPE141发送数据流,则该发送端集合包括该第一CPE111和第二CPE131。发送端集合中的发送设备可以是动态变化的。
S202、接收设备获取第一信息。
在本申请实施例中,该第一信息可以包括但不限于如下两种情况:
第一种情况,该第一信息中包括来自发送端集合的所有数据流的优先级信息。第二种情况,该第一信息中包括来自发送端集合的所有数据流的优先级信息以及来速率信息。
下面分别对来自发送端集合的所有数据流的优先级信息和来自发送端集合的所有数据流的的速率信息进行说明。
1)来自发送端集合的所有数据流的优先级信息。
来自发送端集合的所有数据流的优先级信息,可以理解为,来自发送端集合的所有数据流中每一个数据流的优先级。优先级可以仅分为高和低两个优先级,也可以分为1~4共四个优先级,或者1~8共八个优先级,或者1~16共十六个优先级。
作为一种示例,每个数据流包括与该数据流对应的四元组或者五元组,该四元组可以包括发送设备的IP地址、接收设备的IP地址、源端口号以及目的端口号。若该数据流包括五元组,则该五元组中除包括四元组所有的内容之外,还包括协议号。为方便说明,下文中,以每个数据流包括与该数据流对应的四元组为例。
接收设备可以根据每个数据流的四元组获取每个数据流的优先级。
本申请实施例中,数据流的优先级可以是与该数据流对应的业务类型的优先级。例如,每个CPE中预先为不同的业务类型配置不同的优先级,如表1所示。在表1中,业务类型A~业务类型E对应的优先级依次为优先级1~优先级5,且优先级1~优先级5的优先级级别依次递减。
表1
业务类型 | 优先级级别 |
A | 1 |
B | 2 |
C | 3 |
D | 4 |
E | 5 |
而不同的业务类型的数据流会通过不同的端口发送给CPE,例如,业务类型A的数据流通过端口0发送,业务类型B的数据流通过端口1发送,以此类推,因此,当第三CPE141接收到数据流后,可以根据该数据流的四元组中的目的端口号获取可以确定与该数据流对应的业务类型,然后,再根据表1的对应关系,确定该业务类型的优先级,即得到该数据流的优先级。例如,HTTP协议对应的端口号可以是80或者8080,在此仅为示例说明,不作限制。
例如,第三CPE141确定接收到的数据流1~数据流10的四元组中目的端口号依次为0、1、2、3、4、0、1、2、3、4,根据业务类型与端口号的对应关系,确定出数据流1~数据流10对应的业务类型依次为A、B、C、D、E、A、B、C、D、E。最后根据表1所示的对应关系,确定数据流1~数据流10的优先级依次为优先级1、优先级2、优先级3、优先级4、优先级5、优先级1、优先级2、优先级3、优先级4、优先级5。
作为另一种示例,数据流的头部可能携带优先级信息,例如,报文头部的差分服务代码点(differentiated services code point,DSCP)中携带优先级信息。在这种情况下,可以直接根据每个数据流的报文头部,确定与每个数据流对应的优先级。
2)来自发送端集合的所有数据流的速率信息。
在本申请实施例中,来自发送端集合的所有数据流的速率信息,可以理解为,来自发送端集合的所有数据流中每一个数据流的速率,或者,可以理解为,来自发送端集合的所有数据流中每一个数据流的速率和来自发送端集合的所有数据流的总速率。
第一种示例,一个数据流可以包括多个数据包,若发送端集合与接收设备之间的物理链路未发生拥塞,则接收设备可以根据接收到每个数据流的数据包的大小,确定每个数据流的速率。例如,接收设备在1秒(s)时间内接收了数据流1的10个数据包,每个数据包的大小为1Mb,则接收设备确定数据流1的速率为10Mbps。以此类推,可以获取每一个数据流的速率。
第二种示例,若该物理链路发生拥塞,则发送端集合中的发送设备发送的所有数据流与接收设备接收的所有数据流不相同,例如,发送设备在1s时间内发送的数据流1中包括10个数据包,但是接收设备只收到5个数据包。在这种情况下,为了能够准确地获取每个数据流的速率,接收设备在获取一个数据流(根据四元组或五元组确定)的多个数据包之后,可以根据数据包头部的序列号,先确定该数据流是否存在丢包,若未发生丢包,则接收设备可以采用第一种示例中的方式获取该数据流的速率。若发生了丢包,则接收设备可以根据其接收到的数据包的数量和大小,推算出来该数据流的速率。
例如,接收设备在1s时间内接收到数据流1的序列号为1,3,4,5,9和10数据包,则说明发送设备已经发送了数据流1的10个数据包(例如,起始序列号为1),序列号2,6,7和8的数据包出现了丢包。
例如,若第三CPE141在1s时间内接收的数据流1的数据包的序列号分别为0、1、5、10,则说明第三CPE141未接收到序列号为2~4、6~9的数据包,即丢失了6个数据包。若第三CPE141接收到的每个数据包的大小均为1Mb,则第三PCE141确定丢失的6个数据包的大小的总和为6Mb,从而确定数据流1的速率为10Mbps。
作为另一种示例,若第三CPE141在1s时间内接收的数据流1的数据包的序列号分别为0、1、5、10,则说明第三CPE141未接收到序列号为2~4、6~9的数据包,即丢失了6个数据包,也就是说接收比例为40%,则第三CPE141可以获取其接收到的所有数据包(即数据包0、数据包1、数据包5、数据包10)的大小的总和,然后与接收比例进行除法运算,得到该数据流的速率。例如,第三CPE141接收到的数据包0、数据包1、数据包5、数据包10的大小的总和为4Mb,接收比例为40%,从而得到数据流1的速率为:40/40%=10Mbps。
进一步,接收设备还可以根据接收到的每一个数据流的速率,确定来自发送端集合的所有数据流的总速率。
当然,也可以通过其他方式获取来自发送端集合的所有数据流的速率信息,在此不作限制。另外,第一信息还可以包括其他内容,在此不一一举例。
S203、接收设备获取第二信息。
在本申请实施例中,第二信息包括发送设备与接收设备之间的物理链路的网络状态信息,例如,网络状态信息包括时延、抖动以及丢包信息(例如丢包率和/或丢包数量等)中的至少一种。
需要说明的是,发送端集合中的多个发送设备可以认为是通过同一个物理链路与接收设备进行通信。例如,第三CPE141接收数据流后,根据每个数据流的四元组,确定发送该数据流的发送设备包括第一CPE111和第二CPE131,则该物理链路为第一CPE111、第二CPE131与第三CPE141之间的物理链路。
作为一种示例,以网络状态信息包括丢包率为例,第三CPE141可以确定接收到的数据流的数据包的序列号是否连续,若连续,则说明未发生丢包;若不连续,则说明发生丢包。其中,丢包的数量可以通过序列号计算获得。
例如,第三CPE141在1s时间内接收到数据流1的2个数据包,其中,第一个数据包的序列号为1,第二个数据包的序列号为6,则说明第三CPE141在1s时间内未接收到序列号为2~5的数据包,即丢失了4个数据包。然后根据接收到的数据包的数量和丢失的数据包的数量,确定丢包率,例如,丢包率=丢失的数据包的数量/(接收的数据包的数量+丢失的数据包的数量)=4/6。上述过程是以一个数据流的丢包率为例进行说明的,实际过程中,可以统计接收到的所有数据流的数据包以及丢失的所有的数据包,然后计算总的丢包率,具体过程与上述内容相似。
当然,第三CPE141也可以获取数据流的时延、抖动等信息,具体获取方式与现有技术中的方式相似,在此不再赘述。
S204、接收设备根据该第二信息确定该物理链路发生拥塞。
当第三CPE141获取该第二信息后,可以根据该第二信息确定第一CPE111、第二CPE131与第三CPE141之间的物理链路是否发生拥塞。
以第二信息为丢包率为例,第三CPE141中预先存储用于判断是否发生拥塞的判断阈值,若第三CPE141确定第二信息中包括丢包率超过该判断阈值,则第三CPE141确定该物理链路发生拥塞,否则,该物理链路未发生拥塞。例如,该判断阈值为40%,第三CPE141获取的丢包率为50%>40%,因此,第三CPE141确定该物理链路发生拥塞。当然,根据丢包率确定该物理链路是否发生拥塞还可以采用其他方式,在此不作限制。
当第二信息包括其他内容,例如丢包信息或者抖动信息等,第三CPE141可以采用与上述内容相似的方式,确定该物理链路是否发生拥塞,在此不再赘述。
需要说明的是,步骤S203~步骤S204为可选步骤,即不是必须要执行的,在图3中用虚线进行表示。另外,若接收设备确定该物理链路未发生拥塞,则接收设备可以不用执行后续步骤。
S205、接收设备根据该第一信息生成调整结果。
在本申请实施例中,该调整结果中包括待调整发送设备与发送速率的对应关系。该调整结果用于指示待调整发送设备调整发送速率。该待调整发送设备为发送端集合中的至少一个发送设备,也就是说,可以对发送端集合中的部分发送设备的发送速率进行调整,也可以调整该发送端集合中每一个发送设备的发送速率。
例如,该调整结果包括第一调整结果,该第一调整结果包括第一待调整发送设备与第一发送速率的对应关系。例如,该调整结果还包括第二调整结果,该第二调整结果包括第二待调整发送设备与第二发送速率的对应关系。
需要说明的是,若某一个发送设备可以通过多条虚拟隧道与接收设备通信,则调整发送设备的发送速率,可以理解为,调整该多条虚拟隧道的总速率。
根据第一信息中包括的内容不同,步骤S206可以包括但不限于如下多种实现方式。为方便说明,下文中以接收设备确定第一待调整设备的发送速率为例进行说明。需要说明的是,该第一待调整可以为发送端集合中的任意一个发送设备。
第一种生成方式,若第一信息中只包括来自发送端集合的所有数据流的优先级信息,接收设备根据该第一信息生成第一调整结果,包括:
接收设备确定第一数据流集合,该第一数据流集合为来自该第一待调整发送设备且优先级不低于第一优先级的所有数据流,然后,接收设备获取该第一数据流集合的速率,确定该第一待调整发送设备的第一发送速率为该第一数据流的速率。
需要说明的是,该第一优先级可以是由接收设备预先设置的,或者,也可以是接收设备根据来自发送端集合的所有数据流的优先级确定的,例如,该第一优先级可以是来自发送端集合的所有数据流的最高优先级或者次高优先级等,在此不对第一优先级进行限制。
以第一待调整发送设备为第一CPE111为例。由于来自发送端集合的所有数据流中包括来自第一CPE111的数据流和来自第二CPE131的数据流,因此,第三CPE141首先需要确定来自第一CPE111的数据流集合。具体来讲,第三CPE141可以根据每个数据流的四元组包括的源端地址,确定与每个数据流对应的发送设备。例如,第三CPE141可以从SD-WAN控制器150中获取与每个站点中的CPE对应的IP地址的范围,例如,第一CPE131分配的IP地址的范围为IP地址1~IP地址200,第二CPE131分配的IP地址的范围为IP地址201~IP地址400。然后,第三CPE111可以确定每个数据流的四元组中的源端地址所属的IP地址的范围,例如,第三CPE141确定数据流1”的源端地址为IP地址20,位于IP地址1~IP地址200中,则第三CPE141确定数据流1”所属的IP地址范围为第一CPE111对应的IP地址的范围,从而确定数据流1”对应的发送设备为第一CPE111。采用上述相同的方式,确定接收到的与每个数据流对应的发送设备,进而确定来自第一CPE111的数据流集合。
作为一种示例,通过上述方式,确定来自第一CPE111的数据流集合中包括10个数据流,优先级1~优先级5的数据流的数量分别为两个。
假设第一优先级为优先级3,从而第三CPE141确定第一数据流集合中包括2个优先级1的数据流、2个优先级2的数据流以及2个优先级3的数据流,然后,可以采用步骤S205中获取速率信息的方式,获取第一数据流集合的速率,例如为120Mbps,即第一发送速率。从而生成第一发送速率与第一CPE111的对应关系,得到与第一CPE111对应的调整结果。
第二种生成方式,若第一信息中包括来自发送端集合的所有数据流的优先级信息和来自发送端集合的所有数据流的速率信息,接收设备根据该第一信息生成第一调整结果,包括:
第一种情况,接收设备首先确定来自发送端集合的不低于第一优先级的所有数据流的总速率,然后,将该总速率与该物理链路的带宽进行比较。若该总速率不低于该物理链路的带宽,则确定该第一待调整发送设备的发送速率为第一数据流集合的速率,该第一数据流集合为来自第一待调整发送设备的优先级不低于第一优先级的所有数据流。
其中,对第一优先级的说明,与第一种生成方式中相似,在此不再赘述。
作为一种示例,第三CPE141获取的第一信息为:接收的数据流1”~数据流18”的优先级依次为优先级1、优先级2、优先级3、优先级4、优先级5、优先级1、优先级2、优先级3、优先级4、优先级5、优先级1、优先级2、优先级3、优先级4、优先级5、优先级1、优先级2、优先级3,速率依次为10MB、30MB、20MB、10MB、10MB、30MB、30MB、20MB、10MB、10MB、10MB、30MB、20MB、10MB、10MB、30MB、30MB、20MB。
假设第一优先级为优先级3,则第三CPE141确定优先级不低于优先级3的数据流为数据流1”~数据流3”、数据流6”~数据流8”、数据流11”~数据流13”以及数据流16”~数据流18”,根据每个数据流的速率,确定不低于优先级3的所有数据流的总速率为280Mbps。若物理链路的带宽为200Mbps,由于不低于优先级3的所有数据流的总速率大于该物理链路的带宽,则第三CPE141可以根据优先级不低于优先级3的数据流中每个数据流的四元组,确定每个数据流对应的发送设备,确定第一数据流集合的速率,例如为120Mbps,然后生成与第一待调整发送设备对应的调整结果,在此不再赘述。
第二种情况,接收设备首先确定来自发送端集合的不低于第一优先级的所有数据流的总速率,然后,将该总速率与该物理链路的带宽进行比较。若该总速率低于该物理链路的带宽,根据该物理链路的带宽与该总速率的差值确定速率增量,确定该第一待调整发送设备的发送速率为该第一数据流集合的速率与该速率增量之和,该速率增量是根据该差值计算的平均值,该平均值为该差值除以该发送端集合中发送设备的数量的商。
沿用第一种情况中的示例,假设第一优先级为优先级3,第三CPE141确定不低于优先级3的所有数据流的总速率为280Mbps。若物理链路的带宽为400Mbps>280Mbps,则第三CPE141首先确定与第一待调整发送设备对应的第一数据流集合的速率,例如为120Mbps,具体方式与前述内容相似,然后,获取该物理链路的带宽与该总速率的差值为400-280=120Mbps,由于第三CPE141根据接收的数据流的五元组确定发送设备包括第一CPE111和第二CPE131,因此,确定发送端集合中包括两个发送设备,从而得到速率增量为120/2=60Mbps。第三CPE141数据流的五元组,确定第一数据流集合的速率,例如为120Mbps,最终得到第一发送速率为120+60=180Mbps。
第三种情况,接收设备首先确定来自发送端集合的不低于第一优先级的所有数据流的总速率,然后,将该总速率与该物理链路的带宽进行比较。若该总速率低于该物理链路的带宽,根据该物理链路的带宽与该总速率的差值确定速率增量,确定该第一待调整发送设备的发送速率为该第一数据流集合的速率与该速率增量之和,该速率增量为第二数据流集合的速率,所述第二数据流集合包括来自该第一待调整发送设备的优先级低于第一优先级且不低于第二优先级的所有数据流。
沿用第一种情况中的示例,假设第一优先级为优先级3,第三CPE141确定不低于优先级3的所有数据流的总速率为280Mbps。若物理链路的带宽为400Mbps>280Mbps,则第三CPE141首先确定与第一待调整发送设备对应的第一数据流集合的速率,例如为120Mbps,具体方式与前述内容相似,然后,获取与第一待调整发送设备对应的第二数据流集合的速率。在这种情况下,第三CPE141中还设置第二优先级,例如,第二优先级可以为4,则第二数据流集合中包括优先级为优先级4的数据流,由第一信息可知,来自第一CPE111的优先级为优先级4的数据流为数据流4”和数据流14”,即第二数据流集合的速率为10+10=20Mbps,最终得到第一发送速率为120+20=140Mbps。
需要说明的是,在这种情况下,由于该物理链路的带宽较大,若采用上述方式给确定出多个待调整发送设备的发送速率之和小于该带宽,则接收设备还可以获取与第一待调整发送设备对应的第三数据流集合的速率,该第三数据流集合包括优先级低于第二优先级且不低于第三优先级的数据流,并确定与第一待调整发送设备对应的第一发送速率为第一数据流集合的速率、第二数据流集合的速率以及第三数据流集合的速率之和。或者,接收设备中还可以设置第四优先级,直至多个待调整发送设备的发送速率之和不小于该带宽。
在上述第一种生成方式和第二种生成方式中,接收设备确定的第一待调整发送设备的发送速率都是结合优先级不低于第一优先级的数据流集合的速率设置,也就是说,实施上述两种生成方式的前提条件是第一待调整发送设备中包括优先级不低于第一优先级的数据流,若第一待调整发送设备不包括优先级不低于第一优先级的数据流,则无法使用上述方式。鉴于此,本申请实施例还提供第三种生成方式,用于在待调整发送设备不包括优先级不低于第一优先级的数据流时,生成与待调整发送设备对应的调整结果。下文中,以不包括优先级不低于第一优先级的数据流的待调整发送设备为第二待调整发送设备为例。
第三种生成方式,接收设备生成包括第二待调整发送设备和第二发送速率的对应关系的第二调整结果,该第二发送速率不高于速率阈值。
该第二调整结果用于指示第二待调整发送设备将发送速率调整为该第二发送速率。
作为一种示例,以第二待调整发送设备为第二CPE131为例。第三CPE141确定第一CPE111中包括不低于第一优先级的数据流,但是第二CPE131中没有低于第一优先级的数据流,则第三CPE141确定第二CPE131的发送速率为速率阈值,该速率阈值可以为0,或者是一个较低的速率值,或者,该速率阈值的确定方式可以与第二种生成方式中速率增量的确定方式相同,在此不再赘述。
另外,第二待调整发送设备可以是发送端集合中的任意一个发送设备,在本申请实施例中,第一待调整发送设备和第二待调整发送设备仅用于说明不同的情况,而不应理解为是两个不同的待调整发送设备。
接收设备可以采用上述三种生成方式中的其中一种,确定发送端集合中每个待调整发送设备的发送速率。或者,接收设备可以先确定待调整发送设备是否包括优先级不低于第一优先级的数据流,如果包括,则可以采用第一种生成方式或者第二种生成方式,如果不包括,则可以采用第三种生成方式。另外,在一些实施例中,发送端集合中的每个发送设备都是待调整发送设备,从而接收设备需要确定与每个发送设备对应的发送速率。在另一些实施例中,发送端集合中的部分发送设备是待调整发送设备,也就是说,部分发送设备的发送速率可以不用调整,具体根据每个发送设备的实际情况确定。
由上述生成调整结果的过程可知,接收设备确定与每个待调整发送设备对应的发送速率,都是结合优先级不低于第一优先级的数据流集合的速率进行的,也就是说,考虑到保持优先级较高的数据流的发送速率能够得到保障,这样,可以避免由于物理链路发生拥塞之后,数据流在SD-WAN网络120的传输过程中发生无差别丢包而造成的优先级较高的数据流被丢弃的问题,实现在物理链路发生拥塞后优先级较高的数据流能够优先发送的效果。
S206、接收设备向待调整发送设备发送调整结果。
接收设备生成与第一待调整发送设备对应的第一调整结果后,则将该第一调整结果发第一待调整发送设备。若接收设备生成多个调整结果,则接收设备需要该多个调整结果发送给对应的待调整发送设备,例如,接收设备还生成第二调整结果,则接收设备将该第二调整结果发送给第二待调整发送设备。
接收设备发送调整结果时,可以携带在对数据流的反馈信息(例如,确认应答(acknowledge,ACK))中发送给每个待调整发送设备,或者也可以作为一个独立的信息发送给每个待调整发送设备,在此不对调整结果的发送方式进行限制。
每个待调整发送设备接收该调整结果后,可以根据其需要发送的数据流的实际情况确定是否接收该调整结果,若接受,则可以根据该调整结果配置其发送速率不超过该调整结果中指示的发送速率,若不接受,则可以忽略该调整结果。
在上述技术方案中,接收设备可以根据来自发送端集合中所有数据流的优先级信息,确定如何调整每个发送设备的发送速率,减少了发送设备与控制器之间的交互流程,可以实现减少解决网络拥塞时所占用的网络资源及时延。
进一步,由于每个发送设备的发送速率是根据数据流的优先级确定的,从而可以保证优先级高的数据流能够优先发送,例如,可以优先发送语音或者视频等优先级高的业务的数据流,可以提高用户体验。
上述本申请提供的实施例中,分别从发送设备的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,发送设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和实现约束条件。
图3示出了一种调整发送速率的装置300的结构示意图。其中,该装置300可以是接收设备或接收设备内置的装置,能够实现本申请实施例提供的方法中接收设备的功能。该装置300可以是硬件结构、软件模块、或硬件结构加软件模块。该装置300可以由芯片系统实现。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
该装置300可以包括处理模块301和通信模块302。
处理模块301,用于获取第一信息,所述第一信息中包括来自发送端集合的所有数据流的优先级信息,所述发送端集合包括通过同一个物理链路与所述装置通信的发送设备;以及,用于根据所述第一信息生成第一调整结果,所述第一调整结果用于指示第一待调整发送设备调整发送速率;所述第一待调整发送设备为所述发送端集合中的一个发送设备;然后,通过通信模块302向所述第一待调整发送设备发送所述第一调整结果。
处理模块301可以用于执行图2所示的实施例中的步骤S202~步骤S205,和/或用于支持本文所描述的技术的其它过程。
通信模块302用于该装置300和其它模块进行通信,其可以是电路、器件、接口、总线、软件模块、收发器或者其它任意可以实现通信的装置。
处理模块301通过通信模块302,执行图2所示的实施例中的步骤S201以及步骤S206,和/或用于支持本文所描述的技术的其它过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
如图4所示为本申请实施例提供的调整发送速率的装置400,其中,调整发送速率的装置400可以是图2所示的实施例中的接收设备或接收设备内置的装置,能够实现本申请实施例提供的方法中接收设备的功能。其中,该调整发送速率的装置400可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
调整发送速率的装置400包括通信接口410和处理器420。
处理器420用于实现或用于支持调整发送速率的装置400实现本申请实施例提供的方法中接收设备的功能。示例性地,处理器420可以根据第一信息生成第一调整结果,具体参见方法示例中的详细描述,此处不做赘述。
调整发送速率的装置400还可以包括至少一个存储器430,用于存储程序指令和/或数据。存储器430和处理器420耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器420可能和存储器430协同操作。处理器420可能执行存储器430中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
调整发送速率的装置400可以通过通信接口410和其它设备进行通信。示例性地,该其它设备可以是发送设备。处理器420可以利用通信接口410从发送设备接收数据流。
通信接口410可以为有线通信接口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为WLAN接口,蜂窝网络通信接口或其组合等。
本申请实施例中不限定上述通信接口410、处理器420以及存储器430之间的具体连接介质。本申请实施例在图4中以存储器430、处理器420以及通信接口410之间通过总线440连接,总线在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器430可用于存储上述表1。
在本申请实施例中,处理器420可以是中央处理单元(central processing unit,CPU),网络处理器(network processor,NP),或者CPU与NP的组合。处理器420还可以包括硬件芯片。上述硬件芯片可以是专用集成电路(application specific integratedcircuits,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic arraylogic,GAL)或其任意组合。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器430可以是非易失性存储器,比如硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行图2中任意一个实施例中接收设备执行的方法。
本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行图2中任意一个实施例中接收设备执行的方法。
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现前述方法中接收设备的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例提供了一种通信系统,所述通信系统包括前述所述的接收设备,还包括发送设备。所述发送设备与所述接收设备之间通过物理链路通信。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD))、或者半导体介质(例如,SSD)等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种调整发送速率的方法,其特征在于,包括:
接收设备获取第一信息,所述第一信息中包括来自发送端集合的所有数据流的优先级信息,所述发送端集合包括通过同一个物理链路与所述接收设备通信的发送设备;
所述接收设备根据所述第一信息生成第一调整结果,所述第一调整结果用于指示第一待调整发送设备调整发送速率;所述第一待调整发送设备为所述发送端集合中的一个发送设备;所述第一调整结果中包括所述第一待调整发送设备和第一发送速率的对应关系,所述第一发送速率不低于第一数据流集合的速率,所述第一数据流集合包括来自所述第一待调整发送设备的优先级不低于第一优先级的所有数据流,所述第一待调整发送设备调整后的发送速率不超过所述第一发送速率;
所述接收设备向所述第一待调整发送设备发送所述第一调整结果。
2.根据权利要求1所述的方法,其特征在于,所述第一信息还包括来自发送端集合的所有数据流的速率信息,
所述接收设备根据所述第一信息生成所述第一调整结果,包括:
所述接收设备确定来自发送端集合的不低于第一优先级的所有数据流的总速率;
若所述总速率不低于所述物理链路的带宽,确定所述第一待调整发送设备的发送速率为第一数据流集合的速率,所述第一数据流集合包括来自所述第一待调整发送设备的优先级不低于第一优先级的所有数据流;
若所述总速率低于所述物理链路的带宽,根据所述物理链路的带宽与所述总速率的差值确定速率增量,确定所述第一待调整发送设备的发送速率为所述第一数据流集合的速率与所述速率增量之和。
3.根据权利要求2所述的方法,其特征在于,
根据所述差值计算平均值,所述平均值为所述差值除以所述发送端集合中发送设备的数量的商,将所述平均值作为所述速率增量;或,
所述速率增量为第二数据流集合的速率,所述第二数据流集合包括来自所述第一待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流。
4.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
所述接收设备还根据所述第一信息生成第二调整结果,所述第二调整结果中包括第二待调整发送设备和第二发送速率的对应关系,所述第二发送速率不高于速率阈值,所述第二待调整发送设备不包括优先级不低于第一优先级的数据流,所述第二待调整发送设备调整后的发送速率不超过所述第二发送速率。
5.根据权利要求4所述的方法,其特征在于,
根据差值计算平均值,将所述平均值作为所述速率阈值;所述差值为所述物理链路的带宽与来自发送端集合的不低于第一优先级的所有数据流的总速率之间的差值,所述平均值为所述差值除以所述发送端集合中发送设备的数量的商;或,
将第二数据流集合的速率作为所述速率阈值,所述第二数据流集合包括来自所述第二待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述接收设备根据所述第一信息生成第一调整结果之前,所述方法还包括:
所述接收设备获取第二信息,所述第二信息包括所述物理链路的网络状态信息,所述网络状态信息包括时延、抖动以及丢包信息中的至少一种;
所述接收设备根据所述第二信息确定所述物理链路发生拥塞。
7.一种调整发送速率的装置,其特征在于,包括:
处理模块,用于获取第一信息,所述第一信息中包括来自发送端集合的所有数据流的优先级信息,所述发送端集合包括通过同一个物理链路与所述装置通信的发送设备;以及,用于根据所述第一信息生成第一调整结果,所述第一调整结果用于指示第一待调整发送设备调整发送速率;所述第一待调整发送设备为所述发送端集合中的一个发送设备;所述第一调整结果中包括所述第一待调整发送设备和第一发送速率的对应关系,所述第一发送速率不低于第一数据流集合的速率,所述第一数据流集合包括来自所述第一待调整发送设备的优先级不低于第一优先级的所有数据流,所述第一待调整发送设备调整后的发送速率不超过所述第一发送速率;
通信模块,还用于向所述第一待调整发送设备发送所述第一调整结果。
8.根据权利要求7所述的装置,其特征在于,所述第一信息还包括来自发送端集合的所有数据流的速率信息,所述处理模块具体用于:
确定来自发送端集合的不低于第一优先级的所有数据流的总速率;
若所述总速率不低于所述物理链路的带宽,确定所述第一待调整发送设备的发送速率为第一数据流集合的速率,所述第一数据流集合包括来自所述第一待调整发送设备的优先级不低于第一优先级的所有数据流;
若所述总速率低于所述物理链路的带宽,根据所述物理链路的带宽与所述总速率的差值确定速率增量,确定所述第一待调整发送设备的发送速率为所述第一数据流集合的速率与所述速率增量之和。
9.根据权利要求8所述的装置,其特征在于,所述处理模块用于:根据所述差值计算平均值,所述平均值为所述差值除以所述发送端集合中发送设备的数量的商,将所述平均值作为所述速率增量;或,
所述速率增量为第二数据流集合的速率,所述第二数据流集合包括来自所述第一待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流。
10.根据权利要求7-9中任一项所述的装置,其特征在于,所述处理模块还用于:
根据所述第一信息生成第二调整结果,所述调整结果中包括第二待调整发送设备和第二发送速率的对应关系,所述第二发送速率不高于速率阈值,所述第二待调整发送设备不包括优先级不低于第一优先级的数据流,所述第二待调整发送设备调整后的发送速率不超过所述第二发送速率。
11.根据权利要求10所述的装置,其特征在于,
根据差值计算平均值,将所述平均值作为所述速率阈值;所述差值为所述物理链路的带宽与来自发送端集合的不低于第一优先级的所有数据流的总速率之间的差值,所述平均值为所述差值除以所述发送端集合中发送设备的数量的商;或,
将第二数据流集合的速率作为所述速率阈值,所述第二数据流集合包括来自所述第二待调整发送设备的优先级低于所述第一优先级且不低于第二优先级的数据流。
12.根据权利要求7-11中任一项所述的装置,其特征在于,所述通信模块还用于,获取第二信息,所述第二信息包括所述物理链路的网络状态信息,所述网络状态信息包括时延、抖动以及丢包信息中的至少一种;
所述处理模块还用于,根据所述第二信息确定所述物理链路发生拥塞。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-6中任意一项所述的方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911026306.3A CN112714072B (zh) | 2019-10-25 | 2019-10-25 | 一种调整发送速率的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911026306.3A CN112714072B (zh) | 2019-10-25 | 2019-10-25 | 一种调整发送速率的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112714072A CN112714072A (zh) | 2021-04-27 |
CN112714072B true CN112714072B (zh) | 2024-06-07 |
Family
ID=75541246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911026306.3A Active CN112714072B (zh) | 2019-10-25 | 2019-10-25 | 一种调整发送速率的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112714072B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002240B (zh) * | 2022-08-04 | 2022-12-16 | 深圳市星卡软件技术开发有限公司 | 一种数据传输系统、方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098301A (zh) * | 2006-06-27 | 2008-01-02 | 华为技术有限公司 | 一种无线网络的二层拥塞控制方法 |
CN104093009A (zh) * | 2014-07-17 | 2014-10-08 | 重庆邮电大学 | 无线自组织网络中基于网络效用的视频传输方法 |
CN104869113A (zh) * | 2015-04-23 | 2015-08-26 | 南京大学 | 基于最小化完成时间的网络传输方法及系统 |
CN108092888A (zh) * | 2017-10-31 | 2018-05-29 | 华为技术有限公司 | 一种基于Overlay网络的传输方法、网关及传输系统 |
CN108432194A (zh) * | 2016-04-28 | 2018-08-21 | 华为技术有限公司 | 一种拥塞处理的方法、主机及系统 |
CN108566341A (zh) * | 2018-04-08 | 2018-09-21 | 西安交通大学 | 一种sd-wan环境中流量控制方法 |
CN109981471A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 一种缓解拥塞的方法、设备和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10637782B2 (en) * | 2011-03-23 | 2020-04-28 | Hughes Network Systems, Llc | System and method for policy-based multipath WAN transports for improved quality of service over broadband networks |
US10523570B2 (en) * | 2017-11-15 | 2019-12-31 | Versa Networks, Inc. | Method and system for shaping traffic from an egress port in a software-defined wide area network |
-
2019
- 2019-10-25 CN CN201911026306.3A patent/CN112714072B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098301A (zh) * | 2006-06-27 | 2008-01-02 | 华为技术有限公司 | 一种无线网络的二层拥塞控制方法 |
CN104093009A (zh) * | 2014-07-17 | 2014-10-08 | 重庆邮电大学 | 无线自组织网络中基于网络效用的视频传输方法 |
CN104869113A (zh) * | 2015-04-23 | 2015-08-26 | 南京大学 | 基于最小化完成时间的网络传输方法及系统 |
CN108432194A (zh) * | 2016-04-28 | 2018-08-21 | 华为技术有限公司 | 一种拥塞处理的方法、主机及系统 |
CN108092888A (zh) * | 2017-10-31 | 2018-05-29 | 华为技术有限公司 | 一种基于Overlay网络的传输方法、网关及传输系统 |
CN109981471A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 一种缓解拥塞的方法、设备和系统 |
CN108566341A (zh) * | 2018-04-08 | 2018-09-21 | 西安交通大学 | 一种sd-wan环境中流量控制方法 |
Non-Patent Citations (2)
Title |
---|
一种面向SD-WAN的协议无感知快速源路由转发方案;李维勇;吴阕;张伟;陈云芳;;计算机工程(07);全文 * |
数据中心网络下基于SDN的TCP拥塞控制机制研究与实现;陆一飞;朱书宏;;计算机学报(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112714072A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11770309B2 (en) | On-demand probing for quality of experience metrics | |
US9197568B2 (en) | Method for providing quality of service in software-defined networking based network and apparatus using the same | |
US8265076B2 (en) | Centralized wireless QoS architecture | |
US8908522B2 (en) | Transmission rate control | |
US11722391B2 (en) | Dynamic prediction and management of application service level agreements | |
US12010025B2 (en) | System and method for accelerating or decelerating a data transport network protocol based on real time transport network congestion conditions | |
CN108566286B (zh) | 一种智能路由器服务质量的实现方法、路由器及电子设备 | |
JP2018511275A (ja) | Tcpトンネル及びネイティブtcp情報に基づくバンドリングシナリオにおけるパケットのスケジューリングのための方法及びシステム | |
WO2018036516A1 (zh) | 流量控制方法及系统,分组交换设备及用户设备 | |
CN112714072B (zh) | 一种调整发送速率的方法及装置 | |
US9736719B2 (en) | Adaptive resource allocation in congested wireless local area network deployment | |
US20230142425A1 (en) | Virtual dual queue core stateless active queue management (agm) for communication networks | |
US11805071B2 (en) | Congestion control processing method, packet forwarding apparatus, and packet receiving apparatus | |
CN112714071A (zh) | 一种数据发送方法及装置 | |
KR101708977B1 (ko) | 무선랜의 패킷 처리장치 및 그 방법 | |
US20220070736A1 (en) | Traffic steering device | |
EP3471351B1 (en) | Method and device for acquiring path information about data packet | |
JP6211257B2 (ja) | 通信システム | |
US10165598B2 (en) | Wireless medium clearing | |
CN114501544A (zh) | 一种数据传输方法、装置和存储介质 | |
WO2012114328A1 (en) | System and method for active queue management per flow over a packet switched network | |
JP2007215061A (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 | ||
GR01 | Patent grant |