CN114500394B - 一种区分服务的拥塞控制方法 - Google Patents
一种区分服务的拥塞控制方法 Download PDFInfo
- Publication number
- CN114500394B CN114500394B CN202210074213.3A CN202210074213A CN114500394B CN 114500394 B CN114500394 B CN 114500394B CN 202210074213 A CN202210074213 A CN 202210074213A CN 114500394 B CN114500394 B CN 114500394B
- Authority
- CN
- China
- Prior art keywords
- flow
- rate
- packet
- router
- interest 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000007493 shaping process Methods 0.000 claims abstract description 24
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 6
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 4
- 230000010355 oscillation Effects 0.000 claims description 4
- 238000009499 grossing Methods 0.000 claims description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 claims 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 claims 2
- 230000006872 improvement Effects 0.000 abstract description 3
- 230000006854 communication Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000011160 research Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- PBGKNXWGYQPUJK-UHFFFAOYSA-N 4-chloro-2-nitroaniline Chemical compound NC1=CC=C(Cl)C=C1[N+]([O-])=O PBGKNXWGYQPUJK-UHFFFAOYSA-N 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008844 regulatory mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012546 transfer 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- 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/215—Flow control; Congestion control using token-bucket
-
- 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/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明适用于网络拥塞控制技术改进领域,提供了一种区分服务的拥塞控制方法,方法:S1、在路由器处利用加权公平队列和令牌桶算法实现逐跳的兴趣包速率整形;S2、由路由器计算每条流的目标速率并由返回的数据包携带至接收端;S3、接收端根据数据包携带的目标速率值设置其在下一时间段发送兴趣包的速率;S4、路由器根据速率整形结果以及从上游返回的数据包中携带的目标速率值动态调整各接口的流量转发比例。大大减少了收敛时间,有利于网络***的稳定性。
Description
技术领域
本发明属于网络拥塞控制技术改进领域,尤其涉及一种区分服务的拥塞控制方法。
背景技术
近年来,随着智能移动设备、物联网、云计算等新型网络服务的飞速发展,全球信息量呈指数型增长趋势。网络体系结构的变化与改进离不开大量的互联网用户对于海量信息的快速传输、分布式存储和大数据应用的种种需求,基于TCP/IP通信协议的上层网络应用程序变得异常丰富,逐渐形成了当前以获取网络内容为主要目的的通信范式,用户上网不再以和某个确定的主机进行通信为主要目的,而是为了浏览网络上的内容,且并不关心这些内容来自哪台具体的网络设备,因此,传统TCP/IP网络中以主机为中心的推送式通信语义与当前网络用户以内容为中心的拉取式服务需求相矛盾。
为有效解决现有的通信语义和用户需求之间的矛盾,以信息中心网络(Information-Centric Networking,ICN)为代表的未来网络架构提出了一种拉取式(Pull)的通信语义,并引入了网内缓存和多路径转发等特性。在ICN网络中,通信的过程并不存在双方的交互,而是一种一对多的交互模式。通信的参与者被人为地区分成了数据的生产者和数据的消费者,网络中的数据传输过程是由数据消费者驱动的,即数据的接收端主动从网络中拉取想要的内容,而数据生产者可以是网络中的任何一台路由器。由于参与网络通信的实体的角色有所差异,ICN网络定义了两种不同的报文格式,分别是兴趣包(Interest Packet)和数据包(Data Packet)。其中,由数据消费者主动向网络发出的网络分组是兴趣包,而受到兴趣包的驱动后,由网络中的任意一个设备发出的,作为兴趣包的应答的网络分组是数据包。在这种通信语义下,数据传输对象往往是数量多且负载重的内容流,所以网络中的拥塞控制至关重要。由于ICN网络在数据结构和转发模式上都与传统的TCP/IP网络大不相同,使得TCP/IP网络下的拥塞控制算法与规则无法直接应用于ICN网络,为研究者带来了新的挑战。如何结合信息中心网络的特性以及拉取式通信语义的传输优势,设计一种高效的拥塞控制算法,是当前拥塞控制领域研究的重点与难点。根据拥塞控制方法执行的位置的不同,基于拉式语义的拥塞控制研究工作可以分为以下两类:
(1)基于接收端驱动的拥塞控制
ICN的一个特点是通过一个兴趣包只能请求到一个数据包,这样的模式能够实现通过控制接收端发送兴趣包的速率,来达到控制数据包返回速率的目的。接收端驱动的拥塞控制就是利用接收端调整兴趣包的发送速率来缓解拥塞。ICP(Interest ControlProtocol)算法直接将TCP下的拥塞控制算法引入ICN。它利用RTO来判断拥塞的情况,并且通过AIMD(Additive Increase Multiplicative Decrease)的方法来控制ICN中接收端发送兴趣包的窗口。如果数据包正常返回没有超时,则对发送窗口做加法操作;如果数据包超时还未到达接收端,则判断为丢包并将发送窗口乘法的减小。然而,该算法没有考虑到多源的问题,并且单个RTO不能很完备的反映网络中的延迟。针对多源多路径问题,CCTCP(Content Centric TCP)算法在接收端对每个流都维持了一个发送窗口和对应的RTO。为了获得每个流的相应的RTO,CCTCP通过预请求的方式来主动的探测后续请求内容数据块的位置,并通过在兴趣包和数据包名字中打上时间戳来计算两个节点之间的RTT。这种方式虽然能够主动、动态地感应网络的状态,但是需要发送过多的预请求,并且在接收端维持多个RTO和窗口,造成网络资源的增加。ConTug算法假设了接收端预先知道整个网络中不同内容存放的位置,给不同内容设定不同的RTO,再用此固定的RTO进行拥塞的判断,从而进行拥塞控制。这个算法虽然考虑到了多个内容下RTO的不同,但是没有考虑中间节点缓存会导致内容位置改变以至于RTO改变的问题,与实际的网络通信场景有出入。
(2)基于路由器的逐跳拥塞控制
由于网络分组是逐跳转发的,可以检测路由节点的拥塞情况并进行逐跳的拥塞控制,从而形成了一类路由器逐跳拥塞控制方法。Rozhnova等人提出的典型算法HoBHIS(Hop-by-hop Interest Shaping)通过监视数据包队列的长度来检测拥塞,如果其长度超过了某个阈值则判定为拥塞,并通过已知的链路带宽和队列的占用率情况进行兴趣包速率的整形,通过调整当前节点发送兴趣包的速率来适应此时的拥塞情况和带宽。Wang等人提出的HIS(Hop-by-hop Interest Shaping)算法从兴趣包和数据包均可能会造成网络拥塞的角度出发,在对兴趣包的发送速率进行调整时,考虑这两种分组之间的互相依赖关系,使用网络效用最大化模型对***进行分析并提出一种基于双向流的兴趣包速率调整算法,实现了较高的链路利用率和零数据丢失。此外,ChengYi等学者提出当兴趣包速率超过路由器允许的速率时,向下游路由器发送一种特殊的包NACK(NegativeAcknowledgement),下游路由器收到之后调节兴趣包的转发速率并寻找其他可用的接口转发兴趣包,以降低单条链路的负载。IRNA(Hop-By-Hop Interest Rate Notification and Adjustment)算法利用上一跳来辅助逐跳控制,通过检测路由器发送队列的长度来判断拥塞,同时将调整后的速率通过提示包反馈到下游,通过下游来控制包的发送速率以缓解拥塞,但其依赖的参数较多,还需要考虑提示包会占据链路带宽的问题。
尽管现有的研究工作为面向拉式通信语义的拥塞控制机制的设计提供了许多思路和手段,但是仍然存在许多问题需要解决。比如如何提高拥塞检测机制的准确度,如何在网络拥塞时对不同的业务进行区分,如何面向不同的应用场景设计更加通用的拥塞控制算法等。这些问题的解决有利于实现数据的高效传输。
Mahdian等人提出了一种基于速率的多路径感知ICN拥塞控制方案MIRCC(Multipath-aware ICN Rate-based Congestion Control)。该方案受到IP网络中RCP(Rate Control Protocol)算法的启发,但与RCP相比,收敛时间更短,超调和振荡更小。MIRCC使用一种多路径策略,允许流利用所有可用路径转发从而充分利用网络资源,同时保持竞争流之间的公平性。其中,每个转发器计算每条链路的主速率以及次级速率,主速率为一条流所有子流速率的最大值,以保证流之间的最大最小公平;次级速率的主要作用是充分利用链路的剩余带宽,以提高网络利用率。当数据包返回时,同时在其中携带沿途中间节点的主速率以及次级速率各自的最小值,在到达接收端时,利用数据包中携带的速率值来更新对应的兴趣包发送速率,从而适应不同的网络状况,实现良好的流公平和链路利用率,如图1所示。
上述方法也存在一定的问题。MIRCC算法虽然通过计算流的速率并通过数据包反馈的方式来直接控制兴趣包的发送速率,但由于其需要诸多参数的计算,使得其计算结果往往是不准确的,并且开销较大。此外,该算法也无法处理持续以过高速率发包的贪婪客户端。
Schneider等人开发了一种实用的拥塞控制机制PCON(Practical CongestionControl Scheme)。如图2所示,PCON使用基于CoDel的主动队列管理算法来检测拥塞,即数据包在队列中的最小逗留时间超过目标阈值(默认为5ms)一段时间则认为该链路出现拥塞。然后通过明确地标记某些数据包来向消费者发送拥塞信号,这样下游路由器根据拥塞信号可以将流量转移到备选路径,同时消费者在收到携带拥塞标记的数据包时可以降低其兴趣包发送速率,以缓解网络拥塞。该方案能够适应IP overlay以及无线网络等多种场景,具有很好的可扩展性。
上述方法也存在着一定的问题。PCON并没有对一条流的不同路径上的拥塞进行区分,当某条流的一条路径拥塞时,即使另外一条路径不拥塞,客户端也会降低兴趣包发送速率,这会导致网络的链路利用率较低。此外,该方案中的转发策略没有对如何避免过度调整给出较满意的解决方案。
发明内容
本发明的目的在于提供一种区分服务的拥塞控制方法,旨在解决现有的面向拉式通信语义的拥塞控制机制大多关注于如何最大化网络资源利用率,以及如何保证不同流之间的公平性,而很少考虑对不同业务流进行区分。然而,在实际的网络场景中,由于网络应用的多样性,不同业务类型的服务对传输性能的要求是不同的,即对数据传输的时延、丢包、抖动等行为的容忍度不同。如果不对这些不同类别的服务加以区分,将会给用户带来糟糕的网络体验的技术问题。
本发明是这样实现的,一种区分服务的拥塞控制方法,所述区分服务的拥塞控制方法包括以下步骤:
S1、在路由器处利用加权公平队列和令牌桶算法实现逐跳的兴趣包速率整形;
S2、由路由器计算每条流的目标速率并由返回的数据包携带至接收端;
S3、接收端根据数据包携带的目标速率值设置其在下一时间段发送兴趣包的速率;
S4、路由器根据速率整形结果以及从上游返回的数据包中携带的目标速率值动态调整各接口的流量转发比例。
本发明的进一步技术方案是:路由器在每个输出接口为每条流维护一个先进先出的虚拟队列;兴趣包经过转发模块的处理,到达输出接口时,根据其请求内容的前缀和请求服务的优先级将其划分到所属队列;兴趣包在经过流分类后,在决定其入队列或者丢弃前,都要先为其赋予一个调度序列号SN(Sequence Number),SN的值的实际含义为兴趣包的虚拟完成时间,其计算方式为:其中,new_packet_length为到来的兴趣包对应的数据包的大小,weight为到来的兴趣包所属的流的权重,根据兴趣包头部的DS字段表示包所请求服务的类型设置,penaltyFactor为惩罚因子。
本发明的进一步技术方案是:加权公平队列调度器对到达路由器输出接口的兴趣包处理包括以下步骤:
S11、兴趣包到达输出接口检查兴趣包的服务类型并对其进行分类;
S12、判断WFQ所有队列总长度是否达到上限HQL,若是,则丢弃兴趣包并发送NACK至下游,若否,则计算该兴趣包的SN并执行下一步;
S13、判断兴趣包所属队列长度是否达到上限CDT,若是,则执行下一步,若否,则兴趣包进入对应的虚拟队列等待调度;
S14、判断在其他队列是否有更大SN的兴趣包,若有,则兴趣包进入对应的虚拟队列等待调度,若否,则丢弃兴趣包并发送NACK至下游;
其中HQL:Hold Queue Limit,表示所有队列中能够存放的报文总长度上限,CDT:Congestive Discard threshold,表示每个队列中能够存放的报文总长度上限。
本发明的进一步技术方案是:对于到达路由器输出接口处的兴趣包,经过加权公平队列调度器的调度需令牌桶限速器来控制其整体发往输出接口队列缓冲区的速率。
本发明的进一步技术方案是:所述步骤S2中在统计周期内每条流的目标速率计算过程包括以下步骤:
S21、计算经由路由器节点k输出接口j的请求内容前缀为/p的流在t时刻的加权公平速率:
S22、计算在t时刻经由路由器节点k输出接口j转发的请求内容前缀为/p的流的兴趣包消耗令牌的速率:
S23、根据步骤S21、S22中的计算结果,计算路由器节点k为输出接口j处的每条流分配的速率之和:
S24、计算在t时刻路由器输出接口处每条流的目标速率;
其中,Ckj表示与路由器节点k输出接口j相连的上游链路的带宽大小,weight/p表示前缀为/p的流的权重,∑/p′weight/p′表示经由路由器节点k输出接口j的所有流的权重之和;表示在t时刻经由路由器节点k输出接口j转发的请求内容前缀为/p的流的兴趣包消耗的令牌数,单位为字节;T为统计周期的长度,单位为毫秒;
表示的含义为在t时刻路由器k在接口j为处于被惩罚状态的贪婪流分配的速率之和,/>表示在t时刻路由器k在接口j为高需求流分配的由/> 计算得到的加权公平速率之和;/>表示在t时刻路由器k在接口j的各个低需求流由/> 计算得到的兴趣包消耗令牌的速率之和。
本发明的进一步技术方案是:所述步骤S23中当某条流的惩罚因子满足penaltyFactor<γ时,判定其为处于被惩罚状态的贪婪流;判断这条流在当前统计周期消耗令牌的速率是否满足
若是,则为高需求流,如否,则为低需求流,其中,γ为惩罚状态临界值,α为振荡因子。
本发明的进一步技术方案是:所述步骤S24中处于被惩罚状态的贪婪流的目标速率为: 表示在t时刻经过路由器节点k输出接口j的请求内容前缀为/pg的处于被惩罚状态的贪婪流的目标速率;所述高需求流是判断路由器输出接口连接的上游链路带宽是否大于步骤S23中统计的分配的总速率,若是,则将剩余的链路带宽按照最大最小公平原则分配给每一条高需求流,其目标速率为 所述低需求流的目标速率与步骤S21中计算得到的加权公平速率相同,低需求流目标速率为:
本发明的进一步技术方案是:所述步骤S3中接收端兴趣包发送窗口大小的调整公式为:其中,cwnd(t)表示t时刻兴趣包发送窗口大小;cwnd(t-1)表示t-1时刻,即接收端收到数据包前的兴趣包发送窗口大小;DataSize表示收到的数据包的大小;TargetRate(t)表示收到的数据包的TR字段的值;β为平滑因子。
本发明的进一步技术方案是:所述步骤S4中当路由器从某个接口fj收到返回的请求内容名称前缀为ci的数据包时,完成数据包TR字段的更新,用TR字段的最新值作为目标速率,计算并更新该内容名称前缀的流在对应接口的转发概率p(ci,fj),计算式为:其中,v(ci,fj)为该数据包的TR字段更新后的目标速率值,fl为该内容名称前缀的流的某一可用接口,F为该内容名称前缀的流对应的所有可用接口集合。
本发明的有益效果是:能够针对不同业务类型的流量的不同需求,提供不同的服务质量,弥补了现阶段拉式通信语义拥塞控制研究方法中欠缺的服务质量保障;通过在中间节点对流量进行整形和反馈,能够提前预防网络拥塞,而不是在网络发生拥塞后才采取手段干预;能够使客户端迅速对网络环境的变化作出反应,调至合适的发送速率,大大减少了收敛时间,有利于网络***的稳定性;此外,保障了每条流之间带宽分配的加权最大最小公平。
附图说明
图1是MIRCC拥塞控制模型的示意图。
图2是PCON拥塞控制模型的示意图。
图3是本发明实施例提供的区分服务的拥塞控制方法总体框架示意图。
图4是本发明实施例提供的路由器逐跳速率整形模块的示意图。
图5是本发明实施例提供的加权公平队列调度器的兴趣包调度示意图。
图6是本发明实施例提供的区分服务的拥塞控制方法的流程图。
具体实施方式
如图1-6所示,本发明提供的区分服务的拥塞控制方法,其详述如下:
现有的面向拉式通信语义的拥塞控制机制大多关注于如何最大化网络资源利用率,以及如何保证不同流之间的公平性,而很少考虑对不同业务流进行区分。然而,在实际的网络场景中,由于网络应用的多样性,不同业务类型的服务对传输性能的要求是不同的,即对数据传输的时延、丢包、抖动等行为的容忍度不同。如果不对这些不同类别的服务加以区分,将会给用户带来糟糕的网络体验。为解决此问题,本发明技术提出了一种区分服务的拉式通信语义拥塞控制方法,根据服务类型为不同业务流提供差异化的服务质量,且保证不同业务流之间带宽分配的加权最大最小公平,降低网络的丢包率。
本发明专利在控制网络拥塞的同时,基于速率整形和显式反馈等方法为不同业务流提供差异化的服务。如图3所示,本发明技术由逐跳速率整形(Hop-by-hop InterestShaping)、显式拥塞通知(Explicit Congestion Signaling)、接收端窗口调整(ConsumerWindow Adjustment)以及多路径转发(Multipath Forwarding)这四个功能模块组成,各模块的作用如下:
(1)逐跳速率整形:包括加权公平队列调度器和令牌桶限速器。路由器在每个输出接口为每一条流维护一个虚拟队列,使用加权公平队列调度算法选择将在接口转发的下一个兴趣包,并通过令牌桶算法限制调度速率,防止兴趣包流量将来会带来的数据包流量超出链路带宽,从而管理和控制各类服务请求对带宽资源的使用,在保证不同业务服务需求的同时,预防网络拥塞的产生和丢包。此外,还引入了贪婪流惩罚机制对恶意客户端进行限制。
(2)显式拥塞通知:路由器基于逐跳公平速率整形和网络状况的动态变化为每条流计算实时的目标速率,当数据包在沿兴趣包到来的反向路径返回的过程中经过路由器节点时,由数据包携带其所属流的目标速率并逐跳更新,最终,将目标速率显式反馈至接收端。
(3)接收端窗口调整:接收端收到数据包后,会根据数据包中携带的目标速率设置下一时间段的兴趣包发送窗口大小。当网络拥塞时,降低兴趣包发送速率;当网络的带宽资源使用不充分时,提高兴趣包发送速率,从而适应网络状况的动态变化。
(4)多路径转发:路由器根据公平速率整形模块的整形结果,以及从上游返回的数据包中携带的信息,动态调整各个接口的流量转发比例,充分利用多路径场景下每条可用路径的带宽资源。
由于不同数据流对服务质量的需求不同,而服务质量主要体现在网络带宽和传输时延上。本发明技术参考IETF工作组提出的DiffSev模型(Differentiated Service)的划分方式,将数据流分成EF、AF、BE这三大类。其中,EF(Expedited Forwarding)表示加速转发,优先级最高,代表最高的服务质量,常用于对时延敏感的重要业务,比如网络直播等;AF(Assured Forwarding)表示确保转发,优先级低于EF高于BE,适合对服务质量有一定要求但并不苛责的业务,如网页加载等;BE(Best-Effort)表示尽力而为转发,优先级最低,对时延等性能指标的容忍性较大,常应用于电子邮件传输等业务。此外,为实现上述业务流的划分,本发明技术在网络包头部添加了一些新的字段。其中,DS字段表示包所请求服务的类型,可取值为EF、AF或BE;TR表示流的目标速率。
逐跳速率整形
为实现在避免网络拥塞的同时,为不同业务类型的流提供差异化的服务质量,实现网络资源的有效利用,如图4所示,本发明技术在路由器处引入加权公平队列(WeightedFair Queuing,WFQ)和令牌桶(Token-Bucket)算法来实现逐跳的兴趣包公平速率整形。
首先,介绍基于WFQ算法的加权公平队列调度器的设计。路由器在每个输出接口为每条流维护一个先进先出的虚拟队列。当兴趣包经过转发模块的处理,到达输出接口时,根据其请求内容的前缀和请求服务的优先级将其划分到所属队列。定义参数HQL(Hold QueueLimit)表示所有队列中能够存放的报文总长度上限;CDT(Congestive Discardthreshold)表示每个队列中能够存放的报文总长度上限。对于每个接口,WFQ最大可支持4096个队列。实际上,已有研究工作表明,即使是在流量数以万计的大规模网络中,每个接口处需要调度的活动流数目也不会超过几百条。兴趣包在经过流分类后,在决定其入队列或者丢弃前,都要先为其赋予一个调度序列号SN(Sequence Number),SN的实际数值大小其实等于兴趣包的虚拟完成时间,该时间决定了调度的顺序,因此称其为调度序列号,其计算方式为
其中,new_packet_length为到来的兴趣包对应的数据包的大小。weight为到来的兴趣包所属的流的权重,根据兴趣包头部的DS字段设置。penaltyFactor为惩罚因子,针对贪婪流设计,当客户端持续以恒定的高速率发包且不配合调速机制时,会通过设置惩罚因子降低其权重,在不采取惩罚措施时的默认值为1。Previous_SN的取值分为两种情况:如果兴趣包要进入的虚拟队列非空,取该队列中最近一次入队的兴趣包的SN作为Previous_SN;否则,取整个发送队列最近一次发送的兴趣包的SN作为Previous_SN。
WFQ规定,在进行整个队列的兴趣包调度时,优先调度SN最小的兴趣包。从SN的计算公式可以看出,字节数小、优先级高的兴趣包的流会比字节数大、优先级低的流更先被处理,即保证小字节、高优先级的流能够得到更多带宽。通过这样的设计来执行兴趣包的调度,WFQ可以实现为每条流分配的带宽满足最大最小公平,即满足每条流的最小带宽需求的同时,将剩余的带宽资源按照权重分配给需求更多的流。加权公平队列调度器对到达路由器输出接口的兴趣包的处理过程如图5所示。
此外,对于到达路由器输出接口处的兴趣包,在经过加权公平队列调度器的调度后,还需令牌桶限速器来控制其整体发往输出接口队列缓冲区的速率。其中,以上游链路带宽作为令牌产生速率,周期性向令牌桶中增加令牌,如果桶中令牌数已到达上限,则丢弃多余令牌;否则,持续增加。在每个调度时隙内,判断令牌桶中的剩余令牌数是否大于等于WFQ发送队列内SN最小的兴趣包(当前轮次加权公平队列调度器选择调度的包)对应的数据包的字节数,如果是,则从令牌桶中删除与该兴趣包对应的数据包的字节数等量的令牌数目,然后将该兴趣包转发至输出接口发送;否则,等待令牌桶添加新的令牌,当令牌桶中积累了能够满足该兴趣包对应的数据包大小的令牌时再调度该兴趣包。
显式拥塞通知
事实上,仅通过路由器逐跳速率整形无法控制整个网络注入的总流量数目,无法从根本上缓解网络拥塞。因此,本发明技术引入显式拥塞通知机制,由路由器计算每条流的目标速率,并由沿途返回的数据包携带,显式反馈至接收端,接收端参考数据包中携带的目标速率值,增加或降低兴趣包发送速率。
对于路由器节点k,每个统计周期内每条流的目标速率计算过程如下:
(1)计算经由路由器节点k输出接口j的请求内容前缀为/p的流在t时刻的加权公平速率:
其中,Ckj表示与路由器节点k输出接口j相连的上游链路的带宽大小,weight/p表示前缀为/p的流的权重,∑/p′weight/p′表示经由路由器节点k输出接口j的所有流的权重之和。
(2)计算在t时刻经由路由器节点k输出接口j转发的请求内容前缀为/p的流的兴趣包消耗令牌的速率:
其中,表示在t时刻经由路由器节点k输出接口j转发的请求内容前缀为/p的流的兴趣包消耗的令牌数,单位为字节;T为统计周期的长度,单位为毫秒。
(3)根据(1)(2)中的计算结果,计算路由器节点k为输出接口j处的每条流分配的速率之和:
公式(2.4)的实际意义为:对于被惩罚的贪婪流,分配的速率由权重和惩罚因子共同决定;对于高需求流,分配的速率由最大最小公平原则计算得到;对于低需求流,由于根据最大最小公平原则计算得到的速率大于它的实际需求,事实上,路由器会按照其实际需求转发,因此取其消耗令牌的速率(实际需求)作为路由器分配速率的统计值。因此,对于公式(2.4),表示的含义为在t时刻路由器k在接口j为处于被惩罚状态的贪婪流分配的速率之和;
示在t时刻路由器k在接口j为高需求流分配的由计算得到的加权公平速率之和;
表示在t时刻路由器k在接口j的各个低需求流由计算得到的兴趣包消耗令牌的速率之和。
三种流类型的区分按照如下原则判断:当某条流的惩罚因子满足penaltyFactor<γ时,判定其为处于被惩罚状态的贪婪流,其中,γ为惩罚状态临界值;否则,判断这条流在当前统计周期消耗令牌的速率是否满足如果是,判定其为高需求流,当链路有剩余带宽时,根据最大最小公平原则按权重比例将剩余带宽分配给它使用,其中,α为振荡因子,用于平衡因网络振荡造成的速率测量波动;否则,判定这条流为低需求流。
(4)计算在t时刻路由器输出接口处每条流的目标速率:
对于处于被惩罚状态的贪婪流,其目标速率如式(2.5)所示。表示在t时刻经过路由器节点k输出接口j的请求内容前缀为/pg的处于被惩罚状态的贪婪流的目标速率。其中,/>表示内容前缀为/pg的处于被惩罚状态的贪婪流由式(2.2)计算得到的加权公平速率;/>表示该贪婪流的惩罚因子的取值。
对于高需求流,判断路由器输出接口连接的上游链路带宽是否大于(3)中统计的分配的总速率,如果是,则将剩余的链路带宽按照最大最小公平原则分配给每一条高需求流,其目标速率如式(2.6)所示。表示在t时刻经过路由器节点k输出接口j的请求内容前缀为/ph的高需求流的目标速率。其中,/>表示内容前缀为/ph的高需求流由式(2.2)计算得到的加权公平速率,Ckj表示与路由器节点k输出接口j相连的上游链路的带宽大小,weight/ph表示前缀为/ph的高需求流的权重,∑/ph′weight/ph′表示经过路由器节点k输出接口j的所有高需求流的权重之和。
对于低需求流,其目标速率与公式(2.2)计算得到的加权公平速率相同,如式(2.7)所示。表示在t时刻经过路由器节点k输出接口j的请求内容前缀为/pl的低需求流的目标速率。
基于上述计算过程,路由器会定期计算并更新各个输出接口的每条流的目标速率。
为了将网络的拥塞状况通知给接收端,本发明技术利用数据包的TR字段,将上述计算得到的对应流的目标速率显式反馈至接收端。当路由器从某个接口收到从上游转发来的数据包时,会读取TR字段的当前值,若其大于当前节点中记录的对应内容前缀的流在该节点相应接口处的目标速率值,则使用该节点保存的这个较小的目标速率值替换TR字段的当前值。这样,数据包每经过一个路由器节点,都会将TR字段的值与该节点处记录的目标速率值对比,从而将最合适的目标速率值反馈至接收端。
接收端窗口调整
接收端收到数据包后,会通过数据包中携带的流的目标速率计算其在下一时间段发送兴趣包的速率。如果计算得到的速率大于之前的兴趣包发送速率,则说明链路带宽还未得到充分利用,需增大兴趣包发送速率,以实现网络资源的最大化利用;否则,说明网络发生了拥塞,需降低兴趣包发送速率,以适应当前的网络状况。接收端兴趣包发送窗口大小的调整公式如下:
其中,cwnd(t)表示t时刻兴趣包发送窗口大小;cwnd(t-1)表示t-1时刻,即接收端收到数据包前的兴趣包发送窗口大小;DataSize表示收到的数据包的大小;TargetRate(t)表示收到的数据包的TR字段的值;β为平滑因子。
多路径转发
考虑到多源多路径的通信场景,本发明技术还设计了一个简单的多路径转发策略,以实现在防止网络拥塞的同时最大程度地充分利用每条链路的带宽资源,提高接收端的吞吐量。多路径转发策略的原理为基于概率的转发:当路由器收到一个兴趣包时,基于该兴趣包对应的可用接口列表中各个接口当前的转发概率,为该兴趣包选择合适的转发接口,且接口的转发概率随着网络状况的变化动态更新。
为统计每个内容名称前缀对应的各个接口的转发速率,当路由器从某个接口fj收到返回的请求内容名称前缀为ci的数据包时,首先完成数据包TR字段的更新,之后用TR字段的最新值作为目标速率,计算并更新该内容名称前缀的流在对应接口的转发概率p(ci,fj),计算公式如下,其中,v(ci,fj)为该数据包的TR字段更新后的目标速率值,fl为该内容名称前缀的流的某一可用接口,F表示为该内容名称前缀的流对应的所有可用接口列表集合:
本发明技术提出了一种区分服务的拉式通信语义拥塞控制方法,能够针对不同业务类型的流量的不同需求,提供不同的服务质量,弥补了现阶段拉式通信语义拥塞控制研究方法中欠缺的服务质量保障;通过在中间节点对流量进行整形和反馈,能够提前预防网络拥塞,而不是在网络发生拥塞后才采取手段干预;能够使客户端迅速对网络环境的变化作出反应,调至合适的发送速率,大大减少了收敛时间,有利于网络***的稳定性;此外,保障了每条流之间带宽分配的加权最大最小公平。
本发明技术面向拉式通信语义,提出区分服务的拥塞控制机制,借鉴TCP/IP网络中区分服务模型的流量分级思想,将网络流量根据其类型进行分类以及优先级的划分,使得中间节点在进行逐流整形时,可以通过网络包头部携带的服务类型信息,以及不同流量的服务质量需求,控制网络包的调度过程,以及对其速率进行限制,从而在控制网络拥塞的同时,保障时延敏感型业务流的网络性能最优,也为重要程度相对较低的业务流提供其基本的服务需求。
本发明技术将TCP/IP网络服务质量模型研究中常用的加权公平队列算法和令牌桶算法用于以拉取式通信语义为核心的网络的中间路由器节点速率整形模块的设计,实现了为不同的业务流提供满足加权最大最小公平的带宽分配,具有较高的网络资源利用率。
本发明技术采取逐跳整形的拥塞控制思想,因此能够很好地应对持续以较高速率发送兴趣包的不配合的贪婪客户端,在中间节点进行调度控制和速率限制,限制这类贪婪流的转发速率不会超过其加权公平份额,并且通过一定的限制措施使得该恶意行为得到惩罚,驱使其恢复正常状态。
本发明技术采用了显示拥塞通知的思想,通过数据包将合适的发包速率反馈给客户端,使得算法能够快速收敛,流完成时间大幅度降低,具有很好的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种区分服务的拥塞控制方法,其特征在于,所述区分服务的拥塞控制方法包括以下步骤:
S1、在路由器处利用加权公平队列和令牌桶算法实现逐跳的兴趣包速率整形;
S2、由路由器计算每条流的目标速率并由返回的数据包携带至接收端;
S3、接收端根据数据包携带的目标速率值设置其在下一时间段发送兴趣包的速率;
S4、路由器根据速率整形结果以及从上游返回的数据包中携带的目标速率值动态调整各接口的流量转发比例;
所述步骤S2中在统计周期内每条流的目标速率计算过程包括以下步骤:
S21、计算经由路由器节点k输出接口j的请求内容前缀为/p的流在t时刻的加权公平速率:
S22、计算在t时刻经由路由器节点k输出接口j转发的请求内容前缀为/p的流的兴趣包消耗令牌的速率:
S23、根据步骤S21、S22中的计算结果,计算路由器节点k为输出接口j处的每条流分配的速率之和:
S24、计算在t时刻路由器输出接口处每条流的目标速率;
其中,Ckj表示与路由器节点k输出接口j相连的上游链路的带宽大小,weight/p表示前缀为/p的流的权重,∑/p′weight/p′表示经由路由器节点k输出接口j的所有流的权重之和;表示在t时刻经由路由器节点k输出接口j转发的请求内容前缀为/p的流的兴趣包消耗的令牌数,单位为字节;T为统计周期的长度,单位为毫秒;表示的含义为在t时刻路由器k在接口j为处于被惩罚状态的贪婪流分配的速率之和,/>表示在t时刻路由器k在接口j为高需求流分配的由/> 计算得到的加权公平速率之和;/>表示在t时刻路由器k在接口j的各个低需求流由 计算得到的兴趣包消耗令牌的速率之和;表示内容前缀为/pg的处于被惩罚状态的贪婪流由步骤S21中式计算得到的加权公平速率;/>表示该贪婪流的惩罚因子的取值。
2.根据权利要求1所述的区分服务的拥塞控制方法,其特征在于,路由器在每个输出接口为每条流维护一个先进先出的虚拟队列;兴趣包经过转发模块的处理,到达输出接口时,根据其请求内容的前缀和请求服务的优先级将其划分到所属队列;兴趣包在经过流分类后,在决定其入队列或者丢弃前,都要先为其赋予一个调度序列号SN(Sequence Number),SN的数值的实际含义为兴趣包的虚拟完成时间,其计算方式为: 其中,new_packet_length为到来的兴趣包对应的数据包的大小,weight为到来的兴趣包所属的流的权重,根据兴趣包头部的DS字段表示包所请求服务的类型设置,penaltyFactor为惩罚因子。
3.根据权利要求2所述的区分服务的拥塞控制方法,其特征在于,加权公平队列调度器对到达路由器输出接口的兴趣包处理包括以下步骤:
S11、兴趣包到达输出接口检查兴趣包的服务类型并对其进行分类;
S12、判断WFQ所有队列总长度是否达到上限HQL,若是,则丢弃兴趣包并发送NACK至下游,若否,则计算该兴趣包的SN并执行下一步;
S13、判断兴趣包所属队列长度是否达到上限CDT,若是,则执行下一步,若否,则兴趣包进入对应的虚拟队列等待调度;
S14、判断在其他队列是否有更大SN的兴趣包,若有,则兴趣包进入对应的虚拟队列等待调度,若否,则丢弃兴趣包并发送NACK至下游;
其中,HQL:Hold Queue Limit,表示所有队列中能够存放的报文总长度上限,CDT:Congestive Discard threshold,表示每个队列中能够存放的报文总长度上限。
4.根据权利要求3所述的区分服务的拥塞控制方法,其特征在于,对于到达路由器输出接口处的兴趣包,经过加权公平队列调度器的调度需令牌桶限速器来控制其整体发往输出接口队列缓冲区的速率。
5.根据权利要求4所述的区分服务的拥塞控制方法,其特征在于,所述步骤S23中当某条流的惩罚因子满足penaltyFactor<γ时,判定其为处于被惩罚状态的贪婪流;判断这条流在当前统计周期消耗令牌的速率是否满足若是,则为高需求流,如否,则为低需求流,其中,γ为惩罚状态临界值,α为振荡因子。
6.根据权利要求5所述的区分服务的拥塞控制方法,其特征在于,所述步骤S24中处于被惩罚状态的贪婪流的目标速率为:
所述高需求流是判断路由器输出接口连接的上游链路带宽是否大于步骤S23中统计的分配的总速率,若是,则将剩余的链路带宽按照最大最小公平原则分配给每一条高需求流目标速率为
所述低需求流的目标速率与步骤S21中计算得到的加权公平速率相同,低需求流目标速率为:/> 表示在t时刻经过路由器节点k输出接口j的请求内容前缀为/pg的处于被惩罚状态的贪婪流的目标速率。
7.根据权利要求6所述的区分服务的拥塞控制方法,其特征在于,所述步骤S3中接收端兴趣包发送窗口大小的调整公式为: 其中,cwnd(t)表示t时刻兴趣包发送窗口大小;cwnd(t-1)表示t-1时刻,即接收端收到数据包前的兴趣包发送窗口大小;DataSize表示收到的数据包的大小;TargetRate(t)表示收到的数据包的TR字段的值;β为平滑因子。
8.根据权利要求7所述的区分服务的拥塞控制方法,其特征在于,所述步骤S4中当路由器从某个接口fj收到返回的请求内容名称前缀为ci的数据包时,完成数据包TR字段的更新,用TR字段的最新值作为目标速率,计算并更新该内容名称前缀的流在对应接口的转发概率p(ci,fj),计算式为:其中,v(ci,fj)为该数据包的TR字段更新后的目标速率值,fl为该内容名称前缀的流的某一可用接口,F为该内容名称前缀的流对应的所有可用接口集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210074213.3A CN114500394B (zh) | 2022-01-21 | 2022-01-21 | 一种区分服务的拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210074213.3A CN114500394B (zh) | 2022-01-21 | 2022-01-21 | 一种区分服务的拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114500394A CN114500394A (zh) | 2022-05-13 |
CN114500394B true CN114500394B (zh) | 2023-09-05 |
Family
ID=81471974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210074213.3A Active CN114500394B (zh) | 2022-01-21 | 2022-01-21 | 一种区分服务的拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114500394B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866490B (zh) * | 2022-05-26 | 2023-07-28 | 国网河北省电力有限公司电力科学研究院 | 命名数据网络拥塞控制方法及终端 |
CN117590790B (zh) * | 2024-01-17 | 2024-04-12 | 青岛创新奇智科技集团股份有限公司 | 一种基于工业大模型的智能生产线监控方法及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746748A (zh) * | 2021-09-10 | 2021-12-03 | 中南民族大学 | 一种命名数据网络中显式拥塞控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9756374B2 (en) * | 2014-09-10 | 2017-09-05 | Ericsson Ab | Advertisement targeting scheme in a multicast ABR environment based on throttled ad channel streaming |
-
2022
- 2022-01-21 CN CN202210074213.3A patent/CN114500394B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746748A (zh) * | 2021-09-10 | 2021-12-03 | 中南民族大学 | 一种命名数据网络中显式拥塞控制方法 |
Non-Patent Citations (1)
Title |
---|
命名数据网络中的一种主动拥塞控制策略;王文静;雒江涛;;计算机工程与应用(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114500394A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6839767B1 (en) | Admission control for aggregate data flows based on a threshold adjusted according to the frequency of traffic congestion notification | |
CN109120544B (zh) | 一种数据中心网络中基于主机端流量调度的传输控制方法 | |
JP4662670B2 (ja) | パケット・データ・トラヒックのスケジューリング及び受入れ制御 | |
CN114500394B (zh) | 一种区分服务的拥塞控制方法 | |
US7151747B2 (en) | Controlling method of priority class setup of communication packet and system of the same | |
EP2174450B1 (en) | Application data flow management in an ip network | |
Yigitel et al. | Design and implementation of a QoS-aware MAC protocol for wireless multimedia sensor networks | |
CN113746748B (zh) | 一种命名数据网络中显式拥塞控制方法 | |
CN112737964B (zh) | 一种融合推拉语义的传输控制方法及*** | |
CN114866474A (zh) | 一种端网协同流量调度方法、装置、***及存储介质 | |
Kesselman et al. | Game-theoretic analysis of internet switching with selfish users | |
Irazabal et al. | Dynamic buffer sizing and pacing as enablers of 5G low-latency services | |
CN114124826B (zh) | 拥塞位置可感知的低时延数据中心网络传输***及方法 | |
Yigitel et al. | Diff-MAC: a QoS-aware MAC protocol with differentiated services and hybrid prioritization for wireless multimedia sensor networks | |
CN116389375A (zh) | 一种面向直播视频流的网络队列管理方法、设备及路由器 | |
Bai et al. | Dsccp: A differentiated service-based congestion control protocol for information-centric networking | |
Kathuria et al. | Design, Implementation, and Evaluation of Modern Approaches for the Augmentation of QoS in Medical Body Sensor Network. | |
Rahouti et al. | QoSP: A priority-based queueing mechanism in software-defined networking environments | |
Sumathi et al. | An effective load balanced and congestion control protocol for wireless multimedia networks | |
George et al. | Greatest Weight Based Packet Scheduling for Retransmission and Packet Drop | |
Ma et al. | Discover Applied Sciences | |
CN117834552A (zh) | 通信队列调度优化方法、装置、设备及介质 | |
Wenli et al. | Sensor network data transmission protocol based on event delay constraint | |
CN116896529A (zh) | 差异化业务时延保障传输方法及装置 | |
JP2002124985A (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 | ||
GR01 | Patent grant |