一种基于定位信息的无线网络通信实现方法
【技术领域】
[0001] 本发明涉及一种无线网络通信实现方法,尤其涉及的是一种基于定位信息的无线 网络通信实现方法。
【背景技术】
[0002] 无线网络作为一种新型通信网络,能够实现节点与节点之间的多跳无线通信。随 着无线网络技术的不断发展以及各种新应用的不断涌现,迫切需要无线网络能够接入互联 网以满足用户急剧增长的应用需求。
[0003] 无线网络作为一种特殊类型的移动自组网,具有移动速度快、节点数量多、覆盖面 积大等特点。基于IPv6的互联网(以下简称IPv6网络)具有移动性支持、地址资源丰富 以及扩展性强等优点。因此,无线网络接入IPv6网络成为满足用户应用需求的理想解决方 案。
[0004] 目前的研究人员提出了无线网络通过接入基于IPv6的互联网获取网络服务的模 式并定义了相应的协议栈,但是由于无线网络的体系结构与IPv6网络不同,现有的接入方 法具有一些局限性。因此需要提出一种无线网络的通信实现方法,从而降低数据丢失率,提 高服务质量。
【发明内容】
[0005] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于定 位信息的无线网络通信实现方法。
[0006] 技术方案:本发明公开了一种基于定位信息的无线网络通信实现方法,所述无线 网络根据地理坐标划分为一个以上移动自组网,每个移动自组网覆盖的面积为长方形,移 动自组网所覆盖的面积的两条对角线的交点称为该移动自组网的中心节点,其地理坐标为 (x,y),每个移动自组网由横坐标区间[x -w,x+w],和纵坐标区间来标识[y_l,y+l],w为移 动自组网的宽,1为移动自组网的长度;wl取值范围可以设置为[lkm, 10km], 1取值范围可 以设置为[lkm, IOkm]。
[0007] -个移动自组网内包括一个以上的移动节点,所有移动节点构成一个子网,一个 移动自组网由一个以上子网构成;
[0008] 每个移动自组网包含一个接入路由器,每个子网包含一个接入节点,移动自组网 通过该接入路由器接入到互联网,一个移动自组网内的所有接入节点与该接入路由器相 连,每个接入节点的地理坐标具有唯一性;移动节点具有路由和转发功能;
[0009] 每个接入路由器由一个全局IPv6地址标识,标识一个接入路由器的全局IPv6地 址由五部分构成,第一部分和第二部分为32比特的网络横坐标域和32比特的网络纵坐标 域,其值等于移动自组网中心节点的地理横坐标和纵坐标;第三部分和第四部分16比特的 长度域和16比特的宽度域,其值为移动自组网所覆盖面积的长度和宽度;第五部分为32比 特的预留域,其值为0;
[0010] 每个接入节点由一个全局IPv6地址标识,标识一个接入节点的全局IPv6地址由 五部分构成,第一部分和第二部分为32比特的网络横坐标域和32比特的网络纵坐标域, 其值等于接入节点所在移动自组网中心节点的地理横坐标和纵坐标;第三部分和第四部分 16比特的接入节点横坐标域和16比特的接入节点纵坐标域,其值为接入节点所在地理位 置的地理横坐标和地理纵坐标;第五部分为32比特的预留域,其值为0 ;
[0011] 当移动节点与其他移动自组网中的节点通信时,该移动节点由全局IPv6地址标 识;当移动节点与同一个移动自组网但是不同子网的节点通信时,该移动节点由移动自组 网本地地址标识,当移动节点与同一个子网内的节点通信时,该移动节点由子网本地地址 标识;
[0012] 移动节点的全局IPv6地址由五部分构成,第一部分和第二部分为32比特的网络 横坐标域和32比特的网络纵坐标域,其值等于接入节点所在移动自组网中心节点的地理 横坐标和纵坐标;第三部分和第四部分16比特的接入节点横坐标域和16比特的接入节点 纵坐标域,其值为接入节点所在地理位置的地理横坐标和地理纵坐标;第五部分为32比特 的节点ID,该节点ID具有全球唯一性;
[0013] 移动节点的移动自组网本地地址由四部分构成,第一部分为64比特的预留域,其 值为〇 ;第二部分和第三部分为16比特的接入节点横坐标域和16比特的接入节点纵坐标 域,其值为移动节点所在子网的接入节点的地理横坐标和地理纵坐标;第四部分为32比特 的节点ID,该节点ID具有全球唯一性;
[0014] 移动节点的子网本地地址由两部分构成,第一部分为96比特的预留域,其值为0 ; 第二部分为32比特的节点ID,该节点ID具有全球唯一性;
[0015] 节点ID的设置空间为[1,232_1];当无线网络划分为K个移动自组网时,第k移动 自组网中的节点ID设置空间P k如公式(1)所示,I < k < K,每个移动自组网的节点ID空 间由接入路由器来统一维护,即记录各个节点ID是否已分配;
[0017] 当移动节点启动后,它向所在移动自组网的接入路由器发送地址请求消息,接入 路由器收到地址请求消息后,向移动节点返回一个地址响应消息,该地址响应消息负载为 最小未分配的节点ID,然后接入路由器将分配给移动节点的节点ID标记为已分配状态;移 动节点收到地址响应消息后,保存该节点ID,在整个生命周期内,移动节点的节点ID不变;
[0018] 移动节点通过数据地址获取一个地理坐标的数据,数据地址由四部分构成,第一 部分为32比特的节点ID域,其值为目标移动节点的节点ID ;第二部分和第三部分为16比 特的数据横坐标域和16比特的数据纵坐标域,数据横坐标和数据纵坐标标识数据产生的 地理位置,第四部分为数据ID域,一个数据ID定义一种数据类型,其值为与数据横坐标域 和数据纵坐标域所标识的地理位置相关的数据类型,例如,由(X,y)坐标标识的地理位置 的温度。例如数据ID值为1的数据类型为温度信息,数据ID为2的数据类型为空气污染 度信息等。
[0019] 通过上述网络体系结构和地址结构,移动节点可以从距离最近的移动节点获取数 据,因此降低了数据获取延迟和代价。如果本地网络没有数据,那么移动节点可以从其他远 程网络获取数据,因此提高了数据获取的成功率。
[0020] 本发明所述方法中,每个接入节点和移动节点各自维护一个数据索引表,该数据 索引表的表项包含四个域:数据ID域,地理坐标域,节点域和生存时间域;其中,节点域的 值为保存相应数据的移动节点的节点ID,即保存由地理坐标域和数据ID域所标识的数据 的移动节点的节点ID,例如,保存地理坐标(x,y)的数据ID为1的数据的移动节点的节点 ID ;
[0021] 每个接入路由器维护一个数据索引表,该数据索引表的表项包含四个域:数据ID 域,地理坐标域,子网域和生存时间域;其中,子网域的值为保存相应数据的移动节点所在 子网的接入节点的地理坐标,即保存由地理坐标域和数据ID域所标识的数据的移动节点 所在子网的接入节点的地理坐标。
[0022] 本发明所述方法中,如果移动节点Nl的地理坐标为(xN1,yN1),位于子网Sl中,子 网Sl的接入节点为APl,子网Sl位于移动自组网Ml内,移动自组网Ml的接入路由器为 ARl,移动节点Nl通过下述过程产生数据ID为c的数据:
[0023] 步骤101 :开始;
[0024] 步骤102 :移动节点Nl将广播范围h设置为初始值H,例如H值可以设置为3,然 后广播一个资源请求消息,资源请求消息源地址为移动节点Nl的子网本地地址,负载为广 播范围h和数据ID值c,该消息每转发一次,广播范围h递减1 ;
[0025] 步骤103 :任意一个接收到资源请求消息的移动节点判断自己是否能产生数据ID 值c所标识的数据,如果是进行步骤104,否则进行步骤105 ;
[0026] 步骤104 :接收到资源请求消息的移动节点返回一个资源响应消息,资源响应消 息负载为产生的数据,进行步骤107 ;
[0027] 步骤105 :接收到资源请求消息的移动节点判断广播范围h是否为0,如果是进行 步骤106,否则进行步骤107;
[0028] 步骤106 :接收到资源请求消息的移动节点将广播范围h递减1,继续广播该资源 请求消息,进行步骤103 ;
[0029] 步骤107 :如果移动节点Nl没有资源响应消息,则进行步骤108,否则进行步骤 109 ;
[0030] 步骤108 :移动节点Nl将初始值H递增1,返回进行步骤102 ;
[0031] 步骤109 :移动节点Nl查看所有返回的资源响应消息并获取数据ID为c的数据, 然后向每一个返回资源响应消息的移动节点发送一个资源确认消息,资源确认消息负载为 移动节点Nl的地址坐标(x N1,yN1)和数据ID为c的数据,同时移动节点Nl向接入节点APl 发送数据创建消息,数据创建消息源地址为移动节点Nl的子网本地地址,目的地址为接入 节点APl的全局IPv6地址,负载为返回资源响应消息的所有移动节点的节点ID ;
[0032] 步骤110 :移动节点收到资源确认消息后,保存地址坐标(xN1,yN1)和数据ID值为 c的数据;接入节点APl收到数据创建消息后,在数据索引表中创建一个新表项,数据ID域 值为c,地理坐标域值为(xN1,y N1),节点域值为资源确认消息中的所有返回资源响应消息的 移动节点的节点ID,生命周期域值为最大生命周期值,例如300分钟,然后接入节点APl向 接入路由器ARl发送一个数据创新消息,数据创新消息负载为空,源地址为接入节点APl的 全局IPv6地址,目的地址为接入路由器ARl的全局IPv6地址;
[0033] 步骤111 :接入路由器ARl收到数据创建消息后,在数据索引表中创建一个新表 项,数据ID域值为c,地理坐标域值为(xN1,y N1),子网域值为接入节点APl的地理坐标,生命 周期域值为最大生命周期值,例如300分钟;
[0034] 步骤112:结束。
[0035] 通过上述过程,移动节点可以产生并发布数据。这样移动节点可以从距离最近的 移动节点获取数据,因此降低了数据获取延迟和代价。如果本地网络没有数据,那么移动节 点可以从其他远程网络获取数据,因此提高了数据获取的成功率。
[0036] 本发明所述方法中,接入节点和移动节点定期广播信标帧,信标帧的负载为数据 索引表;接入节点或者移动节点收到邻居节点的信标帧后,如果信标帧负载中的数据索引 表比自己的数据索引表的新,通过比较数据索引表的时间戳可知哪个数据索引表更新,那 么接入节点或者移动节点用信标帧中的数据索引表更新自己的数据索引表;
[0037] 在移动节点N位于子网Sl中,子网Sl的接入节点为APl,子网Sl位于移动自组网 Ml内,移动自组网Ml的接入路由器为AR1,地理位置(xp,yp)位于子网Sl内的情况下,如果 移动节点N准备获取与地理位置(x p,yp)相关的数据ID为c的数据,那么移动节点N查看 数据索引表,如果有数据ID域值为c且坐标域值为(x p,yp)的表项,那么移动节点N通过下 述过程获取数据:
[0038] 步骤201:开始;
[0039] 步骤202 :移动节点N查看节点ID域值为c且坐标域值为(xp,yp)的表项中的节 点域,然后选择从距离自己最近的移动节点Nl获取数据,移动节点N构建一个数据地址,数 据地址的节点ID为移动节点Nl的节点ID,数据横坐标和数据纵坐标为(x p,yp),数据ID值 为c,然后移动节点N发送内容请求消息,内容请求消息目的地址为数据地址,源地址为移 动节点N的子网本地地址;
[0040] 步骤203:如果接收到内容请求消息的移动节点能够提供移动节点N请求的数据, 那么进行步骤204,否则进行步骤205 ;
[0041] 步骤204 :接收到内容请求消息的移动节点将内容请求消息中的目的地址中的节 点ID更新为自己的节点ID,然后返回一个数据响应消息,数据响应消息的目的地址为节点 N的子网本地地址,源地址为更新后的数据地址,进行步骤206 ;
[0042] 步骤205 :接收到数据请求消息的移动节点转发数据请求消息,进行步骤203 ;
[0043] 步骤206 :接收到数据响应消息的移动节点保存数据响应消息中的数据并更新数 据索引表,即将自己的节点ID加入到相应表项的节点域中,并广播信标帧;
[0044] 步骤207 :结束;
[0045] 如果数据索引表中没有节点ID域值为c且坐标域值为(xp,yp)的表项,那