命名数据网络中基于流行度的路由扩展技术转让专利

申请号 : CN202010729292.8

文献号 : CN112039784B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 江凌云张进

申请人 : 南京邮电大学

摘要 :

本发明公开了一种命名数据网络中基于流行度的路由扩展技术,所述技术中对数据包的处理方法包括:1、生产者发布第一内容公告包,数据包请求次数清零,启动定时器;传输路径上的路由器节点和全局名称集中根据第一内容公告包更新FIB;2、定时器计时结束,生产者统计数据包请求次数,如小于预设阈值,发布第二内容公告包;3、第一跳路由器节点将自身路由器名称添加到第二内容公告包中路由器名称字段;之后的路由器节点和全局名称集中点根据第二内容公告包更新自身FIB;4、全局名称集中点将第二内容公告包转发给非全局名称集中点;非全局名称集中点更新映射关系表。该方法根据使用频次将数据包分散处理,进而对兴趣包分散处理,分担了全局名称集中点的压力。

权利要求 :

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中非全局名称集中点,其特征在于,包括:映射关系表、不流行内容处理模块、不流行内容兴趣包处理模块;

所述映射关系表用于存储数据名称、路由器名称和全局名称集中点的对应关系;

所述不流行内容处理模块用于处理收到的第二内容公告包,具体为:所述非全局名称集中点收到第二内容公告包时,建立第二内容公告包中的数据名称、路由器名称和全局名称集中点的对应关系,并添加到预先建立的映射关系表中;

所述不流行内容兴趣包处理模块用于处理收到的兴趣包,具体为:非全局名称集中点收到兴趣包时,在映射关系表中查找所述兴趣包中的数据名称,如找到,将查找到的条目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送至全局名称集中点。

说明书 :

命名数据网络中基于流行度的路由扩展技术

技术领域

[0001] 本发明属于命名数据网络技术领域,具体涉及NDN中数据包、兴趣包的处理方法、路由方法,以及NDN中的数据包生产者、全局名称集中点以及非全局名称集中点。

背景技术

[0002] 因特网的沙漏体系结构以通用的网络层(IP)为中心,网络层实现了全球互联的最小必需功能。IP网络是一种主机到主机的网络,它通过大型网络(如Internet)有效地将数
据包从一个主机转发到另一个主机。然而,近年来电子商务、数字媒体、社交网络、智能手机
应用程序等方面持续增长,导致对分布式网络的使用占据统治地位。实践表明,主机到主机
的网络在大规模分发内容方面效率低下。
[0003] 命名数据网络(Named Data Networking,NDN)被认为是一个能够较好地满足用户对信息传递需求的新型网络体系结构。然而,它以数据名称进行通信,在路由可扩展性问题
上带来了相比于传统TCP/IP网络更加严峻的挑战:实际的网络规模很大,人们对于信息的
请求也很多,会出现数量较多的生产者和消费者,那么路由器节点将需要存储很多的名称
条目,这既增大了FIB的表项数目,又使得节点的负载(内存等指标)加大,存在崩溃的隐患。
一旦出现崩溃,那么整个网络会失去意义,消费者将不能得到想要的内容。

发明内容

[0004] 发明目的:本发明旨在公开一种命名数据网络中基于流行度的路由扩展技术,该技术根据数据包的使用频次将数据包和兴趣包分散处理,分担了NDN中全局名称集中点的
压力。
[0005] 技术方案:本发明一方面公开了一种NDN中数据包处理方法,包括:
[0006] A1、数据包生产者发布数据包对应的第一内容公告包,所述数据包被请求的次数清零,同时启动定时时长为T的定时器;所述第一内容公告包中包括所述数据包对应的数据
名称;第一内容公告包传输路径上的路由器节点和全局名称集中点添加包含第一内容公告
包中数据名称和第一内容公告包到达接口的条目到自身的FIB中;
[0007] A2、定时器计时结束,生产者统计定时器计时期间所述数据包被请求的次数,如果所述请求次数小于预设阈值,生产者发布所述数据包对应的第二内容公告包;所述第二内
容公告包包括所述数据包对应的数据名称和空白的路由器名称;
[0008] A3、第一跳路由器节点收到第二内容公告包,将自身路由器名称添加到第二内容公告包中的空白路由器名称字段;之后的路由器节点和全局名称集中点收到第二内容公告
包时,首先检索自身FIB中是否有包含第二内容公告包中数据名称的条目,如有,将其删除;
然后检索自身FIB中是否有包含第二内容公告包中路由器名称的条目,如没有,将第二内容
公告包中路由器名称与第二内容公告包到达的接口的对应关系添加到自身FIB中;
[0009] A4、全局名称集中点将第二内容公告包转发给非全局名称集中点;非全局名称集中点建立第二内容公告包中的数据名称、路由器名称和全局名称集中点的对应关系,并添
加到预先建立的映射关系表中。
[0010] 所述第一内容公告包按最短路径发送至全局名称集中点。
[0011] 另一方面,本发明还公开了一种NDN中兴趣包处理方法,包括:
[0012] B1、数据包消费者发布的兴趣包到达NDN中的路由器节点;所述路由器节点对所述兴趣包做传统操作;
[0013] 所述传统操作为:路由器节点检索自身CS中是否有所述兴趣包中的数据名称对应的数据,如有,则将携带该对应数据的数据包沿所述兴趣包传输路径逆向返回至消费者,并
结束所述兴趣包的处理;如没有,则检索自身PIT中是否有包含所述兴趣包中的数据名称的
条目;如PIT中有包含当前兴趣包中的数据名称的条目,则将兴趣包到达接口添加到所述条
目中;如没有,则检索自身FIB中是否有所述兴趣包中的数据名称的条目;如FIB中有所述兴
趣包中的数据名称的条目,则根据所述条目中的到达接口将所述兴趣包转发至下一跳路由
器节点或数据生产者;如FIB中没有所述兴趣包中的数据名称的条目,则按最短路径向全局
名称集中点转发所述兴趣包;
[0014] 兴趣包传输路径上的每个路由器节点对所述兴趣包做传统操作;
[0015] B2、当所述兴趣包到达全局名称集中点时,全局名称集中点检索自身CS中是否有所述兴趣包中的数据名称对应的数据,如有,则将携带该对应数据的数据包沿所述兴趣包
传输路径逆向返回至消费者,并结束所述兴趣包的处理;如没有,则检索自身PIT中是否有
包含所述兴趣包中的数据名称的条目;如PIT中有包含当前兴趣包中的数据名称的条目,则
将兴趣包到达接口添加到所述条目中;如没有,则检索自身FIB中是否有所述兴趣包中的数
据名称的条目;如FIB中有所述兴趣包中的数据名称的条目,则根据所述条目中的到达接口
将所述兴趣包转发至下一跳路由器节点或数据生产者;如FIB中没有所述兴趣包中的数据
名称的条目,则将所述兴趣包转发至非全局名称集中点;
[0016] B3、非全局名称集中点在映射关系表中查找所述兴趣包中的数据名称,如找到,将查找到的条目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送
至全局名称集中点;
[0017] B4、全局名称集中点和路由器节点根据封装后兴趣包的转发提示在自身FIB中查找对应的条目,并根据查找到的条目中到达接口转发封装后的兴趣包;所述兴趣包对应的
数据包的第一跳路由器收到封装后的兴趣包时,根据所述兴趣包中的数据名称查找自身
FIB,根据查找到的条目中的到达接口将所述兴趣包转发至数据包生产者;
[0018] B5、当兴趣包到达数据包生产者时,如所述数据包生产者的定时器仍在计时,则所述数据包被请求的次数加一;消费者请求的数据包沿所述兴趣包传输路径逆向返回至消费
者。
[0019] 另一方面,本发明还公开了NDN路由方法,该方法采用上述数据包处理方法对数据包进行处理,采用上述兴趣包处理方法对兴趣包进行处理。
[0020] 另一方面,本发明还公开了NDN数据包生产者,包括第一内容公告包发布模块、定时器、数据包被请求次数统计模块、第二内容公告包发布模块;
[0021] 所述第一内容公告包发布模块用于发布第一内容公告包;
[0022] 所述定时器的定时时长为T,所述定时器在发布第一内容公告包时启动;
[0023] 所述数据包被请求次数统计模块用于统计定时器计时期间所述数据包被请求的次数;
[0024] 所述第二内容公告包发布模块用于发布第二内容公告包;所述第二内容公告包包括所述数据包对应的数据名称和空白的路由器名称。
[0025] 另一方面,本发明还公开了NDN中全局名称集中点,包括第一内容公告包处理模块、第二内容公告包处理模块、兴趣包处理模块;
[0026] 所述第一内容公告包处理模块用于处理收到的第一内容公告包;
[0027] 所述第二内容公告包处理模块用于处理收到的第二内容公告包,具体为:所述全局名称集中点收到第二内容公告包时,首先检索自身FIB中是否有包含第二内容公告包中
数据名称的条目,如有,将其删除;然后检索自身FIB中是否有包含第二内容公告包中路由
器名称的条目,如没有,将第二内容公告包中路由器名称与第二内容公告包到达的接口的
对应关系添加到自身FIB中;并将第二内容公告包转发给非全局名称集中点;
[0028] 所述兴趣包处理模块用于处理收到的兴趣包,具体为:所述全局名称集中点收到兴趣包时,如全局名称集中点查询自身CS、PIT、FIB中都没所述兴趣包中的数据名称对应的
数据或条目,则将所述兴趣包转发至非全局名称集中点;根据非全局名称集中点封装后兴
趣包的转发提示在自身FIB中查找对应的条目,并根据查找到的条目中到达接口转发封装
后的兴趣包。
[0029] 另一方面,本发明还公开了NDN中非全局名称集中点,包括:映射关系表、不流行内容处理模块、不流行内容兴趣包处理模块;
[0030] 所述映射关系表用于存储数据名称、路由器名称和全局名称集中点的对应关系;
[0031] 所述不流行内容处理模块用于处理收到的第二内容公告包,具体为:所述非全局名称集中点收到第二内容公告包时,建立第二内容公告包中的数据名称、路由器名称和全
局名称集中点的对应关系,并添加到预先建立的映射关系表中;
[0032] 所述不流行内容兴趣包处理模块用于处理收到的兴趣包,具体为:非全局名称集中点收到兴趣包时,在映射关系表中查找所述兴趣包中的数据名称,如找到,将查找到的条
目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送至全局名称
集中点。
[0033] 有益效果:本发明公开的技术方案让NDN中的数据包生产者主动发布两种不同类型的内容公告包,将不流行内容的数据名称集中存储,减轻了中间路由器的负载,提高了中
间路由器处理的兴趣包的数目,减少了兴趣包的处理时延,提升了网络的路由可扩展性性
能。此外,引入非全局名称集中点,减轻了全局名称集中点的压力。

附图说明

[0034] 图1为实施例中NDN网络拓扑结构示意图;
[0035] 图2为流行内容兴趣包处理示意图;
[0036] 图3为不流行内容兴趣包处理示意图;
[0037] 图4为路由方法流程图;
[0038] 图5为数据生产者组成结构图;
[0039] 图6为全局名称集中点组成结构图;
[0040] 图7为非全局名称集中点组成结构图。

具体实施方式

[0041] 下面结合附图和具体实施方式,进一步阐明本发明。
[0042] 本发明公开的NDN路由技术适用于命名数据网络的拓扑结构中,该拓扑结构中包括多个中间路由器节点、多个数据包生产者、至少一个全局名称集中点、至少一个非全局名
称集中点。全局名称集中点、非全局名称集中点是功能强大的存储设备,其作用与路由器相
似,但其存储功能要优于中间路由器,可以存储数量较大的名称条目。本实施例以图1所示
的拓扑结构图为例来说明本发明的技术方案,其中包括7个中间路由器节点R1‑R7,名称前
缀为“/router/1”‑“/router/7”、5个数据包生产者、一个全局名称集中点、一个非全局名称
集中点,网络中所有的节点已知网络拓扑结构。
[0043] 数据包的处理步骤为:
[0044] A1、所有的数据包生产者沿着到达全局名称集中点的最短路径发送第一内容公告包到全局名称集中点,第一内容公告包中包含其可以提供的数据名称。5个数据包生产者发
布的第一内容公告包分别为:
[0045] 生产者序号 第一内容公告包1 /tencent/movie
2 /google/scholar
3 /sina/news
4 /kugou/music
5 /baidu/picture
[0046] 每个生产者发布第一内容公告包的同时,将对应数据包被请求的次数清零,并分别启动定时时长为T的定时器。
[0047] 全局名称集中点以及第一内容公告包传输路径上的路由器节点根据第一内容公告包中的数据名称以及传入自身的接口建立FIB。根据图1中的拓扑结构,中间路由器R2、R3
的FIB中只包含生产者2、生产者3、生产者4生产的数据包的数据名称,R1的FIB中只包含生
产者1生产的数据包的数据名称,R7和R6的FIB中只包含生产者5生产的数据包的数据名称,
而全局名称集中点的FIB中包含所有5个生产者生产的数据包的数据名称以及对应的到达
接口。
[0048] 这一步骤首先通过生产者主动发布自己可以提供的数据名称的内容,不需要兴趣包通过泛洪方式来寻找生产者,降低了网络中的流量。其次,数据名称只出现在第一内容公
告包路径上的路由器节点的FIB中,降低了网络中其他路由器节点的FIB表项数目以及负
载。
[0049] A2、随着网络规模的增大,网络中生产者、消费者增多,中间路由器节点以及全局名称集中点的负载和维护的FIB表项数目呈指数增长。这时,流行度较低(被请求频率较低)
的数据名称的生产者主动发送不流行内容公告包,即第二内容公告包,到全局内容名称集
中点。一个数据包是否流行,是通过统计该数据包初次发布时起时长T内被请求的次数来判
断的,如果被请求次数大于预设的阈值,则该数据包为流行数据包,则不做后续处理,其数
据名称存储在全局名称集中点;如果被请求次数小于预设阈值,则进行后续处理;即:定时
器计时结束,生产者统计定时器计时期间所述数据包被请求的次数,如果所述请求次数小
于预设阈值,生产者发布所述数据包对应的第二内容公告包;所述第二内容公告包包括所
述数据包对应的数据名称和空白的路由器名称;
[0050] A3、生产者发布的第二内容公告包中的路由器名称字段是空的,当第一跳路由器节点收到第二内容公告包时,将自身路由器名称添加到第二内容公告包中的“路由器名称”
字段中;之后的路由器节点和全局名称集中点收到第二内容公告包时,首先检索自身FIB中
是否有包含第二内容公告包中数据名称的条目,如有,将其删除;然后检索自身FIB中是否
有包含第二内容公告包中路由器名称的条目,如没有,将第二内容公告包中路由器名称与
第二内容公告包到达的接口的对应关系添加到自身FIB中;
[0051] A4、全局名称集中点将第二内容公告包转发给非全局名称集中点;非全局名称集中点建立第二内容公告包中的数据名称、路由器名称和全局名称集中点的对应关系,并添
加到预先建立的映射关系表中。
[0052] 本实施例中,假设生产者2、生产者3、生产者4这三个生产者在自身定时器计时结束后经统计,判断出自身提供的数据内容是不流行的,发送第二内容公告包到全局名称集
中点。这些第二内容公告包的传输,引发了R3、R2中FIB的更新。当他们到达第一跳路由器R3
时,将R3的路由器名称“/router/3”添加到每个第二内容公告包中的“路由器名称”字段中。
修改后的三个第二内容公告包发送给R2,R2收到包后,在其FIB中删除包含这三个不流行内
容名称的条目,并将R3的路由器名称“/router/3”和第二内容公告包的到达接口“face3”添
加到FIB中,之后将此包发送给全局名称集中点,全局名称集中点收到此包后执行与R2相同
的操作,之后将此包转发给非全局名称集中点,非全局名称集中点建立第二内容公告包中
的数据名称、路由器名称和全局名称集中点的对应关系,并添加到预先建立的映射关系表

[0053] 不流行内容在其发布后一段时间内被请求的次数较少,则后续被请求的次数也会较少,因此不必在中间路由器节点存储这些数据名称和接口的对应关系,特别是在网络规
模增大时。其次,上一步全局名称集中点需要维护所有生产者可提供的数据名称与下一跳
接口的对应关系,导致集中点的负载过大,存在隐患。而加入非全局路由名称集中点可以缓
解全局集中点的压力,使得网络可以承载更大的规模。
[0054] 兴趣包的处理步骤包括:
[0055] B1、数据包消费者发布的兴趣包到达NDN中的路由器节点;所述路由器节点对所述兴趣包做传统操作;
[0056] 所述传统操作为:路由器节点检索自身CS中是否有所述兴趣包中的数据名称对应的数据,如有,则将携带该对应数据的数据包沿所述兴趣包传输路径逆向返回至消费者,并
结束所述兴趣包的处理;如没有,则检索自身PIT中是否有包含所述兴趣包中的数据名称的
条目;如PIT中有包含当前兴趣包中的数据名称的条目,则将兴趣包到达接口添加到所述条
目中;如没有,则检索自身FIB中是否有所述兴趣包中的数据名称的条目;如FIB中有所述兴
趣包中的数据名称的条目,则根据所述条目中的到达接口将所述兴趣包转发至下一跳路由
器节点或数据生产者;如FIB中没有所述兴趣包中的数据名称的条目,则按最短路径向全局
名称集中点转发所述兴趣包;
[0057] 兴趣包传输路径上的每个路由器节点对所述兴趣包做传统操作;
[0058] B2、当所述兴趣包到达全局名称集中点时,全局名称集中点检索自身CS中是否有所述兴趣包中的数据名称对应的数据,如有,则将携带该对应数据的数据包沿所述兴趣包
传输路径逆向返回至消费者,并结束所述兴趣包的处理;如没有,则检索自身PIT中是否有
包含所述兴趣包中的数据名称的条目;如PIT中有包含当前兴趣包中的数据名称的条目,则
将兴趣包到达接口添加到所述条目中;如没有,则检索自身FIB中是否有所述兴趣包中的数
据名称的条目;如FIB中有所述兴趣包中的数据名称的条目,则根据所述条目中的到达接口
将所述兴趣包转发至下一跳路由器节点或数据生产者;如FIB中没有所述兴趣包中的数据
名称的条目,则将所述兴趣包转发至非全局名称集中点;
[0059] B3、非全局名称集中点在映射关系表中查找所述兴趣包中的数据名称,如找到,将查找到的条目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送
至全局名称集中点;
[0060] B4、全局名称集中点和路由器节点根据封装后兴趣包的转发提示在自身FIB中查找对应的条目,并根据查找到的条目中到达接口转发封装后的兴趣包;所述兴趣包对应的
数据包的第一跳路由器收到封装后的兴趣包时,根据所述兴趣包中的数据名称查找自身
FIB,根据查找到的条目中的到达接口将所述兴趣包转发至数据包生产者;
[0061] B5、当兴趣包到达数据包生产者时,如所述数据包生产者的定时器仍在计时,则所述数据包被请求的次数加一;消费者请求的数据包沿所述兴趣包传输路径逆向返回至消费
者。
[0062] 本实施例中,首先处理如下两个兴趣包:
[0063]
[0064] 这两个兴趣包首先到达路由器节点R4。
[0065] 兴趣包1到达中间路由器R4后,查询R4的CS、PIT、FIB,都没有其请求的数据名称条目,R4就将此兴趣包转发至距离全局集中点最近的R1。R1的CS、PIT中同样没有此数据名称
记录,但其FIB中有记录,则R1将此兴趣包从face5接口转发出去,到达生产者1。如图2中实
线箭头所示。
[0066] 兴趣包2同样到达中间路由器R4后,查询R4的CS、PIT、FIB,三者都没有此数据名称的记录,R4将兴趣包转发至R1,R1查询不到后,将其转发至全局名称集中点,全局名称集中
点的FIB中存在“/baidu/picture”的记录,则将兴趣包从face4接口转发,兴趣包到达R6后
从face2被转发,到达R7后从facel被转发,最终到达生产者5。如图2虚线箭头所示。
[0067] 当生产者根据定时器计时期间的数据包请求次数确定了流行内容与不流行内容,并处理了相应的数据包后,NDN中的R4收到了如下兴趣包:
[0068]兴趣包3
/sina/news
[0069] 兴趣包3到达R4后,首先查询R4的CS、PIT、FIB中都无“/sina/news”前缀条目,则R4将其转发给R1,R1中同样没有此名称前缀,R1将其转发给全局名称集中点,全局名称集中点
查询后同样没有此名称前缀,则将其转发给非全局名称集中点,在非全局名称集中点的映
射关系表中找到了数据名称为“/sina/news”、路由器名称为“/router/3”的条目,将“/
router/3”封装到兴趣包3中作为转发提示,再将封装后的兴趣包3转发给全局名称集中点。
全局名称集中点检索兴趣包3中的转发提示,找到了“/router/3”所对应的下一跳接口
“face3”,通过此接口将兴趣包转发给R2,R2同样检索转发提示通过接口“face3”将兴趣包3
转发给R3,R3的FIB中存在其请求的数据名称前缀“/sina/news”,通过接口“face3”转发到
达生产者3,如图3箭头所示。
[0070] 数据包处理步骤和兴趣包处理步骤组成的路由方法步骤如图4所示。
[0071] 本发明还公开了NDN数据包生产者1,包括第一内容公告包发布模块11、定时器12、数据包被请求次数统计模块13、第二内容公告包发布模块14,如图5所示;
[0072] 所述第一内容公告包发布模块11用于发布第一内容公告包;
[0073] 所述定时器12的定时时长为T,所述定时器在发布第一内容公告包时启动;
[0074] 所述数据包被请求次数统计模块13用于统计定时器计时期间所述数据包被请求的次数;
[0075] 所述第二内容公告包发布模块14用于发布第二内容公告包;所述第二内容公告包包括所述数据包对应的数据名称和空白的路由器名称。
[0076] 本发明还公开了NDN中全局名称集中点2,包括第一内容公告包处理模块21、第二内容公告包处理模块22、兴趣包处理模块23,如图6所示;
[0077] 所述第一内容公告包处理模块21用于处理收到的第一内容公告包;
[0078] 所述第二内容公告包处理模块22用于处理收到的第二内容公告包,具体为:所述全局名称集中点收到第二内容公告包时,首先检索自身FIB中是否有包含第二内容公告包
中数据名称的条目,如有,将其删除;然后检索自身FIB中是否有包含第二内容公告包中路
由器名称的条目,如没有,将第二内容公告包中路由器名称与第二内容公告包到达的接口
的对应关系添加到自身FIB中;并将第二内容公告包转发给非全局名称集中点;
[0079] 所述兴趣包处理模块23用于处理收到的兴趣包,具体为:所述全局名称集中点收到兴趣包时,如全局名称集中点查询自身CS、PIT、FIB中都没所述兴趣包中的数据名称对应
的数据或条目,则将所述兴趣包转发至非全局名称集中点;根据非全局名称集中点封装后
兴趣包的转发提示在自身FIB中查找对应的条目,并根据查找到的条目中到达接口转发封
装后的兴趣包。
[0080] 本发明还公开了NDN中非全局名称集中点3,包括:映射关系表32、不流行内容处理模块31、不流行内容兴趣包处理模块33,如图7所示;
[0081] 所述映射关系表32用于存储数据名称、路由器名称和全局名称集中点的对应关系;
[0082] 所述不流行内容处理模块31用于处理收到的第二内容公告包,具体为:所述非全局名称集中点收到第二内容公告包时,建立第二内容公告包中的数据名称、路由器名称和
全局名称集中点的对应关系,并添加到预先建立的映射关系表中;
[0083] 所述不流行内容兴趣包处理模块33用于处理收到的兴趣包,具体为:非全局名称集中点收到兴趣包时,在映射关系表中查找所述兴趣包中的数据名称,如找到,将查找到的
条目中路由器名称作为转发提示封装到所述兴趣包中,并将封装后的兴趣包发送至全局名
称集中点。
[0084] 以上实施实例仅用以说明本发明的技术方案而非对其限制,本领域的普通技术人员可以对本技术方案进行修改或替换,而不脱离本发明的精神和范围,本发明的保护范围
应以权利要求所属为准。