CN112866106B - 一种兴趣包缓存方法、装置、设备及存储介质 - Google Patents
一种兴趣包缓存方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112866106B CN112866106B CN202011621000.5A CN202011621000A CN112866106B CN 112866106 B CN112866106 B CN 112866106B CN 202011621000 A CN202011621000 A CN 202011621000A CN 112866106 B CN112866106 B CN 112866106B
- Authority
- CN
- China
- Prior art keywords
- route
- node
- source
- pit
- interest packet
- 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/34—Source routing
-
- 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/48—Routing tree calculation
-
- 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
本发明实施例公开了一种兴趣包缓存方法、装置、设备及存储介质,其中,所述兴趣包缓存方法,包括:CP选举;CP汇聚路由的生成;执行源路由注册机制;CPT树生成,目的是提供一个CP(Convergent Point)节点,通过在CP节点上保存兴趣报文的注册请求,并生成注册CP点的注册PIT,来解决兴趣包丢失问题。
Description
技术领域
本发明涉及缓存技术领域,主要指一种兴趣包缓存方法、装置、设备及存储介质。
背景技术
对于传统的NDN网络,当客户端请求者请求内容时,首先广播兴趣包,兴趣包到达路由节点后:
1、路由器根据兴趣包中的内容名,查询CS,如果CS中包含所请求的数据包,则直接向兴趣包的来源接口返回数据包的副本并丢弃这个已经被满足的兴趣包;
2、否则在PIT中继续查询,如果PIT中有该内容名条目,则说明之前已经收到过相同的兴趣包且已经转发,但是没有获得返回结果,需要把该兴趣包的来源接口接入PIT对应的接口列表中,同时将该兴趣包丢弃。当对应数据包返回时,根据接口列表向对应接口回复数据的副本,并将该数据包存储在CS中以满足未来的潜在请求。
3、如果CS和PIT中都没有结果,则查找FIB,如果在FIB中发现有对应内容名条目,则说明该节点第一次收到该兴趣包,这时根据FIB的接口列表(不包含兴趣包进来的接口)转发该兴趣包,并在PIT中增加新的条目。
4、如果在3个结构中都没有结果,则说明不存在相关的匹配路由,该节点无法处理这个兴趣包,于是将其丢弃。
当兴趣包到达缓存有对应请求数据的节点后,就会沿原路径返回一个包含该数据名和数据内容以及发送者签名的数据包到请求节点。需要注意的是,兴趣包和数据包并不携带主机或接口地址(如IP地址),兴趣包根据所要请求数据的名称路由到数据的持有者,数据包则通过兴趣包经过各个节点时所建立的状态信息反向传送给数据的请求方。
路由器对于数据包的处理则相对简单,当数据包到达路由节点时,根据数据包的内容名字段,先在CS中查找。如果CS中存在,则丢弃该数据包;如果CS中没有,则在PIT中查找。如果存在对应条目,将数据转发给该PIT匹配条目的所有接口,并缓存该内容到CS中;如果PIT中没有匹配条目,则丢弃该数据包。
目前针对兴趣包的研究中,针对第四步中,查不到FIB后不再丢弃,而是设置兴趣包默认路径的方法进行研究的,即考虑查找不到FIB后,设置一个默认转发路径,该方法可以提高兴趣包的命中源的概率。
而现有技术中针对兴趣包的处理的缺点如下所示:
(1)时序问题导致兴趣包丢失:
传统CCN中,兴趣包到达路由节点后,查找不到FIB就会丢弃,由于网络路由FIB表一直在更新变化中,因此对于源已经发布FIB路由,但是源路由因为时序问题没有及时同步到请求端,必然导致兴趣包在某一时刻丢失,使得用户需要重复申请,带来体验较差。本发明针对这种场景进行改进。
(2)资源耗费大、可靠性低:
在一些最新的CCN研究中通过设置兴趣包默认路径转发兴趣包,即兴趣包查找不到FIB后通过设置默认路径或者广播的形式,来查找FIB路由,这种方式对于防止兴趣包丢失有一定的抑制作用,然而对于FIB发布延后兴趣包较大时延的场景,通过默认路径的转发也未必能找到内容源路由,其无法解决兴趣包最终找不到FIB而丢失的问题,反而兴趣包的默认路径转发或者广播会导致很多带宽资源的浪费。
发明内容
本发明实施例提供了一种兴趣包缓存方法、装置、设备及存储介质,目的是提供一个CP(Convergent Point)节点,通过在CP节点上保存兴趣报文的注册请求,并生成注册CP点的注册PIT,来解决兴趣包丢失问题。
本发明实施例提供了一种兴趣包缓存方法,包括:
CP选举,其包括计算出主CP节点和定制相应的路由策略;
CP汇聚路由的生成,其包括判断是否转发兴趣包和生成PIT路由;
执行源路由注册机制,其包括同步按照源到CP节点的路由发起源路由注册;
CPT树生成,其包括CP汇聚路由的生成、执行源端注册机制、CP处理和源端数据传输。
进一步的,所述CP选举的方法,具体包括:配置一个主CP节点和一个或者多个候选CP节点,将CP节点的创建时间、算力和容量大小纳入路由中,每一个CP节点按照如上格式形成一条命名路由,并把所述命名路由利用OSPFN的OLSA扩散出去。
进一步的,所述CP选举的方法,具体还包括:
在每一个CP节点上形成命名路由的FIB表,每一个CP节点需要基于相同的算法计算出主CP节点,该计算的计算次序则为依次从表示CP节点的创建时间的time、表示CP节点的算力的compute直至表示CP节点的容量大小的capability,对于计算胜出的路由,下发转发面并且标记为主CP路由,主CP路由下转发表,根据硬件的支持情况选择候选CP路由是否下发;同时每一个CP节点也定制相应的路由策略,来区别选择主CP节点。
进一步的,所述CP汇聚路由的生成方法,具体包括:
CP节点收到兴趣包,该兴趣包不存在于CS和PIT中;
判断所述CP节点中是否有FIB,如果有FIB,就按照FIB的出接口转发兴趣包,并生成PIT表;
如果没有FIB,判断所述CP节点中是否有CP路由,如果没有CP路由,就丢弃所述兴趣包;
如果有CP路由,判断是否到达CP节点,如果没有到达CP节点,就生成PIT路由,让所述PIT路由的入接口继承CP路由的出接口,出接口为兴趣包请求端口。
进一步的,所述CP汇聚路由的生成方法,具体还包括:
如果已到达CP节点,就生成PIT路由,所述PIT路由的出接口为请求端入口,出接口继承CP节点上的Prefix路由出接口,CP节点上的Prefix路由出口为NULL,PIT路由的出接口为NULL。
进一步的,所述执行源路由注册机制具体包括:在源路由组装LSA发布之后,同步按照源到CP节点的路由发起源路由注册,注册路由在沿途不需要上送只按照到CP节点的FIB转发即可;CP节点端收到注册路由后,形成一个源注册表,该表标识该源有效性,告知CP节点需要等待有效的FIB路由。
进一步的,所述执行源路由注册机制具体还包括:在CP节点收到兴趣包后,CP节点认为该兴趣包因为路由动荡或者刷新导致查找不到FIB,将该兴趣包生成PIT路由来等待FIB通告;如果没有源注册路由,说明可能为无效兴趣包或者是源尚未发布路由,此时也生成PIT路由后,设置定时器,如果超时没有源注册路由或者FIB路由,则删除相应的PIT表项。
进一步的,所述CPT树生成的方法,具体包括:
CP汇聚路由的生成:请求端查找不到CS、PIT和FIB三个表后,则需要将兴趣包路由到CP节点端,即按照CP转发树生成一条PIT路由;
执行源端注册机制;
源端到CP节点的FIB路由下发:源端按照相应的LSA扩散,形成了一条源端与CP的路由表;
CP处理;
基于CP处理方式,形成一条以CP节点端为中心的,请求端到CP端PIT路由,CP节点端到源端的PIT路由,该两段路由按照时序性依次生成,完成后将组成完整的CPT路由;
源端数据传输:源端收到CP节点传送过来的兴趣包后,触发数据源沿着CPT树上的PIT表进行转发,一直送至请求端,数据传输完成后,删除CPT树上的PIT路由即可。
进一步的,所述CP处理,具体包括:
(1)对于兴趣包的处理:首先查找FIB表,如果找到,将请求兴趣包按照FIB转发出去,同步生成PIT表;其次,如果找不到FIB表,则查找源注册表,如果有源注册表,则将请求兴趣包生成PIT路由,同步等待FIB下发;最后,如果找不到源注册表,则将请求兴趣包生成PIT路由,同时生成一个定时器,等待FIB路由,超时多个周期等待不到则删除CP端的PIT;
(2)对于FIB路由下发处理:如果FIB路由通告到CP端,触发CP端查找兴趣包,匹配相应的兴趣包,触发兴趣包按照FIB路由转发至源端,同步沿途生成到源端的PIT路由。
本发明实施例还提供一种兴趣包缓存装置,包括:
选举模块,用于CP选举,其包括计算出主CP节点和定制相应的路由策略;
生成模块,用于CP汇聚路由的生成,其包括判断是否转发兴趣包和生成PIT路由;
执行模块,用于源路由注册机制,其包括同步按照源到CP节点的路由发起源路由注册;
构造模块,用于CPT树生成,其包括CP汇聚路由的生成、执行源端注册机制、CP处理和源端数据传输。
进一步的,所述选举模块还用于配置一个主CP节点和一个或者多个候选CP节点,将CP节点的创建时间、算力、容量大小纳入路由中,每一个CP节点按照如上格式形成一条命名路由,并把所述命名路由利用OSPFN的OLSA扩散出去,因此在每一个CP节点上形成命名路由的FIB表,每一个CP节点需要基于相同的算法计算出主CP节点,该计算的计算次序依次为从time、compute直至capability,对于计算胜出的路由,下发转发面并且标记为主CP路由,主CP路由下转发表,根据硬件的支持情况选择候选CP路由是否下发;同时每一个CP节点也定制相应的路由策略,来区别选择主CP节点。
进一步的,所述生成模块还用于CP节点收到兴趣包,兴趣包不存在于CS和PIT中;用于判断所述CP节点中是否有FIB,如果有FIB,就按照FIB的出接口转发兴趣包,并生成PIT表;用于如果没有FIB,判断所述CP节点中是否有CP路由,如果没有CP路由,就丢弃所述兴趣包;用于如果有CP路由,判断是否到达CP节点,如果没有到达CP节点,就生成PIT路由,让所述PIT路由的入接口继承CP路由的出接口;用于如果已到达CP节点,就生成PIT路由,所述PIT路由的出接口为请求端入口,出接口继承CP节点上的Prefix路由出接口,CP节点上的Prefix路由出口为NULL,PIT路由的出接口为NULL。
进一步的,所述执行模块还用于在源路由组装LSA发布之后,同步按照源到CP节点的路由发起源路由注册,注册路由在沿途不需要上送只按照到CP节点的FIB转发即可;CP节点端收到注册路由后,形成一个源注册表,该表标识该源有效性,告知CP节点需要等待有效的FIB路由;在CP节点收到兴趣包后,CP节点认为该兴趣包因为路由动荡或者刷新导致查找不到FIB,将该兴趣包生成PIT路由来等待FIB通告;如果没有源注册路由,说明可能为无效兴趣包或者是源尚未发布路由,此时也生成PIT路由后,设置定时器,如果超时没有源注册路由或者FIB路由,则删除相应的PIT表项。
进一步的,所述构造模块还用于CP汇聚路由的生成;用于执行源端注册机制;用于源端到CP节点的FIB路由下发;用于CP处理;用于源端数据传输。
本发明实施例还提供一种兴趣包缓存设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述兴趣包缓存方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述兴趣包缓存方法。
本发明实施例,其方法包括:CP选举;CP汇聚路由的生成;执行源路由注册机制;CPT树生成。由此提出一种兴趣包丢失缓存策略,针对路由动荡的场景下,通过预先建立一棵固定的CPT转发树,来保证兴趣包的有效传输。针对CPT树多负载特点,提出多候选CP,根据流量负载采样情况,通过策略保证主CPT树切换为备选CPT树,解决流量过载问题。考虑了路由扩散的延迟性、动荡性特点,提出了源注册机制,保证了源路由有效性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明实施例的所述兴趣包缓存方法的整体流程图;
图2是本发明实施例的所述CP汇聚路由的生成方法的流程图;
图3是本发明实施例的所述CPT树生成的原理图,其中,Prefix为:CP节点的Prefix路由;Faces为:路由出接口;RequestingFaces为:PIT路由请求端口;requestURL为:泛化标识,比如是www.baidu.com;Intf;
图4是本发明实施例的所述所述CPT树生成的方法的流程图;
图5是本发明实施例的兴趣包缓存装置的结构图。
具体实施方式
下文中将结合附图对本发明的实施例进行详细说明。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,本发明实施例提出一种兴趣包缓存方法,其具体包括:
步骤101,CP选举,其包括计算出主CP节点和定制相应的路由策略。
其中,在一个实施例中,所述CP选举的方法,包括:一般配置一个主CP节点和一个或者多个候选CP节点,这些CP节点命名的Prefix路由可以如下标识:/cp-prefix/time/compute/capability,该Prefix是CCN中的FIB路由,因为通过“/”区分的层级关系,因此也是一个层次化前缀路由,取名Prefix路由,“cp-prefix”表示该cp的FIB路由第一级,“time”表示CP节点的创建时间,“compute”表示CP节点的算力,“capability”表示CP节点的容量大小,即将CP节点的创建时间、算力和容量大小纳入路由中,每一个CP节点按照如上格式形成一条命名路由,这里的CP节点可以均为路由器,示例如下:
该示例中作为prefix路由的/cp1-prefix/time/compute/capability中的cp1-prefix表示cp1节点的FIB路由第一级,“time”表示作为cp1节点的FIB路由第二级的CP1节点的创建时间,“compute”表示作为表示CP1节点的FIB路由第三级的CP1节点的算力,“capability”表示作为表示CP1节点的FIB路由第四级的CP1节点的容量大小;作为prefix路由的/cp2-prefix/time/compute/capability中的cp2-prefix表示CP2节点的FIB路由第一级,“time”表示作为CP2节点的FIB路由第二级的CP2节点的创建时间,“compute”表示作为表示CP2节点的FIB路由第三级的CP2节点的算力,“capability”表示作为表示CP2节点的FIB路由第四级的CP2节点的容量大小;而FACES条目下的0和1分别表示CP1节点的路由出接口和CP2节点的路由出接口;并把所述命名路由利用OSPFN的OLSA扩散出去,因此在每一个CP节点设备上形成命名路由的FIB表,每一个作为路由器的CP节点并不知道哪一个是主CP哪个是候选CP,因此每一个作为路由器的CP节点需要基于相同的算法计算出主CP节点,一般该计算的计算次序为依次从time、compute直至capability,对于计算胜出的路由,下发转发面并且标记为主CP路由,主CP路由下对应的转发表,根据硬件的支持情况选择候选CP路由是否下发;主CP路由就作为默认路由。这是由于OSPF协议中生成了CP节点的Prefix路由,有的硬件是有快速切换需求,支持主CP路由和多备份CP路由的,但是有的不支持,NFV环境下默认可以都支持。对于支持的就将OSPF协议生成的Prefix路由下发到转发面,如果不支持,就只下发一条主CP路由。
同时每一个作为路由器的CP节点也可以定制相应的路由策略,来区别选择主CP节点。通过策略控制,可以将数据从负载过重的CPT树上迁移到负载较轻的CPT树上,保证数据的有效和及时传输。该路由策略默认是依次按照从time、compute直至capability的计算顺序,优先级大的就作为主CP路由下发,但是单台路由器可以通过命令行等形式修改主CP路由下发,比如默认CP1路由下发,用户强制CP2路由下发,这种用户自定义的强制行为叫做路由策略;
步骤102,CP汇聚路由的生成,其包括判断是否转发兴趣包和生成PIT路由。
其中,所述CP汇聚路由的生成也就是首节点到CP节点的PIT路由生成;如图2所示,在一个实施例中,所述CP汇聚路由的生成方法,包括:
步骤201,CP节点收到兴趣包,该兴趣包不存在于CS和PIT中。其中CS为:ContentStore,内容缓存库;PIT为:Pending Interest Table,待定兴趣表。
步骤202,判断所述CP节点中是否有FIB,如果有FIB,就按照FIB的出接口转发兴趣包,并生成PIT表。其中,FIB为:Forwarding Information Base,转发信息库。
步骤203,如果没有FIB,判断所述CP节点中是否有CP路由,如果没有CP路由,就丢弃所述兴趣包。该CP路由即为CP节点的prefix路由。
步骤204,如果有CP路由,判断是否到达CP节点,如果没有到达CP节点,就生成PIT路由,让所述PIT路由的入接口继承CP路由的出接口。判断是否到达CP节点的方法为:CP节点根据CP路由表判断,在CP节点上的路由表没有出接口,并且标记为本地路由,就表示到达CP节点。PIT路由为传统CCN中请求兴趣包路由,该路由标识一个兴趣包的请求走向。
步骤205,如果已到达CP节点,就生成PIT路由,所述PIT路由的出接口为请求端入口,出接口继承CP上Prefix路由出接口,因为CP上Prefix路由出接口为NULL,所以PIT路由的出接口为NULL。
举例说明如下:
在CP节点上形成表1和表2所示的如下PIT汇聚路由为:
其中Outif条目表示路由出接口,Prefix条目表示CP节点的Prefix路由,Requesting Faces条目表示请求接口,如果没有路由出接口的话,outif就为NULL;
表1
在请求端到CP路径沿路各路由器上形成如下汇聚路由:
表2
步骤103,执行源路由注册机制,其包括同步按照源到CP节点的路由发起源路由注册。
其中,所述执行源路由注册机制利用源注册路由机制,在FIB路由形成之前提前感知源路由的存在;在一个实施例中,所述执行源路由注册机制具体包括在源路由组装LSA发布之后,因为LSA的扩散较慢,因此源路由注册机制就为同步按照源端到CP节点的路由发起源路由注册,注册路由在沿途不需要上送只按照到CP节点的FIB转发即可;CP节点端收到注册路由后,形成一个源注册表,该表标识该源有效性,告知CP节点需要等待有效的FIB路由;因此在CP节点收到兴趣包后,因为已经有了源注册路由,CP节点认为该兴趣包因为路由动荡或者刷新导致查找不到FIB,因此将该兴趣包生成PIT路由来等待FIB通告;如果没有源注册路由,说明可能为无效兴趣包或者是源尚未发布路由,此时也生成PIT路由后,设置定时器,如果超时没有源注册路由或者FIB路由,则删除相应的PIT表项。
步骤104,CPT树生成,其包括CP汇聚路由的生成、执行源端注册机制、CP处理和源端数据传输。
其中,所述CPT树生成就是CP路由汇聚生成后,等待源注册或者FIB路由到达后,由CP节点端发起缓存的兴趣包申请,该兴趣包申请将按照FIB路由转发,如图3和图4所示,在一个实施例中,所述CPT树生成的方法,具体包括:
步骤301,CP汇聚路由的生成:请求端查找不到CS、PIT和FIB三个表后,则需要将兴趣包路由到CP节点端,即按照CPT转发树生成一条PIT兴趣路由。如图3所示,从interest到cp沿途三个路由器上,生成的requestURL标识的路由,即为PIT兴趣路由。
步骤302,执行源端注册机制:为了效率考量,源端注册机制保证最快的速度将源有效性路由到CP端,保证在CP上源端有效性校验。
步骤303,源端到CP节点的FIB路由下发:源端按照相应的LSA扩散,形成了一条源端与CP的路由表,然后将路由表由控制面下发到转发面;
步骤304,CP节点路由处理,具体包括:
(1)对于兴趣包的处理:首先查找FIB表,如果找到,将请求兴趣包按照FIB转发出去,同步生成PIT表;其次,如果找不到FIB表,则查找源注册表,如果有源注册表,则将请求兴趣包生成PIT路由,同步等待FIB下发;最后,如果找不到源注册表,则将请求兴趣包生成PIT路由,同时生成一个定时器,等待FIB路由,超时3个周期等待不到则删除CP端的PIT;
(2)对于FIB路由下发处理:如果FIB路由通告到CP端,触发CP端查找兴趣包,匹配相应的兴趣包,触发兴趣包按照FIB路由转发至源端,同步沿途生成CP到源端的PIT路由;
基于CP节点路由处理方式,形成一条以CP节点端为中心的,请求端到CP端PIT路由,CP节点端到源端的PIT路由,该两段路由按照时序性依次生成,完成后将组成完整的CPT路由。源端即为数据源的提供端,数据分为客户端和服务端,服务端提供数据,客户端去访问,服务端可以理解为源端。
步骤305,源端数据传输:源端收到CP节点传送过来的兴趣包后,触发数据源沿着CPT树上的PIT表进行转发,一直送至请求端,数据传输完成后,删除CPT路由即可。请求端即为客户端。
综上所述,本发明实施例的方法主要解决了以下几个技术问题:
(1)CP汇聚路由的生成解决了兴趣包丢失的问题:
现有技术的CCN路由,兴趣报文查找不到FIB路由后就丢掉兴趣包或者将兴趣包引向默认路径组的方式试探找寻FIB路由,如果最终找不到必然全部丢弃。本发明实施例的方法引入CP节点解决兴趣包丢失问题,因为CP节点的引入,需要对整个路由系统进行重构。在路由节点查找不到FIB路由后,需要将兴趣包引入CP节点作为兴趣包的终结点,CP节点收到兴趣路由后,生成注册兴趣PIT路由。
(2)CPT转发树的生成解决资源消耗大的问题:
在现有技术的CCN路由中,查不到CS、PIT、FIB情况下,兴趣报文要么丢弃要么按照一条默认路径转发,由此按照FIB路由反向生成一张PIT路由转发树;本发明实施例的方法中,因为引入了在查找不到FIB后,会首先生成请求端到CP的一棵PIT转发树,待FIB路由通告完成后,FIB路由反向刷新CP上的注册PIT表,触发PIT表按照FIB进行源路由器转发,沿途生成CP到源的转发树;两张PIT转发树以CP为中心,组成一张完整的CPT转发树。通过这样的方式,有效避免了无效兴趣报文转发带来的带宽资源的浪费。
如图5所示,本发明实施例还提供一种兴趣包缓存装置,包括:
选举模块71,用于CP选举;还用于配置一个主CP节点和一个或者多个候选CP节点,将CP节点的创建时间、算力、容量大小纳入路由中,每一个CP节点按照如上格式形成一条命名路由,并把所述命名路由利用OSPFN的OLSA扩散出去,因此在每一个CP节点上形成命名路由的FIB表,每一个CP节点需要基于相同的算法计算出主CP节点,该计算的计算规则为依次从time、compute直至capability,对于计算胜出的路由,下发转发面并且标记为主CP路由,主CP路由下转发表,根据硬件的支持情况选择候选CP路由是否下发;同时每一个CP节点也定制相应的路由策略,来区别选择主CP节点。
生成模块72,用于CP汇聚路由的生成;还用于CP节点收到兴趣包,兴趣包不存在于CS和PIT中;用于判断所述CP节点中是否有FIB,如果有FIB,就按照FIB的出接口转发兴趣包,并生成PIT表;用于如果没有FIB,判断所述CP节点中是否有CP路由,如果没有CP路由,就丢弃所述兴趣包;用于如果有CP路由,判断是否到达CP节点,如果没有到达CP节点,就生成PIT路由,让所述PIT路由的入接口继承CP路由的出接口;用于如果已到达CP节点,就生成PIT路由,所述PIT路由的出接口为请求端入口,出接口继承CP节点上的Prefix路由出接口,CP节点上的Prefix路由出口为NULL,PIT路由的出接口为NULL。
执行模块73,用于源路由注册机制;还用于在源路由组装LSA发布之后,同步按照源到CP节点的路由发起源路由注册,注册路由在沿途不需要上送只按照到CP节点的FIB转发即可;CP节点端收到注册路由后,形成一个源注册表,该表标识该源有效性,告知CP节点需要等待有效的FIB路由;在CP节点收到兴趣包后,CP节点认为该兴趣包因为路由动荡或者刷新导致查找不到FIB,将该兴趣包生成PIT路由来等待FIB通告;如果没有源注册路由,说明可能为无效兴趣包或者是源尚未发布路由,此时也生成PIT路由后,设置定时器,如果超时没有源注册路由或者FIB路由,则删除相应的PIT表项。
构造模块74,用于CPT树生成;还用于CP汇聚路由的生成;用于执行源端注册机制;用于源端到CP节点的FIB路由下发;用于CP处理;用于源端数据传输。
本发明实施例的装置的技术效果如下所示:
1)防止兴趣包丢失:
①针对路由震荡的应用场景,考虑到路由的频繁增删时存在某一时刻兴趣包查不到路由的情况,引入CPT路由存储方式,提高了用户兴趣包接入映射成功的概率,防止因为路由震荡带来的数据丢失。
②针对网络路由发布存在时延性的特点,在CP节点上,增加了FIB路由与PIT路由互相触发的设计,更加贴近真实的网络拓扑场景。
③由于CS存储带来路由的频繁刷新,因此增加了源注册机制,保证了CP节点及时感知到源信息的有效性,不会因为路由刷新影响兴趣包的有效性。
(2)减少资源消耗:
传统设计中在兴趣包查找不到FIB后就会丢弃兴趣包,后来一些研究中添加了默认路径来广播兴趣包,广播的兴趣包一定程度上延缓了路由时延带来的时序问题,但是同时也带来了网络中兴趣包的泛滥。本发明实施例的装置增加了一棵到CP的转发树,使得兴趣包在查找不到FIB后按照CPT树转发至CP节点即可。该设计可以有效的减少网络泛洪,降低了带宽消耗。
(2)降低资源负载:
如果所有兴趣包和数据回传路径都走一个CPT树就存在路径带宽过载问题。本发明实施例的装置通过灵活的CP选举机制可以有效的降低资源负载,通过增加多候选CP节点,路由器可以通过策略将路由引入负载较轻的候选CPT树上。通过灵活的CP选举机制,可以有效避免集中控制带来的流量过载问题。
本发明实施例还提供一种兴趣包缓存设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述兴趣包缓存方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述兴趣包缓存方法。
在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,ReadOnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号。
Claims (9)
1.一种兴趣包缓存方法,其特征在于,包括:
CP选举,其包括计算出主CP节点和定制相应的路由策略;所述CP选举的方法,具体包括:配置一个主CP节点和一个或者多个候选CP节点,将CP节点的创建时间、算力和容量大小纳入路由中,每一个CP节点形成一条命名路由,并把所述命名路由利用OSPFN的OLSA扩散出去;
CP汇聚路由的生成,其包括判断是否转发兴趣包和生成PIT路由;所述CP汇聚路由的生成方法,具体包括:CP节点收到兴趣包,该兴趣包不存在于CS和PIT中;判断所述CP节点中是否有FIB,如果有FIB,就按照FIB的出接口转发兴趣包,并生成PIT表;如果没有FIB,判断所述CP节点中是否有CP路由,如果没有CP路由,就丢弃所述兴趣包;如果有CP路由,判断是否到达CP节点,如果没有到达CP节点,就生成PIT路由,让所述PIT路由的入接口继承CP路由的出接口,出接口为兴趣包请求端口;如果已到达CP节点,就生成PIT路由,所述PIT路由的出接口为请求端入口,出接口继承CP节点上的Prefix路由出接口, CP节点上的Prefix路由出接口为NULL, PIT路由的出接口为NULL;
执行源路由注册机制,其包括同步按照源到CP节点的路由发起源路由注册;所述执行源路由注册机制具体包括:在源路由组装LSA发布之后,同步按照源到CP节点的路由发起源路由注册,注册路由在沿途不需要上送,只按照到CP节点的FIB转发即可;CP节点端收到注册路由后,形成一个源注册表,该表标识该源有效性,告知CP节点需要等待有效的FIB路由;
CPT树生成,其包括CP汇聚路由的生成、执行源端注册机制、CP处理和源端数据传输;其中,CP处理:基于CP处理方式,形成一条以CP节点端为中心的,请求端到CP端PIT路由,CP节点端到源端的PIT路由,两段路由按照时序性依次生成,完成后将组成完整的CPT路由;源端数据传输:源端收到CP节点传送过来的兴趣包后,触发数据源沿着CPT树上的PIT表进行转发,一直送至请求端,数据传输完成后,删除CPT树上的PIT路由即可。
2.根据权利要求1所述的兴趣包缓存方法,其特征在于,所述CP选举的方法,具体还包括:在每一个CP节点上形成命名路由的FIB表,每一个CP节点需要基于相同的算法计算出主CP节点,该计算的计算次序则为依次从表示CP节点的创建时间的time、表示CP节点的算力的compute直至表示CP节点的容量大小的capability,对于计算胜出的路由,下发转发面并且标记为主CP路由,主CP路由下发转发表,根据硬件的支持情况选择候选CP路由是否下发;同时每一个CP节点也定制相应的路由策略,来区别选择主CP节点。
3.根据权利要求1所述的兴趣包缓存方法,其特征在于,所述执行源路由注册机制具体还包括:在CP节点收到兴趣包后,CP节点认为该兴趣包因为路由动荡或者刷新导致查找不到FIB,将该兴趣包生成PIT路由来等待FIB通告;如果没有源注册路由,说明可能为无效兴趣包或者是源尚未发布路由,此时也生成PIT路由后,设置定时器,如果超时没有源注册路由或者FIB路由,则删除相应的PIT表项。
4.根据权利要求1所述的兴趣包缓存方法,其特征在于,所述CP处理,具体包括:
(1)对于兴趣包的处理:首先查找FIB表,如果找到,将请求兴趣包按照FIB转发出去,同步生成PIT表;其次,如果找不到FIB表,则查找源注册表,如果有源注册表,则将请求兴趣包生成PIT路由,同步等待FIB下发;最后,如果找不到源注册表,则将请求兴趣包生成PIT路由,同时生成一个定时器,等待FIB路由,超时多个周期等待不到则删除CP端的PIT;
(2)对于FIB路由下发处理:如果FIB路由通告到CP端,触发CP端查找兴趣包,匹配相应的兴趣包,触发兴趣包按照FIB路由转发至源端,同步沿途生成到源端的PIT路由。
5.一种兴趣包缓存装置,其特征在于,包括:
选举模块,用于CP选举,其包括计算出主CP节点和定制相应的路由策略;所述选举模块,用于:配置一个主CP节点和一个或者多个候选CP节点,将CP节点的创建时间、算力和容量大小纳入路由中,每一个CP节点形成一条命名路由,并把所述命名路由利用OSPFN的OLSA扩散出去;
生成模块,用于CP汇聚路由的生成,其包括判断是否转发兴趣包和生成PIT路由;所述生成模块,用于:CP节点收到兴趣包,该兴趣包不存在于CS和PIT中;判断所述CP节点中是否有FIB,如果有FIB,就按照FIB的出接口转发兴趣包,并生成PIT表;如果没有FIB,判断所述CP节点中是否有CP路由,如果没有CP路由,就丢弃所述兴趣包;如果有CP路由,判断是否到达CP节点,如果没有到达CP节点,就生成PIT路由,让所述PIT路由的入接口继承CP路由的出接口,出接口为兴趣包请求端口;如果已到达CP节点,就生成PIT路由,所述PIT路由的出接口为请求端入口,出接口继承CP节点上的Prefix路由出接口, CP节点上的Prefix路由出接口为NULL, PIT路由的出接口为NULL;
执行模块,用于源路由注册机制,其包括同步按照源到CP节点的路由发起源路由注册;所述执行模块,用于:在源路由组装LSA发布之后,同步按照源到CP节点的路由发起源路由注册,注册路由在沿途不需要上送,只按照到CP节点的FIB转发即可;CP节点端收到注册路由后,形成一个源注册表,该表标识该源有效性,告知CP节点需要等待有效的FIB路由;
构造模块,用于CPT树生成,其包括CP汇聚路由的生成、执行源端注册机制、CP处理和源端数据传输;其中,CP处理用于:基于CP处理方式,形成一条以CP节点端为中心的,请求端到CP端PIT路由,CP节点端到源端的PIT路由,两段路由按照时序性依次生成,完成后将组成完整的CPT路由;源端数据传输用于:源端收到CP节点传送过来的兴趣包后,触发数据源沿着CPT树上的PIT表进行转发,一直送至请求端,数据传输完成后,删除CPT树上的PIT路由即可。
6.根据权利要求5所述的兴趣包缓存装置,其特征在于,所述选举模块还用于在每一个CP节点上形成命名路由的FIB表,每一个CP节点需要基于相同的算法计算出主CP节点,该计算的计算次序则为依次从表示CP节点的创建时间的time、表示CP节点的算力的compute直至表示CP节点的容量大小的capability,对于计算胜出的路由,下发转发面并且标记为主CP路由,主CP路由下发转发表,根据硬件的支持情况选择候选CP路由是否下发;同时每一个CP节点也定制相应的路由策略,来区别选择主CP节点。
7.根据权利要求5所述的兴趣包缓存装置,其特征在于,所述执行模块还用于在CP节点收到兴趣包后,CP节点认为该兴趣包因为路由动荡或者刷新导致查找不到FIB,将该兴趣包生成PIT路由来等待FIB通告;如果没有源注册路由,说明可能为无效兴趣包或者是源尚未发布路由,此时也生成PIT路由后,设置定时器,如果超时没有源注册路由或者FIB路由,则删除相应的PIT表项。
8.一种兴趣包缓存设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~4中任意一项所述兴趣包缓存方法。
9.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令被计算机执行用于实现权利要求1~4中任意一项所述兴趣包缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011621000.5A CN112866106B (zh) | 2020-12-31 | 2020-12-31 | 一种兴趣包缓存方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011621000.5A CN112866106B (zh) | 2020-12-31 | 2020-12-31 | 一种兴趣包缓存方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866106A CN112866106A (zh) | 2021-05-28 |
CN112866106B true CN112866106B (zh) | 2023-04-18 |
Family
ID=75999126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011621000.5A Active CN112866106B (zh) | 2020-12-31 | 2020-12-31 | 一种兴趣包缓存方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866106B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137152B2 (en) * | 2012-02-16 | 2015-09-15 | Futurewei Technologies, Inc. | Method for scalable routing in content-oriented networks |
CN103095724B (zh) * | 2013-02-05 | 2015-12-23 | 西安电子科技大学 | 一种内容中心网络多个兴趣包压缩发送及处理的方法 |
CN104754687B (zh) * | 2013-12-31 | 2018-11-16 | 华为技术有限公司 | 信息发送方法及设备 |
CN104753797B (zh) * | 2015-04-09 | 2017-08-25 | 清华大学深圳研究生院 | 一种基于选择性缓存的内容中心网络动态路由方法 |
US20170093713A1 (en) * | 2015-09-28 | 2017-03-30 | Palo Alto Research Center Incorporated | Information-centric networking with small multi-path or single-path forwarding state |
CN109451080B (zh) * | 2019-01-14 | 2020-12-08 | 北京理工大学 | 一种无线场景下ndn兴趣包可靠传输方法 |
CN111786976B (zh) * | 2020-06-22 | 2021-05-25 | 上海交通大学 | 一种ndn网络中基于路径聚合的兴趣包泛洪攻击检测系统 |
-
2020
- 2020-12-31 CN CN202011621000.5A patent/CN112866106B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112866106A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11271892B2 (en) | Network communication method and system, device, and storage medium | |
EP4009593A1 (en) | Data transmission method and apparatus, network card and storage medium | |
US9838333B2 (en) | Software-defined information centric network (ICN) | |
KR20200040722A (ko) | 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법 | |
US20150381557A1 (en) | Container name server and method for container name resolution | |
US10484271B2 (en) | Data universal forwarding plane for information exchange | |
CN111683013B (zh) | 一种加速网络的路由方法和加速网络 | |
WO2023005773A1 (zh) | 基于远程直接数据存储的报文转发方法、装置、网卡及设备 | |
JP6601784B2 (ja) | 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム | |
CN112087390B (zh) | 一种网络路由方法及装置 | |
US9407687B2 (en) | Method, apparatus, and network system for acquiring content | |
JP2016059039A (ja) | Ccnにおける中間ルータにおけるインタレストキープアライブ | |
WO2015014196A1 (zh) | 确定内容获取路径、请求处理的方法、装置和系统 | |
US20210112004A1 (en) | Apparatus and method for forwarding a packet in content centric network | |
US11502956B2 (en) | Method for content caching in information-centric network virtualization | |
US9686724B2 (en) | Network storage method, switch device, and controller | |
CN107483628B (zh) | 基于dpdk的单向代理方法及系统 | |
WO2020249128A1 (zh) | 一种服务路由方法及装置 | |
CN112866106B (zh) | 一种兴趣包缓存方法、装置、设备及存储介质 | |
CN110191068A (zh) | 检测网络设备流缓存的陈旧存储器地址 | |
CN116866429A (zh) | 一种数据访问方法及相关装置 | |
CN114760263A (zh) | 一种地址解析方法、云平台及介质 | |
US11960407B1 (en) | Cache purging in a distributed networked system | |
CN114793234B (zh) | 消息处理方法、装置、设备和存储介质 | |
CN116074250B (zh) | 流表处理方法、系统、设备和存储介质 |
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 |