量子城域网中基于动态优先级的路由器队列调度方法技术

技术编号:28682385 阅读:17 留言:0更新日期:2021-06-02 03:01
本发明专利技术公开了一种量子城域网中基于动态优先级的路由器队列调度方法,量子城域网为量子业务和经典业务分配不同的服务优先级,对路由节点上的缓存队列进行分类,将不同业务类型和服务优先级的业务产生的数据包放入不同的优先级队列中,使用加权循环调度算法在队列调度过程中为队列分配权重值,根据网络状态动态调整不同队列的权重值。本发明专利技术利用延时队列处理因密钥暂时短缺而不能加密的数据包,保证了业务的公平性与实时性,利用加权循环调度算法,在队列调度的过程中根据网络状态动态调整队列权重值,提高了队列调度的灵活性和适应性。

【技术实现步骤摘要】
量子城域网中基于动态优先级的路由器队列调度方法
本专利技术属于通信
,更进一步涉及量子城域网
中的一种量子城域网中基于动态优先级的路由器队列调度方法。本专利技术可在量子城域网中根据网络状态,在队列调度过程中采用动态加权的优先级调度机制,保证业务的实时性和公平性。
技术介绍
量子城域网主要包括经典网络、QKD系统、量子信道和经典保密系统。首先QKD系统负责在经典信道的辅助下进行密钥协商,每次密钥协商完毕会在相邻的路由器端形成密钥。发送端和接收端利用量子密钥和经典保密系统对要传输的信息进行一次一密加密,加密后的信息通过经典信道传输,沿途的路由器利用量子密钥对加密后的信息进行逐跳的解密和加密,最后接收方收到加密信息后利用量子密钥对信息进行解密。随着通信网络技术的发展,单一的数据传输网络逐步演化为视频,图像,语音等多业务的综合传输网络,这些多媒体业务在业务所获得的带宽,传输数据流的低时延和低抖动等性能指标上对网络的服务质量QoS(QualityOfService)提出了更高的要求,网络资源的有效管理是实现网络QoS控制的关键,具体表现在缓冲队列和链路带宽等网络资源的公平分配和合理使用上。因特网工程小组提出过许多用来控制网络QoS的服务模型与协议,比较典型的有综合服务模型IntServ(IntegratedService)和区分服务模型DiffServ(DifferentiatedService)。IntServ提供的是端到端的QoS保证,对网络中路由器的性能要求很高,扩展性较差,很难在大规模的网络中实施,为了解决IntServ扩展性差的缺点,DiffServ模型采用流汇聚和逐跳行为的方式为网络提供一定程度的QoS保障,它具有良好的扩展性和鲁棒性,而且实现简单,已经成为复杂网络中实现QoS的首选方式,而区分服务中的队列调度也是当今研究的热点课题之一。通过研究发现,在网络发生拥塞的状况下,控制网络拥塞最直接有效的手段就是队列调度,它是网络QoS控制的核心技术之一。综合服务IntServ和区分服务DiffServ中都存在队列调度问题,当网络发生拥塞时网络中的数据分组会进入路由器的缓冲队列中,作为转发节点的路由器会按照一定的调度策略决定缓冲队列中数据分组的出队顺序。因此队列调度的基本思想是如何从一个或者多个缓冲队列中选择即将被转发的数据分组。目前应用最多的队列调度算法共有三类:分组公平类算法,轮询类算法和服务曲线类算法。加权公平队列算法WFQ(WeightedFairQueuing)是基于通用处理机共享流体模型的算法,加权轮询调度算法WRR(WeightedRoundRobin)是基于循环类算法的改进型算法,在一次轮询周期中依据每个队列的权重值进行循环调度。衡量队列调度算法性能的指标主要有对链路带宽的利用率,对不同业务流带宽分配的公平性和业务流的时延特性,以及算法本身的复杂度等。随着量子城域网的高速发展,用户规模和业务类型都将急剧增加,网络发生拥塞的概率也逐渐变大,其中,量子加密业务在传输过程中需要利用量子密钥进行加密和解密,由于量子密钥是相邻可信中继通过QKD系统以一定的密钥生成速率协商而来的,因此在保证量子城域网QoS的同时还要考虑量子密钥的生成速率这一性能指标。传统的单一队列调度算法在队列调度过程中不能区分处理量子保密业务与经典业务,也无法处理量子保密业务因密钥暂时短缺而产生的丢包问题,导致业务的实时性与公平性无法得到保障,因此难以适用于量子城域网。目前还未出现针对量子城域网的路由器队列调度方法,为了保证量子业务和经典业务都有较好的通过率,在量子城域网中关于路由器队列调度方法的研究也变得越来越重要。北京国电通网络技术有限公司在其申请的专利文献“一种电力系统量子加密业务的队列调度方法”(专利申请号201810361281.1,申请公开号:CN108768888A)中提出了一种电力系统量子加密业务的队列调度方法。该专利文献所公开方法的主要步骤是:(1)按时延要求对业务进行分类,为每类业务分配一个先入先出队列并根据所述时延要求计算所述队列的权值;(2)当所述队列的待加密数据包到达所述队列队头时计算所述队列队头数据包的前期等待时间;(3)根据所述队列队头数据包的前期等待时间、所述队列权值、业务加密所需密钥长度和最大加密速率计算所述队列头数据包的预计耗时;(4)从所述预计耗时大于时延要求的队列中选择权值最大的队列进行队头数据包的发送。该方法存在的不足之处是:在步骤(3)中数据包每次到达队列头时都计算预计耗时,算法的复杂度较大,只适用于单一的量子保密通信网络,不能直接应用到经典业务和量子保密业务共存的量子城域网中。深圳市邦彦信息技术有限公司在其申请的专利文献“一种基于动态权重计算的队列调度方法”(专利申请号:201410216080.4,申请公开号:CN104009936A)中提出了一种基于动态权重计算的队列调度方法。该专利文献所公开方法的主要步骤是:(1)接收数据包并对其进行分类并存放在对应的业务队列中;(2)读取并测量每个业务队列中数据包的信息;(3)根据读取的各业务队列中数据包的信息和收益最大判断准则计算各个队列的最优权重值;(4)根据计算得到的各业务队列的最优权重值,加权轮询调度器对业务队列中的数据包进行调度输出。该方法存在的不足之处是:在步骤(1)中对数据包进行分类存放时,网络中任意一个业务流量的急剧增加都可能导致队列溢出产生丢包。
技术实现思路
本专利技术的目的是针对上述现有技术的不足,提出一种量子城域网中基于动态优先级的路由器队列调度方法,用于解决量子城域网中经典业务和量子保密业务共存时的队列管理以及现有技术中存在的数据包每次到达队列头时都计算预计耗时,算法的复杂度较大,只适用于单一的量子保密通信网络,不能直接应用到经典业务和量子保密业务共存的量子城域网中的问题。为了实现上述目的,本专利技术的设计思路是,首先在量子城域网中标记量子业务产生的数据包,然后利用差分服务代码点DSCP(DifferentiatedServicesCode)分别为量子保密业务和经典业务分配两种不同的服务优先级,之后对路由器上的缓存队列进行分类,依据业务类型和服务优先级将业务数据包放入对应的队列中,最后利用加权循环调度算法,在队列调度过程中根据业务的时延和带宽要求以及网络状态动态调整队列的权重值,保证量子保密业务和经典业务都有较好的通过率。本专利技术的具体步骤包括如下:(1)生成量子密钥:量子城域网中相邻可信中继使用光量子系统在经典信道的辅助下生成量子密钥;(2)源端发起经典业务和量子保密业务请求,设置标记变量Et,使用Et标记源端应用层产生的量子保密业务数据包;(3)源端IP层判断业务数据包是否被Et标记:若是,执行步骤(4),否则,执行步骤(5);(4)设置量子保密业务的加密等级:(4a)量子城域网为量子保密业务设置四种加密等级L1,L2,L3,L4,在计算密钥长度时采用1,2,3,4四种取值代表四种加密等级L1,L2,L3,L4,在数据包头部的选项字段中采用00,本文档来自技高网
...

【技术保护点】
1.一种量子城域网中基于动态优先级的路由器队列调度方法,其特征在于,利用加权循环调度算法,在路由器进行队列调度的过程根据城域网状态动态调整队列的权重值,该方法的具体步骤包括如下:/n(1)生成量子密钥:/n量子城域网中相邻可信中继使用光量子系统在经典信道的辅助下生成量子密钥;/n(2)源端发起经典业务和量子保密业务请求,设置标记变量E

【技术特征摘要】
1.一种量子城域网中基于动态优先级的路由器队列调度方法,其特征在于,利用加权循环调度算法,在路由器进行队列调度的过程根据城域网状态动态调整队列的权重值,该方法的具体步骤包括如下:
(1)生成量子密钥:
量子城域网中相邻可信中继使用光量子系统在经典信道的辅助下生成量子密钥;
(2)源端发起经典业务和量子保密业务请求,设置标记变量Et,使用Et标记源端应用层产生的量子保密业务数据包;
(3)源端IP层判断业务数据包是否被Et标记:若是,执行步骤(4),否则,执行步骤(5);
(4)设置量子保密业务的加密等级:
(4a)量子城域网为量子保密业务设置四种加密等级L1,L2,L3,L4,在计算密钥长度时采用1,2,3,4四种取值代表四种加密等级L1,L2,L3,L4,在数据包头部的选项字段中采用00,01,10,11四种比特值代表四种加密等级;
(4b)源端IP层根据业务类型设置量子保密业务数据包头部选项字段的后两位比特值为00,01,10,11四种比特值中的一种,继续执行步骤(5);
(5)分配量子保密业务和经典业务的服务优先级:
(5a)源端IP层根据服务优先级设置业务数据包头部tos字段的前6位比特值,业务服务优先级为最高时,前6位比特值设置为101110,业务服务优先级为一般时,前6位比特值设置为001010;
(5b)量子城域网为量子保密业务分配最高优先级Pqh和一般优先级Pql,为经典业务分配最高优先级Pch和一般优先级Pcl,Pqh和Pch对应比特值101110,Pql和Pcl对应比特值001010;
(6)对中间路由节点的缓存队列进行分类:
路由节点IP层将缓存队列Q分为量子保密业务队列Qq,经典业务队列Qc,及延时队列Qd三类,其中,Qq分为量子高优先级队列Qqh和量子低优先级队列Qql,Qc分为经典高优先级队列Qch和经典低优先级队列Qcl,Qd分为量子高优先级延时队列Q1和量子低优先级延时队列Q2,设置Qqh,Qql,Qch,Qcl,Q1,Q2的队列长度阈值分别为Tqh,Tql,Tch,Tcl,T1,T2,设置业务数据包在延时队列中的最大等待时间为Td,其中,Tqh、Tql分别是Tch、Tcl的两倍;
(7)分配队列的初始权重:
调度器依据加权轮询调度算法设置量子保密业务队列Qq,经典业务队列Qc,延时队列Qd的初始权重之比为Wq∶Wc∶Wd,建议值为1∶8∶1,其中,设置Qq中Qqh,Qql的权重之比为Wqh∶Wql,建议值为3∶1,Qc中Qch,Qcl的权重之比为Wch∶Wcl,建议值为3∶1,Qd中Q1,Q2的权重之比为W1∶W2,建议值为3∶1;
(8)业务数据包入队列:
(8a)根据标记变量Et判断到达路由节点上的业务数据包PKn是否为经典业务数据包:若是,不执行任何操作,否则,将该业务数据包判定为量子保密业务数据包后判断当前业务是否是高优先级业务:若是,判断当前时刻Qqh的队列长度是否小于队列长度阈值Tqh:若是,将PKn放入Qqh尾部,否则,丢弃PKn;若是低优先级业务,判断当前时刻Qql的队列长度是否小于队列长度阈值Tql:若是,将PKn放入Qql尾部,否则,丢弃PKn,继续执行步骤(9);
(8b)判断当前业务是否为高优先级业务:若是高优先级业务,判断当前Qch的队列长度是否小于队列长度阈值Tch,若是,将PKn放入Qch尾部,否则,丢弃PKn,若是低优先级业务,判断当前Qcl的队列长度是否小于队列长度阈值Tcl,若是,将PKn放入Qcl尾部,否则,丢弃PKn;继续执行步骤(9);
(9)判断当前Q1,Q2的队列长度C1,C2是否都为0:若是,设置量子保密业务队列的和经典业务队列的权重之比Wa∶Wb,建议值为1∶9,执行步骤(14),否则,执行步骤(10);
(10)判断C1是否不为0:若是,执行步骤(11),否则,执行步骤(13);
(11)根据Q1分配到的权重计算本次从Q1中调度数据包的个数N,从Q1头部获取数据包Kq1,得到Kq1的包长PKq,根据Kq1头部的选项字段得到加密等级Lq,PKq除以2^Lq得到加密Kq1的密钥长度Cq,查找Kq1对应链路上的密钥长度Cx,判断Cx是否大于Cq:若是,从Q1中取出Kq1,在Kq1的接收端口处取出密钥进行解密,再从Kq1的对应链路上取出长度为Cq的密钥对Kq1进行加密,在输出端口处转发,否则,获取当前时间T和Kq1的入队时间tq1,判断T减tq1是否大于Kq1的最大等待时间Td,若是,丢弃Kq1,否则,不处理该业务数据包;按照数据包在Q1中的排队顺序依次从当前数据包往后连续处理N-1个数据包;
(12)判断C2是否为0:若是,执行步骤(14),否则,执行步骤(13);
(13)根据Q2分配到的权重计算本次从Q2中调度数据包的个数M,从Q2队列头部获取数据包Kq2,得到Kq2的包长PKp;根据Kq2头部的选项字段得到其加密等级Lp,PKq除以2^Lp得到加密Kq2的密钥长度Cp,查找Kq2对应链路上的密钥长度Cy,判断Cy是否大于Cp:若是,从Q2中取出Kq2,在Kq2的接收端口处取出密钥进行解密,再从Kq2对应链路上取出长度为Cp的密钥对Kq2进行加密,在输出端口处转发,否则,获取当前时间T和Kq2的入队时间t2,判断T减t2是否大于Kq2的最大等待时间Td:若是,丢弃Kq2,否则,不处理该业务数据包;按照数据包在Q2中的排队顺序依次从当前数据包往后连续处理M-1个数据包;
(14)检查量子保密业务队列和经典业务队列:
(14a)判断当前Qql和Qqh的队列长度之比是否大于等于Wb∶Wa,建议值为9∶1:若是,设置Qql和Qqh的初始权重之比为Wqh∶Wql,否则,不做任何处理;
(14b)判断当前Qcl和Qch的队列长度之比是否大于等于Wb∶Wa:若是,设置Qcl和Qch的初...

【专利技术属性】
技术研发人员:权东晓汪俊华朱畅华陈志勋赵楠易运晖陈南裴昌幸
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1