专利摘要
本发明提供了一种基于IPv6的移动自组网络移动切换实现方法,所述移动自组网络是IPv6互联网的末端网络,通过接入路由器连接到IPv6互联网,所述移动自组网络分成多个簇,每个簇由一个簇首节点与一个以上簇内节点构成,两个不能直接通信的簇首节点通过簇网关节点进行通信,所有簇首节点和簇网关节点构建成移动自组网络的路由骨干网络,簇内节点通过路由骨干网络与IPv6互联网进行通信。所述关联节点为与簇内节点直接通信的簇首节点,同一时刻,一个簇内节点只与一个关联节点直接通信,在移动过程中,簇内节点无需更改地址即可实现移动管理,保证了路由正确性和通信连续性。
权利要求
1.一种基于IPv6的移动自组网络移动切换实现方法,所述移动自组网络是IPv6互联网的末端网络,通过接入路由器连接到IPv6互联网,其特征在于,所述移动自组网络包括五种类型节点:簇首节点、簇内节点、簇网关节点、关联节点以及新节点;
将所述移动自组网络分成一个以上簇,每个簇由一个簇首节点与一个以上簇内节点构成,两个不能直接通信的簇首节点通过簇网关节点进行通信,所有簇首节点和簇网关节点构建成移动自组网络的路由骨干网络,簇内节点通过路由骨干网络与IPv6互联网进行通信;
所述簇首节点具有路由转发功能并为本簇簇内节点分配地址;
所述簇内节点不具有路由转发功能,不能为其它节点分配地址;
所述簇网关节点为位于两个不能直接通信的簇首节点通信范围内的簇内节点,具有路由转发功能;
所述新节点为未加入任何簇的节点;
所述关联节点为与簇内节点直接通信的簇首节点,同一时刻,一个簇内节点只与一个关联节点直接通信;
移动自组网络中的节点的IPv6地址包括三部分:第一部分是全局路由前缀,它唯一标识一个移动自组网络,长度为128-i-j比特,一个移动自组网络中所有节点的全局路由前缀都相同;第二部分为簇ID,长度为i比特,唯一标识一个簇,一个簇中所有簇内节点的簇ID都相同,其值等于簇首节点的簇ID;第三部分为节点ID,长度为j比特,它由簇首节点分配给簇内节点;所述i和j为小于128的正整数且i与j之和小于等于128,接入路由器的簇ID以及节点ID为0,簇首节点的节点ID为0;
初始状态下,移动自组网络中的所有节点均为新节点且有一个ID值,此ID值具有网络唯一性;移动自组网络中的每个节点保存一个邻居节点记录表,邻居节点记录表的每个表项包括三个域:邻居节点ID值,邻居节点类型以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从邻居节点记录表中删除;
所有节点在一跳范围内定期广播广告消息以示存在,广告消息负载为节点的类型以及邻居新节点的数量;
所有节点通过接收邻居节点发送的广告消息建立邻居节点记录表;
新节点X建立邻居节点记录表后,如果它的邻居节点包含簇首节点,则向该簇首节点请求IPv6地址;否则,如果新节点X的邻居新节点数量在所有邻居新节点中总数最大,或者新节点X的邻居新节点数量不小于所有邻居新节点的邻居新节点总数且其ID值小于其他拥有相同总数邻居新节点的节点ID值,则新节点X则根据下述过程建立簇:
步骤301:开始;
步骤302:新节点X向邻居节点记录表中所有邻居新节点发送加入簇的请求消息,消息的源地址为新节点X的ID值;
步骤303:邻居新节点对比收到的加入簇请求消息的源地址,向源地址最小的新节点返回一个加入簇响应消息;
步骤304:在规定时间内,判断新节点X收到的加入簇响应消息的数量是否等于邻居节点记录表中新节点的数量,如果是,进行步骤305,否则进行步骤308;
步骤305:新节点X向所有邻居新节点返回一个加入簇确认消息,同时将自己标识为簇首节点X;
步骤306:在规定时间内,判断邻居新节点是否收到新节点X返回的加入簇确认消息,如果是,进行步骤307,否则进行步骤308;
步骤307:邻居新节点将自己标识为簇内节点同时记录下本簇簇首节点X的ID值;
步骤308:结束;
新节点转变为簇内节点后,如果它位于两个不能直接通信的簇首节点之间,则该新节点将自己标识为簇网关节点;
新节点转变为簇首节点或者簇内节点或者簇网关节点后,其邻居节点通过接收它广播的广告消息更新邻居节点记录表中的对应表项;
接入路由器定期广播移动自组网络前缀消息,消息负载为全局路由前缀,簇首节点收到接入路由器的前缀消息后,根据下述过程获取IPv6地址:
步骤401:开始;
步骤402:簇首节点向接入路由器发送簇ID请求消息,消息的源地址为簇首节点的临时IPv6地址,临时IPv6地址由全局路由前缀及簇首节点的ID值组成;
步骤403:接入路由器收到簇ID请求消息后,将最小未分配簇ID封装到簇ID响应消息中,同时将最小未分配簇ID设置为已分配状态,然后将簇ID响应消息发送给簇首节点;
步骤404:簇首节点收到簇ID响应消息后,将消息内的簇ID与全局路由前缀相结合形成自己的IPv6地址,其中簇首节点的节点ID为0;
步骤405:结束;
簇内节点在规定时间内收到本簇簇首节点广播的广告消息后,从本簇簇首节点获取IPv6地址,簇内节点M获取IPv6地址的过程为:
步骤501:开始;
步骤502:簇内节点M向簇首节点发送节点ID请求消息,节点ID请求消息的源地址为簇内节点M的临时IPv6地址,临时IPv6地址由全局路由前缀及簇内节点M的ID值组成;
步骤503:簇首节点收到节点ID请求消息后,将最小未分配节点ID封装到节点ID响应消息中,同时将最小未分配节点ID设置为已分配状态,然后将节点ID响应消息发送给簇内节点M;
步骤504:簇内节点M收到节点ID响应消息后,将节点ID响应消息内的节点ID与全局路由前缀以及簇ID相结合形成自己的IPv6地址,同时将簇首节点作为自己的关联节点;
步骤505:结束;
新节点在规定时间内收到邻居簇首节点广播的广告消息后,从邻居簇首节点获取IPv6地址,新节点收到邻居簇首节点广播的广告消息后,则从邻居簇首节点获取IPv6地址,新节点N获取IPv6地址的过程为:
步骤201:开始;
步骤202:新节点N向簇首节点发送节点ID请求消息,节点ID请求消息的源地址为新节点N的临时IPv6地址,临时IPv6地址由全局路由前缀及新节点N的ID值组成;
步骤203:簇首节点收到节点ID请求消息后,将最小未分配节点ID封装到节点ID响应消息中,同时将最小未分配节点ID设置为已分配状态,然后将节点ID响应消息发送给新节点N;
步骤204:新节点N收到节点ID响应消息后,将节点ID响应消息内的节点ID与全局路由前缀以及簇ID相结合形成自己的IPv6地址,同时将簇首节点作为自己的关联节点,将自己标记为簇内节点;
步骤205:结束;
接入路由器保存一个关联节点表,关联节点表中每个表项包括三个域:IP地址域,关联节点IP地址域以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从关联节点表中删除;
簇首节点和关联节点保存一个关联簇内节点记录表,关联簇内节点记录表的每个表项包括两个域:IP地址域以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0时,对应表项自动从关联簇内节点记录表中删除;
簇内节点M获取IPv6地址及关联节点H之后,根据下述过程向接入路由器R进行注册操作:
步骤601:开始;
步骤602:簇内节点M向关联节点H发送关联消息;
步骤603:关联节点H收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器R发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤604:接入路由器R收到新关联消息后,将簇内节点M加入到关联节点表;
步骤605:结束;
当目的地址为簇内节点M的数据包到达接入路由器R时,接入路由器R查看关联节点表,将数据包发送到簇内节点M的关联节点H,然后由关联节点H将数据包转发给簇内节点M;如果关联节点H检测到簇内节点M脱离自己的通信范围,那么关联节点H保存目的地址为簇内节点M的数据包同时将簇内节点M从关联簇内节点记录表中删除。
2.根据权利要求1所述的一种基于IPv6的移动自组网络移动切换实现方法,其特征在于,簇内节点M检测到自己即将离开当前关联节点H1时,检测邻居簇首节点发送的广告消息,选择信号强度最好的邻居簇首节点H2作为下一个关联节点;如果簇内节点M从当前的移动自组网络获取IPv6地址且与簇首节点H1、簇首节点H2位于同一个移动自组网络中,则通过下述过程实现移动管理:
步骤701:开始;
步骤702:簇内节点M向簇首节点H2发送关联消息,消息负载为簇首节点H1的IPv6地址;
步骤703:簇首节点H2收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器R和簇首节点H1分别发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤704:接入路由器R收到新关联消息后,查看关联节点表,将簇内节点M对应的表项中的关联节点IP地址域更新为簇首节点H2的IPv6地址,同时将生存周期设置为最大值;
步骤705:簇首节点H1收到新关联消息后,如果它还保留有簇内节点M的数据包,则将数据包转发给簇首节点H2,由簇首节点H2转发给簇内节点M;
步骤706:结束。
3.根据权利要求2所述的一种基于IPv6的移动自组网络移动切换实现方法,其特征在于,簇内节点M从移动自组网络A获取IPv6地址,其下一个关联节点H2位于移动自组网络B中且簇内节点M的当前关联节点H1位于移动自组网络A中,移动自组网络A通过接入路由器R连接到IPv6互联网,移动自组网络B通过接入路由器T连接到IPv6互联网,移动管理过程如下所示:
步骤801:开始;
步骤802:簇内节点M向簇首节点H2发送关联消息,消息负载为簇首节点H1的IPv6地址;
步骤803:簇首节点H2收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器T和簇首节点H1分别发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤804:接入路由器T收到新关联消息后,在关联节点表中加入簇内节点M的表项,该表项中关联节点IPv6地址域为簇首节点H2的IPv6地址,同时向接入路由器R发送一条新关联消息,消息负载为簇内节点M的IPv6地址;
步骤805:接入路由器R收到新关联消息后,查看关联节点表,将簇内节点M对应的表项中的关联节点IP地址域更新为接入路由器T的IPv6地址,同时将生存周期设置为最大值;
步骤806:簇首节点H1收到新关联消息后,如果它还保留有簇内节点M的数据包,则将数据包转发给簇首节点H2,由簇首节点H2转发给簇内节点M;
步骤807:结束。
4.根据权利要求3所述的一种基于IPv6的移动自组网络移动切换实现方法,其特征在于,移动自组网络A通过接入路由器R连接到互联网,移动自组网络B通过接入路由器T连接到互联网,簇首节点H从移动自组网络A获取IPv6地址,通过检测接入路由器T发送的广告消息获知自己移动到接入路由器T时,则通过下述过程实现移动管理:
步骤901:开始;
步骤902:簇首节点H向接入路由器T发送新关联消息;
步骤903:接入路由器T收到新关联消息后,在关联节点表中加入簇首节点H的表项,其IP地址域以及关联节点IP地址域为簇首节点H的IPv6地址,同时向接入路由器R发送一条新关联消息,消息负载为簇首节点H的IPv6地址;
步骤904:接入路由器R收到新关联消息后,在关联节点表中增加簇首节点H的表项,其中关联节点IP地址域设置为接入路由器T的IP地址,同时将生存周期设置为最大值;
步骤905:结束。
说明书
技术领域
本发明涉及一种移动切换的实现方法,尤其涉及的是一种基于IPv6的移动自组网络移动切换实现方法。
背景技术
随着移动自组网的广泛应用及下一代互联网络的发展,移动自组网与下一代互联网实现全IP通信互联已成为未来发展的必然趋势。
随着用户对移动业务需求的不断增长,基于IPv6的移动自组网络只有提供良好地移动性支持,才能使其获得更大地应用空间。目前,基于隧道的移动协议应用到基于IPv6的移动自组网络中还存在一些问题,主要原因为如下:
1)现有移动协议中,移动节点需要发送和接收大量的控制信息来确保移动过程中的通信畅通,减少数据包的丢失,而传输控制信息会消耗大量的能量,这会大幅度缩减移动节点的寿命;
2)现有移动协议都是基于传统网络的体系结构,而基于IPv6的移动自组网络中每个节点既是路由器又是普通节点,因此现有移动协议很难应用到基于IPv6的移动自组网络。
因此,针对基于IPv6的移动自组网络需要建立一种低开销的移动切换方法。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于IPv6的移动自组网络移动切换实现方法。
技术方案:本发明公开了一种基于IPv6的移动自组网络移动切换实现方法,所述移动自组网络是IPv6互联网的末端网络,通过接入路由器连接到IPv6互联网,所述移动自组网络包括五种类型节点:簇首节点、簇内节点、簇网关节点、关联节点以及新节点;
将所述移动自组网络分成一个以上簇,每个簇由一个簇首节点与一个以上簇内节点构成,两个不能直接通信的簇首节点通过簇网关节点进行通信,所有簇首节点和簇网关节点构建成移动自组网络的路由骨干网络,簇内节点通过路由骨干网络与IPv6互联网进行通信;
所述簇首节点具有路由转发功能并为本簇簇内节点分配地址;
所述簇内节点不具有路由转发功能,不能为其它节点分配地址;
所述簇网关节点为位于两个不能直接通信的簇首节点通信范围内的簇内节点,具有路由转发功能;
所述新节点为未加入任何簇的节点;
所述关联节点为与簇内节点直接通信的簇首节点,同一时刻,一个簇内节点只与一个关联节点直接通信;
移动自组网络中的节点的IPv6地址包括三部分:第一部分是全局路由前缀,它唯一标识一个移动自组网络,长度为128-i-j比特,一个移动自组网络中所有节点的全局路由前缀都相同;第二部分为簇ID,长度为i比特,唯一标识一个簇,一个簇中所有簇内节点的簇ID都相同,其值等于簇首节点的簇ID;第三部分为节点ID,长度为j比特,它由簇首节点分配给簇内节点;所述i和j为小于128的正整数且i与j之和小于等于128,接入路由器的簇ID以及节点ID为0,簇首节点的节点ID为0;
初始状态下,移动自组网络中的所有节点均为新节点且有一个ID值,此ID值具有网络唯一性;移动自组网络中的每个节点保存一个邻居节点记录表,邻居节点记录表项包括三个域:邻居节点ID值,邻居节点类型以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从邻居节点记录表中删除;
所有节点在一跳范围内定期广播广告消息以示存在,广告消息负载为节点的类型以及邻居新节点的数量;
所有节点通过接收邻居节点发送的广告消息建立邻居节点记录表;
新节点X建立邻居节点记录表后,如果它的邻居节点包含簇首节点,则向该簇首节点请求IPv6地址;否则,如果新节点X的邻居新节点数量在所有邻居新节点中总数最大,或者新节点X的邻居新节点数量不小于所有邻居新节点的邻居新节点总数且其ID值小于其他拥有相同总数邻居新节点的节点ID值,则新节点X则根据下述过程建立簇:
步骤301:开始;
步骤302:新节点X向邻居节点记录表中所有邻居新节点发送加入簇的请求消息,消息的源地址为新节点X的ID值;
步骤303:邻居新节点对比收到的加入簇请求消息的源地址,向源地址最小的新节点返回一个加入簇响应消息;
步骤304:在规定时间内,判断新节点X收到的加入簇响应消息的数量是否等于邻居节点记录表中新节点的数量,如果是,进行步骤305,否则进行步骤308;
步骤305:新节点X向所有邻居新节点返回一个加入簇确认消息,同时将自己标识为簇首节点X;
步骤306:在规定时间内,判断邻居新节点是否收到新节点X返回的加入簇确认消息,如果是,进行步骤307,否则进行步骤308;
步骤307:邻居新节点将自己标识为簇内节点同时记录下本簇簇首节点X的ID值;
步骤308:结束;
新节点转变为簇内节点后,如果它位于两个不能直接通信的簇首节点之间,则该新节点将自己标识为簇网关节点;
新节点转变为簇首节点或者簇内节点或者簇网关节点后,其邻居节点通过接收它广播的广告消息更新邻居节点记录表中的对应表项。
通过上述簇建立过程,新节点转换为簇首节点或者簇内节点,构建了MANET体系结构。
本发明所述方法中,接入路由器定期广播移动自组网络前缀消息,消息负载为全局路由前缀,簇首节点收到接入路由器的前缀消息后,根据下述过程获取IPv6地址:
步骤401:开始;
步骤402:簇首节点向接入路由器发送簇ID请求消息,消息的源地址为簇首节点的临时IPv6地址,临时IPv6地址由全局路由前缀及簇首节点的ID值组成;
步骤403:接入路由器收到簇ID请求消息后,将最小未分配簇ID封装到簇ID响应消息中,同时将最小未分配簇ID设置为已分配状态,然后将簇ID响应消息发送给簇首节点;
步骤404:簇首节点收到簇ID响应消息后,将消息内的簇ID与全局路由前缀相结合形成自己的IPv6地址,其中簇首节点的节点ID为0;
步骤405:结束。
簇首节点通过上述有状态地址配置过程获取IPv6地址可以有效降低地址配置代价,缩短地址配置延迟,簇首节点获取地址后开始进行通信以及路由转发操作。
本发明所述方法中,簇内节点在规定时间内收到本簇簇首节点广播的广告消息后,从本簇簇首节点获取IPv6地址,簇内节点M获取IPv6地址的过程为:
步骤501:开始;
步骤502:簇内节点M向簇首节点发送节点ID请求消息,节点ID请求消息的源地址为簇内节点M的临时IPv6地址,临时IPv6地址由全局路由前缀及簇内节点M的ID值组成;
步骤503:簇首节点收到节点ID请求消息后,将最小未分配节点ID封装到节点ID响应消息中,同时将最小未分配节点ID设置为已分配状态,然后将节点ID响应消息发送给簇内节点M;
步骤504:簇内节点M收到节点ID响应消息后,将节点ID响应消息内的节点ID与全局路由前缀以及簇ID相结合形成自己的IPv6地址,同时将簇首节点作为自己的关联节点;
步骤505:结束。
簇内节点通过上述有状态地址配置过程获取IPv6地址可以有效降低地址配置代价,缩短地址配置延迟,簇内节点获取地址后开始与其他节点进行通信。
本发明所述方法中,新节点在规定时间内收到邻居簇首节点广播的广告消息后,从邻居簇首节点获取IPv6地址,新节点收到邻居簇首节点广播的广告消息后,则从邻居簇首节点获取IPv6地址,新节点N获取IPv6地址的过程为:
步骤201:开始;
步骤202:新节点N向簇首节点发送节点ID请求消息,节点ID请求消息的源地址为新节点N的临时IPv6地址,临时IPv6地址由全局路由前缀及新节点N的ID值组成;
步骤203:簇首节点收到节点ID请求消息后,将最小未分配节点ID封装到节点ID响应消息中,同时将最小未分配节点ID设置为已分配状态,然后将节点ID响应消息发送给新节点N;
步骤204:新节点N收到节点ID响应消息后,将节点ID响应消息内的节点ID与全局路由前缀以及簇ID相结合形成自己的IPv6地址,同时将簇首节点作为自己的关联节点,将自己标记为簇内节点;
步骤205:结束。
新节点通过上述有状态地址配置过程获取IPv6地址可以有效降低地址配置代价,缩短地址配置延迟,新节点在获取地址后并转换为簇内节点后开始与其他节点进行通信。
本发明所述方法中,接入路由器保存一个关联节点表,关联节点表包括三个域:IP地址域,关联节点IP地址域以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从关联节点表中删除;
簇首节点和关联节点保存一个关联簇内节点记录表,关联簇内节点记录表包括两个域:IP地址域以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0时,对应表项自动从关联簇内节点记录表中删除;
簇内节点M获取IPv6地址及关联节点H之后,根据下述过程向接入路由器R进行注册操作:
步骤601:开始;
步骤602:簇内节点M向关联节点H发送关联消息;
步骤603:关联节点H收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器R发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤604:接入路由器R收到新关联消息后,将簇内节点M加入到关联节点表;
步骤605:结束;
簇内节点通过上述注册过程确保数据包的路由正确性。
当目的地址为簇内节点M的数据包到达接入路由器R时,接入路由器R查看关联节点表,将数据包发送到簇内节点M的关联节点H,然后由关联节点H将数据包转发给簇内节点M;如果关联节点H检测到簇内节点M脱离自己的通信范围,那么关联节点H保存目的地址为簇内节点M的数据包同时将簇内节点M从关联簇内节点记录表中删除。
本发明所述方法中,簇内节点M检测到自己即将离开当前关联节点H1时,检测邻居簇首节点发送的广告消息,选择信号强度最好的邻居簇首节点H2作为下一个关联节点;如果簇内节点M从当前的移动自组网络获取IPv6地址且与簇首节点H1、簇首节点H2位于同一个移动自组网络中,则通过下述过程实现移动管理:
步骤701:开始;
步骤702:簇内节点M向簇首节点H2发送关联消息,消息负载为簇首节点H1的IPv6地址;
步骤703:簇首节点H2收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器R和簇首节点H1分别发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤704:接入路由器R收到新关联消息后,查看关联节点表,将簇内节点M对应的表项中的关联节点IP地址域更新为簇首节点H2的IPv6地址,同时将生存周期设置为最大值;
步骤705:簇首节点H1收到新关联消息后,如果它还保留有簇内节点M的数据包,则将数据包转发给簇首节点H2,由簇首节点H2转发给簇内节点M;
步骤706:结束。
簇内节点通过上述过程实现移动自组网络内部移动管理功能,由于簇内节点在移动过程中无需获取转交地址,因为缩短了移动管理延迟和代价,同时降低了丢包率,确保了移动过程中路由的正确性和通信的连续性。
本发明所述方法中,簇内节点M从移动自组网络A获取IPv6地址,其下一个关联节点H2位于移动自组网络B中且簇内节点M的当前关联节点H1位于移动自组网络A中,移动自组网络A通过接入路由器R连接到IPv6互联网,移动自组网络B通过接入路由器T连接到IPv6互联网,移动管理过程如下所示:
步骤801:开始;
步骤802:簇内节点M向簇首节点H2发送关联消息,消息负载为簇首节点H1的IPv6地址;
步骤803:簇首节点H2收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器T和簇首节点H1分别发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤804:接入路由器T收到新关联消息后,在关联节点表中加入簇内节点M的表项,该表项中关联节点IPv6地址域为簇首节点H2的IPv6地址,同时向接入路由器R发送一条新关联消息,消息负载为簇内节点M的IPv6地址;
步骤805:接入路由器R收到新关联消息后,查看关联节点表,将簇内节点M对应的表项中的关联节点IP地址域更新为接入路由器T的IPv6地址,同时将生存周期设置为最大值;
步骤806:簇首节点H1收到新关联消息后,如果它还保留有簇内节点M的数据包,则将数据包转发给簇首节点H2,由簇首节点H2转发给簇内节点M;
步骤807:结束。
簇内节点通过上述过程实现移动自组网络之间移动管理功能,由于簇内节点在移动过程中无需获取转交地址,因为缩短了移动管理延迟和代价,同时降低了丢包率,确保了移动过程中路由的正确性和通信的连续性。
本发明所述方法中,移动自组网络A通过接入路由器R连接到互联网,移动自组网络B通过接入路由器T连接到互联网,簇首节点H从移动自组网络A获取IPv6地址,通过检测接入路由器T发送的广告消息获知自己移动到接入路由器T时,则通过下述过程实现移动管理:
步骤901:开始;
步骤902:簇首节点H向接入路由器T发送新关联消息;
步骤903:接入路由器T收到新关联消息后,在关联节点表中加入簇首节点H的表项,其IP地址域以及关联节点IP地址域为簇首节点H的IPv6地址,同时向接入路由器R发送一条新关联消息,消息负载为簇首节点H的IPv6地址;
步骤904:接入路由器R收到新关联消息后,增加簇首节点H的关联记录表项,其中关联节点IP地址域设置为接入路由器T的IP地址,同时将生存周期设置为最大值;
步骤905:结束。
簇首节点通过上述过程实现移动自组网络之间移动管理功能,由于簇首节点在移动过程中无需获取转交地址,因为缩短了移动管理延迟和代价,同时降低了丢包率,确保了移动过程中路由的正确性和通信的连续性。
有益效果:本发明提供了一种基于IPv6的移动自组网络移动切换实现方法,由于移动自组网和传统网络结构(例如互联网)不同,例如:移动自组网节点同时具有主机和路由器两个身份,因此目前传统网络中的移动管理方案无法在移动自组网络中实施,迫切需要一种适合移动自组网络使用的移动管理方案。在本发明中,节点在移动过程中无需获取转交地址,因为缩短了移动管理延迟和代价,同时降低了丢包率,确保了移动过程中路由的正确性和通信的连续性。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的移动自组网络拓扑结构示意图。
图2为本发明所述移动自组网络IPv6地址结构示意图。
图3为本发明所述的邻居节点记录表示意图。
图4为本发明所述簇建立流程示意图。
图5为本发明所述簇首节点获取IPv6地址流程示意图。
图6为本发明所述簇内节点获取IPv6地址流程示意图。
图7为本发明所述新节点获取IPv6地址流程示意图。
图8为本发明所述簇内节点注册流程示意图。
图9为本发明所述簇内节点在移动自组网络内部移动管理流程示意图。
图10为本发明所述簇内节点在移动自组网络之间移动管理流程示意图。
图11为本发明所述簇首节点在移动自组网络之间移动管理流程示意图。
具体实施方式:
本发明提供了一种基于IPv6的移动自组网络移动切换实现方法,在所述方法中,移动自组网络中的每个节点可获取具有唯一性的地址,节点在移动过程中仍能保证路由的正确性和通信的连续性。
图1为本发明所述的移动自组网络拓扑结构示意图。所述移动自组网络1是IPv6互联网2的末端网络,通过接入路由器3连接到IPv6互联网2,所述移动自组网络1包括五种类型节点:簇首节点4、簇内节点5、簇网关节点6、关联节点7以及新节点8;将所述移动自组网络1分成一个以上簇9,图1中具体划分为3个簇9,每个簇由一个簇首节点4与一个以上簇内节点5构成,两个不能直接通信的簇首节点4通过簇网关节点6进行通信,所有簇首节点4和簇网关节点6构建成移动自组网络1的路由骨干网络,簇内节点5通过路由骨干网络与IPv6互联网2进行通信;所述簇首节点4具有路由转发功能并为本簇簇内节点5分配地址;所述簇内节点5不具有路由转发功能,不能为其它节点分配地址;所述簇网关节点6为位于两个不能直接通信的簇首节点4通信范围内的簇内节点5,具有路由转发功能;所述新节点8为未加入任何簇的节点;所述关联节点7为与簇内节点5直接通信的簇首节点4,同一时刻,一个簇内节点5只与一个关联节点7直接通信。
图2为本发明所述移动自组网络IPv6地址结构示意图。移动自组网络中的节点的IPv6地址包括三部分:第一部分是全局路由前缀,它唯一标识一个移动自组网络,长度为128-i-j比特,一个移动自组网络中所有节点的全局路由前缀都相同;第二部分为簇ID,长度为i比特,唯一标识一个簇,一个簇中所有簇内节点的簇ID都相同,其值等于簇首节点的簇ID;第三部分为节点ID,长度为j比特,它由簇首节点分配给簇内节点;所述i和j为小于128的正整数且i与j之和小于等于128,接入路由器的簇ID以及节点ID为0,簇首节点的节点ID为0。
图3为本发明所述的邻居节点记录表示意图。初始状态下,移动自组网络中的所有节点均为新节点且有一个ID值,此ID值具有网络唯一性;移动自组网络中的每个节点保存一个邻居节点记录表,邻居节点记录表项包括三个域:邻居节点ID值,邻居节点类型以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从邻居节点记录表中删除;所有节点在一跳范围内定期广播广告消息以示存在,广告消息负载为节点的类型以及邻居新节点的数量;所有节点通过接收邻居节点发送的广告消息建立邻居节点记录表。
图4为本发明所述簇建立流程示意图。新节点X建立邻居节点记录表后,如果它的邻居节点包含簇首节点,则向该簇首节点请求IPv6地址;否则,如果新节点X的邻居新节点数量在所有邻居新节点中总数最大,或者新节点X的邻居新节点数量不小于所有邻居新节点的邻居新节点总数且其ID值小于其他拥有相同总数邻居新节点的节点ID值,则新节点X则根据下述过程建立簇:
步骤301:开始;
步骤302:新节点X向邻居节点记录表中所有邻居新节点发送加入簇的请求消息,消息的源地址为新节点X的ID值;
步骤303:邻居新节点对比收到的加入簇请求消息的源地址,向源地址最小的新节点返回一个加入簇响应消息;
步骤304:在规定时间内,判断新节点X收到的加入簇响应消息的数量是否等于邻居节点记录表中新节点的数量,如果是,进行步骤305,否则进行步骤308;
步骤305:新节点X向所有邻居新节点返回一个加入簇确认消息,同时将自己标识为簇首节点X;
步骤306:在规定时间内,判断邻居新节点是否收到新节点X返回的加入簇确认消息,如果是,进行步骤307,否则进行步骤308;
步骤307:邻居新节点将自己标识为簇内节点同时记录下本簇簇首节点X的ID值;
步骤308:结束;
新节点转变为簇内节点后,如果它位于两个不能直接通信的簇首节点之间,则该新节点将自己标识为簇网关节点;
新节点转变为簇首节点或者簇内节点或者簇网关节点后,其邻居节点通过接收它广播的广告消息更新邻居节点记录表中的对应表项。
图5为本发明所述簇首节点获取IPv6地址流程示意图。接入路由器定期广播移动自组网络前缀消息,消息负载为全局路由前缀,簇首节点收到接入路由器的前缀消息后,根据下述过程获取IPv6地址:
步骤401:开始;
步骤402:簇首节点向接入路由器发送簇ID请求消息,消息的源地址为簇首节点的临时IPv6地址,临时IPv6地址由全局路由前缀及簇首节点的ID值组成;
步骤403:接入路由器收到簇ID请求消息后,将最小未分配簇ID封装到簇ID响应消息中,同时将最小未分配簇ID设置为已分配状态,然后将簇ID响应消息发送给簇首节点;
步骤404:簇首节点收到簇ID响应消息后,将消息内的簇ID与全局路由前缀相结合形成自己的IPv6地址,其中簇首节点的节点ID为0;
步骤405:结束。
图6为本发明所述簇内节点获取IPv6地址流程示意图。簇内节点在规定时间内收到本簇簇首节点广播的广告消息后,从本簇簇首节点获取IPv6地址,簇内节点M获取IPv6地址的过程为:
步骤501:开始;
步骤502:簇内节点M向簇首节点发送节点ID请求消息,节点ID请求消息的源地址为簇内节点M的临时IPv6地址,临时IPv6地址由全局路由前缀及簇内节点M的ID值组成;
步骤503:簇首节点收到节点ID请求消息后,将最小未分配节点ID封装到节点ID响应消息中,同时将最小未分配节点ID设置为已分配状态,然后将节点ID响应消息发送给簇内节点M;
步骤504:簇内节点M收到节点ID响应消息后,将节点ID响应消息内的节点ID与全局路由前缀以及簇ID相结合形成自己的IPv6地址,同时将簇首节点作为自己的关联节点;
步骤505:结束。
图7为本发明所述新节点获取IPv6地址流程示意图。新节点在规定时间内收到邻居簇首节点广播的广告消息后,从邻居簇首节点获取IPv6地址,新节点收到邻居簇首节点广播的广告消息后,则从邻居簇首节点获取IPv6地址,新节点N获取IPv6地址的过程为:
步骤201:开始;
步骤202:新节点N向簇首节点发送节点ID请求消息,节点ID请求消息的源地址为新节点N的临时IPv6地址,临时IPv6地址由全局路由前缀及新节点N的ID值组成;
步骤203:簇首节点收到节点ID请求消息后,将最小未分配节点ID封装到节点ID响应消息中,同时将最小未分配节点ID设置为已分配状态,然后将节点ID响应消息发送给新节点N;
步骤204:新节点N收到节点ID响应消息后,将节点ID响应消息内的节点ID与全局路由前缀以及簇ID相结合形成自己的IPv6地址,同时将簇首节点作为自己的关联节点,将自己标记为簇内节点;
步骤205:结束。
图8为本发明所述簇内节点注册流程示意图。接入路由器保存一个关联节点表,关联节点表包括三个域:IP地址域,关联节点IP地址域以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从关联节点表中删除;
簇首节点和关联节点保存一个关联簇内节点记录表,关联簇内节点记录表包括两个域:IP地址域以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0时,对应表项自动从关联簇内节点记录表中删除;
簇内节点M获取IPv6地址及关联节点H之后,根据下述过程向接入路由器R进行注册操作:
步骤601:开始;
步骤602:簇内节点M向关联节点H发送关联消息;
步骤603:关联节点H收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器R发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤604:接入路由器R收到新关联消息后,将簇内节点M加入到关联节点表;
步骤605:结束;
当目的地址为簇内节点M的数据包到达接入路由器R时,接入路由器R查看关联节点表,将数据包发送到簇内节点M的关联节点H,然后由关联节点H将数据包转发给簇内节点M;如果关联节点H检测到簇内节点M脱离自己的通信范围,那么关联节点H保存目的地址为簇内节点M的数据包同时将簇内节点M从关联簇内节点记录表中删除。
图9为本发明所述簇内节点在移动自组网络内部移动管理流程示意图。簇内节点M检测到自己即将离开当前关联节点H1时,检测邻居簇首节点发送的广告消息,选择信号强度最好的邻居簇首节点H2作为下一个关联节点;如果簇内节点M从当前的移动自组网络获取IPv6地址且与簇首节点H1、簇首节点H2位于同一个移动自组网络中,则通过下述过程实现移动管理:
步骤701:开始;
步骤702:簇内节点M向簇首节点H2发送关联消息,消息负载为簇首节点H1的IPv6地址;
步骤703:簇首节点H2收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器R和簇首节点H1分别发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤704:接入路由器R收到新关联消息后,查看关联节点表,将簇内节点M对应的表项中的关联节点IP地址域更新为簇首节点H2的IPv6地址,同时将生存周期设置为最大值;
步骤705:簇首节点H1收到新关联消息后,如果它还保留有簇内节点M的数据包,则将数据包转发给簇首节点H2,由簇首节点H2转发给簇内节点M;
步骤706:结束。
图10为本发明所述簇内节点在移动自组网络之间移动管理流程示意图。簇内节点M从移动自组网络A获取IPv6地址,其下一个关联节点H2位于移动自组网络B中且簇内节点M的当前关联节点H1位于移动自组网络A中,移动自组网络A通过接入路由器R连接到IPv6互联网,移动自组网络B通过接入路由器T连接到IPv6互联网,移动管理过程如下所示:
步骤801:开始;
步骤802:簇内节点M向簇首节点H2发送关联消息,消息负载为簇首节点H1的IPv6地址;
步骤803:簇首节点H2收到关联消息后,将簇内节点M加入到关联簇内节点记录表中,同时向接入路由器T和簇首节点H1分别发送一个新关联消息,消息负载为簇内节点M的IPv6地址;
步骤804:接入路由器T收到新关联消息后,在关联节点表中加入簇内节点M的表项,该表项中关联节点IPv6地址域为簇首节点H2的IPv6地址,同时向接入路由器R发送一条新关联消息,消息负载为簇内节点M的IPv6地址;
步骤805:接入路由器R收到新关联消息后,查看关联节点表,将簇内节点M对应的表项中的关联节点IP地址域更新为接入路由器T的IPv6地址,同时将生存周期设置为最大值;
步骤806:簇首节点H1收到新关联消息后,如果它还保留有簇内节点M的数据包,则将数据包转发给簇首节点H2,由簇首节点H2转发给簇内节点M;
步骤807:结束。
图11为本发明所述簇首节点在移动自组网络之间移动管理流程示意图。移动自组网络A通过接入路由器R连接到互联网,移动自组网络B通过接入路由器T连接到互联网,簇首节点H从移动自组网络A获取IPv6地址,通过检测接入路由器T发送的广告消息获知自己移动到接入路由器T时,则通过下述过程实现移动管理:
步骤901:开始;
步骤902:簇首节点H向接入路由器T发送新关联消息;
步骤903:接入路由器T收到新关联消息后,在关联节点表中加入簇首节点H的表项,其IP地址域以及关联节点IP地址域为簇首节点H的IPv6地址,同时向接入路由器R发送一条新关联消息,消息负载为簇首节点H的IPv6地址;
步骤904:接入路由器R收到新关联消息后,增加簇首节点H的关联记录表项,其中关联节点IP地址域设置为接入路由器T的IP地址,同时将生存周期设置为最大值;
步骤905:结束。
综上所述,本发明提供的基于IPv6的移动自组网络移动切换实现方法,此项技术可以应用于车载网络、医疗健康、军事国防等诸多领域,例如,在车载网络领域,可将基于IPv6的移动自组网络移动切换技术应用于获取网络服务,每台车辆为一个移动自组网节点,它们配置地址后,即可从互联网获取网络服务,在移动过程中自动实现移动管理,保持通信的连续性,因此,本技术具有很高的推广价值。
本发明提供了一种基于IPv6的移动自组网络移动切换实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
一种基于IPv6的移动自组网络移动切换实现方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0