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

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

Info

Publication number
WO2016045199A1
WO2016045199A1 PCT/CN2014/093490 CN2014093490W WO2016045199A1 WO 2016045199 A1 WO2016045199 A1 WO 2016045199A1 CN 2014093490 W CN2014093490 W CN 2014093490W WO 2016045199 A1 WO2016045199 A1 WO 2016045199A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
ccn
route
packet
content
Prior art date
Application number
PCT/CN2014/093490
Other languages
English (en)
French (fr)
Inventor
王劲林
齐卫宁
尤佳莉
王玲芳
Original Assignee
中国科学院声学研究所
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中国科学院声学研究所 filed Critical 中国科学院声学研究所
Priority to US15/513,561 priority Critical patent/US20170302563A1/en
Priority to EP14902333.5A priority patent/EP3200404B1/en
Publication of WO2016045199A1 publication Critical patent/WO2016045199A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet

Definitions

  • the invention relates to a network routing method, in particular to a content center network on-demand distance vector routing method.
  • the Content Center Network represents a network structure centered on content or information.
  • CCN is content-centric, does not pay attention to the content provider, only pays attention to the content itself, and better meets the demand for information content consumption by naming the content and routing based on content naming.
  • CCN abandons the traditional IP-based protocol stack structure, adopts a protocol stack structure with content name as the core, and is backward compatible with different transmission methods (IP, Ethernet, P2P, etc.), and supports different service applications upwards (content Distribution, streaming, VoIP, etc.).
  • This content-centric design idea enables CCN to support the movement of content and users in the network, provide trusted authentication of information, and greatly improve the efficiency of information dissemination in the network. It has a traditional IP network in architecture. Unmatched superiority.
  • the NDN project team automatically updated the FIB table according to changes in the network topology when deploying on the CCN test bed, and proposed the OSPFN routing method based on OSPF.
  • the OSPFN routing method does not optimize the shortcomings of the CCN with many routing entries and slow route lookup.
  • the NDN project team proposed a named data link state routing method NLSR.
  • the NLSR protocol further describes the URL-based naming method for routers and links, clarifies the link state information packet format of the interaction between neighbor nodes, and describes the related multipath calculation and route failure recovery mechanism.
  • the routing method does not solve the problem that the routing entries are difficult to be aggregated when the CCN route is used.
  • the existing content center network is based on data naming when doing routing query, and there is a contradiction between the infinite namespace and the limited routing entries. How to compress the routing table through proper routing and minimize routing entries. The item is an urgent problem to be solved.
  • the object of the present invention is to overcome the shortcomings of the routing method of the content center network in the prior art, thereby providing an on-demand distance vector routing method.
  • the present invention provides a content center network on-demand distance vector routing method, including:
  • Step 1) The request source node that needs to request the route broadcasts the route request packet CCN_RREQ to other nodes in the network, and initiates a route discovery process.
  • the route request packet CCN_RREQ is carried in the interest packet of the content center network, and includes at least the following Information: the hash value of the requested content, the request source node address, and the request source node serial number;
  • Step 2) After receiving the route request packet CCN_RREQ, the target node replies with a route reply packet CCN_RREP; wherein the route reply packet CCN_RREP is carried in a data packet of the content center network, and at least includes the following information: requesting content Hash value, content provider address, content provider serial number;
  • Step 3 After receiving the route reply packet CCN_RREP returned by the target node, the request source node establishes a path between the request source node and the target node according to the content included in the packet.
  • the step 2) includes:
  • Step 201 a node receives a route request packet CCN_RREQ;
  • Step 202 the node checks whether the routing request packet CCN_RREQ is sent by the local node itself, that is, whether the request source node in the routing request packet CCN_RREQ is the local node, and if so, the next step is performed, otherwise step 204);
  • Step 203 discarding the route request packet CCN_RREQ, and ending the operation;
  • Step 204 the node checks whether the received route request packet CCN_RREQ has been received before, and if so, performs step 203), otherwise, performs the next step;
  • Step 205 the node checks whether the content requested by the route request packet CCN_RREQ exists in its own cache table, and if so, the node is a content provider, and the next step is performed, otherwise step 207);
  • Step 206 replying to the routing response packet CCN_RREP to the node that sends the routing request packet CCN_RREQ;
  • Step 207 the node checks whether there is an entry corresponding to the valid path of the content requested by the route request packet CCN_RREQ in the routing table, and if yes, performs step 206), otherwise performs the next step;
  • Step 208) Cache and broadcast the route request packet CCN_RREQ.
  • the step 3) includes:
  • Step 301 a node receives a route response packet CCN_RREP
  • Step 302) the node determines whether there is a valid route from the local node to the target hash in its routing table, and if yes, performs the next step, otherwise, proceeds to step 307); wherein the target hash refers to the route response packet CCN_RREP The hash value of the content contained in the route; the valid route refers to the route whose routing entry has no timeout;
  • Step 303 the node determines whether there is a valid route of the same content provider's content destination in the routing response packet CCN_RREP in the routing table, and if so, proceeds to the next step, otherwise, proceeds to step 306);
  • Step 304) Compare the destination node serial number of the corresponding routing entry in the routing table with the destination node serial number in the route reply packet CCN_RREP. If the destination node serial number in the route reply packet CCN_RREP is newer, go to step 307), otherwise, execute Next step;
  • Step 305 if the destination node sequence number in the route response packet CCN_RREP is the same as the destination node sequence number of the corresponding routing entry in the routing table but the number of hops is less, then step 307) is performed, otherwise step 308);
  • Step 306 determining whether the multipath entry of the content in the routing table is saturated, if yes, go to step 308), otherwise, perform the next step;
  • Step 307 adding or updating the corresponding routing entry, and forwarding the routing response packet CCN_RREP to the upper hop node according to the Intesrst table of the CCN, and ending the operation;
  • Step 308) discarding the route response packet CCN_RREP, and ending the operation.
  • the step 4) includes:
  • Step 401) Whether the route is invalid is detected by the last hop node of the destination node on the path; if the node finds that the distance to the content provider is 1 when forwarding the interest packet, the node is the previous hop node of the destination node, The node starts a timeout timer when sending the interest packet;
  • Step 402 if the timeout timer has expired, but the last hop node of the destination node does not receive the data packet sent by the corresponding content provider as expected, the node determines that the path has expired;
  • Step 403 the previous hop node of the destination node marks the corresponding path as invalid, and sends a CCN_RRER packet to its own previous hop node of the corresponding path, notifying the previous hop node that the path has expired;
  • the method of the invention reduces routing entries by establishing routes on demand, improves routing query efficiency, and effectively reduces routing overhead;
  • the failed path is deleted in time by detecting the failed path and performing route repair.
  • 1 is a schematic diagram of a data structure of a routing request packet CCN_RREQ;
  • FIG. 2 is a schematic diagram of a data structure of a route response packet CCN_RREP
  • FIG. 3 is a schematic diagram of a data structure of a routing error packet CCN_RRER
  • FIG. 4 is a flow chart of a target node replying a route reply packet CCN_RREP in the method of the present invention
  • Figure 5 is a flow diagram of establishing a path between a request source and a target node in the method of the present invention.
  • the route request packet CCN_RREQ includes the following information: a hash value of the requested content, a request source node address, a request source node serial number, and the like; and a route reply packet CCN_RREP may be carried in the data packet of the content center network.
  • the CCN_RREP packet includes the following information: a hash value of the requested content, a content provider address, a content provider serial number, and the like.
  • routing control messages play an important role in the routing method of the present invention.
  • the data structure of these packets will be further described below.
  • FIG. 1 is a schematic diagram of a data structure of a route request packet CCN_RREQ, where Type is a packet type, and the value is set to 1.
  • P is a flag bit that only the content provider can reply to the CCN-RREP packet, meaning that only the content provider can respond to this CCN-RREQ packet, and the intermediate node with routing but no content cannot respond to this CCN-RREQ packet.
  • U is the sequence number agnostic flag bit, which means that the content provider's serial number is unknown to the node. Reserved is a reserved bit and is currently 0.
  • Hop Count represents the number of hops from the CCN-RREQ packet originating node to the node that processes the packet.
  • the RREQ ID is the packet ID of the CCN-RREQ, generated by the node that generated the CCN packet, and used with the subsequent Originator ID.
  • the Originator ID is the node ID that generated the CCN packet.
  • the Target hash is the hash value of the requested content.
  • the Provider ID is the ID of the content provider known to this node.
  • the Provider Sequence Number is the serial number of the above Provider ID. If there is no known content provider, the last two items can be empty.
  • FIG. 2 is a schematic diagram of a data structure of a route reply packet CCN_RREP, where Type is a packet type, and the value is set to 2.
  • P is the content provider flag, which indicates that the CCN-RREP packet was sent by the content provider.
  • S, F, and R are reserved bits and are currently 0.
  • Hop Count is the number of hops from the CCN-RREP generation node to the node that handles the packet.
  • the Provider ID is the ID of the node that generated the CCN-RREP packet.
  • Provider Sequence Number is the sequence number of the generated node associated with the route. Lifetime is the validity period of the route, in ms.
  • the Target hash is a hash of the desired content.
  • FIG. 3 is a schematic diagram of a data structure of a routing error packet CCN_RRER, where Type is a packet type, and the value is set to 2.
  • N is the “Do not delete” flag.
  • T is the target hash unreachable flag.
  • L is the link interrupt flag bit.
  • R is a reserved bit and is currently 0.
  • the Target Count is the number of entries for the unreachable hash value in the message.
  • the Unreachable Provider ID is the ID of the unreachable content provider.
  • Unreachable Provider Sequence Number is the serial number associated with the content provider above.
  • Target Hash is a hash of unreachable content.
  • Step 1) When a node needs to request a route (the node is also called a request source), broadcast a route request packet CCN_RREQ to other nodes in the network to start a route discovery process;
  • Step 2) after receiving the route request packet CCN_RREQ, the target node replies to the route response packet CCN_RREP;
  • Step 3 After the request source receives the route reply packet CCN_RREP returned by the target node, the path between the request source and the target node is established according to the content included in the packet.
  • step 1) the case where the node needs to request a route includes: when a node needs a route with a content hash value, and there is no corresponding valid route entry in the routing table of the node.
  • step 2) further includes:
  • Step 201 a node receives a route request packet CCN_RREQ;
  • Step 202 the node checks whether the routing request packet CCN_RREQ is sent by the local node itself, that is, whether the request source node in the routing request packet CCN_RREQ is the local node, and if so, the next step is performed, otherwise step 204);
  • Step 203 discarding the route request packet CCN_RREQ, and ending the operation;
  • Step 204 the node checks whether the received route request packet CCN_RREQ has been received before, and if so, performs step 203), otherwise, performs the next step;
  • Step 205 the node checks whether the content requested by the route request packet CCN_RREQ exists in the cache table of the network (that is, the content corresponding to the hash value of the request content in the route request packet CCN_RREQ), and if yes, the node is a content provider, Perform the next step, otherwise go to step 207);
  • Step 206 replying to the routing response packet CCN_RREP to the node that sends the routing request packet CCN_RREQ;
  • Step 207 the node checks whether there is an entry corresponding to the valid path of the content requested by the route request packet CCN_RREQ in the routing table, and if yes, performs step 206), otherwise performs the next step;
  • Step 208 buffering and broadcasting the route request packet CCN_RREQ; the step of buffering the route request packet CCN_RREQ can prevent the node from receiving the same CCN_RREQ packet, and the broadcast route request packet CCN_RREQ is helpful for other nodes in the network to receive the route.
  • Request packet CCN_RREQ the step of buffering the route request packet CCN_RREQ can prevent the node from receiving the same CCN_RREQ packet, and the broadcast route request packet CCN_RREQ is helpful for other nodes in the network to receive the route.
  • step 3) further includes:
  • Step 301 a node receives a route reply packet CCN_RREP; the node may be a destination node to the request Any node between the source nodes;
  • Step 302) the node determines whether there is a valid route from the local node to the target hash in its routing table, and if yes, performs the next step, otherwise, proceeds to step 307); wherein the target hash refers to the route response packet CCN_RREP The hash value of the content contained in the route; the valid route refers to the route whose routing entry has no timeout;
  • Step 303 the node determines whether there is a valid route of the same content provider's content destination in the routing response packet CCN_RREP in the routing table, and if so, proceeds to the next step, otherwise, proceeds to step 306);
  • Step 304) Compare the destination node serial number of the corresponding routing entry in the routing table with the destination node serial number in the route reply packet CCN_RREP. If the destination node serial number in the route reply packet CCN_RREP is newer, go to step 307), otherwise, execute Next step;
  • Step 305 if the destination node sequence number in the route response packet CCN_RREP is the same as the destination node sequence number of the corresponding routing entry in the routing table but the number of hops is less, then step 307) is performed, otherwise step 308);
  • Step 306 determining whether the multipath entry of the content in the routing table is saturated, if yes, go to step 308), otherwise, perform the next step;
  • Step 307 adding or updating the corresponding routing entry, and forwarding the routing response packet CCN_RREP to the upper hop node according to the Intesrst table of the CCN, and ending the operation;
  • Step 308) discarding the route response packet CCN_RREP, and ending the operation.
  • the method of the present invention further includes:
  • Step 4) When the node fails or the cache update causes the route to fail, the route error packet CCN_RRER is used to delete the invalid path.
  • This step specifically includes:
  • Step 401) Whether the route is invalid is detected by the last hop node of the destination node on the path; if the node finds that the distance to the content provider is 1 when forwarding the interest packet, the node is the previous hop node of the destination node, The node starts a timeout timer when sending the interest packet;
  • Step 402 if the timeout timer has expired, but the last hop node of the destination node does not receive the data packet sent by the corresponding content provider as expected, the node determines that the path has expired;
  • Step 403 the previous hop node of the destination node marks the corresponding path as invalid, and sends a CCN_RRER packet to its own previous hop node of the corresponding path, notifying the previous hop node that the path has expired;

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种内容中心网络按需距离矢量路由方法,包括:需要请求路由的请求源节点向网络中的其他节点广播路由请求分组CCN_RREQ,启动路由发现过程;目标节点在接收到所述路由请求分组CCN_RREQ后,回复路由应答分组CCN_RREP;请求源节点接收到目标节点所返回的路由应答分组CCN_RREP后,根据该分组所包含的内容建立请求源节点与目标节点之间的路径。

Description

一种内容中心网络按需距离矢量路由方法 技术领域
本发明涉及网络路由方法,特别涉及一种内容中心网络按需距离矢量路由方法。
背景技术
内容中心网络(CCN)表示以内容或者信息为中心的网络结构。CCN以内容为中心,不关注内容的提供者,只关注内容本身,通过对内容的命名和基于内容命名的路由,更好的满足信息内容消费的需求。CCN摒弃了传统的以IP为细腰的协议栈结构,采用以内容名字为核心的协议栈结构,向下兼容不同的传输方式(IP、Ethernet、P2P等),向上支持不同的服务应用(内容分发、流媒体、网络电话等)。这种以内容为中心的设计思想使CCN先天地支持网络中内容与用户的移动,提供信息的可信认证,并能够极大地提高信息在网络中的传播效率,在体系结构上具有传统IP网络不可比拟的优越性。
2012年,NDN项目组为了在CCN测试床上部署时能根据网络拓扑的变化自动更新FIB表,在OSPF的基础上提出了OSPFN路由方法。但OSPFN路由方法没有针对CCN的路由表项多、路由查找慢的缺点进行优化。
在此之后,NDN项目组提出了命名数据链路状态路由方法NLSR。NLSR协议进一步描述了路由器、链路的基于URL的命名方法,明确了邻居节点之间交互的链路状态信息分组格式,并描述了相关的多路径计算和路由失效恢复机制。但该路由方法并没有解决CCN路由时路由表项难聚合的问题。
综上所述,现有的内容中心网络在做路由查询时基于数据命名,本身存在命名空间无限和路由表项有限之间的矛盾,如何通过适当的路由分组并尽量减少路由条目,压缩路由表项是一个亟待解决的问题。
发明内容
本发明的目的在于克服现有技术中的内容中心网络的路由方法所存在的缺陷,从而提供一种按需距离矢量路由方法。
为了实现上述目的,本发明提供了一种内容中心网络按需距离矢量路由方法,包括:
步骤1)、需要请求路由的请求源节点向网络中的其他节点广播路由请求分组CCN_RREQ,启动路由发现过程;其中,所述路由请求分组CCN_RREQ携带在内容中心网络的兴趣分组中,其至少包括以下信息:请求内容的哈希值、请求源节点地址、请求源节点序列号;
步骤2)、目标节点在接收到所述路由请求分组CCN_RREQ后,回复路由应答分组CCN_RREP;其中,所述路由应答分组CCN_RREP携带在内容中心网络的数据分组中,其至少包括以下信息:请求内容的哈希值、内容提供者地址、内容提供者序列号;
步骤3)、请求源节点接收到目标节点所返回的路由应答分组CCN_RREP后,根据该分组所包含的内容建立请求源节点与目标节点之间的路径。
上述技术方案中,还包括:
步骤4)、当节点失效或者缓存更新导致路由失效时,使用路由出错分组CCN_RRER删除失效路径;其中,所述路由出错分组CCN_RRER至少包括:不能到达的请求内容、不能到达的请求内容的条目数量、不能到达的内容提供者的标识、不能到达的内容提供者的序列号。
上述技术方案中,所述步骤2)包括:
步骤201)、一节点收到路由请求分组CCN_RREQ;
步骤202)、该节点检查该路由请求分组CCN_RREQ是否是本节点自己发出的,即路由请求分组CCN_RREQ中的请求源节点是否是本节点,如果是,执行下一步,否则转步骤204);
步骤203)、丢弃该路由请求分组CCN_RREQ,结束操作;
步骤204)、节点检查所接收到的路由请求分组CCN_RREQ是否在之前已经接收过,如果是,执行步骤203),否则,执行下一步;
步骤205)、节点检查自身的缓存表中是否存在路由请求分组CCN_RREQ所请求的内容,如果是,该节点为内容提供者,执行下一步,否则转步骤207);
步骤206)、向发出路由请求分组CCN_RREQ的节点回复路由应答分组CCN_RREP;
步骤207)、节点查看路由表中是否存在路由请求分组CCN_RREQ所请求内容的有效路径所对应的条目,如果是,执行步骤206),否则执行下一步;
步骤208)、缓存并广播该路由请求分组CCN_RREQ。
上述技术方案中,所述步骤3)包括:
步骤301)、一节点收到路由应答分组CCN_RREP;
步骤302)、节点判断自身的路由表中是否保存有从本节点到目标hash的有效路由,如果是,执行下一步,否则,转步骤307);其中,所述目标hash是指路由应答分组CCN_RREP中所包含内容的hash值;有效路由是指路由条目的有效期没有超时的路由;
步骤303)、节点判断自身的路由表中是否有相同内容提供者的到路由应答分组CCN_RREP中内容目标的有效路由,如果是,执行下一步,否则,转步骤306);
步骤304)、比较路由表中相应路由条目的目的节点序列号和路由应答分组CCN_RREP中的目的节点序列号,如果路由应答分组CCN_RREP中的目的节点序列号较新,转步骤307),否则,执行下一步;
步骤305)、若路由应答分组CCN_RREP中的目的节点序列号与路由表中相应路由条目的目的节点序列号相同但跳数更少,则执行步骤307),否则转步骤308);
步骤306)、判断路由表中该内容的多路径表项是否已经饱和,如果是,转步骤308),否则,执行下一步;
步骤307)、增加或者更新相应的路由条目,根据CCN的Intesrst表,向上一跳节点转发路由应答分组CCN_RREP,结束操作;
步骤308)、丢弃路由应答分组CCN_RREP,结束操作。
上述技术方案中,所述步骤4)包括:
步骤401)、路由是否失效由路径上目的节点的上一跳节点检测;如果节点在转发兴趣分组时发现自己到内容提供者的距离为1,则该节点为目的节点的上一跳节点,该节点在发送兴趣分组时启动超时定时器;
步骤402)、如果超时定时器已经超时,但是所述目的节点的上一跳节点并没有按照预期收到由对应内容提供者发送的数据分组,则该节点判断此路径已经失效;
步骤403)、所述目的节点的上一跳节点将对应路径标记为失效,并向对应路径的自己的上一跳节点发送CCN_RRER分组,通知上一跳节点此路径已经失效;
步骤404)、节点收到CCN_RRER分组后,首先查看有没有对应内容提供者的有效路径,如果有,将对应路径标记为失效,并向对应路径的上一跳节点发送CCN_RRER分组,通知该节点此路径已经失效,如果没有,丢弃该CCN_RRER分组。
本发明的优点在于:
1、本发明的方法通过按需建立路由,减少了路由表项,提高了路由查询效路,有效的降低了路由开销;
2、通过探测失效路径并进行路由修复,及时地删除了失效路径。
附图说明
图1是路由请求分组CCN_RREQ的数据结构示意图;
图2是路由应答分组CCN_RREP的数据结构示意图;
图3是路由出错分组CCN_RRER的数据结构示意图;
图4是本发明的方法中目标节点回复路由应答分组CCN_RREP的流程图;
图5是本发明的方法中建立请求源与目标节点之间的路径的流程图。
具体实施方式
现结合附图对本发明作进一步的描述。
在本发明的内容中心网络按需距离矢量路由方法中主要采用了三种路由控制消息,分别为:路由请求分组CCN_RREQ、路由应答分组CCN_RREP和路由出错分组CCN_RRER;其中的路由请求分组CCN_RREQ可以携带在内容中心网络的兴趣分组中,该路由请求分组CCN_RREQ包括以下信息:请求内容的hash值、请求源节点地址、请求源节点序列号等;路由应答分组CCN_RREP可以携带在内容中心网络的数据分组中,该CCN_RREP分组中包括以下信息:请求内容的hash值、内容提供者地址、内容提供者序列号等。
上述三种路由控制消息在本发明的路由方法中起到重要作用,下面对这些分组的数据结构做进一步的说明。
图1为路由请求分组CCN_RREQ的数据结构示意图,其中的Type为分组类型,值设定为1。P是仅仅内容提供者可以回复CCN-RREP分组的标志位,意味着仅仅内容提供者可以响应这个CCN-RREQ分组,有路由但是没有内容的中间节点不能响应这个CCN-RREQ分组。U是序列号不可知标志位,该标志位置位意味着内容提供者的序列号对本节点未知。Reserved为保留比特,目前为0。Hop Count表示的是从CCN-RREQ分组发起节点到处理该分组的节点的跳数。RREQ ID是该CCN-RREQ的分组ID,由生成该CCN分组的节点产生,与后续的Originator ID一起使用。Originator ID是生成该CCN分组的节点ID。Target hash是请求内容的哈希值。Provider ID是本节点已知的内容提供者的ID。Provider Sequence Number是与上述Provider ID的系列号。如果没有已知的内容提供者,后两项可以为空。
图2为路由应答分组CCN_RREP的数据结构示意图,其中的Type为分组类型,值设定为2。P是内容提供者标志位,该标志位置位意味着该CCN-RREP分组是由内容提供者发出的。S、F、R均是预留比特,目前为0。Hop Count是从CCN-RREP生成节点到处理该分组的节点的跳数。Provider ID是生成该CCN-RREP分组的节点的ID。Provider Sequence Number is与该路由相关的生成节点的序列号。Lifetime是路由的有效期,单位为ms。Target hash为所需内容的哈希值。
图3为路由出错分组CCN_RRER的数据结构示意图,其中的Type为分组类型,值设定为2。N是“勿删除”标志位。T是目标hash不可达标志位。L是链路中断标志位。R是预留比特,目前为0。Target Count是该消息中不可达hash值的条目数量。Unreachable Provider ID是不可达的内容提供者的ID。Unreachable Provider Sequence  Number是与上述内容提供者相关的序列号。Target Hash是不可达的内容的哈希值。
下面对本发明方法的具体实现步骤做详细说明。
步骤1)、当一节点需要请求路由时(该节点也被称为请求源),向网络中的其他节点广播路由请求分组CCN_RREQ,启动路由发现过程;
步骤2)、目标节点在接收到路由请求分组CCN_RREQ后,回复路由应答分组CCN_RREP;
步骤3)、请求源接收到目标节点所返回的路由应答分组CCN_RREP后,根据该分组所包含的内容建立请求源与目标节点之间的路径。
在步骤1)中,所述节点需要请求路由的情况包括:当一节点需要某个内容hash值的路由,而该节点的路由表中没有对应的有效路由条目。
参考图4,所述步骤2)进一步包括:
步骤201)、一节点收到路由请求分组CCN_RREQ;
步骤202)、该节点检查该路由请求分组CCN_RREQ是否是本节点自己发出的,即路由请求分组CCN_RREQ中的请求源节点是否是本节点,如果是,执行下一步,否则转步骤204);
步骤203)、丢弃该路由请求分组CCN_RREQ,结束操作;
步骤204)、节点检查所接收到的路由请求分组CCN_RREQ是否在之前已经接收过,如果是,执行步骤203),否则,执行下一步;
步骤205)、节点检查自身的缓存表中是否存在路由请求分组CCN_RREQ所请求的内容(即路由请求分组CCN_RREQ中的请求内容的hash值所对应的内容),如果是,该节点为内容提供者,执行下一步,否则转步骤207);
步骤206)、向发出路由请求分组CCN_RREQ的节点回复路由应答分组CCN_RREP;
步骤207)、节点查看路由表中是否存在路由请求分组CCN_RREQ所请求内容的有效路径所对应的条目,如果是,执行步骤206),否则执行下一步;
步骤208)、缓存并广播该路由请求分组CCN_RREQ;该步骤缓存路由请求分组CCN_RREQ能防止节点之后收到相同的CCN_RREQ分组,而广播路由请求分组CCN_RREQ则有助于网络中的其他节点收到该路由请求分组CCN_RREQ。
参考图5,所述步骤3)进一步包括:
步骤301)、一节点收到路由应答分组CCN_RREP;该节点可以是目的节点到请求 源节点之间的任意节点;
步骤302)、节点判断自身的路由表中是否保存有从本节点到目标hash的有效路由,如果是,执行下一步,否则,转步骤307);其中,所述目标hash是指路由应答分组CCN_RREP中所包含内容的hash值;有效路由是指路由条目的有效期没有超时的路由;
步骤303)、节点判断自身的路由表中是否有相同内容提供者的到路由应答分组CCN_RREP中内容目标的有效路由,如果是,执行下一步,否则,转步骤306);
步骤304)、比较路由表中相应路由条目的目的节点序列号和路由应答分组CCN_RREP中的目的节点序列号,如果路由应答分组CCN_RREP中的目的节点序列号较新,转步骤307),否则,执行下一步;
步骤305)、若路由应答分组CCN_RREP中的目的节点序列号与路由表中相应路由条目的目的节点序列号相同但跳数更少,则执行步骤307),否则转步骤308);
步骤306)、判断路由表中该内容的多路径表项是否已经饱和,如果是,转步骤308),否则,执行下一步;
步骤307)、增加或者更新相应的路由条目,根据CCN的Intesrst表,向上一跳节点转发路由应答分组CCN_RREP,结束操作;
步骤308)、丢弃路由应答分组CCN_RREP,结束操作。
作为一种可选的实现方式,本发明的方法还包括:
步骤4)、当节点失效或者缓存更新导致路由失效时,使用路由出错分组CCN_RRER删除失效路径。
该步骤具体包括:
步骤401)、路由是否失效由路径上目的节点的上一跳节点检测;如果节点在转发兴趣分组时发现自己到内容提供者的距离为1,则该节点为目的节点的上一跳节点,该节点在发送兴趣分组时启动超时定时器;
步骤402)、如果超时定时器已经超时,但是所述目的节点的上一跳节点并没有按照预期收到由对应内容提供者发送的数据分组,则该节点判断此路径已经失效;
步骤403)、所述目的节点的上一跳节点将对应路径标记为失效,并向对应路径的自己的上一跳节点发送CCN_RRER分组,通知上一跳节点此路径已经失效;
步骤404)、节点收到CCN_RRER分组后,首先查看有没有对应内容提供者的有效路径,如果有,将对应路径标记为失效,并向对应路径的上一跳节点发送CCN_RRER分组,通知该节点此路径已经失效,如果没有,丢弃该CCN_RRER分组。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (5)

  1. 一种内容中心网络按需距离矢量路由方法,包括:
    步骤1)、需要请求路由的请求源节点向网络中的其他节点广播路由请求分组CCN_RREQ,启动路由发现过程;其中,所述路由请求分组CCN_RREQ携带在内容中心网络的兴趣分组中,其至少包括以下信息:请求内容的哈希值、请求源节点地址、请求源节点序列号;
    步骤2)、目标节点在接收到所述路由请求分组CCN_RREQ后,回复路由应答分组CCN_RREP;其中,所述路由应答分组CCN_RREP携带在内容中心网络的数据分组中,其至少包括以下信息:请求内容的哈希值、内容提供者地址、内容提供者序列号;
    步骤3)、请求源节点接收到目标节点所返回的路由应答分组CCN_RREP后,根据该分组所包含的内容建立请求源节点与目标节点之间的路径。
  2. 根据权利要求1所述的内容中心网络按需距离矢量路由方法,其特征在于,还包括:
    步骤4)、当节点失效或者缓存更新导致路由失效时,使用路由出错分组CCN_RRER删除失效路径;其中,所述路由出错分组CCN_RRER至少包括:不能到达的请求内容、不能到达的请求内容的条目数量、不能到达的内容提供者的标识、不能到达的内容提供者的序列号。
  3. 根据权利要求1或2所述的内容中心网络按需距离矢量路由方法,其特征在于,所述步骤2)包括:
    步骤201)、一节点收到路由请求分组CCN_RREQ;
    步骤202)、该节点检查该路由请求分组CCN_RREQ是否是本节点自己发出的,即路由请求分组CCN_RREQ中的请求源节点是否是本节点,如果是,执行下一步,否则转步骤204);
    步骤203)、丢弃该路由请求分组CCN_RREQ,结束操作;
    步骤204)、节点检查所接收到的路由请求分组CCN_RREQ是否在之前已经接收过, 如果是,执行步骤203),否则,执行下一步;
    步骤205)、节点检查自身的缓存表中是否存在路由请求分组CCN_RREQ所请求的内容,如果是,该节点为内容提供者,执行下一步,否则转步骤207);
    步骤206)、向发出路由请求分组CCN_RREQ的节点回复路由应答分组CCN_RREP;
    步骤207)、节点查看路由表中是否存在路由请求分组CCN_RREQ所请求内容的有效路径所对应的条目,如果是,执行步骤206),否则执行下一步;
    步骤208)、缓存并广播该路由请求分组CCN_RREQ。
  4. 根据权利要求1或2所述的内容中心网络按需距离矢量路由方法,其特征在于,所述步骤3)包括:
    步骤301)、一节点收到路由应答分组CCN_RREP;
    步骤302)、节点判断自身的路由表中是否保存有从本节点到目标hash的有效路由,如果是,执行下一步,否则,转步骤307);其中,所述目标hash是指路由应答分组CCN_RREP中所包含内容的hash值;有效路由是指路由条目的有效期没有超时的路由;
    步骤303)、节点判断自身的路由表中是否有相同内容提供者的到路由应答分组CCN_RREP中内容目标的有效路由,如果是,执行下一步,否则,转步骤306);
    步骤304)、比较路由表中相应路由条目的目的节点序列号和路由应答分组CCN_RREP中的目的节点序列号,如果路由应答分组CCN_RREP中的目的节点序列号较新,转步骤307),否则,执行下一步;
    步骤305)、若路由应答分组CCN_RREP中的目的节点序列号与路由表中相应路由条目的目的节点序列号相同但跳数更少,则执行步骤307),否则转步骤308);
    步骤306)、判断路由表中该内容的多路径表项是否已经饱和,如果是,转步骤308),否则,执行下一步;
    步骤307)、增加或者更新相应的路由条目,根据CCN的Intesrst表,向上一跳节点转发路由应答分组CCN_RREP,结束操作;
    步骤308)、丢弃路由应答分组CCN_RREP,结束操作。
  5. 根据权利要求2所述的内容中心网络按需距离矢量路由方法,其特征在于,所述步骤4)包括:
    步骤401)、路由是否失效由路径上目的节点的上一跳节点检测;如果节点在转发兴趣分组时发现自己到内容提供者的距离为1,则该节点为目的节点的上一跳节点,该节点在发送兴趣分组时启动超时定时器;
    步骤402)、如果超时定时器已经超时,但是所述目的节点的上一跳节点并没有按照预期收到由对应内容提供者发送的数据分组,则该节点判断此路径已经失效;
    步骤403)、所述目的节点的上一跳节点将对应路径标记为失效,并向对应路径的自己的上一跳节点发送CCN_RRER分组,通知上一跳节点此路径已经失效;
    步骤404)、节点收到CCN_RRER分组后,首先查看有没有对应内容提供者的有效路径,如果有,将对应路径标记为失效,并向对应路径的上一跳节点发送CCN_RRER分组,通知该节点此路径已经失效,如果没有,丢弃该CCN_RRER分组。
PCT/CN2014/093490 2014-09-23 2014-12-10 一种内容中心网络按需距离矢量路由方法 WO2016045199A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/513,561 US20170302563A1 (en) 2014-09-23 2014-12-10 Content-centric network on-demand distance vector route method
EP14902333.5A EP3200404B1 (en) 2014-09-23 2014-12-10 Content-centric network on-demand distance vector route method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410492153.2A CN105515980B (zh) 2014-09-23 2014-09-23 一种内容中心网络按需距离矢量路由方法
CN201410492153.2 2014-09-23

Publications (1)

Publication Number Publication Date
WO2016045199A1 true WO2016045199A1 (zh) 2016-03-31

Family

ID=55580190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/093490 WO2016045199A1 (zh) 2014-09-23 2014-12-10 一种内容中心网络按需距离矢量路由方法

Country Status (4)

Country Link
US (1) US20170302563A1 (zh)
EP (1) EP3200404B1 (zh)
CN (1) CN105515980B (zh)
WO (1) WO2016045199A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598398A (zh) * 2022-02-22 2022-06-07 中国船舶重工集团公司第七一五研究所 基于自适应重传的水声网络数据传输方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708381B2 (en) * 2015-12-16 2020-07-07 Telefonaktiebolaget Lm Ericsson (Publ) Information centric popular content broadcasting
CN106792975B (zh) * 2016-12-09 2020-04-10 南京理工大学 基于距离估计的aodv路由协议优化方法
CN106792965B (zh) * 2016-12-16 2019-07-30 中国电子科技集团公司第五十四研究所 车队行进场景下的路由寻路方法
US20190199633A1 (en) * 2017-12-27 2019-06-27 Futurewei Technologies, Inc. Method and apparatus for forwarding in information centric networking
US10917328B2 (en) * 2019-06-27 2021-02-09 Intel Corporation Routing updates in ICN based networks
CN113660162B (zh) * 2021-08-09 2024-04-09 陕西悟空云信息技术有限公司 一种临近缓存感知的半集中式路由方法及其系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2562978A1 (en) * 2011-08-12 2013-02-27 Alcatel Lucent Content router of a content centric network
CN103595637A (zh) * 2013-10-27 2014-02-19 西安电子科技大学 基于树与哈希表的内容中心网络结点处理数据方法
CN103841099A (zh) * 2012-11-26 2014-06-04 三星电子株式会社 用于对内容名称进行加密的系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101263689B (zh) * 2005-07-20 2012-01-11 发尔泰公司 用于网状网络的按需路由选择协议的路由优化的系统和方法
CN100391204C (zh) * 2005-12-23 2008-05-28 上海大学 轻量级自组网按需距离矢量路由的建立方法
CN102036337B (zh) * 2010-12-15 2013-02-27 山东大学 基于改进aodv协议的通信方法
CN102271380B (zh) * 2011-09-02 2013-10-16 中山大学 Ad hoc网络基于博弈论的按需距离矢量路由建立方法
CN102271378B (zh) * 2011-09-14 2014-06-11 中国矿业大学 一种基于自组织网按需距离矢量协议的路由方法
CN102340840B (zh) * 2011-10-19 2014-06-04 北京握奇数据系统有限公司 一种建立路由的方法、装置及节点
US8762570B2 (en) * 2012-02-21 2014-06-24 Futurewei Technologies, Inc. Method and apparatus for adaptive forwarding strategies in content-centric networking

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2562978A1 (en) * 2011-08-12 2013-02-27 Alcatel Lucent Content router of a content centric network
CN103841099A (zh) * 2012-11-26 2014-06-04 三星电子株式会社 用于对内容名称进行加密的系统
CN103595637A (zh) * 2013-10-27 2014-02-19 西安电子科技大学 基于树与哈希表的内容中心网络结点处理数据方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3200404A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598398A (zh) * 2022-02-22 2022-06-07 中国船舶重工集团公司第七一五研究所 基于自适应重传的水声网络数据传输方法
CN114598398B (zh) * 2022-02-22 2023-12-22 中国船舶重工集团公司第七一五研究所 基于自适应重传的水声网络数据传输方法

Also Published As

Publication number Publication date
CN105515980A (zh) 2016-04-20
US20170302563A1 (en) 2017-10-19
EP3200404A1 (en) 2017-08-02
EP3200404B1 (en) 2018-05-23
CN105515980B (zh) 2018-05-22
EP3200404A4 (en) 2017-10-11

Similar Documents

Publication Publication Date Title
WO2016045199A1 (zh) 一种内容中心网络按需距离矢量路由方法
US10476793B2 (en) Multicast flow overlay using registration over a reliable transport
US10616063B1 (en) Stateless multicast in IP networks
JP5340062B2 (ja) ネットワーク中継装置およびネットワークシステム
RU2550151C2 (ru) Выбор маршрута в беспроводных сетях
US9681345B2 (en) Data transmission method for mobile receiver in publish/subscribe system
WO2018072704A1 (zh) 报文传输方法、装置、节点和计算机存储介质
US9660898B2 (en) Enhanced protocol independent multicast source registration over a reliable transport
US8243625B2 (en) Systems and methods for implementing multi-topology support for label distribution protocol (LPD) of a multiprotocol label switching network
WO2010139115A1 (zh) 多个汇聚节点共同处理移动组播源组播业务的方法及装置
US9755962B2 (en) Reducing link state protocol traffic during graceful restart
WO2011044828A1 (zh) 一种路由撤销的方法、装置和系统
CN110752997B (zh) 一种数据包主动寻路的命名数据网络转发方法
WO2016086713A1 (zh) 一种等价多路径的出接口更新方法及装置
WO2009117948A1 (zh) 网络拓扑变化的通告方法及装置
US7848329B2 (en) Handoffs in hierarchical mobility label-based network
CN103974365A (zh) 一种Ad Hoc移动网络路由修复方法
EP3166263B1 (en) Routing calculation method and device for trill isis
WO2011150835A1 (zh) 一种请求获取路由信息的方法和相应的路由设备
US20220166708A1 (en) Method and apparatus for selecting packet path to support producer mobility in information-centric networking
US20160149979A1 (en) Interworking between first protocol entity of stream reservation protocol and second protocol entity of routing protocol
JP2009124303A (ja) アドホックネットワークにおけるメッセージ転送方法
Cucor et al. Properties of topology based data routing protocols for vehicular ad-hoc networks
US20230090204A1 (en) Signaling configuration method and apparatus for bier network, and storage medium
RU2405282C2 (ru) Выбор маршрута в беспроводных сетях

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14902333

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2014902333

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014902333

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15513561

Country of ref document: US