CN109088778B - 一种未来移动网络的数据通信实现方法 - Google Patents
一种未来移动网络的数据通信实现方法 Download PDFInfo
- Publication number
- CN109088778B CN109088778B CN201811074163.9A CN201811074163A CN109088778B CN 109088778 B CN109088778 B CN 109088778B CN 201811074163 A CN201811074163 A CN 201811074163A CN 109088778 B CN109088778 B CN 109088778B
- Authority
- CN
- China
- Prior art keywords
- interface
- router
- message
- prefix
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种未来移动网络的数据通信实现方法,所述网络包括一个服务器、两个以上的路由器和两个以上的移动节点构成;每个路由器由一个前缀唯一标识,一个移动节点由一个节点名称唯一标识,节点名称在网络中具有唯一性;在本发明中,移动节点能够快速获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。
Description
技术领域
本发明涉及一种实现方法,尤其涉及的是一种未来移动网络的数据通信实现方法。
背景技术
未来移动网络中的节点之间通信通过中间节点的转发和路由来实现,因此,实现未来移动网络需要解决的关键技术之一就是降低数据传输延迟,以便使用户能够快速获取网络服务。随着未来移动网络技术的发展,未来移动网络会成为未来网络提供服务的一种模式。
目前,未来移动网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低未来移动网络提供服务的延迟和代价成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供了一种未来移动网络的数据通信实现方法。
技术方案:本发明公开了一种未来移动网络的数据通信实现方法,所述网络包括一个服务器、两个以上的路由器和两个以上的移动节点构成;每个路由器由一个前缀唯一标识,例如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仿真参数
本发明提供了一种未来移动网络的数据通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (7)
1.一种未来移动网络的数据通信实现方法,其特征在于,所述网络包括一个服务器、两个以上的路由器和两个以上的移动节点构成;每个路由器由一个前缀唯一标识,一个移动节点由一个节点名称唯一标识,节点名称在网络中具有唯一性;
一个路由器配置两个以上的上游有线接口,网络中只有一个路由器配置一个下游有线接口,其他路由器配置一个以上的下游无线接口,每个上游有线接口与一个路由器相连,路由器的下游有线接口与一个服务器相连,路由器的下游无线接口与移动节点相连;一个移动节点配置一个无线接口,该接口与路由器的下游无线接口相连,该路由器称为该移动节点的关联路由器;一个服务器配置一个有线接口,该接口与网络中具有下游有线接口的路由器相连;
每个有线接口和无线接口分别由一个接口ID唯一标识,接口ID为i的接口记为接口i,i为正整数;上游有线接口、下游有线接口和下游无线接口统称为接口;
一个消息由前缀,节点名称,消息类型,接口ID集合和负载构成;
消息类型值如下所示:
每个路由器维护一个服务器表,该服务器表项包含接口ID集合域和生命周期域;
所述网络中唯一的服务器为服务器S1,服务器S1与路由器R0链路相连,服务器S1定期执行下述操作建立服务器表:
步骤101:开始;
步骤102:服务器S1发送服务器发布消息,该服务器发布消息的前缀和节点名称域均为空,消息类型值为1,接口ID集合为空,负载为空;
步骤103:路由器R0从接口x1接收到该服务器发布消息后,将接口x1加入到该服务器发布消息的接口ID集合中并作为最后一个元素,如果路由器R0存在一个服务器表项,该服务器表项的接口ID集合等于该服务器发布消息中的接口ID集合,则将该服务器表项的生命周期设置为最大值,否则路由器R0创建一个服务器表项,该服务器表项的接口ID集合等于该服务器发布消息中的接口ID集合,将该服务器表项的生命周期设置为最大值;
步骤104:路由器R0从每个上游接口发送该服务器发布消息;
步骤105:除路由器R0以外的其他路由器从接口x2接收到该服务器发布消息后,将接口x2加入到该服务器发布消息的接口ID集合中并作为最后一个元素,如果该路由器存在一个服务器表项,该服务器表项的接口ID集合的元素个数小于该服务器发布消息中的接口ID集合的元素个数,则执行步骤113,否则执行步骤106;
步骤106:步骤105中的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口ID集合等于该服务器发布消息中的接口ID集合,则执行步骤107,否则执行步骤108;
步骤107:步骤105中的路由器选择一个服务器表项,该服务器表项的接口ID集合等于该服务器发布消息中的接口ID集合,将该服务器表项的生命周期设置为最大值,执行步骤112;
步骤108:步骤105中的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口ID集合的元素个数等于该服务器发布消息中的接口ID集合的元素个数,则执行步骤111,否则执行步骤109;
步骤109:步骤105中的路由器查看服务器表,如果存在一个服务器表项,该服务器表项的接口ID集合的元素个数大于该服务器发布消息中的接口ID集合的元素个数,则执行步骤110,否则执行步骤111;
步骤110:步骤105中的路由器查看服务器表,选择所有接口ID集合的元素个数大于该服务器发布消息中的接口ID集合的元素个数的服务器表项,删除这些选中的服务器表项;
步骤111:步骤105中的路由器创建一个服务器表项,该服务器表项的接口ID集合等于该服务器发布消息中的接口ID集合,将该服务器表项的生命周期设置为最大值;
步骤112:步骤105中的路由器从除了接口x2以外的所有上游接口转发该服务器发布消息,执行步骤105;
步骤113:结束;
如果任一个路由器检测到一个服务器表项的生命周期衰减为0,则删除该服务器表项。
2.根据权利要求1所述的一种未来移动网络的数据通信实现方法,其特征在于,每个路由器维护一个路由器表,每个路由器表项包含前缀域、接口ID集合域和生命周期域;
路由器R1的前缀为P1,路由器R1定期执行下述操作建立路由器表:
步骤201:开始;
步骤202:路由器R1从每个上游接口和下游接口发送路由器发布消息,该路由器发布消息的前缀为前缀P1,节点名称域为空,消息类型值为2,接口ID集合为空,负载为空,移动节点接收到该路由器发布消息后,执行步骤203,否则执行步骤204;
步骤203:移动节点接收到该路由器发布消息后,保存该路由器发布消息中的前缀,执行步骤212;
步骤204:除路由器R1以外的其他路由器从接口y1接收到该路由器发布消息后,将接口y1加入到该路由器发布消息的接口ID集合中并作为最后一个元素,如果该路由器存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口ID集合的元素个数小于该路由器发布消息中的接口ID集合的元素个数,则执行步骤212,否则执行步骤205;
步骤205:步骤204中的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息中的接口ID集合,则执行步骤206,否则执行步骤207;
步骤206:步骤204中的路由器选择一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息中的接口ID集合,将该路由器表项的生命周期设置为最大值,执行步骤211;
步骤207:步骤204中的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口ID集合的元素个数等于该路由器发布消息中的接口ID集合的元素个数,则执行步骤210,否则执行步骤208;
步骤208:步骤204中的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀且接口ID集合的元素个数大于该路由器发布消息中的接口ID集合的元素个数,则执行步骤209,否则执行步骤210;
步骤209:步骤204中的路由器查看路由器表,选择所有前缀等于该路由器发布消息的前缀且接口ID集合的元素个数大于该路由器发布消息中的接口ID集合的元素个数的路由器表项,删除这些选中的路由器表项;
步骤210:步骤204中的路由器创建一个路由器表项,该路由器表项的前缀等于该路由器发布消息的前缀,接口ID集合等于该路由器发布消息中的接口ID集合,将该路由器表项的生命周期设置为最大值;
步骤211:步骤204中的路由器从除了接口y1以外的所有上游接口转发该路由器发布消息,执行步骤204;
步骤212:结束;
如果任一个路由器检测到一个路由器表项的生命周期衰减为0,则删除该路由器表项。
3.根据权利要求2所述的一种未来移动网络的数据通信实现方法,其特征在于,每个路由器维护一个邻居表,每个邻居表项包含节点名称域、接口ID域和生命周期域;移动节点MN1的节点名称为NN1,与路由器R1连接,移动节点MN1定期执行下述操作以维护邻居表:
步骤301:开始;
步骤302:移动节点MN1发送一个邻居发布消息,该邻居发布消息的前缀为空,节点名称为NN1,消息类型值为3,接口ID集合为空,负载为空;
步骤303:路由器R1从接口f1接收到该邻居发布消息后,查看邻居表,如果存在一个邻居表项,该邻居表项的节点名称域等于该邻居发布消息的节点名称且接口ID域值等于f1,则将该邻居表项的生命周期设置为最大值,否则路由器R1创建一个邻居表项,该邻居表项的节点名称域等于该邻居发布消息的节点名称,接口ID域值等于f1,生命周期为最大值;
步骤304:结束;
如果任一个路由器检测到一个邻居表项的生命周期衰减为0,则删除该邻居表项。
4.根据权利要求3所述的一种未来移动网络的数据通信实现方法,其特征在于,服务器S1保存一个节点表,一个节点表项包含节点名称域、前缀域和生命周期域;移动节点MN1的节点名称为NN1,与路由器R1连接,路由器R1的前缀为P1,移动节点MN1定期执行下述注册操作:
步骤401:开始;
步骤402:移动节点MN1发送一个注册消息,该注册消息的前缀为前缀P1,节点名称为NN1,消息类型值为4,接口ID集合为空,负载为空;
步骤403:路由器R1接收到注册消息后,随机选取一个服务器表项,将该注册消息的接口ID集合更新为该服务器表项的接口ID集合,路由器R1选择该注册消息接口ID集合中的最后一个元素标识的接口,从该注册消息接口ID集合中删除最后一个元素,从选中的接口转发该注册消息;
步骤404:判断是服务器S1还是除路由器R1以外的其他路由器接收到该注册消息,如果是服务器S1则执行步骤406,否则执行步骤405;
步骤405:接收到注册消息的路由器选择该注册消息接口ID集合中的最后一个元素标识的接口,从该注册消息接口ID集合中删除最后一个元素,从选中的接口转发该注册消息,执行步骤404;
步骤406:服务器S1接收到注册消息后查看节点表,如果存在一个节点表项,该节点表项的节点名称和前缀分别等于该注册消息的节点名称和前缀,服务器S1则将该节点表项的生命周期设置为最大值;否则,服务器S1创建一个节点表项,该节点表项的节点名称和前缀分别等于该注册消息的节点名称和前缀,生命周期设置为最大值;
步骤407:结束;
如果服务器S1检测到一个节点表项的生命周期衰减为0,则删除该节点表项。
5.根据权利要求3所述的一种未来移动网络的数据通信实现方法,其特征在于,在服务器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还是除路由器R1以外的其他路由器接收到该前缀查询消息,如果是服务器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.根据权利要求3所述的一种未来移动网络的数据通信实现方法,其特征在于,每个路由器维护一个绑定表,每个绑定消息包含新前缀域、旧前缀域、节点名称域和生命周期域;在移动节点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:除路由器R2以外的其他路由器接收到该绑定消息后,查看该绑定消息的接口ID集合是否为空,如果是,则执行步骤606,否则执行步骤605;
步骤605:步骤604中的路由器选择该绑定消息的接口ID集合的最后一个元素标识的接口,从该绑定消息的接口ID集合中删除最后一个元素,从选中的接口转发该绑定消息,执行步骤604;
步骤606:步骤604中的路由器接收到该绑定消息后,查看绑定表;如果存在一个绑定表项,该绑定表项的节点名称域值等于该绑定消息的节点名称域值,该路由器则将该绑定表项的新前缀域值更新为该绑定消息的前缀,将生命周期设置为最大值;否则该路由器创建一个绑定表项,该绑定表项的节点名称域值等于该绑定消息的节点名称域值,该绑定表项的旧前缀域值等于该绑定消息负载中的前缀,该绑定表项的新前缀域值等于该绑定消息的前缀,将生命周期设置为最大值;
步骤607:结束;
如果任一个路由器检测到一个绑定表项的生命周期衰减为0,则删除该绑定表项。
7.根据权利要求5所述的一种未来移动网络的数据通信实现方法,其特征在于,每个路由器维护一个聚合表,一个聚合表项包含节点名称域,前缀域和接口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:除路由器R1以外的其他路由器从接口z2接收到该请求消息,查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,且接口ID等于z2,则执行步骤716,否则执行步骤708;
步骤708:步骤707中从接口z2接收到该请求消息的路由器查看聚合表,如果存在一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,则执行步骤709,否则执行步骤710;
步骤709:步骤707中从接口z2接收到该请求消息的路由器创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口ID等于z2,执行步骤716;
步骤710:步骤707中从接口z2接收到该请求消息的路由器创建一个聚合表项,该聚合表项的节点名称和前缀分别等于该请求消息的节点名称和前缀,接口ID等于z2,如果请求消息的接口ID集合为空,则执行步骤712,否则执行步骤711;
步骤711:步骤707中从接口z2接收到该请求消息的路由器选择该请求消息的接口ID集合的最后一个元素标识的接口,从该请求消息的接口ID集合中删除最后一个元素,从选中的接口转发该请求消息,执行步骤707;
步骤712:步骤707中从接口z2接收到该请求消息的路由器查看绑定表,如果存在一个绑定表项,该绑定表项的节点名称等于该请求消息的节点名称,则执行步骤713,否则执行步骤714;
步骤713:步骤707中从接口z2接收到该请求消息的路由器选择一个绑定表,该绑定表项的节点名称等于该请求消息的节点名称,将该绑定表项的生命周期设置为最大值;然后选择一个路由器表项,该路由器表项的前缀域值等于该绑定表项的新前缀,将该请求消息的接口ID集合更新为该路由器表项的接口ID集合;该路由器选择该请求消息的接口ID集合的最后一个元素标识的接口,从该请求消息的接口ID集合中删除最后一个元素,从选中的接口转发该请求消息,执行步骤707;
步骤714:步骤707中从接口z2接收到该请求消息的路由器选择一个邻居表项,该邻居表项的节点名称域值等于该请求消息的节点名称域值,从该邻居表项的接口ID所标识的接口转发该请求消息;移动节点接收到该请求消息,如果该移动节点的节点名称等于该请求消息的节点名称,则执行步骤715,否则执行步骤716;
步骤715:接收到请求消息的移动节点发送一个响应消息,该响应消息的前缀和节点名称分别等于该请求消息的前缀和节点名称,消息类型值为9,接口ID集合为空,负载为响应数据;
步骤716:判断是移动节点MN1还是任一个路由器接收到该响应消息,如果是移动节点还则执行步骤718,否则执行步骤717;
步骤717:任一个路由器接收到该响应消息后,选择所有前缀域值和节点名称域值分别等于该响应消息的前缀域值和节点名称域值的聚合表项;针对每个选中的聚合表项,该路由器执行下述操作:该路由器从该聚合表项的接口ID域值所标识的接口转发该响应消息,删除该聚合表项,执行步骤716;
步骤718:移动节点MN1接收到该响应消息后,保存该响应消息负载中的数据;
步骤719:结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811074163.9A CN109088778B (zh) | 2018-09-14 | 2018-09-14 | 一种未来移动网络的数据通信实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811074163.9A CN109088778B (zh) | 2018-09-14 | 2018-09-14 | 一种未来移动网络的数据通信实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109088778A CN109088778A (zh) | 2018-12-25 |
CN109088778B true CN109088778B (zh) | 2021-02-19 |
Family
ID=64841487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811074163.9A Active CN109088778B (zh) | 2018-09-14 | 2018-09-14 | 一种未来移动网络的数据通信实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109088778B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110380971B (zh) * | 2019-06-11 | 2021-04-27 | 常熟理工学院 | 一种基于缓冲机制的网络数据通信方法 |
CN111050374B (zh) * | 2019-12-18 | 2021-07-09 | 常熟理工学院 | 一种低延迟的新一代信息网络实现方法 |
CN111277497B (zh) * | 2020-03-18 | 2021-09-21 | 常熟理工学院 | 一种基于分布式的网络服务部署和发现的实现方法 |
CN111711691B (zh) * | 2020-06-16 | 2021-10-01 | 常熟理工学院 | 一种基于物联网云的安全智能监测系统实现方法 |
CN117278592B (zh) * | 2023-11-20 | 2024-02-02 | 常熟理工学院 | 一种智能物联网系统的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9485550B2 (en) * | 2014-07-30 | 2016-11-01 | Ciena Corporation | Systems and methods for selection of optimal routing parameters for DWDM network services in a control plane network |
CN108347381A (zh) * | 2018-03-21 | 2018-07-31 | 常熟理工学院 | 一种新一代数据网络通信方法 |
CN108449274A (zh) * | 2018-03-21 | 2018-08-24 | 常熟理工学院 | 一种以数据为中心的未来网络实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6500214B2 (ja) * | 2014-03-20 | 2019-04-17 | パナソニックIpマネジメント株式会社 | データ配信装置および撮像装置 |
-
2018
- 2018-09-14 CN CN201811074163.9A patent/CN109088778B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9485550B2 (en) * | 2014-07-30 | 2016-11-01 | Ciena Corporation | Systems and methods for selection of optimal routing parameters for DWDM network services in a control plane network |
CN108347381A (zh) * | 2018-03-21 | 2018-07-31 | 常熟理工学院 | 一种新一代数据网络通信方法 |
CN108449274A (zh) * | 2018-03-21 | 2018-08-24 | 常熟理工学院 | 一种以数据为中心的未来网络实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109088778A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109088778B (zh) | 一种未来移动网络的数据通信实现方法 | |
CN109246785B (zh) | 一种未来移动网络的实现方法 | |
CN109257789B (zh) | 一种基于多跳簇的车载网数据通信方法 | |
CN110138663B (zh) | 一种以数据为中心的新一代网络实现方法 | |
CN109462549B (zh) | 一种新一代无线移动网络的实现方法 | |
CN109167728B (zh) | 一种基于命名数据网络的大数据通信实现方法 | |
CN109150723B (zh) | 一种物联网的路由通信实现方法 | |
CN109005567B (zh) | 一种基于簇的移动网络实现方法 | |
CN109089241B (zh) | 一种车载网的数据通信实现方法 | |
CN111245725B (zh) | 一种基于分布式的未来网络实现方法 | |
CN110769479B (zh) | 一种高效的新一代无线网络通信方法 | |
CN111277497B (zh) | 一种基于分布式的网络服务部署和发现的实现方法 | |
CN110401911B (zh) | 一种基于命名数据网络的车载云实现方法 | |
CN108494595B (zh) | 一种高效的新一代大数据网络实现方法 | |
CN110233889B (zh) | 一种基于缓存机制的网络数据通信实现方法 | |
CN109089293B (zh) | 一种未来移动网络的路由通信实现方法 | |
CN108462623B (zh) | 一种高效的数据中心网络实现方法 | |
CN109257276B (zh) | 一种高效的命名数据网络实现方法 | |
CN108696838B (zh) | 一种基于位置信息的车载数据路由方法 | |
CN109039901B (zh) | 一种高效的数据网络路由实现方法 | |
CN108965138B (zh) | 一种新一代多媒体传感网的实现方法 | |
CN107948342B (zh) | 一种大数据网络实现方法 | |
CN108881021B (zh) | 一种高效可靠的物联网实现方法 | |
CN110719208B (zh) | 一种基于最短路径的新一代网络实现方法 | |
CN111416773B (zh) | 一种快速的大数据网络实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |