CN107454142B - 一种内容路由器的非阻塞内容缓存方法及装置 - Google Patents
一种内容路由器的非阻塞内容缓存方法及装置 Download PDFInfo
- Publication number
- CN107454142B CN107454142B CN201710517235.1A CN201710517235A CN107454142B CN 107454142 B CN107454142 B CN 107454142B CN 201710517235 A CN201710517235 A CN 201710517235A CN 107454142 B CN107454142 B CN 107454142B
- Authority
- CN
- China
- Prior art keywords
- packet
- keyword
- request
- content
- 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
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种内容路由器的非阻塞内容缓存方法及装置,该方法为:解析接收的第一目标兴趣包请求的包头,获取关键字和偏移量,利用布隆过滤器判断关键字对应的内容在CS中是否存在,若存在,判断CS中的I/O等待队列是否小于已设阈值,若为是,将第一目标数据包推送到发送第一目标兴趣包请求的服务器,若为否,判断待定请求表PIT中是否存在所述关键字,针对PIT中不存在关键字,将关键字发送到FIB中,利用FIB将关键字通过上游路由器进行路由转发;接收发送的第二目标数据包,根据PIT将其发送到端口对应的服务器后删除所述映射关系记录,将关键字添加到布隆过滤器的数据结构中;该方法解决了CS频繁拥塞的问题。
Description
技术领域
本申请涉及高性能路由器设计技术领域,特别是涉及一种内容路由器的非 阻塞内容缓存方法及装置。
背景技术
CCN(Content-Centric Networking,内容中心网络)网络是由美国帕洛阿 尔托研究中心(Palo Alto Research Center,简称PARC)提出的。不同于传统 的基于IP、以主机为主的网络结构,CCN网络注重内容本身,并且能通过它 直接进行寻址和路由。在CCN网络中,客户端端主机的通信凭据将是基于内 容的命名而不再是IP地址,内容路由器作为网络的基础设施,用来实现对内 容请求消息和内容返回消息的高速转发。由于内容路由器的具有网内可缓存内 容的特点,所以可以便捷地获取被缓存的内容,不必每次从CNN路由器之外的上游路由器获取内容;所述特点使得内容请求能直接被网内的路由器响应而 不再只是端主机,减小了网络拥塞,并且提高了内容分发效率。虽然这种创新 的架构能够获得不错的数据分发效率,但它颠覆了经典的IP网络中的端到端 原则,给予路由器的数据平面一定的存储能力,这也为其带来了一些性能负担, 使得CCN网络的数据分组的转发相比于传统的IP网络变得非常复杂。因此, 提高数据平面的性能在大型的CCN网络部署中起到了至关重要的作用。
在一个CCN内容路由器中,主要包括三个组成部分:转发信息表FIB (forwardinginformation base)、待定请求表PIT(pending interest table)和内 容存储器CS(content store),如图1所示。这三个组成部分将CCN路由器在 处理数据分组时划分成了三个流水线。网络中主要有两种数据分组的类型:兴 趣包(Interest)和数据包(Data)。用户端发送兴趣包到网络中请求内容,而 返回的内容将会被封装成数据包的形式带回。内容会被存储在网络中的CCN 路由器上,这样,后续相同的请求就不必转发到服务端,而直接在路由节点上 就能被处理。
参见图1,简介传统CCN内容路由器对数据分组的处理流程为:当兴趣 包到达CCN路由器时,首先查找CS是否有其所请求的内容,如果有,则路 由器会读取相应内容并将其封装成数据包直接返回,否则,兴趣包会进入PIT 查找是否存在相同的请求内容名字的前缀。如果存在,说明该内容之前已经向 上游路由器发起了请求,就不需要再次向上游转发,而只需在PIT中新增该兴 趣包请求的入端口的接口信息记录,否则除了在PIT中添加相关记录外,还需 将兴趣包通过FIB向上游继续转发。
当数据包从上游路由器返回到当前路由器时,路由器首先会查找PIT的记 录,如果能找到之前兴趣包请求记下的入端口信息,就将数据包从这些接口转 发出去到下游路由器,同时还会在CS依据一定的缓存策略进行内容的缓存操 作,如果PIT中找不到相应记录,则直接丢弃该数据包。由此可知,数据包总 是采取与对应的兴趣包相反的路径。
由上可知,传统的CCN的数据包主要存在于CS中,几乎所有兴趣包流 量都将首先在CS中进行解析处理,而部分流量才会依次转发到PIT、FIB中 处理,另外,CS的处理速度比PIT、FIB慢,因此势必造成CS频繁拥塞。
发明内容
本申请实施例的目的在于提供一种内容路由器的非阻塞内容缓存方法及 装置,解决CS频繁拥塞的问题。
具体技术方案如下:
一种内容路由器的非阻塞内容缓存方法,所述方法包括:
解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键 字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量,所述前 缀作为所述关键字;
利用布隆过滤器判断所述第一目标兴趣包请求的关键字对应的内容在内 容存储器CS中是否存在;
若存在,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索 与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到 发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜 索到的与所述第一目标兴趣包请求的关键字对应的内容;
若不存在,判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关 键字;
若不存在,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间 的映射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB 中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发, 其中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
若存在,判断在PIT中是否存在所述映射关系记录;
若不存在,在PIT中增加所述映射关系记录;
接收上游路由器发送的第二目标数据包,其中,所述第二目标数据包中包 括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述 第二目标数据包的关键字转发到PIT中;
根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述 入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键 字添加到布隆过滤器的数据结构中。
进一步地,在根据PIT中记录的所述映射关系记录,将所述第二目标数据 包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标 数据包的关键字添加到布隆过滤器的数据结构中之后,所述方法还包括:
利用所述第一目标兴趣包请求的偏移量将第二目标数据包存储在CS中。
进一步地,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜 索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送 到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中 搜索到的与所述第一目标兴趣包请求的关键字对应的内容,包括:
根据所述第一目标兴趣包请求的关键字,利用CS的主线程将第一目标I/O 指令传送到子线程中,其中,所述第一目标I/O指令为从CS中搜索与所述第 一目标兴趣包请求的关键字对应的内容的指令;
接收子线程通过所述第一目标兴趣包请求的偏移量检索到的第一目标数 据包,将所述第一目标数据包推送到发送所述第一目标兴趣包请求的服务器, 其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的 关键字对应的内容。
进一步地,在根据所述第一目标兴趣包请求的关键字和偏移量,从CS中 搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推 送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS 中搜索到的与所述第一目标兴趣包请求的关键字对应的内容之前,还包括:
判断CS中的I/O等待队列是否小于已设阈值;
若小于已设阈值,执行根据所述第一目标兴趣包请求的关键字和偏移量, 从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标 数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包 括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容的步骤;
若不小于已设阈值,执行判断待定请求表PIT中是否存在所述第一目标兴 趣包请求的关键字的步骤。
进一步地,利用所述第一目标兴趣包请求的偏移量将第二目标数据包存储 在CS中,包括:
根据所述第二目标数据包,利用CS的主线程将第二目标I/O指令传送到 子线程中,其中,所述第二目标I/O指令为将第二目标数据包存储在CS中的 指令;
利用子线程通过所述第一目标兴趣包请求的偏移量对所述第二目标数据 包进行存储。
进一步地,在解析第二目标数据包的包头,获得所述第二目标数据包的关 键字,将所述第二目标数据包的关键字转发到PIT中之后,还包括:
判断所述PIT中是否存在所述第二目标数据包的关键字;
若为是,执行根据PIT中记录的所述映射关系记录,将所述第二目标数据 包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标 数据包的关键字添加到布隆过滤器的数据结构中的步骤;
若为否,将所述第二目标数据包丢弃。
一种内容路由器的非阻塞内容缓存方法,所述方法包括:
解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键 字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量,所述前 缀作为所述关键字;
判断CS中的I/O等待队列是否小于已设阈值;
若小于已设阈值,根据所述第一目标兴趣包请求的关键字和偏移量,从 CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数 据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括 在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
若不小于已设阈值,判断待定请求表PIT中是否存在所述第一目标兴趣包 请求的关键字;
若不存在,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间 的映射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB 中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发, 其中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
若存在,判断在PIT中是否存在所述映射关系记录;
若不存在,在PIT中增加所述映射关系记录;
接收上游路由器发送的第二目标数据包,其中,所述第二目标数据包中包 括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述 第二目标数据包的关键字转发到PIT中;
根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述 入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键 字添加到布隆过滤器的数据结构中。
进一步地,在根据PIT中记录的所述映射关系记录,将所述第二目标数据 包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标 数据包的关键字添加到布隆过滤器的数据结构中之后,所述方法还包括:
利用所述第一目标兴趣包请求的偏移量将第二目标数据包存储在CS中。
进一步地,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜 索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送 到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中 搜索到的与所述第一目标兴趣包请求的关键字对应的内容,包括:
根据所述第一目标兴趣包请求的关键字,利用CS的主线程将第一目标I/O 指令传送到子线程中,其中,所述第一目标I/O指令为从CS中搜索与所述第 一目标兴趣包请求的关键字对应的内容的指令;
接收子线程通过所述第一目标兴趣包请求的偏移量检索到的第一目标数 据包,将所述第一目标数据包推送到发送所述第一目标兴趣包请求的服务器, 其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的 关键字对应的内容。
进一步地,利用所述第一目标兴趣包请求的偏移量将第二目标数据包存储 在CS中,包括:
根据所述第二目标数据包,利用CS的主线程将第二目标I/O指令传送到 子线程中,其中,所述第二目标I/O指令为将第二目标数据包存储在CS中的 指令;
利用子线程通过所述第一目标兴趣包请求的偏移量对所述第二目标数据 包进行存储。
进一步地,在解析第二目标数据包的包头,获得所述第二目标数据包的关 键字,将所述第二目标数据包的关键字转发到PIT中之后,还包括:
判断所述PIT中是否存在所述第二目标数据包的关键字;
若为是,执行根据PIT中记录的所述映射关系记录,将所述第二目标数据 包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标 数据包的关键字添加到布隆过滤器的数据结构中的步骤;
若为否,将所述第二目标数据包丢弃。
一种内容路由器的非阻塞内容缓存装置,所述装置包括:
兴趣包请求解析模块,用于解析接收的第一目标兴趣包请求的包头,获取 第一目标兴趣包请求的关键字和偏移量,其中,包头包括所请求内容的内容名 字的前缀和偏移量,所述前缀作为所述关键字;
布隆过滤器模块,用于利用布隆过滤器判断所述第一目标兴趣包请求的关 键字对应的内容在内容存储器CS中是否存在,若为是,触发内容搜索模块, 若为否,触发第一判断模块;
所述内容搜索模块,用于根据所述第一目标兴趣包请求的关键字和偏移量, 从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标 数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包 括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
第一判断模块,用于判断待定请求表PIT中是否存在所述第一目标兴趣包 请求的关键字,若为不存在,触发上游路由器模块,若为存在,触发映射关系 判断模块;
所述上游路由器模块,用于在PIT中增加所述第一目标兴趣包请求的关键 字与入端口之间的映射关系记录,将所述第一目标兴趣包请求的关键字转发到 转发信息表FIB中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由 器进行路由转发,其中,所述入端口为所述第一目标兴趣包请求进入路由器的 端口;
所述映射关系记录判断模块,用于判断在PIT中是否存在所述映射关系记 录,若为不存在,触发第一PIT模块;
所述第一PIT模块,用于在PIT中增加所述映射关系记录;
数据包接收模块,用于接收上游路由器发送的第二目标数据包,其中,所 述第二目标数据包中包括上游路由器发送的所述第一目标兴趣包请求的关键 字对应的内容;
解析模块,用于解析第二目标数据包的包头,获得所述第二目标数据包的 关键字,将所述第二目标数据包的关键字转发到PIT中;
第二PIT模块,用于根据PIT中记录的所述映射关系记录,将所述第二目 标数据包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第 二目标数据包的关键字添加到布隆过滤器的数据结构中。
一种内容路由器的非阻塞内容缓存装置,所述装置包括:
兴趣包请求解析模块,用于解析接收的第一目标兴趣包请求的包头,获取 第一目标兴趣包请求的关键字和偏移量,其中,包头包括所请求内容的内容名 字的前缀和偏移量,所述前缀作为所述关键字;
I/O等待队列判断模块,用于判断CS中的I/O等待队列是否小于已设阈值; 若小于已设阈值,触发内容搜索模块,若不小于已设阈值,触发第一判断模块;
所述内容搜索模块,用于根据所述第一目标兴趣包请求的关键字和偏移量, 从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标 数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包 括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
所述第一判断模块,用于判断待定请求表PIT中是否存在所述第一目标兴 趣包请求的关键字;若不存在,触发上游路由器模块,若为存在,触发映射关 系判断模块;
所述上游路由器模块,用于在PIT中增加所述第一目标兴趣包请求的关键 字与入端口之间的映射关系记录,将所述第一目标兴趣包请求的关键字转发到 转发信息表FIB中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由 器进行路由转发,其中,所述入端口为所述第一目标兴趣包请求进入路由器的 端口;
所述映射关系记录判断模块,用于判断在PIT中是否存在所述映射关系记 录;若不存在,触发第一PIT模块;
所述第一PIT模块,用于在PIT中增加所述映射关系记录;
数据包接收模块,用于接收上游路由器发送的第二目标数据包,其中,所 述第二目标数据包中包括上游路由器发送的所述第一目标兴趣包请求的关键 字对应的内容;
解析模块,用于解析第二目标数据包的包头,获得所述第二目标数据包的 关键字,将所述第二目标数据包的关键字转发到PIT中;
第二PIT模块,用于根据PIT中记录的所述映射关系记录,将所述第二目标 数据包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二 目标数据包的关键字添加到布隆过滤器的数据结构中。
本申请实施例提供的一种内容路由器的非阻塞内容缓存方法及装置,可以 通过解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键 字和偏移量,利用布隆过滤器判断所述第一目标兴趣包请求的关键字对应的内 容在内容存储器CS中是否存在;若为是,根据所述第一目标兴趣包请求的关键 字和偏移量,从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并 将第一目标数据包推送到发送第一目标兴趣包请求的服务器;该方法解决了CS 频繁拥塞的问题,从而充分利用了PIT、FIB,降低了流量的排队时延,提高了 内容路由器的整体性能。当然,实施本申请的任一产品或方法必不一定需要同 时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统CCN内容路由器对数据分组处理的流程图;
图2为本申请文件实施例提供的第一种内容路由器的非阻塞内容缓存方法 流程图;
图3为CCN路由器包处理数学模型示意图;
图4为本申请文件实施例提供的第二种内容路由器的非阻塞内容缓存方法 流程图;
图5为本申请文件实施例提供的第三种内容路由器的非阻塞内容缓存方法 流程图;
图6为本申请文件实施例提供的第一种内容路由器的非阻塞内容缓存装置 的结构示意图;
图7为本申请文件实施例提供的第二种内容路由器的非阻塞内容缓存装置 的结构示意图
图8为本申请文件实施例提供的一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是 全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2为本申请文件实施例提供的第一种内容路由器的非阻塞内容缓存方法 的流程图,所述方法包括:
S101,解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求 的关键字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量, 所述前缀作为所述关键字;
其中,上述解析接收的第一目标兴趣包请求的包头可以通过接收第一目标 兴趣包请求,利用状态机的包头解析模块(Packet parser)解析第一目标兴趣 包请求的包头,获取第一目标兴趣包请求的关键字;上述状态机的包头解析模 块是一个用于解析接收第一目标兴趣包请求的模块;
上述兴趣包为一种数据包类型,拥有一个内容名称,同时该名称被加密签 名。兴趣包也可以理解为在CCN网络中,用户通过发送兴趣包告诉网络自己的 需求,网络根据这些信息来找寻用户所需要的内容包。用户请求数据时只需要 注明数据名称,而不需要声明去哪获取相关资源;
上述包头为数据分组的首部(packet header),包括内容的名字前缀、偏移 量;
上述偏移量是指从指定位置向前或向后移动的字节数,偏移量是用来从文 件中找到所用数据时用的。
S102,利用布隆过滤器判断所述第一目标兴趣包请求的关键字对应的内容 在内容存储器CS中是否存在,若为否,执行S104,若为是,执行S103;
其中,上述布隆过滤器(Bloom Filter)是一个很长的二进制向量和一系列 随机映射函数,布隆过滤器用于检索一个元素是否在一个集合中,若为是,该 元素不一定在集合中;若为否,该元素一定不在集合中;也就是说,本申请文 件中的布隆过滤器用于判断所述第一目标兴趣包请求的关键字对应的内容是 否存在CS(content store)中;布隆过滤器的优点是空间效率和查询时间都远 远超过一般的算法。
值得一提的是,虽然布隆过滤器的查询结果不能得到内容的存放地址,但 其插入和查询时间都是常数,基于此,CS可以更快地判断出请求的内容是否存 在于本路由器上。另外,相比于其他索引数据结构,例如散列表和二叉树,布 隆过滤器的内存占用更小。所以,在方案中设计数据分组先通过布隆过滤器的 查询,如果判断结果在集合中,再进行内容存放地址的查找和异步的读取内容 操作;如果不在,CS就能更快地将请求发往PIT并继续后续分组的处理。
布隆过滤器(Bloom Filter)的设置,是为了弥补传统CCN路由器的性能存 在容易拥堵的缺陷,为了更加清楚的描述本申请文件发明的目的,现具体推理 如下:
如图1所示,根据传统CCN内容路由器对数据分组的处理流程可知,将CCN 路由器抽象为两个方向的队列流水线处理,每个方向都由若干个队列和服务台 组成,如图3所示。包离开每个队列的时候能够以一定的转发概率选择接下来 去哪儿,包能够被队列阻塞而排队等待,也能因为队列满载而被丢弃。
作如下假设:
(1)架构中的每个部分被抽象成一个先入先出(First Input First Output,FIFO)的队列和一个服务台,队列负责包缓冲,服务台则是进行包处理。
(2)包到达每个队列是一个泊松流。
(3)包在每个服务台的服务时间服从负指数分布。
(4)架构中的每个部分能被看成一个M/M/1的排队系统。
(5)包在两个部分间的传输速率是平稳的,能够使用开放排队网络 (Jackson网络,Jackson network,来源于James R Jackson.1963.Jobshop-like queueingsystems.Management science 10,1(1963),131–142)对CCN包处理流 程进行建模。
上述泊松流可以理解为到达的流量按照如下条件进行输入的过程称为泊 松流,则如下条件为:
1)平稳性,在区间[a,a+t)内有k个数据分组到来的概率与起点a无关,只 与时间的长度t有关。
2)无后效性,不相交区间内到达数据分组数的概率分布是相互独立的。
3)普通性,在长度为t的时间区间内至少到达两个数据分组的概率是t 的高阶无穷小量。
4)有限性,在任意有限区间内到达有限个数据分组的概率为1。
在利用CCN包处理流程建立的模型中,CS和PIT内有两个方向的队列, 分别对应兴趣包和数据包的处理队列,而FIB只有一个方向的队列,只处理兴 趣包。模型中的一些符号定义为:λ为兴趣包平均到达率,Ti为第i个队列的 平均吞吐率,μi为第i个服务台的平均服务率,α为兴趣包的CS命中率,β为 兴趣包的PIT命中率,θ为兴趣包的FIB命中率,τ为兴趣包平均离去率,λ′为 数据包平均到达率,为数据包缓存率,τ′为已缓存数据包平均离去率,ρi为 第i个服务台的利用率。
根据Jackson网络可知,对于每个队列,当系统处于平稳状态后,包的平 均到达率应该等于平均离去率。假设从外部进入CCN路由器的兴趣包平均到达 率为λ,有:
同理,对于数据包,有:
若不考虑丢包,则一个数据包总是一个兴趣包的响应,才能保证流量的平 衡。所以,兴趣包的离去率τ应约等于数据包的到达率λ′,则有:
τ≈λ′ (3)
联立式(1)、式(2)和式(3),能够计算得到系统处于稳定状态后每个 队列的吞吐率:
根据文献“通信网性能分析基”记载的M/M/1排队系统理论,每个服务 台的利用率ρi为:
显然,为了防止队列过载溢出,要求平稳状态下队列的吞吐率Ti不大于服 务台的服务率μi,即服务台的利用率不大于1。
其中,上述吞吐率表示在单位时间内通过某个网络(或信道、接口)的数 据量。
上述过载溢出为队列中存放的数据量已经超过预设容量,使得后续数据不 能正常存放而被丢弃。
将式(4)带入式(5),能够得到以下不等式:
由此可知,路由器的最大吞吐率就是第1个队列兴趣包的最大到达率,受 到下列约束:
由于α、β、θ和均是小于1的参数,所以由式(7)可知CS的服务率致 使整个路由器的性能出现了瓶颈,除非它的服务率μ1大于其他队列的服务率。 也就是说,如果服务率μ1不足够大,那么CS对兴趣包的入队列将会过载,而 其他队列将频繁地处于空闲状态,使得整个路由器不够高效。
另外,通常地,CS相比于PIT和FIB,有着更频繁的访存操作,这将导 致CS的服务率很难高于PIT和FIB的服务率。
因此,本申请文件需要提高CS的服务率,使其高于PIT和FIB的服务率。
上述另一种实施方式:在S102之后,还包括:判断CS中的I/O等待队列是 否小于已设阈值,若小于已设阈值,执行S103,若不小于已设阈值,执行S104;
上述I/O等待队列是为了在当发起的I/O指令不能立即执行时,对所述I/O指 令进行存放的数据结构,可以通过线性表或链表实现。
需要说明的是,当一个CCN路由器需要读取内容的请求过多时,将会进行 排队等待,可能造成拥塞,这往往也会使CS处理性能下降,这时候如果将一部 分请求转发到负载压力不大的上游路由器处理,反而能够提高全网的处理效率。 于是,设计一个I/O等待队列,当兴趣包请求的内容被布隆过滤器判断出存在 于本路由器上后,将进入这个队列等待相应异步读取操作的发起。而这个队列 会设置一定的长度阈值,若当前队列的长度达到阈值,就把溢出的请求发往PIT, 交给上游路由器处理。也就是说,虽然兴趣包在CS处能够成功命中,但由于此 时CS已经满载,这些兴趣包将会溢出,而以一种尽力而为的方式被转发到其路 由路径上一个负载较轻的路由器中处理。
S103,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与所 述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发送 第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的 与所述第一目标兴趣包请求的关键字对应的内容;
其中,上述从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容 可以理解为在CS中存有与所述第一目标兴趣包请求的关键字相匹配的内容。
需要说明的是,第一目标兴趣包请求对应的服务器可以理解为用户发送第 一目标兴趣包请求的服务器。
具体的,
根据所述第一目标兴趣包请求的关键字,利用CS的主线程将第一目标I/O 指令传送到子线程中,其中,所述第一目标I/O指令为从CS中搜索与所述第 一目标兴趣包请求的关键字对应的内容的指令;
接收子线程通过所述第一目标兴趣包请求的偏移量检索到的第一目标数 据包,将所述第一目标数据包推送到发送所述第一目标兴趣包请求的服务器其 中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的关 键字对应的内容。
其中,上述CS的主线程为CS结构的程序启动时就被创建的线程。
上述I/O指令可以理解为将数据输入或输出的指令。
需要说明的是,因为网络中需要缓存的内容量是非常巨大的,所以不得不 使用大容量的存储介质来建造CS,而对这些内容的I/O操作效率对于CS而言 就变得非常重要。大多数的I/O请求是阻塞型的,这导致程序的控制权直到I/O 完成后才能释放出来,进而使得CS对后续的兴趣包处理需要受到前面的I/O 访问时延的影响,造成的访问时延是不必要的。很显然,在高速的网络流量处 理过程当中,这种阻塞方式将会是低效的,增加了数据分组的平均排队时延。 因此,为了能够立即返回控制权,提出采用异步I/O操作,所述异步I/O操作 为:当主线程发起一个I/O指令后,该指令就被一个新建的子线程处理,而主 线程的控制权就能立即返回去处理下一个请求。得益于此,当CS成功地发出 了异步读取的指令后,接着就可以立即继续后续兴趣包的处理,而不需要阻塞 等待该I/O指令操作完毕;而当CS收到异步读取操作完成的通知时,再将其 封装成数据包返回即可。
S104,判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关键字, 若不存在,执行S105,若存在,执行S106
其中,上述判断PIT中是否存在所述第一目标兴趣包请求的关键字可以理 解为PIT中预先可能存有与所述第一目标兴趣包请求的关键字相同的关键字。
S105,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间的映 射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB中, 利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发,其 中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
其中,上述映射关系包括所述第一目标兴趣包请求的关键字、入端口及二 者之间的对应关系;
上述PIT是用于记录关键字和对应入端口的映射信息的,上述入端口可以 理解为每个目标兴趣包请求进入CCN路由器的端口时,所述端口均与对应的关 键字具有映射关系,也就是说,每个目标兴趣包请求进入路由器的端口对应一 个关键字。
其中,上游路由器是路由转发过程中,根据路由表显示的下一跳路由器。
上述利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路 由转发的一种实施方式可以为:利用所述第一目标兴趣包请求的关键字,从 FIB中搜索与向上游路由器转发所述第一目标兴趣包请求的关键字对应的 CCN路由器的出端口,根据所述出端口将所述第一目标兴趣包请求的关键字 向上游路由器进行路由转发。
需要说明的是,通过判断PIT中存在与所述关键字相同的内容,来决定是 否对所述关键字即第一目标兴趣包请求的关键字进行路由转发。也就是说,兴 趣包会进入PIT查找是否存在相同的请求内容名字的前缀,如果存在,说明该 内容之前已经向上游路由器发起了请求,就不需要再次向上游转发,而只需在 PIT中新增包括入端口信息记录的所述映射关系记录,否则除了在PIT中添加 相关记录外,还需将兴趣包通过FIB向上游继续转发。
另外,通过检索可知PIT中不存在与所述关键字相同的关键字,不仅需要 将所述入端口信息添加到PIT中,以便将搜寻到的第一目标数据包发送到所述 入端口对应的服务器中;将所述第一目标兴趣包请求的关键字发送到FIB,是 为了利用FIB将所述关键字通过上游路由器进行路由转发,以便搜寻的与所述 第一目标兴趣包请求的关键字匹配的第一目标数据包。
值得一提的是,在PIT中增加映射关系,也就意味着增加了所述入端口信 息,其目的是为了找到第一目标数据包的传送端口对应的服务器,也就是说, 第一目标数据包是根据PIT记录的入端口信息记录进行传送的。
S106,判断在PIT中是否存在所述映射关系记录;若为不存在,执行S107;
其中,上述判断在PIT中是否存在所述映射关系记录可以理解为PIT中预先 可能存有与所述第一目标兴趣包请求的关键字与入端口映射关系相同的关键 字、入端口以及二者之间的映射关系。
S107,在PIT中增加所述映射关系记录;
基于上述所述的情况,在PIT中增加所述映射关系记录的目的也是为了在 PIT中增加为了找到第一目标数据包的传送端口对应的服务器,也就是说,第 一目标数据包是根据PIT记录的入端口信息记录进行传送的。
S108,接收上游路由器发送的第二目标数据包,其中,所述第二目标数据 包中包括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
基于上述情况,根据CS中不存在与所述第一目标兴趣包请求的关键字相匹 配的内容,或是CS中I/O等待队列已经满了,都需要从上游路由器中寻求搜索, 其中,第二目标数据包就是通过上游路由器获得的与所述第一目标兴趣包请求 的关键字相匹配的内容。
S109,解析第二目标数据包的包头,获得所述第二目标数据包的关键字, 将所述第二目标数据包的关键字转发到PIT中;
其中,上述解析第二目标数据包的包头可以利用状态机的包头解析模块对 第二目标数据包的包头进行解析;
需要说明的是,当获得由上游路由器发送的第二目标数据包时,也需要对 所述第二目标数据包的包头进行解析,目的是为了将所述第二目标数据包的内 容与兴趣包请求进行匹配,也是为了快速将第二目标数据包进行缓存。
在S109之后,还包括:
判断所述PIT中是否存在所述第二目标数据包的关键字;
若为是,执行S110;
若为否,将所述第二目标数据包丢弃。
S110,根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送 到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包 的关键字添加到布隆过滤器的数据结构中。
其中,上述将所述第二目标数据包的关键字添加到布隆过滤器的数据结构 中的目的是为了更新布隆过滤器的数据结构,以备下一个目标兴趣包请求查询 CS中是否有与之匹配的内容时用所述关键字。
上述删除所述映射关系记录是为了不重复给同一个入端口再无兴趣包请 求的情况下推送第二目标数据包。
由此可见,该方法通过增加布隆过滤器,不仅解决了CS频繁拥塞的问题, 还充分地利用了PIT和FIB,降低了流量的排队时延,提高了内容路由器的整 体性能。
基于上述情况,在获得所述第二目标数据包的关键字后,便可以利用第二 目标数据包的关键字与PIT存储的关键字进行对比匹配,获得与所述第二目标 数据包的关键字匹配的信息,同时快速找到发送与述第二目标数据包匹配的路 由器的端口信息即第一目标兴趣包请求进入路由器的端口信息;
上述的一种实施方式为:在S110之后,所述方法还可以包括:
利用所述第一目标兴趣包请求的偏移量将所述第二目标数据包存储在CS 中。
其中,将所述第二目标数据包存储在CS中是为了下一次兴趣包请求查询时 便捷,丰富CS内容。
具体的,
根据所述第二目标数据包,利用CS的主线程将第二目标I/O指令传送到 子线程中,其中,所述第二目标I/O指令为将第二目标数据包存储在CS中的 指令;
利用子线程通过所述第一目标兴趣包请求的偏移量对所述第二目标数据 包进行存储。
由此可见,上述的实施方式在高速的网络流量处理过程当中通过采用异步 I/O操作和增加布隆过滤器,降低了数据分组的平均排队时延,不仅解决了CS 频繁拥塞的问题,还充分地利用了PIT和FIB,降低了流量的排队时延,提高 了内容路由器的整体性能。
图4为实现本申请文件实施例提供的第二种内容路由器的非阻塞内容缓存 方法的流程图,所述方法包括:
S201,解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求 的关键字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量, 所述前缀作为所述关键字;
S202,判断CS中的I/O等待队列是否小于已设阈值;若小于已设阈值,执 行S203,若不小于已设阈值,执行S204;
S203,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与所 述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发送 第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的 与所述第一目标兴趣包请求的关键字对应的内容;
具体的,根据所述第一目标兴趣包请求的关键字,利用CS的主线程将第 一目标I/O指令传送到子线程中,其中,所述第一目标I/O指令为从CS中搜 索与所述第一目标兴趣包请求的关键字对应的内容的指令;
接收子线程通过所述第一目标兴趣包请求的偏移量检索到的第一目标数 据包,将所述第一目标数据包推送到发送所述第一目标兴趣包请求的服务器, 其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的 关键字对应的内容。
S204,判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关键字; 若不存在,执行S205,若存在,执行S206;
S205,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间的映 射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB中, 利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发,其 中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
S206,判断在PIT中是否存在所述映射关系记录;若不存在,执行S207;
S207,在PIT中增加所述映射关系记录;
S208,接收上游路由器发送的第二目标数据包,其中,所述第二目标数据 包中包括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
S209,解析第二目标数据包的包头,获得所述第二目标数据包的关键字, 将所述第二目标数据包的关键字转发到PIT中;
在S209之后,包括:
判断所述PIT中是否存在所述第二目标数据包的关键字;
若为是,执行根据PIT中记录的所述映射关系记录,将所述第二目标数据 包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标 数据包的关键字添加到布隆过滤器的数据结构中的步骤;
若为否,将所述第二目标数据包丢弃。
S210,根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送 到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包 的关键字添加到布隆过滤器的数据结构中。
在S210之后,包括:利用所述第一目标兴趣包请求的偏移量将第二目标数 据包存储在CS中。
具体的,
根据所述第二目标数据包,利用CS的主线程将第二目标I/O指令传送到 子线程中,其中,所述第二目标I/O指令为将第二目标数据包存储在CS中的 指令;
利用子线程通过所述第一目标兴趣包请求的偏移量对所述第二目标数据 包进行存储。
图5为本申请文件实施例提供的第二种内容路由器的非阻塞内容缓存方法 的流程图,所述方法包括:
S301,解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求 的关键字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量, 所述前缀作为所述关键字;
S302,利用布隆过滤器判断所述第一目标兴趣包请求的关键字对应的内容 在内容存储器CS中是否存在,若不存在,执行S305,若存在,执行S303;
S303,判断CS中的I/O等待队列是否小于已设阈值,若小于已设阈值,返 回执行S304,若不小于已设阈值,执行S305;
S304,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与所 述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发送 第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的 与所述第一目标兴趣包请求的关键字对应的内容;
S305,判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关键字; 若为不存在,执行S306,若存在,执行S307;
S306,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间的映 射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB中, 利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发,其 中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
S307,判断在PIT中是否存在所述映射关系记录;若不存在,执行S208;
S308,在PIT中增加所述映射关系记录;
S309,接收上游路由器发送的第二目标数据包,其中,所述第二目标数据 包中包括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
S310,解析第二目标数据包的包头,获得所述第二目标数据包的关键字, 将所述第二目标数据包的关键字转发到PIT中;
S311,判断所述PIT中是否存在所述第二目标数据包的关键字;若为是, 执行S312,若为否,S313;
S312,根据PIT记录的入端口信息和对应的关键字,将所述第二目标数据 包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标 数据包的关键字添加到布隆过滤器的数据结构中;
S313,将所述第二目标数据包丢弃。
由此可见,该方法通过增加了布隆过滤器和I/O等待队列的限制,不仅解 决了CS频繁拥塞的问题,还充分地利用了PIT和FIB,降低了流量的排队时 延,提高了内容路由器的整体性能。
图6为本申请文件实施例提供的第一种内容路由器的非阻塞内容缓存装置 的结构示意图,所述装置包括:
兴趣包请求解析模块401,用于解析接收的第一目标兴趣包请求的包头, 获取第一目标兴趣包请求的关键字和偏移量,其中,包头包括所请求内容的内 容名字的前缀和偏移量,所述前缀作为所述关键字;
布隆过滤器模块402,用于利用布隆过滤器判断所述第一目标兴趣包请求 的关键字对应的内容在内容存储器CS中是否存在,若为是,触发内容搜索模块 403,若为否,触发第一判断模块404;
所述内容搜索模块403,用于根据所述第一目标兴趣包请求的关键字和偏 移量,从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一 目标数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包 中包括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
所述第一判断模块404,用于判断待定请求表PIT中是否存在所述第一目标 兴趣包请求的关键字;若为不存在,触发上游路由器模块405,若为存在,触 发映射关系判断模块406;
所述上游路由器模块405,用于在PIT中增加所述第一目标兴趣包请求的关 键字与入端口之间的映射关系记录,将所述第一目标兴趣包请求的关键字转发 到转发信息表FIB中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由 器进行路由转发,其中,所述入端口为所述第一目标兴趣包请求进入路由器的 端口;
所述映射关系记录判断模块406,用于判断在PIT中是否存在所述映射关系 记录,若为不存在,触发第一PIT模块407;
所述第一PIT模块407,用于在PIT中增加所述映射关系记录;
所述数据包接收模块408,用于接收上游路由器发送的第二目标数据包, 其中,所述第二目标数据包中包括上游路由器发送的所述第一目标兴趣包请求 的关键字对应的内容;
解析模块409,用于解析第二目标数据包的包头,获得所述第二目标数据 包的关键字,将所述第二目标数据包的关键字转发到PIT中;
第二PIT模块410,用于根据PIT中记录的所述映射关系记录,将所述第二 目标数据包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述 第二目标数据包的关键字添加到布隆过滤器的数据结构中。
所述装置还包括:
存储模块,用于利用所述第一目标兴趣包请求的偏移量将第二目标数据包 存储在CS中。
第二判断模块,用于判断所述PIT中是否存在所述第二目标数据包的关键 字;若为是,触发第二PIT模块;若为否,触发丢弃模块;
所述丢弃模块,用于将所述第二目标数据包丢弃。
I/O等待队列判断模块,用于判断CS中的I/O等待队列是否小于已设阈值; 若小于已设阈值,触发内容搜索模块,若不小于已设阈值,触发第一判断模块。
所述内容搜索模块403包括:
第一主线程子模块,用于根据所述第一目标兴趣包请求的关键字,利用 CS的主线程将第一目标I/O指令传送到子线程中,其中,所述第一目标I/O指 令为从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容的指令;
第一子线程子模块,用于接收子线程通过所述第一目标兴趣包请求的偏移 量检索到的第一目标数据包,将所述第一目标数据包推送到发送所述第一目标 兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的与所述 第一目标兴趣包请求的关键字对应的内容。
所述存储模块包括:
第二主线程子模块,用于根据所述第二目标数据包,利用CS的主线程将 第二目标I/O指令传送到子线程中,其中,所述第二目标I/O指令为将第二目 标数据包存储在CS中的指令;
第二子线程子模块,用于利用子线程通过所述第一目标兴趣包请求的偏移 量对所述第二目标数据包进行存储。
由此可见,该装置通过增加布隆过滤器、I/O等待队列的限制和异步I/O 操作,不仅解决了CS频繁拥塞的问题,还充分地利用了PIT和FIB,降低了 流量的排队时延,提高了内容路由器的整体性能。
图7为本申请文件实施例提供的第二种内容路由器的非阻塞内容缓存装置 的结构示意图,所述装置包括:
兴趣包请求解析模块501,用于解析接收的第一目标兴趣包请求的包头, 获取第一目标兴趣包请求的关键字和偏移量,其中,包头包括所请求内容的内 容名字的前缀和偏移量,所述前缀作为所述关键字;
I/O等待队列判断模块502,用于判断CS中的I/O等待队列是否小于已设阈 值;若小于已设阈值,触发内容搜索模块503,若不小于已设阈值,触发第一判 断模块504;
所述内容搜索模块503,用于根据所述第一目标兴趣包请求的关键字和偏 移量,从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一 目标数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包 中包括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
所述第一判断模块504,用于判断待定请求表PIT中是否存在所述第一目标 兴趣包请求的关键字;若不存在,触发上游路由器模块505,若为存在,触发 映射关系判断模块506;
所述上游路由器模块505,用于在PIT中增加所述第一目标兴趣包请求的关 键字与入端口之间的映射关系记录,将所述第一目标兴趣包请求的关键字转发 到转发信息表FIB中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由 器进行路由转发,其中,所述入端口为所述第一目标兴趣包请求进入路由器的 端口;
所述映射关系记录判断模块506,用于判断在PIT中是否存在所述映射关系 记录;若不存在,触发第一PIT模块507;
所述第一PIT模块507,用于在PIT中增加所述映射关系记录;
数据包接收模块508,用于接收上游路由器发送的第二目标数据包,其中, 所述第二目标数据包中包括上游路由器发送的所述第一目标兴趣包请求的关 键字对应的内容;
解析模块509,用于解析第二目标数据包的包头,获得所述第二目标数据 包的关键字,将所述第二目标数据包的关键字转发到PIT中;
第二PIT模块510,用于根据PIT中记录的所述映射关系记录,将所述第二 目标数据包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述 第二目标数据包的关键字添加到布隆过滤器的数据结构中。
所述装置还包括:
存储模块,用于利用所述第一目标兴趣包请求的偏移量将第二目标数据包 存储在CS中。
第二判断模块,用于判断所述PIT中是否存在所述第二目标数据包的关键 字;若为是,触发第二PIT模块;若为否,触发丢弃模块;
所述丢弃模块,用于将所述第二目标数据包丢弃。
所述内容搜索模块503包括:
第一主线程子模块,用于根据所述第一目标兴趣包请求的关键字,利用CS 的主线程将第一目标I/O指令传送到子线程中,其中,所述第一目标I/O指令为 从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容的指令;
第一子线程子模块,用于接收子线程通过所述第一目标兴趣包请求的偏移 量检索到的第一目标数据包,将所述第一目标数据包推送到发送所述第一目标 兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的与所述 第一目标兴趣包请求的关键字对应的内容。
所述存储模块包括:
第二主线程子模块,用于根据所述第二目标数据包,利用CS的主线程将第 二目标I/O指令传送到子线程中,其中,所述第二目标I/O指令为将第二目标数 据包存储在CS中的指令;
第二子线程子模块,用于利用子线程通过所述第一目标兴趣包请求的偏移 量对所述第二目标数据包进行存储。
本申请实施例还提供了一种电子设备,如图8所示,包括处理器601、通信 接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储 器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键 字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量,所述前 缀作为所述关键字;
利用布隆过滤器判断所述第一目标兴趣包请求的关键字对应的内容在内 容存储器CS中是否存在;
若存在,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与 所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发 送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到 的与所述第一目标兴趣包请求的关键字对应的内容;
若不存在,判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关 键字;
若不存在,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间 的映射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB 中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发, 其中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
若存在,判断在PIT中是否存在所述映射关系记录;
若不存在,在PIT中增加所述映射关系记录;
接收上游路由器发送的第二目标数据包,其中,所述第二目标数据包中包 括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述 第二目标数据包的关键字转发到PIT中;
根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述 入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键 字添加到布隆过滤器的数据结构中。
由此可见,执行本实施例提供的电子设备能够通过增加布隆过滤器,不仅 解决了CS频繁拥塞的问题,还充分地利用了PIT和FIB,降低了流量的排队 时延,提高了内容路由器的整体性能。
上述的相关内容路由器的非阻塞内容缓存方法的实施方式与前述方法实 施例部分提供的内容路由器的非阻塞内容缓存方法的测试方式相同,这里不再 赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总 线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根 总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可 以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存 储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器 (DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序, 所述计算机程序被处理器执行时实现如下步骤:
解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键 字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量,所述前 缀作为所述关键字;
利用布隆过滤器判断所述第一目标兴趣包请求的关键字对应的内容在内 容存储器CS中是否存在;
若存在,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与 所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发 送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到 的与所述第一目标兴趣包请求的关键字对应的内容;
若不存在,判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关 键字;
若不存在,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间 的映射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB 中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发, 其中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
若存在,判断在PIT中是否存在所述映射关系记录;
若不存在,在PIT中增加所述映射关系记录;
接收上游路由器发送的第二目标数据包,其中,所述第二目标数据包中包 括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述 第二目标数据包的关键字转发到PIT中;
根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述 入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键 字添加到布隆过滤器的数据结构中。
由此可见,执行本实施例提供的计算机可读存储介质中存储的应用程序时, 能够通过增加布隆过滤器,不仅解决了CS频繁拥塞的问题,还充分地利用了 PIT和FIB,降低了流量的排队时延,提高了内容路由器的整体性能。
上述的相关内容路由器的非阻塞内容缓存方法的实施方式与前述方法实 施例部分提供的内容路由器的非阻塞内容缓存方法的测试方式相同,这里不再 赘述。
本申请实施例提供的的一种电子设备,如图8所示,包括处理器601、通信 接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储 器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键 字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量,所述前 缀作为所述关键字;
判断CS中的I/O等待队列是否小于已设阈值;
若小于已设阈值,根据所述第一目标兴趣包请求的关键字和偏移量,从CS 中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包 推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS 中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
若不小于已设阈值,判断待定请求表PIT中是否存在所述第一目标兴趣包 请求的关键字;
若不存在,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间 的映射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB 中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发, 其中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
若存在,判断在PIT中是否存在所述映射关系记录;
若不存在,在PIT中增加所述映射关系记录;
接收上游路由器发送的第二目标数据包,其中,所述第二目标数据包中包 括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述 第二目标数据包的关键字转发到PIT中;
根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述 入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键 字添加到布隆过滤器的数据结构中。
由此可见,执行本实施例提供的电子设备能够通过增加布隆过滤器,不仅 解决了CS频繁拥塞的问题,还充分地利用了PIT和FIB,降低了流量的排队 时延,提高了内容路由器的整体性能。
上述的相关内容路由器的非阻塞内容缓存方法的实施方式与前述方法实 施例部分提供的内容路由器的非阻塞内容缓存方法的测试方式相同,这里不再 赘述。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序, 所述计算机程序被处理器执行时实现如下步骤:
解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键 字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量,所述前 缀作为所述关键字;
判断CS中的I/O等待队列是否小于已设阈值;
若小于已设阈值,根据所述第一目标兴趣包请求的关键字和偏移量,从CS 中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包 推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS 中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
若不小于已设阈值,判断待定请求表PIT中是否存在所述第一目标兴趣包 请求的关键字;
若不存在,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间 的映射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB 中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发, 其中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
若存在,判断在PIT中是否存在所述映射关系记录;
若不存在,在PIT中增加所述映射关系记录;
接收上游路由器发送的第二目标数据包,其中,所述第二目标数据包中包 括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述 第二目标数据包的关键字转发到PIT中;
根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述 入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键 字添加到布隆过滤器的数据结构中。
由此可见,执行本实施例提供的计算机可读存储介质中存储的应用程序时, 能够通过增加布隆过滤器,不仅解决了CS频繁拥塞的问题,还充分地利用了 PIT和FIB,降低了流量的排队时延,提高了内容路由器的整体性能。
上述的相关内容路由器的非阻塞内容缓存方法的实施方式与前述方法实 施例部分提供的内容路由器的非阻塞内容缓存方法的测试方式相同,这里不再 赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些 实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包 含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素 的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的 其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在 没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括 所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相 似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。 尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较 简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡 在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本 申请的保护范围内。
Claims (6)
1.一种内容路由器的非阻塞内容缓存方法,其特征在于,所述方法包括:
解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量,所述前缀作为所述关键字;
利用布隆过滤器判断所述第一目标兴趣包请求的关键字对应的内容在内容存储器CS中是否存在;
若存在,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
若不存在,判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关键字;
若不存在,在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间的映射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发,其中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
若存在,判断在PIT中是否存在所述映射关系记录;
若不存在,在PIT中增加所述映射关系记录;
接收上游路由器发送的第二目标数据包,其中,所述第二目标数据包中包括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述第二目标数据包的关键字转发到PIT中;
根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键字添加到布隆过滤器的数据结构中;
在根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容之前,还包括:
判断CS中的I/O等待队列是否小于已设阈值;
若小于已设阈值,执行根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容的步骤;
若不小于已设阈值,执行判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关键字的步骤。
2.如权利要求1所述的方法,其特征在于,在根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键字添加到布隆过滤器的数据结构中之后,所述方法还包括:
利用所述第一目标兴趣包请求的偏移量将第二目标数据包存储在CS中。
3.如权利要求1所述的方法,其特征在于,根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容,包括:
根据所述第一目标兴趣包请求的关键字,利用CS的主线程将第一目标I/O指令传送到子线程中,其中,所述第一目标I/O指令为从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容的指令;
接收子线程通过所述第一目标兴趣包请求的偏移量检索到的第一目标数据包,将所述第一目标数据包推送到发送所述第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容。
4.如权利要求2所述的方法,其特征在于,利用所述第一目标兴趣包请求的偏移量将第二目标数据包存储在CS中,包括:
根据所述第二目标数据包,利用CS的主线程将第二目标I/O指令传送到子线程中,其中,所述第二目标I/O指令为将第二目标数据包存储在CS中的指令;
利用子线程通过所述第一目标兴趣包请求的偏移量对所述第二目标数据包进行存储。
5.如权利要求1-4中任一项所述的方法,其特征在于,在解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述第二目标数据包的关键字转发到PIT中之后,还包括:
判断所述PIT中是否存在所述第二目标数据包的关键字;
若为是,执行根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键字添加到布隆过滤器的数据结构中的步骤;
若为否,将所述第二目标数据包丢弃。
6.一种内容路由器的非阻塞内容缓存装置,其特征在于,所述装置包括:
兴趣包请求解析模块,用于解析接收的第一目标兴趣包请求的包头,获取第一目标兴趣包请求的关键字和偏移量,其中,包头包括所请求内容的内容名字的前缀和偏移量,所述前缀作为所述关键字;
布隆过滤器模块,用于利用布隆过滤器判断所述第一目标兴趣包请求的关键字对应的内容在内容存储器CS中是否存在,若为是,触发内容搜索模块,若为否,触发第一判断模块;
所述内容搜索模块,用于根据所述第一目标兴趣包请求的关键字和偏移量,从CS中搜索与所述第一目标兴趣包请求的关键字对应的内容,并将第一目标数据包推送到发送第一目标兴趣包请求的服务器,其中,第一目标数据包中包括在CS中搜索到的与所述第一目标兴趣包请求的关键字对应的内容;
第一判断模块,用于判断待定请求表PIT中是否存在所述第一目标兴趣包请求的关键字,若为不存在,触发上游路由器模块,若为存在,触发映射关系判断模块;
所述上游路由器模块,用于在PIT中增加所述第一目标兴趣包请求的关键字与入端口之间的映射关系记录,将所述第一目标兴趣包请求的关键字转发到转发信息表FIB中,利用FIB将所述第一目标兴趣包请求的关键字向上游路由器进行路由转发,其中,所述入端口为所述第一目标兴趣包请求进入路由器的端口;
所述映射关系记录判断模块,用于判断在PIT中是否存在所述映射关系记录,若为不存在,触发第一PIT模块;
所述第一PIT模块,用于在PIT中增加所述映射关系记录;
数据包接收模块,用于接收上游路由器发送的第二目标数据包,其中,所述第二目标数据包中包括上游路由器发送的所述第一目标兴趣包请求的关键字对应的内容;
解析模块,用于解析第二目标数据包的包头,获得所述第二目标数据包的关键字,将所述第二目标数据包的关键字转发到PIT中;
第二PIT模块,用于根据PIT中记录的所述映射关系记录,将所述第二目标数据包发送到所述入端口对应的服务器后删除所述映射关系记录,将所述第二目标数据包的关键字添加到布隆过滤器的数据结构中;
I/O等待队列判断模块,用于判断CS中的I/O等待队列是否小于已设阈值;若小于已设阈值,触发内容搜索模块,若不小于已设阈值,触发第一判断模块。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910327612.4A CN110062045B (zh) | 2017-06-29 | 2017-06-29 | 一种内容路由器的缓存方法及装置 |
CN201710517235.1A CN107454142B (zh) | 2017-06-29 | 2017-06-29 | 一种内容路由器的非阻塞内容缓存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710517235.1A CN107454142B (zh) | 2017-06-29 | 2017-06-29 | 一种内容路由器的非阻塞内容缓存方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910327612.4A Division CN110062045B (zh) | 2017-06-29 | 2017-06-29 | 一种内容路由器的缓存方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107454142A CN107454142A (zh) | 2017-12-08 |
CN107454142B true CN107454142B (zh) | 2019-06-07 |
Family
ID=60488533
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910327612.4A Active CN110062045B (zh) | 2017-06-29 | 2017-06-29 | 一种内容路由器的缓存方法及装置 |
CN201710517235.1A Active CN107454142B (zh) | 2017-06-29 | 2017-06-29 | 一种内容路由器的非阻塞内容缓存方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910327612.4A Active CN110062045B (zh) | 2017-06-29 | 2017-06-29 | 一种内容路由器的缓存方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110062045B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399539A (zh) * | 2018-04-19 | 2019-11-01 | 中兴通讯股份有限公司 | 一种数据处理方法、设备和计算机可读存储介质 |
CN110138555B (zh) * | 2019-05-21 | 2020-11-20 | 长沙能川信息科技有限公司 | 一种fbx格式三维模型的加密及解密方法 |
CN110460633A (zh) * | 2019-06-29 | 2019-11-15 | 天津大学 | 一种面向内容的物联网组网节点间数据同步传输方法 |
CN111611348A (zh) * | 2020-05-25 | 2020-09-01 | 河南科技大学 | 一种基于学习布隆过滤器的icn网络信息名字查找方法 |
CN115002036B (zh) * | 2022-05-26 | 2023-07-25 | 国网河北省电力有限公司电力科学研究院 | Ndn网络拥塞控制方法、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095724A (zh) * | 2013-02-05 | 2013-05-08 | 西安电子科技大学 | 一种内容中心网络多个兴趣包压缩发送及处理的方法 |
CN103118013A (zh) * | 2013-01-16 | 2013-05-22 | 西安电子科技大学 | 内容中心网络中数据包捎带反向兴趣包的方法 |
CN103428093A (zh) * | 2013-07-03 | 2013-12-04 | 北京邮电大学 | 一种基于名字路由前缀存储、匹配及更新方法与装置 |
CN103491003A (zh) * | 2012-06-14 | 2014-01-01 | 华为技术有限公司 | 一种内容路由器及其处理报文的方法 |
CN103905327A (zh) * | 2012-12-25 | 2014-07-02 | 中国科学院声学研究所 | 一种基于流状态信息的内容中心网络拥塞控制方法及系统 |
CN104320451A (zh) * | 2014-10-21 | 2015-01-28 | 北京邮电大学 | 支持内容中心网络的Web服务器缓存系统及处理方法 |
CN105260429A (zh) * | 2015-09-30 | 2016-01-20 | 河南科技大学 | 一种基于多重布隆过滤器的icn网络信息名字查找方法 |
CN105681213A (zh) * | 2014-12-03 | 2016-06-15 | 思科技术公司 | 信息中心联网中的跟踪排队延迟和执行相关的拥塞控制 |
CN106534360A (zh) * | 2016-12-13 | 2017-03-22 | 重庆大学 | 一种基于软件定义的内容中心网络路由方法 |
CN106657181A (zh) * | 2015-10-30 | 2017-05-10 | 中国科学院声学研究所 | 一种基于内容中心网络的数据推送方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2562978B1 (en) * | 2011-08-12 | 2014-10-08 | Alcatel Lucent | Content router of a content centric network |
CN103765832B (zh) * | 2011-09-01 | 2016-12-21 | 华为技术有限公司 | 用于信息中心网络的通用双模式数据转发平面 |
US8762570B2 (en) * | 2012-02-21 | 2014-06-24 | Futurewei Technologies, Inc. | Method and apparatus for adaptive forwarding strategies in content-centric networking |
CN103379029B (zh) * | 2012-04-24 | 2017-10-24 | 华为技术有限公司 | 一种内容网络的路由转发的方法、装置及系统 |
CN104052667B (zh) * | 2013-03-15 | 2017-05-31 | 华为技术有限公司 | 报文处理方法及设备 |
CN105723666B (zh) * | 2014-12-16 | 2019-05-31 | 北京大学深圳研究生院 | 一种基于内容的路由方法和系统 |
-
2017
- 2017-06-29 CN CN201910327612.4A patent/CN110062045B/zh active Active
- 2017-06-29 CN CN201710517235.1A patent/CN107454142B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491003A (zh) * | 2012-06-14 | 2014-01-01 | 华为技术有限公司 | 一种内容路由器及其处理报文的方法 |
CN103905327A (zh) * | 2012-12-25 | 2014-07-02 | 中国科学院声学研究所 | 一种基于流状态信息的内容中心网络拥塞控制方法及系统 |
CN103118013A (zh) * | 2013-01-16 | 2013-05-22 | 西安电子科技大学 | 内容中心网络中数据包捎带反向兴趣包的方法 |
CN103095724A (zh) * | 2013-02-05 | 2013-05-08 | 西安电子科技大学 | 一种内容中心网络多个兴趣包压缩发送及处理的方法 |
CN103428093A (zh) * | 2013-07-03 | 2013-12-04 | 北京邮电大学 | 一种基于名字路由前缀存储、匹配及更新方法与装置 |
CN104320451A (zh) * | 2014-10-21 | 2015-01-28 | 北京邮电大学 | 支持内容中心网络的Web服务器缓存系统及处理方法 |
CN105681213A (zh) * | 2014-12-03 | 2016-06-15 | 思科技术公司 | 信息中心联网中的跟踪排队延迟和执行相关的拥塞控制 |
CN105260429A (zh) * | 2015-09-30 | 2016-01-20 | 河南科技大学 | 一种基于多重布隆过滤器的icn网络信息名字查找方法 |
CN106657181A (zh) * | 2015-10-30 | 2017-05-10 | 中国科学院声学研究所 | 一种基于内容中心网络的数据推送方法 |
CN106534360A (zh) * | 2016-12-13 | 2017-03-22 | 重庆大学 | 一种基于软件定义的内容中心网络路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107454142A (zh) | 2017-12-08 |
CN110062045B (zh) | 2020-04-17 |
CN110062045A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107454142B (zh) | 一种内容路由器的非阻塞内容缓存方法及装置 | |
US10445380B2 (en) | System and method for direct storage access in a content-centric network | |
US6854117B1 (en) | Parallel network processor array | |
US8799507B2 (en) | Longest prefix match searches with variable numbers of prefixes | |
US8908693B2 (en) | Flow key lookup involving multiple simultaneous cam operations to identify hash values in a hash bucket | |
US6421342B1 (en) | Packet forwarding apparatus and method using pipelined node address processing | |
US5909440A (en) | High speed variable length best match look-up in a switching device | |
CA2274962C (en) | High speed variable length best match look-up in a switching device | |
US7930516B1 (en) | Linked list traversal with reduced memory accesses | |
US8555374B2 (en) | High performance packet processing using a general purpose processor | |
US20030137940A1 (en) | Pass/drop apparatus and method for network switching node | |
CN103248582A (zh) | 用于在网络装置中执行包流查找的流缓存器机制 | |
CN108710629B (zh) | 基于命名数据网络的Top-k查询方法及系统 | |
CN107528783A (zh) | 利用对前缀长度进行两个搜索阶段的ip路由缓存 | |
US7248586B1 (en) | Packet forwarding throughput with partial packet ordering | |
US20190171582A1 (en) | Managing cache memory in a network element based on costs associated with fetching missing cache entries | |
JP2009518916A (ja) | ソート装置及び方法 | |
Pan et al. | Nb-cache: Non-blocking in-network caching for high-performance content routers | |
US8255623B2 (en) | Ordered storage structure providing enhanced access to stored items | |
CN107707479A (zh) | 五元组规则的查找方法及装置 | |
Kurihara et al. | List interest: Packing interests for reduction of router workload in ccn 1.0 | |
Knox et al. | Parallel searching techniques for routing table lookup | |
Alhisnawi et al. | Designing Cuckoo Based Pending Interest Table for CCN Networks. | |
TW202220415A (zh) | 根據查表處理封包的方法和系統 | |
Erdem et al. | High-performance ip lookup engine with compact clustered trie search |
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 |