[0004] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种未来移动网络的实现方法。
[0005] 技术方案:本发明公开了一种未来移动网络的实现方法,所述网络包括路由器和移动节点;路由器包括主路由器和接入路由器,所述网络中只包含一个主路由器,主路由器配置两个以上的有线接口,每个接口与接入路由器相连;一个接入路由器配置一个无线接口和一个有线接口,无线接口与移动节点链路相连,有线接口与主路由器相连;
[0006] 一个接口由接口ID唯一标识,该接口ID等于该接口的媒体访问控制地址,即MAC地址;
[0007] 一个接入路由器由一个路由器ID唯一标识,该路由器ID等于该接入路由器的无线接口的接口ID;
[0008] 移动节点具有一个无线接口,与接入路由器的无线接口链路相连;
[0009] 一种类型的数据由数据ID唯一标识;消息名称由消息类型定义,如下表所示:
[0010]
[0011]
[0012] 每个接入路由器保存一个主路由器表,一个主路由器表只包含一个主路由器表项,由接口ID集合和生命周期构成;一个主路由器消息包含消息类型值和接口ID集合;主路由器MR1定期执行下述操作更新主路由表:
[0013] 步骤101:开始;
[0014] 步骤102:主路由器MR1从每个接口发送主路由器消息,该主路由器消息的消息类型值为1,接口ID集合为空;
[0015] 步骤103:接入路由器从接口x1接收到该主路由器消息,将接口x1加入到该主路由器消息的接口ID集合中;判断该接入路由器的主路由器表中存在一个主路由器表项,该主路由器表项的生命周期域值与最大生命周期之差的绝对值小于阈值T1,如果存在则执行步骤106,否则执行步骤104;
[0016] 步骤104:从接口x1接收到该主路由器消息的接入路由器查看主路由器表,判断是否存在一个主路由器表项,如果存在则将该主路由器表项的接口ID集合更新为该主路由器消息的接口ID集合,将生命周期设置为最大值;否则,该接入路由器创建一个主路由器表项,该主路由器表项的接口ID集合等于该主路由器消息的接口ID集合,将生命周期设置为最大值;
[0017] 步骤105:从接口x1接收到该主路由器消息的接入路由器从除了接口x1以外的每个有线接口转发该主路由器消息,执行步骤103;
[0018] 步骤106:结束。
[0019] 主路由器通过上述过程建立主路由器表项以建立每个接入路由器到达自己的路由路径,由于接入路由器只处理接收到的第一个主路由器消息,因此确保了自己到达主路由器的路由路径为最优;此外,每个主路由器表项通过生命周期来控制到达主路由器的路由路径的有效性和实时性,从而确保了接入路由器与主路由器之间的通信高效性和正确性。
[0020] 本发明所述方法中,主路由器MR1维护一个转发表,一个转发表项包含路由器ID,接口ID集合和生命周期;
[0021] 接入路由器消息包含消息类型值,路由器ID,源接口ID集合和目的接口ID集合;
[0022] 接入路由器AR1定期执行下述操作建立转发表:
[0023] 步骤201:开始;
[0024] 步骤202:接入路由器AR1选择唯一的主路由器表项,构建一个接入路由器消息,该接入路由器消息的消息类型值为2,路由器ID为接入路由器AR1的路由器ID,源接口ID集合为空,目的接口ID集合等于该主路由器表项的接口ID集合;接入路由器AR1选择该接入路由器消息的目的接口ID集合的最后一个元素标识的接口,从该接入路由器消息的目的接口ID集合中删除最后一个元素,从选中的接口转发该接入路由器消息;
[0025] 步骤203:判断是主路由器MR1从接口x2还是接入路由器从接口x3接收到该接入路由器消息,如果是主路由器MR1则执行步骤205,否则执行步骤204;
[0026] 步骤204:接入路由器将接口x3加入到该接入路由器消息的源接口ID集合中并作为最后一个元素,该接入路由器选择该接入路由器消息的目的接口ID集合的最后一个元素标识的接口,从该接入路由器消息的目的接口ID集合中删除最后一个元素,从选中的接口转发该接入路由器消息,执行步骤203;
[0027] 步骤205:主路由器MR1将接口x2加入到该接入路由器消息的源接口ID集合中并作为最后一个元素;主路由器MR1查看转发表,判断是否存在一个转发表项,该转发表项的路由器ID等于该接入路由器消息的路由器ID,是则主路由器MR1将该转发表项的接口ID集合更新为该接入路由器消息的源接口ID集合,将生命周期设置为最大值;否则,主路由器MR1创建一个转发表项,该转发表项的路由器ID等于该接入路由器消息的路由器ID,接口ID集合等于该接入路由器消息的源接口ID集合,将生命周期设置为最大值;
[0028] 步骤206:结束。
[0029] 接入路由器通过上述过程建立转发表项以建立主路由器到达自己的路由路径,由于接入路由器采用主路由器表项来实现与主路由器的通信并建立路由表项,因此主路由器到达自己的路由路径为最优;此外,每个转发表项通过生命周期来控制主路由器到达自己的路由路径的有效性和实时性,从而确保了主路由器与接入路由器之间的通信高效性和正确性。
[0030] 本发明所述方法中,接入路由器保存一个移动节点表,一个移动节点表项包含数据ID和生命周期域;一个移动节点和接入路由器各自保存一个数据表,一个数据表项包含数据ID域,数值域和生命周期域;
[0031] 数据DA1由数据ID DID1唯一标识,如果移动节点产生或者获取了数据DA1,则创建一个数据表项,该数据表项的数据ID为DID1,数值域为数据DA1,生命周期设置为最大值;一个移动节点消息包含消息类型值和数据ID集合域;
[0032] 移动节点MN1与接入路由器AR1相连,如果移动节点MN1的数据表项的个数不为0,则定期执行下述操作更新移动节点表:
[0033] 步骤301:开始;
[0034] 步骤302:移动节点MN1发送一个移动节点消息,该移动节点消息的消息类型值为3,数据ID集合等于移动节点MN1的所有数据表项的数据ID域值的并集;
[0035] 步骤303:接入路由器AR1接收到该移动节点消息后,针对该移动节点消息的数据ID集合中的每一个元素,接入路由器AR1执行下述操作:接入路由器AR1判断是否存在一个移动节点表项,该移动节点表项的数据ID等于该元素,如果是,则将该移动节点表项的生命周期设置为最大值;否则,接入路由器AR1创建一个移动节点表项,该移动节点表项的数据ID等于该元素,将生命周期设置为最大值;
[0036] 步骤304:结束。
[0037] 接入路由器通过上述过程建立移动节点表以保存所关联的移动节点所能提供的数据的数据ID,这样,接入路由器可以快速提供该数据,从而降低数据通信延迟和代价;每个移动节点表项通过生命周期来控制每个移动节点表项的有效性和实时性,从而确保了该移动节点所能提供数据的有效性。
[0038] 本发明所述方法中,主路由器MR1保存一个索引表,一个索引表项包含路由器ID、数据ID集合和生命周期;
[0039] 一个注册消息包含消息类型、接口ID集合、数据ID集合和路由器ID;
[0040] 如果接入路由器AR1的移动节点表或者数据表不为空,则定期执行下述操作建立索引表:
[0041] 步骤401:开始;
[0042] 步骤402:接入路由器AR1选择唯一的主路由器表项,构建一个注册消息,该注册消息的消息类型值为4,路由器ID为接入路由器AR1的路由器ID,接口ID集合等于该主路由器表项的接口ID集合,数据ID集合等于该接入路由器AR1的所有移动节点表项和所有数据表项的数据ID域值的并集;接入路由器AR1选择该注册消息的接口ID集合的最后一个元素标识的接口,从该注册消息的接口ID集合中删除最后一个元素,从选中的接口转发该注册消息;
[0043] 步骤403:判断是主路由器MR1还是接入路由器接收到该注册消息,如果是主路由器MR1则执行步骤405,否则执行步骤404;
[0044] 步骤404:接入路由器接收到该注册消息后,选择该注册消息的接口ID集合的最后一个元素标识的接口,从该注册消息的接口ID集合中删除最后一个元素,从选中的接口转发该注册消息,执行步骤403;
[0045] 步骤405:主路由器MR1接收到注册消息,判断是否存在一个索引表项,该索引表项的路由器ID等于该注册消息的路由器ID,如果存在则主路由器MR1则将该索引表项的数据ID集合更新为该注册消息的数据ID集合,将生命周期设置为最大值;否则主路由器MR1创建一个索引表项,该索引表项的路由器ID等于该注册消息的路由器ID,数据ID集合等于该注册消息的数据ID集合,将生命周期设置为最大值;
[0046] 步骤406:结束。
[0047] 主路由器通过上述过程建立接入路由器的索引表以保存每个接入路由器以及所关联的移动节点所能提供的数据的数据ID,这样,主路由器可以根据索引表快速地提供数据检索信息,从而降低数据通信延迟和代价;每个索引表项通过生命周期来控制每个索引表项的有效性和实时性,从而确保了每个接入路由器所能提供数据的有效性。
[0048] 本发明所述方法中,一个路由器维护一个汇聚表,一个汇聚表项包含接口ID域和数据ID域;一个请求消息包含数据ID和接口ID集合;一个响应消息包含数据ID和数据;
[0049] 在移动节点MN2与接入路由器AR2链接,数据DA1由数据ID DID1标识的条件下,如果接入路由器AR2存在一个数据表项或者移动节点表项,该数据表项或者移动节点表项的数据ID等于DID1,则移动节点MN2通过下述过程获取数据DA1:
[0050] 步骤501:开始;
[0051] 步骤502:移动节点MN2发送一个请求消息,该请求消息的数据ID为DID1,接口ID集合为空;
[0052] 步骤503:接入路由器AR2从无线接口接收到该请求消息后,判断自己是否存在一个数据表项,该数据表项的数据ID等于该请求消息的数据ID;如果存在,则执行步骤504,否则执行步骤505;
[0053] 步骤504:接入路由器AR2选择一个数据表项,该数据表项的数据ID等于该请求消息的数据ID,接入路由器AR2从无线接口发送一个响应消息,该响应消息的数据ID等于该请求消息的数据ID,数据域值等于该数据表项的数值域值,执行步骤507;
[0054] 步骤505:接入路由器AR2从无线接口转发该请求消息;移动节点接收到该请求消息后查看数据表,判断是否存在一个数据表项,该数据表项的数据ID等于该请求消息的数据ID,如果是则执行步骤506,否则执行步骤508;
[0055] 步骤506:接收到该请求消息的移动节点选择一个数据表项,该数据表项的数据ID等于该请求消息的数据ID,从无线接口发送一个响应消息,该响应消息的数据ID等于该请求消息的数据ID,数据域值等于该数据表项的数值域值;接入路由器AR2接收到该响应消息后从无线接口转发该响应消息,创建一个数据表项,该数据表项的数据ID等于该响应消息的数据ID,将该数据表项的生命周期设置为最大值;
[0056] 步骤507:移动节点MN2接收到该响应消息后,创建一个数据表项,该数据表项的数据ID和数值域值分别等于该响应消息的数据ID和数据域值;
[0057] 步骤508:结束。
[0058] 移动节点通过上述过程获取数据,由于接入路由器通过数据表能够保存数据,且通过移动节点表能够实时获取所关联的移动节点所能提供的数据,因此,移动节点能够快速从所关联的接入路由器或者移动节点获取所需数据,从而降低数据通信延迟和代价。
[0059] 本发明所述方法中,在移动节点MN2与接入路由器AR2链接,数据DA1由数据ID DID1标识的条件下,如果接入路由器AR2的任何一个数据表项或者移动节点表项的数据ID都不等于DID1,则移动节点MN2通过下述过程获取数据DA1:
[0060] 步骤601:开始;
[0061] 步骤602:移动节点MN2发送一个请求消息,该请求消息的数据ID为DID1,接口ID集合为空;接入路由器AR2从接口y1接收到该请求消息后查看汇聚表;判断是否存在一个汇聚表项,该汇聚表项的接口ID等于y1且数据ID等于该请求消息的数据ID,如果是则执行步骤617,否则执行步骤603;
[0062] 步骤603:从接口y1接收到该请求消息的接入路由器AR2查看汇聚表;判断是否存在一个汇聚表项,该汇聚表项的数据ID等于该请求消息的数据ID,如果是则执行步骤604,否则执行步骤605;
[0063] 步骤604:从接口y1接收到该请求消息的接入路由器AR2创建一个汇聚表项,该汇聚表项的接口ID等于y1,数据ID等于该请求消息的数据ID,执行步骤617;
[0064] 步骤605:从接口y1接收到该请求消息的接入路由器AR2创建一个汇聚表项,该汇聚表项的接口ID等于y1,数据ID等于该请求消息的数据ID;接入路由器AR2选择唯一的主路由器表项,将该请求消息的接口ID集合设置为该主路由器表项的接口ID集合,选择该请求消息的接口ID集合的最后一个元素标识的接口,从该请求消息的接口ID集合中删除最后一个元素,从选中的接口转发该请求消息;
[0065] 步骤606:路由器从接口y2接收到该请求消息后查看汇聚表;判断是否存在一个汇聚表项,该汇聚表项的接口ID等于y2且数据ID等于该请求消息的数据ID,如果是则执行步骤617,否则执行步骤607;
[0066] 步骤607:从接口y2接收到该请求消息的路由器查看汇聚表;判断是否存在一个汇聚表项,该汇聚表项的数据ID等于该请求消息的数据ID,如果是则执行步骤608,否则执行步骤609;
[0067] 步骤608:从接口y2接收到该请求消息的路由器创建一个汇聚表项,该汇聚表项的接口ID等于y2,数据ID等于该请求消息的数据ID,执行步骤617;
[0068] 步骤609:从接口y2接收到该请求消息的路由器创建一个汇聚表项,该汇聚表项的接口ID等于y2,数据ID等于该请求消息的数据ID;判断该路由器是否为主路由器MR1,是则执行步骤616,否则执行步骤610;
[0069] 步骤610:从接口y2接收到该请求消息的路由器判断自己是否存在一个数据表项,该数据表项的数据ID等于该请求消息的数据ID,如果存在,则执行步骤611,否则执行步骤612;
[0070] 步骤611:从接口y2接收到该请求消息的路由器选择一个数据表项,该数据表项的数据ID等于该请求消息的数据ID,从接口y2发送一个响应消息,该响应消息的数据ID等于该请求消息的数据ID,数据域值等于该数据表项的数值域值,执行步骤617;
[0071] 步骤612:从接口y2接收到该请求消息的路由器判断自己是否存在一个移动节点表项,该移动节点表项的数据ID等于该请求消息的数据ID,如果存在,则执行步骤613,否则执行步骤615;
[0072] 步骤613:从接口y2接收到该请求消息的路由器从无线接口转发该请求消息;移动节点接收到该请求消息后查看数据表,判断是否存在一个数据表项,该数据表项的数据ID等于该请求消息的数据ID,如果是则执行步骤614,否则执行步骤617;
[0073] 步骤614:接收到该请求消息的移动节点选择一个数据表项,该数据表项的数据ID等于该请求消息的数据ID,移动节点发送一个响应消息,该响应消息的数据ID等于该请求消息的数据ID,数据域值等于该数据表项的数值域值;从接口y2接收到该请求消息的路由器接收到该响应消息后从接口2转发该响应消息,执行步骤617;
[0074] 步骤615:从接口y2接收到该请求消息的路由器创建一个汇聚表项,该汇聚表项的接口ID等于y2,数据ID等于该请求消息的数据ID;该路由器选择该请求消息的接口ID集合的最后一个元素标识的接口,从该请求消息的接口ID集合中删除最后一个元素,从选中的接口转发该请求消息,执行步骤606;
[0075] 步骤616:从接口y2接收到该请求消息的路由器创建一个汇聚表项,该汇聚表项的接口ID等于y2,数据ID等于该请求消息的数据ID;该路由器选择所有满足条件1的索引表项,构建一个路由器ID集合S1,该集合等于所有满足条件1的索引表项的路由器ID域值的并集;选择所有满足条件2的转发表项,从所有满足条件2的转发表项中选择一个转发表项,该转发表项的接口ID集合中的元素个数最少;该路由器将该请求消息的接口ID集合设置为该转发表项的接口ID集合,选择该请求消息的接口ID集合的最后一个元素标识的接口,从该请求消息的接口ID集合中删除最后一个元素,从选中的接口转发该请求消息,执行步骤606;
[0076] 条件1:该索引表项的数据ID集合包含该请求消息的数据ID;
[0077] 条件2:该转发表项的路由器ID包含在路由器ID集合S1中;
[0078] 步骤617:如果移动节点接收到该响应消息,则执行步骤620,否则执行步骤618;
[0079] 步骤618:接收到响应消息的路由器选择所有数据ID等于该响应消息的数据ID的汇聚表项,针对每个选中的汇聚表项,该路由器执行下述操作:该路由器从该汇聚表项的接口ID所标识的接口转发该响应消息,然后删除该汇聚表项;判断该路由器是否为主路由器,如果是则执行步骤617,否则执行步骤619;
[0080] 步骤619:接收到响应消息的路由器查看数据表,判断是否存在一个数据表项,该数据表项的数据ID等于该响应消息的数据ID,如果是则将该数据表项的生命周期设置为最大值;否则该路由器创建一个数据表项,该数据表项的数据ID等于该响应消息的数据ID,将该数据表项的生命周期设置为最大值,执行步骤617;
[0081] 步骤620:移动节点接收到该响应消息后,创建一个数据表项,该数据表项的数据ID和数值域值分别等于该响应消息的数据ID和数据域值;
[0082] 步骤621:结束。
[0083] 移动节点通过上述过程获取数据,上述过程通过汇聚表自动实现响应消息的路由同时实现了请求消息的聚合,这样,多个移动节点可以通过一次数据通信过程获取数据,从而降低了数据通信延迟和代价;由于接入路由器通过数据表能够保存数据,且通过移动节点表能够实时获取所关联的移动节点所能提供的数据,因此,移动节点能够从距离最近的接入路由器或者移动节点获取所需数据,从而进一步降低了数据通信延迟和代价。
[0084] 有益效果:本发明提供了一种未来移动网络的实现方法,用户通过本发明所提供的未来移动网络实现方法能够快速获取数据,从而有效缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。