1.一种基于定位信息的移动网络通信实现方法,其特征在于,所述移动网络包括三种节点:一个网关、一个以上的全功能节点以及一个以上的部分功能节点;网关是固定节点,是用于连接移动网络和IPv6互联网的接入路由器;全功能节点包括骨干全功能节点、定位全功能节点和移动全功能节点,骨干全功能节点和移动全功能节点具有路由转发功能,骨干全功能节点为固定节点;定位全功能节点为固定节点,其地理坐标已知,定位全功能节点用于定位且不具有路由转发功能呢;部分功能节点为用于收集数据的节点,不具有路由转发功能;定位全功能节点均匀分布于移动网络,骨干全功能节点和移动全功能节点通过定位全功能节点计算自己的地理坐标;
在一个移动网络内,一个网关和所有的骨干全功能节点以及移动全功能节点构建成路由骨干网,其拓扑结构为树状结构,称为网关树,树根节点为网关,中间节点为骨干全功能节点,叶子节点为移动全功能节点;位于两个以上的移动网络覆盖区域内的骨干全功能节点称为公共节点,公共节点具有两个以上IPv6地址,每个IPv6地址分别隶属于不同的移动网络;
一个移动全功能节点与一跳范围内的部分功能节点组成移动簇,簇首节点为移动全功能节点;一个移动簇作为一个整体移动,部分功能节点通过本簇簇首节点所在的网关树与IPv6互联网进行通信;部分功能节点在移动过程中不配置转交地址,在整个生命周期由家乡地址唯一标识,移动全功能节点在移动过程中配置转交地址用于确保路由正确性;
全功能节点和部分功能节点的IPv6地址包括三个部分:第一部分是全局路由前缀,它唯一确定一个移动网络,在一个移动网络中获取的IPv6地址的全局路由前缀都相同,其值等于该移动网络中网关的全局路由前缀;第二部分是节点类型,节点类型值为0,则表明为部分全功能节点,节点类型值为1,则表明为骨干全功能节点,节点类型值为2,则表明为移动全功能节点,节点类型值为3,则表明为定位全功能节点;第三部分是节点ID,节点ID唯一标识移动网络中的一个骨干全功能节点、移动全功能或者部分功能节点;节点类型和节点ID构成链路地址;网关的链路地址中的节点类型值为1,节点ID为0,骨干全功能节点、移动全功能节点和部分功能节点的节点ID不为0;网关的IPv6地址预先设置;
骨干全功能节点或者移动全功能节点的节点ID的有效长度l与该全功能节点所在网关树的深度d成正比,如公式(1)所示:l=σ-2+σ·(d-1);d≥1,σ>2 (1),
其中,σ为比例系数,如果深度d等于1,则可分配全功能地址区间为[1,2σ-2-1];如果深度d大于1,则可分配全功能地址区间为[1,2σ-1];
网关在一跳范围内定期广播信标帧,信标帧负载为所在移动网络的全局路由前缀;骨干全功能节点或者移动全功能节点通过接收网关的信标帧获取全局路由前缀并获取IPv6地址;骨干全功能节点获取IPv6地址后,在一跳范围内广播信标帧,帧负载为全局路由前缀、工作信道和可分配全功能地址区间长度;移动全功能节点不能为其他全功能节点分配IPv6地址,其可分配全功能地址区间长度为0;
骨干全功能节点在获取IPv6地址之前,将自己MAC地址与全局路由前缀相结合获得临时IPv6地址,节点类型值为1;移动全功能节点在获取IPv6地址之前,将自己MAC地址与全局路由前缀相结合获得临时IPv6地址,节点类型值为2;定位全功能节点将自己MAC地址与全局路由前缀相结合获得临时IPv6地址,节点类型值为3;定位全功能节点只用于定位,不获取IPv6地址,始终由临时IPv6地址来标识自己;
全功能节点Y启动后,扫描所有信道并接收邻居网关或者邻居骨干全功能节点广播的信标帧,并选择从所在网关树深度值最小且可分配全功能地址区间不为0的网关或者骨干全功能节点获取地址;如果所在网关树深度值最小且可分配全功能地址区间不为0的网关或者骨干全功能节点的可分配全功能地址区间长度为[L,U],L
步骤102:全功能节点Y向邻居网关或者骨干全功能节点发送全功能地址请求消息,全功能地址请求消息源地址为全功能节点Y的临时IPv6地址,目的地址为邻居网关或者骨干全功能节点的IPv6地址;
步骤103:邻居网关或者骨干全功能节点收到全功能地址请求消息后,将自己的可分配全功能地址区间长度设置为[L+1,U],然后构建一个IPv6地址,该IPv6地址的全局路由前缀为自己IPv6地址的全局路由前缀,节点类型为全功能地址请求消息的源地址中的节点类型,节点ID设置为自己IPv6地址的节点ID,然后将该IPv6地址中的节点ID有效长度扩展σ比特并将扩展的比特位值设置为L,最后,邻居网关或者骨干全功能节点向全功能节点Y返回一个全功能地址响应消息,负载构建的IPv6地址;
步骤104:全功能节点Y收到全功能地址响应消息后,将自己的IPv6地址设置为全功能地址响应消息中的IPv6地址,同时将邻居网关或者骨干全功能节点标记为自己的父节点;
步骤105:如果全功能节点Y为移动全功能节点,那么它将自己的家乡地址和转交地址全部设置为全功能地址响应消息中的IPv6地址;
步骤106:结束;
移动网络内的所有骨干全功能节点和移动全功能节点通过步骤101~106获取IPv6地址,同时构建基于网关树的路由骨干网,网关树通过目的地址即可实现路由;
如果骨干全功能节点能够同时接收来自不同移动网络的骨干全功能节点的信标帧,那么针对每个移动网络,该骨干全功能节点通过步骤101~106获取一个IPv6地址,同时将自己标记为公共节点;公共节点广播的信标帧负载为工作信道信息、可分配全功能地址区间长度,以及其所有IPv6地址的全局路由前缀。
2.根据权利要求1所述的一种基于定位信息的移动网络通信实现方法,其特征在于,骨干全功能节点只作为路由骨干网的节点存在并且不构建簇,骨干全功能节点的可分配部分功能地址区间长度为0;移动全功能节点获取IPv6地址后,在一跳范围内广播信标帧,信标帧负载为其家乡IPv6地址和可分配部分功能地址区间长度;
部分功能节点启动后,扫描所有信道并接收邻居移动全功能节点广播的信标帧,选择从信号强度最大且可分配部分功能地址区间长度不为0的移动全功能节点获取地址,如果该移动全功能节点的可分配全功能地址区间长度为[L1,U1],L1
步骤202:部分功能节点向移动全功能节点发送部分功能节点地址请求消息;
步骤203:移动全功能节点收到部分功能节点地址请求消息后,将自己的可分配部分功能地址区间长度设置为[L1+1,U1],构建一个IPv6地址,将该IPv6地址的全局路由前缀设置为自己IPv6地址的全局路由前缀,节点类型值为0,节点ID设置为自己IPv6地址的节点ID,移动全功能节点将该IPv6地址中的节点ID有效长度扩展2σ比特,前σ比特设置为0,后σ比特设置为L1;移动全功能节点向全功能节点Y返回一个部分功能地址响应消息,消息负载构建的IPv6地址;
步骤204:部分功能节点收到部分功能地址响应消息后,将自己的IPv6地址设置为该部分功能地址响应消息中的IPv6地址,同时将移动全功能节点标记为簇首节点;
步骤205:结束;
部分功能节点获取IPv6地址后,它的地址在整个生命周期都保持不变。
3.根据权利要求2所述的一种基于定位信息的移动网络通信实现方法,其特征在于,骨干全功能节点获取IPv6地址后,扫描所有信道接收邻居骨干全功能节点的信标帧,从而获取邻居骨干全功能节点的工作信道;定位全功能节点扫描所有信道接收邻居骨干全功能节点的信标帧,用于保存邻居骨干全功能节点的工作信道,对于每个邻居骨干全功能节点的工作信道,定位全功能节点广播一个信标帧,信标帧负载为定位全功能节点自己的地理坐标;
如果一个骨干全功能节点或者移动全功能节点收到NA个定位全功能节点的信标帧,定位全功能节点的地理坐标为(xi,yi),1≤i≤NA,那么它执行公式(2)和(3)获取自己的地理坐标(x,y),骨干全功能节点或者移动全功能节点获取地理坐标后,在信标帧中定期广播其地理坐标;
如果骨干全功能节点B1的地理坐标为(x1,y1),骨干全功能节点B2的地理坐标为(x2,y2),骨干全功能节点B1和骨干全功能节点B2为邻居节点,骨干全功能节点B1通过接收骨干全功能节点B2的信标帧获取了骨干全功能节点B2的地理坐标(x2,y2),那么通过公式(4)计算骨干全功能节点B1与骨干全功能节点B2的相对角度φB1-B2,其中c为任意正整数;
如果移动全功能节点X的父节点为骨干全功能节点Y,骨干全功能节点Y有N个邻居骨干全功能节点,骨干全功能节点Y接收到N个邻居骨干全功能节点的信标帧获取地理坐标后,计算它与每个邻居骨干全功能节点的相对角度,然后按照相对角度降序排列,排序后的邻居骨干全功能节点记做Zn,1≤n≤N,2≤N。
4.根据权利要求3所述的一种基于定位信息的移动网络通信实现方法,其特征在于,在骨干全功能节点Y与移动全功能节点X的相对角度为φY-X,骨干全功能节点Y与邻居骨干全功能节点Zn的相对角度为 骨干全功能节点Y与邻居骨干全功能节点Zn+1 MOD N的相对角度为 的条件下,如果骨干全功能节点Y检测到X与自己的距离大于一定域值,且相对角度φY-X满足公式(5),那么骨干全功能节点Y执行下述过程来确定移动全功能节点X的下一个父节点:
步骤301:开始;
步骤302:骨干全功能节点Y根据公式(6)和公式(7)计算移动全功能节点X与骨干全功能节点Zn的绝对角度 以及移动全功能节点X与骨干全功能节点Z(n+1)MOD N之间的绝对角度步骤303:如果绝对角度 大于绝对角度 则进行步骤304,否则进行步骤
305;
步骤304:骨干全功能节点Y选择骨干全功能节点Zn为移动全功能节点X的下一个父节点,执行步骤308;
步骤305:如果绝对角度 小于绝对角度 则执行步骤306,否则执行步骤
307;
步骤306:骨干全功能节点Y选择骨干全功能节点Zn+1 MOD N为移动全功能节点X的下一个父节点,执行步骤308;
步骤307:骨干全功能节点Y重新获取移动全功能节点X的地理坐标,计算绝对角度和绝对角度 执行步骤303;
步骤308:结束;
5.根据权利要求4所述的一种基于定位信息的移动网络通信实现方法,其特征在于,公共节点属于两个以上移动网络,则由角度区间来确定公共节点属于的对应移动网络;
如果移动全功能节点X的下一个父节点Zn为公共节点,那么公共节点Zn根据它与移动全功能节点X的相对角度 来确定移动全功能节点X进入的下一个网络;
如果公共节点Zn属于K个移动网络,第k个移动网络由闭区间定义,其中1≤k≤K,[αk,α(k+1)MOD K],αk<α(k+1)MOD K;
或者
[αk,360°]∪[0°,α(k+1)MOD K],αk>α(k+1)MOD K;
那么公共节点Zn根据以下步骤确定移动全功能节点X将要进入的下一个移动网络:
步骤401:开始;
步骤402:公共节点Zn从骨干全功能节点Y获取移动全功能节点X的地理坐标(x,y),然后计算自己与移动全功能节点X的相对角度步骤403:如果 满足公式(8),那么执行步骤404,否则执行步骤405;
步骤404:公共节点Zn判断出移动全功能节点X的下一个移动网络为第j个移动网络,执行步骤406;
步骤405:公共节点Zn从骨干全功能节点Y重新获取移动全功能节点X的地理坐标(x,y),然后计算自己与移动全功能节点X的相对角度 执行步骤403;
步骤406:结束。
6.根据权利要求5所述的一种基于定位信息的移动网络通信实现方法,其特征在于,网关保存一个地址绑定表和一个地址对照表;地址绑定表用于记录在本移动网络获取家乡地址的移动全功能节点当前所在移动网络的网关地址,地址绑定表每个表项包括两个域:移动全功能节点地址和其所在移动网络的网关地址;地址对照表用于记录外来移动全功能节点的地址绑定信息,包括移动全功能节点家乡地址域和转交地址域;
每个骨干全功能节点保存一个切换表,每个切换表项由四个域构成:移动全功能节点地址域,前一个父节点地址域,转交地址域以及工作信道域值;其中,移动全功能节点地址域值为移动全功能节点的家乡地址,前一个父节点地址域值为移动全功能节点的前一个父节点的地址,转交地址域值为前一个父节点分配给移动全功能节点的转交地址,工作信道域值为前一个父节点的工作信道;
如果移动全功能节点X的父节点为骨干全功能节点Y,当骨干全功能节点Y检测到移动全功能节点X即将离开自己的通信范围时,骨干全功能节点Y选择邻居骨干全功能节点Z作为移动全功能节点X的下一个父节点;如果骨干全功能节点Z不是公共节点,那么骨干全功能节点Y进行如下移动切换操作:步骤501:开始;
步骤502:骨干全功能节点Y保存节点X当前的转交地址,同时向骨干全功能节点Z发送切换消息,切换消息负载为移动全功能节点X的家乡地址;
步骤503:骨干全功能节点Z收到切换消息后,为移动全功能节点X分配一个新的转交地址,然后向骨干全功能节点Y返回切换响应消息,切换响应消息负载为移动全功能节点X的家乡地址和新的转交地址;
步骤504:骨干全功能节点Y收到切换响应消息后,向移动全功能节点X发送切换消息,发送给移动全功能节点X的切换消息负载内容为骨干全功能节点Z的工作信道以及移动全功能节点X的新的转交地址;
步骤505:移动全功能节点X收到骨干全功能节点Y的切换消息后,向骨干全功能节点Y返回切换响应消息,然后采用骨干全功能节点Z的工作信道实现与骨干全功能节点Z的二层切换,二层切换后,将骨干全功能节点Z标记为父节点Z,同时开始采用新的转交地址与父节点Z进行通信,节点X向节点Z发送信标帧,信标帧负载为家乡地址、节点Y的地址、节点Y为自己分配的转交地址以及节点Y的工作信道;节点Z接收到节点X的信标帧之后,在切换表中创建一个表项,该表项的移动全功能节点地址域值为节点X的家乡地址,前一个父节点地址域值为节点Y的地址,转交地址域值为节点Y分配给节点X的转交地址,工作信道域值为节点Y的工作信道;
步骤506:骨干全功能节点Y向所在移动网络的网关G发送切换消息,切换消息负载为移动全功能节点X的家乡地址和新的转交地址,网关G收到切换消息后,将移动全功能节点X的转交地址更新为切换消息中的新的转交地址并向骨干全功能节点Y返回切换响应消息;
步骤507:骨干全功能节点Y收到网关G和移动全功能节点X的切换确认消息后,确认移动切换完成;
步骤508:结束。
7.根据权利要求6所述的基于定位信息的移动网络通信实现方法,其特征在于,在移动全功能节点X的父节点为骨干全功能节点Y的条件下,当骨干全功能节点Y检测到移动全功能节点X即将离开自己的通信范围时,骨干全功能节点Y选择骨干全功能节点Z作为移动全功能节点X的下一个父节点;如果骨干全功能节点Z是公共节点,那么骨干全功能节点Y进行如下移动切换操作:步骤601:开始;
步骤602:骨干全功能节点Y保存节点X当前的转交地址,向骨干全功能节点Z发送切换消息,切换消息负载为移动全功能节点X的家乡地址以及地理坐标;
步骤603:骨干全功能节点Z收到切换消息后,根据节点X的地理坐标计算自己与节点X的相对角度从而判断移动全功能节点X所要进入的下一个网络,骨干全功能节点Z为移动全功能节点X分配在下一个移动网络中的转交地址,并向骨干全功能节点Y返回切换响应消息,切换响应消息负载为移动全功能节点X的家乡地址和新的转交地址,同时骨干全功能节点Z向下一个移动网络中的网关G2发送切换消息,切换消息负载为移动全功能节点X的家乡地址和新的转交地址;网关G2收到切换消息后,在地址绑定表中建立移动全功能节点X的表项;
步骤604:骨干全功能节点Y收到切换响应消息后,向移动全功能节点X发送切换消息,切换消息负载为骨干全功能节点Z的工作信道以及移动全功能节点X在下一个移动网络中的新的转交地址;
步骤605:移动全功能节点X收到骨干全功能节点Y的切换消息后,向骨干全功能节点Y返回切换响应消息,移动全功能节点X采用骨干全功能节点Z的工作信道实现与骨干全功能节点Z的二层切换,二层切换后,将骨干全功能节点Z标记为自己的父节点,并开始采用新的转交地址进行通信,节点X向节点Z发送信标帧,信标帧负载为家乡地址、节点Y的地址、节点Y为自己配置的转交地址以及节点Y的工作信道;节点Z接收到节点X的信标帧之后,在切换表中创建一个表项,该表项的移动全功能节点地址域值为节点X的家乡地址,前一个父节点地址域值为节点Y的地址,转交地址域值为节点Y分配给节点X的转交地址,工作信道域值为节点Y的工作信道;
步骤606:骨干全功能节点Y向移动全功能节点X的家乡网关HG发送切换消息,切换消息负载为移动全功能节点X的家乡地址和新的转交地址,网关HG收到切换消息后,更新全功能节点X的地址绑定表项,即将该表项的网关地址更新为网关G2的地址,并向骨干全功能节点Y返回切换响应消息,切换响应消息负载为移动全功能节点X的家乡地址;
步骤607:骨干全功能节点Y收到切换响应消息后,确认节点X的切换过程完成;
步骤608:结束。
8.根据权利要求6所述的一种基于定位信息的移动网络通信实现方法,其特征在于,如果骨干全功能节点Z检测到节点X即将脱离自己的通信范围且节点X的下一个父节点为节点Y,如果节点Y不是公共节点,那么节点Z进行下述移动切换操作:步骤701:开始;
步骤702:骨干全功能节点Z保存节点X当前的转交地址,同时查看切换表中节点X的表项,骨干全功能节点Z向移动全功能节点X发送切换消息,切换消息负载为该表项中的转交地址以及工作信道域值;
步骤703:移动全功能节点X收到切换消息后,向骨干全功能节点Z返回切换响应消息,采用切换消息中的工作信道实现与骨干全功能节点Y的二层切换,二层切换后,将骨干全功能节点Y标记为自己的父节点,同时开始采用切换消息中的转交地址与父节点Y进行通信,节点X向节点Y发送信标帧,信标帧负载为家乡地址、节点Z的地址、节点Z为自己分配的转交地址以及节点Z的工作信道;节点Y接收到节点X的信标帧之后,在切换表中创建一个表项,该表项的移动全功能节点地址域值为节点X的家乡地址,前一个父节点地址域值为节点Z的地址,转交地址域值为节点Z分配给节点X的转交地址,工作信道域值为节点Z的工作信道;
步骤704:骨干全功能节点Z向所在移动网络的网关G发送切换消息,切换消息负载为移动全功能节点X的家乡地址和节点X的切换表项中的转交地址域值,网关G收到切换消息后,将移动全功能节点X的转交地址更新为切换消息中的转交地址并向骨干全功能节点Z返回切换响应消息;
步骤705:骨干全功能节点Z收到网关G和移动全功能节点X的切换确认消息后,确认移动切换完成;
步骤706:结束。
9.根据权利要求8所述的基于定位信息的移动网络通信实现方法,其特征在于,如果骨干全功能节点Z检测到节点X即将脱离自己的通信范围且节点X的下一个父节点为节点Y,如果节点Y是公共节点,那么节点Z进行下述移动切换操作:步骤801:开始;
步骤802:骨干全功能节点Z保存节点X当前的转交地址,同时查看切换表中节点X的表项,向骨干全功能节点Y发送切换消息,切换消息负载为该表项中的家乡地址和转交地址以及节点X的地理坐标;
步骤803:骨干全功能节点Y收到切换消息后,根据节点X的地理坐标执行公式(4)计算自己与节点X的相对角度从而再执行步骤401~406来判断移动全功能节点X所要进入的下一个网络,如果下一个网络的全局路由前缀与切换消息中的转交地址的全局路由前缀不同,则为移动全功能节点X分配在下一个移动网络中的转交地址;骨干全功能节点Y向骨干全功能节点Z返回切换响应消息;如果下一个网络的全局路由前缀与切换消息中的转交地址的全局路由前缀不同,那么切换响应消息的负载为移动全功能节点X的家乡地址和新分配的转交地址,否则负载为节点X的家乡地址;骨干全功能节点Y向下一个移动网络中的网关G1发送切换消息,如果下一个网络的全局路由前缀与切换消息中的转交地址的全局路由前缀不同,那么切换消息的负载为移动全功能节点X的家乡地址和新分配的转交地址,否则负载为节点X的家乡地址和步骤802中节点X的切换表项中的转交地址;网关G1收到切换消息后,在地址绑定表中建立移动全功能节点X的表项,该表项的家乡地址为节点X的家乡地址,转交地址为切换消息中的转交地址;
步骤804:骨干全功能节点Z收到节点Y的切换响应消息后,如果切换响应消息负载中包含新分配的转交地址,那么将节点X的切换表项中的转交地址更新为切换消息中的转交地址,然后向移动全功能节点X发送切换消息,切换消息负载为节点X的切换表项中的转交地址以及工作信道域值;
步骤805:移动全功能节点X收到切换消息后,向骨干全功能节点Z返回切换响应消息,采用切换消息中的工作信道实现与骨干全功能节点Y的二层切换,二层切换后,将骨干全功能节点Y标记为自己的父节点,同时开始采用切换消息中的转交地址与父节点Y进行通信;
节点X向节点Y发送信标帧,信标帧负载为自己的家乡地址、节点Z的地址、节点Z为自己分配的转交地址以及节点Z的工作信道;节点Y接收到节点X的信标帧之后,在切换表中创建一个表项,该表项的移动全功能节点地址域值为节点X的家乡地址,前一个父节点地址域值为节点Z的地址,转交地址域值为节点Z分配给节点X的转交地址,工作信道域值为节点Z的工作信道;
步骤806:骨干全功能节点Z向移动全功能节点X的家乡网关HG发送切换消息,切换消息负载为移动全功能节点X的家乡地址和节点X的切换表项中的转交地址,网关HG收到切换消息后,构建网关G1的IPv6地址,该IPv6地址的全局路由前缀等于切换消息负载中的转交地址的全局路由前缀,节点类型值为1,节点ID为0,更新全功能节点X的地址绑定表项,即将该表项的网关地址更新为构建的网关G1的地址,并向骨干全功能节点Z返回切换响应消息,切换响应消息负载为移动全功能节点X的家乡地址;
步骤807:骨干全功能节点Z收到切换响应消息后,确认节点X的切换过程完成;
步骤808:结束。