[0139] 部分功能节点启动后,扫描所有信道并接收邻居移动全功能节点广播的信标帧,选择从信号强度最大且可分配部分功能地址区间长度不为0的移动全功能节点获取地址,如果该移动全功能节点的可分配全功能地址区间长度为[L1,U1],L1
[0140] 步骤201:开始;
[0141] 步骤202:部分功能节点向移动全功能节点发送部分功能节点地址请求消息;
[0142] 步骤203:移动全功能节点收到部分功能节点地址请求消息后,将自己的可分配部分功能地址区间长度设置为[L1+1,U1],构建一个IPv6地址,将该IPv6地址的全局路由前缀设置为自己的IPv6地址的全局路由前缀,节点类型值为0,节点ID设置为自己的IPv6地址的节点ID,移动全功能节点将该IPv6地址中的节点ID有效长度扩展2σ比特,前σ比特设置为0,后σ比特设置为L1;移动全功能节点向全功能节点Y返回一个部分功能地址响应消息,消息负载构建的IPv6地址;
[0143] 步骤204:部分功能节点收到部分功能地址响应消息后,将自己的IPv6地址设置为该部分功能地址响应消息中的IPv6地址,同时将移动全功能节点标记为簇首节点;
[0144] 步骤205:结束;
[0145] 部分功能节点获取IPv6地址后,它的地址在整个生命周期都保持不变。
[0146] 通过上述过程,节点可以快速获取具有唯一性的地址从而正确实现通信。
[0147] 图3为本发明所述的判断下一个父节点流程示意图。骨干全功能节点获取IPv6地址后,扫描所有信道接收邻居骨干全功能节点的信标帧,从而获取邻居骨干全功能节点的工作信道;定位全功能节点扫描所有信道接收邻居骨干全功能节点的信标帧,用于保存邻居骨干全功能节点的工作信道,对于每个邻居骨干全功能节点的工作信道,定位全功能节点广播一个信标帧,信标帧负载为定位全功能节点自己的地理坐标;
[0148] 如果一个骨干全功能节点或者移动全功能节点收到NA个定位全功能节点的信标帧,定位全功能节点的地理坐标为(xi,yi),1≤i≤NA,那么它执行公式(2)和(3)获取自己的地理坐标(x,y),骨干全功能节点或者移动全功能节点获取地理坐标后,在信标帧中定期广播其地理坐标;
[0149]
[0150]
[0151] 如果骨干全功能节点B1的地理坐标为(x1,y1),骨干全功能节点B2的地理坐标为(x2,y2),骨干全功能节点B1和骨干全功能节点B2为邻居节点,骨干全功能节点B1通过接收骨干全功能节点B2的信标帧获取了骨干全功能节点B2的地理坐标(x2,y2),那么通过公式(4)计算骨干全功能节点B1与骨干全功能节点B2的相对角度φB1-B2,其中c为任意正整数;
[0152]
[0153] 如果移动全功能节点X的父节点为骨干全功能节点Y,骨干全功能节点Y有N个邻居骨干全功能节点,骨干全功能节点Y接收到N个邻居骨干节点的信标帧获取地理坐标后,计算它与每个邻居骨干节点的相对角度,然后按照相对角度降序排列,排序后的邻居骨干节点记做Zn,1≤n≤N,2≤N。
[0154] 本发明所述方法中,在骨干节点Y与移动全功能节点X的相对角度为φY-X,骨干节点Y与邻居骨干节点Zn的相对角度为 骨干节点Y与邻居骨干节点Z(n+1)MOD N的相对角度为 的条件下,MOD为取余数符号,如果骨干节点Y检测到X与自己的距离大于一定阈值,例如大于传输半径的70%,且相对角度φY-X满足公式(5),
[0155]
[0156] 那么骨干节点Y执行下述过程来确定移动全功能节点X的下一个父节点:
[0157] 步骤301:开始;
[0158] 步骤302:骨干节点Y根据公式(6)和公式(7)计算移动全功能节点X与骨干节点Zn的绝对角度 以及移动全功能节点X与骨干节点Z(n+1)MOD N之间的绝对角度[0159] 步骤303:如果绝对角度 大于绝对角度 则进行步骤304,否则进行步骤305;
[0160] 步骤304:骨干节点Y选择骨干节点Zn为移动全功能节点X的下一个父节点,执行步骤308;
[0161] 步骤305:如果绝对角度 小于绝对角度 则执行步骤306,否则执行步骤307;
[0162] 步骤306:骨干节点Y选择骨干节点Zn+1 MOD N为移动全功能节点X的下一个父节点,执行步骤308;
[0163] 步骤307:骨干节点Y重新获取移动全功能节点X的地理坐标,计算绝对角度 和绝对角度 执行步骤303;
[0164] 步骤308:结束;
[0165]
[0166]
[0167] 通过上述过程,移动节点可以快速实现移动切换从而确保节点在移动过程中通信的连续性和正确性。
[0168] 图4为本发明所述的判断下一个移动网络流程示意图。公共节点属于两个以上移动网络,则由角度区间来确定公共节点属于的对应移动网络;
[0169] 如果移动全功能节点X的下一个父节点Zn为公共节点,那么公共节点Zn根据它与移动全功能节点X的相对角度 来确定移动全功能节点X进入的下一个网络;
[0170] 如果公共节点Zn属于K个移动网络,第k个移动网络由闭区间定义,其中1≤k≤K,[0171] [αk,α(k+l)MOD K],αk<α(k+l)MOD K;
[0172] 或者
[0173] [αk,360°]U[0°,α(k+l)MOD K],αk>α(k+l)MOD K;
[0174] 那么公共节点Zn根据以下步骤确定移动全功能节点X将要进入的下一个移动网络:
[0175] 步骤401:开始;
[0176] 步骤402:公共节点Zn从骨干节点Y获取移动全功能节点X的地理坐标(x,y),然后计算自己与移动全功能节点X的相对角度
[0177] 步骤403:如果 满足公式(8),那么执行步骤404,否则执行步骤405;
[0178]
[0179] 步骤404:公共节点Zn判断出移动全功能节点X的下一个移动网络为第j个移动网络,执行步骤406;
[0180] 步骤405:公共节点Zn从骨干节点Y重新获取移动全功能节点X的地理坐标(x,y),然后计算自己与移动全功能节点X的相对角度 执行步骤403;
[0181] 步骤406:结束。
[0182] 通过上述过程,移动节点可以快速实现移动切换从而确保节点在移动过程中通信的连续性和正确性。
[0183] 图5为本发明所述的骨干全功能节点移动切换流程示意图。网关保存一个地址绑定表和一个地址对照表;地址绑定表用于记录在本移动网络获取家乡地址的移动全功能节点当前所在移动网络的网关地址,地址绑定表每个表项包括两个域:移动全功能节点地址和其所在移动网络的网关地址;地址对照表用于记录外来移动全功能节点的地址绑定信息,包括移动全功能节点家乡地址域和转交地址域;
[0184] 每个骨干节点保存一个切换表,每个切换表项由四个域构成:移动全功能节点地址域,前一个父节点地址域,转交地址域以及工作信道域值;其中,移动全功能节点地址域值为移动全功能节点的家乡地址,前一个父节点地址域值为移动全功能节点的前一个父节点的地址,转交地址域值为前一个父节点分配给移动全功能节点的转交地址,工作信道域值为前一个父节点的工作信道;
[0185] 如果移动全功能节点X的父节点为骨干全功能节点Y,当骨干全功能节点Y检测到移动全功能节点X即将离开自己的通信范围时,例如距离大于传输半径的70%,骨干全功能节点Y选择邻居骨干全功能节点Z作为移动全功能节点X的下一个父节点;如果骨干全功能节点Z不是公共节点,那么骨干全功能节点Y进行如下移动切换操作:
[0186] 步骤501:开始;
[0187] 步骤502:骨干全功能节点Y保存节点X当前的转交地址,同时向骨干全功能节点Z发送切换消息,切换消息负载为移动全功能节点X的家乡地址;
[0188] 步骤503:骨干全功能节点Z收到切换消息后,为移动全功能节点X分配一个新的转交地址,然后向骨干全功能节点Y返回切换响应消息,切换响应消息负载为移动全功能节点X的家乡地址和新的转交地址;
[0189] 步骤504:骨干全功能节点Y收到切换响应消息后,向移动全功能节点X发送切换消息,发送给移动全功能节点X的切换消息负载内容为骨干全功能节点Z的工作信道以及移动全功能节点X的新的转交地址;
[0190] 步骤505:移动全功能节点X收到骨干全功能节点Y的切换消息后,向骨干全功能节点Y返回切换响应消息,然后采用骨干全功能节点Z的工作信道实现与骨干全功能节点Z的二层切换,二层切换后,将骨干全功能节点Z标记为父节点Z,同时开始采用新的转交地址与父节点Z进行通信,节点X向节点Z发送信标帧,信标帧负载为家乡地址、节点Y的地址、节点Y为自己分配的转交地址以及节点Y的工作信道;节点Z接收到节点X的信标帧之后,在切换表中创建一个表项,该表项的移动全功能节点地址域值为节点X的家乡地址,前一个父节点地址域值为节点Y的地址,转交地址域值为节点Y分配给节点X的转交地址,工作信道域值为节点Y的工作信道;
[0191] 步骤506:骨干全功能节点Y向所在移动网络的网关G发送切换消息,切换消息负载为移动全功能节点X的家乡地址和新的转交地址,网关G收到切换消息后,将移动全功能节点X的转交地址更新为切换消息中的新的转交地址并向骨干全功能节点Y返回切换响应消息;
[0192] 步骤507:骨干全功能节点Y收到网关G和移动全功能节点X的切换确认消息后,确认移动切换完成;
[0193] 步骤508:结束。
[0194] 通过上述过程,移动节点可以快速实现移动切换从而确保节点在移动过程中通信的连续性和正确性。
[0195] 图6为本发明所述的移动网络间移动切换的流程示意图。在移动全功能节点X的父节点为骨干全功能节点Y的条件下,当骨干全功能节点Y检测到移动全功能节点X即将离开自己的通信范围时,例如距离大于通信半径的70%,骨干全功能节点Y选择骨干全功能节点Z作为移动全功能节点X的下一个父节点;如果骨干全功能节点Z是公共节点,那么骨干全功能节点Y进行如下移动切换操作:
[0196] 步骤601:开始;
[0197] 步骤602:骨干全功能节点Y保存节点X当前的转交地址,向骨干全功能节点Z发送切换消息,切换消息负载为移动全功能节点X的家乡地址以及地理坐标;
[0198] 步骤603:骨干全功能节点Z收到切换消息后,根据节点X的地理坐标计算自己与节点X的相对角度从而判断移动全功能节点X所要进入的下一个网络,骨干全功能节点Z为移动全功能节点X分配在下一个移动网络中的转交地址,并向骨干全功能节点Y返回切换响应消息,切换响应消息负载为移动全功能节点X的家乡地址和新的转交地址,同时骨干全功能节点Z向下一个移动网络中的网关G2发送切换消息,切换消息负载为移动全功能节点X的家乡地址和新的转交地址;网关G2收到切换消息后,在地址绑定表中建立移动全功能节点X的表项;
[0199] 步骤604:骨干全功能节点Y收到切换响应消息后,向移动全功能节点X发送切换消息,切换消息负载为骨干全功能节点Z的工作信道以及移动全功能节点X在下一个移动网络中的新的转交地址;
[0200] 步骤605:移动全功能节点X收到骨干全功能节点Y的切换消息后,向骨干全功能节点Y返回切换响应消息,移动全功能节点X采用骨干全功能节点Z的工作信道实现与骨干全功能节点Z的二层切换,二层切换后,将骨干全功能节点Z标记为自己的父节点,并开始采用新的转交地址进行通信,节点X向节点Z发送信标帧,信标帧负载为家乡地址、节点Y的地址、节点Y为自己配置的转交地址以及节点Y的工作信道;节点Z接收到节点X的信标帧之后,在切换表中创建一个表项,该表项的移动全功能节点地址域值为节点X的家乡地址,前一个父节点地址域值为节点Y的地址,转交地址域值为节点Y分配给节点X的转交地址,工作信道域值为节点Y的工作信道;
[0201] 步骤606:骨干全功能节点Y向移动全功能节点X的家乡网关HG发送切换消息,切换消息负载为移动全功能节点X的家乡地址和新的转交地址,网关HG收到切换消息后,更新全功能节点X的地址绑定表项,即将该表项的网关地址更新为网关G2的地址,并向骨干全功能节点Y返回切换响应消息,切换响应消息负载为移动全功能节点X的家乡地址;
[0202] 步骤607:骨干全功能节点Y收到切换响应消息后,确认节点X的切换过程完成;
[0203] 步骤608:结束。
[0204] 通过上述过程,移动节点可以快速实现移动切换从而确保节点在移动过程中通信的连续性和正确性。
[0205] 图7为本发明所述的跨层移动切换的流程示意图。如果骨干节点Z检测到节点X即将脱离自己的通信范围且节点X的下一个父节点为节点Y,如果节点Y不是公共节点,那么节点Z进行下述移动切换操作:
[0206] 步骤701:开始;
[0207] 步骤702:骨干全功能节点Z保存节点X当前的转交地址,同时查看切换表中节点X的表项,骨干全功能节点Z向移动全功能节点X发送切换消息,切换消息负载为该表项中的转交地址以及工作信道域值;
[0208] 步骤703:移动全功能节点X收到切换消息后,向骨干全功能节点Z返回切换响应消息,采用切换消息中的工作信道实现与骨干全功能节点Y的二层切换,二层切换后,将骨干全功能节点Y标记为自己的父节点,同时开始采用切换消息中的转交地址与父节点Y进行通信,节点X向节点Y发送信标帧,信标帧负载为家乡地址、节点Z的地址、节点Z为自己分配的转交地址以及节点Z的工作信道;节点Y接收到节点X的信标帧之后,在切换表中创建一个表项,该表项的移动全功能节点地址域值为节点X的家乡地址,前一个父节点地址域值为节点Z的地址,转交地址域值为节点Z分配给节点X的转交地址,工作信道域值为节点Z的工作信道;
[0209] 步骤704:骨干全功能节点Z向所在移动网络的网关G发送切换消息,切换消息负载为移动全功能节点X的家乡地址和节点X的切换表项中的转交地址域值,网关G收到切换消息后,将移动全功能节点X的转交地址更新为切换消息中的转交地址并向骨干全功能节点Z返回切换响应消息;
[0210] 步骤705:骨干全功能节点Z收到网关G和移动全功能节点X的切换确认消息后,确认移动切换完成;
[0211] 步骤706:结束。
[0212] 通过上述过程,移动节点可以快速实现移动切换从而确保节点在移动过程中通信的连续性和正确性。
[0213] 图8为本发明所述的移动网络间跨层移动切换流程示意图。如果骨干节点Z检测到节点X即将脱离自己的通信范围且节点X的下一个父节点为节点Y,如果节点Y是公共节点,那么节点Z进行下述移动切换操作:
[0214] 步骤801:开始;
[0215] 步骤802:骨干全功能节点Z保存节点X当前的转交地址,同时查看切换表中节点X的表项,向骨干全功能节点Y发送切换消息,切换消息负载为该表项中的家乡地址和转交地址以及节点X的地理坐标;
[0216] 步骤803:骨干全功能节点Y收到切换消息后,根据节点X的地理坐标执行公式(4)计算自己与节点X的相对角度从而再执行步骤401~406来判断移动全功能节点X所要进入的下一个网络,如果下一个网络的全局路由前缀与切换消息中的转交地址的全局路由前缀不同,则为移动全功能节点X分配在下一个移动网络中的转交地址;骨干全功能节点Y向骨干全功能节点Z返回切换响应消息;如果下一个网络的全局路由前缀与切换消息中的转交地址的全局路由前缀不同,那么切换响应消息的负载为移动全功能节点X的家乡地址和新分配的转交地址,否则负载为节点X的家乡地址;骨干全功能节点Y向下一个移动网络中的网关G1发送切换消息,如果下一个网络的全局路由前缀与切换消息中的转交地址的全局路由前缀不同,那么切换消息的负载为移动全功能节点X的家乡地址和新分配的转交地址,否则负载为节点X的家乡地址和步骤802中节点X的切换表项中的转交地址;网关G1收到切换消息后,在地址绑定表中建立移动全功能节点X的表项,该表项的家乡地址为节点X的家乡地址,转交地址为切换消息中的转交地址;
[0217] 步骤804:骨干全功能节点Z收到节点Y的切换响应消息后,如果切换响应消息负载中包含新分配的转交地址,那么将节点X的切换表项中的转交地址更新为切换消息中的转交地址,然后向移动全功能节点X发送切换消息,切换消息负载为节点X的切换表项中的转交地址以及工作信道域值;
[0218] 步骤805:移动全功能节点X收到切换消息后,向骨干全功能节点Z返回切换响应消息,采用切换消息中的工作信道实现与骨干全功能节点Y的二层切换,二层切换后,将骨干全功能节点Y标记为自己的父节点,同时开始采用切换消息中的转交地址与父节点Y进行通信;节点X向节点Y发送信标帧,信标帧负载为自己的家乡地址、节点Z的地址、节点Z为自己分配的转交地址以及节点Z的工作信道;节点Y接收到节点X的信标帧之后,在切换表中创建一个表项,该表项的移动全功能节点地址域值为节点X的家乡地址,前一个父节点地址域值为节点Z的地址,转交地址域值为节点Z分配给节点X的转交地址,工作信道域值为节点Z的工作信道;
[0219] 步骤806:骨干全功能节点Z向移动全功能节点X的家乡网关HG发送切换消息,切换消息负载为移动全功能节点X的家乡地址和节点X的切换表项中的转交地址,网关HG收到切换消息后,构建网关G1的IPv6地址,该IPv6地址的全局路由前缀等于切换消息负载中的转交地址的全局路由前缀,节点类型值为1,节点ID为0,更新全功能节点X的地址绑定表项,即将该表项的网关地址更新为构建的网关G1的地址,并向骨干全功能节点Z返回切换响应消息,切换响应消息负载为移动全功能节点X的家乡地址;
[0220] 步骤807:骨干全功能节点Z收到切换响应消息后,确认节点X的切换过程完成;
[0221] 步骤808:结束。
[0222] 通过上述过程,移动节点可以快速实现移动切换从而确保节点在移动过程中通信的连续性和正确性
[0223] 实施例1
[0224] 基于表1的仿真参数,本实施例模拟了本发明中方法,性能分析如下:当速度增加时,移动节点执行移动切换频率增加,因此移动切换延迟、丢包率都随之增加,平均移动切换延迟为65ms,丢包率为1.8%。
[0225] 表1仿真参数
[0226]
[0227] 本发明提供了一种基于定位信息的移动网络通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。