一种可靠的无线网络路由通信实现方法转让专利

申请号 : CN201710750110.3

文献号 : CN107360613B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓喃

申请人 : 常熟理工学院

摘要 :

本发明公开了一种可靠的无线网络路由通信实现方法,所述无线网络包括接入节点和移动设备;一个接入节点与互联网相连,移动设备分为两类:连通移动设备和孤立移动设备;互相连通的接入节点以及所有与这些接入节点通过单跳或者多跳转发能够实现通信的连通移动设备构成一个子网。移动设备通过单播地址和本地地址实现通信。本发明中,移动设备维护一个接入节点表,接入节点维护一个移动设备表,移动节点首先建立接入节点表,同时接入节点建立移动设备表,基于接入节点表和移动设备表,移动设备实现了移动切换操作,以及子网内和子网间的通信从而有效降低了获取服务数据的延迟和丢包率,提高了服务质量。

权利要求 :

1.一种可靠的无线网络路由通信实现方法,其特征在于,所述无线网络包括接入节点和移动设备;一个接入节点与互联网相连,移动设备分为两类:连通移动设备和孤立移动设备;如果一个移动设备通过单跳或者多跳转发能够实现与一个接入节点的通信,则将该移动设备表示为连通移动设备;如果一个移动设备通过单跳或者多跳转发无法实现与任一个接入节点的通信,则将该移动设备称表示为孤立移动设备;

如果一个接入节点通过移动设备的单跳或者多跳转发能够实现与另一个接入节点的通信,这将两个接入节点表示为互相连通的接入节点;

互相连通的接入节点以及所有与这些接入节点通过单跳或者多跳转发能够实现通信的连通移动设备构成一个子网;一个接入节点只属于一个子网,每个接入节点的地理坐标具有唯一性;

移动设备通过单播地址和本地地址实现通信;单播地址由四个部分构成,第一部分为全局路由前缀,第二部分为接入节点ID,第三部分为设备ID,第四部分为单播标识;单播地址的单播标识为1,本地地址的单播标识为0;全局路由前缀唯一标识一个子网,接入节点ID为接入节点的地理坐标,唯一标识一个接入节点;设备ID唯一标识一个移动设备;接入节点的单播地址的设备ID为0;

移动设备注册后,被分配一个家乡地址,该家乡地址类型为单播地址;如果一个接入节点的全局路由前缀和接入节点ID与一个移动设备的家乡地址的全局路由前缀和接入节点ID相同,则该接入节点称为移动设备的家乡接入节点;

本地地址由四个部分构成,第一部分为地理坐标,第二部分为接入节点ID,第三部分为硬件ID,第四部分为单播标识;单播地址的单播标识为1,本地地址的单播标识为0;地理坐标为移动设备当前的地理坐标,接入节点ID为接入节点的地理坐标;硬件ID为移动设备或者接入节点的硬件ID,硬件ID为MAC地址;接入节点的本地地址中,地理坐标域值为0,设备ID值为硬件ID;

移动设备保存一个接入节点表,用于记录连通的接入节点信息;每个接入节点表项包含本地地址域值和生命周期域值;如果一个接入节点表项的生命周期衰减为0,则该接入节点表项被删除;如果在一个子网中存在多个接入节点,那么具有最小硬件ID的接入节点称为主接入节点,其他接入节点称为普通接入节点;

接入节点启动后,将自己标记为主接入节点并开始定期广播信标消息,信标消息的负载为一个随机数,源地址为该接入节点的本地地址;在接入节点的本地地址中,地理坐标为

0,接入节点ID为该接入节点的地理坐标;

接入节点AP1广播信标消息后,移动设备通过下述过程建立接入节点表:

步骤101:开始;

步骤102:如果接入节点第一次接收到接入节点AP1的信标消息,则执行步骤103,否则执行步骤105;

步骤103:接收到信标消息的接入节点比较自己与接入节点AP1的硬件ID值,即信标消息源地址的硬件ID值,如果接入节点AP1的硬件ID值更小,则接收到信标消息的接入节点将接入节点AP1标记为主接入节点,将自己标记为普通接入节点;

步骤104:接收到信标消息的接入节点转发接收到的信标消息,执行步骤102;

步骤105:如果移动设备第一次接收到接入节点AP1的信标消息,则执行步骤106,否则执行步骤108;

步骤106:接收到接入节点AP1的信标消息的移动设备查看自己的接入节点表,如果不存在本地地址域值等于接收到的信标消息的源地址的接入节点表项,该移动设备则创建一个接入节点表项,该接入节点表项的本地地址域值为信标消息的源地址,生命周期域值为最大生命周期值;

步骤107:接收到接入节点AP1的信标消息的移动设备转发接收到的信标消息,执行步骤102;

步骤108:接收到接入节点AP1的信标消息的移动设备或者接入节点丢弃接收到的信标消息;

步骤109:结束;

接入节点保存一个移动设备表,用于记录连通的移动设备信息;一个移动设备表项包含本地地址域值,家乡地址域值,移动标识和生命周期;如果一个移动设备表项的生命周期衰减为0,则该移动设备表项被删除;

移动设备启动后,开始定期广播信标消息,信标消息的负载为一个随机数和该移动设备的家乡地址,源地址为该接入节点的本地地址;在移动设备的本地地址中,地理坐标为该移动设备的当前地理坐标,接入节点ID为0,硬件ID为该移动设备的硬件ID;

移动设备MD1广播信标消息后,接入节点通过下述过程建立移动设备表:

步骤201:开始;

步骤202:如果移动设备第一次接收到移动设备MD1广播的信标消息,则执行步骤203,否则执行步骤204;

步骤203:接收到信标消息的移动设备转发接收到的信标消息,执行步骤202;

步骤204:如果接入节点第一次接收到移动设备MD1广播的信标消息,则执行步骤205,否则执行步骤207;

步骤205:接收到信标消息的接入节点查看自己的移动设备表,如果存在家乡地址域值等于接收到的信标消息负载中的家乡地址的移动设备表项,该接入节点则将该移动设备表项的本地地址域值设置为接收到的信标消息的源地址,将生存时间设置为最大值;如果不存在家乡地址域值等于接收到的信标消息负载中的家乡地址的移动设备表项,该接入节点则构建一个本地地址,该本地地址的地理坐标域值和硬件ID域值等于接收到的信标消息的源地址的地理坐标值和硬件ID值,接入节点ID等于自己的接入节点ID值;该接入节点创建一个移动设备表项,该移动设备表项的本地地址域值为创建的本地地址,家乡地址域值为接收到的信标消息中的家乡地址,生命周期域值为最大生命周期值,移动标识设置为0;

步骤206:接收到信标消息的接入节点转发接收到的信标消息,执行步骤202;

步骤207:接收到移动设备MD1的信标消息的移动设备或者接入节点丢弃接收到的信标消息;

步骤208:结束;

接入节点维护一个地址映射表,每个地址映射表项包含家乡地址域和转交地址域;每个主接入节点定期执行移动切换操作;主接入节点AP3通过下述过程完成移动设备的移动切换操作:步骤301:开始;

步骤302:接入节点AP3查看移动设备表,选择所有移动标识为0的移动设备表项,将这些移动设备表项分成组,每个组满足条件1;接入节点AP3对于每个组G进行下述操作:如果该组满足条件2,则执行步骤303,否则执行步骤304;

条件1:每个组的所有移动设备表项的家乡地址域值具有相同的全局路由前缀和接入节点ID;

条件2:组中所有移动设备表项的家乡地址的全局路由前缀和接入节点ID等于接入节点AP3的单播地址的全局路由前缀和接入节点ID;

步骤303:对于组G中的每个移动设备表项,接入节点AP3执行下述操作:查看地址映射表中家乡地址等于该移动设备表项中的家乡地址的地址映射表项,将该地址映射表项中的转交地址域值设置为该地址映射表项中的家乡地址域值,执行步骤306;

步骤304:接入节点AP3构建一个单播地址,该单播地址的全局网络前缀和接入节点ID等于组G中的所有移动设备表项的家乡地址的全局路由前缀和接入节点ID;接入节点AP3发送一个移动消息,该消息的源地址为接入节点AP3的单播地址,目的地址为构建的单播地址,负载为组G中所有的移动设备表项;

步骤305:目的接入节点接收到移动消息后,对于移动消息中的每个移动设备表项E进行如下操作:目的接入节点构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于移动消息源地址的全局路由前缀和接入节点ID,设备ID等于移动设备表项E中的家乡地址的设备ID,目的接入节点查找地址映射表,选择家乡地址等于移动设备表项E中的家乡地址的地址映射表项,将该地址映射表项的转交地址设置为构建的单播地址;

步骤306:结束;

在移动设备MD1和MD2位于子网S1中,移动设备MD2的家乡地址为HA2的条件下,移动设备MD1通过下述过程实现与移动设备MD2的通信:步骤401:开始;

步骤402:移动设备MD1构建一个请求消息,该请求消息的负载为一个随机数,目的地址为HA2,源地址为移动设备MD1的本地地址,在移动设备MD1的本地地址中,接入节点ID为0,地理坐标为移动设备MD1当前的地理坐标,设备ID为移动设备MD1的硬件ID;

步骤403:如果移动设备MD2接收到请求消息,则执行步骤409,否则执行步骤404;

步骤404:如果接入节点接收到请求消息,执行步骤406,否则执行步骤405;

步骤405:构建或者接收到请求消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,将接收到的请求消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤403;

步骤406:接收到请求消息的接入节点查看移动设备表并选择本地地址域值的硬件ID等于请求消息的目的地址的设备ID的移动设备表项,该接入节点将接收到的请求消息的目的地址设置为该移动设备表项的本地地址域值;将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备;

步骤407:如果移动设备MD2接收到请求消息,则执行步骤409,否则执行步骤408;

步骤408:接收到请求消息的移动设备将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤407;

步骤409:移动设备MD2收到请求消息后,构建一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;

步骤410:如果移动设备MD1接收到响应消息,则执行步骤412,否则执行步骤411;

步骤411:接收到响应消息的移动设备将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤410;

步骤412:移动设备MD1保存响应消息中的响应数据;

步骤413:结束;

在移动设备MD1位于子网S1中,移动设备MD3位于子网S3中,移动设备MD3的家乡地址为HA3的条件下,移动设备MD1通过下述过程实现与移动设备MD3的通信:步骤501:开始;

步骤502:移动设备MD1构建一个请求消息,该请求消息的负载为一个随机数,目的地址为HA3,源地址为移动设备MD1的本地地址,在移动设备MD1的本地地址中,接入节点ID为0,地理坐标为移动设备MD1当前的地理坐标,设备ID为移动设备MD1的硬件ID;

步骤503:如果接入节点接收到请求消息,执行步骤505,否则执行步骤504;

步骤504:构建或者接收到请求消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,将接收到的请求消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤503;

步骤505:接收到请求消息的接入节点为移动设备MD1构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于该接入节点的全局路由前缀和接入节点ID,设备ID等于该请求消息的源地址的硬件ID,将接收到的请求消息的目的地址设置为构建的单播地址,发送该请求消息;

步骤506:该请求消息通过互联网最终到达目的接入节点,目的接入节点的单播地址的全局路由前缀和接入节点ID等于该请求消息的目的地址的全局路由前缀和接入节点ID,目的接入节点查看地址映射表,如果存在家乡地址域值等于请求消息的目的地址的地址映射表项,则执行步骤507,否则执行步骤508;

步骤507:目的接入节点将请求消息的目的地址设置为该地址映射表项的转交地址域值;如果该地址映射表项的转交地址的全局路由前缀和接入节点ID与目的接入节点的全局路由前缀和接入节点ID不同,目的接入节点则发送该请求消息,执行步骤506;

步骤508:目的接入节点查看移动设备表,选择家乡地址的设备ID等于接收到的请求消息的目的地址的设备ID的移动设备表项,将该请求消息的目的地址设置为该移动设备表项的本地地址域值,将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备;

步骤509:如果移动设备MD3接收到请求消息,则执行步骤511,否则执行步骤510;

步骤510:接收到请求消息的移动设备将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤509;

步骤511:移动设备MD3收到请求消息后,构建一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;

步骤512:如果接入节点接收到响应消息,执行步骤514,否则执行步骤513;

步骤513:构建或者接收到响应消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,然后将接收到的响应消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤512;

步骤514:接收到响应消息的接入节点为移动设备MD3构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于该接入节点的全局路由前缀和接入节点ID,设备ID等于该响应消息的源地址的硬件ID,将接收到的响应消息的源地址设置为构建的单播地址,发送该响应消息;

步骤515:该响应消息通过互联网最终到达目的接入节点,目的接入节点的单播地址的全局路由前缀和接入节点ID等于该响应消息的目的地址的全局路由前缀和接入节点ID,目的接入节点查看移动设备表,选择家乡地址的设备ID等于接收到的响应消息的目的地址的设备ID的移动设备表项,将该响应消息的目的地址设置为该移动设备表项的本地地址域值,将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;

步骤516:如果移动设备MD1接收到响应消息,则执行步骤518,否则执行步骤517;

步骤517:接收到响应消息的移动设备将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤516;

步骤518:移动设备MD1保存响应消息中的响应数据;

步骤519:结束;

如果移动设备MD4为孤立移动设备,移动设备MD5位于子网S1中,那么移动设备MD4直到变为连通移动设备之后实现与移动设备MD5的通信。

说明书 :

一种可靠的无线网络路由通信实现方法

技术领域

[0001] 本发明涉及一种路由通信实现方法,尤其涉及的是一种可靠的无线网络路由通信实现方法。

背景技术

[0002] 近年来,很多研究工作致力于无线网络数据通信方法,以便使移动节点能够快速获取网络服务。随着无线网络技术的发展,无线网络数据通信方法会成为未来提供服务的一种模式。
[0003] 目前,无线网络数据通信的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低无线网络提供服务的延迟和代价成为近年来研究的热点问题。

发明内容

[0004] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种可靠的无线网络路由通信实现方法。本发明能够确保移动设备获取数据,同时有效降低了数据通信延迟和丢包率,从而有效提高网络服务性能。
[0005] 技术方案:本发明公开了一种可靠的无线网络路由通信实现方法,所述无线网络包括接入节点和移动设备;一个接入节点与互联网相连,移动设备分为两类:连通移动设备和孤立移动设备;如果一个移动设备通过单跳或者多跳转发能够实现与一个接入节点的通信,则将该移动设备表示为连通移动设备;如果一个移动设备通过单跳或者多跳转发无法实现与任一个接入节点的通信,则将该移动设备称表示为孤立移动设备;
[0006] 如果一个接入节点通过移动设备的单跳或者多跳转发能够实现与另一个接入节点的通信,这将两个接入节点表示为互相连通的接入节点;
[0007] 互相连通的接入节点以及所有与这些接入节点通过单跳或者多跳转发能够实现通信的连通移动设备构成一个子网;一个接入节点只属于一个子网,每个接入节点的地理坐标具有唯一性;
[0008] 移动设备通过单播地址和本地地址实现通信;单播地址由四个部分构成,第一部分为全局路由前缀,第二部分为接入节点ID,第三部分为设备ID,第四部分为单播标识;单播地址的单播标识为1,本地地址的单播标识为0;全局路由前缀唯一标识一个子网,接入节点ID为接入节点的地理坐标,唯一标识一个接入节点;设备ID唯一标识一个移动设备,其值可以是电话号码或者硬件ID;接入节点的单播地址的设备ID为0;
[0009] 移动设备注册后,所述的注册机构可以为官方机构,被分配一个家乡地址,该家乡地址类型为单播地址;如果一个接入节点的全局路由前缀和接入节点ID与一个移动设备的家乡地址的全局路由前缀和接入节点ID相同,则该接入节点称为移动设备的家乡接入节点;
[0010] 本地地址由四个部分构成,第一部分为地理坐标,第二部分为接入节点ID,第三部分为硬件ID,第四部分为单播标识;单播地址的单播标识为1,本地地址的单播标识为0;地理坐标为移动设备当前的地理坐标,接入节点ID为接入节点的地理坐标;硬件ID为移动设备或者接入节点的硬件ID,例如MAC地址;接入节点的本地地址中,地理坐标域值为0,设备ID值为硬件ID;
[0011] 移动设备保存一个接入节点表,用于记录连通的接入节点信息;每个接入节点表项包含本地地址域值和生命周期域值;如果一个接入节点表项的生命周期衰减为0,则该接入节点表项被删除;如果在一个子网中存在多个接入节点,那么具有最小硬件ID的接入节点称为主接入节点,其他接入节点称为普通接入节点;
[0012] 接入节点启动后,将自己标记为主接入节点并开始定期广播信标消息,信标消息的负载为一个随机数,源地址为该接入节点的本地地址;在接入节点的本地地址中,地理坐标为0,接入节点ID为该接入节点的地理坐标,硬件ID为该接入节点的硬件ID;
[0013] 接入节点AP1广播信标消息后,移动设备通过下述过程建立接入节点表:
[0014] 步骤101:开始;
[0015] 步骤102:如果接入节点第一次接收到接入节点AP1的信标消息,则执行步骤103,否则执行步骤105;
[0016] 步骤103:接收到信标消息的接入节点比较自己与接入节点AP1的硬件ID值,即信标消息源地址的硬件ID值,如果接入节点AP1的硬件ID值更小,则接收到信标消息的接入节点将接入节点AP1标记为主接入节点,将自己标记为普通接入节点;
[0017] 步骤104:接收到信标消息的接入节点转发接收到的信标消息,执行步骤102;
[0018] 步骤105:如果移动设备第一次接收到接入节点AP1的信标消息,则执行步骤106,否则执行步骤108;
[0019] 步骤106:接收到接入节点AP1的信标消息的移动设备查看自己的接入节点表,如果不存在本地地址域值等于接收到的信标消息的源地址的接入节点表项,该移动设备则创建一个接入节点表项,该接入节点表项的本地地址域值为信标消息的源地址,生命周期域值为最大生命周期值,例如1s;
[0020] 步骤107:接收到接入节点AP1的信标消息的移动设备转发接收到的信标消息,执行步骤102;
[0021] 步骤108:接收到接入节点AP1的信标消息的移动设备或者接入节点丢弃接收到的信标消息;
[0022] 步骤109:结束;
[0023] 接入节点保存一个移动设备表,用于记录连通的移动设备信息;一个移动设备表项包含本地地址域值,家乡地址域值,移动标识和生命周期;如果一个移动设备表项的生命周期衰减为0,则该移动设备表项被删除。
[0024] 上述过程能够快速获取连通的接入节点信息,从而确保数据通信的丢包率和成功率。
[0025] 本发明所述方法中,移动设备启动后,开始定期广播信标消息,信标消息的负载为一个随机数和该移动设备的家乡地址,源地址为该接入节点的本地地址;在移动设备的本地地址中,地理坐标为该移动设备的当前地理坐标,接入节点ID为0,硬件ID为该移动设备的硬件ID;
[0026] 移动设备MD1广播信标消息后,接入节点通过下述过程建立移动设备表:
[0027] 步骤201:开始;
[0028] 步骤202:如果移动设备第一次接收到移动设备MD1广播的信标消息,则执行步骤203,否则执行步骤204;
[0029] 步骤203:接收到信标消息的移动设备转发接收到的信标消息,执行步骤202;
[0030] 步骤204:如果接入节点第一次接收到移动设备MD1广播的信标消息,则执行步骤205,否则执行步骤207;
[0031] 步骤205:接收到信标消息的接入节点查看自己的移动设备表,如果存在家乡地址域值等于接收到的信标消息负载中的家乡地址的移动设备表项,该接入节点则将该移动设备表项的本地地址域值设置为接收到的信标消息的源地址,将生存时间设置为最大值,例如1s;如果不存在家乡地址域值等于接收到的信标消息负载中的家乡地址的移动设备表项,该接入节点则构建一个本地地址,该本地地址的地理坐标域值和硬件ID域值等于接收到的信标消息的源地址的地理坐标值和硬件ID值,接入节点ID等于自己的接入节点ID值;该接入节点创建一个移动设备表项,该移动设备表项的本地地址域值为创建的本地地址,家乡地址域值为接收到的信标消息中的家乡地址,生命周期域值为最大生命周期值,例如
1s,移动标识设置为0;
[0032] 步骤206:接收到信标消息的接入节点转发接收到的信标消息,执行步骤202;
[0033] 步骤207:接收到移动设备MD1的信标消息的移动设备或者接入节点丢弃接收到的信标消息;
[0034] 步骤208:结束。
[0035] 上述过程能够快速获取连通的移动设备信息,从而确保数据通信的丢包率和成功率。
[0036] 本发明所述方法中,接入节点维护一个地址映射表,每个地址映射表项包含家乡地址域和转交地址域;每个主接入节点定期执行移动切换操作;主接入节点AP3通过下述过程完成移动设备的移动切换操作:
[0037] 步骤301:开始;
[0038] 步骤302:接入节点AP3查看移动设备表,选择所有移动标识为0的移动设备表项,将这些移动设备表项分成组,每个组满足条件1;接入节点AP3对于每个组G进行下述操作:如果该组满足条件2,则执行步骤303,否则执行步骤304;
[0039] 条件1:每个组的所有移动设备表项的家乡地址域值具有相同的全局路由前缀和接入节点ID;
[0040] 条件2:组中所有移动设备表项的家乡地址的全局路由前缀和接入节点ID等于接入节点AP3的单播地址的全局路由前缀和接入节点ID;
[0041] 步骤303:对于组G中的每个移动设备表项,接入节点AP3执行下述操作:查看地址映射表中家乡地址等于该移动设备表项中的家乡地址的地址映射表项,将该地址映射表项中的转交地址域值设置为该地址映射表项中的家乡地址域值,执行步骤306;
[0042] 步骤304:接入节点AP3构建一个单播地址,该单播地址的全局网络前缀和接入节点ID等于组G中的所有移动设备表项的家乡地址的全局路由前缀和接入节点ID;接入节点AP3发送一个移动消息,该消息的源地址为接入节点AP3的单播地址,目的地址为构建的单播地址,负载为组G中所有的移动设备表项;
[0043] 步骤305:目的接入节点接收到移动消息后,对于移动消息中的每个移动设备表项E进行如下操作:目的接入节点构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于移动消息源地址的全局路由前缀和接入节点ID,设备ID等于移动设备表项E中的家乡地址的设备ID,目的接入节点查找地址映射表,选择家乡地址等于移动设备表项E中的家乡地址的地址映射表项,将该地址映射表项的转交地址设置为构建的单播地址;
[0044] 步骤306:结束。
[0045] 上述过程能够快速实现移动切换,从而确保移动设备在移动过程中数据通信的正确性和连续性。
[0046] 本发明所述方法中,在移动设备MD1和MD2位于子网S1中,移动设备MD2的家乡地址为HA2的条件下,移动设备MD1通过下述过程实现与移动设备MD2的通信:
[0047] 步骤401:开始;
[0048] 步骤402:移动设备MD1构建一个请求消息,该请求消息的负载为一个随机数,目的地址为HA2,源地址为移动设备MD1的本地地址,在移动设备MD1的本地地址中,接入节点ID为0,地理坐标为移动设备MD1当前的地理坐标,设备ID为移动设备MD1的硬件ID;
[0049] 步骤403:如果移动设备MD2接收到请求消息,则执行步骤409,否则执行步骤404;
[0050] 步骤404:如果接入节点接收到请求消息,执行步骤406,否则执行步骤405;
[0051] 步骤405:构建或者接收到请求消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,将接收到的请求消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤403;
[0052] 步骤406:接收到请求消息的接入节点查看移动设备表并选择本地地址域值的硬件ID等于请求消息的目的地址的设备ID的移动设备表项,该接入节点将接收到的请求消息的目的地址设置为该移动设备表项的本地地址域值;将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0053] 步骤407:如果移动设备MD2接收到请求消息,则执行步骤409,否则执行步骤408;
[0054] 步骤408:接收到请求消息的移动设备将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤407;
[0055] 步骤409:移动设备MD2收到请求消息后,构建一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0056] 步骤410:如果移动设备MD1接收到响应消息,则执行步骤412,否则执行步骤411;
[0057] 步骤411:接收到响应消息的移动设备将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤410;
[0058] 步骤412:移动设备MD1保存响应消息中的响应数据;
[0059] 步骤413:结束。
[0060] 移动设备通过上述过程能够快速获取服务数据,有效降低了获取服务数据的延迟和丢包率,提高了服务质量。
[0061] 本发明所述方法中,在移动设备MD1位于子网S1中,移动设备MD3位于子网S3中,移动设备MD3的家乡地址为HA3的条件下,移动设备MD1通过下述过程实现与移动设备MD3的通信:
[0062] 步骤501:开始;
[0063] 步骤502:移动设备MD1构建一个请求消息,该请求消息的负载为一个随机数,目的地址为HA3,源地址为移动设备MD1的本地地址,在移动设备MD1的本地地址中,接入节点ID为0,地理坐标为移动设备MD1当前的地理坐标,设备ID为移动设备MD1的硬件ID;
[0064] 步骤503:如果接入节点接收到请求消息,执行步骤505,否则执行步骤504;
[0065] 步骤504:构建或者接收到请求消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,将接收到的请求消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤503;
[0066] 步骤505:接收到请求消息的接入节点为移动设备MD1构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于该接入节点的全局路由前缀和接入节点ID,设备ID等于该请求消息的源地址的硬件ID,将接收到的请求消息的目的地址设置为构建的单播地址,发送该请求消息;
[0067] 步骤506:该请求消息通过互联网最终到达目的接入节点,目的接入节点的单播地址的全局路由前缀和接入节点ID等于该请求消息的目的地址的全局路由前缀和接入节点ID,目的接入节点查看地址映射表,如果存在家乡地址域值等于请求消息的目的地址的地址映射表项,则执行步骤507,否则执行步骤508;
[0068] 步骤507:目的接入节点将请求消息的目的地址设置为该地址映射表项的转交地址域值;如果该地址映射表项的转交地址的全局路由前缀和接入节点ID与目的接入节点的全局路由前缀和接入节点ID不同,目的接入节点则发送该请求消息,执行步骤506;
[0069] 步骤508:目的接入节点查看移动设备表,选择家乡地址的设备ID等于接收到的请求消息的目的地址的设备ID的移动设备表项,将该请求消息的目的地址设置为该移动设备表项的本地地址域值,将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0070] 步骤509:如果移动设备MD3接收到请求消息,则执行步骤511,否则执行步骤510;
[0071] 步骤510:接收到请求消息的移动设备将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤509;
[0072] 步骤511:移动设备MD3收到请求消息后,构建一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0073] 步骤512:如果接入节点接收到响应消息,执行步骤514,否则执行步骤513;
[0074] 步骤513:构建或者接收到响应消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,然后将接收到的响应消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤512;
[0075] 步骤514:接收到响应消息的接入节点为移动设备MD3构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于该接入节点的全局路由前缀和接入节点ID,设备ID等于该响应消息的源地址的硬件ID,将接收到的响应消息的源地址设置为构建的单播地址,发送该响应消息;
[0076] 步骤515:该响应消息通过互联网最终到达目的接入节点,目的接入节点的单播地址的全局路由前缀和接入节点ID等于该响应消息的目的地址的全局路由前缀和接入节点ID,目的接入节点查看移动设备表,选择家乡地址的设备ID等于接收到的响应消息的目的地址的设备ID的移动设备表项,将该响应消息的目的地址设置为该移动设备表项的本地地址域值,将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0077] 步骤516:如果移动设备MD1接收到响应消息,则执行步骤518,否则执行步骤517;
[0078] 步骤517:接收到响应消息的移动设备将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤516;
[0079] 步骤518:移动设备MD1保存响应消息中的响应数据;
[0080] 步骤519:结束。
[0081] 移动设备通过上述过程能够快速获取服务数据,有效降低了获取服务数据的延迟和丢包率,提高了服务质量。
[0082] 本发明所述方法中,如果移动设备MD4为孤立移动设备,移动设备MD5位于子网S1中,那么移动设备MD4直到变为连通移动设备之后实现与移动设备MD5的通信。
[0083] 孤立移动设备通过上述过程能够快速获取服务数据,有效降低了获取服务数据的延迟和丢包率,提高了服务质量。
[0084] 有益效果:本发明提供了一种可靠的无线网络路由通信实现方法,移动设备通过本发明所提供的路由通信实现方法能够快速获取服务数据,有效降低了获取服务数据的延迟和丢包率,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

[0085] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0086] 图1为本发明所述的接入节点表建立流程示意图。
[0087] 图2为本发明所述的移动设备表建立流程示意图。
[0088] 图3为本发明所述的移动流程示意图。
[0089] 图4为本发明所述的本地获取数据流程示意图。
[0090] 图5为本发明所述的远程获取数据流程示意图。具体实施方式:
[0091] 图1为本发明所述的接入节点表建立流程示意图。接入节点AP1广播信标消息后,移动设备通过下述过程建立接入节点表:
[0092] 步骤101:开始;
[0093] 步骤102:如果接入节点第一次接收到接入节点AP1的信标消息,则执行步骤103,否则执行步骤105;
[0094] 步骤103:接收到信标消息的接入节点比较自己与接入节点AP1的硬件ID值,即信标消息源地址的硬件ID值,如果接入节点AP1的硬件ID值更小,则接收到信标消息的接入节点将接入节点AP1标记为主接入节点,将自己标记为普通接入节点;
[0095] 步骤104:接收到信标消息的接入节点转发接收到的信标消息,执行步骤102;
[0096] 步骤105:如果移动设备第一次接收到接入节点AP1的信标消息,则执行步骤106,否则执行步骤108;
[0097] 步骤106:接收到接入节点AP1的信标消息的移动设备查看自己的接入节点表,如果不存在本地地址域值等于接收到的信标消息的源地址的接入节点表项,该移动设备则创建一个接入节点表项,该接入节点表项的本地地址域值为信标消息的源地址,生命周期域值为最大生命周期值,例如1s;
[0098] 步骤107:接收到接入节点AP1的信标消息的移动设备转发接收到的信标消息,执行步骤102;
[0099] 步骤108:接收到接入节点AP1的信标消息的移动设备或者接入节点丢弃接收到的信标消息;
[0100] 步骤109:结束;
[0101] 接入节点保存一个移动设备表,用于记录连通的移动设备信息;一个移动设备表项包含本地地址域值,家乡地址域值,移动标识和生命周期;如果一个移动设备表项的生命周期衰减为0,则该移动设备表项被删除。
[0102] 图2为本发明所述的移动设备表建立流程示意图。移动设备启动后,开始定期广播信标消息,信标消息的负载为一个随机数和该移动设备的家乡地址,源地址为该接入节点的本地地址;在移动设备的本地地址中,地理坐标为该移动设备的当前地理坐标,接入节点ID为0,硬件ID为该移动设备的硬件ID;
[0103] 移动设备MD1广播信标消息后,接入节点通过下述过程建立移动设备表:
[0104] 步骤201:开始;
[0105] 步骤202:如果移动设备第一次接收到移动设备MD1广播的信标消息,则执行步骤203,否则执行步骤204;
[0106] 步骤203:接收到信标消息的移动设备转发接收到的信标消息,执行步骤202;
[0107] 步骤204:如果接入节点第一次接收到移动设备MD1广播的信标消息,则执行步骤205,否则执行步骤207;
[0108] 步骤205:接收到信标消息的接入节点查看自己的移动设备表,如果存在家乡地址域值等于接收到的信标消息负载中的家乡地址的移动设备表项,该接入节点则将该移动设备表项的本地地址域值设置为接收到的信标消息的源地址,将生存时间设置为最大值;如果不存在家乡地址域值等于接收到的信标消息负载中的家乡地址的移动设备表项,该接入节点则构建一个本地地址,该本地地址的地理坐标域值和硬件ID域值等于接收到的信标消息的源地址的地理坐标值和硬件ID值,接入节点ID等于自己的接入节点ID值;该接入节点创建一个移动设备表项,该移动设备表项的本地地址域值为创建的本地地址,家乡地址域值为接收到的信标消息中的家乡地址,生命周期域值为最大生命周期值,移动标识设置为0;
[0109] 步骤206:接收到信标消息的接入节点转发接收到的信标消息,执行步骤202;
[0110] 步骤207:接收到移动设备MD1的信标消息的移动设备或者接入节点丢弃接收到的信标消息;
[0111] 步骤208:结束。
[0112] 图3为本发明所述的移动流程示意图。接入节点维护一个地址映射表,每个地址映射表项包含家乡地址域和转交地址域;每个主接入节点定期执行移动切换操作;主接入节点AP3通过下述过程完成移动设备的移动切换操作:
[0113] 步骤301:开始;
[0114] 步骤302:接入节点AP3查看移动设备表,选择所有移动标识为0的移动设备表项,将这些移动设备表项分成组,每个组满足条件1;接入节点AP3对于每个组G进行下述操作:如果该组满足条件2,则执行步骤303,否则执行步骤304;
[0115] 条件1:每个组的所有移动设备表项的家乡地址域值具有相同的全局路由前缀和接入节点ID;
[0116] 条件2:组中所有移动设备表项的家乡地址的全局路由前缀和接入节点ID等于接入节点AP3的单播地址的全局路由前缀和接入节点ID;
[0117] 步骤303:对于组G中的每个移动设备表项,接入节点AP3执行下述操作:查看地址映射表中家乡地址等于该移动设备表项中的家乡地址的地址映射表项,将该地址映射表项中的转交地址域值设置为该地址映射表项中的家乡地址域值,执行步骤306;
[0118] 步骤304:接入节点AP3构建一个单播地址,该单播地址的全局网络前缀和接入节点ID等于组G中的所有移动设备表项的家乡地址的全局路由前缀和接入节点ID;接入节点AP3发送一个移动消息,该消息的源地址为接入节点AP3的单播地址,目的地址为构建的单播地址,负载为组G中所有的移动设备表项;
[0119] 步骤305:目的接入节点接收到移动消息后,对于移动消息中的每个移动设备表项E进行如下操作:目的接入节点构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于移动消息源地址的全局路由前缀和接入节点ID,设备ID等于移动设备表项E中的家乡地址的设备ID,目的接入节点查找地址映射表,选择家乡地址等于移动设备表项E中的家乡地址的地址映射表项,将该地址映射表项的转交地址设置为构建的单播地址;
[0120] 步骤306:结束。
[0121] 图4为本发明所述的本地获取数据流程示意图。在移动设备MD1和MD2位于子网S1中,移动设备MD2的家乡地址为HA2的条件下,移动设备MD1通过下述过程实现与移动设备MD2的通信:
[0122] 步骤401:开始;
[0123] 步骤402:移动设备MD1构建一个请求消息,该请求消息的负载为一个随机数,目的地址为HA2,源地址为移动设备MD1的本地地址,在移动设备MD1的本地地址中,接入节点ID为0,地理坐标为移动设备MD1当前的地理坐标,设备ID为移动设备MD1的硬件ID;
[0124] 步骤403:如果移动设备MD2接收到请求消息,则执行步骤409,否则执行步骤404;
[0125] 步骤404:如果接入节点接收到请求消息,执行步骤406,否则执行步骤405;
[0126] 步骤405:构建或者接收到请求消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,将接收到的请求消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤403;
[0127] 步骤406:接收到请求消息的接入节点查看移动设备表并选择本地地址域值的硬件ID等于请求消息的目的地址的设备ID的移动设备表项,该接入节点将接收到的请求消息的目的地址设置为该移动设备表项的本地地址域值;将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0128] 步骤407:如果移动设备MD2接收到请求消息,则执行步骤409,否则执行步骤408;
[0129] 步骤408:接收到请求消息的移动设备将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤407;
[0130] 步骤409:移动设备MD2收到请求消息后,构建一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0131] 步骤410:如果移动设备MD1接收到响应消息,则执行步骤412,否则执行步骤411;
[0132] 步骤411:接收到响应消息的移动设备将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤410;
[0133] 步骤412:移动设备MD1保存响应消息中的响应数据;
[0134] 步骤413:结束。
[0135] 图5为本发明所述的远程获取数据流程示意图。在移动设备MD1位于子网S1中,移动设备MD3位于子网S3中,移动设备MD3的家乡地址为HA3的条件下,移动设备MD1通过下述过程实现与移动设备MD3的通信:
[0136] 步骤501:开始;
[0137] 步骤502:移动设备MD1构建一个请求消息,该请求消息的负载为一个随机数,目的地址为HA3,源地址为移动设备MD1的本地地址,在移动设备MD1的本地地址中,接入节点ID为0,地理坐标为移动设备MD1当前的地理坐标,设备ID为移动设备MD1的硬件ID;
[0138] 步骤503:如果接入节点接收到请求消息,执行步骤505,否则执行步骤504;
[0139] 步骤504:构建或者接收到请求消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,将接收到的请求消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤503;
[0140] 步骤505:接收到请求消息的接入节点为移动设备MD1构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于该接入节点的全局路由前缀和接入节点ID,设备ID等于该请求消息的源地址的硬件ID,将接收到的请求消息的目的地址设置为构建的单播地址,发送该请求消息;
[0141] 步骤506:该请求消息通过互联网最终到达目的接入节点,目的接入节点的单播地址的全局路由前缀和接入节点ID等于该请求消息的目的地址的全局路由前缀和接入节点ID,目的接入节点查看地址映射表,如果存在家乡地址域值等于请求消息的目的地址的地址映射表项,则执行步骤507,否则执行步骤508;
[0142] 步骤507:目的接入节点将请求消息的目的地址设置为该地址映射表项的转交地址域值;如果该地址映射表项的转交地址的全局路由前缀和接入节点ID与目的接入节点的全局路由前缀和接入节点ID不同,目的接入节点则发送该请求消息,执行步骤506;
[0143] 步骤508:目的接入节点查看移动设备表,选择家乡地址的设备ID等于接收到的请求消息的目的地址的设备ID的移动设备表项,将该请求消息的目的地址设置为该移动设备表项的本地地址域值,将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0144] 步骤509:如果移动设备MD3接收到请求消息,则执行步骤511,否则执行步骤510;
[0145] 步骤510:接收到请求消息的移动设备将该请求消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤509;
[0146] 步骤511:移动设备MD3收到请求消息后,构建一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,该响应消息的目的地址为接收到的请求消息的源地址,负载为响应数据;将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0147] 步骤512:如果接入节点接收到响应消息,执行步骤514,否则执行步骤513;
[0148] 步骤513:构建或者接收到响应消息的移动设备查看接入节点表并选择一个接入节点表项,该接入节点表项的本地地址域值的地理坐标距离自己最近,然后将接收到的响应消息转发到距离该接入节点表项的本地地址域值的地理坐标最近的邻居接入节点或者邻居移动设备,执行步骤512;
[0149] 步骤514:接收到响应消息的接入节点为移动设备MD3构建一个单播地址,该单播地址的全局路由前缀和接入节点ID等于该接入节点的全局路由前缀和接入节点ID,设备ID等于该响应消息的源地址的硬件ID,将接收到的响应消息的源地址设置为构建的单播地址,发送该响应消息;
[0150] 步骤515:该响应消息通过互联网最终到达目的接入节点,目的接入节点的单播地址的全局路由前缀和接入节点ID等于该响应消息的目的地址的全局路由前缀和接入节点ID,目的接入节点查看移动设备表,选择家乡地址的设备ID等于接收到的响应消息的目的地址的设备ID的移动设备表项,将该响应消息的目的地址设置为该移动设备表项的本地地址域值,将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备;
[0151] 步骤516:如果移动设备MD1接收到响应消息,则执行步骤518,否则执行步骤517;
[0152] 步骤517:接收到响应消息的移动设备将该响应消息发送到距离目的地址的地理坐标最近的邻居移动设备,执行步骤516;
[0153] 步骤518:移动设备MD1保存响应消息中的响应数据;
[0154] 步骤519:结束。
[0155] 如果移动设备MD4为孤立移动设备,移动设备MD5位于子网S1中,那么移动设备MD4直到变为连通移动设备之后实现与移动设备MD5的通信。
[0156] 实施例1
[0157] 基于表1的仿真参数,本实施例模拟了本发明中一种可靠的无线网络路由通信实现方法,性能分析如下:当车辆节点速度降低时,链路趋于稳定,丢包率下降,数据通信稳定性增强,数据通信延迟也随之下降。车辆节点获取服务数据的丢包率为2.8%。
[0158] 表1仿真参数
[0159]
[0160] 本发明提供了一种可靠的无线网络路由通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。