电子通信装置的制造及其应用技术基于sdn的具有缓存感知的ndn逐跳拥塞控制方法技术领域1.本发明涉及一种基于软件定义网络(software-defined networking,sdn)和命名数据网(named data networking,ndn)的网络拥塞控制方法,属于计算机网络技术领域。背景技术:2.互联网的蓬勃发展使其已经深入渗透到全球经济社会的各个领域,成为经济发展和社会运行的基本要素。然而,在用户需求剧增化以及需求多样化的压力下,传统tcp/ip网络存在的一些固有问题和局限日渐显露,特别是在网络的可扩展性、灵活性、移动性等方面显现出较低的适应性。在这种情况下,面向数据内容、支持多源多路径内容检索的新型网络体系架构——命名数据网(named data networking,ndn)一经提出便吸引众研究人员的关注。3.与传统tcp/ip端到端的通信模式不同,ndn采用一一对应的兴趣包和数据包,由请求端从网络中“拉”取所请求的数据内容。这种传输模式使得ndn具有请求端驱动和流量自平衡的特点。然而,由于用户突发大量的请求以及网络资源的有效性,即使实现流量自平衡的ndn也不能避免拥塞发生。因此,拥塞控制作为保证网络高效、稳定运行的关键因素,是ndn的重要研究问题之一。由于ndn多源特性导致数据具有不同的传输时延,传统tcp/ip的超时重传机制无法直接适应于ndn。需要专门为ndn设计新的、有效的拥塞控制机制。4.基于ndn内容的多源属性,通过路由协议填充的fib表为每个内容前缀维护一个排序接口列表。转发方案基于fib条目选择合适的接口将兴趣包发送到可用的位置。因此,转发策略对链路拥塞状态有非常重大的影响,能够有效缓解链路拥塞状态。5.然而,由于ndn节点的独立性,无法预测网络的流量分布,使得节点控制难以实现长期的路径选择效益,同时还可能在其他链路中引入拥塞。除此之外,为了保证网络最佳传输性能,需要消费者适当地调整进入网络的流量容量。技术实现要素:6.针对现有技术,本发明提出了一种基于sdn的具有缓存感知的ndn逐跳拥塞控制方法,解决上述传统ndn拥塞控制存在的问题。本发明实现了智能化管理多路径容量的逐跳拥塞控制方法,以及结合适当调整网络容量的消费者拥塞控制机制,提高了网络整体传输性能。7.为了解决上述技术问题,本发明提出的一种基于sdn的具有缓存感知的ndn逐跳拥塞控制方法,将分布式的ndn架构与sdn架构融合,引入逻辑集中的sdn控制器;依托的网络架构包含sdn控制器和若干个ndn路由节点;ndn路由节点实时监测自身的链路信息及输出队列信息以判断网络状态,并将这些信息周期性上传至所述sdn控制器,从而将拥塞控制集中于所述的sdn控制器中;当网络发生链路拥塞时,所述sdn控制器基于接收到的ndn路由节点的链路信息和队列信息,计算ndn路由节点端口成本并告知该路由节点;当网络发生严重拥塞时,消费者基于接收到的数据包拥塞标记调整自身的兴趣包发送窗口。具体步骤如下:8.步骤一、由若干个ndn路由节点之间建立连接及若干个ndn路由节点与所述的sdn控制器之间建立连接构建一网络;9.步骤二、所述ndn路由节点实时监测自身的链路信息、输出队列信息以及缓存信息;同时所述路由节点将缓存信息周期上传至所述sdn控制器;所述sdn控制器维护缓存信息,包括内容前缀及缓存路由节点数,并以缓存路由节点数进行排序;10.步骤三、所述ndn路由节点基于步骤二链路信息和输出队列信息,分别计算链路利用率和队列占用率;同时,所述ndn路由节点将链路利用率和输出队列占用率周期上传至所述sdn控制器;11.步骤四、所述ndn路由节点基于步骤三的链路利用率和输出队列利用率判断网络状态:所述网络状态有空闲状态和拥塞状态,其中拥塞状态分为轻度拥塞状态和严重拥塞状态;当网络状态为轻度拥塞状态,执行步骤五;当网络状态为严重拥塞状态,执行步骤六;12.步骤五、所述sdn控制器根据具有顺序的缓存信息选择操作内容前缀,根据接收到的所述ndn路由节点的链路利用率及队列占用率,计算所述ndn路由节点端口成本并告知该路由节点;13.步骤六、当发生严重拥塞时,消费者对兴趣包发送窗口进行调整。14.进一步讲,本发明控制方法的步骤三所述ndn路由节点计算链路利用率和输出队列占用率的流程如下:15.3-1)计算链路利用率,βij表示节点i与节点j之间链路的链路利用率,计算公式如下:[0016][0017]式(1)中,xij表示节点i与节点j之间链路中数据内容在单位时间内的传输速率;cij表示该链路容量,cij>0;[0018]3-2)计算队列利用率,εi表示节点i的输出队列占用率,计算公式如下:[0019][0020]式(2)中,qi表示路由节点i输出队列中数据内容的大小;qi表示该路由节点输出队列大小,qi>0;[0021]3-3)将链路利用率和输出队列占用率周期性上传sdn控制器,其周期频率t=0.5s。[0022]步骤四中,所述ndn路由节点判断网络状态的流程如下:[0023]4-1)当εi<th2,且βij<th1时,此时网络状态为空闲;βij表示节点i与节点j之间链路的链路利用率,εi表示节点i的输出队列占用率,其中,th1为设定的链路利用率阈值,th2为设定的路由节点输出队列占用率阈值;[0024]4-2)当εi<th2,且βij≥th1时,此时网络状态为轻度拥塞状态;发送拥塞信号通知所述sdn控制器,所述拥塞信号包括拥塞节点id及拥塞节点fib条目数量;执行步骤五;[0025]4-3)当εi>th2时,此时网络状态为严重拥塞状态;计算窗口调整因子δ=εi-th2,并将调整因子作为拥塞标签标记传输数据包,将数据包发送至消费者;执行步骤六。[0026]步骤五的流程如下:[0027]5-1)所述sdn控制器解析拥塞信号,获取拥塞节点id及拥塞节点的fib条目数量;[0028]5-2)所述sdn控制器基于缓存信息,选择未缓存或缓存排序末位10%的内容前缀作为待操作内容前缀组;所述sdn控制器利用随机函数从待操作内容前缀组选择待操作内容前缀;[0029]5-3)基于网络的拓扑结构,所述sdn控制器定位拥塞链路下游路径中具有多个可用端口的路由节点,标记该路由节点为分流节点;[0030]5-4)所述sdn控制器基于所述路由节点上传的链路利用率和输出队列利用率,为分流节点的各个端口计算成本metric,其计算公式如下:[0031][0032]5-5)所述sdn控制器将端口成本metric下发至所述的分流节点。[0033]步骤六的流程如下:[0034]6-1)消费者接收数据包,判断是否具有拥塞标签;[0035]6-2)若具有拥塞标记,消费者获取数据包中的调整因子δ;若不具有拥塞标记,消费者设定调整因子δ=1;[0036]6-3)消费者根据调整因子调整发送兴趣包窗口大小cwn=cwn×(1-δ)。[0037]与现有技术相比,本发明的有益效果是:[0038](1)本发明利用计算路由节点的链路利用率及输出队列占用率,实现网络传输状态的划分,实现了路由节点拥塞控制和消费者拥塞控制之间的协同,避免两种拥塞控制重复或者过度控制导致的网络传输性能下降;[0039](2)本发明利用sdn控制器记录的链路利用率及输出队列占用率信息,协同路由节点进行多路径选择拥塞控制,避免引入新的拥塞同时,有效提高网络整体资源利用率。同时,sdn控制器进行端口成本计算,降低节点工作负荷,提高节点的转发能力。附图说明[0040]图1为本发明中步骤一的网络架构及网络拓扑图;[0041]图2为本发明中路由节点检测网络拥塞过程的流程图;[0042]图3为本发明中sdn控制器计算端口成本过程流程图。具体实施方式[0043]下面结合附图及具体实施例对本发明做进一步的说明,但下述实施例绝非对本发明有任何限制。[0044]本发明提出的基于sdn的具有缓存感知的ndn逐跳拥塞控制方法的设计构思是,依托的网络架构包含sdn控制器和若干个ndn路由节点这两个元素。该方法将将分布式的ndn架构与sdn架构融合,引入逻辑集中的sdn控制器,ndn路由节点实时监测自身的链路信息及输出队列信息以判断网络状态,并将这些信息周期性上传至所述sdn控制器,从而将拥塞控制集中于所述的sdn控制器中,充分提高ndn节点的处理数据能力。当网络发生链路拥塞时,所述sdn控制器基于接收到的ndn路由节点的链路信息和队列信息,计算ndn路由节点端口成本并告知该路由节点;当网络发生严重拥塞时,消费者基于接收到的数据包拥塞标记调整自身的兴趣包发送窗口,除此之外,本发明中提供了较为平缓的消费者发送窗口调整算法,保证网络的传输性能。[0045]基于sdn的具有缓存感知的ndn逐跳拥塞控制方法的具体实施步骤如下:[0046]步骤一、由若干个ndn路由节点之间建立连接及若干个ndn路由节点与所述的sdn控制器之间建立连接构建一网络。该方法将原本ndn架构与sdn技术相融合,即引入逻辑集中的sdn控制器。如图1所示,sdn控制器作为集中控制的拥塞控制模块,充分提高ndn节点的处理数据能力,若干个ndn路由节点r1,r2和r3为例为转发模块。所述sdn控制器定位并标记用户接入该网络的边缘路由节点,即本发明中,与用户连接的路由节点为边缘路由节点。[0047]本发明中,将拥塞控制集中于sdn控制器中,充分提高ndn节点的处理数据能力。同时,具有全局视野的sdn控制器在拥塞控制过程中极大提高了网络的灵活性,保证网络的传输性能,实现智能化管理多路径容量的目的。[0048]步骤二、所述ndn路由节点r1-r3实时监测自身的链路信息、输出队列信息以及缓存信息,同时所述路由节点r1-r3将缓存信息周期上传至所述sdn控制器,所述sdn控制器维护缓存信息,所述sdn控制器维护缓存信息,包括内容前缀及缓存路由节点数,并以缓存路由节点数进行排序。[0049]步骤三、所述ndn路由节点r1-r3基于步骤二链路信息和输出队列信息,分别计算链路利用率和队列占用率;同时,所述ndn路由节点r1-r3将链路利用率和输出队列占用率周期上传至所述sdn控制器;所述路由节点r1-r3链路利用率和输出队列占用率计算具体流程如下:[0050]3-1)路由节点计算链路利用率,βij表示节点i与节点j之间链路的链路利用率,计算公式如下:[0051][0052]式(1)中,xij表示节点i与节点j之间链路中数据内容在单位时间内的传输速率;cij>0表示该链路容量,其中链路容量均设置为10mbps;[0053]3-2)路由节点计算队列利用率,εi表示节点i的输出队列占用率,计算公式如下:[0054][0055]式(2)中,qi表示路由节点i输出队列中数据内容的大小;qi>0表示该路由节点输出队列大小,其中路由节点输出队列大小均设置为200packets;[0056]3-3)将链路信息周期性上传sdn控制器,其周期频率t=0.5s。[0057]步骤四、所述ndn路由节点基于步骤三的链路利用率和输出队列利用率判断网络状态,所述网络状态有空闲状态和拥塞状态,其中拥塞状态分为轻度拥塞状态和严重拥塞状态;如图2所示,所述路由节点判断网络状态具体流程如下,本实施例中,设定的链路利用率阈值th1=0.8,设定的路由节点输出队列占用率阈值th2=0.9,所述ndn路由节点判断网络状态的流程如下:[0058]4-1)当εi<th2,且βij<th1,时,所述路由节点判断此时网络状态为空闲。当t=0s-3s时,消费者向生产者请求的内容过程中,链路r1-r2、r1-r3和r2-r3的利用率小于0.8,r1、r2和r3的输出队列占用率小于0.9。路由节点正常传输数据内容。[0059]4-2)当εi<th2,且βij≥th1,时,所述路由节点判断此时网络状态为轻度拥塞,发送拥塞信号通知所述sdn控制器,信号内容包括拥塞节点id及拥塞节点fib条目数量。当t=3s时刻,消费者向生产者请求的内容过程中,链路r1-r2的利用率0.83大于0.8,r1、r2和r3的输出队列占用率小于0.9。路由节点r2发送拥塞信号通知sdn控制器。然后执行步骤五;[0060]4-3)当εi>th2时,所述路由节点判断此时网络状态为重度拥塞,所述路由节点计算窗口调整因子δ=εi-th2,并将调整因子作为拥塞标签标记传输数据包,将数据包发送至消费者;当t=4s时刻,消费者向生产者请求的内容过程中,r2的输出队列占用率为0.96大于0.9。路由节点r2标记经过的数据包。然后执行步骤六。[0061]步骤五、所述sdn控制器判断r2发生链路拥塞时,所述sdn控制器根据具有顺序的缓存信息选择操作内容前缀,所述sdn控制器根据接收到的所述ndn路由节点的链路利用率及队列占用率,计算所述ndn路由节点端口成本并告知该路由节点。所述sdn控制器具体流程如图3所示,具体流程如下:[0062]5-1)所述sdn控制器解析接收到拥塞信号,获取拥塞节点r2的id及r2的fib条目数量;[0063]5-2)所述sdn控制器基于缓存信息,选择未缓存或缓存排序末位10%的内容前缀作为待操作内容前缀组;所述sdn控制器利用随机函数从待操作内容前缀组选择待操作内容前缀;[0064]5-3)基于网络的拓扑结构,所述sdn控制器遍历r2所在路径的路由节点,判断路由节点是否具有多个可用端口。当定位到拥塞链路下游路径中r1,由于该路由节点通过两个端口(连接r2的端口1和连接r3的端口2)都可获取生产者的数据内容,故标记r1为分流节点;[0065]5-4)所述sdn控制器基于所述路由节点上传的链路利用率和输出队列利用率,为分流节点r1的各个端口计算端口参数metric,其计算公式如下:[0066][0067]5-5)所述sdn控制器将端口成本下发至所述的分流节点r1。此时,r1的端口1参数高于端口2参数,实现链路r1-r2中的部分流量转移至链路r1-r3。[0068]步骤六、当发生严重拥塞时,消费者对兴趣包发送窗口进行调整。消费者调整兴趣包发送窗口,具体流程如下:[0069]6-1)消费者接收数据包,判断是否具有拥塞标记;[0070]6-2)若具有拥塞标记,消费者获取数据包中的调整因子δ;若不具有拥塞标记,消费者设定调整因子δ=1。数据包中的调整因子δ=0.06。[0071]6-3)消费者根据调整因子调整发送兴趣包窗口大小cwn=cwn×(1-δ)。[0072]利用ndnsim模拟器实现了完整的系统原型,仿真拓扑图如图1所示,通过分析丢包量、平均传输时延及网络吞吐量,验证了其应对ndn中拥塞控制的有效性。最后的仿真结果表明,在缓解网络拥塞的前提下,消费者平均传输延时为51.3ms,比正常传输条件下的平均时延增高9%。此外,本发明具有稳定的网络吞吐量。由此表明,本发明设计基于sdn的具有缓存感知的ndn逐跳拥塞控制方法,可以保证缓解网络拥塞的同时提供足够低的平均传输延时,同时保障了稳定的网络吞吐量。[0073]综上,本发明实现了智能化逐跳控制,同时进一步提高了路由节点和消费者之间的协同性,在缓解拥塞的前提下保证较高的网络吞吐量,提升了网络整体的传输性能。[0074]尽管上面结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以做出很多变形,这些均属于本发明的保护之内。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
基于SDN的具有缓存感知的NDN逐跳拥塞控制方法
作者:admin
2022-07-30 18:01:00
417
关键词:
电子通信装置的制造及其应用技术
专利技术