CN114710561B - 基于协议无关转发的网内内容缓存方法、装置及电子设备 - Google Patents

基于协议无关转发的网内内容缓存方法、装置及电子设备 Download PDF

Info

Publication number
CN114710561B
CN114710561B CN202210338341.4A CN202210338341A CN114710561B CN 114710561 B CN114710561 B CN 114710561B CN 202210338341 A CN202210338341 A CN 202210338341A CN 114710561 B CN114710561 B CN 114710561B
Authority
CN
China
Prior art keywords
data packet
packet
cache
target
interest
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
Application number
CN202210338341.4A
Other languages
English (en)
Other versions
CN114710561A (zh
Inventor
伊鹏
侯赛凤
胡宇翔
田乐
李梦龙
裴金川
丁瑞浩
张汝云
徐琪
沈从麒
闫林林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Zhejiang Lab
Original Assignee
Information Engineering University of PLA Strategic Support Force
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force , Zhejiang Lab filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202210338341.4A priority Critical patent/CN114710561B/zh
Publication of CN114710561A publication Critical patent/CN114710561A/zh
Application granted granted Critical
Publication of CN114710561B publication Critical patent/CN114710561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供的基于协议无关转发的网内内容缓存方法、装置及电子设备,对于生产者输出的数据包,能够在该数据包命中PIT表的情况下,解析该数据包中的内容缓存类型;在该内容缓存类型为表征确保重传的第一类型的情况下,根据不同兴趣包的请求计数值计算本地内容流行度差值,并解析数据包中的节点间的缓存协作信息,进而根据该本地平均内容流行度差值和该节点间的缓存协作信息计算该数据包的缓存概率;如果该缓存概率大于缓存阈值,则将数据包转发至缓存端口,以缓存该数据包;如果该缓存概率不大于缓存阈值,则将该数据包转发至下一路由端口。

Description

基于协议无关转发的网内内容缓存方法、装置及电子设备
技术领域
本发明涉及未来网络技术领域,更具体地说,涉及一种基于协议无关转发的网内内容缓存方法、装置及电子设备。
背景技术
网内缓存是NDN(Named Data Networking,命名数据网络)中的关键技术之一,缓存可以降低内容获取时间,并且减轻网络负载。在NDN网络中,消费者发送兴趣包请求相关数据内容,在数据包返回的过程中,网络传输的中间节点会缓存经过它的数据对象,当后续有相同的请求时,兴趣包可以在最近的节点得到满足,直接将数据返回给发送请求方。
随着网络流量的逐步增长,对于有限的缓存空间而言,优化管理网内缓存,制定有效的缓存策略来提高资源缓存的利用率,成为NDN研究的关键问题,并在很大程度上影响着网络性能。
发明内容
有鉴于此,为解决上述问题,本发明提供一种基于协议无关转发的网内内容缓存方法、装置及电子设备,技术方案如下:
一种基于协议无关转发的网内内容缓存方法,所述方法包括:
获取生产者输出的数据包,并在所述数据包命中PIT表的情况下,解析所述数据包中的内容缓存类型,所述内容缓存类型用于表征请求所述数据包的消费者对服务质量的需求;
在所述内容缓存类型为表征确保重传的第一类型的情况下,根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值;
解析所述数据包中的节点间的缓存协作信息,并根据所述本地平均内容流行度差值和所述节点间的缓存协作信息计算所述数据包的缓存概率;
如果所述缓存概率大于已确定的缓存阈值,则将所述数据包转发至缓存端口,以缓存所述数据包;如果所述缓存概率不大于已确定的缓存阈值,则将所述数据包转发至下一路由端口,所述下一路由端口为转发所述数据包所对应兴趣包的端口。
优选的,所述方法还包括:
在所述内容缓存类型为表征不需缓存的第二类型的情况下,将所述数据包转发至下一路由端口,所述下一路由端口为转发所述数据包所对应兴趣包的端口;或者
在所述内容缓存类型为表征确保缓存的第三类型的情况下,将所述数据包分别转发至缓存端口和下一路由端口。
优选的,所述不同兴趣包的请求计数值的统计过程,包括:
获取目标消费者所输出的目标兴趣包;
在所述目标兴趣包命中CS表的情况下,调取已缓存的所述目标兴趣包对应的数据包,并将所调取的数据包转发给所述目标消费者;
在所述目标兴趣包未命中CS表、且命中所述PIT表的情况下,解析所述目标兴趣包中的随机数,并根据所述随机数确定所述目标兴趣包是否已被请求;如果确定所述目标兴趣包已被请求,则丢弃所述目标兴趣包;如果确定所述目标兴趣包未被请求,更新所述PIT表,并根据所述目标兴趣包的名称对所述目标兴趣包进行计数;
在所述目标兴趣包未命中CS表、且未命中所述PIT表的情况下,更新所述PIT表,并根据所述目标兴趣包的名称对所述目标兴趣包进行计数;如果所述目标兴趣包命中FIB表,将所述目标兴趣包转发至所述FIB中的对应端口;如果所述目标兴趣包未命中FIB表,则丢弃所述目标兴趣包。
优选的,所述根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值,包括:
从不同兴趣包的请求计数值中确定所述数据包所对应兴趣包的目标请求计数值,以及,根据不同兴趣包的请求计数值确定累计计数值;
根据所述目标请求计数值和所述累计计数值,计算所述数据包的内容流行度;以及,根据所述目标请求计数值的变化值和所述累计计数值的变化值,计算所述数据包的内容流行度差值;
根据所述数据包的内容流行度和内容流行度差值,计算本地平均内容流行度差值。
优选的,所述缓存阈值的确定过程,包括:
获取所述CS表的表项数;
如果所述表项数小于对应的阈值,则确定所述缓存阈值为0;
如果所述表项数不小于对应的阈值、且小于所述CS表中的最大表项数,则确定所述缓存阈值为所缓存数据包的内容流行度的平均值;
如果所述表项数等于所述CS表中的最大表项数,则确定所述缓存阈值为1。
一种基于协议无关转发的网内内容缓存装置,所述装置包括:
确定模块,用于获取生产者输出的数据包,并在所述数据包命中PIT表的情况下,解析所述数据包中的内容缓存类型,所述内容缓存类型用于表征请求所述数据包的消费者对服务质量的需求;
计算模块,用于在所述内容缓存类型为表征确保重传的第一类型的情况下,根据第一处理模块已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值;解析所述数据包中的节点间的缓存协作信息,并根据所述本地平均内容流行度差值和所述节点间的缓存协作信息计算所述数据包的缓存概率;
第二处理模块,用于如果所述缓存概率大于已确定的缓存阈值,则将所述数据包转发至缓存端口,以缓存所述数据包;如果所述缓存概率不大于已确定的缓存阈值,则将所述数据包转发至下一路由端口,所述下一路由端口为转发所述数据包所对应兴趣包的端口。
优选的,所述第二处理模块还用于:
在所述内容缓存类型为表征不需缓存的第二类型的情况下,将所述数据包转发至下一路由端口,所述下一路由端口为转发所述数据包所对应兴趣包的端口;或者
在所述内容缓存类型为表征确保缓存的第三类型的情况下,将所述数据包分别转发至缓存端口和下一路由端口。
优选的,所述第一处理模块对所述不同兴趣包的请求计数值的统计过程,包括:
获取目标消费者所输出的目标兴趣包;在所述目标兴趣包命中CS表的情况下,调取已缓存的所述目标兴趣包对应的数据包,并将所调取的数据包转发给所述目标消费者;在所述目标兴趣包未命中CS表、且命中所述PIT表的情况下,解析所述目标兴趣包中的随机数,并根据所述随机数确定所述目标兴趣包是否已被请求;如果确定所述目标兴趣包已被请求,则丢弃所述目标兴趣包;如果确定所述目标兴趣包未被请求,更新所述PIT表,并根据所述目标兴趣包的名称对所述目标兴趣包进行计数;在所述目标兴趣包未命中CS表、且未命中所述PIT表的情况下,更新所述PIT表,并根据所述目标兴趣包的名称对所述目标兴趣包进行计数;如果所述目标兴趣包命中FIB表,将所述目标兴趣包转发至所述FIB中的对应端口;如果所述目标兴趣包未命中FIB表,则丢弃所述目标兴趣包。
优选的,所述计算模块根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值的过程,包括:
从不同兴趣包的请求计数值中确定所述数据包所对应兴趣包的目标请求计数值,以及,根据不同兴趣包的请求计数值确定累计计数值;根据所述目标请求计数值和所述累计计数值,计算所述数据包的内容流行度;以及,根据所述目标请求计数值的变化值和所述累计计数值的变化值,计算所述数据包的内容流行度差值;根据所述数据包的内容流行度和内容流行度差值,计算本地平均内容流行度差值。
优选的,所述第二处理模块确定缓存阈值的过程,包括:
获取所述CS表的表项数;如果所述表项数小于对应的阈值,则确定所述缓存阈值为0;如果所述表项数不小于对应的阈值、且小于所述CS表中的最大表项数,则确定所述缓存阈值为所缓存数据包的内容流行度的平均值;如果所述表项数等于所述CS表中的最大表项数,则确定所述缓存阈值为1。
相较于现有技术,本发明实现的有益效果为:
本发明提供的基于协议无关转发的网内内容缓存方法、装置及电子设备,对于生产者输出的数据包,能够在该数据包命中PIT表的情况下,解析该数据包中的内容缓存类型;在该内容缓存类型为表征确保重传的第一类型的情况下,根据不同兴趣包的请求计数值计算本地内容流行度差值,并解析数据包中的节点间的缓存协作信息,进而根据该本地平均内容流行度差值和该节点间的缓存协作信息计算该数据包的缓存概率;如果该缓存概率大于缓存阈值,则将数据包转发至缓存端口,以缓存该数据包;如果该缓存概率不大于缓存阈值,则将该数据包转发至下一路由端口。基于本发明,可以实现面向协议无关的网内缓存,确保重传内容可以根据该缓存放置策略进行缓存,有效提升了缓存空间利用率,实现了NDN在协议无关转发设备上的部署应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的基于协议无关转发的网内内容缓存方法的方法流程图;
图2为本发明实施例提供的基于协议无关转发的网内内容缓存方法的部分方法流程图;
图3为本发明实施例提供的基于协议无关转发的网内内容缓存方法的另一部分方法流程图;
图4为本发明实施例提供的基于协议无关转发的网内内容缓存装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
NDN(Named Data Networking,命名数据网络)是一种新型网络体系架构,不同于当今的IP(Internet Protocol Address,互联网协议地址)网络,NDN使用内容名称代替IP地址进行路由寻址。NDN的通信由数据消费者驱动,支持兴趣包(Interest packets)和数据包(Data packets)的转发,并且提供基于名称的路由转发功能。NDN路由节点主要包括三种基本的数据结构,即CS(Content Store,内容缓存)表、PIT(Pending Interest table,未决兴趣)表、FIB(Forwarding Information Base,转发信息)表,NDN网络通过匹配这三个数据结构进行数据的转发。
网内缓存是NDN网络中的关键技术之一,缓存可以降低内容获取时间,并且减轻网络负载。在NDN网络中,消费者发送兴趣包请求相关数据内容,在数据包返回的过程中,网络传输的中间节点会缓存经过它的数据对象,当后续有相同的请求时,兴趣包可以在最近的节点得到满足,直接将数据返回给消费者。随着网络流量的逐步增长,对于有限的缓存空间而言,优化管理网内缓存,制定有效的缓存策略来提高资源缓存的利用率,成为NDN研究的关键问题,并在很大程度上影响着网络性能。
另外,协议无关转发,即交换机不绑定任何特定的网络协议,其核心思想是利用软件思想将报文转发逻辑化,编译生成的配置文件经运行时接口加载至转发层设备(交换机、网卡、防火墙等)中,指导底层硬件完成自定义的数据平面功能。转换设备支持用户对协议解析和数据处理流程进行灵活定义,且用户进行网络编程无需关心底层设备的具体信息。利用协议无关转发设备实现网络数据解析和处理成为当前发展的趋势。
参见图1,图1为本发明实施例提供的一种基于协议无关转发的网内内容缓存方法,该方法可以应用于协议无关转发设备,该方法使用协议无关转发技术,实现NDN网络网内高效的内容缓存,该方法包括如下步骤:
S101,获取生产者输出的数据包,并在数据包命中PIT表的情况下,解析数据包中的内容缓存类型,内容缓存类型用于表征请求数据包的消费者对服务质量的需求。
本发明实施例的基本思想是,使用协议无关的包处理器可编程语言(ProgrammingProtocol-Independent Packet Processor,P4)描述数据转发平面,实现NDN网络网内缓存技术。使用协议无关可编程语言对兴趣包和数据包进行处理,实现NDN网络的数据平面转发功能。
对于生产者返回的数据包,该数据包到达协议无关转发设备后,协议无关转发设备首先查询PIT表中的表项,以确定请求该数据包的兴趣包是否在PIT表中,从而确定该数据包是否被请求;若该数据包未命中PIT表,即PIT表中不存在请求该数据包的兴趣包所在的表项,则协议无关转发设备直接丢弃该数据包;若该数据包命中PIT表,即PIT表中存在请求该数据包的兴趣包所在的表项,则解析该数据包中的内容缓存类型,该内容缓存类型与请求该数据包的消费者的用户信息有关。
具体的,由于不同类型内容对服务质量(Quanlity of Service,QoS)的需求存在差异,本发明对请求内容进行分类,包括确保缓存(其标识为AC)、不需缓存(其标识为NC)和确保重传(其标识为AR)三类,确保缓存内容执行LCE(Leave Copy Everywhere,在每个路由节点都进行缓存)缓存策略,不需缓存内容不进行缓存,确保重传内容根据本发明提出的缓存放置策略进行缓存。
将用户与内容提供商、网络提供商之间的关系作为优先级,将用户分为vip用户和normal用户。vip用户表示为时延敏感用户,为减少获取内容的延时,将vip用户的内容缓存类型设为确保缓存,执行LCE缓存策略。normal用户为普通用户,请求普通数据内容,对普通数据内容进行缓存分类,确定不同的缓存策略。
普通数据内容根据丢包时是否需要重传,将其分为两种内容缓存类型:确保重传和不需缓存。AR表示需要减少重传时延的内容,比如,广播视频、文件共享及多媒体流等,当丢包发生时,用户通常需要实时等待该类型内容的到达,缓存该类内容能够有效减少重传带来的延时,节约从源服务器到命中节点这段路径的传输时间。NC表示无重传需求的内容,比如,实时互动、即时讯息以及在线游戏等,该类内容具有很强的时效性,当丢包发生时,用户更倾向于获取最新的内容而非上一段过时的内容。
实际应用中,内容缓存类型由内容生产者注册,将其添加到数据包包结构中,协议无关转发设备根据生成者所返回的数据包中标记的内容缓存类型对数据包进行转发或缓存处理。具体的,使用NDN包格式中的预留字段,生产者根据发送相应兴趣包的消费者的用户信息在数据包中添加可选项字段“Cachetype”来表示数据包的“内容缓存类型”字段,NDN的TLV(Type类型、Length长度和Value值的缩写)格式中,Type为0x03的取值未使用,将其定义为内容缓存类型。具体的,“内容缓存类型”字段TLV格式中Type设为0x03、Length为2、Value分别为AC、NC和AR。
由此,数据包到达协议无关转发设备后,协议无关转发设备可以对数据包中的“内容缓存类型”字段进行解析,若Value=AC,则请求该数据包的消费者为vip用户,协议无关转发设备对该数据包执行LCE缓存策略、并转发到下一路由端口;若Value=NC,则请求该数据包的消费者为normal用户且无重传需求,协议无关交换设备不对该数据包进行缓存,直接将其转发到下一路由端口;若Value=AR,则请求该数据包的用户为normal用户且有重传需求,协议无关交换设备对该数据包进行缓存概率计算,以确定该数据是否需要被缓存。下一路由端口即转发数据包所对应兴趣包(即请求该数据包的兴趣包)的端口。
对此,在内容缓存类型为表征确保重传的第一类型(即Value=AR)的情况下,则执行后续步骤S102;在内容缓存类型为表征不需缓存的第二类型(即Value=NC)的情况下,将数据包转发至下一路由端口,即不对该数据包进行缓存,直接将其转发到下一路由端口;在内容缓存类型为表征确保缓存(即Value=AC)的第三类型的情况下,将数据包分别转发至缓存端口和下一路由端口,即对该数据包执行LCE缓存策略、并转发到下一路由端口。
本发明中,在协议无关转发设备内可以申请寄存器数组空间作为CS表,通过CS表可以记录本地缓存情况,缓存空间通过设置缓存端口,(即协议无关转发数据平面设置缓存端口)对于需要缓存的数据包,可以将输出端口设置为缓存端口,从而将需要缓存的数据包转发给内部存储单元或外挂式存储器(优先的,该外挂式存储器为片外缓存服务器)实现对该数据包内容的缓存。
S102,在内容缓存类型为表征确保重传的第一类型的情况下,根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值。
本发明实施例中,一旦确定内容缓存类型为表征确保重传的第一类型,则协议无关转发设备可以读取寄存器所记录的、已统计的不同兴趣包的请求计数值,该请求计数值是协议无关转发设备对所属兴趣包进行处理时所获得的、并且是按照所属兴趣包的名称进行计数的,即同一名称的兴趣包计数在一起。
本地平均内容流行度差值通过读取寄存器中不同兴趣包的请求计数值进行计算,以此来考虑兴趣包请求的差值变化趋势,而不是简单的采用兴趣包的请求计数值的累加值。不仅考虑当前内容流行度以及短时间内变化的内容流行度,而是通过计算两者变化的平均值,降低内容请求的突发性。
具体实现过程中,不同兴趣包的请求计数值的统计过程,可以采用如下步骤,方法流程图如图2所示:
S201,获取目标消费者所输出的目标兴趣包。
本发明实施例中,对于某一消费者(即目标消费者),所发送的兴趣包(即目标兴趣包),协议无关转发设备收到该目标兴趣包后,可以首先查询CS表中的表项,以确定该目标兴趣包所请求的数据包是否在CS表中,从而确定该目标兴趣包所请求的数据包是否已被缓存至内部存储单元或外挂式存储器中。
S202,在目标兴趣包命中CS表的情况下,调取已缓存的目标兴趣包对应的数据包,并将所调取的数据包转发给目标消费者。
本发明实施例中,若目标兴趣包命中CS表,即CS表中存在该目标兴趣包所请求的数据包所在的表项,则协议无关转发设备从内部存储单元或外挂式存储器中调取目标兴趣包对应的数据包,即目标兴趣包所请求的数据包,进而将所调取的数据包从内部存储单元或外挂式存储器的缓存端口转发至目标消费者处。
S203,在目标兴趣包未命中CS表、且命中PIT表的情况下,解析目标兴趣包中的随机数,并根据随机数确定目标兴趣包是否已被请求;如果确定目标兴趣包已被请求,则丢弃目标兴趣包;如果确定目标兴趣包未被请求,更新PIT表,并根据目标兴趣包的名称对目标兴趣包进行计数。
本发明实施例中,若目标兴趣包未命中CS表,即CS表中不存在该目标兴趣包所请求的数据包所在的表项,则协议无关转发设备进一步查询PIT表中的表项,以确定该目标兴趣包是否在PIT表中,从而确定该目标兴趣包对应的数据包是否被请求;若该目标兴趣包命中PIT表,即PIT表中存在该目标兴趣包所在的表项,则说明已有名称相同的兴趣包被请求,进而协议无关转发设备根据目标兴趣包、以及与该目标兴趣包名称相同的其他兴趣包中的Nonce值来确定两者是否为同一个兴趣包;其中,Nonce值为兴趣包中的一个字段,可称之为随机数,用于检测网络中的环路。
若目标兴趣包与名称相同的其他兴趣包中的Nonce值相同,则可能为环路造成的兴趣包再次被请求,可以确定目标兴趣包已被请求,则协议无关转发设备直接丢弃该目标兴趣包;若目标兴趣包与名称相同的其他兴趣包中的Nonce值不同,则两者为不同的兴趣包,此时协议无关转发设备可以更新PIT表中的表项,并根据名称对目标兴趣包进行计数,当然,该目标兴趣包与名称相同的其他兴趣包被计数在一起。
具体的,某一名称的兴趣包的请求计数值通过使用协议无关转发设备中的寄存器实现,统计不同名称的兴趣包的请求次数。根据PIT表中的表项,对相同名称的兴趣包进行计数,由于NDN中命名为不定长字符串形式,协议无关转发设备对名称进行哈希计算,因此,计数时在寄存器内相应哈希名称的请求计数值加1。举例来说,兴趣包a、b、c三者的名称相同、但其中的Nonce值不同,因此这三个兴趣包对应一个请求计数值,协议无关转发设备中的寄存器中记录有兴趣包a、b、c三者的哈希名称X,其请求计数值为3,后续,兴趣包d到达协议无关转发设备,兴趣包d的名称与兴趣包a、b、c的名称相同、但其中的Nonce值不同,因此协议无关转发设备将寄存器中的哈希名称X的请求计数值加1,即由3变为4。
S204,在目标兴趣包未命中CS表、且未命中PIT表的情况下,更新PIT表,并根据目标兴趣包的名称对目标兴趣包进行计数;如果目标兴趣包命中FIB表,将目标兴趣包转发至FIB中的对应端口;如果目标兴趣包未命中FIB表,则丢弃目标兴趣包。
本发明实施例中,若目标兴趣包未命中CS表,即CS表中不存在该目标兴趣包所请求的数据包所在的表项,则协议无关转发设备进一步查询PIT表中的表项,以确定该目标兴趣包是否在PIT表中,从而确定该目标兴趣包对应的数据包是否被请求;若该目标兴趣包未命中PIT表,即PIT表中不存在该目标兴趣包所在的表项,则说明未有名称相同的兴趣包被请求,此时协议无关转发设备更新PIT表中的表项,根据目标兴趣包的名称对目标兴趣包进行计数。
具体的,某一名称的兴趣包的请求计数值通过使用协议无关转发设备中的寄存器实现,统计不同名称的兴趣包的请求次数。根据PIT表中的表项,对相同名称的兴趣包进行计数,由于NDN中命名为不定长字符串形式,协议无关转发设备对名称进行哈希计算,因此,计数时在寄存器内相应哈希名称的请求计数值加1。举例来说,兴趣包e到达协议无关转发设备,寄存器中未记录有兴趣包e的哈希名称Y,则将哈希名称Y记录至寄存器中,哈希名称Y的请求计数值加1,即由0变为1。
进一步,协议无关转发设备进一步查询FIB表中的表项,以确定该目标兴趣包是否在FIB表中,从而确定是否存在满足该目标兴趣包的生产者;若该目标兴趣包命中FIB表,即FIB表中存在满足该目标兴趣包的生产者的端口,则协议无关转发设备将该目标兴趣包转发至FIB表中对应的端口;若该目标兴趣包未命中FIB表,说明无法满足该目标兴趣包,则协议无关转发设备直接丢弃该目标兴趣包。
具体实现过程中,步骤S102中“根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值”可以采用如下步骤,方法流程图如图3所示:
S1021,从不同兴趣包的请求计数值中确定数据包所对应兴趣包的目标请求计数值,以及,根据不同兴趣包的请求计数值确定累计计数值。
本发明实施例中,对于生产者返回的数据包,假设请求该数据包的兴趣包为i,则寄存器中所记录的该兴趣包i的请求计数值即为目标请求计数值,假设该目标请求计数值为Ni。此外,寄存器中所记录的共计n个兴趣包的请求计数值的累计计数值为Mi
S1022,根据目标请求计数值和累计计数值,计算数据包的内容流行度;以及,根据目标请求计数值的变化值和累计计数值的变化值,计算数据包的内容流行度差值。
本发明实施例中,兴趣包i的内容流行度Pi可以表示为:
Figure BDA0003577533980000121
此外,兴趣包i的请求计数值,即目标请求计数值的变化值N可以表示为:N=1;寄存器中所记录的共计n个兴趣包的请求计数值的累计计数值的变化值MΔ可以以最近一次累计计数值的变化量为准。则兴趣包i的内容流行度差值P可以表示为:
Figure BDA0003577533980000122
S1023,根据数据包的内容流行度和内容流行度差值,计算本地平均内容流行度差值。
本发明实施例中,本地平均内容流行度差值
Figure BDA0003577533980000123
可以表示为:
Figure BDA0003577533980000124
S103,解析数据包中的节点间的缓存协作信息,并根据本地平均内容流行度差值和节点间的缓存协作信息计算数据包的缓存概率。
本发明实施例中,节点间的缓存协作信息用于判断邻居节点是否已缓存该数据包的数据内容,如果邻居节点已缓存该数据内容,则本地节点不再对该数据内容进行缓存。节点间缓存协作信息通过在数据包中添加可选字段的方式实现,协议无关转发设备接收到数据包后,根据数据内容是否被缓存来添加更新该字段。NDN的TLV格式中,Type为0x04的取值未使用,将其定义为节点间的缓存协作信息。具体的,“节点间的缓存协作信息”字段为Flag,字段类型TLV格式中Type为0x04、Length为1、Value分别为0和1。
对数据包中的“节点间的缓存协作信息”字段进行解析,若邻居节点缓存了该数据包,则邻居节点在数据包中添加字段并设值Flag=0;若邻居节点未缓存该数据包,则邻居节点在数据包中添加字段并设值Flag=1。
进一步,确定本地平均内容流行度差值
Figure BDA0003577533980000131
以及节点间的缓存协作信息Flag后,可以计算该数据包在该节点的缓存概率P=P*Flag。
S104,如果缓存概率大于已确定的缓存阈值,则将数据包转发至缓存端口,以缓存数据包;如果缓存概率不大于已确定的缓存阈值,则将数据包转发至下一路由端口,下一路由端口为转发数据包所对应兴趣包的端口。
本发明实施例中,对缓存概率与缓存阈值进行比较;如果缓存概率大于该缓存阈值,则将该数据包转发至缓存端口,对其进行缓存;如果缓存概率不大于该缓存阈值,则将该数据包转发至下一路由端口,不对其进行缓存。
而缓存阈值则可以根据缓存空间占用状态进行动态调节,缓存空间占用状态则通过CS表的表项数来衡量。主要分为三种情况:
1)初始状态,CS表中没有表项,缓存空间充足,内容流行度很小,为了充分利用缓存资源,将缓存阈值设为0,所有经过的数据包都进行缓存;
2)随着CS表中的表项逐渐增加,缓存空间逐渐被占用,当表项数不小于对应的阈值(该阈值可以为CS表的表项数的一半),可以将缓存阈值设置为所缓存的数据包的内容流行度的平均值,通过减少缓存冗余,提高缓存利用率;
3)缓存表无法增加新的表项,缓存空间占用已满,将缓存阈值设为1,同时执行相应的缓存替换策略。
本发明实施例提供的基于协议无关转发的网内内容缓存方法,可以实现面向协议无关的网内缓存,确保重传内容可以根据该缓存放置策略进行缓存,有效提升了缓存空间利用率,实现了NDN在协议无关转发设备上的部署应用。
基于上述实施例提供的基于协议无关转发的网内内容缓存方法,本发明实施例则对应提供执行上述基于协议无关转发的网内内容缓存方法的装置,该装置的结构示意图如图4所示,包括:
确定模块101,用于获取生产者输出的数据包,并在数据包命中PIT表的情况下,解析数据包中的内容缓存类型,内容缓存类型用于表征请求数据包的消费者对服务质量的需求;
计算模块102,用于在内容缓存类型为表征确保重传的第一类型的情况下,根据第一处理模块103已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值;解析数据包中的节点间的缓存协作信息,并根据本地平均内容流行度差值和节点间的缓存协作信息计算数据包的缓存概率;
第二处理模块104,用于如果缓存概率大于已确定的缓存阈值,则将数据包转发至缓存端口,以缓存数据包;如果缓存概率不大于已确定的缓存阈值,则将数据包转发至下一路由端口,下一路由端口为转发数据包所对应兴趣包的端口。
优选的,第二处理模块104还用于:
在内容缓存类型为表征不需缓存的第二类型的情况下,将数据包转发至下一路由端口,下一路由端口为转发数据包所对应兴趣包的端口;或者
在内容缓存类型为表征确保缓存的第三类型的情况下,将数据包分别转发至缓存端口和下一路由端口。
优选的,第一处理模块103对不同兴趣包的请求计数值的统计过程,包括:
获取目标消费者所输出的目标兴趣包;在目标兴趣包命中CS表的情况下,调取已缓存的目标兴趣包对应的数据包,并将所调取的数据包转发给目标消费者;在目标兴趣包未命中CS表、且命中PIT表的情况下,解析目标兴趣包中的随机数,并根据随机数确定目标兴趣包是否已被请求;如果确定目标兴趣包已被请求,则丢弃目标兴趣包;如果确定目标兴趣包未被请求,更新PIT表,并根据目标兴趣包的名称对目标兴趣包进行计数;在目标兴趣包未命中CS表、且未命中PIT表的情况下,更新PIT表,并根据目标兴趣包的名称对目标兴趣包进行计数;如果目标兴趣包命中FIB表,将目标兴趣包转发至FIB中的对应端口;如果目标兴趣包未命中FIB表,则丢弃目标兴趣包。
优选的,计算模块102根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值的过程,包括:
从不同兴趣包的请求计数值中确定数据包所对应兴趣包的目标请求计数值,以及,根据不同兴趣包的请求计数值确定累计计数值;根据目标请求计数值和累计计数值,计算数据包的内容流行度;以及,根据目标请求计数值的变化值和累计计数值的变化值,计算数据包的内容流行度差值;根据数据包的内容流行度和内容流行度差值,计算本地平均内容流行度差值。
优选的,第二处理模块104确定缓存阈值的过程,包括:
获取CS表的表项数;如果表项数小于对应的阈值,则确定缓存阈值为0;如果表项数不小于对应的阈值、且小于CS表中的最大表项数,则确定缓存阈值为所缓存数据包的内容流行度的平均值;如果表项数等于CS表中的最大表项数,则确定缓存阈值为1。
需要说明的是,本发明实施例中各模块的细化功能可以参见上述基于协议无关转发的网内内容缓存方法实施例对应公开部分,在此不再赘述。
以上对本发明所提供的一种基于协议无关转发的网内内容缓存方法、装置及电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (4)

1.一种基于协议无关转发的网内内容缓存方法,其特征在于,所述方法包括:
获取生产者输出的数据包,并在所述数据包命中PIT表的情况下,解析所述数据包中的内容缓存类型,所述内容缓存类型用于表征请求所述数据包的消费者对服务质量的需求;
在所述内容缓存类型为表征确保重传的第一类型的情况下,根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值;
解析所述数据包中的节点间的缓存协作信息,并根据所述本地平均内容流行度差值和所述节点间的缓存协作信息计算所述数据包的缓存概率;
如果所述缓存概率大于已确定的缓存阈值,则将所述数据包转发至缓存端口,以缓存所述数据包;如果所述缓存概率不大于已确定的缓存阈值,则将所述数据包转发至下一路由端口,所述下一路由端口为转发所述数据包所对应兴趣包的端口;
其中,所述不同兴趣包的请求计数值的统计过程,包括:
获取目标消费者所输出的目标兴趣包;
在所述目标兴趣包命中CS表的情况下,调取已缓存的所述目标兴趣包对应的数据包,并将所调取的数据包转发给所述目标消费者;
在所述目标兴趣包未命中CS表、且命中所述PIT表的情况下,解析所述目标兴趣包中的随机数,并根据所述随机数确定所述目标兴趣包是否已被请求;如果确定所述目标兴趣包已被请求,则丢弃所述目标兴趣包;如果确定所述目标兴趣包未被请求,更新所述PIT表,并根据所述目标兴趣包的名称对所述目标兴趣包进行计数;
在所述目标兴趣包未命中CS表、且未命中所述PIT表的情况下,更新所述PIT表,并根据所述目标兴趣包的名称对所述目标兴趣包进行计数;如果所述目标兴趣包命中FIB表,将所述目标兴趣包转发至所述FIB中的对应端口;如果所述目标兴趣包未命中FIB表,则丢弃所述目标兴趣包;
其中,所述根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值,包括:
从不同兴趣包的请求计数值中确定所述数据包所对应兴趣包的目标请求计数值,以及,根据不同兴趣包的请求计数值确定累计计数值;
根据所述目标请求计数值和所述累计计数值,计算所述数据包的内容流行度;以及,根据所述目标请求计数值的变化值和所述累计计数值的变化值,计算所述数据包的内容流行度差值;
根据所述数据包的内容流行度和内容流行度差值,计算本地平均内容流行度差值;
其中,所述缓存阈值的确定过程,包括:
获取所述CS表的表项数;
如果所述表项数小于对应的阈值,则确定所述缓存阈值为0;
如果所述表项数不小于对应的阈值、且小于所述CS表中的最大表项数,则确定所述缓存阈值为所缓存数据包的内容流行度的平均值;
如果所述表项数等于所述CS表中的最大表项数,则确定所述缓存阈值为1。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述内容缓存类型为表征不需缓存的第二类型的情况下,将所述数据包转发至下一路由端口,所述下一路由端口为转发所述数据包所对应兴趣包的端口;或者
在所述内容缓存类型为表征确保缓存的第三类型的情况下,将所述数据包分别转发至缓存端口和下一路由端口。
3.一种基于协议无关转发的网内内容缓存装置,其特征在于,所述装置包括:
确定模块,用于获取生产者输出的数据包,并在所述数据包命中PIT表的情况下,解析所述数据包中的内容缓存类型,所述内容缓存类型用于表征请求所述数据包的消费者对服务质量的需求;
计算模块,用于在所述内容缓存类型为表征确保重传的第一类型的情况下,根据第一处理模块已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值;解析所述数据包中的节点间的缓存协作信息,并根据所述本地平均内容流行度差值和所述节点间的缓存协作信息计算所述数据包的缓存概率;
第二处理模块,用于如果所述缓存概率大于已确定的缓存阈值,则将所述数据包转发至缓存端口,以缓存所述数据包;如果所述缓存概率不大于已确定的缓存阈值,则将所述数据包转发至下一路由端口,所述下一路由端口为转发所述数据包所对应兴趣包的端口;
其中,所述第一处理模块对所述不同兴趣包的请求计数值的统计过程,包括:
获取目标消费者所输出的目标兴趣包;在所述目标兴趣包命中CS表的情况下,调取已缓存的所述目标兴趣包对应的数据包,并将所调取的数据包转发给所述目标消费者;在所述目标兴趣包未命中CS表、且命中所述PIT表的情况下,解析所述目标兴趣包中的随机数,并根据所述随机数确定所述目标兴趣包是否已被请求;如果确定所述目标兴趣包已被请求,则丢弃所述目标兴趣包;如果确定所述目标兴趣包未被请求,更新所述PIT表,并根据所述目标兴趣包的名称对所述目标兴趣包进行计数;在所述目标兴趣包未命中CS表、且未命中所述PIT表的情况下,更新所述PIT表,并根据所述目标兴趣包的名称对所述目标兴趣包进行计数;如果所述目标兴趣包命中FIB表,将所述目标兴趣包转发至所述FIB中的对应端口;如果所述目标兴趣包未命中FIB表,则丢弃所述目标兴趣包;
其中,所述计算模块根据已统计的不同兴趣包的请求计数值计算本地平均内容流行度差值的过程,包括:
从不同兴趣包的请求计数值中确定所述数据包所对应兴趣包的目标请求计数值,以及,根据不同兴趣包的请求计数值确定累计计数值;根据所述目标请求计数值和所述累计计数值,计算所述数据包的内容流行度;以及,根据所述目标请求计数值的变化值和所述累计计数值的变化值,计算所述数据包的内容流行度差值;根据所述数据包的内容流行度和内容流行度差值,计算本地平均内容流行度差值;
其中,所述第二处理模块确定缓存阈值的过程,包括:
获取所述CS表的表项数;如果所述表项数小于对应的阈值,则确定所述缓存阈值为0;如果所述表项数不小于对应的阈值、且小于所述CS表中的最大表项数,则确定所述缓存阈值为所缓存数据包的内容流行度的平均值;如果所述表项数等于所述CS表中的最大表项数,则确定所述缓存阈值为1。
4.根据权利要求3所述的装置,其特征在于,所述第二处理模块还用于:
在所述内容缓存类型为表征不需缓存的第二类型的情况下,将所述数据包转发至下一路由端口,所述下一路由端口为转发所述数据包所对应兴趣包的端口;或者
在所述内容缓存类型为表征确保缓存的第三类型的情况下,将所述数据包分别转发至缓存端口和下一路由端口。
CN202210338341.4A 2022-04-01 2022-04-01 基于协议无关转发的网内内容缓存方法、装置及电子设备 Active CN114710561B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210338341.4A CN114710561B (zh) 2022-04-01 2022-04-01 基于协议无关转发的网内内容缓存方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210338341.4A CN114710561B (zh) 2022-04-01 2022-04-01 基于协议无关转发的网内内容缓存方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN114710561A CN114710561A (zh) 2022-07-05
CN114710561B true CN114710561B (zh) 2023-05-16

Family

ID=82173177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210338341.4A Active CN114710561B (zh) 2022-04-01 2022-04-01 基于协议无关转发的网内内容缓存方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114710561B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013029569A1 (en) * 2011-09-01 2013-03-07 Huawei Technologies Co., Ltd. A Generalized Dual-Mode Data Forwarding Plane for Information-Centric Network
CN104901980A (zh) * 2014-03-05 2015-09-09 北京工业大学 基于流行度的数据命名网络的均衡分布缓存方法
CN109921997A (zh) * 2019-01-11 2019-06-21 西安电子科技大学 一种命名数据网络缓存方法、缓存器和存储介质
CN110417662A (zh) * 2019-07-04 2019-11-05 东南大学 一种面向智慧建筑的命名数据网络传输方法
WO2020107768A1 (en) * 2018-11-26 2020-06-04 Huawei Technologies Co., Ltd. Collaborative in-network name-to-locator resolution support for information centric networking
CN111314224A (zh) * 2020-02-13 2020-06-19 中国科学院计算技术研究所 一种命名数据网络缓存方法
CN112399485A (zh) * 2020-10-30 2021-02-23 南通大学 一种6g中基于ccn的新节点价值和内容流行度缓存方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270689B2 (en) * 2014-12-19 2019-04-23 Futurewei Technologies, Inc. Multi-nonce enabled interest packet design for named-data networking
US10686702B2 (en) * 2015-11-06 2020-06-16 Cable Television Laboratories, Inc. Preemptive caching of content in a content-centric network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013029569A1 (en) * 2011-09-01 2013-03-07 Huawei Technologies Co., Ltd. A Generalized Dual-Mode Data Forwarding Plane for Information-Centric Network
CN103765832A (zh) * 2011-09-01 2014-04-30 华为技术有限公司 用于信息中心网络的通用双模式数据转发平面
CN104901980A (zh) * 2014-03-05 2015-09-09 北京工业大学 基于流行度的数据命名网络的均衡分布缓存方法
WO2020107768A1 (en) * 2018-11-26 2020-06-04 Huawei Technologies Co., Ltd. Collaborative in-network name-to-locator resolution support for information centric networking
CN109921997A (zh) * 2019-01-11 2019-06-21 西安电子科技大学 一种命名数据网络缓存方法、缓存器和存储介质
CN110417662A (zh) * 2019-07-04 2019-11-05 东南大学 一种面向智慧建筑的命名数据网络传输方法
CN111314224A (zh) * 2020-02-13 2020-06-19 中国科学院计算技术研究所 一种命名数据网络缓存方法
CN112399485A (zh) * 2020-10-30 2021-02-23 南通大学 一种6g中基于ccn的新节点价值和内容流行度缓存方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Meiju Yu等.A caching strategy based on content popularity and router level for NDN.2017 7th IEEE International Conference on Electronics Information and Emergency Communication (ICEIEC).2017,全文. *
刘贵财.内容中心网络缓存放置和查找技术研究.中国优秀硕士学位论文全文数据库.2019,全文. *
房晓阳等.基于局部流行度的分布式协作缓存策略.计算机工程.2017,(第05期),全文. *
陈秋瑶等.命名数据网络中适用于区分服务的缓存策略研究.计算机工程.2019,第46卷(第1期),全文. *

Also Published As

Publication number Publication date
CN114710561A (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
Zhang et al. A survey of caching mechanisms in information-centric networking
EP2704402B1 (en) Method and node for distributing electronic content in a content distribution network
US10574778B2 (en) Content replacement and refresh policy implementation for a content distribution network
CN111314224B (zh) 一种命名数据网络缓存方法
KR20140067881A (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
Abu et al. Interest packets retransmission in lossy CCN networks and its impact on network performance
US11502956B2 (en) Method for content caching in information-centric network virtualization
CN111935031B (zh) 一种基于ndn架构的流量优化方法及系统
Kim et al. Differentiated forwarding and caching in named-data networking
Nguyen et al. Adaptive caching for beneficial content distribution in information-centric networking
CN109195180A (zh) 一种减小移动内容中心网络中内容获取时延的解决方法
CN114710561B (zh) 基于协议无关转发的网内内容缓存方法、装置及电子设备
Feng et al. Cache-filter: A cache permission policy for information-centric networking
CN107135271B (zh) 一种能量有效的内容中心网络缓存方法
CN111262785B (zh) 一种命名数据网络中的多属性概率缓存方法
Seyyed Hashemi et al. Analytical characterization of cache replacement policy impact on content delivery time in information‐centric networks
Alahmadi A New Efficient Cache Replacement Strategy for Named Data Networking
Ndikumana et al. Scalable aggregation-based packet forwarding in content centric networking
CN113382053A (zh) 基于节点半局部中心性和内容热度的内容主动推送方法
Alubady et al. The role of management techniques for high-performance pending interest table: A survey
Chen et al. Gain-aware caching scheme based on popularity monitoring in information-centric networking
Hou et al. Named data network dynamic cache placement strategy based on programmable data plane
Li Popularity-driven caching strategy for dynamic adaptive streaming over information-centric networks
CN115174471B (zh) 一种icn路由器存储单元的缓存管理方法
Li et al. A distributed content placement strategy based on popularity for ICN

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