WO2016058263A1 - 一种基于内容的路由方法和系统 - Google Patents
一种基于内容的路由方法和系统 Download PDFInfo
- Publication number
- WO2016058263A1 WO2016058263A1 PCT/CN2014/093966 CN2014093966W WO2016058263A1 WO 2016058263 A1 WO2016058263 A1 WO 2016058263A1 CN 2014093966 W CN2014093966 W CN 2014093966W WO 2016058263 A1 WO2016058263 A1 WO 2016058263A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- routing
- router
- content
- nrc
- node
- Prior art date
Links
Images
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/02—Topology update or discovery
-
- 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/12—Shortest path evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- 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/02—Topology update or discovery
- H04L45/03—Topology update or discovery by updating link state protocols
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/42—Centralised 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/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
- H04L45/742—Route cache; Operation thereof
Definitions
- the present invention relates to the field of Internet, and in particular, to a content-based routing method and system.
- SDN Software Defined Network
- Router Router
- the other is content-centric network CCN (Content Centric Networking), that is, the network is content-centric, unlike the host-centric current Internet.
- CCN marks each content by content name.
- the CCN utilizes the internal buffering of the network device to decouple the sender and receiver of the content in time and space, and is better able to adapt to today's network characteristics (content distribution, mobility, etc.).
- PARC Palo Alto Research Center
- CCNx has two types of packages: the Interest package and the Data package.
- the Interest packet is broadcasted, and each routing node searches and returns the Data packet corresponding to the "name" according to the "longest prefix” according to the "name” of the Interest packet, and is completed by three key data structures on the router node.
- Packet forwarding is the Content Store, the Pending Interest Table (PIT) and the Routing Forwarding Table FIB.
- CCNx itself does not have an integrated routing protocol.
- Memphis University, Arizona State University, and UCLA jointly developed a routing protocol for CCNx: the Named Data Link State Routing Protocol (NLSR).
- NLSR Named Data Link State Routing Protocol
- the NLSR uses a distributed routing algorithm to calculate the entire network topology and routing at each routing node and save the content prefix of the entire network.
- the disadvantages are as follows: the number of content name prefixes is much higher than the number of IP addresses, and it continues to expand at a high speed, and each NLSR router attempts to create a FIB table that covers the entire network, which is up to 10 9 in size. A large number of storage resources that cannot be solved are required.
- Each NLSR-enabled router needs to perform LSDB synchronization, network-wide topology discovery, and route calculation. As the routing table expands, each router performs LSDB synchronization to occupy excessive bandwidth. The routing calculation consumes too many computing resources of the router; in fact, the entire network topology is unique at a certain time, and each router independently implements the discovery and routing calculation of the entire network topology, resulting in a certain degree of computational redundancy.
- the present invention provides a content-based routing method and system, which solves the problem that a router needs a large amount of storage resources that cannot be solved in reality in the prior art, and computational resources and computationally redundant calculations that are too expensive for route calculation. The rest of the problem.
- the invention provides a content-based routing method, comprising the following steps: (A) controller name routing system NRC for routing topology discovery and maintenance, centralized routing calculation and routing information query; (B) forwarding information table FIB caching activity Routing information; (C) The controller name routing system NRC obtains the routing node's query information and updates the forwarding information table FIB.
- the controller name routing system NRC obtains the link state advertisement LSAs from the routing node
- the content of the LSAs is added to the link state database LSDB, and the NRC is based on the LSDB.
- the neighbor link state advertisements ALSAs establish a network-wide topology and calculate routes, and then establish an element hash list for each router to associate the content name prefix link state advertisement NLSAs with the neighbor link state advertisement ALSAs.
- step (A) after the NRC establishes the entire network topology, the multi-source shortest path is calculated, and the corresponding partial routing information base RIB table is returned to each routing node; the FIB entry is delivered to collect The form is sent back to the routing node, which contains the router and content name prefix of the entire network. Each router re-installs the FIB table. If the number of entries is greater than a certain threshold, the partial entry is taken as the FIB table of the routing node. .
- the routing node issues its own link state advertisement LSAs and sends an Info Interest Packet to the directly connected router to obtain link state information.
- the step (C) further includes the processing step when the routing node receives the Interest packet: (C1) searching for the content CS cache: the matching request content is found to send the content to the request port; otherwise, Forward to the pending table PIT lookup; (C2) look up the PIT table: If there is an Interest match in the PIT, it means that a same Interest message has been forwarded and waiting, the port where the new Interest message arrived is added to the PIT; otherwise Further search for the FIB table; (C3) look up the FIB table: if a next hop route matching the interest packet is found in the FIB table, forward the interest packet to the next router, and add a message waiting for the interest packet request in the PIT table; Otherwise, the query command is sent to the NRC to query; (C4) to find the RIB table: the NRC searches for the corresponding FIB entry according to its own RIB table, and returns it to the routing node.
- C1 searching for the content CS cache: the matching request content is found to send the
- Recursive definition as follows:
- step (C) two threads are implemented in the process of the routing node, one thread is responsible for detecting and collecting the link state, and establishing a local LSDB; one thread is responsible for receiving the FIB entries issued by the NRC and installation.
- the routing node only maintains the link state with the directly connected router.
- the NRC manages the entire network routing, and each router adopts a lookup-and-cache method.
- the invention also provides a content-based routing system, comprising a controller name routing system NRC and a plurality of routing nodes connected thereto;
- the controller name routing system NRC is responsible for routing topology discovery and maintenance, centralized routing calculation and routing information Query; two threads are implemented in the process in the routing node, one thread is responsible for detecting and collecting the link state, and establishing a local LSDB; one thread is responsible for receiving and installing the FIB entries published by the controller; the NRC is also responsible for collecting the LSDBs of each router and calculating Route and deliver routing entries; the routing node maintains only the link state with the directly connected router.
- the invention has the beneficial effects that the mechanism can effectively solve the problem that the routing table of the router is too large; each router node in the invention only needs to maintain the link state of the router directly connected to it, and does not need to synchronize the link of the entire network.
- the state reduces the large amount of bandwidth consumed by the link state of the router.
- the NRC is responsible for topology discovery and route calculation of the entire network, which can effectively reduce computing resource redundancy and improve efficiency.
- FIG. 1 is a schematic diagram of a Lookup-and-Cache mechanism in a content-based routing method of the present invention.
- FIG. 2 is a schematic block diagram of a content based routing system of the present invention.
- 3 is a flow chart showing the implementation of the functions of the router and controller of the present invention.
- Figure 1 shows our proposed Lookup-and-Cache concept and application examples.
- NRC Name Routing Center
- FIB Forwarding Information Base
- NRC Name Routing Center
- FIB Forwarding Information Base
- the node N1 receives the interest packet "icn.com/video/chunk1"
- the FIB of the node lacks relevant routing information
- the N1 node first temporarily saves the interest packet to the information queue; and sends a routing information query to the remote NRC system. Request; finally, the routing information is inserted into the replacement or replacement of the old routing information in the FIB; and the fully loaded FIB entry is replaced by the ITO Inactivity Time Out and LRU Least Recently Used replacement algorithms.
- the routing node process reads the configuration file when the router starts, and obtains the configuration of the router name, content name prefix, direct router name, and link cost;
- the routing node advertises its own ALSA and NLSAs (collectively referred to as LSAs), and sends an Info Interest Packet to the directly connected router to obtain link state information.
- LSAs ALSA and NLSAs
- the router issues LSAs to the NRC, and the NRC establishes a network-wide LSDB according to the LSAs of the routers;
- the NRC calculates the routing information based on the LSDB information, stores it in the RIB, and then extracts the FIB information of each routing node and sends it to the corresponding routing node.
- the controller name routing system NRC is responsible for routing topology discovery and maintenance, centralized routing calculation and routing information query; the routing node implements two threads in the process, and one thread is responsible for detecting and collecting link status.
- a local LSDB is set up; one thread is responsible for receiving and installing the FIB entries advertised by the controller; the NRC is also responsible for collecting the LSDBs of each router, calculating routes, and delivering routing entries; the routing node only maintains the link state with the directly connected router.
- the routing node adopts hierarchical naming.
- Each router is named according to its network and a custom router name, namely: / ⁇ network>/ ⁇ site>/ ⁇ router>.
- the router S1 of Peking University Shenzhen graduate School A217 can Named /pkusz.edu/A217/S1;
- the routing node process is named after the router name, ie / ⁇ network>/ ⁇ site>/ ⁇ router>/FARI. This name prefix is used in the info message between the routers to discover link failures and periodic communication.
- the LSA starts with / ⁇ network>/ ⁇ site>/ ⁇ router>/FARI/LSA to explicitly indicate the router generated by the LSA.
- the LSA name prefix is defined as / ⁇ LSA-Prefix>.
- NLSR to define the ALSA and NLSA contents as shown in Table 1.
- the format of each ALSA is / ⁇ LSA-prefix>/LsType.1/ ⁇ version>; the NLSA format is / ⁇ LSA-prefix>/LsType.2/LsId. ⁇ ID>/ ⁇ version>.
- ⁇ version> represents a different version of the LSA.
- the configuration file is read when the router starts.
- the configuration commands are shown in Table 2.
- the routing node connects to the local CCND, and registers ⁇ router-name>/fari to CCND, so that the interest packet requesting ⁇ route-name>/fari from CCND is forwarded to the routing node process for processing.
- the routing node sends the info interest packet to all directly connected routers. If the routing node receives a response from the direct router to info, the status field of the neighbor becomes "Active”; if the sending timeout (determined by "interest-resend-time"), the "interest-resend” is resent, and no The response changes to "Down".
- the direct router that receives the info interest packet is returned with the content containing its own LSDB version and the info information version.
- the router reads the NPL and establishes the NLSA and adds it to its own LSDB.
- the entry in the ADL with the status field "Active" is added to the ALSA and installed in the LSDB.
- Each routing node sends the LSAs to the NRC when the LSA is updated, and the NRC performs the corresponding action.
- the routing node After the routing node receives the npt_entry, it connects CCND to change the FIB table. Reinstall the FIB table each time you update your npt_entry entry.
- the function of sending the info packet is to detect whether the link is disconnected.
- the routing node updates the ADL and ALSA and sends them to the NRC when disconnected and reconnected.
- the NSA adds the contents of the LSAs to the LSDB.
- the NRC establishes the entire network topology and calculates routes based on the ALSAs in the LSDB.
- a hash list of npt_entry elements is created for each router to associate the NLSAs with the ALSAs.
- Table 7 shows an npt_entry entry for /ndn/pkusz.edu/s1, the Adjacent Router indicates the name of the directly connected router, the Name List indicates the content name prefix issued by the directly connected router, and the Face List indicates the router to the direct router. Face and routing overhead.
- the Freud algorithm is used to calculate the multi-source shortest path, and the corresponding partial RIB table is returned to each routing node through the extended OpenFlow protocol.
- the delivered FIB entry is sent back to the routing node in the form of a set of npt_entry.
- the set already contains the router and content name prefix of the entire network, and each router reinstalls the FIB table according to npt_entry. If the number of entries is greater than a certain threshold, a partial entry is taken as the FIB table of the routing node.
- the NRC obtains LSAs from each router to establish a network-wide LSDB.
- the ALSA contains link information from one router to another. Therefore, a matrix W can be established, Wij represents the link cost of the router i to the router j, and the shortest path and the next hop of any two points can be calculated by using the Freud algorithm. The route is recalculated each time ALSA changes.
- One thread is responsible for detecting and collecting the link status and establishing a local LSDB.
- One thread is responsible for receiving and installing the FIB entries published by the controller.
- the controller collects the LSDBs of each router, calculates routes, and delivers routing entries.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及互联网领域,其公开了一种基于内容的路由方法,包括以下步骤:(A)控制器名字路由系统NRC进行路由拓扑发现和维护、集中式路由计算和路由信息查询;(B)转发信息表FIB缓存活动路由信息;(C)控制器名字路由系统NRC获取路由节点的查询信息并更新转发信息表FIB。本发明的有益效果是:本机制能有效解决路由器端路由表过大的问题;减少路由器链路状态同步消耗的大量带宽;能有效减少计算资源冗余,提高效率。
Description
本发明涉及互联网领域,尤其涉及一种基于内容的路由方法和系统。
未来网络发展有两个方向,一是软件定义网络SDN(Software Defined Network)——由美国斯坦福大学Clean Slate研究组提出的一种新型网络创新架构,其核心为将传统交换机(路由器)设备进行“拆分”:传统的交换机功能由最底层的流量转发,以及更高级的其他处理功能(如网管控制、负载均衡等)这两部分组成,而SDN剥离了交换机除转发之外的所有高级处理功能,并且将这部分高级处理功能移到“控制器”中,实现控制面与转发面分离。
另一个是以内容为中心的网络CCN(Content Centric Networking),即网络以内容为中心,而不同于以主机为中心的当前因特网。CCN通过内容名字标志每一个内容。对网络来说,其中流动的都是有名字的内容,网络能区分每一个内容,而其作用是管理所有内容的流动,并用正确的内容相应内容请求者。CCN利用网络设备内部缓存在时间和空间上解耦了内容的发送者和接收者,能更好地适应今天的网络特征(内容分发、移动等)。美国帕洛阿托研究中心(PARC,Palo Alto Research Center)于2009年研究开发了CCN的一种实现CCNx。CCNx通信由内容消费者驱动,数据以“块”为单位进行传输。CCNx有两种包类型:Interest包和Data包。当消费者需要请求内容时,广播Interest包,各路由节点根据Interest包“名字”按照最长前缀匹配查找并返回该“名字”所对应的Data包,在路由器节点上由三个关键数据结构完成包转发,分别是内容缓存(Content Store)、等待兴趣表PIT(Pending Interest Table)和路由转发表FIB。
CCNx本身并没有集成路由协议。美国孟菲斯大学、亚利桑那州立大学及加州大学洛杉矶分校为CCNx共同开发了一个路由协议:命名数据链路状态路由协议(NLSR)。NLSR作为CCNx自治域内路由协议,采用分布式路由算法在每个路由节点计算全网拓扑和路由并保存全网内容名字前缀。其缺点如下:内容名字前缀的数量远远高于IP地址的数量,且不断地高速扩张,而每个NLSR路由器试图建立一张囊括全网的FIB表,其规模可达109量级,这需要大量甚至实际无法解决的存储资源;每个支持NLSR的路由器需要完成LSDB同步、全网拓扑发现和路由计算的功能,而随着路由表的扩张,每个路由器进行LSDB同步占用过大的带宽,且路由计算花费路由器过多的计算资源;实际上全网拓扑在某一个时刻是唯一的,每个路由器独立地实现全网拓扑的发现和路由计算,造成一定程度的计
算冗余。
【发明内容】
为了解决现有技术中的问题,本发明提供了一种基于内容的路由方法和系统,解决现有技术中路由器需要大量甚至实际无法解决的存储资源、路由计算花费过多的计算资源和计算冗余的问题。
本发明提供了一种基于内容的路由方法,包括以下步骤:(A)控制器名字路由系统NRC进行路由拓扑发现和维护、集中式路由计算和路由信息查询;(B)转发信息表FIB缓存活动路由信息;(C)控制器名字路由系统NRC获取路由节点的查询信息并更新转发信息表FIB。
作为本发明的进一步改进:所述步骤(A)中,控制器名字路由系统NRC从路由节点上获取到链路状态通告LSAs之后,将LSAs的内容加入到链路状态数据库LSDB中,NRC根据LSDB中的邻居链路状态通告ALSAs建立全网拓扑和计算路由,而后对每个路由器建立一个元素的哈希链表,用以将内容名字前缀链路状态通告NLSAs和邻居链路状态通告ALSAs对应起来。
作为本发明的进一步改进:所述步骤(A)中,NRC建立全网拓扑之后计算多源最短路径,并将对应的部分路由信息库RIB表返回给各个路由节点;下发FIB表项以集合的形式发回给路由节点,该集合包含了全网的路由器和内容名字前缀,各个路由器重新安装FIB表;如果表项数量大于某个设定阈值,则取部分表项作为路由节点的FIB表。
作为本发明的进一步改进:路由节点发布自身链路状态通告LSAs,并向直连路由器发送Info兴趣包获取链路状态信息。
作为本发明的进一步改进:所述步骤(C)中进一步包括路由节点收到Interest包时的处理步骤:(C1)查找内容CS缓存:发现匹配的请求内容则发送该内容到请求端口,否则,转发给悬而未决表PIT查找;(C2)查找PIT表:若PIT中有一个Interest匹配的,意味着一个相同的Interest消息已经被转发并正在等待,新Interest消息到达的端口被添加到PIT中;否则进一步查找FIB表;(C3)查找FIB表:若FIB表中找到匹配此兴趣包的下一跳路由,转发此兴趣包到下一条路由器,并在PIT表中添加此兴趣包请求等待的消息;否则,发送查询命令向NRC查询;(C4)查找RIB表:NRC根据自己的RIB表查找对应FIB表项,并返回给路由节点。
作为本发明的进一步改进:所述步骤(A)中路由计算具体为:NRC从各个路由器获取LSAs建立全网LSDB,ALSA包含了一个路由器到另一个路由器的链路信息,建立一个矩阵W,Wij表示路由器i到路由器j的链路开销,运用弗洛伊德算法即可算出任何两
点的最短路径及下一跳,每次ALSA改变时都会重新计算路由,设为从节点i到j的所有中间节点全部取自集合{1,2,…,k}的一条最短路径权重。当k=0时,从节点i到节点j的一条不包括编号大于0的中间节点的路径将没有任何中间节点,递归定义如下:
作为本发明的进一步改进:所述步骤(C)中,路由节点的进程中实现两个线程,一个线程负责检测、收集链路状态,建立本地LSDB;一个线程负责接收NRC发布的FIB表项并安装。
作为本发明的进一步改进:路由节点仅仅维护与直连路由器的链路状态。
作为本发明的进一步改进:NRC管理全网路由,各个路由器采用lookup-and-cache方式。
本发明同时提供了一种基于内容的路由系统,包括控制器名字路由系统NRC和与之连接的多个路由节点;控制器名字路由系统NRC负责路由拓扑发现和维护、集中式路由计算和路由信息查询;路由节点中的进程中实现两个线程,一个线程负责检测、收集链路状态,建立本地LSDB;一个线程负责接收控制器发布的FIB表项并安装;NRC同时负责收集各路由器LSDB、计算路由和下发路由表项;所述路由节点仅仅维护与直连路由器的链路状态。
本发明的有益效果是:本机制能有效解决路由器端路由表过大的问题;本发明中的每个路由器节点只需维护与其直接相连路由器的链路状态,而不需要同步全网的链路状态,减少路由器链路状态同步消耗的大量带宽;本发明由NRC负责全网拓扑发现和路由计算,能有效减少计算资源冗余,提高效率。
图1是本发明基于内容的路由方法中的Lookup-and-Cache机制示意图。
图2是本发明基于内容的路由系统的示意框图。
图3是本发明路由器、控制器功能实现流程图。
下面结合附图说明及具体实施方式对本发明进一步说明。
一些网络术语的定义:
图1给出了我们所提出的Lookup-and-Cache概念以及应用实例。以下是对图所做的一些说明:a)名字路由系统(Name Routing Center、NRC)负责路由拓扑发现和维护、集中式路由计算和路由查询服务;b)转发信息表(Forwarding Information Base、FIB)作为路由转发的缓存,只缓存活动路由表部分;c)当一个路由节点缺乏路由信息时,它将会向NRC查询路径。当节点N1收到兴趣包“icn.com/video/chunk1”时,如果该节点的FIB缺少相关路由信息,N1节点首先将兴趣包暂时保存到信息队列中;向远端NRC系统发出路由信息查询请求;最后将查询到路由信息插入或替换FIB中旧的路由信息;对满载的FIB条目则使用不活跃超时(ITO Inactivity Time Out)和最近最少使用(LRU Least Recently Used)替换算法进行替换。
进一步为:
1)路由器启动时路由节点进程读取配置文件,获取路由器名字、内容名字前缀、直连路由器名字和链路开销等配置;
2)路由节点发布自身ALSA和NLSAs(统称LSAs),向直连路由器发送Info兴趣包获取链路状态信息;
3)路由器向NRC发布LSAs,NRC根据各个路由器的LSAs建立全网LSDB;
4)NRC根据LSDB信息采用计算路由信息,存储于RIB中,然后提取其中各路由节点的FIB信息并下发给相应的路由节点。
5)NBCR路由机制,当路由节点收到Interest包时:
a)查找内容CS缓存:发现匹配的请求内容则发送该内容到请求端口,否则,转发给PIT查找;
b)查找PIT表:若PIT中有一个Interest匹配的,意味着一个相同的Interest消息
已经被转发并正在等待,新Interest消息到达的端口被添加到PIT中;否则进一步查找FIB表;
c)查找FIB表:若FIB表中找到匹配此兴趣包的下一跳路由,转发此兴趣包到下一条路由器,并在PIT表中添加此兴趣包请求等待的消息;否则,发送查询命令向NRC查询;
d)查找RIB表:NRC根据自己的RIB表查找对应FIB表项,并通过扩展的OpenFlow协议返回给路由节点。
6)当收到Data包时,当数据包到达时,先对数据包的Content Name字段进行最长前缀匹配,先在Content Store中匹配(如果有,则丢弃),没有匹配再在PIT中匹配条目,如果有,转发到请求者,然后缓存在Content Store,如果没有匹配则丢弃。
如图2为总体框图,控制器名字路由系统NRC负责路由拓扑发现和维护、集中式路由计算和路由信息查询;路由节点中的进程中实现两个线程,一个线程负责检测、收集链路状态,建立本地LSDB;一个线程负责接收控制器发布的FIB表项并安装;NRC同时负责收集各路由器LSDB、计算路由和下发路由表项;所述路由节点仅仅维护与直连路由器的链路状态。
以下定义一种实现的主要数据包格式:
表2 配置命令
表3 ALSA包头
表4 NLSA包头
表5 ALSA主文
表6 NLSA主文
一、命名:
路由节点采用分层命名,每个路由器根据它所在网络和一个自定义的路由器名字命名,也即:/<network>/<site>/<router>,例如:北大深圳研究生院A217的路由器S1可以命名为/pkusz.edu/A217/S1;
路由节点进程命名在路由器名字后,也即/<network>/<site>/<router>/FARI。本名字前缀用于路由器之间发现链接失效、周期通信的info消息之中。
LSA以/<network>/<site>/<router>/FARI/LSA开头来明确地表明LSA产生的路由器。暂且将LSA的名字前缀定义为/<LSA-Prefix>,我们同样采用NLSR对ALSA和NLSA内容如表1所示的定义。每条ALSA的格式为/<LSA-prefix>/LsType.1/<version>;NLSA格式为/<LSA-prefix>/LsType.2/LsId.<ID>/<version>。<version>代表LSA的不同版本。
二、通信
我们具体阐述路由器与路由器之间、路由器与控制器之间的通信流程。
路由器端:
启动路由器时:
路由器启动时读取配置文件,配置命令如表2所示。读取之后设置路由器名字,创建直连邻居表(ADL),内容名字前缀表(NPL)和其他设置。路由节点连接本地CCND,注册<router-name>/fari到CCND,使得向CCND请求<route-name>/fari的兴趣包转给路由节点进程处理。
更新直连邻居表:
路由节点发送info兴趣包给所有直连路由器。如果路由节点收到直连路由器对info的回应,该邻居的状态字段变为“Active”;如果发送超时(由“interest-resend-time”决定)则重新发送“interest-resend”次,再无响应则状态变为“Down”。收到info兴趣包的直连路由器以包含自身的LSDB版本和info信息版本的内容返回。
LSA初始化:
路由器读取NPL建立NLSA并加入到自身LSDB中,读取ADL中状态字段为“Active”的项加入到ALSA中并安装到LSDB。
LSDB同步:
每个路由节点更新LSA时候向NRC发送该LSAs,NRC做相应动作。
FIB创建:
路由节点收到npt_entry之后,连接CCND更改FIB表。每次更新自身npt_entry项的时候都重新安装FIB表。
链路断开重连检测:
更新直连邻居表的时候发送info兴趣包的作用即检测链路是否断开。断开和重连时路由节点会更新ADL和ALSA并发送给NRC。
NRC端:
NRC从路由节点上获取到LSAs之后,将LSAs的内容加入到LSDB中,NRC根据LSDB中的ALSAs建立全网拓扑和计算路由。而后对每个路由器建立一个元素为npt_entry的哈希链表,用以将NLSAs和ALSAs对应起来。表7展示/ndn/pkusz.edu/s1的一个npt_entry表项,Adjacent Router表示直连路由器名字,Name List表示通过该直连路由器发布的内容名字前缀,Face List表示本路由器到该直连路由器的Face和路由开销。
表7:npt_entry表项
NRC建立全网拓扑之后采用弗洛伊德算法计算多源最短路径,并将对应的部分RIB表通过扩展的OpenFlow协议返回给各个路由节点。下发FIB表项以npt_entry集合的形式发回给路由节点,此时该集合已经包含了全网的路由器和内容名字前缀,各个路由器根据npt_entry重新安装FIB表。如果表项数量大于某个设定阈值,则取部分表项作为路由节点的FIB表。
路由计算:
NRC从各个路由器获取LSAs建立全网LSDB,ALSA包含了一个路由器到另一个路由器的链路信息。因此可以建立一个矩阵W,Wij表示路由器i到路由器j的链路开销,运用弗洛伊德算法即可算出任何两点的最短路径及下一跳。每次ALSA改变时都会重新计算路由。
FLOYD-WARSHALL算法是一种动态规划算法。设为从节点i到j的所有中间节点全部取自集合{1,2,…,k}的一条最短路径权重。当k=0时,从节点i到节点j的一条不包括编号大于0的中间节点的路径将没有任何中间节点,因此,递归定义如下:
如图3所示,我们在路由节点进程中实现两个线程,一个线程负责检测、收集链路状态,建立本地LSDB;一个线程负责接收控制器发布的FIB表项并安装。控制器负责收集各路由器LSDB、计算路由和下发路由表项。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
- 一种基于内容的路由方法,其特征在于:包括以下步骤:(A)控制器名字路由系统NRC进行路由拓扑发现和维护、集中式路由计算和路由信息查询;(B)转发信息表FIB缓存活动路由信息;(C)控制器名字路由系统NRC获取路由节点的查询信息并更新转发信息表FIB。
- 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(A)中,控制器名字路由系统NRC从路由节点上获取到链路状态通告LSAs之后,将LSAs的内容加入到链路状态数据库LSDB中,NRC根据LSDB中的邻居链路状态通告ALSAs建立全网拓扑和计算路由,而后对每个路由器建立一个元素的哈希链表,用以将内容名字前缀链路状态通告NLSAs和邻居链路状态通告ALSAs对应起来。
- 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(A)中,NRC建立全网拓扑之后计算多源最短路径,并将对应的部分路由信息库RIB表返回给各个路由节点;下发FIB表项以集合的形式发回给路由节点,该集合包含了全网的路由器和内容名字前缀,各个路由器重新安装FIB表;如果表项数量大于某个设定阈值,则取部分表项作为路由节点的FIB表。
- 根据权利要求1所述的基于内容的路由方法,其特征在于:路由节点发布自身链路状态通告LSAs,并向直连路由器发送Info兴趣包获取链路状态信息。
- 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(C)中进一步包括路由节点收到Interest包时的处理步骤:(C1)查找内容CS缓存:发现匹配的请求内容则发送该内容到请求端口,否则,转发给悬而未决表PIT查找;(C2)查找PIT表:若PIT中有一个Interest匹配的,意味着一个相同的Interest消息已经被转发并正在等待,新Interest消息到达的端口被添加到PIT中;否则进一步查找FIB表;(C3)查找FIB表:若FIB表中找到匹配此兴趣包的下一跳路由,转发此兴趣包到下一条路由器,并在PIT表中添加此兴趣包请求等待的消息;否则,发送查询命令向NRC查询;(C4)查找RIB表:NRC根据自己的RIB表查找对应FIB表项,并返回给路由节点。
- 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(C)中,路由节点的进程中实现两个线程,一个线程负责检测、收集链路状态,建立本地LSDB;一个线程负责接收NRC发布的FIB表项并安装。
- 根据权利要求1所述的基于内容的路由方法,其特征在于:路由节点仅仅维护与直连路由器的链路状态。
- 根据权利要求1所述的基于内容的路由方法,其特征在于:NRC管理全网路由,各个路由器采用lookup-and-cache方式。
- 一种基于内容的路由系统,其特征在于:包括控制器名字路由系统NRC和与之连接的多个路由节点;控制器名字路由系统NRC负责路由拓扑发现和维护、集中式路由计算和路由信息查询;路由节点中的进程中实现两个线程,一个线程负责检测、收集链路状态,建立本地LSDB;一个线程负责接收控制器发布的FIB表项并安装;NRC同时负责收集各路由器LSDB、计算路由和下发路由表项;所述路由节点仅仅维护与直连路由器的链路状态。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480037521.2A CN105723666B (zh) | 2014-12-16 | 2014-12-16 | 一种基于内容的路由方法和系统 |
PCT/CN2014/093966 WO2016058263A1 (zh) | 2014-12-16 | 2014-12-16 | 一种基于内容的路由方法和系统 |
US15/161,275 US20160269272A1 (en) | 2014-12-16 | 2016-05-22 | Content-based routing method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/093966 WO2016058263A1 (zh) | 2014-12-16 | 2014-12-16 | 一种基于内容的路由方法和系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/161,275 Continuation-In-Part US20160269272A1 (en) | 2014-12-16 | 2016-05-22 | Content-based routing method and system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016058263A1 true WO2016058263A1 (zh) | 2016-04-21 |
Family
ID=55746018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/093966 WO2016058263A1 (zh) | 2014-12-16 | 2014-12-16 | 一种基于内容的路由方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160269272A1 (zh) |
CN (1) | CN105723666B (zh) |
WO (1) | WO2016058263A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11184240B2 (en) | 2015-07-10 | 2021-11-23 | Idac Holdings, Inc. | Path information updates in information-centric networking |
CN117560312A (zh) * | 2023-10-25 | 2024-02-13 | 中勍科技股份有限公司 | 一种基于交换机的自适应网络动态拓扑方法及装置 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9860350B2 (en) | 2015-05-12 | 2018-01-02 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—logical to physical topology discovery |
US10015053B2 (en) | 2015-05-21 | 2018-07-03 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—logical link aggregation (LAG) member signaling |
US10425319B2 (en) * | 2015-05-21 | 2019-09-24 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—zero configuration adjacency via packet snooping |
US20180062935A1 (en) * | 2016-08-25 | 2018-03-01 | Futurewei Technologies, Inc. | Hybrid approach with classification for name resolution and producer selection in icn |
EP3583767A4 (en) * | 2017-02-20 | 2020-01-08 | Telefonaktiebolaget LM Ericsson (publ) | Communication nodes and methods performed therein for handling packets in an information centric network |
CN110062045B (zh) * | 2017-06-29 | 2020-04-17 | 北京邮电大学 | 一种内容路由器的缓存方法及装置 |
CN109561355B (zh) * | 2017-09-27 | 2020-07-17 | 中国科学院声学研究所 | 一种ccn/ndn内容注册、内容位置解析和内容路由的系统及方法 |
CN107634813B (zh) * | 2017-09-30 | 2019-05-24 | 上海交通大学 | 信息中心智能电网中软件定义的全路径时间同步方法 |
CN109873762B (zh) * | 2017-12-05 | 2021-08-31 | 中国电信股份有限公司 | 路径调度方法、装置和计算机可读存储介质 |
CN113785542B (zh) * | 2019-02-15 | 2022-11-22 | 华为技术有限公司 | 用于内部网关协议(igp)快速收敛的系统和方法 |
CN109714270B (zh) * | 2019-03-07 | 2021-04-02 | 西安电子科技大学 | 基于事件触发的卫星路由负载均衡方法 |
CN111786976B (zh) * | 2020-06-22 | 2021-05-25 | 上海交通大学 | 一种ndn网络中基于路径聚合的兴趣包泛洪攻击检测系统 |
CN113259250B (zh) * | 2021-05-12 | 2022-05-20 | 北京邮电大学 | 基于星历的卫星链路状态数据库的更新方法和装置 |
CN114222007B (zh) * | 2022-02-22 | 2022-07-01 | 北京凌云创想科技有限公司 | 一种混合云通信方法和系统 |
CN115426308B (zh) * | 2022-11-08 | 2023-04-11 | 北京大学深圳研究生院 | 一种多标识网络下的链路状态路由方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638405A (zh) * | 2012-04-12 | 2012-08-15 | 清华大学 | 内容中心网络策略层的路由方法 |
CN103607412A (zh) * | 2013-12-04 | 2014-02-26 | 西安电子科技大学 | 基于树的内容中心网络多个兴趣包处理方法 |
EP2562978B1 (en) * | 2011-08-12 | 2014-10-08 | Alcatel Lucent | Content router of a content centric network |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6744775B1 (en) * | 1999-09-27 | 2004-06-01 | Nortel Networks Limited | State information and routing table updates in large scale data networks |
US8855014B2 (en) * | 2012-06-15 | 2014-10-07 | Cisco Technology, Inc. | Distributed stateful path computation element overlay architecture |
CN103118013B (zh) * | 2013-01-16 | 2015-12-23 | 西安电子科技大学 | 内容中心网络中数据包捎带反向兴趣包的方法 |
US9413634B2 (en) * | 2014-01-10 | 2016-08-09 | Juniper Networks, Inc. | Dynamic end-to-end network path setup across multiple network layers with network service chaining |
US9807004B2 (en) * | 2014-04-01 | 2017-10-31 | Google Inc. | System and method for software defined routing of traffic within and between autonomous systems with enhanced flow routing, scalability and security |
CN103888369B (zh) * | 2014-04-10 | 2019-02-05 | 广州市高科通信技术股份有限公司 | 以太网通信方法、系统和sdn交换机 |
-
2014
- 2014-12-16 WO PCT/CN2014/093966 patent/WO2016058263A1/zh active Application Filing
- 2014-12-16 CN CN201480037521.2A patent/CN105723666B/zh active Active
-
2016
- 2016-05-22 US US15/161,275 patent/US20160269272A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2562978B1 (en) * | 2011-08-12 | 2014-10-08 | Alcatel Lucent | Content router of a content centric network |
CN102638405A (zh) * | 2012-04-12 | 2012-08-15 | 清华大学 | 内容中心网络策略层的路由方法 |
CN103607412A (zh) * | 2013-12-04 | 2014-02-26 | 西安电子科技大学 | 基于树的内容中心网络多个兴趣包处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11184240B2 (en) | 2015-07-10 | 2021-11-23 | Idac Holdings, Inc. | Path information updates in information-centric networking |
CN117560312A (zh) * | 2023-10-25 | 2024-02-13 | 中勍科技股份有限公司 | 一种基于交换机的自适应网络动态拓扑方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105723666A (zh) | 2016-06-29 |
US20160269272A1 (en) | 2016-09-15 |
CN105723666B (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016058263A1 (zh) | 一种基于内容的路由方法和系统 | |
JP5960050B2 (ja) | レイヤー2ドメインにわたる負荷分散 | |
JP6047229B2 (ja) | 情報中心ネットワークにおける名前ベースの近隣探索及びマルチホップサービス探索 | |
WO2017096564A1 (zh) | 一种基于内容的集中式路由体系架构mccn | |
EP3697033B1 (en) | Method and device for forwarding information | |
WO2018006671A1 (zh) | 报文发送方法和装置、网络架构、计算机存储介质 | |
US9021132B2 (en) | Address translation method, address translation proxy response method, address translation device, and address translation proxy response device | |
US10554555B2 (en) | Hash-based overlay routing architecture for information centric networks | |
JP2016119665A (ja) | 情報指向ネットワーク内のリンクステート情報を用いて、名前ベースのコンテンツルーティングを効率的に行うシステムおよび方法 | |
WO2016086713A1 (zh) | 一种等价多路径的出接口更新方法及装置 | |
WO2009000200A1 (fr) | Procédé pour annoncer un message de parcours, procédé, système et dispositif pour router des paquets | |
JP2003209567A (ja) | パケット交換システム、パケット交換方法、ルーティング装置、パケットデータ及びその生成方法 | |
WO2011029322A1 (zh) | 名址映射系统、数据传输方法及名址映射维护方法 | |
WO2012006893A1 (zh) | 以太网组播的方法及装置 | |
WO2016023499A1 (zh) | 一种处理修改后的报文方法和装置 | |
KR20160018359A (ko) | 이름-기반 포워딩에서의 명시적 전략 피드백 | |
WO2008128468A1 (fr) | Procédé servant à traiter une publicité d'un état de liaison et un appareil d'acheminement | |
WO2020007073A1 (zh) | 一种信息中心网络虚拟化中内容缓存方法 | |
EP2991288B1 (en) | Method and device for determining next hop and distributing routing information | |
Li et al. | Mf-iot: A mobilityfirst-based internet of things architecture with global reach-ability and communication diversity | |
CN102647364B (zh) | Mesh网络路由方法、设备及系统 | |
CN115426308B (zh) | 一种多标识网络下的链路状态路由方法 | |
CN101577680B (zh) | 一种隧道路由信息的更新方法、装置及系统 | |
WO2017096565A1 (zh) | 一种集中式身份网络路由协议cin | |
Ma et al. | Source routing over protocol-oblivious forwarding for named data networking |
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: 14904051 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14904051 Country of ref document: EP Kind code of ref document: A1 |