1.一种未来移动网络的数据通信方法,其特征在于,所述移动网络包括K个接入路由器和两个以上的移动节点,所述移动网络划分为K个子网;每个接入路由器的地理位置坐标(x,y)具有唯一性,接入路由器由其地理位置坐标唯一标识;移动节点具有路由转发功能,通过距离自己最近的接入路由器获取数据;一个接入路由器和所有通过该接入路由器实现数据通信的移动节点构建成一个子网,每个子网中包含一个用于保存所在子网的本地数据的数据服务器,接入路由器和数据服务器集成在一起,共享一个地址;
所述移动网络包括单播地址、任播地址以及多播地址;所述移动网络通过单播地址实现路由,一个任播地址唯一定义一种类型的数据,移动网络通过任播地址获取数据,移动网络通过多播地址更新数据;
所述单播地址由两个部分构成,第一部分为网络前缀,第二部分为接口ID,接口ID由节点ID,以及接入路由器或者移动节点的地理横坐标和地理纵坐标构成;所述任播地址由两个部分构成,第一部分为网络前缀,第二部分为接口ID,其值为0;所述多播地址由多播前缀和多播组ID构成,其中,多播组ID由网络前缀和保留域构成,保留域为0,网络缀值等于一个任播地址的网络前缀值;
在一个单播地址中,如果节点ID的长度为i比特,则可分配的节点ID空间为[1,2i-1];所述移动网络中第k个子网的节点ID空间Ak如公式(1)所示,k取值1~K,节点ID空间Ak由第k个子网中的接入路由器维护,接入路由器的节点ID为0;
当移动节点启动后,通过下述过程从距离自己最近的接入路由器获取节点ID:
步骤101:开始;
步骤102:移动节点构建自己的单播地址,其中,网络前缀为0,节点ID为随机数,地理横坐标和地理纵坐标为自己当前的地理横坐标和地理纵坐标;移动节点构建接入路由器的单播地址,其中,网络前缀为0,节点ID为0,地理横坐标和地理纵坐标为接入路由器的地理横坐标和地理纵坐标;
步骤103:移动节点发送地址请求消息,地址请求消息的目的地址为接入路由器的单播地址,源地址为移动节点的单播地址,根据目的地址中接入路由器的地理横坐标和地理纵坐标,该地址请求消息最终到达接入路由器;
步骤104:接入路由器收到地址请求消息后,从自己维护的节点ID空间从分配一个可用的节点ID,向移动节点返回一个地址响应消息,地址响应消息目的地址为移动节点的单播地址,地址响应消息负载为分配的节点ID,接入路由器将该节点ID设置为已分配状态;
步骤105:移动节点收到地址响应消息后,将自己的节点ID设置为地址响应消息中的节点ID;
步骤106:结束;
移动节点获取节点ID后,在整个生命周期由该节点ID唯一标识。
2.根据权利要求1所述的一种未来移动网络的数据通信方法,其特征在于,每个子网中的接入路由器和移动节点共同维护一个数据检索表,每个表项包括四个域:任播地址域,节点ID域,地理坐标域和生命周期域,其中,任播地址域表明一种类型的数据,节点ID域表明能够提供该数据的移动节点的节点ID,地理坐标域表明该移动节点的地理坐标,生命周期域表明该数据的生命周期;一个子网中的接入路由器和移动节点的数据检索表的名字和内容都相同,其名称以接入路由器的地理横坐标和地理纵坐标命名;
移动节点启动后,获取每个接入路由器的地理坐标;
一个任播地址A定义了一种类型的数据C和一个任播组G,多播地址U的网络前缀与任播地址A的网络前缀相同,多播地址U定义了多播组P,数据服务器S的网络前缀与任播地址A的网络前缀相同,数据服务器S与所有能提供数据C的移动节点构建成任播组G和多播组P;
在移动节点M1距离自己最近的接入路由器为AR1,任播地址A1定义了数据C1和任播组G1,多播地址U1的网络前缀等于任播地址A1的网络前缀,多播地址U1定义了多播组P1,任播组G1的所有成员构建成多播组P1,接入路由器AR1位于子网B1,地理坐标为(x1,y1),子网B1的网络前缀为NP1的情况下,移动节点M1产生数据C1后,进行如下操作:步骤201:开始;
步骤202:移动节点M1创建一个数据检索表,表名称为(x1,y1),移动节点M1在该表中增加一个表项,该表项的任播地址域为A1,节点ID域为移动节点M1的节点ID,地理坐标为移动节点M1当前的地理坐标,生命周期设置为最大值,移动节点M1将自己标记为任播组G1和多播组P1的成员,通过广播一个信标帧;
步骤203:接收到信标帧的移动节点判断距离自己最近的接入路由器是否为接入路由器AR1,如果是,则执行步骤204,否则执行步骤209,其中,信标帧负载为数据检索表Th,该表的名称为(x1,y1);
步骤204:接收到信标帧的移动节点查看自己的数据检索表Tm和数据检索表Th,如果在数据检索表Th中存在一个表项,该表项的任播地址域和节点ID域与数据检索表Tm中任一个表项的任播地址域和节点ID域都不相同,则执行步骤205,否则执行步骤206;
步骤205:接收到信标帧的移动节点在数据检索表Tm增加一个表项,新增表项的任播地址域,节点ID域,地理坐标域以及生命周期域分别等于数据检索表Th中该表项的任播地址域,节点ID域,地理坐标域以及生命周期域;
步骤206:如果在数据检索表Th中存在一个表项Eh,该表项Eh的任播地址域和节点ID域与数据检索表Tm中的一个表项Em的任播地址域和节点ID域都相同且表项Eh中的生命周期值更大,则执行步骤207,否则执行步骤208;
步骤207:接收到信标帧的移动节点将表项Em的地理坐标域值和生命周期域值更新为表项Eh的地理坐标域值和生命周期域值;
步骤208:返回步骤203,最终子网B1中的所有节点建立了名称为为(x1,y1)的数据检索表;
步骤209:结束;
如果移动节点M1的地理位置发生变化,则移动节点M1将数据检索表中节点ID等于自己的节点ID的所有表项的地理坐标更新为自己当前的地理坐标,同时将生命周期设置为最大值,移动节点M1广播信标帧,帧负载为更新后的数据检索表;当数据检索表中的一个表项的生命周期衰减到0时,该表项从数据检索表中删除。
3.根据权利要求2所述的一种未来移动网络的数据通信方法,其特征在于,在移动节点N1距离最近的接入路由器为接入路由器AR1,任播地址A1定义了数据C1和任播组G1,任播组G1成员同时构建了多播组P1的情况下,移动节点N1如果需要获取数据C1,先查看数据检索表,如果在数据检索表中至少存在一个任播地址域值为A1的表项,那么移动节点N1通过下述过程获取数据C1:步骤301:开始;
步骤302:移动节点N1查看数据检索表中所有任播地址域为A1的表项,然后从距离自己最近的任播组成员M1获取数据C1,同时构建成员M1的单播地址,其中,单播地址的网络前缀设置为任播地址A1的网络前缀,节点ID与地理坐标设置为成员M1对应表项的节点ID和地理坐标值;
步骤303:移动节点N1发送一个数据请求消息,数据请求消息目的地址为M1的单播地址,源地址为自己的单播地址,其中,网络前缀为0,节点ID和地理坐标分别为自己的节点ID和当前的地理坐标;
步骤304:收到数据请求消息的下一跳节点判断自己是否为任播组G1成员,如果是,则执行步骤306,否则执行步骤305;
步骤305:收到数据请求消息的下一跳节点转发数据请求消息,执行步骤304;
步骤306:收到数据请求消息的下一跳节点返回一个数据响应消息,消息负载为数据C1,目的地址为移动节点N1的单播地址,源地址为自己的单播地址;
步骤307:移动节点N1或者任何想获取数据C1的中间节点收到数据响应消息后,保存数据C1,将自己标记为任播组G1和多播组P1的成员,在数据检索表中增加一个表项,该表项的任播地址域值为A1,节点ID和地理坐标为移动节点N1或者中间节点的节点ID和地理坐标;
步骤308:结束。
4.根据权利要求2所述的一种未来移动网络的数据通信方法,其特征在于,每个接入路由器维护一个数据请求索引表,每个表项包括任播地址域、节点ID域和地理坐标域;
在移动节点N1距离最近的接入路由器为AR1,其坐标为(x1,y1),任播地址A3定义数据C3和任播组G3,任播组G3成员同时构建了多播组P3,任播地址A3的网络前缀为NP3,接入路由器AR3的网络前缀为NP3,接入路由器AR1位于子网B1内,子网B1的网络前缀为NP1的情况下,如果移动节点N1需要获取数据C3,如果移动节点N1检测到数据检索表中没有任播地址为A3的表项,则移动节点N1通过下述过程获取数据C3:步骤401:开始;
步骤402:移动节点N1创建一个单播地址,该单播地址的网络前缀为NP3,节点ID为0,地理横坐标和地理纵坐标为(x1,y1);
步骤403:移动节点N1发送一个数据请求消息,该数据请求消息的目的地址为构建的单播地址,源地址为自己的单播地址,其中网络前缀为0,节点ID为N1的节点ID,地理坐标为N1的当前地理坐标值;
步骤404:收到该数据请求消息的下一跳节点判断自己是否为任播组G3的成员,如果是,则执行步骤405,否则执行步骤406;
步骤405:收到该数据请求消息的下一跳节点返回一个数据响应消息,该数据响应消息的目的地址是数据请求消息的源地址,数据负载为数据C3,执行步骤413;
步骤406:如果收到该数据请求消息的下一跳节点是接入路由器AR1,则执行步骤408,否则执行步骤407;
步骤407:收到该数据请求消息的下一跳节点转发数据请求消息,执行步骤404;
步骤408:接入路由器AR1收到数据请求消息后,判断数据请求索引表中是否有任播地址为A3的表项,如果有,则进行步骤412,否则进行步骤409;
步骤409:接入路由器AR1将数据请求消息源地址的网络前缀更新为自己的网络前缀NP1,转发该数据请求消息;
步骤410:接入路由器AR1在数据请求索引表中增加一个表项,该表项的任播地址为A3,节点ID和地理坐标分别为移动节点N1的节点ID和地理坐标;
步骤411:数据请求消息最终达到接入路由器AR3,接入路由器AR3通过与其集成在一起的数据服务器S3返回一个数据响应消息,该数据响应消息的目的地址是数据请求消息的源地址,数据响应数据负载为数据C3;
步骤412:该数据响应消息首先到达接入路由器AR1,接入路由器AR1查看数据请求索引表中所有任播地址为A3的表项,接入路由器AR1向为任播地址为A3的每个表项构建一个单播地址,其中网络前缀为0,节点ID和地理坐标分别为该表项中的节点ID和地理坐标,接入路由器AR1将每个构建的单播地址作为数据响应消息的目的地址并转发数据响应消息,接入路由器AR1从数据请求索引表中删除任播地址为A3的所有表项;
步骤413:移动节点N1或者任何需要获取数据C3的中间节点收到数据响应消息后,保存数据C3,同时将自己标记为任播组G3和多播组P3的成员,同时在数据检索表中增加一个表项,该表项的任播地址域值为A3,节点ID和地理坐标为移动节点N1或者中间节点的节点ID和地理坐标;
步骤414:结束。
5.根据权利要求2所述的一种未来移动网络的数据通信方法,其特征在于,在任播地址A1定义了数据C1和任播组G1,任播地址A1的网络前缀为NP1,任播组G1成员同时构建了由多播组P1,多播组P1的多播地址为U1,移动节点M1为任播组G1和多播组P1的组成员的情况下,如果移动节点M1更新的数据C1,则通过下述过程进行数据C1的更新操作:步骤501:开始;
步骤502:移动节点M1创建一个多播地址U1,该多播地址U1的多播前缀为0xE,网络前缀为NP1,保留域为0;
步骤503:移动节点M1发送一条数据更新消息,该数据更新消息的目的地址为创建的多播地址,源地址为自己的单播地址,其中网络前缀为0,节点ID和地理坐标为移动节点M1的节点ID和当前地理坐标,负载为更新后的数据;
步骤504:当多播组P1的组成员收到数据更新消息后,该组成员用数据更新消息中的数据更新原来的数据C1;
步骤505:结束。