一种未来移动网络的数据通信实现方法与流程

文档序号:16401586发布日期:2018-12-25 20:09阅读:206来源:国知局
一种未来移动网络的数据通信实现方法与流程
本发明涉及一种实现方法,尤其涉及的是一种未来移动网络的数据通信实现方法。
背景技术
未来移动网络中的节点之间通信通过中间节点的转发和路由来实现,因此,实现未来移动网络需要解决的关键技术之一就是降低数据传输延迟,以便使用户能够快速获取网络服务。随着未来移动网络技术的发展,未来移动网络会成为未来网络提供服务的一种模式。目前,未来移动网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低未来移动网络提供服务的延迟和代价成为近年来研究的热点问题。技术实现要素:发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供了一种未来移动网络的数据通信实现方法。技术方案:本发明公开了一种未来移动网络的数据通信实现方法,所述网络包括一个服务器、两个以上的路由器和两个以上的移动节点构成;每个路由器由一个前缀唯一标识,例如cslg;一个移动节点由一个节点名称唯一标识,例如tina123,节点名称在网络中具有唯一性;一个路由器配置两个以上的上游有线接口,网络中只有一个路由器配置一个下游有线接口,其他路由器配置一个以上的下游无线接口,每个上游有线接口与一个路由器相连,路由器的下游有线接口与一个服务器相连,路由器的下游无线接口与移动节点相连;一个移动节点配置一个无线接口,该接口与路由器的下游无线接口相连,该路由器称为该移动节点的关联路由器;一个服务器配置一个有线接口,该接口域网络中具有下游有线接口的路由器相连;每个有线接口和无线接口分别由一个接口id唯一标识,接口id为i的接口记为接口i,i为正整数;上游有线接口、下游有线接口和下游无线接口统称为接口;一个消息由前缀,节点名称,消息类型,接口id集合和负载构成;消息类型值如下所示:消息类型名称消息类型值服务器发布消息1路由器发布消息2邻居发布消息3注册消息4前缀查询消息5前缀确认消息6绑定消息7请求消息8响应消息9每个路由器维护一个服务器表,该服务器表项包含接口id集合域和生命周期域;所述网络中唯一的服务器为服务器s1,服务器s1与路由器r0链路相连,服务器s1定期执行下述操作建立服务器表:步骤101:开始;步骤102:服务器s1发送服务器发布消息,该服务器发布消息的前缀和节点名称域均为空,消息类型值为1,接口id集合为空,负载为空;步骤103:路由器r0从接口x1接收到该服务器发布消息后,将接口x1加入到该服务器发布消息的接口id集合中并作为最后一个元素,如果路由器r0存在一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,则将该服务器表项的生命周期设置为最大值,例如1s;否则路由器r0创建一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,将该服务器表项的生命周期设置为最大值;步骤104:路由器r0从每个上游接口发送该服务器发布消息;步骤105:路由器从接口x2接收到该服务器发布消息后,将接口x2加入到该服务器发布消息的接口id集合中并作为最后一个元素,如果该路由器存在一个服务器表项,该服务器表项的接口id集合的元素个数小于该服务器发布消息中的接口id集合的元素个数,则执行步骤113,否则执行步骤106;步骤106:从接口x2接收到该服务器发布消息的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,则执行步骤107,否则执行步骤108;步骤107:从接口x2接收到该服务器发布消息的路由器选择一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,将该服务器表项的生命周期设置为最大值,例如1s,执行步骤112;步骤108:从接口x2接收到该服务器发布消息的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口id集合的元素个数等于该服务器发布消息中的接口id集合的元素个数,则执行步骤111,否则执行步骤109;步骤109:从接口x2接收到该服务器发布消息的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口id集合的元素个数大于该服务器发布消息中的接口id集合的元素个数,则执行步骤110,否则执行步骤111;步骤110:从接口x2接收到该服务器发布消息的路由器查看服务器表,选择所有接口id集合的元素个数大于该服务器发布消息中的接口id集合的元素个数的服务器表项,删除这些选中的服务器表项;步骤111:从接口x2接收到该服务器发布消息的路由器创建一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,将该服务器表项的生命周期设置为最大值;步骤112:从接口x2接收到该服务器发布消息的路由器从除了接口x2以外的所有上游接口转发该服务器发布消息,执行步骤105;步骤113:结束;如果路由器检测到一个服务器表项的生命周期衰减为0,则删除该服务器表项。服务器通过上述过程建立服务器表,并通过服务器表项的接口id集合建立到达服务器的路由路径,这样,路由器无需建立路由即可获取到达服务器的路由路径,从而降低了数据通信延迟和代价。本发明所述方法中,每个路由器维护一个路由器表,每个路由器表项包含前缀域、接口id集合域和生命周期域;路由器r1的前缀为p1,路由器r1定期执行下述操作建立路由器表:步骤201:开始;步骤202:路由器r1从每个上游接口和下游接口发送路由器发布消息,该路由器发布消息的前缀为前缀p1,节点名称域为空,消息类型值为2,接口id集合为空,负载为空,移动节点接收到该路由器发布消息后,执行步骤203,否则执行步骤204;步骤203:移动节点接收到该路由器发布消息后,保存该路由器发布消息中的前缀,执行步骤212;步骤204:路由器从接口y1接收到该路由器发布消息后,将接口y1加入到该路由器发布消息的接口id集合中并作为最后一个元素,如果该路由器存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口id集合的元素个数小于该路由器发布消息中的接口id集合的元素个数,则执行步骤212,否则执行步骤205;步骤205:从接口y1接收到该路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的接口id集合等于该路由器发布消息中的接口id集合,则执行步骤206,否则执行步骤207;步骤206:从接口y1接收到该路由器发布消息的路由器选择一个路由器表项,该路由器表项的接口id集合等于该路由器发布消息中的接口id集合,将该路由器表项的生命周期设置为最大值,例如1s,执行步骤211;步骤207:从接口y1接收到该路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口id集合的元素个数等于该路由器发布消息中的接口id集合的元素个数,则执行步骤210,否则执行步骤208;步骤208:从接口y1接收到该路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口id集合的元素个数大于该路由器发布消息中的接口id集合的元素个数,则执行步骤209,否则执行步骤210;步骤209:从接口y1接收到该路由器发布消息的路由器查看路由器表,选择所有前缀等于该路由器发布消息的前缀且接口id集合的元素个数大于该路由器发布消息中的接口id集合的元素个数的路由器表项,删除这些选中的路由器表项;步骤210:从接口y1接收到该路由器发布消息的路由器创建一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀,接口id集合等于该路由器发布消息中的接口id集合,将该路由器表项的生命周期设置为最大值;步骤211:从接口y1接收到该路由器发布消息的路由器从除了接口y1以外的所有上游接口转发该路由器发布消息,执行步骤204;步骤212:结束;如果路由器检测到一个路由器表项的生命周期衰减为0,则删除该路由器表项。路由器通过上述过程建立路由器表,并通过路由器表项的接口id集合建立到达其他路由器的路由路径,这样,路由器无需建立路由即可获取到达其他路由器的路由路径,从而降低了数据通信延迟和代价。本发明所述方法中,每个路由器维护一个邻居表,每个邻居表项包含节点名称域、接口id域和生命周期域;移动节点mn1的节点名称为nn1,与路由器r1连接,移动节点mn1定期执行下述操作以维护邻居表:步骤301:开始;步骤302:移动节点mn1发送一个邻居发布消息,该邻居发布消息的前缀为空,节点名称为nn1,消息类型值为3,接口id集合为空,负载为空;步骤303:路由器r1从接口f1接收到该邻居发布消息后,查看邻居表,如果存在一个邻居表项,该邻居表项的节点名称域等于该邻居发布消息的节点名称且接口id域值等于f1,则将该邻居表项的生命周期设置为最大值,例如1s;否则路由器r1创建一个邻居表项,该邻居表项的节点名称域等于该邻居发布消息的节点名称,接口id域值等于f1,生命周期为最大值;步骤304:结束;如果路由器检测到一个邻居表项的生命周期衰减为0,则删除该邻居表项。移动节点通过上述过程建立邻居表项,这样路由器可以获取邻居移动节点所能提供的数据名称,同时通过接口id域实现消息的正确转发,从而确保数据通信的正确性和成功率。本发明所述方法中,服务器s1保存一个节点表,一个节点表项包含节点名称域、前缀域和生命周期域;移动节点mn1的节点名称为nn1,与路由器r1连接,路由器r1的前缀为p1,移动节点mn1定期执行下述注册操作:步骤401:开始;步骤402:移动节点mn1发送一个注册消息,该注册消息的前缀为前缀p1,节点名称为nn1,消息类型值为4,接口id集合为空,负载为空;步骤403:路由器r1接收到注册消息后,随机选取一个服务器表项,将该注册消息的接口id集合更新为该服务器表项的接口id集合,路由器r1选择该注册消息接口id集合中的最后一个元素标识的接口,从该注册消息接口id集合中删除最后一个元素,从选中的接口转发该注册消息;步骤404:判断是服务器s1还是路由器接收到该注册消息,如果是服务器s1则执行步骤406,否则执行步骤405;步骤405:接收到注册消息的路由器选择该注册消息接口id集合中的最后一个元素标识的接口,从该注册消息接口id集合中删除最后一个元素,从选中的接口转发该注册消息,执行步骤404;步骤406:服务器s1接收到注册消息后查看节点表,如果存在一个节点表项,该节点表项的节点名称和前缀分别等于该注册消息的节点名称和前缀,服务器s1则将该节点表项的生命周期设置为最大值;否则,服务器s1创建一个节点表项,该节点表项的节点名称和前缀分别等于该注册消息的节点名称和前缀,生命周期设置为最大值;步骤407:结束;如果服务器s1检测到一个节点表项的生命周期衰减为0,则删除该节点表项。移动节点通过上述过程建立节点表项,这样服务器可以获取节点表项获取节点所能提供的数据名称,从而实现消息的正确转发,从而确保数据通信的正确性和成功率。本发明所述方法中,在服务器s1与路由器r0链路相连,移动节点mn1的节点名称为nn1,移动节点mn2的节点名称为nn2,移动节点mn1与路由器r1链路相连,路由器r1的前缀为p1的条件下,移动节点mn1通过下述过程获取移动节点mn2的前缀;步骤501:开始;步骤502:移动节点mn1发送一个前缀查询消息,该前缀查询消息的前缀为前缀p1,节点名称为nn1,消息类型值为5,接口id集合为空,负载为节点名称nn2;步骤503:路由器r1接收到该前缀查询消息后,随机选取一个服务器表项,将该前缀查询消息的接口id集合更新为该服务器表项的接口id集合;步骤504:路由器r1选择该前缀查询消息的接口id集合的最后一个元素标识的接口,从该前缀查询消息的接口id集合中删除最后一个元素,从选中的接口转发该前缀查询消息;步骤505:判断是服务器s1还是路由器接收到该前缀查询消息,如果是服务器s1则执行步骤507,否则执行步骤506;步骤506:接收到该前缀查询消息的路由器选择该前缀查询消息的接口id集合的最后一个元素标识的接口,从该前缀查询消息的接口id集合中删除最后一个元素,从选中的接口转发该前缀查询消息,执行步骤505;步骤507:服务器s1接收到该前缀查询消息后,查看节点表,选择一个节点表项,该节点表项的节点名称域值等于该前缀查询消息负载中的节点名称;服务器s1发送一个前缀确认消息,该前缀确认消息的前缀和节点名称分别等于该前缀查询消息的前缀和节点名称,消息类型值为6,接口id集合为空,负载为选中的节点表项的前缀域值;路由器r0接收到该前缀确认消息后,选择一个路由器表项,该路由器表项的前缀等于该前缀确认消息的前缀,路由器r0将该前缀确认消息的接口id集合更新为该路由器表项的接口id集合;路由器r0选择该前缀确认消息的接口id集合的最后一个元素标识的接口,从该前缀确认消息的接口id集合中删除最后一个元素,从选中的接口转发该前缀确认消息;步骤508:路由器接收到该前缀确认消息后,查看该前缀确认消息的接口id集合是否为空,如果是,则执行步骤510,否则执行步骤509;步骤509:接收到该前缀确认消息的路由器选择该前缀确认消息的接口id集合的最后一个元素标识的接口,从该前缀确认消息的接口id集合中删除最后一个元素,从选中的接口转发该前缀确认消息,执行步骤508;步骤510:接收到该前缀确认消息的路由器查看邻居表,选择一个邻居表项,该邻居表项的节点名称等于该前缀确认消息的节点名称,从该邻居表项的接口id域值所标识的接口转发该前缀确认消息;步骤511:移动节点mn1接收到该前缀确认消息后,保存移动节点mn2的前缀;步骤512:结束。移动节点通过上述过程获取前缀,由于上述过程通过服务器表项获取数据前缀,因此移动节点无需建立路由即可从服务器获取前缀,从而从正确的移动节点获取数据,提高了数据通信效率。本发明所述方法中,每个路由器维护一个绑定表,每个绑定消息包含新前缀域、旧前缀域、节点名称域和生命周期域;在移动节点mn2的节点名称为nn2,时刻t1时移动节点mn2与路由器r1链路相连,路由器r1的前缀为p1,时刻t2时移动节点mn2检测到自己从路由器r1切换到路由器r2,路由器r2的前缀为p2的条件下,移动节点mn2则执行下述操作建立绑定表:步骤601:开始;步骤602:移动节点mn2发送一个绑定消息,该绑定消息的前缀为p2,节点名称为nn2,消息类型值为7,接口id集合为空,负载为前缀p1;路由器r2接收到该绑定消息后,查看绑定表,如果存在一个绑定表项,该绑定表项的旧前缀域值等于该绑定消息的前缀且节点名称域值等于该绑定消息的节点名称,则删除该绑定消息;步骤603:路由器r2选择一个路由器表,该路由器表的前缀域值等于该绑定消息负载中的前缀,将该绑定消息的接口id集合更新为该路由器表项的接口id集合;路由器r2选择该绑定消息的接口id集合的最后一个元素标识的接口,从该绑定消息的接口id集合中删除最后一个元素,从选中的接口转发该绑定消息;步骤604:路由器接收到该绑定消息后,查看该绑定消息的接口id集合是否为空,如果是,则执行步骤606,否则执行步骤605;步骤605:接收到该绑定消息的路由器选择该绑定消息的接口id集合的最后一个元素标识的接口,从该绑定消息的接口id集合中删除最后一个元素,从选中的接口转发该绑定消息,执行步骤604;步骤606:路由器接收到该绑定消息后,查看绑定表;如果存在一个绑定表项,该绑定表项的节点名称域值等于该绑定消息的节点名称域值,该路由器则将该绑定表项的新前缀域值更新为该绑定消息的前缀,将生命周期设置为最大值;否则该路由器创建一个绑定表项,该绑定表项的节点名称域值等于该绑定消息的节点名称域值,该绑定表项的旧前缀域值等于该绑定消息负载中的前缀,该绑定表项的新前缀域值等于该绑定消息的前缀,将生命周期设置为最大值;步骤607:结束;如果路由器检测到一个绑定表项的生命周期衰减为0,则删除该绑定表项。移动节点通过上述过程建立绑定表,从而实现正确的数据通信。移动节点通过绑定表即使在移动过程中仍能获取正确的数据通信,因此提高了数据通信的正确性和效率。本发明所述方法中,每个路由器维护一个聚合表,一个聚合表项包含节点名称域,前缀域和接口id域;在移动节点mn1的节点名称为nn1,移动节点mn2的节点名称为nn2,移动节点mn1与路由器r1相连,路由器r1的前缀为p1,移动节点mn1执行步骤501~512获取移动节点mn2的前缀p2的条件下,移动节点mn1执行下述过程实现与移动节点mn2的数据通信:步骤701:开始;步骤702:移动节点mn1发送请求消息,该请求消息的前缀为前缀p2,节点名称为nn2,消息类型值为8,接口id集合为空,负载为空;步骤703:路由器r1从接口z1接收到该请求消息,查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,且接口id等于z1,则执行步骤716,否则执行步骤704;步骤704:从接口z1接收到该请求消息的路由器r1查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,则执行步骤705,否则执行步骤706;步骤705:从接口z1接收到该请求消息的路由器r1创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口id等于z1,执行步骤716;步骤706:从接口z1接收到该请求消息的路由器r1创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口id等于z1,路由器r1选择一个路由器表项,该路由器表项的前缀等于该请求消息的前缀,将该请求消息的接口id集合更新为该路由器表项的接口id集合;路由器r1选择该请求消息的接口id集合的最后一个元素标识的接口,从该请求消息的接口id集合中删除最后一个元素,从选中的接口转发该请求消息;步骤707:路由器从接口z2接收到该请求消息,查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,且接口id等于z2,则执行步骤716,否则执行步骤708;步骤708:从接口z2接收到该请求消息的路由器查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,则执行步骤709,否则执行步骤710;步骤709:从接口z2接收到该请求消息的路由器创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口id等于z2,执行步骤716;步骤710:从接口z2接收到该请求消息的路由器创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口id等于z2,如果请求消息的接口id集合为空,则执行步骤712,否则执行步骤711;步骤711:从接口z2接收到该请求消息的路由器选择该请求消息的接口id集合的最后一个元素标识的接口,从该请求消息的接口id集合中删除最后一个元素,从选中的接口转发该请求消息,执行步骤707;步骤712:从接口z2接收到该请求消息的路由器查看绑定表,如果存在一个绑定表项,该绑定表项的节点名称等于该请求消息的节点名称,则执行步骤713,否则执行步骤714;步骤713:从接口z2接收到该请求消息的路由器选择一个绑定表,该绑定表项的节点名称等于该请求消息的节点名称,将该绑定表项的生命周期设置为最大值;然后选择一个路由器表项,该路由器表项的前缀域值等于该绑定表项的新前缀,将该请求消息的接口id集合更新为该路由器表项的接口id集合;该路由器选择该请求消息的接口id集合的最后一个元素标识的接口,从该请求消息的接口id集合中删除最后一个元素,从选中的接口转发该请求消息,执行步骤707;步骤714:从接口z2接收到该请求消息的路由器选择一个邻居表项,该邻居表项的节点名称域值等于该请求消息的节点名称域值,从该邻居表项的接口id所标识的接口转发该请求消息;移动节点接收到该请求消息,如果该移动节点的节点名称等于该请求消息的节点名称,则执行步骤715,否则执行步骤716;步骤715:接收到请求消息的移动节点发送一个响应消息,该响应消息的前缀和节点名称分别等于该请求消息的前缀和节点名称,消息类型值为9,接口id集合为空,负载为响应数据;步骤716:判断是移动节点mn1还是路由器接收到该响应消息,如果是移动节点还则执行步骤718,否则执行步骤717;步骤717:路由器接收到该响应消息后,选择所有前缀域值和节点名称域值分别等于该响应消息的前缀域值和节点名称域值的聚合表项;针对每个选中的聚合表项,该路由器执行下述操作:该路由器从该聚合表项的接口id域值所标识的接口转发该响应消息,删除该聚合表项,执行步骤716;步骤718:移动节点mn1接收到该响应消息后,保存该响应消息负载中的数据;步骤719:结束。移动节点通过上述过程实现数据通信,上述过程通过聚合表来实现,这样,多个移动节点可以通过一次数据通信过程获取数据,从而大幅度降低了数据通信延迟和代价。有益效果:本发明提供了一种未来移动网络的数据通信实现方法,在本发明中,移动节点能够快速获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。附图说明下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。图1为本发明所述的建立服务器表流程示意图。图2为本发明所述的建立路由器表流程示意图。图3为本发明所述的建立邻居表流程示意图。图4为本发明所述的注册流程示意图。图5为本发明所述的获取前缀流程示意图。图6为本发明所述的建立绑定表流程示意图。图7为本发明所述的数据流程流程示意图。具体实施方式:本发明提供了一种未来移动网络的数据通信实现方法,在本发明中,移动节点能够快速获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。图1为本发明所述的建立服务器表流程示意图。所述网络包括一个服务器、两个以上的路由器和两个以上的移动节点构成;每个路由器由一个前缀唯一标识,一个移动节点由一个节点名称唯一标识,节点名称在网络中具有唯一性;一个路由器配置两个以上的上游有线接口,网络中只有一个路由器配置一个下游有线接口,其他路由器配置一个以上的下游无线接口,每个上游有线接口与一个路由器相连,路由器的下游有线接口与一个服务器相连,路由器的下游无线接口与移动节点相连;一个移动节点配置一个无线接口,该接口与路由器的下游无线接口相连,该路由器称为该移动节点的关联路由器;一个服务器配置一个有线接口,该接口域网络中具有下游有线接口的路由器相连;每个有线接口和无线接口分别由一个接口id唯一标识,接口id为i的接口记为接口i,i为正整数;上游有线接口、下游有线接口和下游无线接口统称为接口;一个消息由前缀,节点名称,消息类型,接口id集合和负载构成;消息类型值如下所示:消息类型名称消息类型值服务器发布消息1路由器发布消息2邻居发布消息3注册消息4前缀查询消息5前缀确认消息6绑定消息7请求消息8响应消息9每个路由器维护一个服务器表,该服务器表项包含接口id集合域和生命周期域;所述网络中唯一的服务器为服务器s1,服务器s1与路由器r0链路相连,服务器s1定期执行下述操作建立服务器表:步骤101:开始;步骤102:服务器s1发送服务器发布消息,该服务器发布消息的前缀和节点名称域均为空,消息类型值为1,接口id集合为空,负载为空;步骤103:路由器r0从接口x1接收到该服务器发布消息后,将接口x1加入到该服务器发布消息的接口id集合中并作为最后一个元素,如果路由器r0存在一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,则将该服务器表项的生命周期设置为最大值,否则路由器r0创建一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,将该服务器表项的生命周期设置为最大值;步骤104:路由器r0从每个上游接口发送该服务器发布消息;步骤105:路由器从接口x2接收到该服务器发布消息后,将接口x2加入到该服务器发布消息的接口id集合中并作为最后一个元素,如果该路由器存在一个服务器表项,该服务器表项的接口id集合的元素个数小于该服务器发布消息中的接口id集合的元素个数,则执行步骤113,否则执行步骤106;步骤106:从接口x2接收到该服务器发布消息的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,则执行步骤107,否则执行步骤108;步骤107:从接口x2接收到该服务器发布消息的路由器选择一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,将该服务器表项的生命周期设置为最大值,执行步骤112;步骤108:从接口x2接收到该服务器发布消息的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口id集合的元素个数等于该服务器发布消息中的接口id集合的元素个数,则执行步骤111,否则执行步骤109;步骤109:从接口x2接收到该服务器发布消息的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口id集合的元素个数大于该服务器发布消息中的接口id集合的元素个数,则执行步骤110,否则执行步骤111;步骤110:从接口x2接收到该服务器发布消息的路由器查看服务器表,选择所有接口id集合的元素个数大于该服务器发布消息中的接口id集合的元素个数的服务器表项,删除这些选中的服务器表项;步骤111:从接口x2接收到该服务器发布消息的路由器创建一个服务器表项,该服务器表项的接口id集合等于该服务器发布消息中的接口id集合,将该服务器表项的生命周期设置为最大值;步骤112:从接口x2接收到该服务器发布消息的路由器从除了接口x2以外的所有上游接口转发该服务器发布消息,执行步骤105;步骤113:结束;如果路由器检测到一个服务器表项的生命周期衰减为0,则删除该服务器表项。服务器通过上述过程建立服务器表,并通过服务器表项的接口id集合建立到达服务器的路由路径,这样,路由器无需建立路由即可获取到达服务器的路由路径,从而降低了数据通信延迟和代价。图2为本发明所述的建立路由器表流程示意图。每个路由器维护一个路由器表,每个路由器表项包含前缀域、接口id集合域和生命周期域;路由器r1的前缀为p1,路由器r1定期执行下述操作建立路由器表:步骤201:开始;步骤202:路由器r1从每个上游接口和下游接口发送路由器发布消息,该路由器发布消息的前缀为前缀p1,节点名称域为空,消息类型值为2,接口id集合为空,负载为空,移动节点接收到该路由器发布消息后,执行步骤203,否则执行步骤204;步骤203:移动节点接收到该路由器发布消息后,保存该路由器发布消息中的前缀,执行步骤212;步骤204:路由器从接口y1接收到该路由器发布消息后,将接口y1加入到该路由器发布消息的接口id集合中并作为最后一个元素,如果该路由器存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口id集合的元素个数小于该路由器发布消息中的接口id集合的元素个数,则执行步骤212,否则执行步骤205;步骤205:从接口y1接收到该路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的接口id集合等于该路由器发布消息中的接口id集合,则执行步骤206,否则执行步骤207;步骤206:从接口y1接收到该路由器发布消息的路由器选择一个路由器表项,该路由器表项的接口id集合等于该路由器发布消息中的接口id集合,将该路由器表项的生命周期设置为最大值,执行步骤211;步骤207:从接口y1接收到该路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口id集合的元素个数等于该路由器发布消息中的接口id集合的元素个数,则执行步骤210,否则执行步骤208;步骤208:从接口y1接收到该路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口id集合的元素个数大于该路由器发布消息中的接口id集合的元素个数,则执行步骤209,否则执行步骤210;步骤209:从接口y1接收到该路由器发布消息的路由器查看路由器表,选择所有前缀等于该路由器发布消息的前缀且接口id集合的元素个数大于该路由器发布消息中的接口id集合的元素个数的路由器表项,删除这些选中的路由器表项;步骤210:从接口y1接收到该路由器发布消息的路由器创建一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀,接口id集合等于该路由器发布消息中的接口id集合,将该路由器表项的生命周期设置为最大值;步骤211:从接口y1接收到该路由器发布消息的路由器从除了接口y1以外的所有上游接口转发该路由器发布消息,执行步骤204;步骤212:结束;如果路由器检测到一个路由器表项的生命周期衰减为0,则删除该路由器表项。路由器通过上述过程建立路由器表,并通过路由器表项的接口id集合建立到达其他路由器的路由路径,这样,路由器无需建立路由即可获取到达其他路由器的路由路径,从而降低了数据通信延迟和代价。图3为本发明所述的建立邻居表流程示意图。每个路由器维护一个邻居表,每个邻居表项包含节点名称域、接口id域和生命周期域;移动节点mn1的节点名称为nn1,与路由器r1连接,移动节点mn1定期执行下述操作以维护邻居表:步骤301:开始;步骤302:移动节点mn1发送一个邻居发布消息,该邻居发布消息的前缀为空,节点名称为nn1,消息类型值为3,接口id集合为空,负载为空;步骤303:路由器r1从接口f1接收到该邻居发布消息后,查看邻居表,如果存在一个邻居表项,该邻居表项的节点名称域等于该邻居发布消息的节点名称且接口id域值等于f1,则将该邻居表项的生命周期设置为最大值,否则路由器r1创建一个邻居表项,该邻居表项的节点名称域等于该邻居发布消息的节点名称,接口id域值等于f1,生命周期为最大值;步骤304:结束;如果路由器检测到一个邻居表项的生命周期衰减为0,则删除该邻居表项。移动节点通过上述过程建立邻居表项,这样路由器可以获取邻居移动节点所能提供的数据名称,同时通过接口id域实现消息的正确转发,从而确保数据通信的正确性和成功率。图4为本发明所述的注册流程示意图。服务器s1保存一个节点表,一个节点表项包含节点名称域、前缀域和生命周期域;移动节点mn1的节点名称为nn1,与路由器r1连接,路由器r1的前缀为p1,移动节点mn1定期执行下述注册操作:步骤401:开始;步骤402:移动节点mn1发送一个注册消息,该注册消息的前缀为前缀p1,节点名称为nn1,消息类型值为4,接口id集合为空,负载为空;步骤403:路由器r1接收到注册消息后,随机选取一个服务器表项,将该注册消息的接口id集合更新为该服务器表项的接口id集合,路由器r1选择该注册消息接口id集合中的最后一个元素标识的接口,从该注册消息接口id集合中删除最后一个元素,从选中的接口转发该注册消息;步骤404:判断是服务器s1还是路由器接收到该注册消息,如果是服务器s1则执行步骤406,否则执行步骤405;步骤405:接收到注册消息的路由器选择该注册消息接口id集合中的最后一个元素标识的接口,从该注册消息接口id集合中删除最后一个元素,从选中的接口转发该注册消息,执行步骤404;步骤406:服务器s1接收到注册消息后查看节点表,如果存在一个节点表项,该节点表项的节点名称和前缀分别等于该注册消息的节点名称和前缀,服务器s1则将该节点表项的生命周期设置为最大值;否则,服务器s1创建一个节点表项,该节点表项的节点名称和前缀分别等于该注册消息的节点名称和前缀,生命周期设置为最大值;步骤407:结束;如果服务器s1检测到一个节点表项的生命周期衰减为0,则删除该节点表项。移动节点通过上述过程建立节点表项,这样服务器可以获取节点表项获取节点所能提供的数据名称,从而实现消息的正确转发,从而确保数据通信的正确性和成功率。图5为本发明所述的获取前缀流程示意图。在服务器s1与路由器r0链路相连,移动节点mn1的节点名称为nn1,移动节点mn2的节点名称为nn2,移动节点mn1与路由器r1链路相连,路由器r1的前缀为p1的条件下,移动节点mn1通过下述过程获取移动节点mn2的前缀;步骤501:开始;步骤502:移动节点mn1发送一个前缀查询消息,该前缀查询消息的前缀为前缀p1,节点名称为nn1,消息类型值为5,接口id集合为空,负载为节点名称nn2;步骤503:路由器r1接收到该前缀查询消息后,随机选取一个服务器表项,将该前缀查询消息的接口id集合更新为该服务器表项的接口id集合;步骤504:路由器r1选择该前缀查询消息的接口id集合的最后一个元素标识的接口,从该前缀查询消息的接口id集合中删除最后一个元素,从选中的接口转发该前缀查询消息;步骤505:判断是服务器s1还是路由器接收到该前缀查询消息,如果是服务器s1则执行步骤507,否则执行步骤506;步骤506:接收到该前缀查询消息的路由器选择该前缀查询消息的接口id集合的最后一个元素标识的接口,从该前缀查询消息的接口id集合中删除最后一个元素,从选中的接口转发该前缀查询消息,执行步骤505;步骤507:服务器s1接收到该前缀查询消息后,查看节点表,选择一个节点表项,该节点表项的节点名称域值等于该前缀查询消息负载中的节点名称;服务器s1发送一个前缀确认消息,该前缀确认消息的前缀和节点名称分别等于该前缀查询消息的前缀和节点名称,消息类型值为6,接口id集合为空,负载为选中的节点表项的前缀域值;路由器r0接收到该前缀确认消息后,选择一个路由器表项,该路由器表项的前缀等于该前缀确认消息的前缀,路由器r0将该前缀确认消息的接口id集合更新为该路由器表项的接口id集合;路由器r0选择该前缀确认消息的接口id集合的最后一个元素标识的接口,从该前缀确认消息的接口id集合中删除最后一个元素,从选中的接口转发该前缀确认消息;步骤508:路由器接收到该前缀确认消息后,查看该前缀确认消息的接口id集合是否为空,如果是,则执行步骤510,否则执行步骤509;步骤509:接收到该前缀确认消息的路由器选择该前缀确认消息的接口id集合的最后一个元素标识的接口,从该前缀确认消息的接口id集合中删除最后一个元素,从选中的接口转发该前缀确认消息,执行步骤508;步骤510:接收到该前缀确认消息的路由器查看邻居表,选择一个邻居表项,该邻居表项的节点名称等于该前缀确认消息的节点名称,从该邻居表项的接口id域值所标识的接口转发该前缀确认消息;步骤511:移动节点mn1接收到该前缀确认消息后,保存移动节点mn2的前缀;步骤512:结束。移动节点通过上述过程获取前缀,由于上述过程通过服务器表项获取数据前缀,因此移动节点无需建立路由即可从服务器获取前缀,从而从正确的移动节点获取数据,提高了数据通信效率。图6为本发明所述的建立绑定表流程示意图。每个路由器维护一个绑定表,每个绑定消息包含新前缀域、旧前缀域、节点名称域和生命周期域;在移动节点mn2的节点名称为nn2,时刻t1时移动节点mn2与路由器r1链路相连,路由器r1的前缀为p1,时刻t2时移动节点mn2检测到自己从路由器r1切换到路由器r2,路由器r2的前缀为p2的条件下,移动节点mn2则执行下述操作建立绑定表:步骤601:开始;步骤602:移动节点mn2发送一个绑定消息,该绑定消息的前缀为p2,节点名称为nn2,消息类型值为7,接口id集合为空,负载为前缀p1;路由器r2接收到该绑定消息后,查看绑定表,如果存在一个绑定表项,该绑定表项的旧前缀域值等于该绑定消息的前缀且节点名称域值等于该绑定消息的节点名称,则删除该绑定消息;步骤603:路由器r2选择一个路由器表,该路由器表的前缀域值等于该绑定消息负载中的前缀,将该绑定消息的接口id集合更新为该路由器表项的接口id集合;路由器r2选择该绑定消息的接口id集合的最后一个元素标识的接口,从该绑定消息的接口id集合中删除最后一个元素,从选中的接口转发该绑定消息;步骤604:路由器接收到该绑定消息后,查看该绑定消息的接口id集合是否为空,如果是,则执行步骤606,否则执行步骤605;步骤605:接收到该绑定消息的路由器选择该绑定消息的接口id集合的最后一个元素标识的接口,从该绑定消息的接口id集合中删除最后一个元素,从选中的接口转发该绑定消息,执行步骤604;步骤606:路由器接收到该绑定消息后,查看绑定表;如果存在一个绑定表项,该绑定表项的节点名称域值等于该绑定消息的节点名称域值,该路由器则将该绑定表项的新前缀域值更新为该绑定消息的前缀,将生命周期设置为最大值;否则该路由器创建一个绑定表项,该绑定表项的节点名称域值等于该绑定消息的节点名称域值,该绑定表项的旧前缀域值等于该绑定消息负载中的前缀,该绑定表项的新前缀域值等于该绑定消息的前缀,将生命周期设置为最大值;步骤607:结束;如果路由器检测到一个绑定表项的生命周期衰减为0,则删除该绑定表项。移动节点通过上述过程建立绑定表,从而实现正确的数据通信。移动节点通过绑定表即使在移动过程中仍能获取正确的数据通信,因此提高了数据通信的正确性和效率。图7为本发明所述的数据流程示意图。每个路由器维护一个聚合表,一个聚合表项包含节点名称域,前缀域和接口id域;在移动节点mn1的节点名称为nn1,移动节点mn2的节点名称为nn2,移动节点mn1与路由器r1相连,路由器r1的前缀为p1,移动节点mn1执行步骤501~512获取移动节点mn2的前缀p2的条件下,移动节点mn1执行下述过程实现与移动节点mn2的数据通信:步骤701:开始;步骤702:移动节点mn1发送请求消息,该请求消息的前缀为前缀p2,节点名称为nn2,消息类型值为8,接口id集合为空,负载为空;步骤703:路由器r1从接口z1接收到该请求消息,查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,且接口id等于z1,则执行步骤716,否则执行步骤704;步骤704:从接口z1接收到该请求消息的路由器r1查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,则执行步骤705,否则执行步骤706;步骤705:从接口z1接收到该请求消息的路由器r1创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口id等于z1,执行步骤716;步骤706:从接口z1接收到该请求消息的路由器r1创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口id等于z1,路由器r1选择一个路由器表项,该路由器表项的前缀等于该请求消息的前缀,将该请求消息的接口id集合更新为该路由器表项的接口id集合;路由器r1选择该请求消息的接口id集合的最后一个元素标识的接口,从该请求消息的接口id集合中删除最后一个元素,从选中的接口转发该请求消息;步骤707:路由器从接口z2接收到该请求消息,查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,且接口id等于z2,则执行步骤716,否则执行步骤708;步骤708:从接口z2接收到该请求消息的路由器查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,则执行步骤709,否则执行步骤710;步骤709:从接口z2接收到该请求消息的路由器创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口id等于z2,执行步骤716;步骤710:从接口z2接收到该请求消息的路由器创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口id等于z2,如果请求消息的接口id集合为空,则执行步骤712,否则执行步骤711;步骤711:从接口z2接收到该请求消息的路由器选择该请求消息的接口id集合的最后一个元素标识的接口,从该请求消息的接口id集合中删除最后一个元素,从选中的接口转发该请求消息,执行步骤707;步骤712:从接口z2接收到该请求消息的路由器查看绑定表,如果存在一个绑定表项,该绑定表项的节点名称等于该请求消息的节点名称,则执行步骤713,否则执行步骤714;步骤713:从接口z2接收到该请求消息的路由器选择一个绑定表,该绑定表项的节点名称等于该请求消息的节点名称,将该绑定表项的生命周期设置为最大值;然后选择一个路由器表项,该路由器表项的前缀域值等于该绑定表项的新前缀,将该请求消息的接口id集合更新为该路由器表项的接口id集合;该路由器选择该请求消息的接口id集合的最后一个元素标识的接口,从该请求消息的接口id集合中删除最后一个元素,从选中的接口转发该请求消息,执行步骤707;步骤714:从接口z2接收到该请求消息的路由器选择一个邻居表项,该邻居表项的节点名称域值等于该请求消息的节点名称域值,从该邻居表项的接口id所标识的接口转发该请求消息;移动节点接收到该请求消息,如果该移动节点的节点名称等于该请求消息的节点名称,则执行步骤715,否则执行步骤716;步骤715:接收到请求消息的移动节点发送一个响应消息,该响应消息的前缀和节点名称分别等于该请求消息的前缀和节点名称,消息类型值为9,接口id集合为空,负载为响应数据;步骤716:判断是移动节点mn1还是路由器接收到该响应消息,如果是移动节点还则执行步骤718,否则执行步骤717;步骤717:路由器接收到该响应消息后,选择所有前缀域值和节点名称域值分别等于该响应消息的前缀域值和节点名称域值的聚合表项;针对每个选中的聚合表项,该路由器执行下述操作:该路由器从该聚合表项的接口id域值所标识的接口转发该响应消息,删除该聚合表项,执行步骤716;步骤718:移动节点mn1接收到该响应消息后,保存该响应消息负载中的数据;步骤719:结束。移动节点通过上述过程实现数据通信,上述过程通过聚合表来实现,这样,多个移动节点可以通过一次数据通信过程获取数据,从而大幅度降低了数据通信延迟和代价。实施例1基于表1的仿真参数,本实施例模拟了本发明中的一种未来移动网络的数据通信实现方法,性能分析如下:当数据传输量增加时,数据通信成功率减少,当数据传输量减少时,数据通信成功率增加,数据通信成功率为98.5%。表1仿真参数本发明提供了一种未来移动网络的数据通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1