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

文档序号:9932891阅读:来源:国知局
(如果有,则丢弃),没有匹配再在PIT中匹配条目,如 果有,转发到请求者,然后缓存在Content Store,如果没有匹配则丢弃。
[0037] 如图2为总体框图,控制器名字路由系统NRC负责路由拓扑发现和维护、集中式路 由计算和路由信息查询;路由节点中的进程中实现两个线程,一个线程负责检测、收集链路 状态,建立本地LSDB;-个线程负责接收控制器发布的FIB表项并安装;NRC同时负责收集各 路由器LSDB、计算路由和下发路由表项;所述路由节点仅仅维护与直连路由器的链路状态。
[0038] 以下定义一种实现的主要数据包格式:
[0039] 表2配置命令
[0051] -、命名:
[0052] 路由节点采用分层命名,每个路由器根据它所在网络和一个自定义的路由器名字 命名,也即:/〈116七¥〇4>/〈8;^6>/〈1'01^61'>,例如 :北大深圳研究生院4217的路由器51可以 命名为/pkusz ? edu/A217/Sl;
[0053] 路由节点进程命名在路由器名字后,也即/〈116七¥0^>/〈8;^6>/〈1'01^61'>/^六1?1。本 名字前缀用于路由器之间发现链接失效、周期通信的info消息之中。
[0054] LSA 以/〈network>/〈site>/〈router>/FARI/LSA 开头来明确地表明 LSA 产生的路由 器。暂且将LSA的名字前缀定义为/〈LSA-Pref ix>,我们同样采用NLSR对ALSA和NLSA内容如 表1所示的定义。每条ALSA的格式为/〈LSA-pref ix>/LsType ? l/〈version> ;NLSA格式为/〈 LSA-pref ix>/LsType ? 2/LsId.〈 ID〉/〈version〉Aversion〉代表 LSA的不同版本。二、通信
[0055] 我们具体阐述路由器与路由器之间、路由器与控制器之间的通信流程。
[0056] 路由器端:
[0057]启动路由器时:
[0058]路由器启动时读取配置文件,配置命令如表2所示。读取之后设置路由器名字,创 建直连邻居表(ADL),内容名字前缀表(NPL)和其他设置。路由节点连接本地CCND,注册〈 router-name>/fari到CCND,使得向CCND请求〈route_name>/fari的兴趣包转给路由节点进 程处理。
[0059] 更新直连邻居表:
[0060] 路由节点发送info兴趣包给所有直连路由器。如果路由节点收到直连路由器对 info的回应,该邻居的状态字段变为"Active" ;如果发送超时(由"interest-resend-time" 决定)则重新发送"interest-resend"次,再无响应则状态变为"Down"。收到inf〇兴趣包的 直连路由器以包含自身的LSDB版本和inf 〇信息版本的内容返回。
[0061] LSA 初始化:
[0062] 路由器读取NPL建立NLSA并加入到自身LSDB中,读取ADL中状态字段为"Active"的 项加入到ALSA中并安装到LSDB。
[0063] LSDB同步:
[0064] 每个路由节点更新LSA时候向NRC发送该LSAs,NRC做相应动作。
[0065] FIB 创建:
[0066] 路由节点收到npt_entry之后,连接CCND更改FIB表。每次更新自身npt_entry项的 时候都重新安装FIB表。
[0067] 链路断开重连检测:
[0068] 更新直连邻居表的时候发送info兴趣包的作用即检测链路是否断开。断开和重连 时路由节点会更新ADL和ALSA并发送给NRC。
[0069] NRC 端:
[0070] NRC从路由节点上获取到LSAs之后,将LSAs的内容加入到LSDB中,NRC根据LSDB中 的ALSAs建立全网拓扑和计算路由。而后对每个路由器建立一个元素为npt_entry的哈希链 表,用以将NLSAs和ALSAs对应起来。表7展示/ndn/pkusz ? edu/sl的一个npt_entry表项, Adjacent Router表示直连路由器名字,Name List表示通过该直连路由器发布的内容名字 前缀,Face List表示本路由器到该直连路由器的Face和路由开销。
[0072]表7 :npt_entry 表项
[0073] NRC建立全网拓扑之后采用弗洛伊德算法计算多源最短路径,并将对应的部分RIB 表通过扩展的OpenFlow协议返回给各个路由节点。下发FIB表项以npt_entry集合的形式发 回给路由节点,此时该集合已经包含了全网的路由器和内容名字前缀,各个路由器根据 npt_entry重新安装FIB表。如果表项数量大于某个设定阈值,则取部分表项作为路由节点 的FIB表。
[0074] 路由计算:
[0075] NRC从各个路由器获取LSAs建立全网LSDB,ALSA包含了一个路由器到另一个路由 器的链路信息。因此可以建立一个矩阵w,Wi j表示路由器i到路由器j的链路开销,运用弗洛 伊德算法即可算出任何两点的最短路径及下一跳。每次ALSA改变时都会重新计算路由。 0 tri-j
[0076] 我们规定% =<路由节点i到j的链路开销若j且可直达, CO 其他
[0077] FLOYD-WARSHALL算法是一种动态规划算法。设为从节点i到j的所有中间节点 全部取自集合{1,2,…,k}的一条最短路径权重。当k = 0时,从节点i到节点j的一条不包括 编号大于〇的中间节点的路径将没有任何中间节点,因此,= %丨递归定义如下: \W. C〇〇78] ^ ~]mm(df-u,dth+dl;-u) L>\
[0079] 矩阵D(H)=(<,就是最后的最短路径。
[0080] 如图3所示,我们在路由节点进程中实现两个线程,一个线程负责检测、收集链路 状态,建立本地LSDB; -个线程负责接收控制器发布的FIB表项并安装。控制器负责收集各 路由器LSDB、计算路由和下发路由表项。
[0081] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。
【主权项】
1. 一种基于内容的路由方法,其特征在于:包括以下步骤:(A)控制器名字路由系统NRC 进行路由拓扑发现和维护、集中式路由计算和路由信息查询;(B)转发信息表FIB缓存活动 路由信息;(C)控制器名字路由系统NRC获取路由节点的查询信息并更新转发信息表FIB。2. 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(A)中,控制器名 字路由系统NRC从路由节点上获取到链路状态通告LSAs之后,将LSAs的内容加入到链路状 态数据库LSDB中,NRC根据LSDB中的邻居链路状态通告ALSAs建立全网拓扑和计算路由,而 后对每个路由器建立一个元素的哈希链表,用以将内容名字前缀链路状态通告NLSAs和邻 居链路状态通告ALSAs对应起来。3. 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(A)中,NRC建立 全网拓扑之后计算多源最短路径,并将对应的部分路由信息库RIB表返回给各个路由节点; 下发FIB表项以集合的形式发回给路由节点,该集合包含了全网的路由器和内容名字前缀, 各个路由器重新安装FIB表;如果表项数量大于某个设定阈值,则取部分表项作为路由节点 的FIB表。4. 根据权利要求1所述的基于内容的路由方法,其特征在于:路由节点发布自身链路状 态通告LSAs,并向直连路由器发送Inf 〇兴趣包获取链路状态信息。5. 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(C)中进一步包 括路由节点收到Interest包时的处理步骤:(C1)查找内容CS缓存:发现匹配的请求内容则 发送该内容到请求端口,否则,转发给悬而未决表PIT查找;(C2)查找PIT表:若PIT中有一个 Interest匹配的,意味着一个相同的Interest消息已经被转发并正在等待,新Interest消 息到达的端口被添加到PIT中;否则进一步查找FIB表;(C3)查找FIB表:若FIB表中找到匹配 此兴趣包的下一跳路由,转发此兴趣包到下一条路由器,并在PIT表中添加此兴趣包请求等 待的消息;否则,发送查询命令向NRC查询;(C4)查找RIB表:NRC根据自己的RIB表查找对应 FIB表项,并返回给路由节点。6. 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(A)中路由计算 具体为:NRC从各个路由器获取LSAs建立全网LSDB,ALSA包含了 一个路由器到另一个路由器 的链路信息,建立一个矩阵W,W^表示路由器i到路由器j的链路开销,运用弗洛伊德算法即 可算出任何两点的最短路径及下一跳,每次ALSA改变时都会重新计算或增量计算路由,设为从节点i到j的所有中间节点全部取自集合{1,2,…,k}的一条最短路径权重。当k = 0 时,从节点i到节点j的一条壬迫吳·十平由丨句#占的路径将没有任何中间节点, 忠〇) = % '递归定义如下 ffi阵就是最后的最短路径》7. 根据权利要求1所述的基于内容的路由方法,其特征在于:所述步骤(C)中,路由节点 的进程中实现两个线程,一个线程负责检测、收集链路状态,建立本地LSDB;-个线程负责 接收NRC发布的FIB表项并安装。8. 根据权利要求1所述的基于内容的路由方法,其特征在于:路由节点仅仅维护与直连 路由器的链路状态。9. 根据权利要求1所述的基于内容的路由方法,其特征在于:NRC管理全网路由,各个路 由器米用lookup-and-cache方式。10. -种基于内容的路由系统,其特征在于:包括控制器名字路由系统NRC和与之连接 的多个路由节点;控制器名字路由系统NRC负责路由拓扑发现和维护、集中式路由计算和路 由信息查询;路由节点中的进程中实现两个线程,一个线程负责检测、收集链路状态,建立 本地LSDB;-个线程负责接收控制器发布的FIB表项并安装;NRC同时负责收集各路由器 LSDB、计算路由和下发路由表项;所述路由节点仅仅维护与直连路由器的链路状态。
【专利摘要】本发明涉及互联网领域,其公开了一种基于内容的路由方法,包括以下步骤:(A)控制器名字路由系统NRC进行路由拓扑发现和维护、集中式路由计算和路由信息查询;(B)转发信息表FIB缓存活动路由信息;(C)控制器名字路由系统NRC获取路由节点的查询信息并更新转发信息表FIB。本发明的有益效果是:本机制能有效解决路由器端路由表过大的问题;减少路由器链路状态同步消耗的大量带宽;能有效减少计算资源冗余,提高效率。
【IPC分类】H04L12/751, H04L12/741, H04L12/721
【公开号】CN105723666
【申请号】CN201480037521
【发明人】李挥, 尘福兴, 陈文生
【申请人】北京大学深圳研究生院
【公开日】2016年6月29日
【申请日】2014年12月16日
【公告号】WO2016058263A1
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1