一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种命名数据网络中显式拥塞控制方法与流程

2021-12-04 02:03:00 来源:中国专利 TAG:
1.本发明涉及计算机网络数据拥塞控制领域,具体是一种命名数据网络ndn(nameddatanetworking)中显式拥塞控制方法。
背景技术
::2.命名数据网络ndn(nameddatanetworking)是一种以命名数据为主要通信对象的网络体系,是信息中心网络最具代表性的一个架构方案,其关注信息本身弱化信息位置,实现了从“where”到“what”的转变。在ndn中,通过给数据命名并根据数据包的名字信息进行通信,改变了目前网络基于ip地址的通信方式,在鲁棒性和扩展性等方面相对于tcp/ip网络表现尤为突出。ndn中的通信由内容请求者驱动,即内容请求者首先需要发送数据请求,内容发布者再根据数据请求将相应的数据发送给内容请求者。ndn中包含两种格式包,兴趣包(interestpacket)和数据包(datapacket),其中兴趣包是用户为请求数据而发送的包含名字信息的请求包,而数据包包中则包含用户要请求的真正数据,其中数据包和兴趣包的名字信息相同。所有的包均被内容路由器以逐跳转发的方式进行转发处理,每个内容路由器维护三种数据结构,分别为信息转发表fib(forwardinginformationbase)、待定请求表pit(pendinginteresttable)和内容存储器cs(contentstore)。cs中存储的是内容发布者发送而来的数据,pit表存储的是已经被当前节点转发出去的兴趣包的名字信息及其对应的“上游”(upstream)接口;fib表记录的是对应名字信息的兴趣包可以被转发的“下游”(downstream)接口集合,用来将兴趣包转发到匹配的下一接口,如果没有匹配是接口,则这个兴趣包将被丢弃。3.由于ndn采用基于内容名称路由的无连接传输模式,这为拥塞控制的设计带来了新的挑战,同时拥塞控制对提高网络的性能具有重要意义,因此ndn的拥塞控制问题逐渐受到广泛关注。第一类方式借鉴了传统tcp/ip的设计,通过在内容请求者方调整兴趣包的发送速率来达到拥塞控制的目的,速率调整使用的是“和式增加积式减少”(additiveincreasemultiplicativedecrease,aimd)。一种兴趣控制协议icp(interestcontrolprotocol),设置在内容请求者方的aimd控制器会根据当前网络的情况来调整发送窗口的大小;一种基于超时机制的cctcp(contentcentrictcp)协议,通过替每个流设置多个拥塞窗口和rto超时重传机制来控制兴趣包的发送速率。以上都是基于超时驱动的拥塞控制策略,该类型的算法都是使用了rtt(roundtriptime)作为超时的度量,但是由于ndn的多源特性,内容请求者所请求的数据内容在网络中的分布通常是不确定的,这导致对rtt的准确估算非常困难。因此,对于ndn网络,逐跳的显式拥塞控制机制更为合适。4.因此,必须提出一种基于路由节点端的拥塞控制方法,以实现高链路利用率下的低丢包率和快速数据传输,并提供区分的qos服务。技术实现要素:5.本发明的目的在于针对现有技术中存在的上述问题,提出一种命名数据网络中显式拥塞控制方法,更快地检测和响应拥塞状态,实现高链路利用率下的低丢包率和快速数据传输,同时保障不同数据流的qos要求。6.本发明的上述目的通过以下的技术方案实现:7.一种命名数据网络中显式拥塞控制方法,包括以下步骤:8.步骤1、路由节点根据命名数据网络名字前缀的不同将兴趣包分为不同的数据流,并根据延时差值来对不同数据流进行优先级的划分;9.步骤2、路由节点根据数据流对应的计数器判断是否是贪婪流,计算路由节点对应的负载设定值,并根据负载设定值和数据流的优先级将负载设定值分割为各个数据流的转发速率,并更新贪婪流的速率为上述对应的转发速率;10.步骤3、将数据流中兴趣包更新的限制速率字段的值反馈给下游路由节点作为下游路由节点对应数据流的计数器的值,内容发布者收到兴趣包后,生成相应的数据包,将兴趣包中的限制速率字段进行复制并封装到相对应的数据包的限制速率字段中,并沿此兴趣包所经过路径的反向路径,原路返回到内容请求者,内容请求者根据数据包中的限制速率字段来调整兴趣包的发送速率。11.如上所述的步骤1包括以下步骤:12.步骤1.1、根据命名数据网络名字前缀的不同将兴趣包分为不同的数据流;13.步骤1.2、计算第i个数据流的延时上限di*[0014][0015]qmax为整形队列的最大长度,ri为第i个数据流的平均速率,s为第i个数据流中最大数据包大小,c为瓶颈链路带宽,df为链路传播延时;[0016]步骤1.3、计算延时差值αi=di‑di*,di为数据流qos要求的延时上限,延时差值αi越小,对应的第i个数据流的优先级越高。[0017]如上所述的步骤2包括以下步骤:[0018]步骤2.1、路由节点为每个数据流配置一个计数器,当数据流中的兴趣包被转发时计数器会相应递减,当计数器大于零时,数据流中的兴趣包直接转发;当计数器小于或等于零时,则当前数据流被标记为贪婪流,将贪婪流中的兴趣包暂时缓存于整形队列,直到数据流相应计数器在设定时间间隔t后被重置更新,整形队列中的兴趣包才被转发,计数器被重置更新的值为步骤2.3中路由节点计算得到的相应数据流的转发速率;[0019]步骤2.2、基于以下公式对时间t对应的负载设定值r(t)进行更新:[0020][0021]其中,r(t‑t)为时间t‑t对应的负载设定值,η是目标链路利用率,α和β均为控制参数,c为可用链路带宽,y(t)为路由节点在周期(t‑t,t)内的总输入流量,q(t)表示时间t时缓冲队列的长度,d是内容请求者发送兴趣包和匹配的数据包到达内容请求者之间的平均响应时间;[0022]步骤2.3、基于以下公式获得时间t的各个数据流的输入速率{r1,r2,…,rn}的最优解{r(1),r(2),…,r(n)}[0023][0024]其中,α1,α2,…,αn分别为n个数据流的优先级,[0025]计算每个数据流的转发速率vi为[0026][0027]其中,sumr(t)为时间t的路由节点的实时负载值,mi为第i个数据流中的兴趣包的发送速率;[0028]步骤2.4、如果兴趣包所属的数据流相应的计数器小于等于零时,将路由节点计算得到的数据流的转发速率更新到相应的兴趣包的限制速率字段,并且将兴趣包的拥塞标识字段加一。[0029]如上所述的步骤3包括以下步骤:[0030]步骤3.1、当兴趣包的限制速率字段被更新并且拥塞标识字段被加一后,向该兴趣包所在数据流需要转发的下游路由节点发送限制速率数据包,限制速率数据包中封装的是兴趣包的限制速率字段,下游路由节点提取限制速率数据包中的限制速率字段的值赋值给对应数据流的计数器;[0031]步骤3.2、当一个兴趣包即将被满足时,路由节点检查兴趣包的拥塞标识字段,如果等于零,则直接返回数据包;如果大于零,则将兴趣包的限制速率字段复制到数据包中的限制速率字段并原路返回给内容请求者,当内容请求者接收到数据包后,将数据包中的限制速率字段提取出来作为新的兴趣包的限制速率字段。[0032]本发明相对于现有技术具有以下有益效果:[0033]本发明能够对网络中的多数据流进行分类,保障不同数据流的qos要求,利用计数器和整形队列对贪婪流的速率进行限制,并通过显式反馈机制将拥塞信息反馈给内容请求者,使得其能更快地检测和响应拥塞状态,实现高链路利用率下的低丢包率和快速数据传输。附图说明[0034]图1位本发明的流程图。[0035]图2为本发明的兴趣包格式。[0036]图3为仿真实验网络拓扑结构。[0037]图4为不同优先级数据流的延时随时间变化。[0038]图5为不同优先级数据流的瓶颈带宽分配情况。[0039]图6为不同路由方法下数据接受速率变化。[0040]图7为不同路由方法下数据接受速率变化的小提琴图。[0041]图8为不同路由方法下平均丢包率随瓶颈链路的变化。[0042]图9为不同优先级数据流的平均丢包率随瓶颈链路的变化。具体实施方式[0043]为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。[0044]一种命名数据网络中显式拥塞控制方法,包括以下步骤:[0045]步骤1、路由节点根据命名数据网络名字前缀的不同将兴趣包分为不同的数据流,并根据延时差值来对不同数据流进行优先级的划分;[0046]步骤1具体包括以下步骤:[0047]步骤1.1、根据命名数据网络名字前缀的不同将兴趣包分为不同的数据流,之所以这样定义,是因为具有相同命名数据网络名字前缀的兴趣包具有相同或相似的状态,待定请求表pit中唯一的命名数据网络名字前缀的数量决定了当前命名数据网络中活动的数据流的数量。[0048]步骤1.2、每个数据流所分配得到的带宽资源源遵循最大‑最小公平分配,设不同数据流qos要求的延时上限为di,瓶颈链路带宽为c,整形队列的最大长度为qmax,第i个数据流的平均速率为ri,第i个数据流中最大数据包大小为s,链路传播延时为df,则可以算出第i个数据流的延时上限di*,具体公式如下:[0049][0050]步骤1.3、计算延时差值αi=di‑di*,延时差值αi越小,对应的第i个数据流的优先级越高。[0051]通过当前数据流qos要求的延时上限di和根据公式计算得出的延时上限di*的差值作为延时差值αi确定当前数据流的优先级,延时差值αi越小,对应的第i个数据流的优先级越高。[0052]每个数据流所分配得到的带宽资源遵循最大‑最小公平分配,显式拥塞控制方法ecm引入了延时差值αi来确定不同数据流的优先级。当路由节点按照第i个数据流的平均速率ri为数据流分配带宽时,延时差值αi表示其qos要求的延时上限与公式计算得出的延时上限之间的差值,延时差值αi越小,表示根据公式计算得出的延时上限与qos要求的延时上限越接近,对应的数据流被分配的带宽资源的变动越敏感,相应地优先级也越高。[0053]步骤2、路由节点根据数据流对应的计数器判断是否是贪婪流,计算路由节点对应的负载设定值,并根据负载设定值和数据流的优先级将负载设定值分割为各个数据流的转发速率,并更新贪婪流的速率为上述对应的转发速率;[0054]兴趣包中包含内容名称字段contentname,选择器字段selector,随机字段nonce,限制速率字段limitrate,拥塞标识字段congestionflag;[0055]步骤2具体包括以下步骤:[0056]步骤2.1、路由节点会为每个数据流配置一个计数器,当数据流中的兴趣包被转发时计数器会相应递减。当计数器大于零时,数据流中的兴趣包直接转发;当计数器小于或等于零时,则当前数据流被标记为贪婪流,需要对其速率进行限制,将贪婪流中的兴趣包暂时缓存于整形队列中而不是直接丢弃,既避免了进一步的拥塞,同时也降低了丢包率,直到数据流相应计数器在设定时间间隔t后被重置更新,整形队列中的兴趣包才被转发,计数器被重置更新的值为步骤2.3中路由节点计算得到的相应数据流的转发速率。[0057]兴趣包中包含内容名称字段contentname,选择器字段selector,随机字段nonce,限制速率字段limitrate,拥塞标识字段congestionflag。[0058]内容名称字段contentname,内容请求者请求内容的名字。[0059]选择器字段selector包含兴趣包优先顺序和范围等信息。[0060]随机字段nonce与内容名称字段contentname共同唯一标识兴趣包。[0061]限制速率字段limitrate用来记录该兴趣包的限制速率。[0062]拥塞标识字段congestionflag用来记录该兴趣包是否对网络的拥塞做出了“贡献”。[0063]步骤2.2、每个路由节点维护一个负载设定值r(t),负载设定值r(t)表示当前路由节点支持的最大的数据包的返回速率,当时间t的第i个数据流的输入速率为ri(t)=(r1,r2,r3…rn)时,n为数据流的总数,时间t的路由节点的实时负载值当sumr(t)<r(t)时,链路没有发生拥塞,当遇到突发流量导致链路发生拥塞,即sumr(t)>r(t)时,链路发生了拥塞,需要执行显式拥塞控制方法ecm来对数据流进行限制,时间t对应的负载设定值r(t)的具体更新公式如下:[0064][0065]在公式中,r(t‑t)为时间t‑t对应的负载设定值,η是目标链路利用率,α和β均为控制参数,c为可用链路带宽,y(t)为路由节点在周期(t‑t,t)内的总输入流量,q(t)表示时间t时缓冲队列的长度,d是内容请求者发送兴趣包和匹配的数据包到达内容请求者之间的平均响应时间;[0066]步骤2.3、由于显式拥塞控制方法ecm是具体到每个数据流的拥塞控制方法,因此还需要对负载设定值r(t)进行分割,为了达到优化传输和负载平衡的目的,可以公式化为一个简单的凸优化问题,设当前路由节点中有n个活动的数据流,时间t的n个数据流的输入速率为ri(t)=(r1,r2,r3…rn),n为数据流的总数,n个数据流的优先级为αi=(α1,α2,α3…αn),各个数据流中的兴趣包的发送速率为mi=(m1,m2,m3…mn),上述发送速率是设定值,具体公式如下:[0067][0068]显然,当α1r1=α2r2=…=αnrn时,能够很容易得到时间t的n个数据流的输入速率{r1,r2,…,rn}的最优解值{r(1),r(2),…,r(n)},于是能得到每个数据流的转发速率vi为:[0069][0070]步骤2.4、如果兴趣包所属的数据流相应的计数器小于等于零时(即数据流为贪婪流),那么则判断当前兴趣包的输入速率过高,即认为其对网络拥塞做出了“贡献”,需要对其速率进行限制,将路由节点计算得到的数据流的转发速率更新到相应的兴趣包的限制速率字段limitrate,并且将兴趣包的拥塞标识字段congestionflag加一。[0071]步骤3、将数据流中兴趣包更新的限制速率字段limitrate的值反馈给下游路由节点作为下游路由节点对应数据流的计数器的值,内容发布者收到兴趣包后,生成相应的数据包,将兴趣包中的限制速率字段limitrate进行复制并封装到相对应的数据包的限制速率字段limitrate中,并沿此兴趣包所经过路径的反向路径,原路返回到内容请求者,内容请求者根据数据包中的限制速率字段limitrate来调整兴趣包的发送速率。[0072]步骤3具体包括以下步骤:[0073]步骤3.1、当兴趣包的限制速率字段limitrate被更新并且拥塞标识字段congestionflag被加一后,向该兴趣包所在数据流需要转发的下游路由节点发送限制速率数据包nack,限制速率数据包nack中封装的是兴趣包的限制速率字段limitrate,当下游路由节点(k‑1)收到限制速率数据包nack后不会自动通知其下游路由节点(k‑2),而是提取限制速率数据包nack中的限制速率字段limitrate的值赋值给对应数据流的计数器,并根据自身负载来决定是否发送限制速率数据包nack。[0074]步骤3.2、当一个兴趣包即将被满足时,路由节点检查兴趣包的拥塞标识字段congestionflag,如果等于零,则直接返回数据包;如果大于零,则将兴趣包的限制速率字段limitrate复制到数据包中的限制速率字段limitrate并原路返回给内容请求者。当内容请求者接收到数据包后,将数据包中的限制速率字段limitrate提取出来作为新的兴趣包的限制速率字段limitrate。[0075]最后,将对本发明方法(ecm)进行性能仿真分析。采用的仿真平台为ndnsim2.0,ndnsim2.0是基于ns‑3网络仿真软件用c 编写实现ccnx协议的ndn仿真模块,实现了基本的网络协议、路由转发策略以及数据包节点缓存等功能,能够仿真多样化的部署场景,支持大范围的ndn实验;采用的网络拓扑为如图3所示。本实验拓扑结构包含3个内容请求者和3个内容发布者,采用的是单瓶颈链路拓扑,其中内容请求者src1、src2和src3均每秒发送1000个兴趣包,数据请求服从齐夫分布,链路的传播延时为10ms,转发策略采用的是bestroute。使用延时、带宽分配,rate和丢包率来评估本发明方法的性能,其定义如下:[0076]延时:内容请求者发出兴趣包到接收相应数据包之间的延迟。[0077]rate:内容请求者接收数据速率。[0078]丢包率:测试中所丢失数据包数量占所发数据组的比率。[0079]将本发明方法(ecm)与icp和chopcop进行了比较,icp是一种类似于tcp的兴趣包控制协议,设置在内容请求者的aimd控制器会根据当前网络的状况来调整输出窗口的大小,而chopcop也采用发送窗口和aimd更新规则,但是它使用显式拥塞通知而不是rto计时器来更快地响应网络的拥塞信息。[0080]本发明方法(ecm)的延时随时间的变化结果如图4所示。三位内容请求者的延时都逐渐增加并收敛于40ms左右,收敛以后处于稳定状态,这是因为本发明方法(ecm)能够通过收集返回数据包携带的速率信息来实现一定程度上的路由节点协调,当网络中的负载达到相对均衡时,内容请求者将以接近恒定的速率发送兴趣包,因此明显改善了延时抖动性,说明了算法的稳定性。同时,收敛后的延时随数据流的优先级的增大逐渐减少,这样既保证了数据流的服务质量同时也提供了更好的体验质量。[0081]图5显示了本发明方法(ecm)的三种优先级数据流的瓶颈带宽分配情况。可以明显观察到,当网络发生拥塞时,系统分配带宽的情况和数据流的优先级是一致的,也就是说,当链路带宽不足的情况下,高优先级数据流的qos得到了有效的保证。[0082]图6比较了本发明方法(ecm)、icp和chopcop在仿真期间的数据接受速率。可以看到本发明方法(ecm)的性能是明显优于icp的,这是因为icp采用了拥塞窗口,慢启动会导致速率较低,同时由于拥塞窗口的增加,内容请求者发送的兴趣包增多,这样会导致兴趣包的排队时间增加,相应的rtt也会增加,从而降低了icp的网络容量利用率。本发明方法(ecm)和chopcop都能很好地利用网络容量,由于chopcop使用了显式拥塞通知机制,使得其能更好地响应网络中的拥塞信息,从而更好地利用网络容量,但是本发明方法(ecm)比chopcop的稳定性更好。[0083]图7是本发明方法(ecm)、icp和chopcop的数据接受速率的小提琴图。小提琴图是箱线图与核密度图的结合,显示了速率的中位数和四分位数以及速率的集中和离散程度,可以看到本发明方法(ecm)的数据分布是更集中的,本发明方法(ecm)的四位方差最小,中位数最大,也说明本发明方法(ecm)在充分利用了网络容量的同时,保证了较好的稳定性。[0084]图8是本发明方法(ecm)、icp和chopcop的平均丢包率随瓶颈链路的变化情况。可以看到本发明方法(ecm)的丢包率是最小的,这是因为本发明方法(ecm)将贪婪流的兴趣包暂时存于队列中而不是直接丢弃,这样不仅可以平滑网络流量,降低上游路由节点的拥塞状况,同时也降低了数据的丢失。icp的丢包率最高,这是因为icp是在链路因为丢包造成超时后才能检测到拥塞并进行拥塞控制,从而导致了较高的丢包率,chopcop的性能介于两者之间,这是因为chopcop使用了显式拥塞通知机制,能够提前通知内容请求者潜在的拥塞,从而内容请求者可以更快地调节兴趣包的发送窗口,避免大部分丢包。[0085]本发明方法(ecm)的三种优先级数据流的平均丢包率随瓶颈链路带宽的变化结果如图9所示。我们可以观察到,当瓶颈链路带宽相同时,高优先级数据流的平均丢包率低于低优先级数据流,这是因为当链路发生拥塞时,系统会优先给高优先级数据流分配带宽,因此网络中的服务质量也得到了有效的保证。[0086]如上所述,本发明的技术方案内容请求者可根据网络状态及时调整兴趣包的发送速率,在输出端口通过计数器和整形队列对贪婪流进行限制,同时通过显式拥塞通知机制使得网络能够更快地对拥塞信息作出反应。仿真结果表明,与icp和chopcop这两种典型的拥塞控制方法相比,本发明方法(ecm)具有更好的网络容量利用率和稳定性以及更低的丢包率。[0087]需要指出的是,本发明中所描述的具体实施例仅是对本发明精神作举例说明。本发明所属
技术领域
:的技术人员可以对所描述的具体实施例作各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或超越所附权利要求书所定义的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献