一种内容中心网络按需距离矢量路由方法

文档序号:9754446阅读:478来源:国知局
一种内容中心网络按需距离矢量路由方法
【技术领域】
[0001 ] 本发明涉及网络路由方法,特别涉及一种内容中心网络按需距离矢量路由方法。
【背景技术】
[0002]内容中心网络(CCN)表示以内容或者信息为中心的网络结构。CCN以内容为中心,不关注内容的提供者,只关注内容本身,通过对内容的命名和基于内容命名的路由,更好的满足信息内容消费的需求。CCN摒弃了传统的以IP为细腰的协议栈结构,采用以内容名字为核心的协议栈结构,向下兼容不同的传输方式(IP、Ethernet、P2P等),向上支持不同的服务应用(内容分发、流媒体、网络电话等)。这种以内容为中心的设计思想使CCN先天地支持网络中内容与用户的移动,提供信息的可信认证,并能够极大地提高信息在网络中的传播效率,在体系结构上具有传统IP网络不可比拟的优越性。
[0003]2012年,NDN项目组为了在CCN测试床上部署时能根据网络拓扑的变化自动更新FIB表,在OSPF的基础上提出了 OSPFN路由方法。但OSPFN路由方法没有针对CCN的路由表项多、路由查找慢的缺点进行优化。
[0004]在此之后,NDN项目组提出了命名数据链路状态路由方法NLSR。NLSR协议进一步描述了路由器、链路的基于URL的命名方法,明确了邻居节点之间交互的链路状态信息分组格式,并描述了相关的多路径计算和路由失效恢复机制。但该路由方法并没有解决CCN路由时路由表项难聚合的问题。
[0005]综上所述,现有的内容中心网络在做路由查询时基于数据命名,本身存在命名空间无限和路由表项有限之间的矛盾,如何通过适当的路由分组并尽量减少路由条目,压缩路由表项是一个亟待解决的问题。

【发明内容】

[0006]本发明的目的在于克服现有技术中的内容中心网络的路由方法所存在的缺陷,从而提供一种按需距离矢量路由方法。
[0007]为了实现上述目的,本发明提供了一种内容中心网络按需距离矢量路由方法,包括:
[0008]步骤I)、需要请求路由的请求源节点向网络中的其他节点广播路由请求分组CCN_RREQ,启动路由发现过程;其中,所述路由请求分组CCN_RREQ携带在内容中心网络的兴趣分组中,其至少包括以下信息:请求内容的哈希值、请求源节点地址、请求源节点序列号;
[0009]步骤2)、目标节点在接收到所述路由请求分组CCN_RREQ后,回复路由应答分组CCN_RREP ;其中,所述路由应答分组CCN_RREP携带在内容中心网络的数据分组中,其至少包括以下信息:请求内容的哈希值、内容提供者地址、内容提供者序列号;
[0010]步骤3)、请求源节点接收到目标节点所返回的路由应答分组CCN_RREP后,根据该分组所包含的内容建立请求源节点与目标节点之间的路径。[0011 ] 上述技术方案中,还包括:
[0012]步骤4)、当节点失效或者缓存更新导致路由失效时,使用路由出错分组CCN_RRER删除失效路径;其中,所述路由出错分组CCN_RRER至少包括:不能到达的请求内容、不能到达的请求内容的条目数量、不能到达的内容提供者的标识、不能到达的内容提供者的序列号。
[0013]上述技术方案中,所述步骤2)包括:
[0014]步骤201)、一节点收到路由请求分组CCN_RREQ ;
[0015]步骤202)、该节点检查该路由请求分组CCN_RREQ是否是本节点自己发出的,即路由请求分组CCN_RREQ中的请求源节点是否是本节点,如果是,执行下一步,否则转步骤204);
[0016]步骤203)、丢弃该路由请求分组CCN_RREQ,结束操作;
[0017]步骤204)、节点检查所接收到的路由请求分组CCN_RREQ是否在之前已经接收过,如果是,执行步骤203),否则,执行下一步;
[0018]步骤205)、节点检查自身的缓存表中是否存在路由请求分组CCN_RREQ所请求的内容,如果是,该节点为内容提供者,执行下一步,否则转步骤207);
[0019]步骤206)、向发出路由请求分组CCN_RREQ的节点回复路由应答分组CCN_RREP ;
[0020]步骤207)、节点查看路由表中是否存在路由请求分组CCN_RREQ所请求内容的有效路径所对应的条目,如果是,执行步骤206),否则执行下一步;
[0021 ] 步骤208)、缓存并广播该路由请求分组CCN_RREQ。
[0022]上述技术方案中,所述步骤3)包括:
[0023]步骤301)、一节点收到路由应答分组CCN_RREP ;
[0024]步骤302)、节点判断自身的路由表中是否保存有从本节点到目标hash的有效路由,如果是,执行下一步,否则,转步骤307);其中,所述目标hash是指路由应答分组CCN_RREP中所包含内容的hash值;有效路由是指路由条目的有效期没有超时的路由;
[0025]步骤303)、节点判断自身的路由表中是否有相同内容提供者的到路由应答分组CCN_RREP中内容目标的有效路由,如果是,执行下一步,否则,转步骤306);
[0026]步骤304)、比较路由表中相应路由条目的目的节点序列号和路由应答分组CCN_RREP中的目的节点序列号,如果路由应答分组CCN_RREP中的目的节点序列号较新,转步骤
307),否则,执行下一步;
[0027]步骤305)、若路由应答分组CCN_RREP中的目的节点序列号与路由表中相应路由条目的目的节点序列号相同但跳数更少,则执行步骤307),否则转步骤308);
[0028]步骤306)、判断路由表中该内容的多路径表项是否已经饱和,如果是,转步骤
308),否则,执行下一步;
[0029]步骤307)、增加或者更新相应的路由条目,根据CCN的Intesrst表,向上一跳节点转发路由应答分组CCN_RREP,结束操作;
[0030]步骤308)、丢弃路由应答分组CCN_RREP,结束操作。
[0031]上述技术方案中,所述步骤4)包括:
[0032]步骤401)、路由是否失效由路径上目的节点的上一跳节点检测;如果节点在转发兴趣分组时发现自己到内容提供者的距离为1,则该节点为目的节点的上一跳节点,该节点在发送兴趣分组时启动超时定时器;
[0033]步骤402)、如果超时定时器已经超时,但是所述目的节点的上一跳节点并没有按照预期收到由对应内容提供者发送的数据分组,则该节点判断此路径已经失效;
[0034]步骤403)、所述目的节点的上一跳节点将对应路径标记为失效,并向对应路径的自己的上一跳节点发送CCN_RRER分组,通知上一跳节点此路径已经失效;
[0035]步骤404)、节点收到CCN_RRER分组后,首先查看有没有对应内容提供者的有效路径,如果有,将对应路径标记为失效,并向对应路径的上一跳节点发送CCN_RRER分组,通知该节点此路径已经失效,如果没有,丢弃该CCN_RRER分组。
[0036]本发明的优点在于:
[0037]1、本发明的方法通过按需建立路由,减少了路由表项,提高了路由查询效路,有效的降低了路由开销;
[0038]2、通过探测失效路径并进行路由修复,及时地删除了失效路径。
【附图说明】
[0039]图1是路由请求分组CCN_RREQ的数据结构示意图;
[0040]图2是路由应答分组CCN_RREP的数据结构示意图;
[0041]图3是路由出错分组CCN_RRER的数据结构示意图;
[0042]图4是本发明的方法中目标节点回复路由应答分组CCN_RREP的流程图;
[0043]图5是本发明的方法中建立请求源与目标节点之间的路径的流程图。
【具体实施方式】
[0044]现结合附图对本发明作进一步的描述。
[0045]在本发明的内容中心网络按需距离矢量路由方法中主要采用了三种路由控制消息,分别为:路由请求分组CCN_RREQ、路由应答分组CCN_RREP和路由出错分组CCN_RRER ;其中的路由请求分组CCN_RREQ可以携带在内容中心网络的兴趣分组中,该路由请求分组CCN_RREQ包括以下信息:请求内容的hash值、请求源节点地址、请求源节点序列号等;路由应答分组CCN_RREP可以携带在内容中心网络的数据分组中,该CCN_RREP分组中包括以下信息:请求内容的hash值、内容提供者地址、内容提供者序列号等。
[0046]上述三种路由控制消息在本发明的路由方法中起到重要作用,下面对这些分组的数据结构做进一步的说明。
[0047]图1为路由请求分组CCN_RREQ的数据结构示意图,其中的Type为分组类型,值设定为I。P是仅仅内容提供者可以回复CCN-RREP分组的标志位,意味着仅仅内容提供者可以响应这个CCN-RREQ分组,有路由但是没有内容的中间节点不能响应这个CCN-RREQ分组。U是序列号不可知标志位,该标志位置位意味着内容提供者的序列号对本节点未知。Reserved为保留比特,目前为O。Hop Count表示的是从CCN-RREQ分组发起节点到处理该分组的节点的跳数。RREQ ID是该CCN-RREQ的分组ID,由生成该CCN分组的节点产生,与后续的Originator ID 一起使用。Originator ID是生成该CCN分组的节点ID。Target hash是请求内容的哈希值。Provider ID是本节点已知的内容提供者的ID。Provider SequenceNumber是与上述Provider ID的系列号。如果没有已知的内容提供者,后两项可以为空。
[0048]图2为路由应答分组CCN_RREP的数据结构示意图,其中的Type为分组类型,值设定为2。P是内容提供者标志位,该标志位置位意味着该CCN-RREP分组是由内容提供者发出的。S、F、R均是预留比特,目前为O。Hop Count是从CCN-RREP生成节点到处理该分组的节点的跳数。Provider ID 是生成该 CCN-RREP 分组的节点的 ID。Provider Sequence Numberis与该路由相关的生成节点的序列号。Lifetime是路由的有效期,单位为ms。Target hash为所需内容的哈希值。
[0049]图3为路由出错分组CCN_RRER的数据结构示意图,其中的Type为分组类型,值设定为2。N是“勿删除”标志位。T是目标hash不可达标志位。L是链路中断标志位。R是预留比特,目前为O。Target Count是该消息中不可达hash值的条目数量。UnreachableProvider ID 是不可达的内容提供者的 ID。Unreachable Provider Sequence Number 是与上述内容提供者相关的序列号。Target Hash是不可达的内容的哈希值。
[0050]下面对本发明方法的具体实现步骤做详细说明。<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1