专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
一种无线网络通信的实现方法

一种无线网络通信的实现方法

IPC分类号 : H04W40/02,H04W40/24

申请号
CN201510564536.0
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日:
  • 公开号:
  • 公开日: 2018-06-08
  • 主分类号: H04W40/02
  • 专利权人: 常熟理工学院

专利摘要

本发明公开了一种无线网络通信的实现方法,所述无线网络划分为两个以上的子网,每个子网包含一个接入路由器和两个以上的移动节点,子网通过接入路由器与互联网相连。所述子网中包含三类节点:数据提供节点,数据消费节点以及普通节点,其中数据提供节点为有权限提供一种特定类型数据的移动节点,数据消费节点为有权限消费一种特定类型数据的移动节点,普通节点为既不是数据提供节点也不是数据消费节点的移动节点,用于执行路由转发功能。所述无线网络通过本发明所提供的实现方法可获取网络数据,同时保持通信的连续性,缩短数据获取代价和延迟,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

权利要求

1.一种无线网络通信的实现方法,其特征在于,所述无线网络划分为两个以上的子网,每个子网包含一个接入路由器和两个以上的移动节点,子网通过接入路由器与互联网相连;

所述子网中包含三类节点:数据提供节点,数据消费节点以及普通节点,其中数据提供节点为有权限提供一种特定类型数据的移动节点,数据消费节点为有权限消费一种特定类型数据的移动节点,普通节点为既不是数据提供节点也不是数据消费节点的移动节点,用于执行路由转发功能;

所述无线网络包括唯一标识一种特定类型的数据的任播地址,所有有权限提供该种特定类型数据的数据提供节点构成一个任播组,该任播组由任播地址唯一标识,即为标识该种特定类型数据的任播地址;任播组里的节点称为任播组成员;

所有有权限消费一种特定类型数据的数据消费节点构成一个多播组,该多播组由一个多播地址唯一标识;多播组里的节点称为多播组成员;

一个移动节点的单播地址用于全局路由,由两部分构成:第一部分为网络前缀,长度为128-i比特,网络前缀唯一标识一个子网,一个子网中的所有移动节点的单播地址的网络前缀都相同,其值等于相同子网中的接入路由器的网络前缀;第二部分为节点ID,长度为i比特,该节点ID在子网中具有唯一性,唯一标识一个移动节点;节点ID的分配空间为[1,2j],j<i;

一个任播地址由两部分构成:网络前缀和任播ID,网络前缀的长度为128-i比特,任播ID的长度为i比特,任播地址具有网络唯一性;任播ID的分配空间为[2j+1,2i-1];

一种特定类型的数据划分K个部分,第k个部分内容的标记为:任播地址k;k属于1~K;

一个数据地址用于获取一种特定类型的数据,包括三个部分:第一部分为单播地址中的节点ID,第二部分为任播地址中的任播ID,第三部分为部分集合,其值为所请求数据的部分的值;

一个多播组成员保存一个数据路由表,用于记录提供该多播组数据的任播成员信息;一个数据路由表项记录一个任播组成员的信息,一个数据路由表项分为四个域:单播地址域,任播地址域,部分域和距离域,其中单播地址域为任播组成员的单播地址,任播地址域值为多播组有权获取数据的类型所对应的任播地址,部分域值标识数据的对应部分数,距离域表示多播组成员距离任播组成员的跳数;一个子网包含一个以上多播组,该子网的接入路由器默认为是该子网中每个多播组的组成员。

2.根据权利要求1所述的一种无线网络通信的实现方法,其特征在于,在任播组成员P1的任播地址为A1,多播地址为M1的多播组成员有权限获取多播地址A1定义的数据的情况下;任播组成员P1产生了任播地址A1定义的第k个部分数据后进行如下操作:

步骤101:开始;

步骤102:任播组成员P1发送一个数据分享消息,数据分享消息的目的地址为多播地址M1,源地址为任播组成员P1的单播地址,数据分享消息的负载为k和任播地址A1;

步骤103:多播地址为M1的多播组成员收到数据分享消息后,在自己的数据路由表中增加一个表项,表项的单播地址域为任播组成员P1的单播地址,任播地址域为A1,部分域值为k,距离域为该多播组成员与任播组成员P1的距离;

步骤104:结束。

3.根据权利要求1所述的一种无线网络通信的实现方法,其特征在于,在多播地址为M1的多播组成员有权限获取任播地址A1标识的数据的情况下,如果多播组成员C3位于子网N1内,且任播地址A1的网络前缀隶属于N1,多播地址为M1的多播组成员C3要获取任播地址A1标识的第k部分数据,则执行下述过程:

步骤201:开始;

步骤202:多播组成员C3查看自己的数据路由表,选择距离自己最近且能提供任播地址A1标识的第k部分数据的任播组成员P2,构建一个数据地址,数据地址的节点ID为任播组成员P2的节点ID,任播ID为任播地址A1对应的任播ID,部分集合值为k;多播组成员C3向任播组成员P2发送数据请求消息,数据请求消息的目的地址为数据地址,数据请求消息的源地址为多播组成员C3的单播地址;

步骤203:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点自己的单播地址,目的地址为多播组成员C3的单播地址,数据响应消息的负载为任播地址A1标识的第k部分数据,进行步骤205;

情况2:如果接收到数据请求消息的节点为任播组成员P2,进行步骤204;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤203;

步骤204:任播组成员P2向多播组成员C3返回一个数据响应消息,数据响应消息的源地址为任播组成员P2的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据;

步骤205:如果接收到数据响应消息的节点为多播地址M1中的多播组成员,且该多播组成员同时也想获取任播地址A1标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A1标识的第k部分数据,最终数据响应消息到达多播组成员C3;

步骤206:结束。

4.根据权利要求3所述的一种无线网络通信的实现方法,其特征在于,多播地址为M1的多播组成员有权限获取任播地址A1标识的数据,多播组成员C3位于子网N1内,子网N1中的接入路由器为AR1,任播地址A1的网络前缀隶属于N1,多播地址为M1的多播组成员C3从任播组成员P2获取任播地址A1标识的第k部分数据,多播组成员C3发送给任播组成员P2的数据请求消息达到任播组成员P2的前一跳节点E1后,如果前一跳节点E1检测到任播组成员P2不可达,那么多播组成员C3从过下述过程获取任播地址A1标识的第k部分数据:

步骤301:开始;

步骤302:前一跳节点E1将接收到的数据请求消息的目的地址中的节点ID修改为接入路由器AR1的节点ID,然后发送数据请求消息;

步骤303:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点自己的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据,进行步骤307;

情况2:如果接收到数据请求消息的节点为接入路由器AR1,进行步骤304;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤303;

步骤304:接入路由器AR1选择距离自己最近且能提供任播地址A1标识的第k部分数据的任播组成员P3,将接收到的数据请求消息的目的地址的节点ID更新为任播组成员P3的节点ID,然后发送该数据请求消息;

步骤305:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据,进行步骤307;

情况2:如果接收到数据请求消息的节点为任播组成员P3,则进行步骤306;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤305;

步骤306:任播组成员P3向多播组成员C3返回一个数据响应消息,数据响应消息的源地址为它的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据;

步骤307:如果接收到数据响应消息的节点为多播地址M1中的多播组成员同时也想获取任播地址A1标识的第k部分数据,那么接收到数据响应消息的节点直接保存数据响应消息中的任播地址A1标识的第k部分数据,最终数据响应消息到达多播组成员C3;

步骤308:结束。

5.根据权利要求3所述的一种无线网络通信的实现方法,其特征在于,多播地址为M1的多播组成员有权限获取任播地址A1标识的数据,如果多播组成员C3位于子网N1内,子网N1的接入路由器为AR1,任播地址A2的网络前缀隶属于N2,如果多播地址为M1的多播组成员C3要获取任播地址A2标识的第k部分数据,那么多播组成员C3首先查看数据路由表,如果存在任播ID为A2且部分域值为k的表项,那么多播组成员C3通过执行步骤201到步骤205中获取任播地址A1标识的第k部分数据的方式,获取任播地址A2标识的第k部分数据,否则多播组成员C3执行下述过程获取数据:

步骤401:开始;

步骤402:多播组成员C3发送远程数据请求消息,远程数据请求消息的目的地址为任播地址A2,源地址为多播组成员C3的单播地址,负载为k;

步骤403:接收到数据请求消息的节点分为三种情况处理接收到的远程数据请求消息:

情况1:如果接收到远程数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A2标识的第k部分数据,那么接收到远程数据请求消息的节点返回一个远程数据响应消息并停止转发接收到的远程数据请求消息,远程数据响应消息的源地址为它的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A2标识的第k部分数据,进行步骤410;

情况2:如果接收到远程数据请求消息的节点为接入路由器AR1,进行步骤404;

情况3:如果情况1和情况2都不符合,则接收到远程数据请求消息的节点将远程数据请求消息转发到下一跳,进行步骤403;

步骤404:接入路由器AR1将接收到的远程数据请求消息发送到互联网,最终,远程数据请求消息到达接入路由器AR2;

步骤405:接入路由器AR2查看自己的数据路由表,选择距离自己最近且能提供任播地址A2标识的第k部分数据的任播组成员P3,接入路由器AR2构建一个数据地址,数据地址的节点ID为任播组成员P3的节点ID,任播ID为任播地址A2的任播ID,部分集合值为k,接入路由器AR2向任播组成员P3发送数据请求消息,数据请求消息的目的地址为数据地址,源地址为接入路由器AR2的单播地址;

步骤406:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A2标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为它的单播地址,目的地址为接入路由器AR2的单播地址,负载为任播地址A2标识的第k部分数据,进行步骤408;

情况2:如果接收到数据请求消息的节点为任播组成员P3,进行步骤407;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤:406;

步骤407:任播组成员P3向接入路由器AR2返回一个数据响应消息,数据响应消息的源地址为它的单播地址,目的地址为接入路由器AR2的单播地址,负载为任播地址A2标识的第k部分数据;

步骤408:如果接收到数据响应消息的节点为多播地址M1中的多播组成员,该多播组成员同时也想获取任播地址A2标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A2标识的第k部分数据,最终数据响应消息到达接入路由器AR2;

步骤409:接入路由器AR2返回一个远程数据响应消息,远程数据响应消息的目的地址为多播组成员C3的单播地址,负载为任播地址A2标识的第k部分数据;

步骤410:如果接收到远程数据响应消息的节点为多播地址M1中的多播组成员,该多播组成员同时也想获取任播地址A2标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A2标识的第k部分数据,最终远程数据响应消息到达多播组成员C3;

步骤411:结束。

6.根据权利要求5所述的一种无线网络通信的实现方法,其特征在于,每个任播组成员定期向所在网络的接入路由器发送更新消息,更新消息的源地址为任播组成员的单播地址,负载为所在任播组的任播地址以及所能提供的数据部分值k;

如果在预定时间内,接入路由器没有收到任播组成员的更新消息,则将该任播组成员对应的表项从数据路由表中删除,然后接入路由器向有权利获取该任播地址所定义的数据的多播组成员发送一条删除消息,删除消息的目的地址为多播组的多播地址,负载为该任播组成员的单播地址;多播组成员收到删除消息后,查看自己的数据路由表,删除单播地址域值等于删除消息中的单播地址的路由表项;

任播组成员的任播地址为A1,任播组成员移动到一个新的子网后,向新的子网的接入路由器发送更新消息,接收到更新消息的接入路由器在自己的数据路由表中增加该任播组成员的表项,同时向有权利获取任播地址A1所定义的数据的多播组成员发送一条增加消息,增加消息的目的地址为该多播组的多播地址,负载为该任播组成员的单播地址,任播地址以及所能提供的数据部分值k;多播组成员收到增加消息后,在数据路由表中增加该任播组成员的路由表项。

说明书

技术领域

本发明涉及一种计算机互联网通信技术领域,尤其涉及的是一种无线网络通信的实现方法。

背景技术

无线网络作为一种新型通信网络,能够实现节点与节点之间的多跳无线通信。随着无线网络技术的不断发展以及各种新应用的不断涌现,迫切需要无线网络能够接入互联网以满足用户急剧增长的应用需求。

无线网络具有移动速度快、节点数量多等特点。基于IPv6的互联网(以下简称IPv6网络)具有移动性支持、地址资源丰富等优点。因此,无线网络接入IPv6网络成为满足用户应用需求的理想解决方案。

目前的研究人员提出了无线网络通过接入基于IPv6的互联网获取网络服务的模式并定义了相应的协议栈,但是由于无线网络的体系结构与IPv6网络不同,现有的接入方法具有一些局限性。因此需要提出一种无线网络的通信实现方法,从而降低数据获取时间,提高服务质量。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种无线网络通信的实现方法。

技术方案:本发明公开了一种无线网络通信的实现方法,其特征在于,所述无线网络划分为两个以上的子网,每个子网包含一个接入路由器和两个以上的移动节点,子网通过接入路由器与互联网相连;

所述子网中包含三类节点:数据提供节点,数据消费节点以及普通节点,其中数据提供节点为有权限提供一种特定类型数据(例如,电影)的移动节点,数据消费节点为有权限消费一种特定类型数据的移动节点,普通节点为既不是数据提供节点也不是数据消费节点的移动节点,用于执行路由转发功能;

所述无线网络包括唯一标识一种特定类型的数据的任播地址,所有有权限提供该种特定类型数据的数据提供节点构成一个任播组,该任播组由任播地址唯一标识,即为标识该种特定类型数据的任播地址;任播组里的节点称为任播组成员;

所有有权限消费一种特定类型数据的数据消费节点构成一个多播组,该多播组由一个多播地址唯一标识;多播组里的节点称为多播组成员;

一个移动节点的单播地址用于全局路由,由两部分构成:第一部分为网络前缀,长度为128-i比特,例如,i可以设置为64比特或者32比特,网络前缀唯一标识一个子网,一个子网中的所有移动节点的单播地址的网络前缀都相同,其值等于相同子网中的接入路由器的网络前缀;第二部分为节点ID,长度为i比特,该节点ID在子网中具有唯一性,唯一标识一个移动节点;节点ID的分配空间为[1,2j],j<i;

一个任播地址由两部分构成:网络前缀和任播ID,网络前缀的长度为128-i比特,任播ID的长度为i比特,任播地址具有网络唯一性;任播ID的分配空间为[2j+1,2i-1];

一种特定类型的数据划分K个部分,第k个部分内容的标记为:任播地址k;k属于1~K;例如,一部电视剧有K集,第k个部分内容标识一部电视剧的第k集;

一个数据地址用于获取一种特定类型的数据,包括三个部分:第一部分为单播地址中的节点ID,第二部分为任播地址中的任播ID,第三部分为部分集合,其值为所请求数据的部分的值;部分集合可以为1,2等值,如果该值为0,则说明请求的数据为完整的数据,例如整部电视连续剧;

一个多播组成员保存一个数据路由表,用于记录提供该多播组数据的任播成员信息;一个数据路由表项记录一个任播组成员的信息,一个数据路由表项分为四个域:单播地址域,任播地址域,部分域和距离域,其中单播地址域为任播组成员的单播地址,任播地址域值为多播组有权获取数据的类型所对应的任播地址,部分域值标识数据的对应部分数,例如,部分域值为1时可以表示为一个电视连续剧的第1集;距离域表示多播组成员距离任播组成员的跳数;一个子网包含一个以上多播组,该子网的接入路由器默认为是该子网中每个多播组的组成员。

上述过程构建了网络获取数据的基本体系结构,通过上述网络体系结构,数据消费节点可以从距离最近的数据提供节点获取数据,从而大幅度降低数据获取的代价和延迟。

本发明所述方法中,在任播组成员P1的任播地址为A1,多播地址为M1的多播组成员有权限获取多播地址A1定义的数据的情况下;任播组成员P1产生了任播地址A1定义的第k个部分数据后进行如下操作:

步骤101:开始;

步骤102:任播组成员P1发送一个数据分享消息,数据分享消息的目的地址为多播地址M1,源地址为任播组成员P1的单播地址,数据分享消息的负载为k和任播地址A1;

步骤103:多播地址为M1的多播组成员收到数据分享消息后,在自己的数据路由表中增加一个表项,表项的单播地址域为任播组成员P1的单播地址,任播地址域为A1,部分域值为k,距离域为该多播组成员与任播组成员P1的距离;

步骤104:结束。

上述过程构建了到达任播组成员的数据路由表,通过上述数据路由表,数据消费节点可以从距离最近的数据提供节点获取数据,从而大幅度降低数据获取的代价和延迟。

本发明所述方法中,在多播地址为M1的多播组成员有权限获取任播地址A1标识的数据的情况下,如果多播组成员C3位于子网N1内,且任播地址A1的网络前缀隶属于N1,多播地址为M1的多播组成员C3要获取任播地址A1标识的第k部分数据,则执行下述过程:

步骤201:开始;

步骤202:多播组成员C3查看自己的数据路由表,选择距离自己最近且能提供任播地址A1标识的第k部分数据的任播组成员P2,构建一个数据地址,数据地址的节点ID为任播组成员P2的节点ID,任播ID为任播地址A1对应的任播ID,部分集合值为k;多播组成员C3向任播组成员P2发送数据请求消息,数据请求消息的目的地址为数据地址,数据请求消息的源地址为多播组成员C3的单播地址;

步骤203:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点自己的单播地址,目的地址为多播组成员C3的单播地址,数据响应消息的负载为任播地址A1标识的第k部分数据,进行步骤205;

情况2:如果接收到数据请求消息的节点为任播组成员P2,进行步骤204;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤203;

步骤204:任播组成员P2向多播组成员C3返回一个数据响应消息,数据响应消息的源地址为任播组成员P2的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据;

步骤205:如果接收到数据响应消息的节点为多播地址M1中的多播组成员,且该多播组成员同时也想获取任播地址A1标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A1标识的第k部分数据,最终数据响应消息到达多播组成员C3;

步骤206:结束。

通过上述过程,数据消费节点可以从距离最近的数据提供节点在本地网络获取数据,从而大幅度降低数据获取的代价和延迟。

本发明所述方法中,多播地址为M1的多播组成员有权限获取任播地址A1标识的数据,多播组成员C3位于子网N1内,子网N1中的接入路由器为AR1,任播地址A1的网络前缀隶属于N1,多播地址为M1的多播组成员C3从任播组成员P2获取任播地址A1标识的第k部分数据,多播组成员C3发送给任播组成员P2的数据请求消息达到任播组成员P2的前一跳节点E1后,如果前一跳节点E1检测到任播组成员P2不可达,那么多播组成员C3从过下述过程获取任播地址A1标识的第k部分数据:

步骤301:开始;

步骤302:前一跳节点E1将接收到的数据请求消息的目的地址中的节点ID修改为接入路由器AR1的节点ID,然后发送数据请求消息;

步骤303:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点自己的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据,进行步骤307;

情况2:如果接收到数据请求消息的节点为接入路由器AR1,进行步骤304;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤303;

步骤304:接入路由器AR1选择距离自己最近且能提供任播地址A1标识的第k部分数据的任播组成员P3,将接收到的数据请求消息的目的地址的节点ID更新为任播组成员P3的节点ID,然后发送该数据请求消息;

步骤305:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据,进行步骤307;

情况2:如果接收到数据请求消息的节点为任播组成员P3,则进行步骤306;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤305;

步骤306:任播组成员P3向多播组成员C3返回一个数据响应消息,数据响应消息的源地址为它的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据;

步骤307:如果接收到数据响应消息的节点为多播地址M1中的多播组成员同时也想获取任播地址A1标识的第k部分数据,那么接收到数据响应消息的节点直接保存数据响应消息中的任播地址A1标识的第k部分数据,最终数据响应消息到达多播组成员C3;

步骤308:结束。

如果数据消费节点无法从距离最新的数据提供节点获取数据,那么它可以从本地网络的其他数据提供节点获取数据,从而大幅度增加了获取数据的成功率。

本发明所述方法中,多播地址为M1的多播组成员有权限获取任播地址A1标识的数据,如果多播组成员C3位于子网N1内,子网N1的接入路由器为AR1,任播地址A2的网络前缀隶属于N2,如果多播地址为M1的多播组成员C3要获取任播地址A2标识的第k部分数据,那么多播组成员C3首先查看数据路由表,如果存在任播ID为A2且部分域值为k的表项,那么多播组成员C3通过执行步骤201到步骤205中获取任播地址A1标识的第k部分数据的方式,获取任播地址A2标识的第k部分数据,否则多播组成员C3执行下述过程获取数据:

步骤401:开始;

步骤402:多播组成员C3发送远程数据请求消息,远程数据请求消息的目的地址为任播地址A2,源地址为多播组成员C3的单播地址,负载为k;

步骤403:接收到数据请求消息的节点分为三种情况处理接收到的远程数据请求消息:

情况1:如果接收到远程数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A2标识的第k部分数据,那么接收到远程数据请求消息的节点返回一个远程数据响应消息并停止转发接收到的远程数据请求消息,远程数据响应消息的源地址为它的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A2标识的第k部分数据,进行步骤410;

情况2:如果接收到远程数据请求消息的节点为接入路由器AR1,进行步骤404;

情况3:如果情况1和情况2都不符合,则接收到远程数据请求消息的节点将远程数据请求消息转发到下一跳,进行步骤403;

步骤404:接入路由器AR1将接收到的远程数据请求消息发送到互联网,最终,远程数据请求消息到达接入路由器AR2;

步骤405:接入路由器AR2查看自己的数据路由表,选择距离自己最近且能提供任播地址A2标识的第k部分数据的任播组成员P3,接入路由器AR2构建一个数据地址,数据地址的节点ID为任播组成员P3的节点ID,任播ID为任播地址A2的任播ID,部分集合值为k,接入路由器AR2向任播组成员P3发送数据请求消息,数据请求消息的目的地址为数据地址,源地址为接入路由器AR2的单播地址;

步骤406:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A2标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为它的单播地址,目的地址为接入路由器AR2的单播地址,负载为任播地址A2标识的第k部分数据,进行步骤408;

情况2:如果接收到数据请求消息的节点为任播组成员P3,进行步骤407;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤:406;

步骤407:任播组成员P3向接入路由器AR2返回一个数据响应消息,数据响应消息的源地址为它的单播地址,目的地址为接入路由器AR2的单播地址,负载为任播地址A2标识的第k部分数据;

步骤408:如果接收到数据响应消息的节点为多播地址M1中的多播组成员,该多播组成员同时也想获取任播地址A2标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A2标识的第k部分数据,最终数据响应消息到达接入路由器AR2;

步骤409:接入路由器AR2返回一个远程数据响应消息,远程数据响应消息的目的地址为多播组成员C3的单播地址,负载为任播地址A2标识的第k部分数据;

步骤410:如果接收到远程数据响应消息的节点为多播地址M1中的多播组成员,该多播组成员同时也想获取任播地址A2标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A2标识的第k部分数据,最终远程数据响应消息到达多播组成员C3;

步骤411:结束。

如果数据消费节点无法从本地网络获取数据,那么它可以通过其他网络的数据提供节点远程获取数据,从而大幅度增加了获取数据的成功率。

本发明所述方法中,每个任播组成员定期向所在网络的接入路由器发送更新消息,更新消息的源地址为任播组成员的单播地址,负载为所在任播组的任播地址以及所能提供的数据部分值k;

如果在预定时间内,例如10分钟,接入路由器没有收到任播组成员的更新消息,则将该任播组成员对应的表项从数据路由表中删除,然后接入路由器向有权利获取该任播地址所定义的数据的多播组成员发送一条删除消息,删除消息的目的地址为多播组的多播地址,负载为该任播组成员的单播地址;多播组成员收到删除消息后,查看自己的数据路由表,删除单播地址域值等于删除消息中的单播地址的路由表项;

任播组成员的任播地址为A1,任播组成员移动到一个新的子网后,向新的子网的接入路由器发送更新消息,接收到更新消息的接入路由器在自己的数据路由表中增加该任播组成员的表项,同时向有权利获取任播地址A1所定义的数据的多播组成员发送一条增加消息,增加消息的目的地址为该多播组的多播地址,负载为该任播组成员的单播地址,任播地址以及所能提供的数据部分值k;多播组成员收到增加消息后,在数据路由表中增加该任播组成员的路由表项。

上述过程确保了数据路由表的正确性,即使数据提供节点从一个网络移动到另外一个网络,数据消费节点任然可以通过数据路由表查找距离最近的数据提供节点,从而从距离最近的数据提供节点获取数据,从而大幅度增加了获取数据的成功率,也降低了获取数据的代价和延迟。

有益效果:本发明提供了一种无线网络通信的实现方法,所述无线网络通过本发明所提供的实现方法可获取网络数据,同时保持通信的连续性,缩短数据获取代价和延迟,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的无线网络体系结构示意图。

图2为本发明所述的单播地址结构示意图。

图3为本发明所述的任播地址结构示意图。

图4为本发明所述的数据地址结构示意图。

图5为本发明所述的数据路由表表项结构示意图。

图6为本发明所述的创建路由流程示意图。

图7为本发明所述的子网内获取数据流程示意图。

图8为本发明所述的最优数据提供节点失效时的子网内获取数据流程示意图。

图9为本发明所述的子网间获取数据流程示意图。

具体实施方式:

本发明提供了一种无线网络通信的实现方法,所述无线网络通过本发明所提供的实现方法可获取网络数据,同时保持通信的连续性,缩短数据获取代价和延迟,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

图1为本发明所述的无线网络体系结构示意图。所述无线网络划分为两个以上的子网1,每个子网1包含一个接入路由器2和两个以上的移动节点,子网1通过接入路由器2与互联网相连;

所述子网中包含三类节点:数据提供节点3,数据消费节点4以及普通节点5,其中数据提供节点3为有权限提供一种特定类型数据(例如,电影)的移动节点,数据消费节点4为有权限消费一种特定类型数据的移动节点,普通节点5为既不是数据提供节点也不是数据消费节点的移动节点,用于执行路由转发功能;

所述无线网络包括唯一标识一种特定类型的数据的任播地址,所有有权限提供该种特定类型数据的数据提供节点3构成一个任播组,该任播组由任播地址唯一标识,即为标识该种特定类型数据的任播地址;任播组里的节点称为任播组成员;

所有有权限消费一种特定类型数据的数据消费节点4构成一个多播组,该多播组由一个多播地址唯一标识;多播组里的节点称为多播组成员。

图2为本发明所述的单播地址结构示意图。一个移动节点的单播地址用于全局路由,由两部分构成:第一部分为网络前缀,长度为128-i比特,例如,i可以设置为64比特,网络前缀唯一标识一个子网,一个子网中的所有移动节点的单播地址的网络前缀都相同,其值等于相同子网中的接入路由器的网络前缀;第二部分为节点ID,长度为i比特,该节点ID在子网中具有唯一性,唯一标识一个移动节点;节点ID的分配空间为[1,2j],j<i。

图3为本发明所述的任播地址结构示意图。一个任播地址由两部分构成:网络前缀和任播ID,网络前缀的长度为128-i比特,任播ID的长度为i比特,任播地址具有网络唯一性;任播ID的分配空间为[2j+1,2i-1]。一种特定类型的数据划分K个部分,第k个部分内容的标记为:任播地址k;k属于1~K;例如,一部电视剧有K集,第k个部分内容标识一部电视剧的第k集。

图4为本发明所述的数据地址结构示意图。一个数据地址用于获取一种特定类型的数据,包括三个部分:第一部分为单播地址中的节点ID,第二部分为任播地址中的任播ID,第三部分为部分集合,其值为所请求数据的部分的值;部分集合可以为1,2等值,如果该值为0,则说明请求的数据为完整的数据,例如整部电视连续剧。

图5为本发明所述的数据路由表表项结构示意图。一个多播组成员保存一个数据路由表,用于记录提供该多播组数据的任播成员信息;一个数据路由表项记录一个任播组成员的信息,一个数据路由表项分为四个域:单播地址域,任播地址域,部分域和距离域,其中单播地址域为任播组成员的单播地址,任播地址域值为多播组有权获取数据的类型所对应的任播地址,部分域值标识数据的对应部分数,例如,部分域值为1时可以表示为一个电视连续剧的第1集;距离域表示多播组成员距离任播组成员的跳数;一个子网包含一个以上多播组,该子网的接入路由器默认为是该子网中每个多播组的组成员。

上述过程构建了网络获取数据的基本体系结构,通过上述网络体系结构,数据消费节点可以从距离最近的数据提供节点获取数据,从而大幅度降低数据获取的代价和延迟。

图6为本发明所述的创建路由流程示意图。在任播组成员P1的任播地址为A1,多播地址为M1的多播组成员有权限获取多播地址A1定义的数据的情况下;任播组成员P1产生了任播地址A1定义的第k个部分数据后进行如下操作:

步骤101:开始;

步骤102:任播组成员P1发送一个数据分享消息,数据分享消息的目的地址为多播地址M1,源地址为任播组成员P1的单播地址,数据分享消息的负载为k和任播地址A1;

步骤103:多播地址为M1的多播组成员收到数据分享消息后,在自己的数据路由表中增加一个表项,表项的单播地址域为任播组成员P1的单播地址,任播地址域为A1,部分域值为k,距离域为该多播组成员与任播组成员P1的距离;

步骤104:结束。

上述过程构建了到达任播组成员的数据路由表,通过上述数据路由表,数据消费节点可以从距离最近的数据提供节点获取数据,从而大幅度降低数据获取的代价和延迟。

图7为本发明所述的子网内获取数据流程示意图。在多播地址为M1的多播组成员有权限获取任播地址A1标识的数据的情况下,如果多播组成员C3位于子网N1内,且任播地址A1的网络前缀隶属于N1,多播地址为M1的多播组成员C3要获取任播地址A1标识的第k部分数据,则执行下述过程:

步骤201:开始;

步骤202:多播组成员C3查看自己的数据路由表,选择距离自己最近且能提供任播地址A1标识的第k部分数据的任播组成员P2,构建一个数据地址,数据地址的节点ID为任播组成员P2的节点ID,任播ID为任播地址A1对应的任播ID,部分集合值为k;多播组成员C3向任播组成员P2发送数据请求消息,数据请求消息的目的地址为数据地址,数据请求消息的源地址为多播组成员C3的单播地址;

步骤203:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点自己的单播地址,目的地址为多播组成员C3的单播地址,数据响应消息的负载为任播地址A1标识的第k部分数据,进行步骤205;

情况2:如果接收到数据请求消息的节点为任播组成员P2,进行步骤204;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤203;

步骤204:任播组成员P2向多播组成员C3返回一个数据响应消息,数据响应消息的源地址为任播组成员P2的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据;

步骤205:如果接收到数据响应消息的节点为多播地址M1中的多播组成员,且该多播组成员同时也想获取任播地址A1标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A1标识的第k部分数据,最终数据响应消息到达多播组成员C3;

步骤206:结束。

通过上述过程,数据消费节点可以从距离最近的数据提供节点在本地网络获取数据,从而大幅度降低数据获取的代价和延迟。

图8为本发明所述的最优数据提供节点失效时的子网内获取数据流程示意图。多播地址为M1的多播组成员有权限获取任播地址A1标识的数据,多播组成员C3位于子网N1内,子网N1中的接入路由器为AR1,任播地址A1的网络前缀隶属于N1,多播地址为M1的多播组成员C3从任播组成员P2获取任播地址A1标识的第k部分数据,多播组成员C3发送给任播组成员P2的数据请求消息达到任播组成员P2的前一跳节点E1后,如果前一跳节点E1检测到任播组成员P2不可达,那么多播组成员C3从过下述过程获取任播地址A1标识的第k部分数据:

步骤301:开始;

步骤302:前一跳节点E1将接收到的数据请求消息的目的地址中的节点ID修改为接入路由器AR1的节点ID,然后发送数据请求消息;

步骤303:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点自己的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据,进行步骤307;

情况2:如果接收到数据请求消息的节点为接入路由器AR1,进行步骤304;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤303;

步骤304:接入路由器AR1选择距离自己最近且能提供任播地址A1标识的第k部分数据的任播组成员P3,将接收到的数据请求消息的目的地址的节点ID更新为任播组成员P3的节点ID,然后发送该数据请求消息;

步骤305:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A1标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据,进行步骤307;

情况2:如果接收到数据请求消息的节点为任播组成员P3,则进行步骤306;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤305;

步骤306:任播组成员P3向多播组成员C3返回一个数据响应消息,数据响应消息的源地址为它的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A1标识的第k部分数据;

步骤307:如果接收到数据响应消息的节点为多播地址M1中的多播组成员同时也想获取任播地址A1标识的第k部分数据,那么接收到数据响应消息的节点直接保存数据响应消息中的任播地址A1标识的第k部分数据,最终数据响应消息到达多播组成员C3;

步骤308:结束。

如果数据消费节点无法从距离最新的数据提供节点获取数据,那么它可以从本地网络的其他数据提供节点获取数据,从而大幅度增加了获取数据的成功率。

图9为本发明所述的子网间获取数据流程示意图。多播地址为M1的多播组成员有权限获取任播地址A1标识的数据,如果多播组成员C3位于子网N1内,子网N1的接入路由器为AR1,任播地址A2的网络前缀隶属于N2,如果多播地址为M1的多播组成员C3要获取任播地址A2标识的第k部分数据,那么多播组成员C3首先查看数据路由表,如果存在任播ID为A2且部分域值为k的表项,那么多播组成员C3通过执行步骤201到步骤205中获取任播地址A1标识的第k部分数据的方式,获取任播地址A2标识的第k部分数据,否则多播组成员C3执行下述过程获取数据:

步骤401:开始;

步骤402:多播组成员C3发送远程数据请求消息,远程数据请求消息的目的地址为任播地址A2,源地址为多播组成员C3的单播地址,负载为k;

步骤403:接收到数据请求消息的节点分为三种情况处理接收到的远程数据请求消息:

情况1:如果接收到远程数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A2标识的第k部分数据,那么接收到远程数据请求消息的节点返回一个远程数据响应消息并停止转发接收到的远程数据请求消息,远程数据响应消息的源地址为它的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址A2标识的第k部分数据,进行步骤410;

情况2:如果接收到远程数据请求消息的节点为接入路由器AR1,进行步骤404;

情况3:如果情况1和情况2都不符合,则接收到远程数据请求消息的节点将远程数据请求消息转发到下一跳,进行步骤403;

步骤404:接入路由器AR1将接收到的远程数据请求消息发送到互联网,最终,远程数据请求消息到达接入路由器AR2;

步骤405:接入路由器AR2查看自己的数据路由表,选择距离自己最近且能提供任播地址A2标识的第k部分数据的任播组成员P3,接入路由器AR2构建一个数据地址,数据地址的节点ID为任播组成员P3的节点ID,任播ID为任播地址A2的任播ID,部分集合值为k,接入路由器AR2向任播组成员P3发送数据请求消息,数据请求消息的目的地址为数据地址,源地址为接入路由器AR2的单播地址;

步骤406:接收到数据请求消息的节点分为三种情况处理接收到的数据请求消息:

情况1:如果接收到数据请求消息的节点为多播地址M1的多播组成员且具有任播地址A2标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停止转发接收到的数据请求消息,数据响应消息的源地址为它的单播地址,目的地址为接入路由器AR2的单播地址,负载为任播地址A2标识的第k部分数据,进行步骤408;

情况2:如果接收到数据请求消息的节点为任播组成员P3,进行步骤407;

情况3:如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求消息转发到下一跳,进行步骤406;

步骤407:任播组成员P3向接入路由器AR2返回一个数据响应消息,数据响应消息的源地址为它的单播地址,目的地址为接入路由器AR2的单播地址,负载为任播地址A2标识的第k部分数据;

步骤408:如果接收到数据响应消息的节点为多播地址M1中的多播组成员,该多播组成员同时也想获取任播地址A2标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A2标识的第k部分数据,最终数据响应消息到达接入路由器AR2;

步骤409:接入路由器AR2返回一个远程数据响应消息,远程数据响应消息的目的地址为多播组成员C3的单播地址,负载为任播地址A2标识的第k部分数据;

步骤410:如果接收到远程数据响应消息的节点为多播地址M1中的多播组成员,该多播组成员同时也想获取任播地址A2标识的第k部分数据,那么该多播组成员直接保存数据响应消息中的任播地址A2标识的第k部分数据,最终远程数据响应消息到达多播组成员C3;

步骤411:结束。

如果数据消费节点无法从本地网络获取数据,那么它可以通过其他网络的数据提供节点远程获取数据,从而大幅度增加了获取数据的成功率。

每个任播组成员定期向所在网络的接入路由器发送更新消息,更新消息的源地址为任播组成员的单播地址,负载为所在任播组的任播地址以及所能提供的数据部分值k;

如果在预定时间内,例如10分钟,接入路由器没有收到任播组成员的更新消息,则将该任播组成员对应的表项从数据路由表中删除,然后接入路由器向有权利获取该任播地址所定义的数据的多播组成员发送一条删除消息,删除消息的目的地址为多播组的多播地址,负载为该任播组成员的单播地址;多播组成员收到删除消息后,查看自己的数据路由表,删除单播地址域值等于删除消息中的单播地址的路由表项;

任播组成员的任播地址为A1,任播组成员移动到一个新的子网后,向新的子网的接入路由器发送更新消息,接收到更新消息的接入路由器在自己的数据路由表中增加该任播组成员的表项,同时向有权利获取任播地址A1所定义的数据的多播组成员发送一条增加消息,增加消息的目的地址为该多播组的多播地址,负载为该任播组成员的单播地址,任播地址以及所能提供的数据部分值k;多播组成员收到增加消息后,在数据路由表中增加该任播组成员的路由表项。

上述过程确保了数据路由表的正确性,即使数据提供节点从一个网络移动到另外一个网络,数据消费节点任然可以通过数据路由表查找距离最近的数据提供节点,从而从距离最近的数据提供节点获取数据,从而大幅度增加了获取数据的成功率,也降低了获取数据的代价和延迟。

实施例1

基于表1的仿真参数,本实施例模拟了本发明中的无线网络实现方法,性能分析如下:当数据提供节点增加时,获取数据的代价和延迟随之降低,当数据提供节点数量为10的时候,获取数据的代价为12,延迟为100ms。当数据提供节点与数据消费节点的平均距离增加时,获取数据的代价和延迟随之增加,当数据提供节点与数据消费节点的平均距离为3跳,获取数据的代价为12,延迟为80ms.

表1 仿真参数

本发明提供了一种无线网络通信的实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

一种无线网络通信的实现方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部