[0099] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0100] 图1为本发明所述的建立转发表流程示意图。
[0101] 图2为本发明所述的切换流程示意图。
[0102] 图3为本发明所述的数据通信流程示意图。
[0103] 图4为本发明所述的获取数据流程示意图。
[0104] 图5为本发明所述的获取远程数据流程示意图。具体实施方式:
[0105] 本发明提供了一种快速的未来数据网络实现方法,移动节点通过本发明所提供的数据通信方法能够获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于大数据获取等领域,具有广泛的应用前景。
[0106] 图1为本发明所述的建立转发表流程示意图。所述网络包括骨干网络和子网,骨干网络包括两个以上的核心路由器,一个核心路由器包括两个以上的有线接口,每个有线接口由一个接口ID唯一标识;一个子网由一个接入路由器和两个以上的移动节点构成;一个移动节点具有一个无线接口;接入路由器具有一个无线接口和两个以上的有线接口;接入路由器的每个有线接口与一个核心路由器的有线接口链路相连,接入路由器的无线接口与移动节点的无线接口链接;
[0107] 一种数据由一个名字唯一标识,一个名字由名字前缀和名字ID唯一标识;移动节点通过地址和消息获取或者提供数据;地址由转发前缀和名字构成;一个子网以及该子网的接入路由器由一个名字前缀唯一标识,该名字前缀预先设置;
[0108] 消息由源地址域、目的地址域、消息类型域和负载域构成;消息类型域如下表所示:
[0109]消息类型 值
发布消息 1
切换消息 2
请求消息 3
响应消息 4
[0110] 每个核心路由器和接入路由器维护一个转发表,一个转发表项包含转发前缀、接口ID以及生命周期域值;一个子网中的接入路由器启动后,定期发布标识该子网的名字前缀以建立或者更新转发表,过程如下所示:
[0111] 步骤101:开始;
[0112] 步骤102:接入路由器创建一个地址,该地址的转发前缀等于标识接入路由器所在子网的名字前缀,名字为空;接入路由器通过每一个有线接口发送一个发布消息,该发布消息中,源地址为构建的地址,目的地址为空,消息类型域值为1,负载为空;
[0113] 步骤103:核心路由器或者接入路由器从自己的接口接收到发布消息后,查看转发表,将该接口的接口ID定义为f,如果存在一个转发表项,该转发表项的转发前缀等于接收到的发布消息源地址的转发前缀且接口ID域值等于f,则执行步骤104,否则执行步骤105;
[0114] 步骤104:从接口f接收到发布消息的核心路由器或者接入路由器选择一个转发表项,该转发表项的转发前缀等于接收到的发布消息源地址的转发前缀且接口ID域值等于f,将该转发表项的生命周期设置为最大值,执行步骤106;
[0115] 步骤105:从接口f接收到发布消息的核心路由器或者接入路由器创建一个转发表项,该转发表项的转发前缀等于接收到的发布消息源地址的转发前缀,接口ID域值等于f,生命周期设置为最大值;
[0116] 步骤106:如果接入路由器从接口f接收到发布消息,则执行步骤108,否则执行步骤107;
[0117] 步骤107:从接口f接收到发布消息的核心路由器从除了接口f以外的所有接口转发接收到的发布消息,执行步骤103;
[0118] 步骤108:结束;
[0119] 如果一个转发表项的生命周期衰减为0,则从转发表中删除该转发表项。
[0120] 图2为本发明所述的切换流程示意图。在数据C1由名字NA1唯一标识,名字NA1由名字前缀NP1和名字ID NID1构成,接入路由器AR1位于子网S1内,子网S1由名字前缀NP1唯一标识,子网S1称为数据C1的家乡子网,接入路由器AR1称为数据C1的家乡代理的条件下,接入路由器维护一个绑定表,每个绑定表项由转发前缀域、名字域和生命周期域构成;
[0121] 移动节点N1能提供X中数据,X为正整数,每种数据Cy由名字NAy唯一标识,y取值范围1~X,名字NAy由名字前缀NPy和名字ID NIDy构成,数据Cy的家乡子网为子网Sy,数据Cy的家乡代理为接入路由器ARy;
[0122] 移动节点N1启动后,定期执行下述切换操作:
[0123] 步骤201:开始;
[0124] 步骤202:移动节点N1设置参数z,参数z的初始值为0;
[0125] 步骤203:移动节点N1将参数z递增1,如果参数z大于X,则执行步骤205,否则执行步骤204;
[0126] 步骤204:移动节点N1发送切换消息,该切换消息的目的地址中,转发前缀为名字前缀NPz,名字为NAz;在该切换消息的源地址中,转发前缀为标识移动节点N1所在子网S的名字前缀NP,名字为空,负载为空,消息类型为2,执行步骤203;
[0127] 步骤205:子网S中的接入路由器接收到切换消息后,查看转发表,选择一个转发表项,该转发表项的转发前缀等于该切换消息目的地址的转发前缀,从该转发表项的接口域发送该切换消息;
[0128] 步骤206:判断是核心路由器还是接入路由器接收到切换消息,如果接入路由器接收到该切换消息,则执行步骤208,否则执行步骤207;
[0129] 步骤207:核心路由器接收到该切换消息后,查看转发表,选择一个转发表项,该转发表项的转发前缀等于该切换消息目的地址的转发前缀,从该转发表项的接口域发送该切换消息,执行步骤206;
[0130] 步骤208:接入路由器接收到切换消息后,查看绑定表,如果存在一个绑定表项,该绑定表项的转发前缀等于该切换消息源地址的转发前缀,且名字域值等于该切换消息目的地址的名字,则执行步骤209,否则执行步骤210;
[0131] 步骤209:接收到切换消息的接入路由器选择一个绑定表项,该绑定表项的转发前缀等于该切换消息源地址的转发前缀,且名字域值等于该切换消息目的地址的名字,将该绑定表项的生存时间设置为最大值,执行步骤211;
[0132] 步骤210:接收到切换消息的接入路由器创建一个绑定表项,该绑定表项的转发前缀等于该切换消息源地址的转发前缀,名字域值等于该切换消息目的地址的名字,生存时间设置为最大值;
[0133] 步骤211:结束;
[0134] 如果一个绑定表项的生命周期衰减为0,则从绑定表中删除该绑定表项。
[0135] 图3为本发明所述的数据通信流程示意图。接入路由器维护一个等待表,每个等待表项包含消息域和生命周期域;
[0136] 在数据C1由名字NA1唯一标识,名字NA1由名字前缀NP1和名字ID NID1构成,数据C1的家乡子网为子网S1,数据C1的家乡代理为接入路由器AR1的条件下,如果移动节点N1位于子网S1中,它则通过下述过程获取数据C1:
[0137] 步骤301:开始;
[0138] 步骤302:移动节点N1发送请求消息,该请求消息的源地址中,转发前缀为NP1,名字为NA1,该请求消息的目的地址中,转发前缀为NP1,名字为NA1,消息类型为3,负载为空;
[0139] 步骤303:子网S1中的接入路由器接收到请求消息后,查看绑定表,如果至少存在一个绑定表项,该绑定表项的转发前缀等于请求消息目的地址的转发前缀,且名字域值等于请求消息目的地址的名字,则执行步骤307,否则执行步骤304;
[0140] 步骤304:子网S1中的接入路由器接收到请求消息后,选择一个绑定表项,该绑定表项的名字域值等于请求消息目的地址的名字,将该请求消息的目的地址的转发前缀更新为该绑定表项的转发前缀,查看转发表,选择一个转发表项,该转发表项的转发前缀等于更新后的请求消息目的地址的转发前缀,从该转发表项的接口域发送更新后的请求消息;
[0141] 步骤305:判断是核心路由器还是接入路由器接收到请求消息,如果接入路由器接收到请求消息,则执行步骤307,否则执行步骤306;
[0142] 步骤306:核心路由器接收到请求消息后,选择一个转发表项,该转发表项的转发前缀等于接收到的请求消息目的地址的转发前缀,从该转发表项的接口域发送该请求消息,执行步骤305;
[0143] 步骤307:接入路由器收到请求消息后,从无线接口发送该请求消息并创建一个等待表项,等待表项的消息域值为接收到的请求消息,生命周期为最大值;移动节点收到请求消息后判断自己是否能提供该请求消息目的地址的名字域所标识的数据,如果能够提供数据,则执行步骤309,否则执行步骤308;
[0144] 步骤308:收到请求消息的移动节点丢弃该请求消息,执行步骤316;
[0145] 步骤309:收到请求消息的移动节点发送一个响应消息,该响应消息的目的地址为接收到的请求消息的源地址,该响应消息的源地址为接收到的请求消息的目的地址,消息类型为4,负载为接收到的请求消息目的地址的名字所标识的数据以及该移动节点所能提供的所有数据的名字集合;与该移动节点链路相连的接入路由器收到响应消息后查看等待表,如果存在一个等待表项,该等待表项的消息域值的源地址等于该响应消息的目的地址且消息域值的目的地址等于该响应消息的源地址,则执行步骤311,否则执行步骤310;
[0146] 步骤310:接收到响应消息的接入路由器丢弃该响应消息,执行步骤316;
[0147] 步骤311:接收到响应消息的接入路由器选择一个等待表项,该等待表项的消息域值的源地址等于该响应消息的目的地址,且消息域值的目的地址等于该响应消息的源地址,该接入路由器删除该等待表项,如果接收到的响应消息的目的地址的转发前缀等于标识该接入路由器所在子网的名字前缀,则执行步骤315,否则执行步骤312;
[0148] 步骤312:接收到响应消息的接入路由器选择一个转发表项,该转发表项的转发前缀等于接收到的响应消息目的地址的转发前缀,从该转发表项的接口域发送该响应消息;
[0149] 步骤313:如果接入路由器接收到响应消息,则执行步骤315,否则执行步骤314;
[0150] 步骤314:接收到响应消息的核心路由器选择一个转发表项,该转发表项的转发前缀等于接收到的响应消息目的地址的转发前缀,从该转发表项的接口域发送该响应消息,执行步骤313;
[0151] 步骤315:接收到响应消息的接入路由器从无线接口发送该响应消息;
[0152] 步骤316:移动节点N1收到响应消息后,对于响应消息负载中名字集合中的每个名字建立一个二元组,二元组的第一个元素为该名字,二元组的第二个元素为该响应消息源地址的转发前缀;移动节点N1保存该响应消息负载中的数据;
[0153] 步骤317:结束。
[0154] 图4为本发明所述的获取数据流程示意图。在数据C2由名字NA2唯一标识,移动节点N1位于子网S1中,子网S1由名字前缀NP1标识的条件下,如果移动节点N1保存一个二元组,该二元组的第一个元素为NA2,则移动节点N1选择该二元组并通过下述过程获取数据C2:
[0155] 步骤401:开始;
[0156] 步骤402:移动节点N1发送请求消息,该请求消息的源地址中,转发前缀为NP1,名字为NA2,该请求消息的目的地址中,转发前缀为选中的二元组中的第二个元素,名字为NA2,消息类型为3,负载为空;
[0157] 步骤403:子网S1中的接入路由器接收到请求消息后,如果请求消息目的地址的转发前缀等于NP1,则执行步骤407,否则执行步骤404;
[0158] 步骤404:子网S1中的接入路由器接收到请求消息后,选择一个转发表项,该转发表项的转发前缀等于该请求消息目的地址的转发前缀,从该转发表项的接口域发送该请求消息;
[0159] 步骤405:判断是核心路由器还是接入路由器接收到请求消息,如果接入路由器接收到请求消息,则执行步骤407,否则执行步骤406;
[0160] 步骤406:核心路由器接收到请求消息后,选择一个转发表项,该转发表项的转发前缀等于接收到的请求消息目的地址的转发前缀,从该转发表项的接口域发送该请求消息,执行步骤405;
[0161] 步骤407:接入路由器收到请求消息后,从无线接口发送该请求消息并创建一个等待表项,等待表项的消息域值为接收到的请求消息,生命周期为最大值;移动节点收到请求消息后判断自己是否能提供该请求消息目的地址的名字域所标识的数据,如果能够提供数据,则执行步骤409,否则执行步骤408;
[0162] 步骤408:收到请求消息的移动节点丢弃该请求消息,执行步骤416;
[0163] 步骤409:收到请求消息的移动节点发送一个响应消息,该响应消息的目的地址为接收到的请求消息的源地址,该响应消息的源地址为接收到的请求消息的目的地址,消息类型为4,负载为接收到的请求消息目的地址的名字所标识的数据以及该移动节点所能提供的所有数据的名字集合;与该移动节点链路相连的接入路由器收到响应消息后查看等待表,如果存在一个等待表项,该等待表项的消息域值的源地址等于该响应消息的目的地址且消息域值的目的地址等于该响应消息的源地址,则执行步骤411,否则执行步骤410;
[0164] 步骤410:接收到响应消息的接入路由器丢弃该响应消息,执行步骤416;
[0165] 步骤411:接收到响应消息的接入路由器选择一个等待表项,该等待表项的消息域值的源地址等于该响应消息的目的地址,且消息域值的目的地址等于该响应消息的源地址,该接入路由器删除该等待表项,如果接收到的响应消息的目的地址的转发前缀等于标识该接入路由器所在子网的名字前缀,则执行步骤415,否则执行步骤412;
[0166] 步骤412:接收到响应消息的接入路由器选择一个转发表项,该转发表项的转发前缀等于接收到的响应消息目的地址的转发前缀,从该转发表项的接口域发送该响应消息;
[0167] 步骤413:判断是核心路由器还是接入路由器接收到响应消息,如果接入路由器接收到响应消息,则执行步骤415,否则执行步骤414;
[0168] 步骤414:接收到响应消息的核心路由器选择一个转发表项,该转发表项的转发前缀等于接收到的响应消息目的地址的转发前缀,从该转发表项的接口域发送该响应消息,执行步骤413;
[0169] 步骤415:接收到响应消息的接入路由器从无线接口发送该响应消息;
[0170] 步骤416:移动节点N1收到响应消息后,对于响应消息负载中名字集合中的每个名字建立一个二元组,二元组的第一个元素为该名字,二元组的第二个元素为该响应消息源地址的转发前缀;移动节点N1保存该响应消息负载中的数据;
[0171] 步骤417:结束。
[0172] 图5为本发明所述的获取远程数据流程示意图。在数据C1由名字NA1唯一标识,名字NA1由名字前缀NP1和名字ID NID1构成,数据C1的家乡子网为子网S1,移动节点N2位于子网S2中,子网S2由名字前缀NP2标识的条件下,如果移动节点N2保存的任何一个二元组的第一个元素都不等于NA1,则移动节点N2选择该二元组并通过下述过程获取数据C1:
[0173] 步骤501:开始;
[0174] 步骤502:移动节点N2发送请求消息,该请求消息的源地址中,转发前缀为NP2,名字为NA1,该请求消息的目的地址中,转发前缀为NP1,名字为NA1,消息类型为3,负载为空;
[0175] 步骤503:子网S2中的接入路由器接收到请求消息后,选择一个转发表项,该转发表项的转发前缀等于该请求消息目的地址的转发前缀,从该转发表项的接口域发送该请求消息;
[0176] 步骤504:判断是核心路由器还是接入路由器接收到请求消息,如果接入路由器接收到请求消息,则执行步骤506,否则执行步骤505;
[0177] 步骤505:核心路由器接收到请求消息后,选择一个转发表项,该转发表项的转发前缀等于接收到的请求消息目的地址的转发前缀,从该转发表项的接口域发送该请求消息,执行步骤504;
[0178] 步骤506:接入路由器接收到请求消息后,查看绑定表,如果至少存在一个绑定表项,该绑定表项的转发前缀等于该请求消息目的地址的转发前缀,且名字域值等于请求消息目的地址的名字,则执行步骤510,否则执行步骤507;
[0179] 步骤507:接入路由器接收到请求消息后,选择一个绑定表项,该绑定表项的名字域值等于该请求消息目的地址的名字,将该请求消息的目的地址的转发前缀更新为该绑定表项的转发前缀,查看转发表,选择一个转发表项,该转发表项的转发前缀等于更新后的请求消息目的地址的转发前缀,从该转发表项的接口域发送更新后的请求消息;
[0180] 步骤508:判断是核心路由器还是接入路由器接收到请求消息,如果接入路由器接收到请求消息,则执行步骤510,否则执行步骤509;
[0181] 步骤509:核心路由器接收到请求消息后,选择一个转发表项,该转发表项的转发前缀等于接收到的请求消息目的地址的转发前缀,从该转发表项的接口域发送该请求消息,执行步骤508;
[0182] 步骤510:接入路由器收到请求消息后,从无线接口发送该请求消息并创建一个等待表项,该等待表项的消息域值为接收到的请求消息,生命周期为最大值;移动节点收到请求消息后判断自己是否能提供该请求消息目的地址的名字域所标识的数据,如果能够提供数据,则执行步骤512,否则执行步骤511;
[0183] 步骤511:收到请求消息的移动节点丢弃该请求消息,执行步骤519;
[0184] 步骤512:收到请求消息的移动节点发送一个响应消息,该响应消息的目的地址为接收到的请求消息的源地址,该响应消息的源地址为接收到的请求消息的目的地址,消息类型为4,负载为接收到的请求消息目的地址的名字所标识的数据以及该移动节点所能提供的所有数据的名字集合;与该移动节点链路相连的接入路由器收到响应消息后查看等待表,如果存在一个等待表项,该等待表项的消息域值的源地址等于该响应消息的目的地址,且消息域值的目的地址等于该响应消息的源地址,则执行步骤514,否则执行步骤513;
[0185] 步骤513:接收到响应消息的接入路由器丢弃该响应消息,执行步骤519;
[0186] 步骤514:接收到响应消息的接入路由器选择一个等待表项,该等待表项的消息域值的源地址等于该响应消息的目的地址,且消息域值的目的地址等于该响应消息的源地址,该接入路由器删除该等待表项,如果接收到的响应消息的目的地址的转发前缀等于标识该接入路由器所在子网的名字前缀,则执行步骤518,否则执行步骤515;
[0187] 步骤515:接收到响应消息的接入路由器选择一个转发表项,该转发表项的转发前缀等于接收到的响应消息目的地址的转发前缀,从该转发表项的接口域发送该响应消息;
[0188] 步骤516:如果接入路由器接收到响应消息,则执行步骤518,否则执行步骤517;
[0189] 步骤517:接收到响应消息的核心路由器选择一个转发表项,该转发表项的转发前缀等于接收到的响应消息目的地址的转发前缀,从该转发表项的接口域发送该响应消息,执行步骤516;
[0190] 步骤518:接收到响应消息的接入路由器从无线接口发送该响应消息;
[0191] 步骤519:移动节点N1收到响应消息后,对于响应消息负载中名字集合中的每个名字建立一个二元组,二元组的第一个元素为该名字,二元组的第二个元素为该响应消息源地址的转发前缀;移动节点N1保存该响应消息负载中的数据;
[0192] 步骤520:结束。
[0193] 实施例1
[0194] 基于表1的仿真参数,本实施例模拟了本发明中的一种快速的未来数据网络实现方法,性能分析如下:当移动节点数量增加时,数据传输量增加,网络性能下降,因此数据传输延迟增加,移动节点获取服务数据的平均延迟为1.5s。
[0195] 表1仿真参数
[0196]
[0197] 本发明提供了一种快速的未来数据网络实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。