CN107888502B - 内容中心网络中非混合式蚁群路由方法 - Google Patents
内容中心网络中非混合式蚁群路由方法 Download PDFInfo
- Publication number
- CN107888502B CN107888502B CN201711188527.1A CN201711188527A CN107888502B CN 107888502 B CN107888502 B CN 107888502B CN 201711188527 A CN201711188527 A CN 201711188527A CN 107888502 B CN107888502 B CN 107888502B
- Authority
- CN
- China
- Prior art keywords
- node
- ants
- pheromone
- ant
- current
- 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.)
- Active
Links
Images
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/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/14—Routing performance; Theoretical aspects
-
- 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/26—Route discovery packet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信技术领域,特别涉及一种内容中心网络中非混合式蚁群路由方法,包括:建立信息素表,每个节点都储存一个信息素表,前向蚂蚁到达某个节点时与当前蚂蚁相关的端口有对应的信息素值,与当前蚂蚁不相关的端口则没有信息素值;前向蚂蚁从源节点转发到中间节点,中间节点转发前向蚂蚁到其他中间节点,直到达到最大路由跳数或者找到目的节点;若达到最大路由跳数则执行信息素挥发操作;若前向蚂蚁找到目的节点,目的节点生成后向蚂蚁,后向蚂蚁从目的节点沿前向蚂蚁的转发路径返回源节点并更新途经节点的信息素表;本发明保证网络开销代价同时又有效地抑制早熟停滞。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种内容中心网络中非混合式蚁群路由方法。
背景技术
随着网络快速的发展,如今网络的使用已经由内容的分发和检索所支配,而网络技术仍然是主机连接之间的通信。访问内容和服务需要将用户所关心的事物映射到网络所在处。在这种背景下,内容中心网络(Content Centric Networking,CCN)作为一个革命式的未来互联网而诞生,让数据内容本身成为网络通信的主体单元,在中间层用命名数据取代IP,数据传输采用“发布-请求-响应”模式,直接以内容名字进行路由,成为下一代Internet体系结构的研究热点。
在内容中心网络中,一个值得研究的问题是如何对网络路由算法进行优化。蚁群算法是一种有效的搜索算法,具有分布式、正反馈、全局收敛等特点。在网络路由处理中,网络的流量分布不断变化,网络的链路或节点也会随机的失效或重新加入,蚁群算法的自身催化与正反馈机制很好的符合了这类问题的求解特点,所以蚁群智能在网络路由领域中得到了很好的应用。然而,就算法本身而言,虽然蚁群路由算法具有较好的优化特性,但其时间复杂度较高,初始化时期收敛速度慢和搜索到一定程度后容易产生停滞现象。
针对蚁群算法存在的早熟停滞问题,人们提出了各种路由优化机制,如根据CCN和电路交换网(Switch Circuit Network,SCN)的特征提出的混合式蚂蚁算法SoCCeR(参见文献:Shanbhag S,Schwan N,Rimac I,et al.SoCCeR:Services over content-centricrouting[C]//Proceedings of the ACM SIGCOMM workshop on Information-centricnetworking.ACM,2011:62-67.),其主要思想在CCN的上层增加了路由决策层来对转发信息库(Forward Information Base,FIB)进行操作,通过发送探索蚂蚁,不断刷新网络节点信息素值,使得最优路径及时跟上网络变化,有效地抑制了蚁群早熟停滞问题,提高了内容的分发性能。
然而以上混合式蚁群优化路由算法存在诸多不足:由于探索蚂蚁的选取是随机的以及为了避免早熟停滞使用固定大小的探索概率,导致蚁群的探索能力恒定不变,不能随着网络的状态而改变;其次,其收敛质量一般,并且在算法执行过程中产生过多数量的前向蚂蚁,增加了整个网络的负担;更重要的是,节点缓存的生存时间是被忽视的,一旦缓存过期,那么选择的最优路径将失效。
发明内容
为了解决上述技术问题,本发明提供一种内容中心网络中非混合式蚁群路由方法,包括:
建立信息素表,每个节点都储存一个信息素表,每个节点中与当前蚂蚁相关的接口有对应的信息素值,与前向蚂蚁不相关的端口则没有信息素值;
前向蚂蚁从源节点转发到中间节点,中间节点转发前向蚂蚁到其他中间节点,直到达到最大路由跳数或者找到目的节点,若达到最大路由跳数则执行信息素挥发操作;
若前向蚂蚁找到目的节点,目的节点生成后向蚂蚁,后向蚂蚁从目的节点沿前向蚂蚁的转发路径返回源节点并更新途经节点的信息素表。
优选的,建立信息素表包括:
优选的,前向蚂蚁从源节点转发到中间节点,中间节点转发前向蚂蚁到其他中间节点,直到达到最大路由跳数或者找到目的节点,若达到最大路由跳数则执行信息素挥发操作包括:
源节点对前向蚂蚁进行等级分配并转发前向蚂蚁,前向蚂蚁到达与源节点直接相连的中间节点;
非目的节点接收前向蚂蚁,计算当前节点前向蚂蚁被激怒概率并判断当前节点前向蚂蚁被激怒概率与随机变量的关系;
根据当前节点前向蚂蚁被激怒概率与随机变量的关系更新当前等级,并计算各端口转发概率并择优转发前向蚂蚁;
转发之后判断当前前向蚂蚁是否达到最大路由跳数,如果达到最大跳数则当前路径执行信息素挥发操作;如果没有,则重复之前的路由过程,直到前向蚂蚁到达目的节点,然后生成后向蚂蚁并执行相应的后向蚂蚁处理过程。
优选的,若前向蚂蚁找到目的节点,目的节点生成后向蚂蚁,后向蚂蚁从目的节点沿前向蚂蚁的转发路径返回源节点并在中心节点留下信息素包括:
后向蚂蚁生成后,沿原路返回,当非源节点接收后向蚂蚁读取其中的路径时延信息、节点负载以及中间节点缓存命中率;
后向蚂蚁更新当前节点信息素表;
后向蚂蚁重复上述过程,直到后向蚂蚁回到源节点;
本发明通过改变传统单级别信息素为多级别信息素,构造出全新的节点信息素表格,并给每一个用户节点添加一个等级分配矩阵,然后结合返回的数据不断刷新信息素表格和等级分配矩阵,路由过程中结合节点缓存特性,计算出每个节点内容的缓存命中率,将其考虑进信息素更新过程当中,以此改善路由的性能,提高节点缓存命中率、减少用户请求时延和网络开销代价。
附图说明
图1是本发明中非混合式蚁群路由方法构成示意图;
图2为本发明中前向蚂蚁从源节点转发到目的节点的流程图;
图3为本发明中后向蚂蚁从目的节点返回源节点的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明一种内容中心网络中非混合式蚁群路由方法,如图1,包括:
建立信息素表,每个节点都有一个信息素表,每个节点中与当前前向蚂蚁相关的接口有对应的信息素值,与当前前向蚂蚁不相关的端口则没有信息素值包括:
与传统的蚂蚁路由节点中的每一个端对应一个信息素值不同,本发明使用一个大小为L的数列表示信息素值来替代每一个端口对应的信息素值τi,j,等级l是连续变化的,等级l∈[1,L]且l为整数,对于一个节点i来说,每一个前向蚂蚁在每一个节点i的相关端口j都必须定义信息素值
表1信息素表
如表1所示,为了区分不同的内容在同一节点的信息素,令表示节点内等级为l的内容c的相关接口j的信息素值,表示中心节点内等级为l的内容c的相关接口j的转发概率,其中c∈{c1,c2,c3,.....};假设当前节点中内容名称c1对应的前向蚂蚁等级l=2,并且在所有等级l=2的转发概率中的值最大,则该前向蚂蚁的最佳转发端口为端口1;同理,假设内容名称c2对应的前向蚂蚁等级为l=1,并且在所有等级l=1的转发概率中的值最大,则该前向蚂蚁的最佳转发端口为端口2。
前向蚂蚁从源节点通过转发到各中间节点,直到达到最大路由跳数或者找到目的节点,如图2,包括:
源节点发出前向蚂蚁,前向蚂蚁到达与源节点直接相连的中心节点,并进行等级分配;
根据当前节点前向蚂蚁被激怒概率与随机变量的关系更新当前等级,并计算各端口转发概率并转发前向蚂蚁;
转发之后判断当前前向蚂蚁是否达到最大路由跳数,如果达到最大跳数则当前路径执行信息素挥发操作,即不对途经的转发窗口进行信息素累积就更新当前蚂蚁途经节点所有相关接口的信息素;
如果没有,则继续转发,直到前向蚂蚁到达目的节点,然后生成后向蚂蚁并执行相应的后向蚂蚁处理过程。
首先,用户发出一个请求,前向蚂蚁(即用户请求包)到达源节点直接被赋予一个等级,为了实现节点等级分配功能,每个源节点r都储存一个大小为L×Q的等级分配矩阵L是分配矩阵的初始最大等级,Q是分配矩阵的初始最大用户数,L和Q不是固定不变的,它们根据实际需求增长,的各行相当于信息素的各等级,各列相当于源自节点r的所有用户请求q,假设矩阵有m个等级,n个请求,那么:
其中,等级分配包括:
201、每个前向蚂蚁aq被分配到任何一个等级的概率为:
202、如果步骤201中前向蚂蚁没有选中任何一个等级,则依据下面的方式再次选取等级,等级选择表示为:
当非目的节点接收到前向蚂蚁时,需要计算当前节点前向蚂蚁被激怒概率,等级为l的蚂蚁在节点i被激怒的概率为:
其中,ι是一个用来调节刺激强度的参数,节点i所有相关出口j信息素的总和(a)是基于最大信息素值τmax的标准化因数,确保(b)是节点i上每一个出口的平均信息素值;(c)是节点i等级为l时的信息熵,节点i信息素的分布越均匀,则信息熵越大,体现出节点i处蚂蚁的状态越混乱,反之,如果信息素的分布不均匀,某个端口的信息素浓度远高于其它相关转发端口,则节点i处体现出的是一种稳定状态,蚂蚁很容易选出优势端口,不会出现混乱状态时最优转发端口频繁改变的现象,与传统蚂蚁路由不同,本发明设定激怒蚂蚁的作用是允许新的等级产生,多等级信息素的引入是为了抑制蚁群的早熟停滞现象。
前向蚂蚁在当前等级下依据信息素表从合适的端口转发到下一跳节点,其选择下一跳节点的概率定义为转发概率,转发概率表示为:
目的节点生成后向蚂蚁,后向蚂蚁从目的节点沿前向蚂蚁的转发路径返回源节点并更新途经节点的信息素表,如图3,包括:
后向蚂蚁生成后,沿原路返回,若接收到后向蚂蚁的节点为非源节点,则当前的节点读取后向蚂蚁中的路径时延信息、节点负载以及中间节点缓存命中率;
更新当前节点信息素表;
后向蚂蚁重复上述过程,直到后向蚂蚁回到源节点;
优选的,中间节点缓存命中率为:
其中,λ为内容c的请求速率,μ为迫使内容c存储位置下降的其它内容的请求速率,N为内容在CS中的位置总数,缓存命中率的值越大,说明内容在该节点处存留的时间越长,通往该处缓存的最优径的可靠性就越高,所以信息素的增量就越大,缓存命中率的值越小,说明该节点缓存很快会被替换,那么到达该节点的大量相同的后续请求将会扑空,所以信息素的增量就越小。
优选的,更新途经的节点信息素表包括:
301、对转发端口进行信息素值的累积操作:
其中,为网络负载相关的信息素值,为与往返延时相关的信息素值;α表示用来决定负载信息素和时延信息素对于总信息素的作用权重,其大小完全取决于网络的策略和需求,例如,在某个网络当中,负载是用户主要考虑的因素,那么α的值将相对偏大,反之,如果用户主要考虑因素是时延,那么α的值将会偏小。
302、对节点中所有相关端口进行信息素挥发操作:
Δx为信息素增量;ρ∈(0,1)为信息素挥发系数;
其中,Im×n是一个大小为m×n的二元矩阵,其主对角线上数字全为1,其它位置全为0,即矩阵的对角线元素ai,j=1且i=j,ai,j=0且i≠j;同时,为了确保矩阵不出现0元素,即为了确保拓展后的矩阵中的新增0元素全部初始化为τ0,τ0为初始的信息素值。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.内容中心网络中非混合式蚁群路由方法,其特征在于,包括:
建立信息素表,使用一个大小为L的数列表示信息素值来替代每一个端口对应的信息素值τi,j,且信息素等级的变化是连续的,对于一个节点i来说,每一个相关端口j都必须定义信息素值等级l∈[1,L]且l为整数,每个节点都储存一个信息素表,前向蚂蚁到达某个节点时与当前蚂蚁相关的端口有对应的信息素值,与当前蚂蚁不相关的端口则没有信息素值;
等级分配之后转发前向蚂蚁,前向蚂蚁到达与源节点直接相连的中间节点;
根据当前节点前向蚂蚁被激怒概率与随机变量的关系更新当前等级,计算各端口转发概率并择优转发前向蚂蚁,前向蚂蚁在当前等级下依据信息素表从合适的端口转发到下一跳节点,其选择下一跳节点的概率定义为转发概率,表示为:
转发之后判断当前前向蚂蚁是否达到最大路由跳数,如果达到最大跳数则当前路径执行信息素挥发操作;如果没有,则重复上述路由过程,直到前向蚂蚁到达目的节点;
若达到最大路由跳数则执行信息素挥发操作;
若前向蚂蚁找到目的节点,目的节点生成后向蚂蚁,后向蚂蚁从目的节点沿前向蚂蚁的转发路径返回源节点并更新途经节点的信息素表;
等级分配转发前向蚂蚁,前向蚂蚁到达与源节点直接相连的中间节点;
中间节点接收前向蚂蚁,计算当前节点前向蚂蚁被激怒概率并判断当前节点前向蚂蚁被激怒概率与随机变量的关系;
根据当前节点前向蚂蚁被激怒概率与随机变量的关系更新当前等级,并计算各端口转发概率并择优转发前向蚂蚁;
转发之后判断当前前向蚂蚁是否达到最大路由跳数,如果达到最大跳数则当前路径执行信息素挥发操作;如果没有,则重复上述路由过程,直到前向蚂蚁到达目的节点;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711188527.1A CN107888502B (zh) | 2017-11-24 | 2017-11-24 | 内容中心网络中非混合式蚁群路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711188527.1A CN107888502B (zh) | 2017-11-24 | 2017-11-24 | 内容中心网络中非混合式蚁群路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107888502A CN107888502A (zh) | 2018-04-06 |
CN107888502B true CN107888502B (zh) | 2020-10-16 |
Family
ID=61775019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711188527.1A Active CN107888502B (zh) | 2017-11-24 | 2017-11-24 | 内容中心网络中非混合式蚁群路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107888502B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712335A (zh) * | 2018-05-14 | 2018-10-26 | 平安科技(深圳)有限公司 | 网络访问的调度方法、系统、设备及存储介质 |
CN108834095A (zh) * | 2018-07-03 | 2018-11-16 | 深圳大图科创技术开发有限公司 | 海洋气象信息感知系统 |
CN110456815A (zh) * | 2019-07-04 | 2019-11-15 | 北京航空航天大学 | 一种基于行军蚁启发式智能的无人机集群协同定位方法 |
CN111666212A (zh) * | 2020-05-28 | 2020-09-15 | 平安医疗健康管理股份有限公司 | 利用蚁群算法生成测试用例的方法、装置、设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8396066B1 (en) * | 2008-10-07 | 2013-03-12 | BCK Networks, Inc. | Routing table for non-uniform random neighbor selection |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9515920B2 (en) * | 2012-04-20 | 2016-12-06 | Futurewei Technologies, Inc. | Name-based neighbor discovery and multi-hop service discovery in information-centric networks |
US10454820B2 (en) * | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
-
2017
- 2017-11-24 CN CN201711188527.1A patent/CN107888502B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8396066B1 (en) * | 2008-10-07 | 2013-03-12 | BCK Networks, Inc. | Routing table for non-uniform random neighbor selection |
Also Published As
Publication number | Publication date |
---|---|
CN107888502A (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107888502B (zh) | 内容中心网络中非混合式蚁群路由方法 | |
Dhillon et al. | Performance analysis of the AntNet algorithm | |
US8649377B2 (en) | Methods and systems to store state used to forward multicast traffic | |
US20020129086A1 (en) | Cluster-based aggregated switching technique (CAST) for routing data packets and information objects in computer networks | |
US20090135816A1 (en) | Method and apparatus for assigning ip addresses | |
US20130034096A1 (en) | Routing table establishment method and device and routing table lookup method and device | |
KR100512949B1 (ko) | 필드레벨 트리를 이용한 패킷분류장치 및 방법 | |
CN112118186B (zh) | 一种交换芯片路由表项存储方法、转发方法及配置方法 | |
Wuu et al. | A longest prefix first search tree for IP lookup | |
US20130166775A1 (en) | Load balancing apparatus and load balancing method | |
CN101840417B (zh) | 一种基于相关关系的物联网uid查询方法 | |
Yang et al. | Content-based hyperbolic routing and push mechanism in named data networking | |
Balasubramaniam et al. | Biologically inspired future service environment | |
CN111262785B (zh) | 一种命名数据网络中的多属性概率缓存方法 | |
CN114500374A (zh) | 一种采用随路改变目的地址的报文路由转发方法 | |
Iqbal et al. | A source-driven reinforcement learning-based Data reply strategy to reduce communication overhead in Named Data Networks (NDN) | |
Felstaine et al. | On the distribution of routing computation in hierarchical ATM networks | |
Gulati et al. | AdCaS: Adaptive caching for storage space analysis using content centric networking | |
Khatibi et al. | Dynamic multilevel feedback-based searching strategy in unstructured peer-to-peer systems | |
Goudarzi et al. | An ant-based rate allocation algorithm for media streaming in peer to peer networks: Extension to multiple sessions and dynamic networks | |
Wu et al. | ERAntBudget: A search algorithm in unstructured P2P networks | |
Hsieh et al. | Multilevel length-based classified index table for IP lookups and updates | |
Sharifkhani et al. | A new metric for comparison of p2p search algorithms | |
US20040213168A1 (en) | Method for generating casting path among participants for multicasting | |
Hichem et al. | IP Address Lookup in an IP Router Based On a Reorganized Binary Prefixes Value Tree (RBPVT) |
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 |