CN114257654B - 一种基于分级思想的命名数据网络顺序缓存方法 - Google Patents
一种基于分级思想的命名数据网络顺序缓存方法 Download PDFInfo
- Publication number
- CN114257654B CN114257654B CN202210184690.5A CN202210184690A CN114257654B CN 114257654 B CN114257654 B CN 114257654B CN 202210184690 A CN202210184690 A CN 202210184690A CN 114257654 B CN114257654 B CN 114257654B
- Authority
- CN
- China
- Prior art keywords
- router
- data packet
- field
- packet
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于分级思想的命名数据网络顺序缓存方法,路由器在接收数据包时,数据包内容,计算当前路由器在当前路径中的等级,计算当前路径中路由器总数目,计算当前路由器在当前路径同内容请求者的相对距离,计算当前路由器在当前路径同内容生产者的相对距离,计算当前路由器中内容存储器剩余缓存容量,数据包大小以及缓存标志字段的值,计算完毕综合进行缓存判断。本发明通过分级的思想,将用户请求频繁的数据通过逐级缓存快速分布到用户周围路由器中,减少了用户请求数据的等待时间,同时通过顺序缓存方式,使得数据合理分配缓存,有效提高了数据包的缓存命中率,减少了平均请求时延和平均路由跳数。
Description
技术领域
本发明属于信息中心网络缓存技术领域,更具体涉及一种基于分级思想的命名数据网络顺序缓存方法。
背景技术
现今互联网仍在飞速发展,网络的内容多样性日益增长,但传统的IP网络架构仍然沿用上世纪的设计理念,传统网络架构面临越来越多的技术挑战。为了解决传统网络架构在网络拓展,安全,灵活和移动等方面的不适应性问题,近几年,世界各国都在关注设计全新的未来互联网体系架构,其中主流研究方向之一就是信息中心网络。信息中心网络(Information-Centric Networking,ICN),是以数据内容为核心的网络交换体系架构,其中数据进行传输的主体是带有标识的数据包,而传输是通过标识与数据之前的映射关系来驱动,同数据在网络中的位置无关。命名数据网络(Named-Data Networking,NDN)是ICN网络中的一个典型项目,通过搭建网络体系架构,实现数据内容的寻址,转发,路由,缓存等功能。NDN传统缓存方案为沿途缓存(Cache Everything Everywhere,CEE),该方案会使得每个路由节点缓存相同内容,导致路由器中出现大量重复内容。研究人员提出了下一跳缓存(Leave Copy Down,LCD)方案,该方案使数据缓存在其命中节点的下一跳,但数据需要较多请求次数才能缓存在距离内容请求者最近的路由器中,这样会使得数据较慢缓存到内容请求者周围路由器,降低请求效率。有人提出一种基于概率存储的缓存方案,路由器每接收到一个数据包,按照0.5的概率进行一次计算判断是否缓存该数据包,该方案能使得路由器缓存更多数据,但存在较大的不确定性。
发明内容
本发明的目的在于解决现有技术中存在的上述问题,提供一种基于分级思想的命名数据网络顺序缓存方法。
本发明的上述目的通过以下技术手段实现:
一种基于分级思想的命名数据网络顺序缓存方法,包括以下步骤:
步骤1、内容请求者CR发起数据请求,封装兴趣包通过所有可用接口向外发送,兴趣包包括内容名称字段、选择器字段、随机数字段、以及兴趣包跳数字段,内容请求者CR将兴趣包的兴趣包跳数IH字段内容初始为0;
步骤2、路由器接收兴趣包,根据读取的内容名称检索路由器的内容存储器CS,若存在相同内容名称的匹配项,则封装数据包,并将将缓存标志值设置为0封装在数据包的缓存标志CT字段中,数据包包括内容名称字段、签名字段、签信息字段、数据字段、数据包跳数字段和缓存标志字段,将数据包从兴趣包进入的接口IF发送回去,进入步骤6;若不存在相同内容名称的匹配项,则进入步骤3;
步骤3、路由器从内容存储器CS中未查询到匹配项,继续查询待定兴趣表PIT,待定兴趣表包括内容名称项、进入接口项、以及兴趣包跳数项,根据内容名称在待定兴趣表中查询是否存在匹配项,若存在匹配项,在待定兴趣表中新增条目,记录兴趣包的内容名称,兴趣包的进入接口以及兴趣包跳数,记录完毕后该兴趣包丢弃;否则转向步骤4;
步骤4、路由器从待定兴趣表PIT中未查询到匹配项,根据兴趣包的内容名称在转发信息库中查询是否存在匹配项,若存在匹配项,在兴趣待定表中新增条目项,记录该兴趣包的内容名称,进入接口以及兴趣包跳数,记录完毕路由器查询转发信息库FIB中对应匹配项的接口队列信息,将兴趣包跳数IH字段原有数值加1并从本步骤查询的接口队列对外发送;否则将兴趣包丢弃;
步骤5、内容生产者CP解析兴趣包中内容名称CN字段信息以及兴趣包跳数IH字段值,封装数据包,内容生产者CP将缓存标志值设置为2封装在数据包的缓存标志CT字段中,将数据包跳数初始为0封装在数据包跳数DH字段中,将数据包从兴趣包进入的接口IF发送回去;
步骤6、路由器接收数据包,并解析数据包内容,计算当前路由器在当前路径中的等级level,计算当前路径中路由器总数目TH,计算当前路由器在当前路径同内容请求者CR的相对距离DTR, 计算当前路由器在当前路径同内容生产者CP的相对距离DTP,计算当前路由器中内容存储器CS剩余缓存容量RCS,数据包大小DPS以及缓存标志CT字段的值,计算完毕进行缓存判断。
如上所述的步骤6包括以下步骤:
步骤6.1、路由器读取数据包内容名称CN字段;
步骤6.2、路由器读取数据包跳数DH字段的值;
步骤6.3、路由器读取数据包缓存标志CT字段的值;
步骤6.4、路由器根据数据包内容名称同待定兴趣表PIT中的内容名称进行匹配;
步骤6.5、路由器查询出待定兴趣表PIT中内容名称的匹配项中对应兴趣包的进入接口信息;
步骤6.6、路由器查询出待定兴趣表PIT的内容名称的匹配项中兴趣包跳数IH的值;
步骤6.7、路由器计算出当前路径中路由器总数目TH的值,计算公式为:
其中,DH为数据包跳数,IH为兴趣包跳数;
步骤6.8、路由器计算在当前路径中的等级level,计算公式为:
其中,first为第Ⅰ级,second为第Ⅱ级,third为第Ⅲ级;
步骤6.9、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值,计算公式为:
步骤6.10、路由器计算在当前路径中同内容生产者CP的相对距离DTP的值,计算公式为:
步骤6.11、路由器判断数据包的数据包缓存标志CT字段的值,若数据包缓存标志CT字段的值大于2,转向步骤6.12;若数据包缓存标志CT字段的值等于2,转向步骤6.13;若数据包缓存标志CT字段的值等于1则不修改该数据包缓存标志CT字段的值,转向步骤6.19;若数据包缓存标志CT字段的值等于0,转向步骤6.15;
步骤6.12、路由器修改数据包中缓存标志CT字段的值,将原有缓存标志CT字段的值减去1,修改完毕转向步骤6.19;
步骤6.13、路由器比较当前路由器的内容存储器CS的剩余缓存容量RCS和数据包大小DPS,若当前路由器中内容存储器CS剩余缓存容量RCS大于数据包大小DPS,将该数据包缓存在当前路由器内容存储器CS中,同时将数据包中的缓存标志CT字段的值设置为1,转向步骤6.19;否则转向步骤6.14;
步骤6.14、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值是否为0,若为0则将内容存储器CS中最近时间内最久未使用的数据包替换为新到达的数据包,替换完毕将新到达的数据包中的缓存标志CT字段的值设置为1,转向步骤6.19;若不为0则将数据包中的缓存标志CT字段的值设置为2,转向步骤6.19;
步骤6.15、路由器计算在当前路径中同内容生产者CP的相对距离DTP的值是否为0,若为0,进入步骤6.16;否则,转向步骤6.18;
步骤6.16、若当前路由器中内容存储器CS剩余缓存容量RCS大于数据包大小DPS,则将数据包缓存在当前路由器中,并且将数据包的缓存标志字段值设置为1,当前次传输的数据包在路由路径中的传输过程中,已经对数据包缓存完毕,设置完毕转向步骤6.19,否则转向步骤6.17;
步骤6.17、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值是否为0,若为0,则将本地内容存储器CS中最近时间内最久未使用的数据包替换为新到达的数据包,替换完毕将数据包的缓存标志CT字段的值设置为1,转向步骤6.19,若不为0,则将数据包中的缓存标志CT字段的值设置为2,转向步骤6.19;
步骤6.18、路由器按照如下公式设置数据包的缓存标志CT字段的值:
设置完毕转向步骤6.19;
步骤6.19、路由器查询待定兴趣表PIT中对应兴趣包的进入接口信息;
步骤6.20、路由器更新数据包跳数DH字段的值,将原数据包跳数DH字段的值加上1;
步骤6.21、路由器从步骤6.19查询到的进入接口将数据包跳数DH字段更新完毕的数据包发送出去;
步骤6.22、路由器在数据包发送完成后清除待定兴趣表PIT中数据包对应的兴趣包的相关内容。
本发明相对于现有技术,具有以下优点:
1、通过分级,将用户请求频繁的数据通过逐级缓存快速分布到用户周围路由器中,减少了用户请求数据的等待时间;
2、在节点较多的网络环境下,该方法能使网络中路由器缓存更多的数据内容,有效降低服务器负载量;
3、有效降低冗余缓存以及无效缓存,实现网络化缓存资源的合理利用。
4、 通过顺序缓存方式,使得数据合理分配缓存,相比概率缓存的不确定性,能更好的提升网络系统的持续缓存性能。
附图说明
图1为数据包格式示意图;
图2为兴趣包格式示意图;
图3为等级划分示意图,其中,R1-Ri为第Ⅲ级路由器,Ri+1-Rj为第Ⅱ级路由器,Rj+1-Rk为第Ⅰ级路由器;
图4为待定兴趣表PIT结构示意图;
图5为转发信息库数据结构示意图;
图6为路由器总数目TH与数据包跳数DH、兴趣包跳数IH的关系示意图,其中,上行的0、1…n-1、n代表兴趣包跳数IH,下行的0、1…n-1、n代表数据包跳数DH,R1、R2…Rn、Rn+1代表各个路由器;
图7为兴趣包转发流程示意图;
图8为步骤6的流程示意图;
图9为内容生产者CP的服务器负载量示意图;
图10为邻接路由器的吞吐量示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
一种基于分级思想的命名数据网络顺序缓存方法,包括以下步骤:
步骤1、内容请求者CR发起数据请求,封装兴趣包通过所有可用接口向外发送,兴趣包结构如图2所示,兴趣包包括内容名称字段、选择器字段、随机数字段、以及兴趣包跳数字段;
步骤1.1、内容请求者CR将需要请求的内容名称封装在兴趣包的内容名称CN字段中;
步骤1.2、内容请求者CR创建一个随机数封装在兴趣包的随机数(Nonce)字段;
步骤1.3、内容请求者CR将兴趣包的兴趣包跳数IH字段内容初始为0;
步骤1.4、内容请求者CR封装选择器(Selector)字段;
步骤1.5、内容请求者CR查询本机所有可用接口;
步骤1.6、内容请求者CR将封装完毕的兴趣包从所有可用接口发送出去;
步骤2、路由器接收兴趣包,并读取兴趣包内容,根据读取的内容名称检索内容存储器CS,若存在相同内容名称的匹配项,则封装数据包,数据包包括内容名称字段、签名字段、签信息字段、数据字段、数据包跳数字段和缓存标志字段,将数据包从兴趣包进入的接口IF发送回去,进入步骤6;若不存在相同内容名称的匹配项,则进入步骤3;
步骤2.1、路由器接收兴趣包后解析内容名称CN字段信息;
步骤2.2、路由器接收兴趣包后解析兴趣包跳数IH字段信息;
步骤2.3、路由器将解析获得的内容名称同内容存储器CS中内容名称进行匹配;
步骤2.4、若存在相同内容名称的匹配项,进入步骤2.5。否则转到步骤3;
步骤2.5、路由器从内容存储器CS中获取兴趣包的内容名称对应的数据内容;
步骤2.6、路由器将数据内容封装在数据包的数据Data字段中;
步骤2.7、路由器将内容名称封装在数据包的内容名称CN字段中;
步骤2.8、路由器将数据包跳数信息封装在数据包跳数DH字段中;
步骤2.9、路由器将缓存标志值设置为0封装在数据包的缓存标志CT字段中;
步骤2.10、路由器将数据包其余字段(包括签名字段、签信息字段)进行封装;
步骤2.11、封装数据包完毕,路由器将数据包从兴趣包进入的接口IF发送回去,兴趣包转发流程如图7所示,进入步骤6;
步骤3、路由器从内容存储器CS中未查询到匹配项,继续查询待定兴趣表PIT,待定兴趣表结构如图4所示,待定兴趣表包括三项内容,分别是内容名称项(Content Name,CN),进入接口项(Incoming Face, IF),以及兴趣包跳数项(IntHop),根据内容名称在待定兴趣表中查询是否存在匹配项;
步骤3.1、路由器将兴趣包的内容名称同待定兴趣表中内容名称项CN进行匹配;
步骤3.2、若存在匹配项,进入步骤3.3。否则转向步骤4;
步骤3.3、在待定兴趣表中新增条目,记录兴趣包的内容名称,兴趣包的进入接口以及兴趣包跳数;
步骤3.4、记录完毕,路由器将该兴趣包丢弃,兴趣包的发送过程结束;
步骤4、路由器从待定兴趣表PIT中未查询到匹配项,继续查询转发信息库FIB,转发信息库数据结构如图5所示,其内容通过命名数据网络链路状态路由协议(Name-dataLink State Routing protocol, NLSR)进行填充,根据兴趣包的内容名称在转发信息库中查询是否存在匹配项;
步骤4.1、路由器将兴趣包的内容名称同转发信息库FIB中的内容名称进行匹配 ;
步骤4.2、若存在匹配项,进入步骤4.3,否则说明路由器无法处理该兴趣包,将兴趣包丢弃;
步骤4.3、在兴趣待定表中新增条目项,记录该兴趣包的内容名称,进入接口以及兴趣包跳数;
步骤4.4、记录完毕路由器查询转发信息库FIB中对应匹配项的接口队列信息;
步骤4.5、查询完毕将兴趣包跳数IH字段原有数值加1,完成兴趣包跳数IH字段更新操作;
步骤4.6、更新完毕路由器将兴趣包从步骤4.4中查询到的接口转发出去;
步骤5、内容生产者CP解析兴趣包中内容名称CN字段信息以及兴趣包跳数IH字段值,封装数据包,数据包包括内容名称字段、签名字段、签信息字段、数据字段、数据包跳数字段和缓存标志字段,将数据包从兴趣包进入的接口IF发送回去;
步骤5.1、内容生产者CP根据解析的内容名称CN字段信息从内容服务器中获取请求的数据内容并且封装成数据包进行返回,数据包结构如图1所示;
步骤5.2、内容生产者CP将内容名称封装进数据包的内容名称CN字段中;
步骤5.3、内容生产者CP将数据内容封装进数据包的数据Data字段中;
步骤5.4、内容生产者CP将缓存标志值设置为2封装在数据包的缓存标志CT字段中;
步骤5.5、内容生产者CP将数据包跳数初始为0封装在数据包跳数DH字段中;
步骤5.6、内容生产者CP将数据包其余字段(包括签名字段、签信息字段)进行封装;
步骤5.7、封装数据包完毕,内容生产者CP将数据包从兴趣包进入的接口IF发送回去;
步骤6、路由器接收数据包,并解析数据包内容,计算当前路由器在当前路径中的等级level(等级划分方案如图3所示),计算当前路径中路由器总数目TH,计算当前路由器在当前路径同内容请求者CR的相对距离DTR, 计算当前路由器在当前路径同内容生产者CP的相对距离DTP,计算当前路由器中内容存储器CS剩余缓存容量RCS,数据包大小DPS以及缓存标志CT字段的值,计算完毕进行缓存判断;
步骤6.1、路由器读取数据包内容名称CN字段;
步骤6.2、路由器读取数据包跳数DH字段的值;
步骤6.3、路由器读取数据包缓存标志CT字段的值;
步骤6.4、路由器根据数据包内容名称同待定兴趣表PIT中的内容名称进行匹配;
步骤6.5、路由器查询出待定兴趣表PIT中内容名称的匹配项中对应兴趣包的进入接口信息;
步骤6.6、路由器查询出待定兴趣表PIT的内容名称的匹配项中兴趣包跳数IH的值;
步骤6.7、路由器计算出当前路径中路由器总数目TH的值,计算公式为:
其中,DH为数据包跳数,IH为兴趣包跳数。
路径中对应数值如图6所示,
步骤6.8、路由器计算在当前路径中的等级level,计算公式为:
其中,first为第Ⅰ级,second为第Ⅱ级,third为第Ⅲ级。
步骤6.9、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值,计算公式为:
若DTR值为0,说明该路由器在当前路径所有同等级路由器中距离内容请求者CR最近;
步骤6.10、路由器计算在当前路径中同内容生产者CP的相对距离DTP的值,计算公式为:
若DTP值为0,说明该路由器在当前路径所有同等级路由器中距离内容生产者CP最近;
步骤6.11、路由器判断数据包的数据包缓存标志CT字段的值,若数据包缓存标志CT字段的值大于2,说明当前路由器的内容存储器CS不需要对数据包进行缓存,转向步骤6.12;若数据包缓存标志CT字段的值等于2,说明当前路由器的内容存储器CS需要对数据包进行缓存,转向步骤6.13;若数据包缓存标志CT字段的值等于1则不修改该数据包缓存标志CT字段的值,说明当前次传输的数据包在路由路径中的传输过程中,已经对数据包缓存完毕,转向步骤6.19;若数据包缓存标志CT字段的值等于0,说明数据包从上一个路由器的内容存储器CS中生成,需要进行判断是否需要进行缓存,转向步骤6.15;
步骤6.12、路由器修改数据包中缓存标志CT字段的值,将原有缓存标志CT字段的值减去1,修改完毕转向步骤6.19;
步骤6.13、路由器比较当前路由器的内容存储器CS的剩余缓存容量RCS和数据包大小DPS,若当前路由器中内容存储器CS剩余缓存容量RCS大于数据包大小DPS,将该数据包缓存在当前路由器内容存储器CS中,同时将数据包中的缓存标志CT字段的值设置为1,当前次传输的数据包在路由路径中的传输过程中,已经对数据包缓存完毕,设置完毕转向步骤6.19;否则转向步骤6.14;
步骤6.14、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值是否为0,若为0则通过LRU规则(Least Recently Used)将内容存储器CS中最近时间内最久未使用的数据包替换为新到达的数据包,替换完毕将新到达的数据包中的缓存标志CT字段的值设置为1,转向步骤6.19。若不为0则将数据包中的缓存标志CT字段的值设置为2,转向步骤6.19;
步骤6.15、路由器计算在当前路径中同内容生产者CP的相对距离DTP的值是否为0,若为0,说明数据包从上一个路由器的内容存储器CS中生成,且当前路由器在同等级路由器中与内容生产者CP最近,需要进行一次缓存,进入步骤6.16;否则,转向步骤6.18;
步骤6.16、若当前路由器中内容存储器CS剩余缓存容量RCS大于数据包大小DPS,则将数据包缓存在当前路由器中,并且将数据包的缓存标志字段值设置为1,说明当前次传输的数据包在路由路径中的传输过程中,已经对数据包缓存完毕,设置完毕转向步骤6.19,否则转向步骤6.17;
步骤6.17、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值是否为0,若为0,则说明当前路由器在同等级路由器中与内容请求者CR最近,则通过LRU规则(Least Recently Used)将本地内容存储器CS中最近时间内最久未使用的数据包替换为新到达的数据包,替换完毕将数据包的缓存标志CT字段的值设置为1,转向步骤6.19,若不为0,则说明当前路由器在同等级路由器中与内容请求者CR不是最近,则将数据包中的缓存标志CT字段的值设置为2,下一个路由器需要对数据包进行缓存,转向步骤6.19;
步骤6.18、路由器按照如下公式设置数据包的缓存标志CT字段的值:
设置完毕转向步骤6.19;
步骤6.19、路由器查询待定兴趣表PIT中对应兴趣包的进入接口信息;
步骤6.20、路由器更新数据包跳数DH字段的值,将原数据包跳数DH字段的值加上1;
步骤6.21、路由器从步骤6.19查询到的进入接口将数据包跳数DH字段更新完毕的数据包发送出去,数据包转发流程如图8所示;
步骤6.22、路由器在数据包发送完成后清除待定兴趣表PIT中数据包对应的兴趣包的相关内容;
步骤 7、基于以上步骤,通过仿真测试方案性能;
步骤7.1、使用拓扑生成器随机生成一个具有500个节点的NDN网络拓扑,在网络中心设置1个内容生产者CP,在网络边缘设置10个内容请求者CR;
步骤7.2、在仿真过程中,将内容请求者CR发送兴趣包速率设置为100(interest/s),其发送过程符合泊松分布;而内容请求者CR根据Zipf-Mandelbrot分布请求数据内容,其中Zipf参数α一般取[0.2,1.5],参数α控制数据内容请求集中程度,参数α越大内容请求者CR请求的数据内容越集中,本次实验中将参数α控制为0.9;数据内容总数设置为6000个;路由器中内容存储器CS大小设置为50Mb;仿真时间设置为50s。
步骤7.3、计算出内容生产者CP的服务器负载量(Server Load, SL),其实验结果如图9所示,其计算时间间隔为1s。
步骤7.4、随机选取5个内容请求者CR的邻接路由器,计算出邻接路由器的吞吐量(throughput),实验结果如图10所示,其计算时间间隔为1s。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (1)
1.一种基于分级思想的命名数据网络顺序缓存方法,其特征在于,包括以下步骤:
步骤1、内容请求者CR发起数据请求,封装兴趣包通过所有可用接口向外发送,兴趣包包括内容名称字段、选择器字段、随机数字段、以及兴趣包跳数字段,内容请求者CR将兴趣包的兴趣包跳数IH字段内容初始为0;
步骤2、路由器接收兴趣包,根据读取的内容名称检索路由器的内容存储器CS,若存在相同内容名称的匹配项,则封装数据包,并将缓存标志值设置为0封装在数据包的缓存标志CT字段中,数据包包括内容名称字段、签名字段、签信息字段、数据字段、数据包跳数字段和缓存标志字段,将数据包从兴趣包进入的接口IF发送回去,进入步骤6;若不存在相同内容名称的匹配项,则进入步骤3;
步骤3、路由器从内容存储器CS中未查询到匹配项,继续查询待定兴趣表PIT,待定兴趣表包括内容名称项、进入接口项、以及兴趣包跳数项,根据内容名称在待定兴趣表中查询是否存在匹配项,若存在匹配项,在待定兴趣表中新增条目,记录兴趣包的内容名称,兴趣包的进入接口以及兴趣包跳数,记录完毕后该兴趣包丢弃;否则转向步骤4;
步骤4、路由器从待定兴趣表PIT中未查询到匹配项,根据兴趣包的内容名称在转发信息库中查询是否存在匹配项,若存在匹配项,在待定兴趣表中新增条目项,记录该兴趣包的内容名称,进入接口以及兴趣包跳数,记录完毕路由器查询转发信息库FIB中对应匹配项的接口队列信息,将兴趣包跳数IH字段原有数值加1并从本步骤查询的接口队列对外发送;否则将兴趣包丢弃;
步骤5、内容生产者CP解析兴趣包中内容名称CN字段信息以及兴趣包跳数IH字段值,封装数据包,内容生产者CP将缓存标志值设置为2封装在数据包的缓存标志CT字段中,将数据包跳数初始为0封装在数据包跳数DH字段中,将数据包从兴趣包进入的接口IF发送回去;
步骤6、路由器接收数据包,并解析数据包内容,计算当前路由器在当前路径中的等级level,计算当前路径中路由器总数目TH,计算当前路由器在当前路径同内容请求者CR的相对距离DTR, 计算当前路由器在当前路径同内容生产者CP的相对距离DTP,计算当前路由器中内容存储器CS剩余缓存容量RCS,数据包大小DPS以及缓存标志CT字段的值,计算完毕进行缓存判断,
所述的步骤6包括以下步骤:
步骤6.1、路由器读取数据包内容名称CN字段;
步骤6.2、路由器读取数据包跳数DH字段的值;
步骤6.3、路由器读取数据包缓存标志CT字段的值;
步骤6.4、路由器根据数据包内容名称同待定兴趣表PIT中的内容名称进行匹配;
步骤6.5、路由器查询出待定兴趣表PIT中内容名称的匹配项中对应兴趣包的进入接口信息;
步骤6.6、路由器查询出待定兴趣表PIT的内容名称的匹配项中兴趣包跳数IH的值;
步骤6.7、路由器计算出当前路径中路由器总数目TH的值,计算公式为:
其中,DH为数据包跳数,IH为兴趣包跳数;
步骤6.8、路由器计算在当前路径中的等级level,计算公式为:
其中,first为第Ⅰ级,second为第Ⅱ级,third为第Ⅲ级;
步骤6.9、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值,计算公式为:
步骤6.10、路由器计算在当前路径中同内容生产者CP的相对距离DTP的值,计算公式为:
步骤6.11、路由器判断数据包的数据包缓存标志CT字段的值,若数据包缓存标志CT字段的值大于2,转向步骤6.12;若数据包缓存标志CT字段的值等于2,转向步骤6.13;若数据包缓存标志CT字段的值等于1则不修改该数据包缓存标志CT字段的值,转向步骤6.19;若数据包缓存标志CT字段的值等于0,转向步骤6.15;
步骤6.12、路由器修改数据包中缓存标志CT字段的值,将原有缓存标志CT字段的值减去1,修改完毕转向步骤6.19;
步骤6.13、路由器比较当前路由器的内容存储器CS的剩余缓存容量RCS和数据包大小DPS,若当前路由器中内容存储器CS剩余缓存容量RCS大于数据包大小DPS,将该数据包缓存在当前路由器内容存储器CS中,同时将数据包中的缓存标志CT字段的值设置为1,转向步骤6.19;否则转向步骤6.14;
步骤6.14、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值是否为0,若为0则将内容存储器CS中最近时间内最久未使用的数据包替换为新到达的数据包,替换完毕将新到达的数据包中的缓存标志CT字段的值设置为1,转向步骤6.19;若不为0则将数据包中的缓存标志CT字段的值设置为2,转向步骤6.19;
步骤6.15、路由器计算在当前路径中同内容生产者CP的相对距离DTP的值是否为0,若为0,进入步骤6.16;否则,转向步骤6.18;
步骤6.16、若当前路由器中内容存储器CS剩余缓存容量RCS大于数据包大小DPS,则将数据包缓存在当前路由器中,并且将数据包的缓存标志字段值设置为1,当前次传输的数据包在路由路径中的传输过程中,已经对数据包缓存完毕,设置完毕转向步骤6.19,否则转向步骤6.17;
步骤6.17、路由器计算在当前路径中同内容请求者CR的相对距离DTR的值是否为0,若为0,则将本地内容存储器CS中最近时间内最久未使用的数据包替换为新到达的数据包,替换完毕将数据包的缓存标志CT字段的值设置为1,转向步骤6.19,若不为0,则将数据包中的缓存标志CT字段的值设置为2,转向步骤6.19;
步骤6.18、路由器按照如下公式设置数据包的缓存标志CT字段的值:
设置完毕转向步骤6.19;
步骤6.19、路由器查询待定兴趣表PIT中对应兴趣包的进入接口信息;
步骤6.20、路由器更新数据包跳数DH字段的值,将原数据包跳数DH字段的值加上1;
步骤6.21、路由器从步骤6.19查询到的进入接口将数据包跳数DH字段更新完毕的数据包发送出去;
步骤6.22、路由器在数据包发送完成后清除待定兴趣表PIT中数据包对应的兴趣包的相关内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210184690.5A CN114257654B (zh) | 2022-02-28 | 2022-02-28 | 一种基于分级思想的命名数据网络顺序缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210184690.5A CN114257654B (zh) | 2022-02-28 | 2022-02-28 | 一种基于分级思想的命名数据网络顺序缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257654A CN114257654A (zh) | 2022-03-29 |
CN114257654B true CN114257654B (zh) | 2022-05-20 |
Family
ID=80797098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210184690.5A Active CN114257654B (zh) | 2022-02-28 | 2022-02-28 | 一种基于分级思想的命名数据网络顺序缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257654B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113382053A (zh) * | 2021-04-23 | 2021-09-10 | 河南科技大学 | 基于节点半局部中心性和内容热度的内容主动推送方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3115904B1 (en) * | 2015-07-06 | 2018-02-28 | Alcatel Lucent | Method for managing a distributed cache |
CN111611613B (zh) * | 2020-04-28 | 2023-05-23 | 网络通信与安全紫金山实验室 | 基于icn的工业互联网标识解析系统及数据访问方法 |
CN111935031B (zh) * | 2020-06-22 | 2022-02-11 | 北京邮电大学 | 一种基于ndn架构的流量优化方法及系统 |
CN113783779B (zh) * | 2021-09-10 | 2022-06-28 | 中南民族大学 | 命名数据网络中分级随机缓存方法 |
CN114025020B (zh) * | 2022-01-06 | 2022-04-22 | 中南民族大学 | 一种基于二分法的命名数据网络缓存方法 |
-
2022
- 2022-02-28 CN CN202210184690.5A patent/CN114257654B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113382053A (zh) * | 2021-04-23 | 2021-09-10 | 河南科技大学 | 基于节点半局部中心性和内容热度的内容主动推送方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114257654A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104753797B (zh) | 一种基于选择性缓存的内容中心网络动态路由方法 | |
JP5624331B2 (ja) | コンピュータ実施方法 | |
CA2363963C (en) | Network router search engine using compressed tree forwarding table | |
US6449256B1 (en) | Fast level four switching using crossproducting | |
EP2530899A1 (en) | Method and node for obtaining the content and content network | |
CN101009656A (zh) | 路由系统及其管理规则条目的方法 | |
CN108900570B (zh) | 一种基于内容价值的缓存替换方法 | |
Wang et al. | CoPTUA: Consistent policy table update algorithm for TCAM without locking | |
JP2006313949A (ja) | パケット転送装置 | |
CN114025020B (zh) | 一种基于二分法的命名数据网络缓存方法 | |
CN113783779B (zh) | 命名数据网络中分级随机缓存方法 | |
CN102438020A (zh) | 内容分发网络中内容分发的方法、设备和网络系统 | |
US7487255B2 (en) | Routing cache management with route fragmentation | |
JPH06261078A (ja) | テーブル検索方法及びルータ装置 | |
CN108289062A (zh) | 一种基于软件定义的信息中心网络结构 | |
US20210083976A1 (en) | Method for content caching in information-centric network virtualization | |
CN112399485A (zh) | 一种6g中基于ccn的新节点价值和内容流行度缓存方法 | |
CN110072196B (zh) | 为命名数据网络提供面向区块链应用的通信方法及系统 | |
US20040093430A1 (en) | Method and system for managing communication in a computer network using aliases of computer network addresses | |
CN114257654B (zh) | 一种基于分级思想的命名数据网络顺序缓存方法 | |
Yang et al. | Providing cache consistency guarantee for ICN-based IoT based on push mechanism | |
Yang et al. | Content-based hyperbolic routing and push mechanism in named data networking | |
CN112688880B (zh) | 命名数据网络中一种降低冗余数据包传输方法 | |
CN107302571B (zh) | 基于果蝇算法的信息中心网络路由和缓存管理方法 | |
Chen et al. | Improving NDN forwarding engine performance by rendezvous-based caching and forwarding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |