一种用于车联网的路由优化系统及方法转让专利

申请号 : CN201710034507.2

文献号 : CN106686680B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乐孜纯邓中强付明磊

申请人 : 浙江工业大学

摘要 :

一种用于车联网的路由优化系统,包括初始化设置模块、建立路由表模块、期望排序模块、建立链路模块和发送/接收数据包模块。以及一种用于车联网的路由优化方法,包括如下步骤:步骤1:各节点对本节点进行初始化设置;步骤2:各节点广播Hello消息并建立路由表;步骤3:各节点对路由表中的节点进行期望值计算并排序;步骤4、建立从源节点/中间节点到DCN节点的通信链路;步骤5、源节点/中间节点进入数据发送/接收过程;步骤6、重复以上步骤2至步骤5,直至数据包成功从源节点传递到目的节点。本发明综合考虑信号强度、时延、跳数、节点移动速度、数据传输方向等不同的情况下最优节点不同的优化路由选择,适用于车联网环境。

权利要求 :

1.一种用于车联网的路由优化系统,其特征在于:所述路由优化系统包括初始化设置模块、建立路由表模块、期望排序模块、建立链路模块和发送/接收数据包模块;

所述初始化设置模块,用于节点最大通信距离设置、发送功率设置、f值设置、k值设置;

其中,f表示数据传输方向;f取值为{0,1};k值为预设值,其值的大小可变;该值的取定主要与预定最佳通信节点有关;

所述建立路由表模块,用于各节点周期性的广播/接收Hello消息,同时根据接收的Hello消息建立并维护路由表;

所述期望排序模块,用于各节点根据路由表中的信息计算各直接通信节点的期望值,然后根据期望公式计算得出的各直接通信节点DCN节点的期望值大小,并对各DCN节点按期望值从大到小重新排序;过程如下:步骤3.1、各节点根据路由表中的信息,结合本节点设置的初始条件,依据期望公式依次计算各节点期望值;

其中,期望公式如下:

                                  (1)(1)式中:S为信源信号强度,N为DCN节点收到本节点信号的信号强度,L为信源最大通信距离,X为链路两节点之间的距离,Vs为源节点移动速度,VN为DCN节点移动速度;

(1)式中,S与N的关系式为:

                                     (2)(2)式中,S为信源信号强度,N为DCN节点收到本节点信号的信号强度,β0、β1表示衰减系数,X为信源与DCN节点的距离;

步骤3.2、其中,当数据传输方向与源节点移动速度方向相同时,f取0;当数据传输方向与源节点移动速度方向相反时,f取1;

步骤3.3得出各节点期望值后,对路由表中各节点按照期望值大小从大到小重新排序;

所述建立链路模块,用于当源节点/中间节点需要发送数据时,源节点/中间节点首先广播一条指向DCN节点的RREQ消息,然后等待接收DCN节点的路由请求回应消息;当DCN节点收到源节点/中间节点的RREQ消息时,DCN节点根据自身状态向源节点/中间节点回复一条指向源节点/中间节点的RREP消息以完成链路建立过程;

所述发送/接收数据包模块,用于当链路建立完成后,源节点/中间节点开始向DCN节点发送数据包;DCN节点则开始接收数据包,同时DCN节点时刻监测链路状态。

2.如权利要求1所述的一种用于车联网的路由优化系统实现的路由优化方法,其特征在于:所述路由优化方法包括如下步骤:步骤1:各节点对本节点进行初始化设置,所述初始化设置包括读取节点最大通信距离、读取默认发送功率、设置f值、根据默认最佳通信距离设置k值;

步骤2:各节点广播Hello消息并建立路由表;

步骤3:各节点对路由表中的节点进行期望值计算并排序,过程如下:步骤3.1、各节点根据路由表中的信息,结合本节点设置的初始条件,依据期望公式依次计算各节点期望值;

其中,期望公式如下:

                                  (1)(2)式中:S为信源信号强度,N为DCN节点收到本节点信号的信号强度,L为信源最大通信距离,X为链路两节点之间的距离,Vs为源节点移动速度,VN为DCN节点移动速度;

(1)式中,S与N的关系式为:

                                     (2)(2)式中,S为信源信号强度,N为DCN节点收到本节点信号的信号强度,β0、β1表示衰减系数,X为信源与DCN节点的距离;

步骤3.2、其中,当数据传输方向与源节点移动速度方向相同时,f取0;当数据传输方向与源节点移动速度方向相反时,f取1;

步骤3.3得出各节点期望值后,对路由表中各节点按照期望值大小从大到小重新排序;

步骤4、建立从源节点/中间节点到DCN节点的通信链路;

步骤5、源节点/中间节点进入数据发送/接收过程;

步骤6、重复以上步骤2至步骤5,直至数据包成功从源节点传递到目的节点。

3.如权利要求2所述的路由优化方法,其特征在于:所述步骤2中,各节点广播Hello消息并建立路由表的过程如下:步骤2.1、各节点周期性广播包含本节点坐标、移动速度、节点运动方向、接收到的节点ID及对应的信号强度等字段的Hello消息;

步骤2.2、各节点同时接收周围节点广播的Hello消息;然后根据接收到的Hello消息建立并维护路由表;

步骤2.3、路由表建立完成后,各节点周期性发送及接收Hello消息,并根据最新接收的Hello消息更新及维护路由表。

4.如权利要求2或3所述的路由优化方法,其特征在于:所述步骤4中,建立从源节点/中间节点到DCN节点的通信链路的过程如下:步骤4.1、当源节点/中间节点需要向目的节点发送数据包时,节点首先从路由表中寻找是否包含目的节点;若路由表中包含目的节点,则直接广播一条指向目的节点的RREQ;若不包含目的节点,则广播一条指向最优DCN节点的RREQ消息;

步骤4.2、节点收到指向自己的RREQ消息后,首先判断本节点的状态,若节点处于空闲状态,则向源节点/中间节点回复一个RREP消息;

其中,所述空闲状态是指该节点先前没有接收到别的节点发来的指向本节点的RREQ消息,且本节点当前不需要向别的节点发送数据包;

步骤4.3、源节点/中间节点收到对应节点回复的RREP消息后,此时两节点之间链路建立完成。

5.如权利要求2或3所述的路由优化方法,其特征在于:所述步骤5中,源节点/中间节点进入数据发送/接收过程如下:步骤5.1、链路建立完成后,源节点/中间节点开始发送包含指向DCN节点的数据包,同时DCN节点则开始接收数据包;

步骤5.2、DCN节点开始接收数据包后,DCN节点根据数据包目的节点与本节点路由表中DCN节点的关系广播一条RREQ消息;

步骤5.3、同时,数据包接收过程中,DCN节点实时监测链路状态;

其中,DCN节点实时监测链路状态包括:

步骤5.4、若数据接收正常,则继续监测链路状态直到数据传输完成;若数据接收过程中链路失效,则DCN节点再次广播一条RREP消息;源节点/中间节点接收到DCN节点再次发来的RREP消息后,重新开始发送数据包;

步骤5.5、若DCN节点广播的RREP消息次数超过3次,则广播一条路由错误消息向上游节点请求路由删除;源节点/中间节点收到DCN节点发来的RRER消息后,把该DCN节点从路由表中删除;然后重复步骤3 5;

~

步骤5.6、若数据包成功从源节点/中间节点向DCN节点传输完成,则DCN节点充当新的中间节点并从步骤2开始进入路由建立过程。

说明书 :

一种用于车联网的路由优化系统及方法

技术领域

[0001] 本发明属于车联网路由技术领域,尤其涉及一种车联网背景下的路由优化系统及方法。

背景技术

[0002] 车联网是物联网在汽车中的应用形成的通信网络,它是能够实现车与车、车与人、车与路、人与人通信的一种新型网络。车联网作为一种新型的通信网络,其具有节点移动速度快、节点移动方向可预测、实时坐标及速度可知、密度变化大、覆盖面积大等特点。
[0003] 车联网作为一种新型的通信网络,其诸多特点使该网络类似于移动Ad Hoc网络,但又具有其自身的特点。因此,针对传统移动Ad Hoc的路由协议并不完全适用于车联网通信。移动Ad Hoc网络是复杂的分布式网络系统,是自组织、自愈网络,由无线移动节点组成。无线移动节点可以自由而动态地自组织成任意临时性“Ad Hoc”网络拓扑,从而允许人们在没有预先存在的通信基础设施的环境中进行无缝地互联互通。移动无线自组网的路由算法可分为表驱动型(如:OLSR、DSDV、、CEDAR)和按需路由型(如:AODV、DSR、ABR)。其中,根据MANET的要求,在传统的LS(Link state)协议的基础上优化发展而来的OLSR(Optimized Link State Routing)协议是一种表格驱动、主动式路由协议。该协议有规律地与网络中其他节点交换拓扑信息。其关键概念是多点转播(Multipoint relaying,MPRs),该协议利用在广播洪泛的过程中挑选的转发广播的节点来减少网络中洪泛的控制信息。另外,AODV(Ad hoc On-demand Distance Vector Routing)是一种按需路由协议,其以多播的形式发出路由请求(Route Request,RREQ)报文来寻找目标节点。AODV路由协议能够防止路由环路、能够快速阔的路由,是Ad Hoc网络中按需生成路由方式的典型协议。
[0004] 但是OLSR协议与AODV协议均不能满足车联网背景下综合考虑发送端发送功率、接收节点接收到的信号强度、时延、跳数、节点移动速度、数据传输方向等不同的情况下最优节点可能发生变化的情况等因素的要求。为综合考虑演示、带宽、跳数等因素,王超等人在专利《一种车联网中基于蚁群算法的QoS容错路由选择方法》中使用带宽、跳数和时延等指标来计算从源节点到目的节点之间多条不相交路径的通信质量,从而对路由进行选择。为综合考虑带宽、时延、跳数、优先级和节点移动速度等因素,万晓榆等人在专利《一种基于QoS的Ad Hoc网络自适应节点速度的多路径路由方法》中通过增加节点可用带宽、当前路由时延、跳数和优先级等四个约束条件,利用节点移动速度的域值和节点停留时间值的组合状态判断节点的有效性情况,采用按需过滤法进行判断和选择多路径路由,从而使所选路由具有一定的QoS保障。该方法减小了路由失效的几率,降低了整体网络的路由开销,大大提高了网络资源的利用率。但是以上专利仍不能满足车联网背景下需综合考虑发送端发送功率、接收节点接收到的信号强度、时延、跳数、节点移动速度、数据传输方向等不同的情况下最优节点可能发生变化的情况等因素的要求。

发明内容

[0005] 为了克服现有路由方式由于尚未综合考虑发送端发送功率、接收节点接收到的信号强度、时延、跳数、节点移动速度、数据传输方向等不同的情况下最优节点可能发生变化的情况导致已有路由方式不适用于车联网环境的问题,本发明提供一种综合考虑信号强度、时延、跳数、节点移动速度、数据传输方向等不同的情况下最优节点不同的优化路由选择的路由系统及方法。
[0006] 本发明解决的技术问题所采用的技术方案是:
[0007] 一种用于车联网的路由优化系统,所述路由优化系统包括初始化设置模块、建立路由表模块、期望排序模块、建立链路模块和发送/接收数据包模块。
[0008] 所述初始化设置模块,用于节点最大通信距离设置、发送功率设置、f值设置、k值设置;其中,f表示数据传输方向;f取值为{0,1};k值为预设值,其值的大小可变;该值的取定主要与预定最佳通信节点有关;
[0009] 所述建立路由表模块,用于各节点周期性的广播/接收Hello消息,同时根据接收的Hello消息建立并维护路由表;
[0010] 所述期望排序模块,用于各节点根据路由表中的信息计算各直接通信节点(Directly communicate Node,DCNs)的期望值,然后根据期望公式计算得出的各DCNs节点的期望值大小,并对各DCNs节点按期望值从大到小重新排序;
[0011] 所述建立链路模块,用于当源节点/中间节点需要发送数据时,源节点/中间节点首先广播一条指向DCN节点的RREQ消息,然后等待接收DCN节点的路由请求回应(Routing request response,RREP)消息;当DCN节点收到源节点/中间节点的RREQ消息时,DCN节点根据自身状态向源节点/中间节点回复一条指向源节点/中间节点的RREP消息以完成链路建立过程;
[0012] 所述发送/接收数据包模块,用于当链路建立完成后,源节点/中间节点开始向DCN节点发送数据包;DCN节点则开始接收数据包,同时DCN节点时刻监测链路状态。
[0013] 一种用于车联网的路由优化方法,所述路由优化方法包括如下步骤:
[0014] 步骤1:各节点对本节点进行初始化设置,所述初始化设置包括读取节点最大通信距离、读取默认发送功率、设置f值为0、根据默认最佳通信距离设置k值;
[0015] 步骤2:各节点广播Hello消息并建立路由表,过程如下:
[0016] 步骤2.1、各节点周期性广播包含本节点坐标、移动速度、节点运动方向、接收到的节点ID及对应的信号强度等字段的Hello消息;
[0017] 步骤2.2、各节点同时接收周围节点广播的Hello消息;然后根据接收到的Hello消息建立并维护路由表;
[0018] 其中,所述Hello消息格式如表1:
[0019]
[0020]
[0021] 表1
[0022] 其中,设定路由表格式如表2:
[0023]
[0024] 表2
[0025] 步骤2.3、路由表建立完成后,各节点周期性发送及接收Hello消息,并根据最新接收的Hello消息更新及维护路由表;
[0026] 步骤3:各节点对路由表中的节点进行期望值计算并排序,过程如下:
[0027] 步骤3.1、各节点根据路由表中的信息,结合本节点设置的初始条件,依据期望公式依次计算各节点期望值;
[0028] 其中,期望公式如下:
[0029]
[0030] (1)式中:S为信源信号强度,N为DCN节点收到本节点信号的信号强度,L为信源最大通信距离,X为链路两节点之间的距离,Vs为源节点移动速度,VN为DCN节点移动速度;
[0031] (1)式中,S与N的关系式为:
[0032] N=S-β0-β1*lg X   (2)
[0033] (2)式中,S为信源信号强度,N为DCN节点收到本节点信号的信号强度,β0、β1表示衰减系数,X为信源与DCN节点的距离;
[0034] 步骤3.2、其中,当数据传输方向与源节点移动速度方向相同时,f取0;当数据传输方向与源节点移动速度方向相反时,f取1;
[0035] 步骤3.3、得出各节点期望值后,对路由表中各节点按照期望值大小从大到小重新排序;
[0036] 步骤4:建立从源节点/中间节点到DCN节点的通信链路,过程如下:
[0037] 步骤4.1、当源节点/中间节点需要向目的节点发送数据包时,节点首先从路由表中寻找是否包含目的节点;若路由表中包含目的节点,则直接广播一条指向目的节点的RREQ消息;若不包含目的节点,则广播一条指向最优DCN节点的RREQ消息;
[0038] 其中,RREQ消息格式如表3:
[0039]
[0040] 表3
[0041] 步骤4.2、节点收到指向自己的RREQ消息后,首先判断本节点的状态,若节点处于空闲状态,则向源节点/中间节点回复一个RREP消息;
[0042] 其中,所述空闲状态是指该节点先前没有接收到别的节点发来的指向本节点的RREQ消息,且本节点当前不需要向别的节点发送数据包;
[0043] 步骤4.3、源节点/中间节点收到对应节点回复的RREP消息后,此时两节点之间链路建立完成;
[0044] 其中,RREP消息格式如表4:
[0045]
[0046] 表4
[0047] 步骤5:源节点/中间节点进入数据发送/接收过程,过程如下:
[0048] 步骤5.1、链路建立完成后,源节点/中间节点开始发送包含指向DCN节点的数据包,同时DCN节点则开始接收数据包;
[0049] 其中,数据包格式如表5:
[0050]
[0051]
[0052] 表5
[0053] 步骤5.2、DCN节点开始接收数据包后,DCN节点根据数据包目的节点与本节点路由表中DCNs节点的关系广播一条RREQ消息;
[0054] 步骤5.3、同时,数据包接收过程中,DCN节点实时监测链路状态;
[0055] 其中,DCN节点实时监测链路状态包括:
[0056] 步骤5.4、若数据接收正常,则继续监测链路状态直到数据传输完成;若数据接收过程中链路失效,则DCN节点再次广播一条RREP消息;源节点/中间节点接收到DCN节点再次发来的RREP消息后,重新开始发送数据包;
[0057] 步骤5.5、若DCN节点广播的RREP消息次数超过3次,则广播一条路由错误(Routing error,RRER)消息向上游节点请求路由删除;源节点/中间节点收到DCN节点发来的RRER消息后,把该DCN节点从路由表中删除;然后重复步骤3~步骤5;
[0058] 其中,RREP消息的格式如表6:
[0059]
[0060] 表6
[0061] 步骤5.6、若数据包成功从源节点/中间节点向DCN节点传输完成,则DCN节点充当新的中间节点并从步骤2开始进入路由建立过程;
[0062] 步骤6:重复以上步骤2至步骤5,直至数据包成功从源节点传递到目的节点。
[0063] 本发明的技术构思为:通过在期望公式引入本节点移动速度以及DCN节点的移动速度的比值以及以(-1)f为指数来解决移动速度对最优节点的选择的影响以及数据传输方向与移动方向不同的情况下最优通信节点可能发生变化的问题;在期望公式中引入数据发送节点的发送信号功率以及DCN节点接收到的信号强度的比值来解决不同节点最大通信距离不同的情况使DCN节点接收到的信号强度不同从而对最优DCN节点不同的问题;通过预设定的k值来设定默认的最佳通信节点距离;同时,通过对整条通信链路中各个通信节点进行选择,从而使整条通信链路达到加权最优状态;
[0064] 本发明与现有车联网路由算法相比具有的优势表现在:克服了数据传输方向不同的情况下选择的最优节点不同的问题,同时综合考虑了发送端发送功率、接收节点接收到的信号强度、时延、跳数、节点移动速度及数据传输方向不同的情况下最优节点可能发生变化等因素,使通信链路在各个通信节点均进行加权最优选择,从而使该路由算法更适合数据包在实际车联网环境下传递。

附图说明

[0065] 图1为一种用于车联网的路由优化系统的示意图。
[0066] 图2为一种用于车联网的路由优化方法流程图。
[0067] 图3为期望值随节点间距变化的仿真结果图。

具体实施方式

[0068] 下面结合附图对本发明作进一步描述。
[0069] 参照图1~图3,一种用于车联网的路由优化系统,所述路由优化系统包括初始化设置模块、建立路由表模块、期望排序模块、建立链路模块和发送/接收数据包模块。
[0070] 所述初始化设置模块,用于节点最大通信距离设置、发送功率设置、f值设置、k值设置;其中,f表示数据传输方向;f取值为{0,1};k值为预设值,其值的大小可变;该值的取定主要与预定最佳通信节点有关;
[0071] 所述建立路由表模块,用于各节点周期性的广播/接收Hello消息,同时根据接收的Hello消息建立并维护路由表;
[0072] 所述期望排序模块,用于各节点根据路由表中的信息计算各直接通信节点(Directly communicate Node,DCNs)的期望值,然后根据期望公式计算得出的各DCNs节点的期望值大小,并对各DCNs节点按期望值从大到小重新排序;
[0073] 所述建立链路模块,用于当源节点/中间节点需要发送数据时,源节点/中间节点首先广播一条指向DCN节点的RREQ消息,然后等待接收DCN节点的路由请求回应(Routing request response,RREP)消息;当DCN节点收到源节点/中间节点的RREQ消息时,DCN节点根据自身状态向源节点/中间节点回复一条指向源节点/中间节点的RREP消息以完成链路建立过程;
[0074] 所述发送/接收数据包模块,用于当链路建立完成后,源节点/中间节点开始向DCN节点发送数据包;DCN节点则开始接收数据包,同时DCN节点时刻监测链路状态。
[0075] 一种用于车联网的路由优化方法,所述路由优化方法包括如下步骤:
[0076] 步骤1:各节点对本节点进行初始化设置,所述初始化设置包括读取节点最大通信距离、读取默认发送功率、设置f值为0、根据默认最佳通信距离设置k值;
[0077] 步骤2:各节点广播Hello消息并建立路由表,过程如下:
[0078] 步骤2.1、各节点周期性广播包含本节点坐标、移动速度、节点运动方向、接收到的节点ID及对应的信号强度等字段的Hello消息;
[0079] 步骤2.2、各节点同时接收周围节点广播的Hello消息;然后根据接收到的Hello消息建立并维护路由表;
[0080] 其中,所述Hello消息格式如表1:
[0081]
[0082] 表1
[0083] 其中,设定路由表格式如表2:
[0084]
[0085]
[0086] 表2
[0087] 步骤2.3、路由表建立完成后,各节点周期性发送及接收Hello消息,并根据最新接收的Hello消息更新及维护路由表;
[0088] 步骤3:各节点对路由表中的节点进行期望值计算并排序,过程如下:
[0089] 步骤3.1、各节点根据路由表中的信息,结合本节点设置的初始条件,依据期望公式依次计算各节点期望值;
[0090] 其中,期望公式如下:
[0091]
[0092] (1)式中:S为信源信号强度,N为DCN节点收到本节点信号的信号强度,L为信源最大通信距离,X为链路两节点之间的距离,Vs为源节点移动速度,VN为DCN节点移动速度;
[0093] (1)式中,S与N的关系式为:
[0094] N=S-β0-β1*lg X   (2)
[0095] (2)式中,S为信源信号强度,N为DCN节点收到本节点信号的信号强度,β0、β1表示衰减系数,X为信源与DCN节点的距离;
[0096] 步骤3.2、其中,当数据传输方向与源节点移动速度方向相同时,f取0;当数据传输方向与源节点移动速度方向相反时,f取1;
[0097] 步骤3.3、得出各节点期望值后,对路由表中各节点按照期望值大小从大到小重新排序;
[0098] 步骤4:建立从源节点/中间节点到DCN节点的通信链路,过程如下:
[0099] 步骤4.1、当源节点/中间节点需要向目的节点发送数据包时,节点首先从路由表中寻找是否包含目的节点;若路由表中包含目的节点,则直接广播一条指向目的节点的RREQ;若不包含目的节点,则广播一条指向最优DCN节点的RREQ消息;
[0100] 其中,RREQ消息格式如表3:
[0101]
[0102] 表3
[0103] 步骤4.2、节点收到指向自己的RREQ消息后,首先判断本节点的状态,若节点处于空闲状态,则向源节点/中间节点回复一个RREP消息;
[0104] 其中,所述空闲状态是指该节点先前没有接收到别的节点发来的指向本节点的RREQ消息,且本节点当前不需要向别的节点发送数据包;
[0105] 步骤4.3、源节点/中间节点收到对应节点回复的RREP消息后,此时两节点之间链路建立完成;
[0106] 其中,RREP消息格式如表4:
[0107]
[0108] 表4
[0109] 步骤5:源节点/中间节点进入数据发送/接收过程,过程如下:
[0110] 步骤5.1、链路建立完成后,源节点/中间节点开始发送包含指向DCN节点的数据包,同时DCN节点则开始接收数据包;
[0111] 其中,数据包格式如表5:
[0112]
[0113] 表5
[0114] 步骤5.2、DCN节点开始接收数据包后,DCN节点根据数据包目的节点与本节点路由表中DCNs节点的关系广播一条RREQ消息;
[0115] 步骤5.3、同时,数据包接收过程中,DCN节点实时监测链路状态;
[0116] 其中,DCN节点实时监测链路状态包括:
[0117] 步骤5.4、若数据接收正常,则继续监测链路状态直到数据传输完成;若数据接收过程中链路失效,则DCN节点再次广播一条RREP消息;源节点/中间节点接收到DCN节点再次发来的RREP消息后,重新开始发送数据包;
[0118] 步骤5.5、若DCN节点广播的RREP消息次数超过3次,则广播一条路由错误(Routing error,RRER)消息向上游节点请求路由删除;源节点/中间节点收到DCN节点发来的RRER消息后,把该DCN节点从路由表中删除;然后重复步骤3~步骤5;
[0119] 其中,RREP消息的格式如表6:
[0120]
[0121] 表6
[0122] 步骤5.6、若数据包成功从源节点/中间节点向DCN节点传输完成,则DCN节点充当新的中间节点并从步骤2开始进入路由建立过程;
[0123] 步骤6:重复以上步骤2至步骤5,直至数据包成功从源节点传递到目的节点。
[0124] 结合图2,本优化路由选择的路由方法流程如下所示:
[0125] (1)节点初始化设置TQ=1、Next=0,转到(2);
[0126] (2)各节点广播Hello消息,转到(3);
[0127] (3)节点判断是否接收到Hello消息或DCN节点集非空,若未接收到Hello消息且DCN节点集为空,则转到(2),否则转到(4);
[0128] (4)建立DCN节点路由表并根据期望公式排序,转到(5);
[0129] (5)判断是否需要传输数据,若不需要传输数据,则进入(6),否则进入(15);
[0130] (6)判断是否接收到RREQ,若未接收到RREQ,则进入(2),否则进入(7);
[0131] (7)设置TP=1,转到(8);
[0132] (8)广播RREP,转到(9);
[0133] (9)判断是否开始接收到数据包,若开始接收数据包,则进入(13),否则进入(8);
[0134] (10)判断TP是否小于3,若是,则进入(11),否则进入(12);
[0135] (11)令TP=TP+1,转到(8);
[0136] (12)发送RRER,转到(6);
[0137] (13)检测链路是否断开,若链路断开,则进入(10),否则进入(14);
[0138] (14)判断数据包目的节点是否为本节点同时等待数据接收完成,若是且数据接收完成,则转到(1),若不是目的节点则等待数据接收完成后转到(18);
[0139] (15)判断TQ是否小于3,若是,则转到(18),否则转到(16);
[0140] (16)设置TQ=1,Next=Next+1,转到(17);
[0141] (17)判断Next是否小于等于Nextmax,若是则转到(18),否则转到(1);
[0142] (18)广播RREQ,转到(19);
[0143] (19)判断是否收到RREP,若是,则转到(21),否则转到(20);
[0144] (20)令TQ=TQ+1,转到(15);
[0145] (21)令TB=1,转到(22);
[0146] (22)开始发送数据包,转到(23);
[0147] (23)检测链路是否断开,若链路断开,则转到(24),否则转到(26);
[0148] (24)判断TB是否小于3,若是,则转到(25),否则转到(16);
[0149] (25)令TB=TB+1,转到(22);
[0150] (26)等待数据发送完成,转到(1)。
[0151] 我们使用matlab对本路由优化算法进行了仿真分析。
[0152] 1)仿真条件
[0153] 设定源节点最大通信距离为200米,发射功率为20W,k值取1,源节点及DCN节点移动速度均为20m/s,f值取0,衰减系数β0为0.6,衰减系数β1为8.43。通信节点范围为2~200米。
[0154] 仿真配置参数如表7所示。
[0155]
[0156] 表7
[0157] 2)仿真结果
[0158] 图3是在2~200米的通信范围内不同通信距离下DCN节点对应的期望值。
[0159] 其中,横坐标为通信链路中两节点间的距离,纵坐标为期望值。从图3中可以看出,当节点间距较小时,期望值较小。这是因为当节点间距太小时,过大的单位跳数可能导致时延较大,故不宜作为最佳DCN节点;当节点间距较大时,期望值也较小。这是因为当节点间距接近最大通信距离时,容易造成通信链路断开,故也不宜做为最佳DCN节点。故处于中间的节点的期望值较大。从图3中可以看出,当节点间距为140米时,DCN节点的期望值最大。
[0160] 图3表明,本路由选择算法能够综合考虑时延、跳数、发射端信号强度、接收端接收到的信号强度、节点移动速度及数据传输方向等因素来选择最佳路由。
[0161] 本发明通过综合考虑发送节点的发送功率、接收节点接收到的信号强度、时延、跳数、节点移动速度、数据传输方向等因素来对整条通信链路中各个节点选择进行选择,从而使整条通信链路的通信质量达到加权最优。