一种移动自组网路由决策方法

文档序号:107743 发布日期:2021-10-15 浏览:25次 >En<

阅读说明:本技术 一种移动自组网路由决策方法 (Routing decision method for mobile ad hoc network ) 是由 王娟 夏琦 高建彬 胡垚 李铭 杜先龄 于 2021-06-29 设计创作,主要内容包括:本发明公开了一种移动自组网路由决策方法,该方法基于可信机制和Q-Learning动态信任值实现,所述可信机制包括邻居监控、信息共享、评估决策和路由管理等。本发明解决了自组网在恶劣情况下节点自身的不信任程度以及节点自主选择最适合的下一跳节点等问题,实现了节点内部评估信任并剔除不信任节点,也实现了节点根据自身探索网络后的智能选择。同时解决了基于信任机制的移动自组网中激励节点诚实推荐的问题,并在此基础上实现可信路由协议。在移动自组网中引入信任机制评判节点的行为,能够有效地建立节点间的信任关系,从而构建一个稳定、可信的网络环境。(The invention discloses a mobile ad hoc network routing decision method which is realized based on a credible mechanism and a Q-Learning dynamic trust value, wherein the credible mechanism comprises neighbor monitoring, information sharing, evaluation decision, routing management and the like. The invention solves the problems of the distrust degree of the nodes of the ad hoc network under severe conditions, the autonomous selection of the most suitable next hop node and the like, realizes the internal evaluation of trust of the nodes and the elimination of distrust nodes, and also realizes the intelligent selection of the nodes after exploring the network according to the nodes. Meanwhile, the truthful recommendation problem of the incentive nodes in the mobile ad hoc network based on the trust mechanism is solved, and a trusted routing protocol is realized on the basis. A trust mechanism is introduced into the mobile ad hoc network to judge the behavior of the nodes, so that the trust relationship between the nodes can be effectively established, and a stable and trusted network environment is constructed.)

一种移动自组网路由决策方法

技术领域

本发明属于自组网技术领域,具体涉及一种移动自组网路由决策方法。

背景技术

自组网是一种移动通信和计算机网络相结合的网络,网络的信息交换采用计算机网络中的分组交换机制,用户终端是可以移动的便携式终端,自组网中每个用户终端都兼有路由器和主机两种功能,它不依赖于预设的基础设施而临时组建,网络中的移动节点利用自身的无线收发设备交换信息,当相互之间不在通信范围内时,可以借助其他中间节点中继来实现多跳通信。

自组网具有一般通信网络所没有的一些特点,如网络的自组性、拓扑的动态性、带宽的有限性、控制的分布性、多跳性以及有限的安全性等,但同时也面临了一些挑战:自组网的网络拓扑结构复杂且多用于环境急剧变化且存在恶意节点的情况下、通信开销大、吞吐量带宽有限和节点下一跳决策困难等。

在自组网这样一个形势复杂多变的环境中,状态空间极大,不可能用传统的通信方法解决所有的问题,也不可能在所有的态势下指定自组网节点下一跳的行为和动作,甚至是硬件设备和使用环境的变化都会影响到自组网路由决策。因此,针对这种情况,考虑到自组网网络环境的多变性以及节点自身的安全性,我们引入了基于推荐信任的可信路由协议,并在此安全基础上,将自组网路由决策类比为复杂环境下多智能体协作和决策问题,引进机器学习领域中的Q-Learning以提高自组网节点下一跳决策的智能能力。

发明内容

为克服上述缺陷,本发明提供了一种移动自组网路由决策方法,该方法基于可信机制和Q-Learning动态信任值实现,所述可信机制包括邻居监控、信息共享、评估决策和路由管理等,该方法具体包括以下步骤:

步骤1.节点A存储邻居节点B的信息

任意节点A若在第t个时间帧内与邻居节点B有直接交互行为action,则用结构{A:B,action,trust_value,t}记录此次交互行为,每一个节点均维护一个上述结构的信息,并将此结构存储在直接信任值信息表中,trust_value标记交互行为成功与否;节点间信任关系的建立采用两种方式:一是节点在本地获取的关于被评价节点的信任信息,称为直接信任值;二是来自第三方节点的关于被评价节点信任信息的合成,称为间接信任值;推荐信任值属于直接信任值的一种特殊形式,用于描述一个节点对其他节点能否诚实提供推荐信息的主观性预测;

步骤2.信任值量化:计算直接信任值、推荐信任值、间接信任值和总体信任值;

步骤3.节点A转发数据包时进行邻居监控,判断是否监控成功并更新维护监控缓存表peekBuffer,邻居监控的具体流程为:当节点A给其下一跳节点B发送了一个数据包时,节点A首先将该数据包写入缓存peekBuffer中,并设置计时器,然后转发数据包给节点B,同时开始监控节点B,如果节点A监控到节点B成功转发了数据包,或是由于计时器超时而认定节点B没有成功转发数据包,则将监控到的结果传递给信任库,同时删除数据包;如果节点B没有成功转发数据包,则节点A需要初始化信息,其中,信任库包括标准缓存表buffer、监控缓存表peekBuffer、推荐请求缓存waitRecomBuffer和推荐信息缓存表recomBuffer;

步骤4.信息共享:节点A在步骤3中成功监控后,根据本地存储的直接信任值信息表确定评价节点B是否可信,而当节点A无法依据直接信任值信息表来判断某节点B是否可信时,首先需要查看自己缓存在节点本地的推荐信息缓存表recomBuffer,对于recomBuffer中有关待评价节点B的每一条推荐信息,节点A需要计算推荐信任值,若计算得到的推荐信任值高于预先设定的阈值则使用,否则在recomBuffer中删除此条推荐信息;多个节点维护相同信任库,以便后续多节点智能协作;

步骤5.节点评估:对于各个节点的推荐信任值进行评价,找出可信节点;

步骤6.路由管理决策:根据上述建立的可信路由协议,采用Q-Learning框架,将节点类比为多智能体协作中的智能体,选择节点路由的下一跳。

本发明解决了自组网在恶劣情况下节点自身的不信任程度以及节点自主选择最适合的下一跳节点等问题。实现了节点内部评估信任并剔除不信任节点,也实现了节点根据自身探索网络后的智能选择。解决了基于信任机制的移动自组网中激励节点诚实推荐的问题,并在此基础上实现可信路由协议。在移动自组网中引入信任机制评判节点的行为,能够有效地建立节点间的信任关系,从而构建一个稳定、可信的网络环境。

附图说明

图1为本发明所述方法中节点单路推荐的示意图。

图2为本发明所述方法中节点多路推荐的示意图。

图3为本发明所述方法中可信路由协议组成示意图。

图4为本发明所述方法中节点邻居监控的流程图。

具体实施方式

下面结合附图和实施例对本发明进行进一步的说明。

本发明提供了一种移动自组网路由决策方法,该方法基于可信机制和Q-Learning动态信任值实现,可信机制包括邻居监控、信息共享、评估决策和路由管理等,如图3所示。本方法具体包括以下步骤:

步骤1.节点A存储邻居节点B的信息

任意节点A若在第t个时间帧内与邻居节点B有直接交互行为action,则用结构{A:B,action,trust_value,t}记录此次交互行为,每一个节点均维护一个上述结构的信息,并将此结构存储在直接信任值信息表中,trust_value标记交互行为成功与否。节点间信任关系的建立采用两种方式:一是节点在本地获取的关于被评价节点的信任信息,称为直接信任值;二是来自第三方节点的关于被评价节点信任信息的合成,称为间接信任值。推荐信任值属于直接信任值的一种特殊形式,用于描述一个节点对其他节点能否诚实提供推荐信息的主观性预测。信任值的符号说明见表1,具体存储量化后的信任值。

表1符号说明

注:未列出符号及重复的符号以出现处为准

步骤2.信任值量化

步骤2.1.直接信任值计算。若节点A在第i个时间帧内(i=1,2,...,I),与邻居节点B交互成功ki次,失败ji次,β1,β2为人为预先设置的两个时间权重因子,则在第I时间帧内选择节点B的可能性为:

其中,ti为第i时间帧的时间(即从第1个时间帧到第i时间帧的时间),tI为第I时间帧的时间,且0≤β1≤1,0≤β2≤1。

将p带入熵函数H(p)中:

则信任值公式表示为

由上述过程,直接信任值其中subject表示节点A,node表示邻居节点B,action表示A、B节点交互情况。

步骤2.2.推荐信任值计算。将邻居节点B反馈来的trust_value和节点A计算得到的直接信任值进行偏离测试:判断是否成立,其中,η表示预设的偏离阈值,取值范围0≤η<1。

如果偏离测试成功,即成立,则认为邻居节点B的推荐诚实可靠,否则认为其进行虚假推荐。最后节点A将此次推荐行为写进节点A的推荐信任值信息表中(其中,推荐信任值信息表初始化为空)。根据trust_value的值,若交互行为成功,则表明此次推荐诚实。若此次推荐诚实,且节点A在第i时间帧内(i=1,2,...,M)(为了区分直接信任值和推荐信任值这两种计算结果,这里的i=1,2,...,M),与邻居节点B交互成功ki次,失败ji次,α1,α2为人为预先设置的两个时间权重因子,则在第M时间帧选择节点B的可能性为:

其中,ti为第i时间帧的时间,tM为第M时间帧的时间,且0≤α1≤1,0≤α2≤1。

将p′带入

则推荐信任值Rsubject:recommender

其中,subiect表示节点A,recommender表示邻居节点B。

步骤2.3.间接信任值计算。间接信任值计算分为单路推荐和多路推荐类型,分别如图1和图2所示,节点可以从一个或多个邻居节点处获得推荐信息,前者称为单路推荐,后者称为多路推荐。本发明考虑到自组网网络的复杂性,采用多路推荐即通过多个邻居节点处获得的推荐信息来计算间接信任倍节点A到节点C的间接信任值表示为:

其中,RA:B表示节点A到节点B的推荐信任值,RA:D表示节点A到节点D的推荐信任值,表示节点B到节点C的直接信任值,表示节点D到节点C的直接信任值。其中A、B、C、D均为图2中的节点符号。

步骤2.4.总体信任值计算。直接信任值和间接信任值进行加权求和即为总体信任值:其中,α,β分别为人为预先设定的的权重值,其中,subject为节点A,node为邻居节点B,action表示交互行为,且α+β=1。

步骤3.节点A转发数据包时进行邻居监控,判断是否监控成功并更新维护监控缓存表。邻居监控的具体流程如图4所示,当节点A给其下一跳节点B发送了一个数据包时,节点A首先将该数据包写入缓存peekBuffer中,并设置计时器,然后转发数据包给节点B,同时开始监控节点B。如果节点A监控到节点B成功转发了数据包,或是由于计时器超时而认定节点B没有成功转发数据包,则将监控到的结果传递给信任库,同时删除数据包。如果节点B没有成功转发数据包,则节点A需要初始化信息。其中涉及的协议数据结构如表2所示。

表2数据结构解释

结构 解释
buffer 标准缓存表
peekBuffer 监控缓存表
waitRecomBuffer 推荐请求缓存
recomBuffer 推荐信息缓存表

步骤4.信息共享。节点A在步骤3中成功监控后,根据本地存储的直接信任值信息表确定评价节点B是否可信,而当节点A无法依据直接信任值信息表来判断某节点B是否可信时,首先需要查看自己的recomBuffer(前面步骤2.2中的推荐信任值信息表可以存在链路中,也可以存在云端,recomBuffer特指缓存在节点本地的信息表),对于recomBuffer中有关待评价节点B的每一条推荐信息,节点A需要计算推荐信任值,若计算得到的推荐信任值高于预先设定的阈值λ,则使用,否则在recomBuffer中删除此条推荐信息。多个节点维护相同信任库(信任库即包含buffer、peekBuffer、waitRecomBuffer和recomBuffer等),以便后续多节点智能协作,信息共享的具体过程如下:

步骤4.1.节点A初始化推荐请求信息,并向节点B发送推荐请求;

步骤4.2.中间节点B处理推荐请求信息,并将信息打包为推荐反馈信息包;

步骤4.3.中间节点B处理推荐反馈信息包,并发送给节点A;

步骤4.4.发起推荐请求的节点A处理推荐反馈信息包并合成间接信任值。

步骤5.节点评估。对于各个节点的推荐信任值进行评价,即进行所述步骤2.2的偏离测试,低于阈值η的即列为不可信节点。后续决策则不考虑这些不可信节点,剩余节点作为可信节点。

步骤6.路由管理决策。根据上述建立的可信路由协议,采用Q-Learning框架,将节点类比为多智能体协作中的智能体。

步骤6.1.基于上述步骤5得到的可信节点,对任意一个可信节点,将链路持续时间t′、可信路由协议中节点直接信任值和推荐信任值三个因素作为路由度量信息来定义Q-Learning中的奖励函数R(s,a),即:R(s,a)=g+[μ·t′(s,a)+v·Td(s,a)+λ·Tr(s,a)]。其中,s为当前节点s,a为节点下一跳的选择,即推荐的邻居节点a,g为奖惩因子,t′(s,a)、Td(s,a)、Tr(s,a)分别是t′、Rsubject:recommender的归一化值,μ、v、λ分别是t′(s,a)、Td(s,a)、Tr(s,a)这三个因素预设的权重因子,且满足μ+v+λ=1。

步骤6.2.各个网络节点作为发送节点将各自本地的信任库发送给其邻居节点,邻居节点作为接收节点根据各自维护的信任库和Q-learning奖励函数计算并更新Q值:Q(s,a)=R(s,a)+γmaxa′(Q(s′,a′)),其中的Q(s,a)为节点s到节点a的Q值,R(s,a)为节点s到节点a的奖励值,γ为预设的折扣因子,maxa′(Q(s′,a′))为节点s′到节点a′的Q值最大值时的节点a′,Q(s′,a′)为节点s′到节点a′的Q值,节点s′、节点a′为节点s、节点a下一跳的节点双方。

步骤6.3.节点A在存在待转发的数据包时,根据其维护的Q值智能选择下一跳转发节点B,节点路由的最优策略定义为在每一状态选用Q值最大的行为即为节点路由的下一跳,策略为:Π(s)=arg maxaQ(s,a)。

以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:wifi的密码管理方法及相关产品

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!