CN114095449A - 流量控制方法、网络设备及存储介质 - Google Patents

流量控制方法、网络设备及存储介质 Download PDF

Info

Publication number
CN114095449A
CN114095449A CN202010659337.9A CN202010659337A CN114095449A CN 114095449 A CN114095449 A CN 114095449A CN 202010659337 A CN202010659337 A CN 202010659337A CN 114095449 A CN114095449 A CN 114095449A
Authority
CN
China
Prior art keywords
interval duration
packet
network device
rate
data packet
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
Application number
CN202010659337.9A
Other languages
English (en)
Inventor
彭曦
张帆
张弓
杨莉莉
常彦晓
金闽伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010659337.9A priority Critical patent/CN114095449A/zh
Publication of CN114095449A publication Critical patent/CN114095449A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/326Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种流量控制方法、网络设备及存储介质,属于通信技术领域。在本申请实施例中,网络设备根据期望速率和第一分布函数确定目标包间隔时长,进而根据目标包间隔时长来发送第一业务流的数据包,这样,使得业务流的数据包之间的包间隔时长可控,增强了业务流的可预测性。

Description

流量控制方法、网络设备及存储介质
技术领域
本申请实施例涉及通信技术领域,特别涉及一种流量控制方法、网络设备及存储介质。
背景技术
当前,网络上承载的业务的类型越来越多。许多业务需要进行高速率传输,例如,高清视频业务、虚拟现实(virtual reality,VR)业务等。其中,当业务流进入网络的速率大于网络的服务速率时,将会引起网络拥塞。在这种情况下,则需要对业务流进行控制,以保证业务流在网络中的服务等级协议(service level agreement,SLA)能够得到满足。
发明内容
本申请实施例提供了一种流量控制方法、网络设备及存储介质,能够调整业务流的数据包的包间隔时长,从而使得数据包之间的包间隔时长可控,增强业务流的可预测性。所述技术方案如下:
第一方面,提供了一种流量控制方法,所述方法包括:网络设备根据期望速率和第一分布函数确定目标包间隔时长,所述第一分布函数用于指示所述网络设备发送数据包的包间隔时长与所述期望速率的函数关系,所述期望速率是根据所述网络设备传输的业务流确定出的分配速率,所述目标包间隔时长是指所述网络设备发送所述网络设备传输的业务流的数据包之间的时间间隔;所述网络设备接收属于第一业务流的数据包;所述网络设备根据所述目标包间隔时长发送所述数据包。
在本申请实施例中,网络设备能够根据目标包间隔时长来发送业务流的数据包,从而使得业务流的数据包之间的包间隔时长可控,增强了业务流的可预测性。
在一些可能的实施例中,在根据所述目标包间隔时长发送所述数据包之前,所述网络设备根据所述第一业务流的缓存队列的已占用队列长度,确定所述数据包的丢弃概率;如果所述网络设备根据所述数据包的丢弃概率确定不丢弃所述数据包,则将所述数据包添加至所述缓存队列。如果所述网络设备根据所述数据包的丢弃概率确定丢弃所述数据包,则丢弃所述数据包。
在本申请实施例中,按照业务流的缓存队列的已占用队列长度来确定数据包的丢弃概率,并以该丢弃概率来决定是否对数据包进行丢弃,缓解了业务流突发时的网络拥塞情况,实现了丢包率的量化控制。
在一些可能的实施例中,所述网络设备根据所述第一业务流的缓存队列的已占用队列长度,确定所述数据包的丢弃概率的实现过程为:所述网络设备根据第一映射关系确定与所述第一业务流的缓存队列的已占用队列长度对应的所述数据包的丢弃概率,其中,所述第一映射关系指示队列长度与丢弃概率的映射关系。
在一些可能的实施例中,该流量控制方法还包括:所述网络设备根据所述第一业务流的SLA,确定所述第一映射关系。
在一些可能的实施例中,所述网络设备根据所述第一业务流的SLA,确定所述第一映射关系的实现过程可以为:所述网络设备获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽;所述网络设备根据所述第一业务流的SLA包括的转发速率要求值、时延要求值和丢包率要求值、所述缓存的容量大小、所述网络设备的转发带宽、所述第一分布函数,确定所述第一映射关系。
网络设备在转发业务流的数据包时,数据包可能需要进入到缓存队列中等待,在这种情况下,数据包在缓存队列中等待将会带来一部分时延,后续,网络设备转发数据包的动作也会带来一部分时延。本申请实施例同时考虑这两部分时延,从而确定不同队列长度下的数据包丢弃概率,以保证数据包的传输既能满足时延要求,也能满足丢包率要求。
在一些可能的实施例中,所述网络设备根据期望速率和第一分布函数确定目标包间隔时长的实现过程为:所述网络设备根据所述期望速率确定平均包间隔时长;根据所述平均包间隔时长和所述第一分布函数,确定所述目标包间隔时长,所述目标包间隔时长是服从所述第一分布函数的随机包间隔时长。
在该种实现方式中,第一分布函数是用于指示包间隔时长与期望速率之间的函数关系的,根据该第一分布函数生成目标包间隔时长,目标包间隔时长服从第一分布函数,这样,按照目标包间隔时长来发送数据包,实现了数据包的包间隔时长可控可计算。
在一些可能的实施例中,所述网络设备根据期望速率和第一分布函数确定目标包间隔时长的实现过程为:所述网络设备根据所述期望速率确定平均包间隔时长;所述网络设备根据所述平均包间隔时长和所述第一分布函数,确定第二分布函数;所述网络设备根据所述第二分布函数,确定输出速率,所述第二分布函数用于指示所述输出速率和所述期望速率的函数关系,所述输出速率是服从所述第二分布函数的随机速率;所述网络设备根据所述输出速率,确定所述目标包间隔时长。
在该种实现方式中,第二分布函数用于指示输出速率和期望速率之间的函数关系,根据第二分布函数生成服从第二分布函数的输出速率,后续按照该输出速率来控制数据包的发送,实现了数据包输出速率可预测和可计算。
在一些可能的实施例中,所述第一分布函数为指数分布函数,所述平均包间隔时长等于数据包平均长度与所述期望速率的比值。
在一些可能的实施例中,所述第一分布函数为均匀分布函数,所述平均包间隔时长等于最大包间隔时长与最小包间隔时长的平均值,且所述平均包间隔时长等于数据包平均长度与所述期望速率的比值。
在一些可能的实施例中,当目标包间隔时长为服从第一分布函数的包间隔时长时,所述网络设备根据所述目标包间隔时长发送所述数据包的实现过程为:从发送完第一数据包的时刻起,所述网络设备经过所述目标包间隔时长发送第二数据包,所述第一数据包和所述第二数据包相邻,所述目标包间隔时长是指用于控制所述第二数据包发送的包间隔时长。
在一些可能的实施例中,当目标包间隔时长时根据服从第二分布函数的输出速率确定的包间隔时长时,所述网络设备根据所述目标包间隔时长发送所述数据包的实现过程为:所述网络设备根据所述输出速率和第一周期的时长,从令牌桶中获取N个令牌,所述N为大于或等于0的整数,所述第一周期是指所述输出速率用于控制数据包发送的有效时间;从所述第一周期的开始时刻起,每隔所述目标包间隔时长,所述网络设备使用所述N个令牌中一个令牌发送一个数据包,所述目标包间隔时长为所述第一周期内发送数据包的平均间隔时长。
在一些可能的实施例中,所述网络设备根据所述N个令牌中发送所述数据包之后,在所述第一周期的下一周期的开始时刻,所述网络设备将所述N个令牌添加至所述令牌桶,以此来保证在每个周期的开始时刻该令牌桶均处于充满状态,从而避免由于令牌桶中的令牌数量不足而导致网络设备无法获取到足够数量的令牌。
在一些可能的实施例中,该流量控制方法还包括:所述网络设备获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽;所述网络设备根据所述第一业务流的SLA包含的转发速率要求值和时延要求值、所述缓存的容量大小以及所述网络设备的转发带宽,确定所述第一分布函数和所述期望速率。
在一些可能的实施例中,所述网络设备获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽之前,获取所述网络设备的转发速率上限值;如果所述转发速率要求值小于所述转发速率上限值,则所述网络设备执行获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽的步骤。
其中,网络设备的转发速率上限值反映了网络设备的最大转发能力,通过比较网络设备的转发速率上限值与转发速率要求值,来判断该网络设备的最大转发能力是否能满足业务流的SLA。其中,网络设备的转发速率上限值可以等于网络设备的转发带宽,也可以小于网络设备的转发带宽的数值。
在一些可能的实施例中,所述网络设备根据所处的网络内的多个业务流的SLA、所述网络的拓扑矩阵和所述网络内的链路带宽信息,确定所述第一映射关系以及所述期望速率。
在诸如园区网络等具有控制设备的网络中,还可以由控制设备来搜集网络内的多个业务流的SLA、所述网络的拓扑矩阵和所述网络内的链路带宽信息,网络设备根据上述信息来配置第一映射关系和期望速率,进而根据该第一映射关系和期望速率进行流量控制。这样,整合网络内的资源进行流量控制,提高了流量控制效果。
第二方面,提供了一种网络设备,所述网络设备具有实现上述第一方面中流量控制方法行为的功能。所述网络设备包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的流量控制方法。
第三方面,提供了一种网络设备,所述网络设备的结构中包括处理器和存储器,所述存储器用于存储支持网络设备执行上述第一方面所提供的流量控制方法的程序,以及存储用于实现上述第一方面所提供的流量控制方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的流量控制方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的流量控制方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,通过根据期望速率和第一分布函数确定的目标包间隔时长来调整输出的业务流的数据包之间的包间隔时长,这样,使得业务流的数据包之间的包间隔时长可控,增强了业务流的可预测性。
附图说明
图1是本申请实施例提供的一种流量控制方法的实施场景图;
图2是本申请实施例提供的另一种流量控制方法的实施场景图;
图3是本申请实施例提供的一种网络设备的结构示意图;
图4是本申请实施例提供的一种流量控制方法的流程图;
图5是本申请实施例提供的一种发送缓存队列中的数据包的示意图;
图6是本申请实施例提供的另一种网络设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的流量控制方法进行详细的解释说明之前,先对本申请实施例涉及的应用场景予以介绍。
SLA是服务提供商与客户之间就服务的性能、品质等达成的协议。在互联网领域,业务的SLA通常包括该业务所要求的时延、丢包率、带宽等。随着网络中商业应用的广泛开展,保证业务的SLA得到满足变得越发重要。目前,网络上承载的业务日益复杂,许多业务需要高速率传输,如高清视频业务、VR业务、增强现实(augmented reality,AR)业务。其中,当业务流进入网络的速率大于网络的服务速率时,将会引起网络拥塞。在这种情况下,如果不限制业务流,大量突发的业务流汇聚将使网络更加拥挤。同时,业务流存在微突发、自相似、多流汇聚后仍呈现突发的模式,无法精确量化。因此,如果不对业务流做一定的限制或整形处理,将难以保障业务流在网络中的SLA得到满足。基于此,本申请实施例提供了一种流量控制方法,用于对进入网络的业务流进行控制,以此来保障业务流的SLA。
接下来对本申请实施例的提供的流量控制方法所涉及的实施场景进行介绍。
图1是本申请实施例提供的一种流量控制方法的实施场景图。如图1所示,该实施场景中包括终端设备101、网络设备102以及服务器103。其中,终端设备101通过网络设备102与服务器103进行通信。网络设备102的数量为一个或多个。
在本申请实施例中,服务器103通过网络设备102向终端设备101发送业务流的数据包。其中,网络设备102在接收到服务器103发送的业务流的数据包之后,通过本申请实施例提供的流量控制方法来对该业务流的数据包进行转发,以此来实现对该业务流的数据包的输出速率的调整。
其中,在一种可能的场景中,服务器103为宽带远程接入服务器(broadbandremote access server,BRAS),网络设备102为BRAS与终端设备101之间的接入网中具有数据转发功能的路由设备。需要说明的是,BRAS位于因特网服务提供商(internet serviceprovider,ISP)网络边缘,用于对来自ISP网络的业务流进行路由。通常,从BRAS到终端设备之间的接入网的带宽往往比较紧张,容易出现网络拥塞。在这种情况下,在接入网中容易出现拥塞的网络设备处通过本申请实施例提供的方法来对业务流进行一定的限制,这样,能够减少拥塞引发的时延。
可选地,在另一种可能的场景中,服务器103为园区网络中的服务器,终端设备101为园区网络中诸如网关设备等具有接入控制能力的接入设备,或者,该终端设备101为园区网络中诸如台式电脑、笔记本电脑、智能手机等用户终端。网络设备102为该服务器103与终端设备101之间具有路由转发功能的设备,如路由器、交换机等。
图2是本申请实施例提供的该流量控制方法应用于数据中心网络时的实施场景图。参见图2,该实施场景中包括多个机柜服务器201、多个架顶(top of rack,TOR)交换机202、多个汇聚交换机203和多个核心服务器204。其中,机柜服务器201与TOR交换机202建立有通信连接,TOR交换机202与汇聚交换机203建立有通信连接,汇聚交换机203与核心服务器204建立有通信连接。
需要说明的是,机柜服务器201在上传数据流量时,首先将数据流量发送至对应的TOR交换机202。TOR交换机202在接收到数据流量之后,通过本申请实施例提供的方法对接收到的数据流量进行整形,然后再传输至汇聚交换机203,由汇聚交换机203将该数据流量上传至核心服务器204。如此,能够减轻数据中心网络中的流量突发所导致的网络拥塞,且能够使得数据中心网络中的上行流量可控。
值得注意的是,上述的各种实施场景以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图3是本申请实施例提供的一种网络设备的结构示意图,图1中所示的网络设备102以及图2中所示的TOR交换机202均可通过该网络设备来实现。该网络设备可以包括一个或多个处理器301、通信总线302、存储器303以及一个或多个通信接口304。
处理器301可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(network processor,NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线302用于在上述组件之间传送信息。通信总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器303可以是只读存储器(read-only memory,ROM),也可以是随机存取存储器(random access memory,RAM),也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、光盘(包括只读光盘(compact discread-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器303可以是独立存在,并通过通信总线302与处理器301相连接。存储器303也可以和处理器301集成在一起。
通信接口304使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口304包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在一些实施例中,网络设备可以包括多个处理器,如图3中所示的处理器301和处理器305。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备还可以包括输出设备306和输入设备307。输出设备306和处理器301通信,可以以多种方式来显示信息。例如,输出设备306可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备307和处理器301通信,可以以多种方式接收用户的输入。例如,输入设备307可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器303用于存储执行本申请方案的程序代码308,处理器301可以执行存储器303中存储的程序代码308。该程序代码中可以包括一个或多个软件模块,该网络设备可以通过处理器301以及存储器303中的程序代码308,来实现下文图4实施例提供的流量控制方法。
接下来对本申请实施例提供的流量控制方法进行介绍。
图4是本申请实施例提供的一种流量控制方法的流程图。该方法由网络设备来执行,该网络设备可以为前述图1中所示的网络设备,或者是前述图2中所示的TOR交换机,或者是其他场景中具有数据转发功能的网络设备。该方法包括以下步骤:
步骤401:网络设备根据期望速率和第一分布函数确定目标包间隔时长,该第一分布函数用于指示网络设备发送数据包的包间隔时长与期望速率的函数关系,期望速率是根据网络设备传输的业务流确定出的分配速率,目标包间隔时长用于指示网络设备发送该网络设备传输的业务流的数据包之间的时间间隔。
其中,网络设备传输的业务流可以是指该网络设备传输的多个业务流,该期望速率是根据该多个业务流确定出的分配速率,在这种情况下,该多个业务流对应相同的期望速率,接下来的实施例即以该多个业务流中的一个业务流为例来说明对该业务流进行控制的实现方式,为了方便说明,将该业务流称为第一业务流。或者,该网络设备传输的业务流是指该网络设备传输的多个业务流中的一个业务流,为了方便区分描述,在后续的实施例中将该业务流称为第一业务流。在这种情况下,该期望速率是指第一业务流的期望速率。相应地,该网络设备传输的各个业务流均对应有不同的期望速率。
由于在本步骤中,网络设备要根据期望速率和第一分布函数来确定目标包间隔时长。因此,在执行本步骤之前,网络设备可以首先获取期望速率和第一分布函数。
示例性地,网络设备获取第一业务流的SLA,根据第一业务流的SLA确定该期望速率和第一分布函数。其中,第一业务流的SLA包括第一业务流的转发速率要求值。
在一种可能的实现方式中,网络设备获取一个大于或等于转发速率要求值的速率值作为期望速率。之后,根据该期望速率,从速率与分布函数的映射关系中获取该期望速率对应的第一分布函数。其中,速率与分布函数的映射关系中包括多个速率以及适用于每个速率的分布函数。
在另一种可能的实现方式中,第一业务流的SLA还包括时延要求值,在此基础上,网络设备获取用于缓存第一业务流的数据包的缓存的容量大小和网络设备的转发带宽,根据第一业务流的SLA包括的转发速率要求值和时延要求值、缓存的容量大小以及网络设备的转发带宽,确定第一分布函数和期望速率。
需要说明的是,第一业务流的数据包在到达网络设备之后,可能要进入到缓存队列缓存,以等待网络设备转发。在这种情况下,该数据包在缓存中等待转发的过程会带来一部分的时延。除此之外,网络设备转发数据包的动作也会带来一部分时延。基于此,在本申请实施例中,网络设备获取用于缓存第一业务流的数据包的缓存的容量大小和网络设备的转发带宽。网络设备根据自身的转发带宽和第一业务流的SLA中包含的转发速率要求值,确定得到期望速率所处的第一速率区间,其中,第一速率区间的上限值为网络设备的转发带宽,下限值为转发速率要求值。之后,根据缓存的容量大小和第一业务流的数据包平均长度,确定该缓存中能够缓存的数据包的个数,根据能够缓存的数据包的个数计算缓存中能够缓存的字节总量。假设期望速率为v,则该字节总量与v的比值即为数据包在缓存中带来的部分时延t1。相应地,第一业务流的数据包平均长度与v的比值即为网络设备在转发数据包时所带来的另一部分时延t2。t1和t2的和小于或等于第一业务流的SLA包含的时延要求值t。由上述过程可以得到期望速率v与缓存中能够缓存的字节容量、数据包平均长度、以及时延要求值之间的函数关系如下式(1)所示。
Figure BDA0002577935190000071
其中,LH为缓存中能够缓存的字节总量,
Figure BDA0002577935190000072
为第一业务流的数据包平均长度,v为期望速率,t为第一业务流的SLA包含的时延要求值。其中,数据包平均长度为第一业务流的数据包的实际长度,或者,数据包长度为单位包长,如1,或者数据包长度为最大包长值,例如为1500字节。
在式(1)中,字节容量能够根据缓存的容量大小和数据包平均长度确定得到,也即,字节总量为已知的,而数据包平均长度和时延要求值也均为已知,因此,根据式(1),能够得到期望速率如下式(2)所示。
Figure BDA0002577935190000073
如果
Figure BDA0002577935190000081
大于第一业务流的SLA包含的转发速率要求值,则根据前述确定的第一速率区间和式(2),能够得到期望速率的最终速率区间。其中,最终速率区间的下限值为
Figure BDA0002577935190000082
上限值为该网络设备的转发带宽,在这种情况下,网络设备从第二速率区间中获取一个速率作为期望速率。
可选地,如果
Figure BDA0002577935190000083
不大于第一业务流的SLA包含的转发速率要求值,则期望速率的最终速率区间即为第一速率区间,此时,网络设备从第一速率区间中获取一个速率作为期望速率。
在得到期望速率之后,网络设备根据该期望速率,从速率与分布函数的映射关系中获取该期望速率对应的第一分布函数。其中,速率与分布函数的映射关系中包括多个速率以及适用于每个速率的分布函数。
可选地,在一些可能的情况中,网络设备在获取期望速率和第一分布函数之前,还可以通过比较第一业务流的SLA包含的转发速率要求值与该网络设备的转发速率上限值的大小,来判断该网络设备的转发速率上限值是否具备满足该业务流的SLA的可能。如果该转发速率要求值小于该转发速率上限值,则说明该网络设备的转发能力有可能满足该业务流的SLA中的转发速率要求,此时,执行上述获取期望速率和第一分布函数的操作。如果该转发速率要求值不小于转发速率上限值,则说明该网络设备的转发能力无法满足该业务流的SLA中的转发速率要求,在这种情况下,网络设备结束操作。其中,该网络设备的转发速率上限值等于该网络设备的转发带宽。
在获取到期望速率和第一分布函数之后,在一种可能的实现方式中,网络设备根据期望速率确定平均包间隔时长,根据平均包间隔时长和第一分布函数,确定目标包间隔时长。其中,该第一分布函数可以为指数分布函数、均匀分布函数或其他函数,本申请实施例对此不做限定。目标包间隔时长是服从第一分布函数的随机包间隔时长。
示例性地,网络设备计算第一业务流的数据包平均长度与期望速率的比值,将该比值作为平均包间隔时长。
在确定平均包间隔时长之后,网络设备根据该平均包间隔时长确定第一分布函数的参数值。
示例性地,当第一分布函数为指数分布函数时,如下式(3)中所示,指数分布函数中的未知参数为λ,且该指数分布函数的期望值为1/λ。当x为业务流的数据包之间的包间隔时,则x在服从上述的指数分布的情况下,该指数分布函数的期望值1/λ即表示该业务流的数据包之间的平均包间隔时长。基于此,网络设备通过前述计算得到的平均包间隔时长的数值,则能够计算得到λ。其中,λ就等于前述计算得到的平均包间隔时长的倒数。
Figure BDA0002577935190000084
例如,假设根据数据包长度和期望速率计算得到的平均包间隔时长的值为T1,则由于1/λ=T1,所以确定出该指数分布函数的参数值λ等于1/T1
当第一分布函数为均匀分布函数时,如下式(4)中所示,均匀分布函数中的参数包括a和b,且该均匀分布函数的期望值为
Figure BDA0002577935190000091
当x为业务流的数据包之间的包间隔时,则x在服从上述的均匀分布的情况下,该均匀分布函数的期望值
Figure BDA0002577935190000092
即表示该业务流的数据包之间的平均包间隔时长,而a和b则分别为该业务流额的最小包间隔时长和最大包间隔时长。在本申请实施例中,最小包间隔时长a为指定时长,该指定时长可以为0或者是其他数值,也即,最小包间隔时长a是已知的。基于此,网络设备通过前述计算得到的平均包间隔时长的数值和该最小包间隔时长a的值,即能够计算得到最大包间隔时长b的值。
Figure BDA0002577935190000093
在确定第一分布函数的参数值之后,网络设备根据参数值已知的第一分布函数确定目标包间隔时长。
其中,网络设备在每发送完一个数据包时,即根据第一分布函数生成一个随机包间隔时长,将该随机包间隔时长作为发送下一个数据包的目标包间隔时长,也即,该目标包间隔时长即为已发送完成的这个数据包与下一个数据包之间的包间隔时长。
可选地,在另一种可能的实现方式中,网络设备在确定期望速率之后,根据期望速率确定平均包间隔时长;根据平均包间隔时长和第一分布函数,确定第二分布函数;根据第二分布函数,确定输出速率,第二分布函数用于指示输出速率和期望速率的函数关系,输出速率是服从第二分布函数的随机速率;根据输出速率,确定目标包间隔时长。
其中,网络设备参考前述第一种实现方式中介绍的方法确定平均包间隔时长,并根据该平均包间隔时长确定得到第一分布函数的参数值。
在确定第一分布函数的参数值之后,当第一分布函数为如式(3)中的指数分布函数时,也即,当包间隔时长服从该指数分布时,根据包间隔时长与数据包的输出速率之间的关系,可以确定得到输出速率V所服从的第二分布函数如下式(5)所示。
Figure BDA0002577935190000094
其中,λ就等于前述计算得到的平均包间隔时长的倒数。本申请实施例对此不再赘述。
可选地,当第一分布函数为如式(4)中的均匀分布函数时,也即,当包间隔时长服从均匀分布时,根据包间隔时长与数据包的输出速率之间的关系,可以确定得到输出速率V所服从的第二分布函数如下式(6)所示。
Figure BDA0002577935190000095
其中,a为最小包间隔时长,b为最大包间隔时长,V为输出速率。
在确定第二分布函数之后,网络设备按照一定的周期,根据第二分布函数生成每个周期的随机速率,该随机速率即为相应周期内的输出速率,所谓某个周期内的输出速率是指该输出速率在该周期内有效,能够用于控制数据包的发送,而在该周期之外的其他周期内无效。
另外,还需要说明的是,对于任一个周期,网络设备在该周期的开始时刻生成该周期内用于控制数据包发送的输出速率,或者,在该周期的结束时刻生成下一个周期内用于控制数据包发送的输出速率,或者,网络设备在该周期的开始时刻之前,提前指定时长生成该周期内的输出速率,其中,该指定时长为任意时长,本申请实施例对此不做限定。
在确定得到某个周期内的输出速率之后,计算该输出速率与该周期的时长的乘积,将该乘积向下取整,得到第一数值,该第一数值即为该周期内所要发送的数据包的个数N,根据该周期内所要发送的数据包的个数N、该周期的时长以及数据包平均长度,即能够确定得到在该周期内所要发送的N个数据包中每相邻的两个数据包之间的平均包间隔时长,将该时长作为目标包间隔时长。
步骤402:网络设备接收属于第一业务流的数据包。
步骤403:网络设备根据第一业务流的缓存队列的已占用队列长度,确定数据包的丢弃概率。
在接收到属于第一业务流的数据包之后,网络设备根据第一映射关系确定与第一业务流的缓存度列的已占用队列长度对应的数据包的丢弃概率。
其中,第一映射关系指示队列长度与丢弃概率的映射关系。在本申请实施例中,在执行本步骤之前,网络设备可以根据第一业务流的SLA,确定第一映射关系。
示例性地,网络设备获取用于缓存第一业务流的数据包的缓存的容量大小和网络设备的转发带宽。根据第一业务流的SLA包括的转发速率要求值、时延要求值和丢包率要求值、缓存的容量大小、网络设备的网络带宽以及第一分布函数,确定第一映射关系。
需要说明的是,网络设备根据第一分布函数、转发带宽和转发速率要求值,参考前述介绍的方法能够获得网络设备在转发数据包的过程中所期望的速率,也即前述的期望速率。根据该期望速率,网络设备能够确定得到在转发数据包时带来的时延,根据该转发数据包时所带来的时延和时延要求值,网络设备能够得到第一业务流的数据包在缓存队列中等待时所允许的最大时延。在这种情况下,根据缓存队列在不同队列长度时的数据包个数和期望速率,就能得到不同队列长度对应的时延。根据不同队列长度对应的时延和数据包在缓存队列中等待时所允许的最大时延,确定在缓存队列的队列长度为不同值的情况下,数据包被丢弃的概率,以保证第一业务流数据包在不同的队列长度下按照对应的丢弃概率进行丢弃时能够满足第一业务流的SLA的丢包率要求值。
可选地,在一种可能的场景中,该网络设备所处的网络中的控制设备(如网络控制器等)可以获取网络中的多个业务流的SLA、该网络的拓扑矩阵和该网络内的链路带宽信息,将该多个业务流的SLA、该网络的拓扑矩阵和该网络内的链路带宽信息下发至网络设备。这样,该网络设备根据多个业务流的SLA、该网络的拓扑矩阵和该网络内的链路带宽信息,能够同时获得第一映射关系和前述的期望速率。
示例性地,该网络设备可以将多个业务流的SLA、该网络的拓扑矩阵和链路带宽信息作为指定优化模型的输入,通过求解该指定优化模型,获得第一映射关系和期望速率。
其中,该指定优化模型如下:
目标函数:
Figure BDA0002577935190000101
约束条件:R[l]≤cl
Figure BDA0002577935190000102
Figure BDA0002577935190000103
其中,R[l]为路径向量,该路径向量中的每个元素用于指示对应的路径是否经过第l条链路,cl为第l条链路的带宽,
Figure BDA0002577935190000111
是指业务流k在路径z上分到的带宽,λj为网络设备j的总输出速率,φ(j)是指经过网络设备j的业务流的集合。N(k)是指业务流k经过的网络设备的集合。dj,k是指业务流k在网络设备j上的时延。pj,k是指业务流k在网络设备j上的丢包率。λj,k是指业务流k在网络设备j上的期望速率。Bk是指业务流k的SLA包括的带宽要求值,Dk是指业务流k的SLA包括的时延要求值,Pk是指业务流k的SLA包括的丢包率要求值。
表1是本申请实施例提供的一种第一映射关系的示例。如表1中所示,当队列长度为1时,对应的丢弃概率为0。当队列长度为2时,对应的队列长度仍为0。当队列长度为3时,对应的丢弃概率为0.3%,等等。当队列长度为该缓存队列的最大长度Kmax时,对应的丢弃概率为1。假设网络设备在接收到属于第一业务流的数据包时,缓存队列的已占用队列长度为3,则网络设备根据已占用队列长度从第一映射关系中获取到的对应的丢弃概率即为0.3%,此时,该数据包的丢弃概率即为0.3%。
表1第一映射关系
队列长度 1 2 3 ······ K<sub>max</sub>
丢弃概率 0 0 0.3% ······ 1
步骤404:网络设备根据该数据包的丢弃概率判断是否丢弃该数据包。
在确定该数据包的丢弃概率之后,网络设备根据该数据包的丢弃概率判断是否丢弃该数据包。
示例性地,网络设备针对该数据包,通过随机概率生成器生成一个随机丢弃概率,如果该随机丢弃概率小于或等于该数据包的丢弃概率,则确定丢弃该数据包,在这种情况下,网络设备执行步骤405。如果该随机丢弃概率大于该数据包的丢弃概率,则确定不丢弃该数据包。此时,网络设备执行步骤406。
步骤405:网络设备将该数据包丢弃。
步骤406:网络设备将该数据包添加至缓存队列。
需要说明的是,在本申请实施例中,步骤403至步骤406均为可选步骤,也即,网络设备在接收到属于第一业务流的数据包之后,也可以直接执行步骤407。或者,步骤403至步骤405为可选步骤,也即,网络设备在接收到属于第一业务流的数据包之后,直接将该数据包添加至缓存队列。本申请实施例对此不做限定。
步骤407:网络设备根据目标包间隔时长发送数据包。
对于添加至第一业务流的缓存队列中的数据包,网络设备按照先进先出的原则依次发送该缓存队列中的数据包。
其中,由前述步骤401中的介绍可知,如果网络设备在每发送完一个数据包时,根据第一分布函数生成一个随机包间隔时长作为发送下一个数据包的目标包间隔时长,则在本步骤中,当网络设备发送完第一数据包时,从发送完第一数据包的时刻开始计时,经过该目标包间隔时长之后,网络设备从令牌桶中获取一个令牌,并使用获取的这个令牌发送第二数据包,其中,第一数据包和第二数据包为相邻的两个数据包。
可选地,如果网络设备按照一定的周期,根据第二分布函数生成每个周期的输出速率,并根据每个周期的输出速率生成了相应周期内的平均包间隔时长,将该平均包间时长作为相应周期的目标包间隔时长,则网络设备在每个周期的开始时刻,根据确定的相应周期内的输出速率和周期时长,从令牌桶中获取相应周期内的N个令牌,N为大于或等于0的整数,并从相应周期的开始时刻开始,每隔目标包间隔时长,使用一个令牌发送一个数据包。
示例性地,以第一周期为例,在第一周期的开始时刻,网络设备计算第一周期的时长与第一周期的输出速率的乘积,将该乘积取整向下取整,得到第一数值。之后,网络设备从令牌桶中获取N个令牌,N即等于前述的第一数值。与此同时,从第一周期的开始时刻起,网络设备开始计时,每经过一个目标包间隔时长时,网络设备按照先进先出的原则,使用N个令牌中的一个令牌发送一个数据包。其中,如果缓存队列中的数据包不足N个,则分发令牌之后,将会存在剩余令牌,这种情况下,第一周期内发送的数据包的个数将小于N。如果缓存队列中的数据包的总数大于或等于N,则直至根据N个令牌发送N个数据包为止,也即,直至本周期结束为止。
例如,参见图5,假设第一业务流的缓存队列中有10个数据包,按照先进先出的原则,各个数据包的先后顺序如图5中所示。假设在第一周期的开始时刻,网络设备确定的N的值为3,则网络设备从第一周期的开始时刻开始,当经过一个目标包间隔时长时,使用一个令牌发送数据包A,当经过两个目标包间隔时长时,使用一个令牌发送数据包B,当经过三个目标包间隔时长时,使用一个令牌发送数据包C。
可选地,在一种可能的实现方式中,网络设备在根据输出速率获取到N个令牌之后,在第一周期内根据该N个令牌,按照缓存队列中先进先出的原则,发送小于或等于N数据包即可,其中,相邻的两个数据包之间的包间隔时长可以不同,有的大于目标包间隔时长,有的可能小于目标包间隔时长,只要保证第一周期内发送的数据包的平均包间隔时长满足目标包间隔时长即可。
可选地,在每个周期的开始时刻,网络设备还可以将相应周期的上一周期从令牌桶中获取的令牌添加至令牌桶。仍以第一周期为例,在第一周期的下一周期的开始时刻,网络设备可以将在第一周期的开始时刻从令牌桶中获取的N个令牌填充回令牌桶中,以此来保证在每个周期的开始时刻该令牌桶均处于充满状态,从而避免由于令牌桶中的令牌数量不足而导致网络设备无法获取到足够数量的令牌。
可选地,在另一种可能的实现方式中,网络设备在令牌桶中的令牌数量低于某个参考数值的时候,向该令牌桶中填充令牌,以使该令牌桶恢复至充满状态,避免由于令牌桶中的令牌数量不足而导致无法获取到足够数量的令牌。
在本申请实施例中,通过根据期望速率和第一分布函数确定的目标包间隔时长来调整输出的业务流的数据包之间的包间隔时长,这样,使得业务流的数据包之间的包间隔时长可控,增强了业务流的可预测性。
另外,在本申请实施例中,将根据第一分布函数来确定随机包间隔时长,将该随机包间隔时长作为目标包间隔时长来控制数据包的转发,由于该随机包间隔时长服从第一分布函数,因此,实现了业务流的包间隔分布可预测可计算。另外,由于单业务流的包间隔分布可计算,因此,即使在多业务流汇聚后,聚合流的包间隔分布也比较容易计算。
示例性地,当第一分布函数为指数分布函数时,按照本申请实施例提供的方法来转发业务流的数据包,对于单一业务流来说,该业务流的包间隔分布服从上述式(3)所示的指数分布,在此基础上,当N个业务流汇聚形成聚合流之后,该聚合流的包间隔分布服从下述式(7)所示的分布。
fp(y)=λNexp(-λNy) y≥0 (7)
当第一分布函数为均匀分布函数时,按照本申请实施例提供的方法来转发业务流的数据包时,对于单一业务流来说,该业务流的包间隔分布服从上述式(4)所示的均匀分布,在此基础上,当N个业务流汇聚形成聚合流之后,该聚合流的包间隔分布服从下述式(8)所示的分布。
Figure BDA0002577935190000131
同理,在本申请实施例中,通过根据第二分布函数确定的某个周期的输出速率来控制该周期内从令牌桶中流出的令牌的数量,进而在相应周期内根据流出的令牌来控制的数据包的转发,从而使得数据包的输出速率服从第二分布函数,实现了数据包输出速率的可预测和可计算。
最后,还需要说明的是,在本申请实施例中,按照业务流的缓存队列的已占用队列长度来确定数据包的丢弃概率,并以该丢弃概率来决定是否对数据包进行丢弃,缓解了业务流突发时的网络拥塞情况,实现了丢包率的量化控制。
参见图6,本申请实施例还提供了一种网络设备600,该网络设备600包括:
处理模块601,用于执行前述图4所示的实施例中的步骤401;
接收模块602,用于执行前述图4所示的实施例中的步骤402;
发送模块603,用于执行前述图4所示的实施例中的步骤407。
其中,处理模块601可以由前述图3所示的网络设备中的处理器执行,接收模块602和发送模块603可以由前述图3所示的网络设备中的处理器控制通信接口来实现。
可选地,处理模块601还用于:
根据第一业务流的缓存队列的已占用队列长度,确定数据包的丢弃概率;
如果根据数据包的丢弃概率确定不丢弃数据包,则将数据包添加至缓存队列。
可选地,处理模块601还用于:
如果根据数据包的丢弃概率确定丢弃数据包,则丢弃数据包。
可选地,处理模块601主要用于:
根据第一映射关系确定与第一业务流的缓存队列的已占用队列长度对应的数据包的丢弃概率,其中,第一映射关系指示队列长度与丢弃概率的映射关系。
可选地,处理模块601还用于:
根据第一业务流的SLA,确定第一映射关系。
可选地,处理模块601主要用于:
获取用于缓存数据包的缓存的容量大小和网络设备的转发带宽;
根据第一业务流的SLA包括的转发速率要求值、时延要求值和丢包率要求值、缓存的容量大小、网络设备的转发带宽、第一分布函数,确定第一映射关系。
可选地,处理模块601主要用于:
根据期望速率确定平均包间隔时长;
根据平均包间隔时长和第一分布函数,确定目标包间隔时长,目标包间隔时长是服从第一分布函数的随机包间隔时长。
可选地,处理模块601主要用于:
根据期望速率确定平均包间隔时长;
根据平均包间隔时长和第一分布函数,确定第二分布函数;
根据第二分布函数,确定输出速率,第二分布函数用于指示输出速率和期望速率的函数关系,输出速率是服从第二分布函数的随机速率;
根据输出速率,确定目标包间隔时长。
可选地,第一分布函数为指数分布函数,平均包间隔时长等于数据包平均长度与期望速率的比值。
可选地,第一分布函数为均匀分布函数,平均包间隔时长等于最大包间隔时长与最小包间隔时长的平均值,且平均包间隔时长等于数据包平均长度与期望速率的比值。
可选地,发送模块603主要用于:
从发送完第一数据包的时刻起,经过目标包间隔时长发送第二数据包,第一数据包和第二数据包相邻,目标包间隔时长是指用于控制第二数据包发送的包间隔时长。
可选地,发送模块603主要用于:
根据输出速率和第一周期的时长,从令牌桶中获取N个令牌,N为大于或等于0的整数,第一周期是指输出速率用于控制数据包发送的有效时间;
从第一周期的开始时刻起,每隔目标包间隔时长,使用N个令牌中一个令牌发送一个数据包,目标包间隔时长为第一周期内发送数据包的平均间隔时长。
可选地,处理模块601还用于:
在第一周期的下一周期的开始时刻,将N个令牌添加至令牌桶。
可选地,处理模块601还用于:
获取用于缓存数据包的缓存的容量大小和网络设备的转发带宽;
根据第一业务流的SLA包含的转发速率要求值和时延要求值、缓存的容量大小以及网络设备的转发带宽,确定第一分布函数和期望速率。
可选地,处理模块601还用于:
获取网络设备的转发速率上限值;
如果转发速率要求值小于转发速率上限值,则执行获取用于缓存数据包的缓存的容量大小和网络设备的转发带宽的步骤。
可选地,处理模块601还用于:
网络设备根据所处的网络内的多个业务流的SLA、网络的拓扑矩阵和网络内的链路带宽信息,确定第一映射关系以及期望速率。
综上所述,本申请实施例通过根据期望速率和第一分布函数确定的目标包间隔时长来调整输出的业务流的数据包之间的包间隔时长,这样,使得业务流的数据包之间的包间隔时长可控,增强了业务流的可预测性。
需要说明的是:上述实施例提供的网络设备在进行流量控制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络设备与流量控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本文的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述为本申请实施例提供的实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (33)

1.一种流量控制方法,其特征在于,应用于网络设备,所述方法包括:
所述网络设备根据期望速率和第一分布函数确定目标包间隔时长,所述第一分布函数用于指示所述网络设备发送数据包的包间隔时长与所述期望速率的函数关系,所述期望速率是根据所述网络设备传输的业务流确定出的分配速率,所述目标包间隔时长用于指示所述网络设备发送所述网络设备传输的业务流的数据包之间的时间间隔;
所述网络设备接收属于第一业务流的数据包;
所述网络设备根据所述目标包间隔时长发送所述数据包。
2.根据权利要求1所述的方法,其特征在于,所述网络设备根据所述目标包间隔时长发送所述数据包之前,还包括:
所述网络设备根据所述第一业务流的缓存队列的已占用队列长度,确定所述数据包的丢弃概率;
如果所述网络设备根据所述数据包的丢弃概率确定不丢弃所述数据包,则将所述数据包添加至所述缓存队列。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述网络设备根据所述数据包的丢弃概率确定丢弃所述数据包,则丢弃所述数据包。
4.根据权利要求2或3所述的方法,其特征在于,所述网络设备根据所述第一业务流的缓存队列的已占用队列长度,确定所述数据包的丢弃概率,包括:
所述网络设备根据第一映射关系确定与所述第一业务流的缓存队列的已占用队列长度对应的所述数据包的丢弃概率,其中,所述第一映射关系指示队列长度与丢弃概率的映射关系。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述网络设备根据所述第一业务流的SLA,确定所述第一映射关系。
6.根据权利要求5所述的方法,其特征在于,所述网络设备根据所述第一业务流的SLA,确定所述第一映射关系,包括:
所述网络设备获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽;
所述网络设备根据所述第一业务流的SLA包括的转发速率要求值、时延要求值和丢包率要求值、所述缓存的容量大小、所述网络设备的转发带宽、所述第一分布函数,确定所述第一映射关系。
7.根据权利要求1-6任一所述的方法,其特征在于,所述网络设备根据期望速率和第一分布函数确定目标包间隔时长,包括:
所述网络设备根据所述期望速率确定平均包间隔时长;
根据所述平均包间隔时长和所述第一分布函数,确定所述目标包间隔时长,所述目标包间隔时长是服从所述第一分布函数的随机包间隔时长。
8.根据权利要求1-6任一所述的方法,其特征在于,所述网络设备根据期望速率和第一分布函数确定目标包间隔时长,包括:
所述网络设备根据所述期望速率确定平均包间隔时长;
所述网络设备根据所述平均包间隔时长和所述第一分布函数,确定第二分布函数;
所述网络设备根据所述第二分布函数,确定输出速率,所述第二分布函数用于指示所述输出速率和所述期望速率的函数关系,所述输出速率是服从所述第二分布函数的随机速率;
所述网络设备根据所述输出速率,确定所述目标包间隔时长。
9.根据权利要求7或8所述的方法,其特征在于,所述第一分布函数为指数分布函数,所述平均包间隔时长等于数据包平均长度与所述期望速率的比值。
10.根据权利要求7或8所述的方法,其特征在于,所述第一分布函数为均匀分布函数,所述平均包间隔时长等于最大包间隔时长与最小包间隔时长的平均值,且所述平均包间隔时长等于数据包平均长度与所述期望速率的比值。
11.根据权利要求7所述的方法,其特征在于,所述网络设备根据所述目标包间隔时长发送所述数据包,包括:
从发送完第一数据包的时刻起,所述网络设备经过所述目标包间隔时长发送第二数据包,所述第一数据包和所述第二数据包相邻,所述目标包间隔时长是指用于控制所述第二数据包发送的包间隔时长。
12.根据权利要求8所述的方法,其特征在于,所述网络设备根据所述目标包间隔时长发送所述数据包,包括:
所述网络设备根据所述输出速率和第一周期的时长,从令牌桶中获取N个令牌,所述N为大于或等于0的整数,所述第一周期是指所述输出速率用于控制数据包发送的有效时间;
从所述第一周期的开始时刻起,每隔所述目标包间隔时长,所述网络设备使用所述N个令牌中一个令牌发送一个数据包,所述目标包间隔时长为所述第一周期内发送数据包的平均间隔时长。
13.根据权利要求12所述的方法,其特征在于,所述网络设备根据所述N个令牌中发送所述数据包之后,还包括:
在所述第一周期的下一周期的开始时刻,所述网络设备将所述N个令牌添加至所述令牌桶。
14.根据权利要求1-13任一所述的方法,其特征在于,所述方法还包括:
所述网络设备获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽;
所述网络设备根据所述第一业务流的SLA包含的转发速率要求值和时延要求值、所述缓存的容量大小以及所述网络设备的转发带宽,确定所述第一分布函数和所述期望速率。
15.根据权利要求14所述的方法,其特征在于,所述网络设备获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽之前,还包括:
所述网络设备获取所述网络设备的转发速率上限值;
如果所述转发速率要求值小于所述转发速率上限值,则所述网络设备执行获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽的步骤。
16.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述网络设备根据所处的网络内的多个业务流的SLA、所述网络的拓扑矩阵和所述网络内的链路带宽信息,确定所述第一映射关系以及所述期望速率。
17.一种网络设备,其特征在于,所述网络设备包括:
处理模块,用于根据期望速率和第一分布函数确定目标包间隔时长,所述第一分布函数用于指示所述网络设备发送数据包的包间隔时长与所述期望速率的函数关系,所述期望速率是根据所述网络设备传输的业务流确定出的分配速率,所述目标包间隔时长用于指示所述网络设备发送所述网络设备传输的业务流的数据包之间的时间间隔;
接收模块,用于接收属于第一业务流的数据包;
发送模块,用于根据所述目标包间隔时长发送所述数据包。
18.根据权利要求17所述的网络设备,其特征在于,所述处理模块还用于:
根据所述第一业务流的缓存队列的已占用队列长度,确定所述数据包的丢弃概率;
如果根据所述数据包的丢弃概率确定不丢弃所述数据包,则将所述数据包添加至所述缓存队列。
19.根据权利要求18所述的网络设备,其特征在于,所述处理模块还用于:
如果根据所述数据包的丢弃概率确定丢弃所述数据包,则丢弃所述数据包。
20.根据权利要求18或19所述的网络设备,其特征在于,所述处理模块主要用于:
根据第一映射关系确定与所述第一业务流的缓存队列的已占用队列长度对应的所述数据包的丢弃概率,其中,所述第一映射关系指示队列长度与丢弃概率的映射关系。
21.根据权利要求20所述的网络设备,其特征在于,所述处理模块还用于:
根据所述第一业务流的SLA,确定所述第一映射关系。
22.根据权利要求21所述的网络设备,其特征在于,所述处理模块主要用于:
获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽;
根据所述第一业务流的SLA包括的转发速率要求值、时延要求值和丢包率要求值、所述缓存的容量大小、所述网络设备的转发带宽、所述第一分布函数,确定所述第一映射关系。
23.根据权利要求17-22任一所述的网络设备,其特征在于,所述处理模块主要用于:
根据所述期望速率确定平均包间隔时长;
根据所述平均包间隔时长和所述第一分布函数,确定所述目标包间隔时长,所述目标包间隔时长是服从所述第一分布函数的随机包间隔时长。
24.根据权利要求17-22任一所述的网络设备,其特征在于,处理模块主要用于:
根据所述期望速率确定平均包间隔时长;
根据所述平均包间隔时长和所述第一分布函数,确定第二分布函数;
根据所述第二分布函数,确定输出速率,所述第二分布函数用于指示所述输出速率和所述期望速率的函数关系,所述输出速率是服从所述第二分布函数的随机速率;
根据所述输出速率,确定所述目标包间隔时长。
25.根据权利要求23或24所述的网络设备,其特征在于,所述第一分布函数为指数分布函数,所述平均包间隔时长等于数据包平均长度与所述期望速率的比值。
26.根据权利要求23或24所述的网络设备,其特征在于,所述第一分布函数为均匀分布函数,所述平均包间隔时长等于最大包间隔时长与最小包间隔时长的平均值,且所述平均包间隔时长等于数据包平均长度与所述期望速率的比值。
27.根据权利要求23所述的网络设备,其特征在于,所述发送模块主要用于:
从发送完第一数据包的时刻起,经过所述目标包间隔时长发送第二数据包,所述第一数据包和所述第二数据包相邻,所述目标包间隔时长是指用于控制所述第二数据包发送的包间隔时长。
28.根据权利要求24所述的网络设备,其特征在于,所述发送模块主要用于:
根据所述输出速率和第一周期的时长,从令牌桶中获取N个令牌,所述N为大于或等于0的整数,所述第一周期是指所述输出速率用于控制数据包发送的有效时间;
从所述第一周期的开始时刻起,每隔所述目标包间隔时长,使用所述N个令牌中一个令牌发送一个数据包,所述目标包间隔时长为所述第一周期内发送数据包的平均间隔时长。
29.根据权利要求28所述的网络设备,其特征在于,所述处理模块还用于:
在所述第一周期的下一周期的开始时刻,将所述N个令牌添加至所述令牌桶。
30.根据权利要求17-29任一所述的网络设备,其特征在于,所述处理模块还用于:
获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽;
根据所述第一业务流的SLA包含的转发速率要求值和时延要求值、所述缓存的容量大小以及所述网络设备的转发带宽,确定所述第一分布函数和所述期望速率。
31.根据权利要求30所述的网络设备,其特征在于,所述处理模块还用于:
获取所述网络设备的转发速率上限值;
如果所述转发速率要求值小于所述转发速率上限值,则执行获取用于缓存所述数据包的缓存的容量大小和所述网络设备的转发带宽的步骤。
32.根据权利要求20所述的网络设备,其特征在于,所述处理模块还用于:
所述网络设备根据所处的网络内的多个业务流的SLA、所述网络的拓扑矩阵和所述网络内的链路带宽信息,确定所述第一映射关系以及所述期望速率。
33.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行权利要求1至16中任一项所述的流量控制方法。
CN202010659337.9A 2020-07-09 2020-07-09 流量控制方法、网络设备及存储介质 Pending CN114095449A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010659337.9A CN114095449A (zh) 2020-07-09 2020-07-09 流量控制方法、网络设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010659337.9A CN114095449A (zh) 2020-07-09 2020-07-09 流量控制方法、网络设备及存储介质

Publications (1)

Publication Number Publication Date
CN114095449A true CN114095449A (zh) 2022-02-25

Family

ID=80294778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010659337.9A Pending CN114095449A (zh) 2020-07-09 2020-07-09 流量控制方法、网络设备及存储介质

Country Status (1)

Country Link
CN (1) CN114095449A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024051443A1 (zh) * 2022-09-09 2024-03-14 维沃移动通信有限公司 确定数据传送结束的方法、装置、通信设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000252987A (ja) * 1999-03-02 2000-09-14 Nippon Telegr & Teleph Corp <Ntt> 通信ネットワークシステム及び同システムにおけるトラフィック生成方法ならびにネットワーク性能評価方法
US20120147744A1 (en) * 2010-12-14 2012-06-14 Verizon Patent And Licensing, Inc. Time and data rate policing
US20190068512A1 (en) * 2017-08-30 2019-02-28 Citrix Systems, Inc. Inferring congestion and signal quality
CN111355669A (zh) * 2018-12-20 2020-06-30 华为技术有限公司 控制网络拥塞的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000252987A (ja) * 1999-03-02 2000-09-14 Nippon Telegr & Teleph Corp <Ntt> 通信ネットワークシステム及び同システムにおけるトラフィック生成方法ならびにネットワーク性能評価方法
US20120147744A1 (en) * 2010-12-14 2012-06-14 Verizon Patent And Licensing, Inc. Time and data rate policing
US20190068512A1 (en) * 2017-08-30 2019-02-28 Citrix Systems, Inc. Inferring congestion and signal quality
CN111355669A (zh) * 2018-12-20 2020-06-30 华为技术有限公司 控制网络拥塞的方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄家玮等: "数据中心网络中一种基于ECN的TCP慢启动拥塞控制策略", 电子科技大学学报, no. 02, 30 March 2018 (2018-03-30) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024051443A1 (zh) * 2022-09-09 2024-03-14 维沃移动通信有限公司 确定数据传送结束的方法、装置、通信设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN108390820B (zh) 负载均衡的方法、设备及系统
WO2017025021A1 (zh) 一种处理流表的方法及装置
JP7487316B2 (ja) サービスレベル構成方法および装置
CN114422448A (zh) 一种时间敏感网络流量整形方法
US20200252337A1 (en) Data transmission method, device, and computer storage medium
US9509620B2 (en) Deadline-aware network protocol
WO2021244450A1 (zh) 一种通信方法及装置
Kesselman et al. Game-theoretic analysis of internet switching with selfish users
Gaixas et al. Assuring QoS guarantees for heterogeneous services in RINA networks with ΔQ
CN111211996B (zh) 一种流调度方法
CN114884557B (zh) 一种基于网络演算的卫星时间敏感网络路径选择方法
US20200127936A1 (en) Dynamic scheduling method, apparatus, and system
CN114095449A (zh) 流量控制方法、网络设备及存储介质
US11646978B2 (en) Data communication method and apparatus
US9083617B2 (en) Reducing latency of at least one stream that is associated with at least one bandwidth reservation
US20230336486A1 (en) Service flow scheduling method and apparatus, and system
CN107113323A (zh) 一种数据存储方法、装置和系统
WO2023274165A1 (zh) 参数配置的方法、装置、控制器、通信设备和通信系统
AU2012395740B2 (en) Wireless backhaul system
JP2016122960A (ja) 管理システム、ネットワーク管理方法、ネットワークシステム
Bai et al. Ssp: Speeding up small flows for proactive transport in datacenters
CN114501544A (zh) 一种数据传输方法、装置和存储介质
WO2022246710A1 (zh) 一种控制数据流传输的方法及通信装置
Fetoh et al. Packets distribution over asymmetric paths using concurrent multipath transfer
CN113810305B (zh) 报文转发方法、装置、转发节点以及计算机可读存储介质

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