一种高效的命名数据网络实现方法技术

技术编号:20181723 阅读:30 留言:0更新日期:2019-01-23 02:02
本发明专利技术提供了一种高效的命名数据网络实现方法,所述网络由一个控制器、两个以上的路由器和两个以上的设备构成;一个控制器配置两个以上的有线接口,每个有线接口与一个路由器连接;设备通过本发明专利技术中的实现方法能够快速获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明专利技术可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

An Efficient Named Data Network Implementation Method

The invention provides an efficient implementation method of named data network, which consists of a controller, more than two routers and more than two devices; a controller is equipped with more than two wired interfaces, each wired interface is connected with a router; the device can quickly acquire data and greatly reduce data communication through the implementation method of the invention. Delay improves the quality of data communication. The invention can be applied to many fields such as traffic condition inspection and agricultural engineering, and has broad application prospects.

【技术实现步骤摘要】
一种高效的命名数据网络实现方法
本专利技术涉及一种实现方法,尤其涉及的是一种高效的命名数据网络实现方法。
技术介绍
命名数据网络中的设备之间通信通过中间设备的转发和路由来实现,因此,实现命名数据网络需要解决的关键技术之一就是降低数据传输延迟,以便使用户能够快速获取网络服务。随着网络技术的发展,命名数据网络会成为未来网络提供服务的一种模式。目前,命名数据网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低命名数据网络提供服务的延迟和代价成为近年来研究的热点问题。
技术实现思路
专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种高效的命名数据网络实现方法。技术方案:本专利技术公开了一种高效的命名数据网络实现方法,所述网络由一个控制器、两个以上的路由器和两个以上的设备构成;一个控制器配置两个以上的有线接口,每个有线接口与一个路由器连接;一个路由器配置两个以上的上游有线接口、两个以上的下游有线接口以及两个以上的下游无线接口,每个上游有线接口与一个控制器或者路由器相连,一个路由器的下游有线接口与一个路由器或者设备相连,一个路由器的下游无线接口与设备相连;一个设备配置一个有线接口或者一个无线接口,该接口与路由器相连,该路由器称为该设备的关联路由器;每个有线接口或者无线接口由一个接口ID唯一标识,接口ID预先配置,例如1;接口ID为i的接口简写为接口i;一种类型的数据由一个名称唯一标识,例如:/TVplay/Video1;一个消息由名称、消息类型、接口ID集合和负载构成;消息类型值如下所示:每个路由器保存一个控制器表,控制器表至多包含一个控制器表项,该控制器表项包含接口ID集合和生命周期域;控制器定期执行下述操作维护控制器表:步骤101:开始;步骤102:控制器构建一个发布消息,该发布消息的名称为空,消息类型值为1,接口ID集合为空,负载为空;控制器从每个接口发送该发布消息;步骤103:路由器从上游接口u1接收到发布消息后,将上游接口u1加入到该发布消息接口ID集合中并作为最后一个元素;该路由器查看控制器表,如果存在一个控制器表项且该控制器表项的接口ID集合域的元素个数小于该发布消息的接口ID集合的元素个数,则执行步骤110,否则执行步骤104;步骤104:从上游接口u1接收到发布消息的路由器查看控制器表,如果存在一个控制器表项且该控制器表项的接口ID集合域等于该发布消息的接口ID集合,则执行步骤105,否则执行步骤106;步骤105:从上游接口u1接收到发布消息的路由器将控制表中的控制器表项的生命周期设置为最大值,从每个下游接口转发该发布消息,执行步骤103;步骤106:从上游接口u1接收到发布消息的路由器查看控制器表,如果存在一个控制器表项且该控制器表项的接口ID集合域的元素个数等于该发布消息的接口ID集合的元素个数,则执行步骤110,否则执行步骤107;步骤107:从上游接口u1接收到发布消息的路由器查看控制器表,如果存在一个控制器表项,则执行步骤108,否则执行步骤109;步骤108:从上游接口u1接收到发布消息的路由器删除控制表中的控制器表项;步骤109:从上游接口u1接收到发布消息的路由器创建一个控制器表项,该控制器表项的接口ID集合等于该发布消息的接口ID集合,生命周期设置为最大值,执行步骤103;步骤110:结束;如果路由器检测到控制器表项的生命周期过期,则删除该控制器表项。控制器通过上述过程建立到达每个路由器的最优路由路径,上述过程通过接口ID集合的元素个数来确保控制器到达每个路由器的路径最短,因此降低了路由器与控制器之间的通信代价和延迟。本专利技术所述方法中,一个路由器或者控制器维护一个转发表,每个转发表项包含名称域、接口ID集合域、定时器集合域以及生命周期域;每个路由器维护一个提供者表,一个提供者表项包括名称、接口和生命周期域;在设备D1的关联路由器为路由器R1,数据C1由名称N1唯一标识的条件下,设备D1产生数据C1或者设备D1的关联路由器发生了变化之后,设备D1执行下述操作:步骤201:开始;步骤202:设备D1发送注册消息,该注册消息的名称为名称N1,接口ID集合为空,消息类型值为2,负载为空;步骤203:路由器R1从下游接口f1接收到该注册消息后查看提供者表,如果存在一个提供者表项,该提供者表项的名称域值为N1,接口ID为f1,则执行步骤204,否则执行步骤205;步骤204:路由器R1从下游接口f1接收到该注册消息后,选择一个提供者表项,该提供者表项的名称域值为N1,接口ID为f1,将该提供者表项的生命周期设置为最大值,例如100ms,执行步骤206;步骤205:路由器R1从下游接口f1接收到该注册消息后,创建一个提供者表项,该提供者表项的名称域值为N1,接口ID为f1,生命周期设置为最大值;步骤206:结束。设备通过上述过程建立提供者表,这样路由器可以根据提供者表项中的名称域值获取设备所能提供的数据,根据提供者表项中的接口域值实现数据请求的正确转发,从而快速实现数据通信。本专利技术所述方法中,路由器R1定期执行下述操作维护转发表:步骤301:开始;步骤302:路由器R1创建一个名称集合参数NS1,名称集合参数NS1的初始值为空;路由器R1查看提供者表,针对每个提供者表项,路由器R1执行下述操作:如果该提供者表项的名称包含在名称集合参数NS1中,则不执行任何操作,否则将该提供者表项的名称域值加入到名称集合参数NS1中;步骤303:对于名称集合参数NS1中的每个元素,路由器R1执行下述操作:路由器R1查看控制器表项,构建一个更新消息,该更新消息的名称为名称N1,接口ID集合为控制器表项中的接口ID集合,消息类型值为3,负载为接口ID集合参数P1,接口ID集合参数P1的初始值为空,路由器R1选取更新消息接口ID集合中的最后一个元素标识的接口,从更新消息接口ID集合中删除最后一个元素,从选中的接口转发该更新消息;步骤304:判断是控制器从接口f2还是路由器从接口f3接收到该更新消息,如果是控制器则执行步骤306,否则执行步骤305;步骤305:路由器将f3加入到该更新消息负载中的参数P1中并作为最后一个元素存在;如果存在一个转发表项,该转发表项的名称域值等于名称N1且接口ID集合等于该更新消息负载中的参数P1,则将该转发表项的生命周期设置为最大值;否则创建一个转发表项,该转发表项的名称域值等于名称N1,接口ID集合等于该更新消息负载中的参数P1,生命周期设置为最大值;该路由器选取更新消息接口ID集合中的最后一个元素标识的接口,从更新消息接口ID集合中删除最后一个元素,从选中的接口转发该更新消息,执行步骤304;步骤306:控制器将f2加入到该更新消息负载中的参数P1中并作为最后一个元素存在;如果存在一个转发表项,该转发表项的名称域值等于名称N1且接口ID集合等于该更新消息负载中的参数P1,则将该转发表项的生命周期设置为最大值;否则该控制器创建一个转发表项,该转发表项的名称域值等于名称N1,接口ID集合等于该更新消息负载中的参数P1,定时器集合为空,生命周期设置为最大值;步骤307:结束。路由器通过上述过程建立转发表,这样路由器可以根据转发表项中本文档来自技高网...

【技术保护点】
1.一种高效的命名数据网络实现方法,其特征在于,所述网络由一个控制器、两个以上的路由器和两个以上的设备构成;一个控制器配置两个以上的有线接口,每个有线接口与一个路由器连接;一个路由器配置两个以上的上游有线接口、两个以上的下游有线接口以及两个以上的下游无线接口,每个上游有线接口与一个控制器或者路由器相连,一个路由器的下游有线接口与一个路由器或者设备相连,一个路由器的下游无线接口与设备相连;一个设备配置一个有线接口或者一个无线接口,该接口与路由器相连,该路由器称为该设备的关联路由器;每个有线接口或者无线接口由一个接口ID唯一标识,接口ID预先配置,接口ID为i的接口简写为接口i;一种类型的数据由一个名称唯一标识;一个消息由名称、消息类型、接口ID集合和负载构成;消息类型值如下所示:

【技术特征摘要】
1.一种高效的命名数据网络实现方法,其特征在于,所述网络由一个控制器、两个以上的路由器和两个以上的设备构成;一个控制器配置两个以上的有线接口,每个有线接口与一个路由器连接;一个路由器配置两个以上的上游有线接口、两个以上的下游有线接口以及两个以上的下游无线接口,每个上游有线接口与一个控制器或者路由器相连,一个路由器的下游有线接口与一个路由器或者设备相连,一个路由器的下游无线接口与设备相连;一个设备配置一个有线接口或者一个无线接口,该接口与路由器相连,该路由器称为该设备的关联路由器;每个有线接口或者无线接口由一个接口ID唯一标识,接口ID预先配置,接口ID为i的接口简写为接口i;一种类型的数据由一个名称唯一标识;一个消息由名称、消息类型、接口ID集合和负载构成;消息类型值如下所示:消息类型名称消息类型值发布消息1注册消息2更新消息3信标消息4删除消息5请求消息6响应消息7每个路由器保存一个控制器表,控制器表至多包含一个控制器表项,该控制器表项包含接口ID集合和生命周期域;控制器定期执行下述操作维护控制器表:步骤101:开始;步骤102:控制器构建一个发布消息,该发布消息的名称为空,消息类型值为1,接口ID集合为空,负载为空;控制器从每个接口发送该发布消息;步骤103:路由器从上游接口u1接收到发布消息后,将上游接口u1加入到该发布消息接口ID集合中并作为最后一个元素;该路由器查看控制器表,如果存在一个控制器表项且该控制器表项的接口ID集合域的元素个数小于该发布消息的接口ID集合的元素个数,则执行步骤110,否则执行步骤104;步骤104:从上游接口u1接收到发布消息的路由器查看控制器表,如果存在一个控制器表项且该控制器表项的接口ID集合域等于该发布消息的接口ID集合,则执行步骤105,否则执行步骤106;步骤105:从上游接口u1接收到发布消息的路由器将控制表中的控制器表项的生命周期设置为最大值,从每个下游接口转发该发布消息,执行步骤103;步骤106:从上游接口u1接收到发布消息的路由器查看控制器表,如果存在一个控制器表项且该控制器表项的接口ID集合域的元素个数等于该发布消息的接口ID集合的元素个数,则执行步骤110,否则执行步骤107;步骤107:从上游接口u1接收到发布消息的路由器查看控制器表,如果存在一个控制器表项,则执行步骤108,否则执行步骤109;步骤108:从上游接口u1接收到发布消息的路由器删除控制表中的控制器表项;步骤109:从上游接口u1接收到发布消息的路由器创建一个控制器表项,该控制器表项的接口ID集合等于该发布消息的接口ID集合,生命周期设置为最大值,执行步骤103;步骤110:结束;如果路由器检测到控制器表项的生命周期过期,则删除该控制器表项。2.根据权利要求1所述的一种高效的命名数据网络实现方法,其特征在于,一个路由器或者控制器维护一个转发表,每个转发表项包含名称域、接口ID集合域、定时器集合域以及生命周期域;每个路由器维护一个提供者表,一个提供者表项包括名称、接口和生命周期域;在设备D1的关联路由器为路由器R1,数据C1由名称N1唯一标识的条件下,设备D1产生数据C1或者设备D1的关联路由器发生了变化之后,设备D1执行下述操作:步骤201:开始;步骤202:设备D1发送注册消息,该注册消息的名称为名称N1,接口ID集合为空,消息类型值为2,负载为空;步骤203:路由器R1从下游接口f1接收到该注册消息后查看提供者表,如果存在一个提供者表项,该提供者表项的名称域值为N1,接口ID为f1,则执行步骤204,否则执行步骤205;步骤204:路由器R1从下游接口f1接收到该注册消息后,选择一个提供者表项,该提供者表项的名称域值为N1,接口ID为f1,将该提供者表项的生命周期设置为最大值,执行步骤206;步骤205:路由器R1从下游接口f1接收到该注册消息后,创建一个提供者表项,该提供者表项的名称域值为N1,接口ID为f1,生命周期设置为最大值;步骤206:结束。3.根据权利要求2所述的一种高效的命名数据网络实现方法,其特征在于,路由器R1定期执行下述操作维护转发表:步骤301:开始;步骤302:路由器R1创建一个名称集合参数NS1,名称集合参数NS1的初始值为空;路由器R1查看提供者表,针对每个提供者表项,路由器R1执行下述操作:如果该提供者表项的名称包含在名称集合参数NS1中,则不执行任何操作,否则将该提供者表项的名称域值加入到名称集合参数NS1中;步骤303:对于名称集合参数NS1中的每个元素,路由器R1执行下述操作:路由器R1查看控制器表项,构建一个更新消息,该更新消息的名称为名称N1,接口ID集合为控制器表项中的接口ID集合,消息类型值为3,负载为接口ID集合参数P1,接口ID集合参数P1的初始值为空,路由器R1选取更新消息接口ID集合中的最后一个元素标识的接口,从更新消息接口ID集合中删除最后一个元素,从选中的接口转发该更新消息;步骤304:判断是控制器从接口f2还是路由器从接口f3接收到该更新消息,如果是控制器则执行步骤306,否则执行步骤305;步骤305:路由器将f3加入到该更新消息负载中的参数P1中并作为最后一个元素存在;如果存在一个转发表项,该转发表项的名称域值等于名称N1且接口ID集合等于该更新消息负载中的参数P1,则将该转发表项的生命周期设置为最大值;否则创建一个转发表项,该转发表项的名称域值等于名称N1,接口ID集合等于该更新消息负载中的参数P1,生命周期设置为最大值;该路由器选取更新消息接口ID集合中的最后一个元素标识的接口,从更新消息接口ID集合中删除最后一个元素,从选中的接口转发该更新消息,执行步骤304;步骤306:控制器将f2加入到该更新消息负载中的参数P1中并作为最后一个元素存在;如果存在一个转发表项,该转发表项的名称域值等于名称N1且接口ID集合等于该更新消息负载中的参数P1,则将该转发表项的生命周期设置为最大值;否则该控制器创建一个转发表项,该转发表项的名称域值等于名称N1,接口ID集合等于该更新消息负载中的参数P1,定时器集合为空,生命周期设置为最大值;步骤307:结束。4.根据权利要求3所述的一种高效的命名数据网络实现方法,其特征在于,如果设备D1的关联路由器为路由器R1,设备D1定期执行下述操作更新提供者表项:步骤401:开始;步骤402:设备D1发送一个信标消息,该信标消息的名称为空,接口ID集合为空,消息类型值为4,负载为设备D1所能提供的所有数据的名称集合;步骤403:路由器R1从接口z1接收到该信标消息后,查看提供者表;针对信标消息负载中的名称集合中的每个名称N',路由器R1执行下述操作:路由器R1选择一个提供者表项,该提供者表项的名称域值等于名称N'且接口ID等于z1,将该提供者表项的生命周期设置为最大值;步骤404:结束。5.根据权利要求3所述的一种高效的命名数据网络实现方法,其特征在于,如果路由器R1检测到提供者表项E1的生命周期衰减到0,则执行下述操作更新转发表:步骤501:开始;步骤502:路由器R1查看是否至少存在两个提供者表项,这两个提供者表项的名称域值等于提供者表项E1的名称域值,如果是,则执行步骤503,否则执行步骤504;步骤503:路由器R1删除提供者表项E1,执行步骤508;步骤504:路由器R1选择控制器表项,构建一个删除消息,该删除消息的名称域值等于提供者表项E1中的名称域值,接口ID集合等于控制器表项的接口ID集合,消息类型值为5,负载为接口ID集合参数P2,参数P2的初始值为空;路由器R1选择删除消息接口ID集合中的最后一个元素标识的接口,从删除消息接口ID集合中删除最后一个元素,从选中的接口转发该删除消息,路由器R1删除提供者表项E1;步骤505:判断是控制器从接口f4还是路由器从接口f5接收到该删除消息,如果是控制器则执行步骤507,否则执行步骤506;步骤506:路由器将f5加入到该删除消息负载中的参数P2中并作为最后一个元素;如果该路由器的转发表中存在一个转发表项,该转发表项的名称等于该删除消息的名称且接口ID集合等于参数P2,则该路由器删除该转发表项;该路由器选择删除消息接口ID集合中的最后一个元素标识的接口,从删除消息接口ID集合中删除最后一个元素,从选中的接口转发该删除消息,执行步骤505;步骤507:控制器将f4加入到该删除消息负载中的参数P2中并作为最后一个元素;如果控制器的转发表中存在一个转发表项,该转发表项的名称等于该删除消息的名称且接口ID集合等于参数P2,控制器则删除该转发表项;步骤508:结束。6.根据权利要求3所述的一种高效的命名数据网络实现方法,其特征在于,在设备D1的关联路由器为路由器R1,数据C1由名称N1定义的条件下,如果设备D1删除了数据C1,它则执行下述操作更新转发表:步骤601:开始;步骤602:设备D1发送删除消息,该删除消息的名称为名称N1,接口ID集合为空,消息类型值为5,负载为空;路由器R1从接口z2接收到该删除消息后查看是否至少存在两个提供者表项,这两个提供者表项的名称域值等于名称N1,如果是,则执行步骤603,否则执行步骤604;步骤603:路由器R1删除名称域值等于名称N1且接口ID等于z2的提供者表项,执行步骤608;步骤604:路由器R1选择控制器表项,将接收到的删除消息的接口ID集合更新为控制器表项的接口ID集合,负载更新为接口ID集合参数P3,参数P3的初始值为空;路由器R1选择删除消息接口ID集合中的最后一个元素标识的接口,从删除消息接口ID集合中删除最后一个元素,从选中的接口转发该删除消息,路由器R1删除名称域值等于名称N1且接口ID...

【专利技术属性】
技术研发人员:王晓喃闫海英乐德广
申请(专利权)人:常熟理工学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1