一种基于内容的路由方法和系统的制作方法

文档序号:9932891阅读:547来源:国知局
一种基于内容的路由方法和系统的制作方法
【专利说明】_种基于内容的路由方法和系统 【技术领域】
[0001] 本发明涉及互联网领域,尤其涉及一种基于内容的路由方法和系统。 【【背景技术】】
[0002] 未来网络发展有两个方向,一是软件定义网络SDN(Software Defined Network)--由美国斯坦福大学Clean Slate研究组提出的一种新型网络创新架构,其核 心为将传统交换机(路由器)设备进行"拆分":传统的交换机功能由最底层的流量转发,以 及更高级的其他处理功能(如网管控制、负载均衡等)这两部分组成,而SDN剥离了交换机除 转发之外的所有高级处理功能,并且将这部分高级处理功能移到"控制器"中,实现控制面 与转发面分离。
[0003] 另一个是以内容为中心的网络CCN(Content Centric Networking),即网络以内 容为中心,而不同于以主机为中心的当前因特网。CCN通过内容名字标志每一个内容。对网 络来说,其中流动的都是有名字的内容,网络能区分每一个内容,而其作用是管理所有内容 的流动,并用正确的内容相应内容请求者。CCN利用网络设备内部缓存在时间和空间上解耦 了内容的发送者和接收者,能更好地适应今天的网络特征(内容分发、移动等)。美国帕洛阿 托研究中心(PARC,Palo Alto Research Center)于2009年研究开发了CCN的一种实现 CCNxXCNx通信由内容消费者驱动,数据以"块"为单位进行传输。CCNx有两种包类型: Interest包和Data包。当消费者需要请求内容时,广播Interest包,各路由节点根据 Interest包"名字"按照最长前缀匹配查找并返回该"名字"所对应的Data包,在路由器节点 上由三个关键数据结构完成包转发,分别是内容缓存(Content Store)、等待兴趣表PIT (Pending Interest Table)和路由转发表FIB。
[0004] CCNx本身并没有集成路由协议。美国孟菲斯大学、亚利桑那州立大学及加州大学 洛杉矶分校为CCNx共同开发了一个路由协议:命名数据链路状态路由协议(NLSRhNLSR作 为CCNx自治域内路由协议,采用分布式路由算法在每个路由节点计算全网拓扑和路由并保 存全网内容名字前缀。其缺点如下:内容名字前缀的数量远远高于IP地址的数量,且不断地 高速扩张,而每个NLSR路由器试图建立一张囊括全网的FIB表,其规模可达10 9量级,这需要 大量甚至实际无法解决的存储资源;每个支持NLSR的路由器需要完成LSDB同步、全网拓扑 发现和路由计算的功能,而随着路由表的扩张,每个路由器进行LSDB同步占用过大的带宽, 且路由计算花费路由器过多的计算资源;实际上全网拓扑在某一个时刻是唯一的,每个路 由器独立地实现全网拓扑的发现和路由计算,造成一定程度的计算冗余。 【
【发明内容】

[0005] 为了解决现有技术中的问题,本发明提供了一种基于内容的路由方法和系统,解 决现有技术中路由器需要大量甚至实际无法解决的存储资源、路由计算花费过多的计算资 源和计算冗余的问题。
[0006] 本发明提供了一种基于内容的路由方法,包括以下步骤:(A)控制器名字路由系统 NRC进行路由拓扑发现和维护、集中式路由计算和路由信息查询;(B)转发信息表FIB缓存活 动路由信息;(C)控制器名字路由系统NRC获取路由节点的查询信息并更新转发信息表FIB。
[0007] 作为本发明的进一步改进:所述步骤(A)中,控制器名字路由系统NRC从路由节点 上获取到链路状态通告LSAs之后,将LSAs的内容加入到链路状态数据库LSDB中,NRC根据 LSDB中的邻居链路状态通告ALSAs建立全网拓扑和计算路由,而后对每个路由器建立一个 元素的哈希链表,用以将内容名字前缀链路状态通告NLSAs和邻居链路状态通告ALSAs对应 起来。
[0008] 作为本发明的进一步改进:所述步骤(A)中,NRC建立全网拓扑之后计算多源最短 路径,并将对应的部分路由信息库RIB表返回给各个路由节点;下发FIB表项以集合的形式 发回给路由节点,该集合包含了全网的路由器和内容名字前缀,各个路由器重新安装FIB 表;如果表项数量大于某个设定阈值,则取部分表项作为路由节点的FIB表。
[0009] 作为本发明的进一步改进:路由节点发布自身链路状态通告LSAs,并向直连路由 器发送Info兴趣包获取链路状态信息。
[0010] 作为本发明的进一步改进:所述步骤(C)中进一步包括路由节点收到Interest包 时的处理步骤:(C1)查找内容CS缓存:发现匹配的请求内容则发送该内容到请求端口,否 贝1J,转发给悬而未决表PIT查找;(C2)查找PIT表:若PIT中有一个Interest匹配的,意味着一 个相同的Interest消息已经被转发并正在等待,新Interest消息到达的端口被添加到PIT 中;否则进一步查找FIB表;(C3)查找FIB表:若FIB表中找到匹配此兴趣包的下一跳路由,转 发此兴趣包到下一条路由器,并在PIT表中添加此兴趣包请求等待的消息;否则,发送查询 命令向NRC查询;(C4)查找RIB表:NRC根据自己的RIB表查找对应FIB表项,并返回给路由节 点。
[0011] 作为本发明的进一步改进:所述步骤(A)中路由计算具体为:NRC从各个路由器获 取LSAs建立全网LSDB,ALSA包含了 一个路由器到另一个路由器的链路信息,建立一个矩阵 谦示路由器i到路由器j的链路开销,运用弗洛伊德算法即可算出任何两点的最短路径 及下一跳,每次ALSA改变时都会重新计算路由,设rff为从节点i到j的所有中间节点全部取 自集合{1,2,…,k}的一条最短路径权重。当k = 0时,从节点i到节点j的一条不包括编号大 于〇的中间节点的路径将没有任何中间节点,=%,递归定义如下: \W__ k- 0
[0012] <=lmL<-vr^r) ⑵矩阵妒)嘴))就是最后的最短路径。
[0013] 作为本发明的进一步改进:所述步骤(C)中,路由节点的进程中实现两个线程,一 个线程负责检测、收集链路状态,建立本地LSDB;-个线程负责接收NRC发布的FIB表项并安 装。
[0014] 作为本发明的进一步改进:路由节点仅仅维护与直连路由器的链路状态。
[0015] 作为本发明的进一步改进:NRC管理全网路由,各个路由器采用lookup-and-cache 方式。
[0016]本发明同时提供了一种基于内容的路由系统,包括控制器名字路由系统NRC和与 之连接的多个路由节点;控制器名字路由系统NRC负责路由拓扑发现和维护、集中式路由计 算和路由信息查询;路由节点中的进程中实现两个线程,一个线程负责检测、收集链路状 态,建立本地LSDB;-个线程负责接收控制器发布的FIB表项并安装;NRC同时负责收集各路 由器LSDB、计算路由和下发路由表项;所述路由节点仅仅维护与直连路由器的链路状态。
[0017]本发明的有益效果是:本机制能有效解决路由器端路由表过大的问题;本发明中 的每个路由器节点只需维护与其直接相连路由器的链路状态,而不需要同步全网的链路状 态,减少路由器链路状态同步消耗的大量带宽;本发明由NRC负责全网拓扑发现和路由计 算,能有效减少计算资源几余,提尚效率。 【【附图说明】】
[0018]图1是本发明基于内容的路由方法中的Lookup-and-Cache机制示意图。
[0019] 图2是本发明基于内容的路由系统的示意框图。
[0020] 图3是本发明路由器、控制器功能实现流程图。 【【具体实施方式】】
[0021] 下面结合【附图说明】及【具体实施方式】对本发明进一步说明。
[0022] 一些网络术语的定义:
[0023] SDN Soliwarc Defined Network 软f|)ii 义M络 CCN Content. Centric Networking 内界屮心网络 NL SR Named-da la Link Slate Rouiing Proiocol 命名数:()丨彳敏路状态路山丨办议 LSDB: LintS餓?.Database链路状态数据库 LSA Link Stale Advertisement 逝路状态皿';V
[0024] NBCR Name Based Centralized Rouiing j' I 'litr 111 NRC Name Routing Center 'd〈路i i 11 卜心 FIB Forwarding Inrormation Base 较发 CS:. Content Store 内容缓存 PIT Pending Iniormatiort Table 等待兴趣表。
[0025]图1给出了我们所提出的Lookup-and-Cache概念以及应用实例。以下是对图所做 的一些说明:a)名字路由系统(Name Routing Center、NRC)负责路由拓扑发现和维护、集中 式路由计算和路由查询服务;b)转发信息表(Forwarding Information Base、FIB)作为路 由转发的缓存,只缓存活动路由表部分;c)当一个路由节点缺乏路由信息时,它将会向NRC 查询路径。当节点N1收到兴趣包"icn. com/video/chunkl"时,如果该节点的FIB缺少相关路 由信息,N1节点首先将兴趣包暂时保存到信息队列中;向远端NRC系统发出路由信息查询请 求;最后将查询到路由信息插入或替换FIB中旧的路由信息;对满载的FIB条目则使用不活 跃超时(IT0 Inactivity Time Out)和最近最少使用(LRU Least Recently Used)替换算 法进行替换。
[0026] 进一步为:
[0027] 1)路由器启动时路由节点进程读取配置文件,获取路由器名字、内容名字前缀、直 连路由器名字和链路开销等配置;
[0028] 2)路由节点发布自身ALSA和NLSAs(统称LSAs),向直连路由器发送Inf 〇兴趣包获 取链路状态信息;
[0029] 3)路由器向NRC发布LSAs,NRC根据各个路由器的LSAs建立全网LSDB;
[0030] 4)NRC根据LSDB信息采用计算路由信息,存储于RIB中,然后提取其中各路由节点 的FIB信息并下发给相应的路由节点。
[0031 ] 5)NBCR路由机制,当路由节点收到Interest包时:
[0032] a)查找内容CS缓存:发现匹配的请求内容则发送该内容到请求端口,否则,转发给 PIT查找;
[0033] b)查找PIT表:若PIT中有一个Interest匹配的,意味着一个相同的Interest消息 已经被转发并正在等待,新Interest消息到达的端口被添加到PIT中;否则进一步查找FIB 表;
[0034] c)查找FIB表:若FIB表中找到匹配此兴趣包的下一跳路由,转发此兴趣包到下一 条路由器,并在PIT表中添加此兴趣包请求等待的消息;否则,发送查询命令向NRC查询; [0035] d)查找RIB表:NRC根据自己的RIB表查找对应FIB表项,并通过扩展的OpenFlow协 议返回给路由节点。
[0036] 6)当收到Data包时,当数据包到达时,先对数据包的Content Name字段进行最长 前缀匹配,先在Content Store中匹配
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1