CN104683244A - 一种基于路径节点驱动策略的组播路由方法 - Google Patents

一种基于路径节点驱动策略的组播路由方法 Download PDF

Info

Publication number
CN104683244A
CN104683244A CN201510102703.XA CN201510102703A CN104683244A CN 104683244 A CN104683244 A CN 104683244A CN 201510102703 A CN201510102703 A CN 201510102703A CN 104683244 A CN104683244 A CN 104683244A
Authority
CN
China
Prior art keywords
node
msubsup
mrow
msub
power consumption
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.)
Granted
Application number
CN201510102703.XA
Other languages
English (en)
Other versions
CN104683244B (zh
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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN201510102703.XA priority Critical patent/CN104683244B/zh
Publication of CN104683244A publication Critical patent/CN104683244A/zh
Application granted granted Critical
Publication of CN104683244B publication Critical patent/CN104683244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于路径节点驱动策略的组播路由方法,首先初始化网络参数,将节点vs作为组播树的根节点,计算所述节点vs到其任一邻居节点的权重,将所述权重最大值对应的邻居节点vi加入所述组播树,接着判断所述邻居节点vi是否为目的节点,若是则从vi出发继续寻找下一跳节点,否则计算节点vi到其任一邻居节点的权重,得到所述权重最大值对应的邻居节点vj,根据判断Sourcevj的大小关系,决定是从vi出发继续寻找下一跳节点还是从组播树中删除vi,将vj加入组播树,并从vj出发继续寻找下一跳节点,直到找到满足约束条件的所有组播树成员,记录相应路径信息,从而有效地降低组播树能耗和满足用户的QoS需求,充分地利用网络资源。

Description

一种基于路径节点驱动策略的组播路由方法
技术领域:
本发明涉及计算机通信领域,尤其涉及一种基于路径节点驱动策略的组播路由方法。
背景技术:
日益增长的用户需求、愈发多样的应用类型、不断增加的网络复杂度以及迅速膨胀的网络规模,使得互联网的能耗问题成为全球相关领域关注的热点。而且随着网络功能的日益强大和网络的应用范围不断扩大,诸如多点会议、资源同步、协同处理等组播应用越来越多,由此引发的经济问题和环保问题已经愈发严重。
采用组播技术分发信息常常能减少整个网络带宽的需求,这给网络节能创造了很好的机会。对于某些实时大数据量服务,如视频会议,大量用户要在同一时间访问相同信息,如果使用单播,网络带宽的消耗就会呈线性增长,而且还可能需要不断增加服务器的能力和数量以满足连接数的增长,这将进一步加剧全球互联网的能耗,使得本已庞大的冷却成本变得更加骇人,那么此时应该采用组播技术来发送分组,这样使得重复数据流被单一传送所代替,大大减少需要转发和处理的数据量,从而更加有效地利用了网络带宽,同时也降低了对服务器性能的要求。
以往我们衡量一个组播路由方法的好坏往往关注的是它的性能,如控制端到端的延迟和带宽占用的能力,但是随着人们对网络节能主观意识的不断增强,使我们不仅要考虑其性能,而且更要关注方法产生的组播树对网络节能的贡献,这使得我们对组播方法的评价与衡量有了新的标准。
现有的组播路由方法主要有Dijkstra SPT方法,随着对最短路径问题进行了大量的深入研究,出现了很多求解最短路径的方法,如邻接结点方法、A*方法和改进的Dijkstra方法等,但是这些方法仅以最短路径作为寻路的唯一标准而忽略了其他因素对生成树的影响。而最近几年出现的“目的节点驱动”策略仅仅考虑目的节点共享路径来实现生成树代价的减小,这样不能广泛地共享路径,因此不能最大限度地降低组播树的代价。
发明内容:
针对现有技术的缺陷,本发明提供一种基于路径节点驱动策略的组播路由方法,从而有效地降低组播树能耗和满足用户的QoS需求,充分地利用网络资源。
一方面,本发明提供一种基于路径节点驱动策略的组播路由方法,包括:
S1、初始化网络参数,设置网络中除源节点外的任一节点vk到源节点的权重路径节点权重父节点将节点vs作为组播树的根节点;
所述节点为网络中的路由器,所述网络参数包括带宽、延迟、延迟抖动、出错率和功耗,所述路径节点权重为当前节点到离其最近的路径节点的权重;
S2、计算所述节点vs到其任一邻居节点的权重,选择所述权重最大时所对应的邻居节点vi加入所述组播树,修改所述邻居节点vi到所述源节点的权重和所述邻居节点vi的路径节点权重令所述邻居节点vi的父节点为节点vs
S3、判断所述邻居节点vi是否为目的节点,若是,则将所述邻居节点vi加入所述组播树,标记从源节点到目的节点路径上的所有节点为路径节点,修改所述邻居节点vi的路径节点权重,vs←vi,执行步骤S2,否则,执行步骤S4;
S4、计算节点vi到其任一邻居节点的权重,得到所述权重最大值所对应的邻居节点vj,计算节点vi到源节点的权重节点vj到源节点的权重节点vi到节点vj的权重 Source v j > Source v i + Sui omul v i v j , 则执行步骤S7,若 Source v j = Source v i + Sui omul v i v j , 则执行步骤S5,若则执行步骤S6;
S5、若存在节点vj通过节点vi有更小的则执行步骤S6,否则,执行步骤S7;
S6、更新网络参数和路由表信息,若找到满足约束条件的所有组播树成员,则由每跳节点记录的下一跳和父节点逐跳生成从源节点到组播目的节点的一棵组播树,同时向组播树中各节点发送报文,执行步骤S8,否则,vs←vi,执行步骤S2;
S7、将节点vi从组播树中删除,将节点vj加入组播树,更新网络参数和路由表信息,若找到满足约束条件的所有组播树成员,则由每跳节点记录的下一跳和父节点逐跳生成从源节点到组播目的节点的一棵组播树,同时向组播树中各节点发送报文,执行步骤S8,否则,令vs←vj,执行步骤S2;
所述组播树以源节点为根节点,以所有目的节点为叶子节点;
S8、组播树中所有节点收到报文,记录相应路径信息。
可选地,所述初始化网络参数,具体为,
对于任意节点vi和节点vj,初始化带宽Rij.bw=∞,延迟Rij.dl=0,延迟抖动Rij.jt=0,出错率Rij.er=0,节点功耗Rij.power=PNode,若节点vi和节点vj是同一个节点,则初始化节点vi到节点vj的下一跳Rij.next=NULL,节点vi到节点vj的最短路径跳数Rij.length=0,否则初始化节点vi到节点vj的下一跳Rij.next=NULL,节点vi到节点vj的最短路径跳数Rij.length=∞。
可选地,所述计算节点vs到邻居节点vi的权重,通过下式计算,
Weight v s v i = Satis ( QoS ) Power
其中,为节点vs到邻居节点vi的权重,Satis(QoS)为用户对节点vs到邻居节点vi之间链路l的QoS满意度,通过下式计算,
Satis(QoS)=abw×Satis(bw)+adl×Satis(dl)+ajt×Satis(jt)+aer×Satis(er)
其中,Satis(bw)为用户对节点vs到邻居节点vi之间链路l的带宽满意度,Satis(dl)为用户对节点vs到节点vi之间链路l的延迟满意度,Satis(jt)为用户对节点vs到节点vi之间链路l的延迟抖动满意度,Satis(er)为用户对节点vs到节点vi之间链路l的出错率满意度,abw、adl、ajt、aer分别为带宽、延迟、延迟抖动、出错率对用户的重要程度,对于不同的业务类型和服务等级它们取不同的值,且满足0<abw<1,0<adl<1,0<ajt<1,0<aer<1,abw+adl+ajt+aer=1;
Power为节点vs到邻居节点vi的总功耗,所述总功耗包括链路l功耗、链路l两端节点vs和节点vi的功耗,通过下式计算,
Power = P node s × NodeSt s + P node i × NodeSt i + P link l × LinkSt l
其中,NodeSts为节点vs的状态标识符,NodeSti为节点vi的状态标识符,LinkStl为链路l的状态标识符,其中,所述状态标识符为0表示空闲状态,为1表示工作状态,为节点s的功耗,为节点i的功耗,通过下式计算,
P node i = P ctrl i + P repl i + Σ k = 1 N chass i ( P chass i × ChaSt i k + Σ lc = 1 N lcrd k ( P ford i + P repl i ) × LkdSt k lc + Σ p = 1 N port lc p port i ( 1 + α × trf p β ) × PortSt lc p )
其中,为节点i的主控引擎功耗,为节点i的转发引擎功耗,为节点i的复制引擎功耗,为节点i一个底架的功耗,为节点i一个端口的功耗,为节点i中底架的数量,为节点i中底架k的线卡的数量,为节点i中底架k的线卡lc上端口的数量,为节点i中底架k的状态标识符,为节点i中线卡lc的状态标识符,节点i中线卡lc上端口p的状态标识符,所述状态标识符为0表示休眠状态,为1表示工作状态,trfp为通过节点i中线卡lc上端口p的流量,α和β为常数,用来表示流量与功耗的关系;
为节点vs到邻居节点vi之间链路l的功耗,通过下式计算,
P link l = ( 1 + α ′ × trf l β ′ ) × ( P fort + Σ a = 1 N reptr l ( P reptr × RptrSt l a ) + P rear + Σ b = 1 N regenr l ( P regen × RgentrSt l b ) )
其中,Pfort为前置光放大器功耗,Preptr为中继光放大器功耗,Pregen为再生光器功耗,Prear为再生光放大器功耗,为链路l上中继放大器的个数,为链路l上光再生器的个数,为链路l上中继放大器a的状态,为链路l上中继放大器b的状态标识符,所述状态标识符为0表示空闲状态,为1表示工作状态,trfl为链路l上的流量,α′和β′为常数,用来表示流量与功耗的关系。
可选地,所述更新网络参数和路由表信息,具体为:
更新网络参数包括带宽、延迟、延迟抖动、出错率和功耗,更新路由表信息包括网络总功耗P=Ptotal,节点vs到节点vj的下一跳Rsj.next=i,节点vs到节点vj的最短路径跳数Rsj.length=length+1,节点vj的父节点
可选地,所述约束条件为,
bwpra≥bwl
dlpra≤dlh
jtpra≤jth
erpra≤erh
其中,bwpra、dlpra、jtpra、erpra分别为网络实际能够提供的带宽、延迟、延迟抖动和出错率,bwl、dlh、jth、erh分别为业务请求对应的带宽下限、延迟上限、延迟抖动上限和出错率上限。
由上述技术方案可知,本发明的一种基于路径节点驱动策略的组播路由方法,首先初始化网络参数,将节点vs作为组播树的根节点,计算所述节点vs到其任一邻居节点的权重,将所述权重最大值对应的邻居节点vi加入所述组播树,接着判断所述邻居节点vi是否为目的节点,若是则从vi出发继续寻找下一跳节点,否则计算节点vi到其任一邻居节点的权重,得到所述权重最大值对应的邻居节点vj,根据判断的大小关系,决定是从vi出发继续寻找下一跳节点还是从组播树中删除vi,将vj加入组播树,并从vj出发继续寻找下一跳节点,直到找到满足约束条件的所有组播树成员,记录相应路径信息,从而有效地降低组播树能耗和满足用户的QoS需求,充分地利用网络资源。
附图说明:
图1为本发明一实施例提供的简化的网络模型示意图;
图2为本发明一实施例提供的路由器模型结构示意图;
图3为本发明一实施例提供的链路模型结构示意图;
图4为本发明一实施例提供的基于路径节点驱动策略的组播路由方法流程示意图。
具体实施方式:
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
给定一组网络模型,可简化为连通图G(V,E),如图1所示,V=(v1,v2,...,vn)表示顶点的集合,每一个顶点表示一个网络节点,即网络中的路由器,E=(e1,e2,...,el)表示边的集合,每条边表示网络中的链路。
图2示出了路由器模型结构示意图,如图2所示,路由器主要由底架、线卡、路由主控引擎、交换矩阵、转发引擎和复制引擎等组成。其中,主控引擎是路由器的控制中心,对路由进行控制,不断更新路由表;交换矩阵用来在路由器内部连接输入和输出端口。转发引擎用来完成包括数据输入和存储、报头分析、路由表查找等功能;复制引擎用于组播复制,而且所有引擎均具有一定的缓存。
图3示出了链路模型结构示意图,如图3所示,链路主要由前置光放大器、中继光放大器、光再生器和后置光放大器等器件组成。其中,前置光放大器用来提高业务的发射功率;中继光放大器用来延长传输距离;光再生器用来对信号进行修整;后置光放大器用来转换信号的功率。
图4示出了本发明一实施例提供的基于路径节点驱动策略的组播路由方法流程示意图,如图4所示,本实施例的方法如下所述。
S1、初始化网络参数,设置网络中除源节点外的任一节点vk到源节点的权重路径节点权重父节点将节点vs作为组播树的根节点。
本步骤中,所述节点为网络中的路由器,所述网络参数包括带宽、延迟、延迟抖动、出错率和功耗,所述路径节点权重为当前节点到离其最近的路径节点的权重;
进一步地,所述初始化网络参数,具体为:
对于任意节点vi和节点vj,初始化带宽Rij.bw=∞,延迟Rij.dl=0,延迟抖动Rij.jt=0,出错率Rij.er=0,节点功耗Rij.power=PNode,若节点vi和节点vj是同一个节点,则初始化节点vi到节点vj的下一跳Rij.next=NULL,节点vi到节点vj的最短路径跳数Rij.length=0,否则初始化节点vi到节点vj的下一跳Rij.next=NULL,节点vi到节点vj的最短路径跳数Rij.length=∞。
应说明的是,本实施例采用基于QoS的DiffServ模型,通过IPv6报文中的DS(Differentiated Services)字段为用户提供特定的服务等级,将链路状态表示为<源地址,目的地址,功耗,QoS参数>四元组,其中QoS参数表示为<可用带宽bw,延迟dl,延迟抖动jt,出错率er>四元组,则路由器i的QoS参数可表示为可用带宽bwi,延迟dli,延迟抖动jti,出错率eri,链路l的QoS参数可表示为可用带宽bwj,延迟dlj,延迟抖动jtj,出错率erj
具体地,当路由器s经过链路l到达路由器i,则可通过bwi=min{bws,bwl}计算路由器i中记录的链路可用带宽bwi,通过dli=dls+dll计算路由器i中记录的链路延迟dli,通过jti=jts+jtl计算路由器i中记录的链路延迟抖动jti,通过eri=1-(1-ers)(1-erl)计算路由器i中记录的链路出错率eri,通过bwl=min{bwself,bwack}来计算链路l的可用带宽,其中bwself为路由器端口的可用带宽,bwack为应答报文中的可用带宽值,通过dll=(RvTm-HdTm-SsTm)/2来计算路由器处理延迟和链路l的传输延迟之和,其中RvTm、HdTm、SsTm分别为接受报文时刻、处理时间、请求报文的发送时刻,通过jtl=|dll-dlpre|来计算链路l的延迟抖动,即为链路l上相邻两次延迟之差的绝对值,dlpre为上一次的链路延迟,初始dlpre=0,通过erl=(erself+erack)/2来计算链路l的出错率,即数据包在链路l上传输过程中的出错率,erself、erack分别为路由器端口的出错率和应答报文中的出错率。
S2、计算所述节点vs到其任一邻居节点的权重,选择所述权重最大值所对应的邻居节点vi加入所述组播树,修改所述邻居节点vi到所述源节点的权重和所述邻居节点vi的路径节点权重令所述邻居节点vi的父节点为节点vs
本步骤中,计算节点vs到邻居节点vi的权重,通过下式计算,
Weight v s v i = Satis ( QoS ) Power
其中,为节点vs到邻居节点vi的权重,Satis(QoS)为用户对节点vs到邻居节点vi之间链路l的QoS满意度,通过下式计算,
Satis(QoS)=abw×Satis(bw)+adl×Satis(dl)+ajt×Satis(jt)+aer×Satis(er)
其中,abw、adl、ajt、aer分别为带宽、延迟、延迟抖动、出错率对用户的重要程度,对于不同的业务类型和服务等级它们取不同的值,且满足0<abw<1,0<adl<1,0<ajt<1,0<aer<1,abw+adl+ajt+aer=1;
Satis(bw)为节点vs到邻居节点vi之间链路l的带宽满意度,通过下式计算,
Satis ( bw ) = - &Omega; bw < bw l &epsiv; bw = bw l ( bw - bw l bw h - bw l ) &alpha; bw l < bw < 1 2 ( bw l + bw h ) ( bw - bw l bw h - bw l ) &beta; 1 2 ( bw l + bw h ) &le; bw < bw h &xi; bw = bw h 1 bw > bw h
其中,bwl为带宽区间下限,bwh为带宽区间上限,Ω为正数,ε为趋近于0的正数,ξ为趋近于1的正数,α>1,0<β<1;
Satis(dl)为节点vs到节点vi之间链路l的延迟满意度,通过下式计算,
Satis ( dl ) = - &Omega; dl > dl h &epsiv; dl = dl h ( dl h - dl dl h - dl l ) &alpha; 1 2 ( dl l + dl h ) &le; dl < dl h ( dl h - dl dl h - dl l ) &beta; dl l < dl < 1 2 ( dl l + dl h ) &xi; dl = dl l 1 dl < dl l
其中,dll为延迟区间下限,dlh为延迟区间上限,Ω为正数,ε为趋近于0的正数,ξ为趋近于1的正数,α>1,0<β<1;
Satis(jt)为节点vs到节点vi之间链路l的延迟抖动满意度,通过下式计算,
Satis ( jt ) = - &Omega; jt > jt h &epsiv; jt = jt h ( jt h - jt jt h - jt l ) &alpha; 1 2 ( jt l + jt h ) &le; jt < jt h ( jt h - jt jt h - jt l ) &beta; jt l < jt < 1 2 ( jt l + jt h ) &xi; jt = jt l 1 jt < jt l
其中,jtl为延迟抖动区间下限,jth为延迟抖动区间上限,Ω为正数,ε为趋近于0的正数,ξ为趋近于1的正数,α>1,0<β<1;
Satis(er)为节点vs到节点vi之间链路l的出错率满意度,通过下式计算,
Satis ( er ) = - &Omega; er > er h &epsiv; er = er h ( er h - er er h - er l ) &alpha; 1 2 ( er l + er h ) &le; er < er h ( er h - er er h - er l ) &beta; er l < er < 1 2 ( er l + er h ) &xi; er = er l 1 er < er l
其中,erl为出错率区间下限,erh为出错率区间上限,Ω为正数,ε为趋近于0的正数,ξ为趋近于1的正数,α>1,0<β<1;
从上述表达式中可看出,随着带宽bw的增大,用户的满意度逐渐增加,而随着延迟dl、延迟抖动jt和出错率er的增大,用户的满意度逐渐减小,越接近参数区间的边界用户满意度变化越慢,在区间中间时,用户满意度变化显著。
应说明的是,任一业务类型和服务等级具有一个特定的参数区间,用户满意度取决于业务需求的QoS值在参数区间中的位置,本发明则是通过一种评价QoS参数的方法来表示用户对路径的满意程度,当带宽值越大、延迟越小、延迟抖动越小和出错率越小,用户的满意度越高。
Power为节点vs到邻居节点vi的总功耗,所述总功耗包括链路l功耗、链路l两端节点vs和vi的功耗,通过下式计算,
Power = P node s &times; NodeSt s + P node i &times; NodeSt i + P link l &times; LinkSt l
其中,NodeSts为节点vs的状态标识符,NodeSti为节点i的状态标识符,LinkStl为链路l的状态标识符,其中,所述状态标识符为0表示空闲状态,为1表示工作状态,为节点s的功耗,为节点i的功耗,通过下式计算,
P node i = P ctrl i + P repl i + &Sigma; k = 1 N chass i ( P chass i &times; ChaSt i k + &Sigma; lc = 1 N lcrd k ( P ford i + P repl i ) &times; LkdSt k lc + &Sigma; p = 1 N port lc p port i ( 1 + &alpha; &times; trf p &beta; ) &times; PortSt lc p )
其中,为节点i的主控引擎功耗,为节点i的转发引擎功耗,为节点i的复制引擎功耗,为节点i一个底架的功耗,为节点i一个端口的功耗,为节点i中底架的数量,为节点i中底架k的线卡的数量,为节点i中底架k的线卡lc上端口的数量,为节点i中底架k的状态标识符,为节点i中线卡lc的状态标识符,节点i中线卡lc上端口p的状态标识符,所述状态标识符为0表示休眠状态,为1表示工作状态,trfp为通过节点i中线卡lc上端口p的流量,α和β为常数,用来表示流量与功耗的关系;
为节点vs到邻居节点vi之间链路l的功耗,通过下式计算,
P link l = ( 1 + &alpha; &prime; &times; trf l &beta; &prime; ) &times; ( P fort + &Sigma; a = 1 N reptr l ( P reptr &times; RptrSt l a ) + P rear + &Sigma; b = 1 N regenr l ( P regen &times; RgentrSt l b ) )
其中,Pfort为前置光放大器功耗,Preptr为中继光放大器功耗,Pregen为再生光器功耗,Prear为再生光放大器功耗,为链路l上中继放大器的个数,为链路l上光再生器的个数,为链路l上中继放大器a的状态,为链路l上中继放大器b的状态标识符,所述状态标识符为0表示空闲状态,为1表示工作状态,trfl为链路l上的流量,α′和β′为常数,用来表示流量与功耗的关系。
另外,本实施例中组播的优化目标为最大用户满意度和最小化网络能耗,如下所示,
Satis(QoS)→Maximize{Satis(QoS)}
Ptotal→Minimize{Ptotal}
其中,Satis(QoS)为用户的QoS满意度,Ptotal为总体功耗。
S3、判断所述邻居节点vi是否为目的节点,若是,则将所述邻居节点vi加入所述组播树,标记从源节点到目的节点路径上的所有节点为路径节点,修改所述邻居节点vi的路径节点权重,vs←vi,执行步骤S2,否则,执行步骤S4。
本步骤中,当组播路由请求到来时,需要使用组播路由表,所述组播路由表的格式如表1所示,
表1组播路由表
所述表1中各项含义如下,
组播路由请求ID:4个字节,唯一标识该组播路由请求。
源地址:16个字节,表示该组播路由请求的IPv6组播源节点地址。
目的地址:16个字节,表示该组播路由请求的IPv6组播组地址。
业务类型:1个字节,表示该组播路由请求对应的业务类型。
服务等级:1个字节,表示该组播路由请求对应的业务类型下的服务等级。
下游节点标识:8个字节,对应下游节点的自治域ID和路由器ID。
转发接口:1个字节,表示向该下游节点转发数据的接口号。
应说明都是,同一组播路由请求在组播路由表中可以有多个下游节点标识和转发接口项。
另外,每个路由器设置并维护邻居信息表,所述邻居信息表的格式如表2所示,
表2邻居信息表
所述表2中各项含义如下,
接口号:1个字节,与相邻路由器相连的接口标识。
节点地址:16个字节,相邻路由器的IPv6地址。
节点标识:8个字节,相邻路由器的自治域ID和路由器ID。
节点状态:4个字节,相邻路由器的CPU使用率和存储使用率。
链路标识:8个字节,链路编号。
链路状态:16个字节,相邻路由器与当前路由器间相连链路的状态参数,包括可用带宽、延迟、延迟抖动、出错率、功耗。
休眠标志:1个字节,相邻路由器是否处于休眠状态,1表示处于休眠状态,0表示处于工作状态。
另外,每个路由器设置并维护路径信息表,所述路径信息表的格式如表3所示,
表3路径信息表
所述表3中各项含义如下,
路段标识符:4个字节,标识经验路段。
目的地址:16个字节,经验路段目的路由器的IPv6地址。
路段参数:20个字节,该经验路段的互联网参数,包括可用带宽、延迟、延迟抖动、出错率和功耗。
计时器:2个字节,经验路段死亡时限,单位为秒,其初值为65535,其值按时递减,为0时清除该经验路段对应的表项。
使用次数:4个字节,表示经验路段累计使用次数,初值为1。
经验路段组成节点标识:变长,线性表结构,每个表项由经验路段组成节点的自治域ID和路由器ID构成,第一个表项对应当前路由器,最后一个表项对应目的路由器。
S4、计算节点vi到其任一邻居节点的权重,得到所述权重最大值所对应的邻居节点vj,计算节点vi到源节点的权重节点vj到源节点的权重节点vi到节点vj的权重 Source v j > Source v i + Sui omul v i v j , 则执行步骤S7,若 Source v j = Source v i + Sui omul v i v j , 则执行步骤S5,若则执行步骤S6。
本步骤中,应说明的是,所述为节点vi到节点vj的适宜度函数值。
本发明定义了基于路径节点驱动策略的组播路由算法的适宜度函数,用来作为邻居节点选择的依据,本发明中的适宜度函数值与权重的计算公式是相同的,
Sui omul v i v j = Satis ( QoS ) Power
该适宜度函数与QoS满意度和功耗有关,QoS满意度值越大,功耗值越小,适宜度函数值越大。
S5、若存在节点vj通过节点vi有更小的则执行步骤S6,否则,执行步骤S7。
S6、更新网络参数和路由表信息,若找到满足约束条件的所有组播树成员,则由每跳节点记录的下一跳和父节点逐跳生成从源节点到组播目的节点的一棵组播树,同时向组播树中各节点发送报文,执行步骤S8,否则,vs←vi,执行步骤S2。
本步骤中,所述更新网络参数和路由表信息,具体为:
更新网络参数包括带宽、延迟、延迟抖动、出错率和功率,更新路由表信息包括网络总功耗P=Ptotal,节点vs到节点vj的下一跳Rsj.next=i,节点vs到节点vj的最短路径跳数Rsj.length=length+1,节点vj的父节点
应说明的是,组播需要考虑QoS参数约束条件,满足网络的时间带宽不能小于应用的带宽下限、网络的实际延迟不能大于应用的延迟上限、网络的实际延迟抖动不能大于应用的延迟抖动上限和网络的时间出错率不能大于应用的出错率上限。
所述约束条件,如下所示,
bwpra≥bwl
dlpra≤dlh
jtpra≤jth
erpra≤erh
其中,bwpra、dlpra、jtpra、erpra分别为网络实际能够提供的带宽、延迟、延迟抖动和出错率,bwl、dlh、jth、erh分别为业务请求对应的带宽下限、延迟上限、延迟抖动上限和出错率上限。
S7、将节点vi从组播树中删除,将节点vj加入组播树,更新网络参数和路由表信息,若找到满足约束条件的所有组播树成员,则由每跳节点记录的下一跳和父节点逐跳生成从源节点到组播目的节点的一棵组播树,同时向组播树中各节点发送报文,执行步骤S8,否则,令vs←vj,执行步骤S2;
本步骤中,所述组播树以源节点为根节点,以所有目的节点为叶子节点。
本实施例在最短路径树的基础上,充分利用路径节点共享路径,这样确保可以求出一个最小能耗的最短路径,同时在问题的建模和适宜度函数的定义中充分考虑了节能的需求。本方法在构造最短路径树的前提下,通过路径共享来实现最小化最短路径树的总能耗,这样生成的组播树即最小代价树,从而有效地控制网络能耗。
S8、组播树中所有节点收到报文,记录相应路径信息。
本实施例的基于路径节点驱动策略的组播路由方法有以下有益效果:1、通过将能耗作为组播选路考虑因素之一来改善传统的最短路径生成树方法以适应当前复杂的网络环境和网络节能需求;2、依据尽可能共享路径的原则,在生成最短路径树的基础上,将“路径节点驱动”的思想应用到组播树的生成,实现了网络的节能;3、根据路由器模型和链路模型结构示意图,结合量化的功耗计算方法,使得本发明在实际应用中可以尽快得以实施;4、在QoS模型的引入中,考虑到网络实际参数难以准确测量和用户的QoS需求难以精确表达,采用区间形式对需求进行了刻画,并运用模糊隶属度函数(本发明中4个QoS参数满意度函数)描绘用户的QoS满意度,比较符合现实的用户行为,一旦本发明投入实际运作,有利于相关网络运营商市场调研的展开。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (5)

1.一种基于路径节点驱动策略的组播路由方法,其特征在于,包括:
S1、初始化网络参数,设置网络中除源节点外的任一节点vk到源节点的权重路径节点权重父节点将节点vs作为组播树的根节点;
所述节点为网络中的路由器,所述网络参数包括带宽、延迟、延迟抖动、出错率和功耗,所述路径节点权重为当前节点到离其最近的路径节点的权重;
S2、计算所述节点vs到其任一邻居节点的权重,选择所述权重最大时所对应的邻居节点vi加入所述组播树,修改所述邻居节点vi到所述源节点的权重和所述邻居节点vi的路径节点权重令所述邻居节点vi的父节点为节点vs
S3、判断所述邻居节点vi是否为目的节点,若是,则将所述邻居节点vi加入所述组播树,标记从源节点到目的节点路径上的所有节点为路径节点,修改所述邻居节点vi的路径节点权重,vs←vi,执行步骤S2,否则,执行步骤S4;
S4、计算节点vi到其任一邻居节点的权重,得到所述权重最大值所对应的邻居节点vj,计算节点vi到源节点的权重节点vj到源节点的权重节点vi到节点vj的权重 Source v j > Source v i + Sui omul v i v j , 则执行步骤S7,若 Source v j > Source v i + Sui omul v i v j , 则执行步骤S5,若 Source v j < Source v i + Sui omul v i v j , 则执行步骤S6;
S5、若存在节点vj通过节点vi有更小的则执行步骤S6,否则,执行步骤S7;
S6、更新网络参数和路由表信息,若找到满足约束条件的所有组播树成员,则由每跳节点记录的下一跳和父节点逐跳生成从源节点到组播目的节点的一棵组播树,同时向组播树中各节点发送报文,执行步骤S8,否则,vs←vi,执行步骤S2;
S7、将节点vi从组播树中删除,将节点vj加入组播树,更新网络参数和路由表信息,若找到满足约束条件的所有组播树成员,则由每跳节点记录的下一跳和父节点逐跳生成从源节点到组播目的节点的一棵组播树,同时向组播树中各节点发送报文,执行步骤S8,否则,令vs←vj,执行步骤S2;
所述组播树以源节点为根节点,以所有目的节点为叶子节点;
S8、组播树中所有节点收到报文,记录相应路径信息。
2.根据权利要求1所述的基于路径节点驱动策略的组播路由方法,其特征在于,所述初始化网络参数,具体为,
对于任意节点vi和节点vj,初始化带宽Rij.bw=∞,延迟Rij.dl=0,延迟抖动Rij.jt=0,出错率Rij.er=0,节点功耗Rij.power=PNode,若节点vi和节点vj是同一个节点,则初始化节点vi到节点vj的下一跳Rij.next=NULL,节点vi到节点vj的最短路径跳数Rij.length=0,否则初始化节点vi到节点vj的下一跳Rij.next=NULL,节点vi到节点vj的最短路径跳数Rij.length=∞。
3.根据权利要求1所述的基于路径节点驱动策略的组播路由方法,其特征在于,所述计算节点vs到邻居节点vi的权重,通过下式计算,
Weight v s v i = Satis ( QoS ) Power
其中,为节点vs到邻居节点vi的权重,Satis(QoS)为用户对节点vs到邻居节点vi之间链路l的QoS满意度,通过下式计算,
Satis(QoS)=abw×Satis(bw)+adl×Satis(dl)+ajt×Satis(jt)+aer×Satis(er)
其中,Satis(bw)为用户对节点vs到邻居节点vi之间链路l的带宽满意度,Satis(dl)为用户对节点vs到节点vi之间链路l的延迟满意度,Satis(jt)为用户对节点vs到节点vi之间链路l的延迟抖动满意度,Satis(er)为用户对节点vs到节点vi之间链路l的出错率满意度,abw、adl、ajt、aer分别为带宽、延迟、延迟抖动、出错率对用户的重要程度,对于不同的业务类型和服务等级它们取不同的值,且满足0<abw<1,0<adl<1,0<ajt<1,0<aer<1,abw+adl+ajt+aer=1;
Power为节点vs到邻居节点vi的总功耗,所述总功耗包括链路l功耗、链路l两端节点vs和节点vi的功耗,通过下式计算,
Power = P node s &times; NodeSt s + P node i &times; NodeSt i + P link l &times; LinkSt l
其中,NodeSts为节点vs的状态标识符,NodeSti为节点vi的状态标识符,LinkStl为链路l的状态标识符,其中,所述状态标识符为0表示空闲状态,为1表示工作状态,为节点s的功耗,为节点i的功耗,通过下式计算,
P node i = P ctrl i + P repl i + &Sigma; k = 1 N chass i ( P chass i &times; ChaSt i k + &Sigma; lc = 1 N lcrd k ( P ford i + P repl i ) &times; LkdSt k lc + &Sigma; p = 1 N port lc p port i ( 1 + &alpha; &times; trf p &beta; ) &times; PortSt lc p )
其中,为节点i的主控引擎功耗,为节点i的转发引擎功耗,为节点i的复制引擎功耗,为节点i一个底架的功耗,为节点i一个端口的功耗,为节点i中底架的数量,为节点i中底架k的线卡的数量,为节点i中底架k的线卡lc上端口的数量,为节点i中底架k的状态标识符,为节点i中线卡lc的状态标识符,节点i中线卡lc上端口p的状态标识符,所述状态标识符为0表示休眠状态,为1表示工作状态,trfp为通过节点i中线卡lc上端口p的流量,α和β为常数,用来表示流量与功耗的关系;
为节点vs到邻居节点vi之间链路l的功耗,通过下式计算,
P link l = ( 1 + &alpha; &prime; &times; trf l &beta; &prime; ) &times; ( P fort + &Sigma; a = 1 N reptr l ( P reptr &times; RptrSt l a ) + P rear + &Sigma; b = 1 N regenr l ( P regen &times; RgentrSt l b ) )
其中,Pfort为前置光放大器功耗,Preptr为中继光放大器功耗,Pregen为再生光器功耗,Prear为再生光放大器功耗,为链路l上中继放大器的个数,为链路l上光再生器的个数,为链路l上中继放大器a的状态,为链路l上中继放大器b的状态标识符,所述状态标识符为0表示空闲状态,为1表示工作状态,trfl为链路l上的流量,α′和β′为常数,用来表示流量与功耗的关系。
4.根据权利要求1所述的基于路径节点驱动策略的组播路由方法,其特征在于,所述更新网络参数和路由表信息,具体为:
更新网络参数包括带宽、延迟、延迟抖动、出错率和功耗,更新路由表信息包括网络总功耗P=Ptotal,节点vs到节点vj的下一跳Rsj.next=i,节点vs到节点vj的最短路径跳数Rsj.length=length+1,节点vj的父节点
5.根据权利要求1所述的基于路径节点驱动策略的组播路由方法,其特征在于,所述约束条件为,
bwpra≥bwl
dlpra≤dlh
jtpra≤jth
erpra≤erh
其中,bwpra、dlpra、jtpra、erpra分别为网络实际能够提供的带宽、延迟、延迟抖动和出错率,bwl、dlh、jth、erh分别为业务请求对应的带宽下限、延迟上限、延迟抖动上限和出错率上限。
CN201510102703.XA 2015-03-09 2015-03-09 一种基于路径节点驱动策略的组播路由方法 Active CN104683244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510102703.XA CN104683244B (zh) 2015-03-09 2015-03-09 一种基于路径节点驱动策略的组播路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510102703.XA CN104683244B (zh) 2015-03-09 2015-03-09 一种基于路径节点驱动策略的组播路由方法

Publications (2)

Publication Number Publication Date
CN104683244A true CN104683244A (zh) 2015-06-03
CN104683244B CN104683244B (zh) 2017-11-03

Family

ID=53317863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510102703.XA Active CN104683244B (zh) 2015-03-09 2015-03-09 一种基于路径节点驱动策略的组播路由方法

Country Status (1)

Country Link
CN (1) CN104683244B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162712A (zh) * 2015-10-20 2015-12-16 烽火通信科技股份有限公司 一种路由器中分布式协议的实现方法及系统
CN106330730A (zh) * 2015-06-30 2017-01-11 中兴通讯股份有限公司 组播控制方法和装置
CN107682264A (zh) * 2017-09-26 2018-02-09 迅雷计算机(深圳)有限公司 基于实时动态路径规划的数据传输方法和系统
US10560359B2 (en) 2016-12-23 2020-02-11 Cisco Technology, Inc. Method and device for reducing multicast flow joint latency
CN111555982A (zh) * 2020-07-10 2020-08-18 武汉绿色网络信息服务有限责任公司 一种基于IPv6扩展头的报文智能选路的方法和系统
CN112637063A (zh) * 2020-12-26 2021-04-09 广东电网有限责任公司电力调度控制中心 一种电力线通信路由方法及装置
CN112738812A (zh) * 2020-12-24 2021-04-30 普联国际有限公司 一种无线网络自动调节方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232391A (zh) * 2007-01-25 2008-07-30 Lg电子株式会社 组播数据收发方法
US20140036912A1 (en) * 2012-07-31 2014-02-06 Cisco Technology, Inc. Multicast group assignment using probabilistic approximations
CN104023317A (zh) * 2014-06-17 2014-09-03 中国科学院计算技术研究所 一种低功耗多播路由网络及其多播路由方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232391A (zh) * 2007-01-25 2008-07-30 Lg电子株式会社 组播数据收发方法
US20140036912A1 (en) * 2012-07-31 2014-02-06 Cisco Technology, Inc. Multicast group assignment using probabilistic approximations
CN104023317A (zh) * 2014-06-17 2014-09-03 中国科学院计算技术研究所 一种低功耗多播路由网络及其多播路由方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶梦雄: "群智能在计算机网络路由中的应用与研究", 《中国优秀硕士学位论文》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330730A (zh) * 2015-06-30 2017-01-11 中兴通讯股份有限公司 组播控制方法和装置
CN105162712A (zh) * 2015-10-20 2015-12-16 烽火通信科技股份有限公司 一种路由器中分布式协议的实现方法及系统
CN105162712B (zh) * 2015-10-20 2019-01-15 烽火通信科技股份有限公司 一种路由器中分布式协议的实现方法及系统
US10560359B2 (en) 2016-12-23 2020-02-11 Cisco Technology, Inc. Method and device for reducing multicast flow joint latency
CN107682264A (zh) * 2017-09-26 2018-02-09 迅雷计算机(深圳)有限公司 基于实时动态路径规划的数据传输方法和系统
CN111555982A (zh) * 2020-07-10 2020-08-18 武汉绿色网络信息服务有限责任公司 一种基于IPv6扩展头的报文智能选路的方法和系统
CN112738812A (zh) * 2020-12-24 2021-04-30 普联国际有限公司 一种无线网络自动调节方法、装置、终端设备及存储介质
CN112738812B (zh) * 2020-12-24 2024-05-03 普联国际有限公司 一种无线网络自动调节方法、装置、终端设备及存储介质
CN112637063A (zh) * 2020-12-26 2021-04-09 广东电网有限责任公司电力调度控制中心 一种电力线通信路由方法及装置
CN112637063B (zh) * 2020-12-26 2023-01-24 广东电网有限责任公司电力调度控制中心 一种电力线通信路由方法及装置

Also Published As

Publication number Publication date
CN104683244B (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
CN104683244B (zh) 一种基于路径节点驱动策略的组播路由方法
CN108521375B (zh) 一种基于SDN的网络多业务流量QoS的传输及调度方法
CN108540384B (zh) 软件定义网络中基于拥塞感知的智能重路由方法和装置
Huang et al. Software-defined QoS provisioning for fog computing advanced wireless sensor networks
US20230362095A1 (en) Method for intelligent traffic scheduling based on deep reinforcement learning
Zuo et al. A hybrid multi-path routing algorithm for industrial wireless mesh networks
CN106685745B (zh) 一种网络拓扑构建方法及装置
CN113992259B (zh) 一种时隙资源拓展图的构建方法
CN115473854B (zh) 一种多模态网络的流量智能控制方法
CN115665227A (zh) 一种普适的异构融合算网资源智慧适配网络架构及方法
CN103685011A (zh) 一种确定节能路由的方法和装置
CN104683239A (zh) 一种面向互联网的节能型QoS路由方法
Abdel-Kader An improved discrete PSO with GA operators for efficient QoS-multicast routing
CN102710596B (zh) 基于QoE的路由选择方法
CN108924055B (zh) 一种基于斯坦纳树的命名数据网络多播路由方法
Kaur et al. MANET link performance parameters using ant colony optimization approach
JP2014513448A (ja) 制御サーバ、ネットワーク制御方法、および、プログラム
CN115665207A (zh) 一种提升软件定义物联网中的数据传输速度的方法
CN110781352B (zh) 一种最低成本优化拓扑结构实现网络结构可控性的方法
Dong et al. Topology control mechanism based on link available probability in aeronautical ad hoc network
Komathy et al. A probabilistic behavioral model for selfish neighbors in a wireless ad hoc network
Liu et al. A routing model based on multiple-user requirements and the optimal solution
CN105591917A (zh) 一种多链接透明互联网络中的报文转发方法和装置
Ding et al. Improved ant colony algorithm with multi-strategies for QoS routing problems
Li et al. Genetic algorithm-based QoS multicast routing for uncertainty in network parameters

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant