命名数据网络中基于流行度的路由扩展技术转让专利
申请号 : CN202010729292.8
文献号 : CN112039784B
文献日 : 2022-01-28
发明人 : 江凌云 , 张进
申请人 : 南京邮电大学
摘要 :
权利要求 :
1.NDN中数据包处理方法,其特征在于,包括:A1、数据包生产者发布数据包对应的第一内容公告包,所述数据包被请求的次数清零,同时启动定时时长为T的定时器;所述第一内容公告包中包括所述数据包对应的数据名称;
第一内容公告包传输路径上的路由器节点和全局名称集中点添加包含第一内容公告包中数据名称和第一内容公告包到达接口的条目到自身的FIB中;
A2、定时器计时结束,生产者统计定时器计时期间所述数据包被请求的次数,如果所述被请求的次数小于预设阈值,生产者发布所述数据包对应的第二内容公告包;所述第二内容公告包包括所述数据包对应的数据名称和空白的路由器名称;
A3、第一跳路由器节点收到第二内容公告包,将自身路由器名称添加到第二内容公告包中的空白路由器名称字段;之后的路由器节点和全局名称集中点收到第二内容公告包时,首先检索自身FIB中是否有包含第二内容公告包中数据名称的条目,如有,将其删除;然后检索自身FIB中是否有包含第二内容公告包中路由器名称的条目,如没有,将第二内容公告包中路由器名称与第二内容公告包到达的接口的对应关系添加到自身FIB中;
A4、全局名称集中点将第二内容公告包转发给非全局名称集中点;非全局名称集中点建立第二内容公告包中的数据名称、路由器名称和全局名称集中点的对应关系,并添加到预先建立的映射关系表中。
2.根据权利要求1所述的数据包处理方法,其特征在于,所述第一内容公告包按最短路径发送至全局名称集中点。
3.NDN中兴趣包处理方法,其特征在于,包括:B1、数据包消费者发布的兴趣包到达NDN中的路由器节点;所述路由器节点对所述兴趣包做传统操作;
所述传统操作为:路由器节点检索自身CS中是否有所述兴趣包中的数据名称对应的数据,如有,则将携带该数据名称对应的数据的数据包沿所述兴趣包传输路径逆向返回至消费者,并结束所述兴趣包的处理;如没有,则检索自身PIT中是否有包含所述兴趣包中的数据名称的条目;如PIT中有包含当前兴趣包中的数据名称的条目,则将兴趣包到达接口添加到所述条目中;如没有,则检索自身FIB中是否有所述兴趣包中的数据名称的条目;如FIB中有所述兴趣包中的数据名称的条目,则根据所述条目中的到达接口将所述兴趣包转发至下一跳路由器节点或数据生产者;如FIB 中没有所述兴趣包中的数据名称的条目,则按最短路径向全局名称集中点转发所述兴趣包;
兴趣包传输路径上的每个路由器节点对所述兴趣包做传统操作;
B2、当所述兴趣包到达全局名称集中点时,全局名称集中点检索自身CS中是否有所述兴趣包中的数据名称对应的数据,如有,则将携带该数据名称对应的数据的数据包沿所述兴趣包传输路径逆向返回至消费者,并结束所述兴趣包的处理;如没有,则检索自身PIT中是否有包含所述兴趣包中的数据名称的条目;如PIT中有包含当前兴趣包中的数据名称的条目,则将兴趣包到达接口添加到所述条目中;如没有,则检索自身FIB中是否有所述兴趣包中的数据名称的条目;如FIB中有所述兴趣包中的数据名称的条目,则根据所述条目中的到达接口将所述兴趣包转发至下一跳路由器节点或数据生产者;如FIB 中没有所述兴趣包中的数据名称的条目,则将所述兴趣包转发至非全局名称集中点;
B3、非全局名称集中点在映射关系表中查找所述兴趣包中的数据名称,如找到,将查找到的条目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送至全局名称集中点;
B4、全局名称集中点和路由器节点根据封装后兴趣包的转发提示在自身FIB中查找对应的条目,并根据查找到的条目中到达接口转发封装后的兴趣包;所述兴趣包对应的数据包的第一跳路由器收到封装后的兴趣包时,根据所述兴趣包中的数据名称查找自身FIB,根据查找到的条目中的到达接口将所述兴趣包转发至数据包生产者;
B5、当兴趣包到达数据包生产者时,如所述数据包生产者的定时器仍在计时,则所述数据包被请求的次数加一;消费者请求的数据包沿所述兴趣包传输路径逆向返回至消费者。
4.NDN路由方法,其特征在于,包括:如权利要求1‑2任一项所述的数据包处理方法的步骤;
如权利要求3所述的兴趣包处理方法的步骤。
5.NDN数据包生产者,其特征在于,包括第一内容公告包发布模块、定时器、数据包被请求次数统计模块、第二内容公告包发布模块;
所述第一内容公告包发布模块用于发布第一内容公告包;全局名称集中点以及第一内容公告包传输路径上的路由器节点根据第一内容公告包中的数据名称以及传入自身的接口建立FIB;
所述定时器的定时时长为T,所述定时器在发布第一内容公告包时启动;
所述数据包被请求次数统计模块用于统计定时器计时期间所述数据包被请求的次数;
如果所述被请求的次数小于预设阈值,生产者发布所述数据包对应的第二内容公告包;
所述第二内容公告包发布模块用于发布第二内容公告包;所述第二内容公告包包括所述数据包对应的数据名称和空白的路由器名称;
当第一跳路由器节点收到第二内容公告包时,将自身路由器名称添加到第二内容公告包中的“路由器名称”字段中;之后的路由器节点和全局名称集中点收到第二内容公告包时,首先检索自身FIB中是否有包含第二内容公告包中数据名称的条目,如有,将其删除;然后检索自身FIB中是否有包含第二内容公告包中路由器名称的条目,如没有,将第二内容公告包中路由器名称与第二内容公告包到达的接口的对应关系添加到自身FIB中;
全局名称集中点将第二内容公告包转发给非全局名称集中点;非全局名称集中点建立第二内容公告包中的数据名称、路由器名称和全局名称集中点的对应关系,并添加到预先建立的映射关系表中。
6.NDN中全局名称集中点,其特征在于,包括第一内容公告包处理模块、第二内容公告包处理模块、兴趣包处理模块;
所述第一内容公告包处理模块用于处理收到的第一内容公告包;所述第一内容公告包由数据包生产者发送,包含其可以提供的数据名称;全局名称集中点根据第一内容公告包中的数据名称以及传入自身的接口建立FIB;
所述第二内容公告包处理模块用于处理收到的第二内容公告包,具体为:所述全局名称集中点收到第二内容公告包时,首先检索自身FIB中是否有包含第二内容公告包中数据名称的条目,如有,将其删除;然后检索自身FIB中是否有包含第二内容公告包中路由器名称的条目,如没有,将第二内容公告包中路由器名称与第二内容公告包到达的接口的对应关系添加到自身FIB中;并将第二内容公告包转发给非全局名称集中点;
所述兴趣包处理模块用于处理收到的兴趣包,具体为:所述全局名称集中点收到兴趣包时,如全局名称集中点查询自身CS、PIT、FIB中都没所述兴趣包中的数据名称对应的数据或条目,则将所述兴趣包转发至非全局名称集中点;根据非全局名称集中点封装后兴趣包的转发提示在自身FIB中查找对应的条目,并根据查找到的条目中到达接口转发封装后的兴趣包。
7.NDN中非全局名称集中点,其特征在于,包括:映射关系表、不流行内容处理模块、不流行内容兴趣包处理模块;
所述映射关系表用于存储数据名称、路由器名称和全局名称集中点的对应关系;
所述不流行内容处理模块用于处理收到的第二内容公告包,具体为:所述非全局名称集中点收到第二内容公告包时,建立第二内容公告包中的数据名称、路由器名称和全局名称集中点的对应关系,并添加到预先建立的映射关系表中;
所述不流行内容兴趣包处理模块用于处理收到的兴趣包,具体为:非全局名称集中点收到兴趣包时,在映射关系表中查找所述兴趣包中的数据名称,如找到,将查找到的条目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送至全局名称集中点。
说明书 :
命名数据网络中基于流行度的路由扩展技术
技术领域
背景技术
据包从一个主机转发到另一个主机。然而,近年来电子商务、数字媒体、社交网络、智能手机
应用程序等方面持续增长,导致对分布式网络的使用占据统治地位。实践表明,主机到主机
的网络在大规模分发内容方面效率低下。
上带来了相比于传统TCP/IP网络更加严峻的挑战:实际的网络规模很大,人们对于信息的
请求也很多,会出现数量较多的生产者和消费者,那么路由器节点将需要存储很多的名称
条目,这既增大了FIB的表项数目,又使得节点的负载(内存等指标)加大,存在崩溃的隐患。
一旦出现崩溃,那么整个网络会失去意义,消费者将不能得到想要的内容。
发明内容
压力。
名称;第一内容公告包传输路径上的路由器节点和全局名称集中点添加包含第一内容公告
包中数据名称和第一内容公告包到达接口的条目到自身的FIB中;
容公告包包括所述数据包对应的数据名称和空白的路由器名称;
包时,首先检索自身FIB中是否有包含第二内容公告包中数据名称的条目,如有,将其删除;
然后检索自身FIB中是否有包含第二内容公告包中路由器名称的条目,如没有,将第二内容
公告包中路由器名称与第二内容公告包到达的接口的对应关系添加到自身FIB中;
加到预先建立的映射关系表中。
结束所述兴趣包的处理;如没有,则检索自身PIT中是否有包含所述兴趣包中的数据名称的
条目;如PIT中有包含当前兴趣包中的数据名称的条目,则将兴趣包到达接口添加到所述条
目中;如没有,则检索自身FIB中是否有所述兴趣包中的数据名称的条目;如FIB中有所述兴
趣包中的数据名称的条目,则根据所述条目中的到达接口将所述兴趣包转发至下一跳路由
器节点或数据生产者;如FIB中没有所述兴趣包中的数据名称的条目,则按最短路径向全局
名称集中点转发所述兴趣包;
传输路径逆向返回至消费者,并结束所述兴趣包的处理;如没有,则检索自身PIT中是否有
包含所述兴趣包中的数据名称的条目;如PIT中有包含当前兴趣包中的数据名称的条目,则
将兴趣包到达接口添加到所述条目中;如没有,则检索自身FIB中是否有所述兴趣包中的数
据名称的条目;如FIB中有所述兴趣包中的数据名称的条目,则根据所述条目中的到达接口
将所述兴趣包转发至下一跳路由器节点或数据生产者;如FIB中没有所述兴趣包中的数据
名称的条目,则将所述兴趣包转发至非全局名称集中点;
至全局名称集中点;
数据包的第一跳路由器收到封装后的兴趣包时,根据所述兴趣包中的数据名称查找自身
FIB,根据查找到的条目中的到达接口将所述兴趣包转发至数据包生产者;
者。
数据名称的条目,如有,将其删除;然后检索自身FIB中是否有包含第二内容公告包中路由
器名称的条目,如没有,将第二内容公告包中路由器名称与第二内容公告包到达的接口的
对应关系添加到自身FIB中;并将第二内容公告包转发给非全局名称集中点;
数据或条目,则将所述兴趣包转发至非全局名称集中点;根据非全局名称集中点封装后兴
趣包的转发提示在自身FIB中查找对应的条目,并根据查找到的条目中到达接口转发封装
后的兴趣包。
局名称集中点的对应关系,并添加到预先建立的映射关系表中;
目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送至全局名称
集中点。
间路由器处理的兴趣包的数目,减少了兴趣包的处理时延,提升了网络的路由可扩展性性
能。此外,引入非全局名称集中点,减轻了全局名称集中点的压力。
附图说明
具体实施方式
称集中点。全局名称集中点、非全局名称集中点是功能强大的存储设备,其作用与路由器相
似,但其存储功能要优于中间路由器,可以存储数量较大的名称条目。本实施例以图1所示
的拓扑结构图为例来说明本发明的技术方案,其中包括7个中间路由器节点R1‑R7,名称前
缀为“/router/1”‑“/router/7”、5个数据包生产者、一个全局名称集中点、一个非全局名称
集中点,网络中所有的节点已知网络拓扑结构。
布的第一内容公告包分别为:
2 /google/scholar
3 /sina/news
4 /kugou/music
5 /baidu/picture
的FIB中只包含生产者2、生产者3、生产者4生产的数据包的数据名称,R1的FIB中只包含生
产者1生产的数据包的数据名称,R7和R6的FIB中只包含生产者5生产的数据包的数据名称,
而全局名称集中点的FIB中包含所有5个生产者生产的数据包的数据名称以及对应的到达
接口。
告包路径上的路由器节点的FIB中,降低了网络中其他路由器节点的FIB表项数目以及负
载。
的数据名称的生产者主动发送不流行内容公告包,即第二内容公告包,到全局内容名称集
中点。一个数据包是否流行,是通过统计该数据包初次发布时起时长T内被请求的次数来判
断的,如果被请求次数大于预设的阈值,则该数据包为流行数据包,则不做后续处理,其数
据名称存储在全局名称集中点;如果被请求次数小于预设阈值,则进行后续处理;即:定时
器计时结束,生产者统计定时器计时期间所述数据包被请求的次数,如果所述请求次数小
于预设阈值,生产者发布所述数据包对应的第二内容公告包;所述第二内容公告包包括所
述数据包对应的数据名称和空白的路由器名称;
字段中;之后的路由器节点和全局名称集中点收到第二内容公告包时,首先检索自身FIB中
是否有包含第二内容公告包中数据名称的条目,如有,将其删除;然后检索自身FIB中是否
有包含第二内容公告包中路由器名称的条目,如没有,将第二内容公告包中路由器名称与
第二内容公告包到达的接口的对应关系添加到自身FIB中;
加到预先建立的映射关系表中。
中点。这些第二内容公告包的传输,引发了R3、R2中FIB的更新。当他们到达第一跳路由器R3
时,将R3的路由器名称“/router/3”添加到每个第二内容公告包中的“路由器名称”字段中。
修改后的三个第二内容公告包发送给R2,R2收到包后,在其FIB中删除包含这三个不流行内
容名称的条目,并将R3的路由器名称“/router/3”和第二内容公告包的到达接口“face3”添
加到FIB中,之后将此包发送给全局名称集中点,全局名称集中点收到此包后执行与R2相同
的操作,之后将此包转发给非全局名称集中点,非全局名称集中点建立第二内容公告包中
的数据名称、路由器名称和全局名称集中点的对应关系,并添加到预先建立的映射关系表
中
模增大时。其次,上一步全局名称集中点需要维护所有生产者可提供的数据名称与下一跳
接口的对应关系,导致集中点的负载过大,存在隐患。而加入非全局路由名称集中点可以缓
解全局集中点的压力,使得网络可以承载更大的规模。
结束所述兴趣包的处理;如没有,则检索自身PIT中是否有包含所述兴趣包中的数据名称的
条目;如PIT中有包含当前兴趣包中的数据名称的条目,则将兴趣包到达接口添加到所述条
目中;如没有,则检索自身FIB中是否有所述兴趣包中的数据名称的条目;如FIB中有所述兴
趣包中的数据名称的条目,则根据所述条目中的到达接口将所述兴趣包转发至下一跳路由
器节点或数据生产者;如FIB中没有所述兴趣包中的数据名称的条目,则按最短路径向全局
名称集中点转发所述兴趣包;
传输路径逆向返回至消费者,并结束所述兴趣包的处理;如没有,则检索自身PIT中是否有
包含所述兴趣包中的数据名称的条目;如PIT中有包含当前兴趣包中的数据名称的条目,则
将兴趣包到达接口添加到所述条目中;如没有,则检索自身FIB中是否有所述兴趣包中的数
据名称的条目;如FIB中有所述兴趣包中的数据名称的条目,则根据所述条目中的到达接口
将所述兴趣包转发至下一跳路由器节点或数据生产者;如FIB中没有所述兴趣包中的数据
名称的条目,则将所述兴趣包转发至非全局名称集中点;
至全局名称集中点;
数据包的第一跳路由器收到封装后的兴趣包时,根据所述兴趣包中的数据名称查找自身
FIB,根据查找到的条目中的到达接口将所述兴趣包转发至数据包生产者;
者。
记录,但其FIB中有记录,则R1将此兴趣包从face5接口转发出去,到达生产者1。如图2中实
线箭头所示。
点的FIB中存在“/baidu/picture”的记录,则将兴趣包从face4接口转发,兴趣包到达R6后
从face2被转发,到达R7后从facel被转发,最终到达生产者5。如图2虚线箭头所示。
/sina/news
查询后同样没有此名称前缀,则将其转发给非全局名称集中点,在非全局名称集中点的映
射关系表中找到了数据名称为“/sina/news”、路由器名称为“/router/3”的条目,将“/
router/3”封装到兴趣包3中作为转发提示,再将封装后的兴趣包3转发给全局名称集中点。
全局名称集中点检索兴趣包3中的转发提示,找到了“/router/3”所对应的下一跳接口
“face3”,通过此接口将兴趣包转发给R2,R2同样检索转发提示通过接口“face3”将兴趣包3
转发给R3,R3的FIB中存在其请求的数据名称前缀“/sina/news”,通过接口“face3”转发到
达生产者3,如图3箭头所示。
中数据名称的条目,如有,将其删除;然后检索自身FIB中是否有包含第二内容公告包中路
由器名称的条目,如没有,将第二内容公告包中路由器名称与第二内容公告包到达的接口
的对应关系添加到自身FIB中;并将第二内容公告包转发给非全局名称集中点;
的数据或条目,则将所述兴趣包转发至非全局名称集中点;根据非全局名称集中点封装后
兴趣包的转发提示在自身FIB中查找对应的条目,并根据查找到的条目中到达接口转发封
装后的兴趣包。
全局名称集中点的对应关系,并添加到预先建立的映射关系表中;
条目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送至全局名
称集中点。
应以权利要求所属为准。