CN110113264A - 一种命名数据网络的缓存和路由实现方法 - Google Patents
一种命名数据网络的缓存和路由实现方法 Download PDFInfo
- Publication number
- CN110113264A CN110113264A CN201910397590.9A CN201910397590A CN110113264A CN 110113264 A CN110113264 A CN 110113264A CN 201910397590 A CN201910397590 A CN 201910397590A CN 110113264 A CN110113264 A CN 110113264A
- Authority
- CN
- China
- Prior art keywords
- address
- router
- message
- data
- interface
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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)
Abstract
本发明提供了一种命名数据网络的缓存和路由实现方法,所述网络包含节点、服务器和路由器;一个路由器包含两个以上的上游接口和两个以上的下游接口,上游接口与路由器相连,下游接口与节点或者服务器相连;一个节点或者服务器具有一个接口,与路由器相连;每个接口由接口ID唯一标识,接口ID为大于0的正整数;接口ID为f的接口记为接口f;用户通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于智能家居、环境监测、路况监测等诸多领域,具有广泛的应用前景。
Description
技术领域
本发明涉及一种路由实现方法,尤其涉及的是一种命名数据网络的缓存和路由实现方法。
背景技术
命名数据网络是一种新的服务模式。近年来,很多研究工作致力于命名数据网络,以便用户人能够快速获取网络服务。随着网络技术的发展,命名数据网络会成为未来提供服务的一种模式。目前,命名数据网络的数据通信延迟和代价都比较大,降低了网络服务性能。因此,如何降低命名数据网络提供服务的延迟和代价成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供了一种命名数据网络的缓存和路由实现方法。节点通过本发明从距离最近的路由器获取数据,从而降低获取数据的延迟和代价,从而有效提高网络服务性能。
技术方案:本发明公开了一种命名数据网络的缓存和路由实现方法,所述网络包含节点、服务器和路由器;
一个路由器包含两个以上的上游接口和两个以上的下游接口,上游接口与路由器相连,下游接口与节点或者服务器相连;一个节点或者服务器具有一个接口,与路由器相连;每个接口由接口ID唯一标识,接口ID为大于0的正整数;接口ID为f的接口记为接口f;
一种数据由一个名称唯一标识;一个路由器具有唯一的坐标;一个节点、服务器或者路由器由一个地址唯一标识;一个地址包含坐标和接口ID;一个节点或者服务器通过电子地图获取每个路由器的坐标;一个消息由消息类型唯一标识,如下表所示:节点或者服务器预先配置电子地图,电子地图包含每个路由的坐标;
消息类型的值 | 消息名称 |
1 | 节点消息 |
2 | 服务器消息 |
3 | 邻居消息 |
4 | 发布消息 |
5 | 请求消息 |
6 | 数据消息 |
一个路由器保存一个节点表,一个节点表项包含地址和生命周期域;一个节点消息包含消息类型和地址;节点N1与路由器R1相连,定期执行下述操作:
步骤101:开始;
步骤102:节点N1构建一个地址,该地址的坐标为路由器R1的坐标,接口ID为0;节点N1发送一个节点消息,该节点消息的消息类型值为1,地址为创建的地址;
步骤103:路由器R1从接口f1接收到该节点消息,将该节点消息的地址域值的接口ID设置为f1;路由器R1查看节点表,如果存在一个节点表项,该节点表项的地址等于该节点消息的地址,则将该节点表项的生命周期设置为最大值;否则,路由器R1创建一个节点表项,该节点表项的地址等于该节点消息的地址,将生命周期设置为最大值;
步骤104:结束。
节点通过上述过程在相连的路由器建立节点表,这样路由器可以获取相连的节点的信息,由于节点地址包含接口ID,因此路由器通过节点的地址可以实现消息的正确转发,从而实现正确通信。另外,上述过程通过生命周期来确保节点表的有效性,因为也确保了通信的有效性和正确性。
本发明所述方法中,路由器保存一个服务器表,一个服务器表项包含地址、名称和生命周期域;一个服务器或者路由器保存一个数据表,一个数据表项包含名称、数据值和生命周期;一个服务器消息包含消息类型、名称和地址;服务器S1与路由器R1相连,能提供数据DA1,数据DA1由名称NA1标识,定期执行下述操作:
步骤201:开始;
步骤202:服务器S1创建一个数据表项,该数据表项的名称为NA1,数据值为DA1,生命周期为最大值;服务器S1构建一个地址,该地址的坐标为路由器R1的坐标,接口ID为0;服务器S1发送一个服务器消息,该服务器消息的消息类型值为2,名称为NA1,地址为创建的地址;
步骤203:路由器R1从接口f2接收到该服务器消息,将该服务器消息的地址域值的接口ID设置为f2;路由器R1查看服务器表,如果存在一个服务器表项,该服务器表项的地址和名称分别等于该服务器消息的地址和名称,则将该服务器表项的生命周期设置为最大值;否则,路由器R1创建一个服务器表项,该服务器表项的地址和名称分别等于该服务器消息的地址和名称,将生命周期设置为最大值;
步骤204:结束。
服务器通过上述过程在相连的路由器建立服务器表,这样路由器可以获取相连的服务器的信息,由于服务器地址包含接口ID,因此路由器通过服务器的地址可以实现消息的正确转发,从而实现正确通信。另外,上述过程通过生命周期来确保服务器表的有效性,因为也确保了通信的有效性和正确性。
本发明所述方法中,路由器保存一个邻居表,一个邻居表项包含地址、接口ID和生命周期;一个邻居消息包含消息类型和地址;路由器R1定期执行下述操作:
步骤301:开始;
步骤302:路由器R1构建一个地址,该地址的坐标等于路由器R1自己的坐标,接口ID等于0,路由器R1从每个上游接口发送一个邻居消息,该邻居消息的消息类型值为3,地址为创建的地址;
步骤303:其他路由器从接口x1接收到该邻居消息后查看邻居表,如果存在一个邻居表项,该邻居表项的地址等于该邻居消息的地址,则将该邻居表项的接口ID更新为x1,将生命周期设置为最大值;否则,该路由器创建一个邻居表项,该邻居表项的地址等于该邻居消息的地址,接口ID等于x1,生命周期设置为最大值;
步骤304:结束。
路由器通过上述过程建立邻居表,这样路由器可以根据邻居表地址域值中的坐标选择下一跳从而构建到达目的路由器的最优路由路径,降低数据通信延迟;邻居表通过接口ID实现消息的正确转发,从而确保了数据通信的正确性。
本发明所述方法中,路由器保存一个静态表,每个静态表项包含地址、名称和生命周期;发布消息包含消息类型、名称和地址;路由器R1定期执行下述操作:
步骤401:开始;
步骤402:路由器R1查看服务器表,针对每个服务器表项,路由器R1执行下述操作:路由器R1从每个上游接口发送一个发布消息,该发布消息的消息类型值为4,名称和地址分别等于该服务器表项的名称和地址;
步骤403:其他路由器从接口x2接收到发布消息后查看静态表,如果存在一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,且生命周期大于阈值TH1,则执行步骤408,否则执行步骤404;阈值TH1取值范围为最大生命周期的90%-95%;
步骤404:从接口x2接收到发布消息的路由器查看静态表,如果存在一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,则执行步骤405,否则执行步骤406;
步骤405:从接口x2接收到发布消息的路由器查看静态表,选择一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,将该静态表项的生命周期设置为最大值,执行步骤407;
步骤406:从接口x2接收到发布消息的路由器创建一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,生命周期为最大值;
步骤407:从接口x2接收到发布消息的路由器从除了接口x2以外的所有上游接口转发该发布消息,执行步骤403;
步骤408:结束。
路由器通过上述过程建立静态表,这样节点可以通过静态表从服务器获取数据,从而确保数据通信的正确性和实时性;上述过程通过生命周期来确保静态表的有效性,从而提高了数据通信的成功率。
本发明所述方法中,路由器保存一个数据表,每个数据表项包含名称、数值和生命周期;每个路由器保存一个动态表,一个动态表项包含地址、名称和生命周期;一个请求消息包含源地址、目的地址、路由器地址和名称;一个数据消息包含源地址、目的地址、路由器地址、名称和负载;节点N2与路由器R2相连,数据DA1由名称NA1标识;如果路由器R2检测到任何动态表项的名称域值都不等于NA1,节点N2则通过下述过程获取数据DA1:
步骤501:开始;
步骤502:节点N2构建一个地址,该地址的坐标为路由器R2的坐标,接口ID为0;节点N2发送一个请求消息,该请求消息的消息类型值为5,源地址为创建的地址,目的地址和路由器地址为空,名称为NA1;
步骤503:路由器R2从接口z1接收到请求消息,将该请求消息的源地址的接口ID设置为z1;路由器R2选择一个静态表项,该静态表项的名称等于该请求消息的名称,将该请求消息的目的地址设置为该静态表项的地址;路由器R2构建一个地址,该地址的坐标为((x1+x2)/2,(y1+y2)/2),接口ID为0,(x1,y1)为该请求消息源地址的坐标,(x2,y2)为该请求消息目的地址的坐标,将该请求消息的路由器地址设置为构建的地址;路由器R2创建一个动态表项,该动态表项的名称为该请求消息的名称,地址为该请求消息的路由器地址,生命周期为最大值;路由器R2选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤504:路由器接收到请求消息后查看动态表;如果存在一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,将该动态表项的生命周期设置为最大值;如果该路由器的坐标等于该请求消息的目的地址的坐标,则执行步骤506,否则执行步骤505;
步骤505:接收到请求消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤504;
步骤506:接收到请求消息的路由器选择一个接口,该接口的接口ID等于该请求消息目的地址的接口ID,从该接口转发该请求消息;服务器接收到该请求消息后,选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个数据消息,该数据消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,路由器地址和名称分别等于该请求消息的路由器地址和名称,负载为该数据表项的数据值;
步骤507:路由器接收到该数据消息,如果该路由器的坐标等于该数据消息路由器地址的坐标,则执行步骤508,否则执行步骤510;
步骤508:接收到该数据消息的路由器将该数据消息的路由器地址设置为0并查看数据表;如果存在一个数据表项,该数据表项的名称等于该数据消息的名称,则将该数据表项的生命周期设置为最大值;否则该路由器创建一个数据表项,该数据表项的名称等于该数据消息的名称,数据值等于该数据消息负载中的数据,生命周期设置为最大值;
步骤509:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤510:接收到该数据消息的路由器查看动态表,如果存在一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,将该动态表项的生命周期设置为最大值;
步骤511:接收到该数据消息的路由器判断该数据消息的路由器地址是否为0,如果是,则执行步骤513,否则执行步骤512;
步骤512:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤513:接收到该数据消息的路由器判断自己的坐标是否等于该数据消息的目的地址的坐标,如果是,则执行步骤515,否则执行步骤514;
步骤514:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤515:接收到数据消息的路由器选择一个接口,该接口的接口ID等于该数据消息目的地址的接口ID,从该接口转发该数据消息;节点N2接收到该数据消息后,保存该数据消息负载中的数据;
步骤516:结束。
节点通过上述过程从服务器获取数据,由于上述过程通过邻居表来建立到达服务器的最优路由路径,从而降低了数据通信延迟和代价;此外,由于节点和服务器的地址包含接口ID,从而实现了数据的正确转发,确保了数据通信的成功率。
本发明所述方法中,节点N3与路由器R3相连,数据DA1由名称NA1标识;如果路由器R3检测到至少有一个动态表项的名称域值等于NA1,节点N3则通过下述过程获取数据DA1:
步骤601:开始;
步骤602:节点N3构建一个地址,该地址的坐标为路由器R3的坐标,接口ID为0;节点N3发送一个请求消息,该请求消息的消息类型值为5,源地址为创建的地址,目的地址和路由器地址为空,名称为NA1;
步骤603:路由器R3从接口z2接收到请求消息,将该请求消息的源地址的接口ID设置为z2;路由器R3选择所有名称等于该请求消息的动态表项,从这些动态表项中选择一个动态表项,该动态表项的地址的坐标与自己的坐标距离最近,将该请求消息的目的地址设置为该动态表项的地址;路由器R3构建一个地址,该地址的坐标为((x3+x4)/2,(y3+y4)/2),接口ID为0,(x3,y3)为该请求消息源地址的坐标,(x4,y4)为该请求消息目的地址的坐标,将该请求消息的路由器地址设置为构建的地址;路由器R3创建一个动态表项,该动态表项的名称为该请求消息的名称,地址为该请求消息的路由器地址,生命周期为最大值;路由器R3选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤604:路由器接收到请求消息后查看动态表;如果存在一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,将该动态表项的生命周期设置为最大值;如果该路由器的坐标等于该请求消息的目的地址的坐标,则执行步骤606,否则执行步骤605;
步骤605:接收到请求消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤604;
步骤606:接收到请求消息的路由器选择一个数据表项,该数据表项的名称等于该请求消息的名称,构建一个数据消息,该数据消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,路由器地址和名称分别等于该请求消息的路由器地址和名称,负载为该数据表项的数据值;该路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息;
步骤607:路由器接收到该数据消息,如果该路由器的坐标等于该数据消息路由器地址的坐标,则执行步骤608,否则执行步骤610;
步骤608:接收到该数据消息的路由器将该数据消息的路由器地址设置为0并查看数据表;如果存在一个数据表项,该数据表项的名称等于该数据消息的名称,则将该数据表项的生命周期设置为最大值;否则该路由器创建一个数据表项,该数据表项的名称等于该数据消息的名称,数据值等于该数据消息负载中的数据,生命周期设置为最大值;
步骤609:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤610:接收到该数据消息的路由器查看动态表,如果存在一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,将该动态表项的生命周期设置为最大值;
步骤611:接收到该数据消息的路由器判断该数据消息的路由器地址是否为0,如果是,则执行步骤613,否则执行步骤612;
步骤612:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤613:接收到该数据消息的路由器判断自己的坐标是否等于该数据消息的目的地址的坐标,如果是,则执行步骤615,否则执行步骤614;
步骤614:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤615:接收到数据消息的路由器选择一个接口,该接口的接口ID等于该数据消息目的地址的接口ID,从该接口转发该数据消息;节点N2接收到该数据消息后,保存该数据消息负载中的数据;
步骤616:结束。
节点通过上述过程从距离最近的路由器获取数据,由于上述过程中路由器能够缓存数据并为节点提供数据,因此大幅度降低了数据通信延迟和代价,同时,上述过程通过邻居表来建立到达服务器的最优路由路径,从而降低了数据通信延迟和代价;此外,由于节点和服务器的地址包含接口ID,从而实现了数据的正确转发,确保了数据通信的成功率。
有益效果:本发明提供了一种命名数据网络的缓存和路由实现方法,用户通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于智能家居、环境监测、路况监测等诸多领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的维护节点表流程示意图。
图2为本发明所述的维护服务器表流程示意图。
图3为本发明所述的维护邻居表流程示意图。
图4为本发明所述的维护静态表流程示意图。
图5为本发明所述的数据通信流程示意图。
图6为本发明所述的数据获取流程示意图。
具体实施方式:
本发明提供了一种命名数据网络的缓存和路由实现方法,用户通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于智能家居、环境监测、路况监测等诸多领域,具有广泛的应用前景。
图1为本发明所述的维护节点表流程示意图。所述网络包含节点、服务器和路由器;
一个路由器包含两个以上的上游接口和两个以上的下游接口,上游接口与路由器相连,下游接口与节点或者服务器相连;一个节点或者服务器具有一个接口,与路由器相连;每个接口由接口ID唯一标识,接口ID为大于0的正整数;接口ID为f的接口记为接口f;
一种数据由一个名称唯一标识;一个路由器具有唯一的坐标;一个节点、服务器或者路由器由一个地址唯一标识;一个地址包含坐标和接口ID;一个节点或者服务器通过电子地图获取每个路由器的坐标;一个消息由消息类型唯一标识,如下表所示:节点或者服务器预先配置电子地图,电子地图包含每个路由的坐标;
消息类型的值 | 消息名称 |
1 | 节点消息 |
2 | 服务器消息 |
3 | 邻居消息 |
4 | 发布消息 |
5 | 请求消息 |
6 | 数据消息 |
一个路由器保存一个节点表,一个节点表项包含地址和生命周期域;一个节点消息包含消息类型和地址;节点N1与路由器R1相连,定期执行下述操作:
步骤101:开始;
步骤102:节点N1构建一个地址,该地址的坐标为路由器R1的坐标,接口ID为0;节点N1发送一个节点消息,该节点消息的消息类型值为1,地址为创建的地址;
步骤103:路由器R1从接口f1接收到该节点消息,将该节点消息的地址域值的接口ID设置为f1;路由器R1查看节点表,如果存在一个节点表项,该节点表项的地址等于该节点消息的地址,则将该节点表项的生命周期设置为最大值;否则,路由器R1创建一个节点表项,该节点表项的地址等于该节点消息的地址,将生命周期设置为最大值;
步骤104:结束。
节点通过上述过程在相连的路由器建立节点表,这样路由器可以获取相连的节点的信息,由于节点地址包含接口ID,因此路由器通过节点的地址可以实现消息的正确转发,从而实现正确通信。另外,上述过程通过生命周期来确保节点表的有效性,因为也确保了通信的有效性和正确性。
图2为本发明所述的维护服务器表流程示意图。路由器保存一个服务器表,一个服务器表项包含地址、名称和生命周期域;一个服务器或者路由器保存一个数据表,一个数据表项包含名称、数据值和生命周期;一个服务器消息包含消息类型、名称和地址;服务器S1与路由器R1相连,能提供数据DA1,数据DA1由名称NA1标识,定期执行下述操作:
步骤201:开始;
步骤202:服务器S1创建一个数据表项,该数据表项的名称为NA1,数据值为DA1,生命周期为最大值;服务器S1构建一个地址,该地址的坐标为路由器R1的坐标,接口ID为0;服务器S1发送一个服务器消息,该服务器消息的消息类型值为2,名称为NA1,地址为创建的地址;
步骤203:路由器R1从接口f2接收到该服务器消息,将该服务器消息的地址域值的接口ID设置为f2;路由器R1查看服务器表,如果存在一个服务器表项,该服务器表项的地址和名称分别等于该服务器消息的地址和名称,则将该服务器表项的生命周期设置为最大值;否则,路由器R1创建一个服务器表项,该服务器表项的地址和名称分别等于该服务器消息的地址和名称,将生命周期设置为最大值;
步骤204:结束。
服务器通过上述过程在相连的路由器建立服务器表,这样路由器可以获取相连的服务器的信息,由于服务器地址包含接口ID,因此路由器通过服务器的地址可以实现消息的正确转发,从而实现正确通信。另外,上述过程通过生命周期来确保服务器表的有效性,因为也确保了通信的有效性和正确性。
图3为本发明所述的维护邻居表流程示意图。路由器保存一个邻居表,一个邻居表项包含地址、接口ID和生命周期;一个邻居消息包含消息类型和地址;路由器R1定期执行下述操作:
步骤301:开始;
步骤302:路由器R1构建一个地址,该地址的坐标等于路由器R1自己的坐标,接口ID等于0,路由器R1从每个上游接口发送一个邻居消息,该邻居消息的消息类型值为3,地址为创建的地址;
步骤303:其他路由器从接口x1接收到该邻居消息后查看邻居表,如果存在一个邻居表项,该邻居表项的地址等于该邻居消息的地址,则将该邻居表项的接口ID更新为x1,将生命周期设置为最大值;否则,该路由器创建一个邻居表项,该邻居表项的地址等于该邻居消息的地址,接口ID等于x1,生命周期设置为最大值;
步骤304:结束。
路由器通过上述过程建立邻居表,这样路由器可以根据邻居表地址域值中的坐标选择下一跳从而构建到达目的路由器的最优路由路径,降低数据通信延迟;邻居表通过接口ID实现消息的正确转发,从而确保了数据通信的正确性。
图4为本发明所述的维护静态表流程示意图。路由器保存一个静态表,每个静态表项包含地址、名称和生命周期;发布消息包含消息类型、名称和地址;路由器R1定期执行下述操作:
步骤401:开始;
步骤402:路由器R1查看服务器表,针对每个服务器表项,路由器R1执行下述操作:路由器R1从每个上游接口发送一个发布消息,该发布消息的消息类型值为4,名称和地址分别等于该服务器表项的名称和地址;
步骤403:其他路由器从接口x2接收到发布消息后查看静态表,如果存在一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,且生命周期大于阈值TH1,则执行步骤408,否则执行步骤404;阈值TH1取值范围为最大生命周期的90%-95%;
步骤404:从接口x2接收到发布消息的路由器查看静态表,如果存在一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,则执行步骤405,否则执行步骤406;
步骤405:从接口x2接收到发布消息的路由器查看静态表,选择一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,将该静态表项的生命周期设置为最大值,执行步骤407;
步骤406:从接口x2接收到发布消息的路由器创建一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,生命周期为最大值;
步骤407:从接口x2接收到发布消息的路由器从除了接口x2以外的所有上游接口转发该发布消息,执行步骤403;
步骤408:结束。
路由器通过上述过程建立静态表,这样节点可以通过静态表从服务器获取数据,从而确保数据通信的正确性和实时性;上述过程通过生命周期来确保静态表的有效性,从而提高了数据通信的成功率。
图5为本发明所述的数据通信流程示意图。路由器保存一个数据表,每个数据表项包含名称、数值和生命周期;每个路由器保存一个动态表,一个动态表项包含地址、名称和生命周期;一个请求消息包含源地址、目的地址、路由器地址和名称;一个数据消息包含源地址、目的地址、路由器地址、名称和负载;节点N2与路由器R2相连,数据DA1由名称NA1标识;如果路由器R2检测到任何动态表项的名称域值都不等于NA1,节点N2则通过下述过程获取数据DA1:
步骤501:开始;
步骤502:节点N2构建一个地址,该地址的坐标为路由器R2的坐标,接口ID为0;节点N2发送一个请求消息,该请求消息的消息类型值为5,源地址为创建的地址,目的地址和路由器地址为空,名称为NA1;
步骤503:路由器R2从接口z1接收到请求消息,将该请求消息的源地址的接口ID设置为z1;路由器R2选择一个静态表项,该静态表项的名称等于该请求消息的名称,将该请求消息的目的地址设置为该静态表项的地址;路由器R2构建一个地址,该地址的坐标为((x1+x2)/2,(y1+y2)/2),接口ID为0,(x1,y1)为该请求消息源地址的坐标,(x2,y2)为该请求消息目的地址的坐标,将该请求消息的路由器地址设置为构建的地址;路由器R2创建一个动态表项,该动态表项的名称为该请求消息的名称,地址为该请求消息的路由器地址,生命周期为最大值;路由器R2选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤504:路由器接收到请求消息后查看动态表;如果存在一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,将该动态表项的生命周期设置为最大值;如果该路由器的坐标等于该请求消息的目的地址的坐标,则执行步骤506,否则执行步骤505;
步骤505:接收到请求消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤504;
步骤506:接收到请求消息的路由器选择一个接口,该接口的接口ID等于该请求消息目的地址的接口ID,从该接口转发该请求消息;服务器接收到该请求消息后,选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个数据消息,该数据消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,路由器地址和名称分别等于该请求消息的路由器地址和名称,负载为该数据表项的数据值;
步骤507:路由器接收到该数据消息,如果该路由器的坐标等于该数据消息路由器地址的坐标,则执行步骤508,否则执行步骤510;
步骤508:接收到该数据消息的路由器将该数据消息的路由器地址设置为0并查看数据表;如果存在一个数据表项,该数据表项的名称等于该数据消息的名称,则将该数据表项的生命周期设置为最大值;否则该路由器创建一个数据表项,该数据表项的名称等于该数据消息的名称,数据值等于该数据消息负载中的数据,生命周期设置为最大值;
步骤509:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤510:接收到该数据消息的路由器查看动态表,如果存在一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,将该动态表项的生命周期设置为最大值;
步骤511:接收到该数据消息的路由器判断该数据消息的路由器地址是否为0,如果是,则执行步骤513,否则执行步骤512;
步骤512:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤513:接收到该数据消息的路由器判断自己的坐标是否等于该数据消息的目的地址的坐标,如果是,则执行步骤515,否则执行步骤514;
步骤514:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤515:接收到数据消息的路由器选择一个接口,该接口的接口ID等于该数据消息目的地址的接口ID,从该接口转发该数据消息;节点N2接收到该数据消息后,保存该数据消息负载中的数据;
步骤516:结束。
节点通过上述过程从服务器获取数据,由于上述过程通过邻居表来建立到达服务器的最优路由路径,从而降低了数据通信延迟和代价;此外,由于节点和服务器的地址包含接口ID,从而实现了数据的正确转发,确保了数据通信的成功率。
图6为本发明所述的数据获取流程示意图。节点N3与路由器R3相连,数据DA1由名称NA1标识;如果路由器R3检测到至少有一个动态表项的名称域值等于NA1,节点N3则通过下述过程获取数据DA1:
步骤601:开始;
步骤602:节点N3构建一个地址,该地址的坐标为路由器R3的坐标,接口ID为0;节点N3发送一个请求消息,该请求消息的消息类型值为5,源地址为创建的地址,目的地址和路由器地址为空,名称为NA1;
步骤603:路由器R3从接口z2接收到请求消息,将该请求消息的源地址的接口ID设置为z2;路由器R3选择所有名称等于该请求消息的动态表项,从这些动态表项中选择一个动态表项,该动态表项的地址的坐标与自己的坐标距离最近,将该请求消息的目的地址设置为该动态表项的地址;路由器R3构建一个地址,该地址的坐标为((x3+x4)/2,(y3+y4)/2),接口ID为0,(x3,y3)为该请求消息源地址的坐标,(x4,y4)为该请求消息目的地址的坐标,将该请求消息的路由器地址设置为构建的地址;路由器R3创建一个动态表项,该动态表项的名称为该请求消息的名称,地址为该请求消息的路由器地址,生命周期为最大值;路由器R3选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤604:路由器接收到请求消息后查看动态表;如果存在一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,将该动态表项的生命周期设置为最大值;如果该路由器的坐标等于该请求消息的目的地址的坐标,则执行步骤606,否则执行步骤605;
步骤605:接收到请求消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤604;
步骤606:接收到请求消息的路由器选择一个数据表项,该数据表项的名称等于该请求消息的名称,构建一个数据消息,该数据消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,路由器地址和名称分别等于该请求消息的路由器地址和名称,负载为该数据表项的数据值;该路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息;
步骤607:路由器接收到该数据消息,如果该路由器的坐标等于该数据消息路由器地址的坐标,则执行步骤608,否则执行步骤610;
步骤608:接收到该数据消息的路由器将该数据消息的路由器地址设置为0并查看数据表;如果存在一个数据表项,该数据表项的名称等于该数据消息的名称,则将该数据表项的生命周期设置为最大值;否则该路由器创建一个数据表项,该数据表项的名称等于该数据消息的名称,数据值等于该数据消息负载中的数据,生命周期设置为最大值;
步骤609:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤610:接收到该数据消息的路由器查看动态表,如果存在一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,将该动态表项的生命周期设置为最大值;
步骤611:接收到该数据消息的路由器判断该数据消息的路由器地址是否为0,如果是,则执行步骤613,否则执行步骤612;
步骤612:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤613:接收到该数据消息的路由器判断自己的坐标是否等于该数据消息的目的地址的坐标,如果是,则执行步骤615,否则执行步骤614;
步骤614:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤615:接收到数据消息的路由器选择一个接口,该接口的接口ID等于该数据消息目的地址的接口ID,从该接口转发该数据消息;节点N2接收到该数据消息后,保存该数据消息负载中的数据;
步骤616:结束。
节点通过上述过程从距离最近的路由器获取数据,由于上述过程中路由器能够缓存数据并为节点提供数据,因此大幅度降低了数据通信延迟和代价,同时,上述过程通过邻居表来建立到达服务器的最优路由路径,从而降低了数据通信延迟和代价;此外,由于节点和服务器的地址包含接口ID,从而实现了数据的正确转发,确保了数据通信的成功率。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的一种命名数据网络的缓存和路由实现方法,该实现方法的性能分析如下:当节点移动速度增加时,网络性能下降,数据通信成功率有所降低,当节点移动速度降低时,网络性能增强,数据通信成功率有所提高,数据获取的平均成功率为98.37%。
表1仿真参数
本发明提供了一种命名数据网络的缓存和路由实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (6)
1.一种命名数据网络的缓存和路由实现方法,其特征在于,所述网络包含节点、服务器和路由器;
一个路由器包含两个以上的上游接口和两个以上的下游接口,上游接口与路由器相连,下游接口与节点或者服务器相连;一个节点或者服务器具有一个接口,与路由器相连;每个接口由接口ID唯一标识,接口ID为大于0的正整数;接口ID为f的接口记为接口f;
一种数据由一个名称唯一标识;一个路由器具有唯一的坐标;一个节点、服务器或者路由器由一个地址唯一标识;一个地址包含坐标和接口ID;一个节点或者服务器通过电子地图获取每个路由器的坐标;一个消息由消息类型唯一标识,如下表所示:
一个路由器保存一个节点表,一个节点表项包含地址和生命周期域;一个节点消息包含消息类型和地址;节点N1与路由器R1相连,定期执行下述操作:
步骤101:开始;
步骤102:节点N1构建一个地址,该地址的坐标为路由器R1的坐标,接口ID为0;节点N1发送一个节点消息,该节点消息的消息类型值为1,地址为创建的地址;
步骤103:路由器R1从接口f1接收到该节点消息,将该节点消息的地址域值的接口ID设置为f1;路由器R1查看节点表,如果存在一个节点表项,该节点表项的地址等于该节点消息的地址,则将该节点表项的生命周期设置为最大值;否则,路由器R1创建一个节点表项,该节点表项的地址等于该节点消息的地址,将生命周期设置为最大值;
步骤104:结束。
2.根据权利要求1所述的一种命名数据网络的缓存和路由实现方法,其特征在于,路由器保存一个服务器表,一个服务器表项包含地址、名称和生命周期域;一个服务器或者路由器保存一个数据表,一个数据表项包含名称、数据值和生命周期;一个服务器消息包含消息类型、名称和地址;服务器S1与路由器R1相连,能提供数据DA1,数据DA1由名称NA1标识,定期执行下述操作:
步骤201:开始;
步骤202:服务器S1创建一个数据表项,该数据表项的名称为NA1,数据值为DA1,生命周期为最大值;服务器S1构建一个地址,该地址的坐标为路由器R1的坐标,接口ID为0;服务器S1发送一个服务器消息,该服务器消息的消息类型值为2,名称为NA1,地址为创建的地址;
步骤203:路由器R1从接口f2接收到该服务器消息,将该服务器消息的地址域值的接口ID设置为f2;路由器R1查看服务器表,如果存在一个服务器表项,该服务器表项的地址和名称分别等于该服务器消息的地址和名称,则将该服务器表项的生命周期设置为最大值;否则,路由器R1创建一个服务器表项,该服务器表项的地址和名称分别等于该服务器消息的地址和名称,将生命周期设置为最大值;
步骤204:结束。
3.根据权利要求1所述的一种命名数据网络的缓存和路由实现方法,其特征在于,路由器保存一个邻居表,一个邻居表项包含地址、接口ID和生命周期;一个邻居消息包含消息类型和地址;路由器R1定期执行下述操作:
步骤301:开始;
步骤302:路由器R1构建一个地址,该地址的坐标等于路由器R1自己的坐标,接口ID等于0,路由器R1从每个上游接口发送一个邻居消息,该邻居消息的消息类型值为3,地址为创建的地址;
步骤303:其他路由器从接口x1接收到该邻居消息后查看邻居表,如果存在一个邻居表项,该邻居表项的地址等于该邻居消息的地址,则将该邻居表项的接口ID更新为x1,将生命周期设置为最大值;否则,该路由器创建一个邻居表项,该邻居表项的地址等于该邻居消息的地址,接口ID等于x1,生命周期设置为最大值;
步骤304:结束。
4.根据权利要求1所述的一种命名数据网络的缓存和路由实现方法,其特征在于,路由器保存一个静态表,每个静态表项包含地址、名称和生命周期;发布消息包含消息类型、名称和地址;路由器R1定期执行下述操作:
步骤401:开始;
步骤402:路由器R1查看服务器表,针对每个服务器表项,路由器R1执行下述操作:路由器R1从每个上游接口发送一个发布消息,该发布消息的消息类型值为4,名称和地址分别等于该服务器表项的名称和地址;
步骤403:其他路由器从接口x2接收到发布消息后查看静态表,如果存在一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,且生命周期大于阈值TH1,则执行步骤408,否则执行步骤404;
步骤404:从接口x2接收到发布消息的路由器查看静态表,如果存在一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,则执行步骤405,否则执行步骤406;
步骤405:从接口x2接收到发布消息的路由器查看静态表,选择一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,将该静态表项的生命周期设置为最大值,执行步骤407;
步骤406:从接口x2接收到发布消息的路由器创建一个静态表项,该静态表项的名称和地址分别等于该发布消息的名称和地址,生命周期为最大值;
步骤407:从接口x2接收到发布消息的路由器从除了接口x2以外的所有上游接口转发该发布消息,执行步骤403;
步骤408:结束。
5.根据权利要求4所述的一种命名数据网络的缓存和路由实现方法,其特征在于,路由器保存一个数据表,每个数据表项包含名称、数值和生命周期;每个路由器保存一个动态表,一个动态表项包含地址、名称和生命周期;一个请求消息包含源地址、目的地址、路由器地址和名称;一个数据消息包含源地址、目的地址、路由器地址、名称和负载;节点N2与路由器R2相连,数据DA1由名称NA1标识;如果路由器R2检测到任何动态表项的名称域值都不等于NA1,节点N2则通过下述过程获取数据DA1:
步骤501:开始;
步骤502:节点N2构建一个地址,该地址的坐标为路由器R2的坐标,接口ID为0;节点N2发送一个请求消息,该请求消息的消息类型值为5,源地址为创建的地址,目的地址和路由器地址为空,名称为NA1;
步骤503:路由器R2从接口z1接收到请求消息,将该请求消息的源地址的接口ID设置为z1;路由器R2选择一个静态表项,该静态表项的名称等于该请求消息的名称,将该请求消息的目的地址设置为该静态表项的地址;路由器R2构建一个地址,该地址的坐标为((x1+x2)/2,(y1+y2)/2),接口ID为0,(x1,y1)为该请求消息源地址的坐标,(x2,y2)为该请求消息目的地址的坐标,将该请求消息的路由器地址设置为构建的地址;路由器R2创建一个动态表项,该动态表项的名称为该请求消息的名称,地址为该请求消息的路由器地址,生命周期为最大值;路由器R2选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤504:路由器接收到请求消息后查看动态表;如果存在一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,将该动态表项的生命周期设置为最大值;如果该路由器的坐标等于该请求消息的目的地址的坐标,则执行步骤506,否则执行步骤505;
步骤505:接收到请求消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤504;
步骤506:接收到请求消息的路由器选择一个接口,该接口的接口ID等于该请求消息目的地址的接口ID,从该接口转发该请求消息;服务器接收到该请求消息后,选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个数据消息,该数据消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,路由器地址和名称分别等于该请求消息的路由器地址和名称,负载为该数据表项的数据值;
步骤507:路由器接收到该数据消息,如果该路由器的坐标等于该数据消息路由器地址的坐标,则执行步骤508,否则执行步骤510;
步骤508:接收到该数据消息的路由器将该数据消息的路由器地址设置为0并查看数据表;如果存在一个数据表项,该数据表项的名称等于该数据消息的名称,则将该数据表项的生命周期设置为最大值;否则该路由器创建一个数据表项,该数据表项的名称等于该数据消息的名称,数据值等于该数据消息负载中的数据,生命周期设置为最大值;
步骤509:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤510:接收到该数据消息的路由器查看动态表,如果存在一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,将该动态表项的生命周期设置为最大值;
步骤511:接收到该数据消息的路由器判断该数据消息的路由器地址是否为0,如果是,则执行步骤513,否则执行步骤512;
步骤512:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤513:接收到该数据消息的路由器判断自己的坐标是否等于该数据消息的目的地址的坐标,如果是,则执行步骤515,否则执行步骤514;
步骤514:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤507;
步骤515:接收到数据消息的路由器选择一个接口,该接口的接口ID等于该数据消息目的地址的接口ID,从该接口转发该数据消息;节点N2接收到该数据消息后,保存该数据消息负载中的数据;
步骤516:结束。
6.根据权利要求5所述的一种命名数据网络的缓存和路由实现方法,其特征在于,节点N3与路由器R3相连,数据DA1由名称NA1标识;如果路由器R3检测到至少有一个动态表项的名称域值等于NA1,节点N3则通过下述过程获取数据DA1:
步骤601:开始;
步骤602:节点N3构建一个地址,该地址的坐标为路由器R3的坐标,接口ID为0;节点N3发送一个请求消息,该请求消息的消息类型值为5,源地址为创建的地址,目的地址和路由器地址为空,名称为NA1;
步骤603:路由器R3从接口z2接收到请求消息,将该请求消息的源地址的接口ID设置为z2;路由器R3选择所有名称等于该请求消息的动态表项,从这些动态表项中选择一个动态表项,该动态表项的地址的坐标与自己的坐标距离最近,将该请求消息的目的地址设置为该动态表项的地址;路由器R3构建一个地址,该地址的坐标为((x3+x4)/2,(y3+y4)/2),接口ID为0,(x3,y3)为该请求消息源地址的坐标,(x4,y4)为该请求消息目的地址的坐标,将该请求消息的路由器地址设置为构建的地址;路由器R3创建一个动态表项,该动态表项的名称为该请求消息的名称,地址为该请求消息的路由器地址,生命周期为最大值;路由器R3选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息;
步骤604:路由器接收到请求消息后查看动态表;如果存在一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该请求消息的名称且地址等于该请求消息的路由器地址,将该动态表项的生命周期设置为最大值;如果该路由器的坐标等于该请求消息的目的地址的坐标,则执行步骤606,否则执行步骤605;
步骤605:接收到请求消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该请求消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该请求消息,执行步骤604;
步骤606:接收到请求消息的路由器选择一个数据表项,该数据表项的名称等于该请求消息的名称,构建一个数据消息,该数据消息的消息类型值为6,源地址等于该请求消息的目的地址,目的地址等于该请求消息的源地址,路由器地址和名称分别等于该请求消息的路由器地址和名称,负载为该数据表项的数据值;该路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息;
步骤607:路由器接收到该数据消息,如果该路由器的坐标等于该数据消息路由器地址的坐标,则执行步骤608,否则执行步骤610;
步骤608:接收到该数据消息的路由器将该数据消息的路由器地址设置为0并查看数据表;如果存在一个数据表项,该数据表项的名称等于该数据消息的名称,则将该数据表项的生命周期设置为最大值;否则该路由器创建一个数据表项,该数据表项的名称等于该数据消息的名称,数据值等于该数据消息负载中的数据,生命周期设置为最大值;
步骤609:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤610:接收到该数据消息的路由器查看动态表,如果存在一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,则将该动态表项的生命周期设置为最大值;否则该路由器创建一个动态表项,该动态表项的名称等于该数据消息的名称且地址等于该数据消息的路由器地址,将该动态表项的生命周期设置为最大值;
步骤611:接收到该数据消息的路由器判断该数据消息的路由器地址是否为0,如果是,则执行步骤613,否则执行步骤612;
步骤612:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息路由器地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤613:接收到该数据消息的路由器判断自己的坐标是否等于该数据消息的目的地址的坐标,如果是,则执行步骤615,否则执行步骤614;
步骤614:接收到该数据消息的路由器选择一个邻居表项,该邻居表项的地址的坐标与该数据消息目的地址的坐标距离最近,从该邻居表项的接口ID所标识的接口发送该数据消息,执行步骤607;
步骤615:接收到数据消息的路由器选择一个接口,该接口的接口ID等于该数据消息目的地址的接口ID,从该接口转发该数据消息;节点N2接收到该数据消息后,保存该数据消息负载中的数据;
步骤616:结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910397590.9A CN110113264B (zh) | 2019-05-14 | 2019-05-14 | 一种命名数据网络的缓存和路由实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910397590.9A CN110113264B (zh) | 2019-05-14 | 2019-05-14 | 一种命名数据网络的缓存和路由实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110113264A true CN110113264A (zh) | 2019-08-09 |
CN110113264B CN110113264B (zh) | 2021-06-22 |
Family
ID=67489881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910397590.9A Active CN110113264B (zh) | 2019-05-14 | 2019-05-14 | 一种命名数据网络的缓存和路由实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110113264B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110493842A (zh) * | 2019-08-20 | 2019-11-22 | 常熟理工学院 | 一种移动自组网的数据通信方法 |
CN110719208A (zh) * | 2019-10-24 | 2020-01-21 | 常熟理工学院 | 一种基于最短路径的新一代网络实现方法 |
CN111277497A (zh) * | 2020-03-18 | 2020-06-12 | 常熟理工学院 | 一种基于分布式的网络服务部署和发现的实现方法 |
CN111416773A (zh) * | 2020-03-18 | 2020-07-14 | 常熟理工学院 | 一种快速的大数据网络实现方法 |
CN111698096A (zh) * | 2020-06-18 | 2020-09-22 | 湖南大学 | 基于ndn的智能家居网络系统及设备自动化安全登陆方法 |
CN111711691A (zh) * | 2020-06-16 | 2020-09-25 | 常熟理工学院 | 一种基于物联网云的安全智能监测系统实现方法 |
CN112073528A (zh) * | 2020-09-15 | 2020-12-11 | 常熟理工学院 | 一种基于物联网的医疗监测预警系统的实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499396A (zh) * | 2002-10-24 | 2004-05-26 | �Ҵ���˾ | 维护Internet域名数据的方法和装置 |
US20040230709A1 (en) * | 2003-05-15 | 2004-11-18 | Moll Laurent R. | Peripheral bus transaction routing using primary and node ID routing information |
CN101247317A (zh) * | 2007-02-15 | 2008-08-20 | 华为技术有限公司 | 路由切换方法及系统 |
CN109688243A (zh) * | 2019-01-28 | 2019-04-26 | 重庆邮电大学 | 基于可信身份标识的传感节点IPv6地址分配方法 |
-
2019
- 2019-05-14 CN CN201910397590.9A patent/CN110113264B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499396A (zh) * | 2002-10-24 | 2004-05-26 | �Ҵ���˾ | 维护Internet域名数据的方法和装置 |
US20040230709A1 (en) * | 2003-05-15 | 2004-11-18 | Moll Laurent R. | Peripheral bus transaction routing using primary and node ID routing information |
CN101247317A (zh) * | 2007-02-15 | 2008-08-20 | 华为技术有限公司 | 路由切换方法及系统 |
CN109688243A (zh) * | 2019-01-28 | 2019-04-26 | 重庆邮电大学 | 基于可信身份标识的传感节点IPv6地址分配方法 |
Non-Patent Citations (1)
Title |
---|
田兵: "多接口能源路由器主回路结构及功能仿真", 《电力系统自动化》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110493842A (zh) * | 2019-08-20 | 2019-11-22 | 常熟理工学院 | 一种移动自组网的数据通信方法 |
CN110493842B (zh) * | 2019-08-20 | 2020-12-11 | 常熟理工学院 | 一种移动自组网的数据通信方法 |
CN110719208A (zh) * | 2019-10-24 | 2020-01-21 | 常熟理工学院 | 一种基于最短路径的新一代网络实现方法 |
CN111277497A (zh) * | 2020-03-18 | 2020-06-12 | 常熟理工学院 | 一种基于分布式的网络服务部署和发现的实现方法 |
CN111416773A (zh) * | 2020-03-18 | 2020-07-14 | 常熟理工学院 | 一种快速的大数据网络实现方法 |
CN111277497B (zh) * | 2020-03-18 | 2021-09-21 | 常熟理工学院 | 一种基于分布式的网络服务部署和发现的实现方法 |
CN111711691A (zh) * | 2020-06-16 | 2020-09-25 | 常熟理工学院 | 一种基于物联网云的安全智能监测系统实现方法 |
CN111698096A (zh) * | 2020-06-18 | 2020-09-22 | 湖南大学 | 基于ndn的智能家居网络系统及设备自动化安全登陆方法 |
CN111698096B (zh) * | 2020-06-18 | 2021-08-27 | 湖南大学 | 基于ndn的智能家居设备自动化安全登录方法 |
CN112073528A (zh) * | 2020-09-15 | 2020-12-11 | 常熟理工学院 | 一种基于物联网的医疗监测预警系统的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110113264B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113264A (zh) | 一种命名数据网络的缓存和路由实现方法 | |
CN102769885B (zh) | 一种在传感器网络中实现路由的方法和传感器网络 | |
CN104159299B (zh) | 一种服务公告消息的传输方法及设备 | |
CN109246785A (zh) | 一种未来移动网络的实现方法 | |
Shang et al. | An energy efficient localized topology control algorithm for wireless multihop networks | |
CN101557341B (zh) | 一种基于介质访问控制转发表的报文转发方法及系统 | |
CN103369578A (zh) | 无线自组织网络环境下的群组生成与维护方法 | |
CN109462549A (zh) | 一种新一代无线移动网络的实现方法 | |
CN110138663A (zh) | 一种以数据为中心的新一代网络实现方法 | |
CN103841621A (zh) | 一种基于6LoWPAN树型网络的冗余路由方法 | |
Sebastian et al. | A survey on load balancing schemes in RPL based Internet of Things | |
Ayoob et al. | Research of improvement on LEACH and SEP routing protocols in wireless sensor networks | |
CN105072658B (zh) | 一种网络数据采集控制系统及无线路由方法 | |
CN107317890A (zh) | 一种智能车载网的数据传输实现方法 | |
CN104010338A (zh) | 一种基于终端能量感知的改进aodv路由方法 | |
CN106685819B (zh) | 一种基于节点能量划分的aomdv协议节能方法 | |
Lee et al. | A mechanism for building ad-hoc social network based on user's interest | |
CN110233889A (zh) | 一种基于缓存机制的网络数据通信实现方法 | |
CN101127669B (zh) | 基于olsr扩散网络拓扑信息的方法及相应装置 | |
CN109768893A (zh) | 一种高效的大数据网络数据通信实现方法 | |
CN110380971A (zh) | 一种基于缓冲机制的网络数据通信方法 | |
Xu et al. | A low energy adaptive clustering multi-hop routing protocol based on fuzzy decision | |
CN110212941B (zh) | 一种基于事件驱动型异质节点的分簇方法 | |
CN107948342B (zh) | 一种大数据网络实现方法 | |
CN109768932A (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 |