CN106911574A - 基于粒子群的命名数据网络多约束路由算法 - Google Patents
基于粒子群的命名数据网络多约束路由算法 Download PDFInfo
- Publication number
- CN106911574A CN106911574A CN201710105507.7A CN201710105507A CN106911574A CN 106911574 A CN106911574 A CN 106911574A CN 201710105507 A CN201710105507 A CN 201710105507A CN 106911574 A CN106911574 A CN 106911574A
- Authority
- CN
- China
- Prior art keywords
- particle
- fitness value
- bags
- global optimum
- routed path
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于粒子群的命名数据网络多约束路由算法,将命名数据网络中多约束条件分为QoS服务约束和按级匹配约束,结合粒子群算法的特点,在命名数据网络的路由层上增加一个控制层,控制层中有一个名为PSO信息表的表结构,用来保存粒子群算法对命名数据网络路由探索的信息,之后基于粒子群优化,针对不同的QoS需求为其进行了路径优化选择,使NDN命名数据网络能够更好的提供满足QoS要求的服务。
Description
技术领域
本发明涉及计算机命名数据网络路由优化技术领域,具体涉及基于粒子群的命名数据网络多约束路由算法。
背景技术
命名数据网络NDN(Named Data Networking)是一种以命名数据为主要通信对象的网络体系结构,是信息中心网络的一种特例。在NDN中,通过给数据命名并根据数据包的名字信息进行通信,改变了目前命名数据网络基于IP地址的通信方式,在鲁棒性和扩展性等方面相对于TCP/IP命名数据网络表现尤为突出。NDN中的通信由内容请求者驱动,即内容请求者首先需要发送数据请求,内容发布者再根据数据请求将相应的数据发送给内容请求者。NDN中包含两种格式包,兴趣包(Interest Packet)和数据包(Data Packet),其中Interest包是用户为请求数据而发送的包含名字信息的请求包,而Data包中则包含用户要请求的真正数据,其中Data包和Internet包的名字信息相同。所有的包均被内容路由器以逐跳转发的方式进行转发处理,每个内容路由器包含三种表结构,分别为信息转发表FIB(Forwarding Information Base)、待定请求表PIT(Pending Interest Table)和内容存储器CS(Content Store)。CS中存储的是内容发布者发送而来的数据,PIT表存储的是已经被当前节点转发出去的interest包的名字信息及其对应的“上游”(Up Stream)接口;FIB表记录的是对应名字信息的interest包可以被转发的“下游”(Down Stream)接口集合,用来将interest包转发到匹配的下一接口,如果没有匹配的接口,则这个interest包将被丢弃。
NDN中的interest包路由转发方法为NDN领域研究热点。目前所提出的路由方法包括:全转发方法和随机转发方法,全转发方法是路由节点将internet包根据FIB中的接口集合向所有下一跳接口转发,这样会导致命名数据网络中存在大量的冗余流量,而随机转发策略则是路由节点为internet包随机选择一个接口进行转发,避免了命名数据网络流量的冗余,但是无法保证以最优的路径获取请求的数据;一种分层的NDN路由方法被提出对路由过程进行控制,该方法将路由控制分成2个层次进行处理,即拓扑维护层和名字前缀发布层,前者维护整个NDN的拓扑结构,并计算最短路径树,后者负责在最短路径树上发布名字前缀,避免向所有节点的FIB发送名字前缀信息,解决了FIB表中内容条目过多的问题;一种基于内容流行度的路由选择算法被提出用来概率性选择路径,该方法在路由中引入内容流行度的分析和考虑,将用户访问内容对象的行为特征以及兴趣偏好的分析融入到路由选择算法中,降低了用户的请求失效率;一种邻居缓存路由策略被提出用来优化存储资源,将路由节点缓存因素引入到路由决策中,充分利用了NDN节点CS中缓存的数据,减少了命名数据网络中的冗余流量并提高了命名数据网络的整体性能;一种名为服务内容中心路由的路由方法被提出用来优化路径选择,该路由方法基于蚁群优化,其思想是将内容中心命名数据网络CCN(Content-Centric Networking)中各内容服务器负载轻重以及链路时延大小作为优化参数的路由依据,其核心是在CCN上添加一个控制层,并在控制层更新路由表,而真实的数据则在CCN层根据路由表信息直接传输。
虽然这些算法都根据各自的需求取得了一定效果,但以上这些算法都只单一地归属为以时延作为评价标准的最短路径路由方法DSPR(Delay-shortest Path Routing,或以剩余带宽作为评价标准的最宽带宽路由方法BWPR(Bandwidth-widest Path Routing)。这些路由算法虽然可以保证找到某一单约束最优的路径,但是却不一定能满足多约束路由。例如DSPR算法可以找到一条通信开销最小的路径,但这条路径上的某些链路可以不能满足时延或者带宽的要求,从而导致整个命名数据网络的服务质量的降低。因此,对于将要承载多种服务类型的NDN命名数据网络,以上算法就不能根据不同的服务质量QoS(Quality ofService)需求为其选择不同路径转发,极大地限制了这些路由方法的适用性。
因此,在命名数据网络中提出一种支持多约束的并且提供区分的QoS服务的路由算法是十分必要的。
发明内容
本发明的目的在于,提出基于粒子群的命名数据网络多约束路由算法,能有效支持命名数据网络QoS的路由方法,本发明称所提出方法为基于粒子群的命名数据网络多约束路由算法PSO-QoSR(Particle Swarm Optimization-based QoS Routing)。
本发明的技术方案可以分为以下几个部分:
基于粒子群的命名数据网络多约束路由算法,包括以下步骤:
步骤1、定义QoS度量参数包括通信开销cost、时延delay和带宽bandwidth,定义Pst表示内容发布者和内容请求者之间的路由路径,emn表示连接命名数据网络中相邻节点m和n的链路,BQoS、DQoS和CQoS分别为带宽bandwidth、时延delay、通信开销cost的QoS要求,Bmn、Dmn和Cmn分别为链路emn的带宽bandwidth、时延delay、通信开销cost;
步骤2、在命名数据网络的路由层上增加一个控制层,控制层包含PSO信息表,PSO信息表包含内容名字信息Content Name和内容名字信息Content Name对应的各个接口face,PSO信息表还包括各个接口face对应的全局最优位置PSO信息表还包括内容名字信息Content Name对应的全局最优适应度值还包括第i个粒子对应的个体最优适应度值fi S,还包括第i个粒子对应的各个接口face的当前位置当前速度个体最优位置其中i代表第i个粒子,j代表第j个接口;
步骤3、以主动探测模式对嗅探interest包进行路由转发和PSO信息表更新,具体为:
步骤3.1、若节点请求过内容名字信息Content Name,则进入步骤3.2;若节点没有请求过内容名字信息Content Name,则为节点中内容名字信息Content Name对应的每个接口face初始化一组粒子,对每个粒子的各个接口face的当前速度vij和当前位置xij进行0~1随机初始化,其中i代表第i个粒子,j代表第j个接口,对每个粒子的各个接口face的当前速度vij和当前位置xij进行归一化处理,
步骤3.2、选择粒子的各个接口face的最大的当前位置xij对应的接口face作为下一跳接口face发出嗅探interest包;
步骤3.3、内容发布者收到嗅探interest包后,生成相应的嗅探data包,计算当前路由路径的适应度值fi S(now),将当前路由路径的适应度值fi S(now)和当前路由路径中的QoS度量参数的带宽bandwidth、时延delay、通信开销cost复制到嗅探data包相对应的字段,然后沿嗅探interest包所经过当前路由路径的反向当前路由路径,原路回送到内容请求者,
步骤3.4、反向当前路由路径中每个命名数据网络中的节点收到嗅探data包时,根据嗅探data包中当前路由路径的适应度值fi S(now)更新各个节点的PSO信息表,具体步骤如下:
步骤3.4.1、根据嗅探data包中的内容名字信息Content Name查找节点中的PSO信息表对应的内容名字信息Content Name,确定转发嗅探data包的粒子;
步骤3.4.2、更新转发嗅探data包的粒子的各个接口对应的当前速度和当前位置
转发嗅探data包的粒子的各个接口face对应的当前速度更新公式定义如下:
ω代表惯性权重,表示粒子对自身速度的保留程度;r1和r2都是0~1之间的随机数,用来模拟自然界中群体行为中的波动;c1和c2是学习因子,其中c1表示粒子向个体最优位置学习的权重,c2表示粒子向全局最优粒子学习的权重。
转发嗅探data包的粒子的各个接口face对应的当前位置更新公式定义如下:
k代表更新前,k+1代表更新后;
步骤3.4.3、将粒子对应的当前路由路径的适应度值fi S(now)和PSO信息表中粒子的个体最优适应度值fi S、全局最优适应度值进行比较,更新粒子的个体最优适应度值fi S和个体最优位置以及全局最优适应度值和全局最优位置具体步骤如下:
步骤3.4.3.1、如果fi S(now)小于等于fi S,
更新粒子的个体最优适应度值fi S:将粒子的个体最优适应度值fi S更改为粒子对应的当前路由路径的适应度值fi S(now)。
更新粒子的个体最优位置将粒子的个体最优位置更改为当前位置
步骤3.4.3.1.1、如果fi S(now)小于等于将粒子的全局最优适应度值更改为当前路由路径的适应度值fi S(now),将各个接口face对应的全局最优位置更改为fi S(now)对应的粒子的当前位置
步骤3.4.3.1.2、如果fi S(now)大于不更新全局最优位置和全局最优适应度值
步骤3.4.3.2、如果fi S(now)大于fi S,各个接口face对应的全局最优位置内容名字信息Content Name对应的全局最优适应度值第i个粒子对应的个体最优适应度值fi S、个体最优位置均不用修改;
步骤3.5、嗅探data包沿着嗅探interest包的当前路由路径的反向当前路由路径转发给下一个节点,然后重复步骤3.4直到嗅探data包转发到内容发布者;
步骤4、以最优转发模式对interest包进行路由转发和PSO信息表更新,具体为:
步骤4.1、选择节点中最大的全局最优位置对应的接口face将interest包转发出去,即沿当前路由路径进行转发;interest包对应的data包沿着反向当前路由路径返回;
步骤4.2、反向当前路由路径中每个命名数据网络中的节点收到interest包相应的data包时,根据data包中当前路由路径的适应度值fs(now)更新各个节点的PSO信息表,具体步骤如下:
步骤4.2.1、根据data包中的内容名字信息Content Name查找节点中PSO信息表对应的全局最优位置和全局最优适应度值
步骤4.2.2、如果fs(now)小于等于将全局最优适应度值更改为当前路由路径的适应度值fs(now);
如果fs(now)大于定义除与全局最优适应度值相同的粒子外的其他粒子中最小的适应度值为次优适应度值,次优适应度值用表示,
若次优适应度值小于fs(now),则选取次优适应度值对应的粒子作为次优转发粒子,将全局最优位置更新为次优转发粒子的各个转发接口face对应的个体最优位置将全局最优适应度值更新为次优适应度值节点按照步骤3以主动探测模式对嗅探interest包进行路由转发和PSO信息表更新;
若次优适应度值大于等于fs(now),将全局最优适应度值更改为当前路由路径的适应度值fs(now);
步骤4.3、data包转发到interest包反向当前路由路径的下一个节点,直到data包转发到内容请求者结束。
本发明相对于目前NDN中所采用路由算法具有的优势就在于:能够利用粒子群算法优化能够很好地支持NDN命名数据网络QoS,实现区分服务。
附图说明
图1为本发明的核心节点中的节点结构表。
图2为仿真实验命名数据网络拓扑结构。
图3为低QoS约束下三种转发策略的成功投递率变化。
图4为低QoS约束下三种转发策略的平均通信开销变化。
图5为高QoS约束下三种转发策略的成功投递率变化。
图6为高QoS约束下三种转发策略的平均通信开销变化。
图7为PSO-QoSR算法中适应度值的变化。
具体实施方式
下面通过实施例,对本发明的技术方案作详细说明,但不用来限制本发明的范围。
基于粒子群的命名数据网络多约束路由算法,包括以下步骤:
步骤1将命名数据网络中多约束条件分为QoS服务约束和按级匹配约束;
步骤1主要描述为:
将命名数据网络中QoS度量参数按照可加性和凸性分成两类,其中通信开销cost和时延delay为可加性度量参数,带宽bandwidth为凸性度量参数。定义命名数据网络中路由的QoS约束条件;
定义G=(V,E)代表命名数据网络拓扑,其中V是命名数据网络中节点的集合,E是命名数据网络中链路的集合。定义Pst表示内容发布者和内容请求者之间的路由路径,emn表示连接命名数据网络中相邻节点m和n的链路,BQoS、DQoS和CQoS分别为带宽bandwidth、时延delay、通信开销cost的QoS要求,Bmn、Dmn和Cmn分别为链路emn的带宽bandwidth、时延delay、通信开销cost,MLi为节点i对interest包的内容名字信息Content Name的最大匹配长度。
在命名数据网络中,对于可加性QoS度量参数cost,其约束条件为:对于可加性QoS度量参数delay,其约束条件为:对于凸性QoS度量参数bandwidth,其约束条件为:
根据命名数据网络按级匹配原则,对于路由Pst中的任意一条链路emn,相邻节点m和n必须满足Content Name的最长匹配原则。假设内容请求者请求的Content Name名称为Chinese/movie/hero/part1.mp4,节点m和n需要满足以下两点:1)节点m和n的FIB表中必须有能和内容请求者请求的Content Name按级匹配的条目。例如节点m的FIB中的ContentName有条目Chinese/movie,节点n的FIB中的Content Name有条目Chinese/movie/hero,分别和内容请求者请求的Content Name的第二级和第三级相匹配;2)对于链路emn,节点m和n对于Content Name的最大匹配长度必须满足:(此时MLm=2,MLn=3满足此条件)。否则,对于Content Name来说,节点n不是节点m的合法下一跳。
步骤2结合粒子群算法的特性,在命名数据网络的路由层上增加一个控制层;
步骤2主要描述为:
在命名数据网络的路由层上增加一个控制层,控制层中有一个名为PSO信息表的表结构,用来保存粒子群算法探索的命名数据网络的路由信息。结合命名数据网络和粒子群算法的特点,PSO信息表包含内容名字信息Content Name、内容名字信息Content Name对应的各个接口face,还包括各个接口face对应的全局最优位置还包括内容名字信息Content Name对应的全局最优适应度值还包括第i个粒子对应的个体最优适应度值fi S,还包括第i个粒子对应的各个接口face的当前位置当前速度个体最优位置
步骤3、以主动探测模式对嗅探interest包进行路由转发和PSO信息表更新,具体为:
步骤3.1、若节点请求过内容名字信息Content Name,则进入步骤3.2;若节点没有请求过内容名字信息Content Name,则为节点中内容名字信息Content Name对应的每个接口face初始化一组粒子,(粒子群算法一般10个粒子即可较好的解决很多组合优化问题),每个粒子都可以看作是一个嗅探interest包,对每个粒子的各个接口face的当前速度vij和当前位置xij进行0~1随机初始化,其中i代表第i个粒子,j代表第j个接口,对每个粒子的各个接口face的当前速度vij和当前位置xij进行归一化处理,
步骤3.2、根据粒子的各个接口face的当前位置xij的大小来选择粒子下一跳转发接口:即选择粒子的各个接口face的最大当前位置xij对应的接口作为下一跳接口发出嗅探interest包。
如图1所示,当内容名字信息Content Name(例如:Google/android/code/ui.cc)刚刚在命名数据网络中注册时,定义获取interest包/嗅探interest包中内容名字信息Content Name对应的data包/嗅探data包为服务S,以下用S代替,节点并不知道从哪个接口将interest包转发出去可以到达内容发布者,粒子群算法会为服务S初始化一组粒子,假设有i个粒子,以第i个粒子为例,定义是服务S可以转发的接口的集合,和是粒子i对于服务S在转发接口j上面的当前位置和当前速度,则按照以下约束对粒子当前位置和当前速度进行初始化:
然后进行归一化使得:
选择最大的所对应的接口作为粒子i的下一跳,每一个节点重复步骤3.2的转发过程,直到嗅探interest包到达内容发布者。
步骤3.3、当内容发布者收到一个嗅探interest包时,内容发布者会生成一个对应的嗅探data包来响应嗅探interest包的服务,值得注意的是,主动探测模式下我们关心的是找到最优备选接口,而不是得到相应的数据包,此时回应的嗅探data包不需要携带具体的数据,所以在一定程度上减少了命名数据网络的负载。为了验证粒子找到的路由是否满足QoS要求,需要定义一个适应度函数来对粒子选择的当前路由路径进行评价,那么QoS中带宽bandwidth,时延delay,通信开销cost这三个命名数据网络服务度量参数就必须考虑在内,对于服务S,粒子i的当前路由路径的适应度值fi S(now)定义如下:
加权常数α、β和γ分别表示带宽bandwidth,时延delay,通信开销cost在QoS中所占的权重。
定义Pst表示内容发布者和内容请求者之间的路由,emn表示连接命名数据网络中相邻节点m和n的链路,BQoS、DQoS和CQoS分别为带宽bandwidth,时延delay,通信开销cost的QoS要求,Bmn、Dmn和Cmn分别为链路emn的带宽bandwidth,时延delay,通信开销cost。
内容发布者收到嗅探interest包后,生成相应的嗅探data包,将当前路由路径的适应度值fi S(now)计算出来,将当前路由路径的适应度值fi S(now)和当前路由路径中的QoS度量参数带宽bandwidth,时延delay,通信开销cost复制到嗅探data包相对应的字段,然后并沿嗅探interest包所经过当前路由路径的反向当前路由路径,原路回送到内容请求者,
步骤3.4、反向当前路由路径中每个命名数据网络中的节点收到嗅探data包时,根据嗅探data包中当前路由路径的适应度值fi S(now)更新各个节点的PSO信息表,具体步骤如下:
步骤3.4.1、根据嗅探data包中的内容名字信息Content Name查找节点中的PSO信息表对应的内容名字信息Content Name,确定转发嗅探data包的粒子。
步骤3.4.2、更新转发嗅探data包的粒子的各个接口对应的当前速度和当前位置
转发嗅探data包的粒子的各个接口face对应的当前速度更新公式定义如下:
ω代表惯性权重,表示粒子对自身速度的保留程度;r1和r2都是0~1之间的随机数,用来模拟自然界中群体行为中的波动;c1和c2是学习因子,其中c1表示粒子向个体最优位置学习的权重,c2表示粒子向全局最优粒子学习的权重。
转发嗅探data包的粒子的各个接口j对应的当前位置更新公式定义如下:
k代表更新前,k+1代表更新后。
假设节点收到一个嗅探data包,并且请求该嗅探data包的嗅探interest包是由粒子i转发的,则此时对于内容服务S来说,粒子i在各个转发接口的当前速度分别是和当前位置分别是和则粒子i在接口0的当前速度按以下公式更新:
粒子i在接口0的当前位置按以下公式更新:
粒子i在接口1和2的当前速度和当前位置更新和在接口0的更新方式相同。
然后,对粒子i的各个接口对应的当前速度和当前位置进行归一化,使得更新后当前速度和当前位置的和均为1,即:
假设更新后,粒子i在各个转发接口的当前速度分别是和当前位置分别是和定义
则为了使当前位置和当前速度满足归一化,粒子i在各个转发接口的当前速度和当前位置需要分别除以sumv和sumx,即:
步骤3.4.3、将粒子i对应的当前路由路径的适应度值fi S(now)和PSO信息表中粒子i的个体最优适应度值fi S和全局最优适应度值进行比较,根据比较结果更新粒子i的个体最优适应度值fi S和个体最优位置以及全局最优适应度值和全局最优位置具体步骤如下:
步骤3.4.3.1、如果fi S(now)小于等于fi S,即粒子i找到的当前路由路径的适应度值要小于等于PSO信息表中记录的粒子i的个体最优位置所在路由路径的适应度值,而适应度值越小表明路由路径提供的QoS服务越好,
更新粒子i的个体最优适应度值fi S和个体最优位置将粒子i的个体最优适应度值fi S更改为粒子i对应的当前路由路径的适应度值fi S(now),将粒子i的个体最优位置更改为粒子i当前位置即:
if fi S(now)≤fi S,fi S=fi S(now),
步骤3.4.3.1.1、如果fi S(now)小于等于即粒子i找到的当前路由路径的适应度值要小于等于PSO信息表中记录的全局最优位置所在路由路径的适应度值,而适应度值越小表明路由路径提供的QoS服务越好,此时:
更新各个接口face对应的全局最优位置和全局最优适应度值将对应的全局最优适应度值更改为粒子i的个体最优适应度值fi S(now),将各个接口face对应的全局最优位置更改为粒子i对应的当前位置即:
步骤3.4.3.1.2如果fi S(now)大于即PSO信息表中记录的路由路径的适应度值小于粒子i找到的当前路由路径的适应度值,表明PSO信息表中记录的路由路径能提供更好的QoS服务,不需要更新全局最优位置和全局最优适应度值
步骤3.4.3.2、如果fi S(now)大于fi S,即PSO信息表中记录的路由路径的适应度值小于粒子i找到的当前路由路径的适应度值,表明PSO信息表中记录的路由路径能提供更好的QoS服务,即各个接口face对应的全局最优位置内容名字信息Content Name对应的全局最优适应度值第i个粒子对应的个体最优适应度值fi S、个体最优位置均不用修改。
步骤3.5、至此PSO信息表中粒子i的状态信息更新完毕,嗅探data包沿着嗅探interest包的当前路由路径的反向当前路由路径转发给下一个节点,然后重复步骤3.4直到嗅探data包转发到内容发布者。
步骤4,以最优转发模式对interest包进行路由转发和PSO信息表更新,具体为:
步骤4.1、所有的内容名字信息Content Name都会经过主动探测模式,主动探测模式中粒子群算法会得到各个服务S(定义获取interest包/嗅探interest包中内容名字信息Content Name对应的data包/嗅探data包为服务S)的全局最优位置选择最大的全局最优位置对应的接口face将interest包转发出去,即沿当前路由路径进行转发,interest包相对应的data包沿着反向当前路由路径返回,这种转发方式称为最优转发模式。
如图1所示,内容名字信息Content Name为Google/android/code/ui.cc,在最优转发模式下,当节点收到服务S的请求时,首先会在PSO信息表中的内容名字信息ContentName中查找与Google/android/code/ui.cc匹配的条目,找到后发现在之前的主动探测模式下粒子群算法为服务S找到的全局最优位置为:且 是全局最优位置的最大分量,则选择所对应的接口face将interest包转发出去,每一个节点重复本步骤的转发过程,直到interest包到达内容发布者。
内容发布者收到interest包后,生成相应的data包,将当前路由路径的适应度值fs(now)计算出来,将当前路由路径的适应度值fs(now)和当前路由路径中的QoS度量参数cost、delay、bandwidth信息复制到data包相对应的字段,然后并沿interest包所经过当前路由路径的反向当前路由路径回送到内容请求者。
步骤4.2、反向当前路由路径中每个命名数据网络中的节点收到interest包相应的data包时,根据data包中当前路由的适应度值fs(now)更新各个节点的PSO信息表,具体步骤如下:
步骤4.2.1、根据data包中的内容名字信息Content Name查找节点中PSO信息表对应的全局最优位置和全局最优适应度值
步骤4.2.2、最优转发模式下,各个节点中最大的全局最优位置所对应的转发接口face构成的路径即为最优转发模式下的当前路由路径,而全局最优位置和全局最优适应度值会随着命名数据网络拓扑或链路状态的变化而发生变化,所以需要将当前路由路径的适应度值fs(now)和PSO信息表中全局最优适应度值进行比较,以此判断PSO信息表中记录的全局最优位置和全局最优适应度值是否需要更新。
如果fs(now)小于等于即当前路由路径的适应度值要小于等于PSO信息表中记录的全局最优位置所在路由路径的适应度值,而适应度值越小表明路由路径提供的QoS服务越好,说明PSO信息表中记录的全局最优位置仍然还是全局最优位置,但是能够提供更好的QoS服务质量,此时全局最优位置不变,此时将全局最优适应度值更改为当前路由路径的适应度值fs(now),即:
如果fs(now)大于即当前路由路径的适应度值要大于PSO信息表中记录的全局最优位置所在路由路径的适应度值,而适应度值越小表明路由路径提供的QoS服务越好,说明PSO信息表中记录的全局最优位置所能够提供的QoS服务质量下降了,为了判断PSO信息表中记录的全局最优位置是否还能够提供最优的QoS服务,定义除与全局最优适应度值相同的粒子外的其他粒子中最小的适应度值为次优适应度值,用表示。
若次优适应度值小于fs(now),则选取次优适应度值对应的粒子作为次优转发粒子,将全局最优位置更新为次优转发粒子的各个转发接口face对应的个体最优位置将全局最优适应度值变更为次优适应度值节点按照步骤3以主动探测模式对嗅探interest包进行路由转发和PSO信息表更新;
若次优适应度值大于等于fs(now),表明PSO信息表中记录的全局最优位置的QoS服务质量只是下降了但还是能够提供最优的QoS服务,此时将全局最优适应度值更改为当前路由路径的适应度值fs(now)。
最后,data包转发到interest包反向当前路由路径的下一个节点,直到data包转发到内容请求者结束。
最后,将本发明方法(PSO-QoSR)进行性能仿真分析。采用的仿真平台为ndnSIM,ndnSIM是基于ns-3命名数据网络仿真软件用C++编写实现CCNx协议的NDN仿真模块,实现了基本的命名数据网络协议、路由转发策略以及数据包节点缓存等功能;我们使用了改进的Salama算法随机的生成了一个具有20个节点的命名数据网络拓扑图,如图2所示。任意两个节点之间存在链路的概率为0.5,每一条链路上都有一个三元组(cost,delay,bandwidth)来显示链路的通信开销,时延和带宽,选择编号为15的节点作为内容发布者,其他节点作为内容请求者向发布者请求服务。
首先,设置QoS约束三元组(cost,delay,bandwidth)=(40,18,90),此约束条件要求并不是很高,三个策略均可以找到很多满足QoS的路由。图3和图4显示三种策略的命名数据网络性能:其中RANDOM的性能最差并且还不稳定,这是因为随机转发是随机的选取一个接口进行转发的,追求的是转发相应速度快,但是没有考虑路由的服务质量;PSO-QoSR的性能比ACO更好,因为和ACO仅仅记录各接口的信息素浓度相比,PSO-QoSR记录了更多的路由状态信息,并且PSO-QoSR中各个粒子不仅可以向全局最优粒子学习,还可以向自己最优的位置进行学习,有助于跳出局部最优。
然后,考虑了QoS要求很高的情况下三种策略的命名数据网络性能,设置QoS约束三元组(cost,delay,bandwidth)=(30,15,100),图5和图6显示三种策略的命名数据网络性能:通过比较图3和图5,可以看出提高QoS要求后三种策略的成功投递率分别降低了3.88%,9.94%和33.59%。和其他两种策略相比,PSO-QoSR还是体现出了较高和较稳定的成功投递率,同时PSO-QoSR算法找到的路由的平均通信开销也是最低的,这表示PSO-QoSR所找的的路由的平均命名数据网络性能是比其他两种策略要更好的。
最后,分析了PSO-QoSR算法中适应度值的迭代过程。定义粒子的个体最优位置所构成的路由的适应度值为pbest,粒子群的全局最优位置所构成的路由的适应度值为gbest,QoS约束三元组所对应的路由的适应度值为QoS,图7显示pbest,gbest和QoS在迭代过程中的变化:该开始时,pbest的平均值比QoS大很多,到第五次迭代时两者相等,意味着PSO-QoSR算法已经找到符合QoS约束的路由。随着迭代次数的增加,pbest的平均值慢慢不断的接近gbest,最后远小于QoS。说明在迭代过程中,各个粒子不断向个体最优和全局最优粒子学习并且不断向最优的满足QoS服务路由靠近的过程。
如上所述,本发明的技术方案首先将命名数据网络中多约束条件进行分类,并在命名数据网络的路由层上增加一个控制层,之后基于粒子群优化,针对不同的QoS需求为其进行了路径优化选择,使命名数据网络能够更好的提供满足QoS要求的服务。
以上所描述的具体实施例仅为本发明精神的举例说明,本发明领域的普通技术人员能够显而易见的对具体实施例进行修改、补充或以类似方法替代,均应属于本发明的保护范围。
Claims (1)
1.基于粒子群的命名数据网络多约束路由算法,其特征在于,包括以下步骤:
步骤1、定义QoS度量参数包括通信开销cost、时延delay和带宽bandwidth,定义Pst表示内容发布者和内容请求者之间的路由路径,emn表示连接命名数据网络中相邻节点m和n的链路,BQoS、DQoS和CQoS分别为带宽bandwidth、时延delay、通信开销cost的QoS要求,Bmn、Dmn和Cmn分别为链路emn的带宽bandwidth、时延delay、通信开销cost;
步骤2、在命名数据网络的路由层上增加一个控制层,控制层包含PSO信息表,PSO信息表包含内容名字信息Content Name和内容名字信息Content Name对应的各个接口face,PSO信息表还包括各个接口face对应的全局最优位置PSO信息表还包括内容名字信息Content Name对应的全局最优适应度值还包括第i个粒子对应的个体最优适应度值还包括第i个粒子对应的各个接口face的当前位置当前速度个体最优位置其中i代表第i个粒子,j代表第j个接口;
步骤3、以主动探测模式对嗅探interest包进行路由转发和PSO信息表更新,具体为:
步骤3.1、若节点请求过内容名字信息Content Name,则进入步骤3.2;若节点没有请求过内容名字信息Content Name,则为节点中内容名字信息Content Name对应的每个接口face初始化一组粒子,对每个粒子的各个接口face的当前速度vij和当前位置xij进行0~1随机初始化,其中i代表第i个粒子,j代表第j个接口,对每个粒子的各个接口face的当前速度vij和当前位置xij进行归一化处理;
步骤3.2、选择粒子的各个接口face的最大的当前位置xij对应的接口face作为下一跳接口face发出嗅探interest包;
步骤3.3、内容发布者收到嗅探interest包后,生成相应的嗅探data包,计算当前路由路径的适应度值计算出来,将当前路由路径的适应度值和当前路由路径中的QoS度量参数的带宽bandwidth、时延delay、通信开销cost复制到嗅探data包相对应的字段,然后沿嗅探interest包所经过当前路由路径的反向当前路由路径,原路回送到内容请求者;
步骤3.4、反向当前路由路径中每个命名数据网络中的节点收到嗅探data包时,根据嗅探data包中当前路由路径的适应度值更新各个节点的PSO信息表,具体步骤如下:
步骤3.4.1、根据嗅探data包中的内容名字信息Content Name查找节点中的PSO信息表对应的内容名字信息Content Name,确定转发嗅探data包的粒子;
步骤3.4.2、更新转发嗅探data包的粒子的各个接口对应的当前速度和当前位置
转发嗅探data包的粒子的各个接口face对应的当前速度更新公式定义如下:
ω代表惯性权重,表示粒子对自身速度的保留程度;r1和r2都是0~1之间的随机数,用来模拟自然界中群体行为中的波动;c1和c2是学习因子,其中c1表示粒子向个体最优位置学习的权重,c2表示粒子向全局最优粒子学习的权重,
转发嗅探data包的粒子的各个接口face对应的当前位置更新公式定义如下:
k代表更新前,k+1代表更新后;
步骤3.4.3、将粒子对应的当前路由路径的适应度值和PSO信息表中粒子的个体最优适应度值全局最优适应度值进行比较,更新粒子的个体最优适应度值和个体最优位置以及全局最优适应度值和全局最优位置具体步骤如下:
步骤3.4.3.1、如果小于等于
更新粒子的个体最优适应度值将粒子的个体最优适应度值更改为粒子对应的当前路由路径的适应度值
更新粒子的个体最优位置将粒子的个体最优位置更改为当前位置
步骤3.4.3.1.1、如果小于等于将粒子的全局最优适应度值更改为当前路由路径的适应度值将各个接口face对应的全局最优位置更改为对应的粒子的当前位置
步骤3.4.3.1.2、如果大于不更新全局最优位置和全局最优适应度值
步骤3.4.3.2、如果大于各个接口face对应的全局最优位置内容名字信息Content Name对应的全局最优适应度值第i个粒子对应的个体最优适应度值个体最优位置均不用修改;
步骤3.5、嗅探data包沿着嗅探interest包的当前路由路径的反向当前路由路径转发给下一个节点,然后重复步骤3.4直到嗅探data包转发到内容发布者;
步骤4、以最优转发模式对interest包进行路由转发和PSO信息表更新,具体为:
步骤4.1、选择节点中最大的全局最优位置对应的接口face将interest包转发出去,即沿当前路由路径进行转发;interest包对应的data包沿着反向当前路由路径返回;
步骤4.2、反向当前路由路径中每个命名数据网络中的节点收到interest包相应的data包时,根据data包中当前路由路径的适应度值fs(now)更新各个节点的PSO信息表,具体步骤如下:
步骤4.2.1、根据data包中的内容名字信息Content Name查找节点中PSO信息表对应的全局最优位置和全局最优适应度值
步骤4.2.2、如果fs(now)小于等于将全局最优适应度值更改为当前路由路径的适应度值fs(now);
如果fs(now)大于定义除与全局最优适应度值相同的粒子外的其他粒子中最小的适应度值为次优适应度值,次优适应度值用表示,
若次优适应度值小于fs(now),则选取次优适应度值对应的粒子作为次优转发粒子,将全局最优位置更新为次优转发粒子的各个转发接口face对应的个体最优位置将全局最优适应度值更新为次优适应度值节点按照步骤3以主动探测模式对嗅探interest包进行路由转发和PSO信息表更新;
若次优适应度值大于等于fs(now),将全局最优适应度值更改为当前路由路径的适应度值fs(now);
步骤4.3、data包转发到interest包反向当前路由路径的下一个节点,直到data包转发到内容请求者结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710105507.7A CN106911574B (zh) | 2017-02-26 | 2017-02-26 | 基于粒子群的命名数据网络多约束路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710105507.7A CN106911574B (zh) | 2017-02-26 | 2017-02-26 | 基于粒子群的命名数据网络多约束路由算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106911574A true CN106911574A (zh) | 2017-06-30 |
CN106911574B CN106911574B (zh) | 2018-07-06 |
Family
ID=59208916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710105507.7A Active CN106911574B (zh) | 2017-02-26 | 2017-02-26 | 基于粒子群的命名数据网络多约束路由算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106911574B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153215A (zh) * | 2017-12-27 | 2018-06-12 | 潘彦伶 | 果园远程实时监测系统 |
CN108521373A (zh) * | 2018-02-28 | 2018-09-11 | 北京邮电大学 | 一种命名数据网络中的多径路由方法 |
CN108924055A (zh) * | 2018-08-23 | 2018-11-30 | 北京理工大学 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
CN109150708A (zh) * | 2018-08-28 | 2019-01-04 | 中国科学院计算机网络信息中心 | 数据转发接口的选择方法及装置 |
CN111181854A (zh) * | 2020-01-02 | 2020-05-19 | 国网浙江省电力有限公司信息通信分公司 | 确定配用电多业务差异QoS最优路由的方法及系统 |
CN114944999A (zh) * | 2022-04-08 | 2022-08-26 | 北京遥测技术研究所 | 一种基于gpu和粒子群优化算法的高速路由通信系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158417A (zh) * | 2011-05-19 | 2011-08-17 | 北京邮电大学 | 实现多约束QoS路由选择的优化方法及装置 |
CN105245448A (zh) * | 2015-10-08 | 2016-01-13 | 中南民族大学 | 命名数据网络中多业务多路径路由优化方法 |
US20160182368A1 (en) * | 2014-12-19 | 2016-06-23 | Futurewei Technologies Inc. | Multi-nonce enabled interest packet design for named-data networking |
-
2017
- 2017-02-26 CN CN201710105507.7A patent/CN106911574B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158417A (zh) * | 2011-05-19 | 2011-08-17 | 北京邮电大学 | 实现多约束QoS路由选择的优化方法及装置 |
US20160182368A1 (en) * | 2014-12-19 | 2016-06-23 | Futurewei Technologies Inc. | Multi-nonce enabled interest packet design for named-data networking |
CN105245448A (zh) * | 2015-10-08 | 2016-01-13 | 中南民族大学 | 命名数据网络中多业务多路径路由优化方法 |
Non-Patent Citations (2)
Title |
---|
ANKUR KULHARI等: "Multi-constraint Multipath QoS Routing using Swarm Intelligence", 《2014 SIXTH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND COMMUNICATION NETWORKS》 * |
侯睿等: "基于蚁群优化的命名数据网络QoS路由研究", 《中南民族大学学报(自然科学版)》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153215A (zh) * | 2017-12-27 | 2018-06-12 | 潘彦伶 | 果园远程实时监测系统 |
CN108521373A (zh) * | 2018-02-28 | 2018-09-11 | 北京邮电大学 | 一种命名数据网络中的多径路由方法 |
CN108521373B (zh) * | 2018-02-28 | 2020-05-01 | 北京邮电大学 | 一种命名数据网络中的多径路由方法 |
CN108924055A (zh) * | 2018-08-23 | 2018-11-30 | 北京理工大学 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
CN108924055B (zh) * | 2018-08-23 | 2019-06-14 | 北京理工大学 | 一种基于斯坦纳树的命名数据网络多播路由方法 |
CN109150708A (zh) * | 2018-08-28 | 2019-01-04 | 中国科学院计算机网络信息中心 | 数据转发接口的选择方法及装置 |
CN109150708B (zh) * | 2018-08-28 | 2021-04-27 | 中国科学院计算机网络信息中心 | 数据转发接口的选择方法及装置 |
CN111181854A (zh) * | 2020-01-02 | 2020-05-19 | 国网浙江省电力有限公司信息通信分公司 | 确定配用电多业务差异QoS最优路由的方法及系统 |
CN111181854B (zh) * | 2020-01-02 | 2021-12-10 | 国网浙江省电力有限公司信息通信分公司 | 确定配用电多业务差异QoS最优路由的方法及系统 |
CN114944999A (zh) * | 2022-04-08 | 2022-08-26 | 北京遥测技术研究所 | 一种基于gpu和粒子群优化算法的高速路由通信系统及方法 |
CN114944999B (zh) * | 2022-04-08 | 2023-10-10 | 北京遥测技术研究所 | 一种基于gpu和粒子群优化算法的高速路由通信系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106911574B (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106911574A (zh) | 基于粒子群的命名数据网络多约束路由算法 | |
CN105245448B (zh) | 命名数据网络中多业务多路径路由优化方法 | |
Badov et al. | Congestion-aware caching and search in information-centric networks | |
CN106101223B (zh) | 一种基于内容流行度与节点级别匹配的缓存方法 | |
Zhuang et al. | Hybrid periodical flooding in unstructured peer-to-peer networks | |
Tareq et al. | Mobile ad hoc network energy cost algorithm based on artificial bee colony | |
CN114143264B (zh) | 一种SRv6网络下基于强化学习的流量调度方法 | |
CN111885648A (zh) | 基于边缘缓存的能量有效的网络内容分发机制构建方法 | |
CN104301305B (zh) | 信息中心网络下兴趣包转发的方法和转发终端 | |
CN112399485A (zh) | 一种6g中基于ccn的新节点价值和内容流行度缓存方法 | |
CN113783779B (zh) | 命名数据网络中分级随机缓存方法 | |
CN106533733A (zh) | 基于网络分簇和哈希路由的ccn协同缓存方法及装置 | |
CN105681438A (zh) | 内容中心网络中一种集中式的缓存决策策略 | |
CN109639758A (zh) | 内容中心网络中用户行为隐私的保护方法及装置 | |
CN106210024A (zh) | 信息中心网络中一种基于流行度的多态蚁群算法 | |
Gui et al. | A cache placement strategy based on entropy weighting method and TOPSIS in named data networking | |
Holme et al. | An integrated model of traffic, geography and economy in the internet | |
Chen et al. | An efficient neural network-based next-hop selection strategy for multi-hop VANETs | |
CN108173965A (zh) | 社团感知的icn缓存方法 | |
CN104506432B (zh) | 一种内容请求率的聚合及缓存放置方法 | |
Yang et al. | Content-based hyperbolic routing and push mechanism in named data networking | |
Carvalho et al. | A multiCriteria caching decision for information centric networks | |
CN106657181A (zh) | 一种基于内容中心网络的数据推送方法 | |
Kim et al. | Comprehensive analysis of caching performance under probabilistic traffic patterns for content centric networking | |
CN111865793B (zh) | 基于功能学习的IPv6网络服务定制化可靠路由系统及方法 |
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 |