CN103095724B - 一种内容中心网络多个兴趣包压缩发送及处理的方法 - Google Patents
一种内容中心网络多个兴趣包压缩发送及处理的方法 Download PDFInfo
- Publication number
- CN103095724B CN103095724B CN201310044609.4A CN201310044609A CN103095724B CN 103095724 B CN103095724 B CN 103095724B CN 201310044609 A CN201310044609 A CN 201310044609A CN 103095724 B CN103095724 B CN 103095724B
- Authority
- CN
- China
- Prior art keywords
- interest
- content
- compression
- bag
- content name
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种内容中心网络多个兴趣包压缩发送及处理的方法,增加一种压缩兴趣包,每个压缩兴趣包的内容名字部分分为各兴趣内容名字的公共前缀和各兴趣内容名字的后缀;将多个有共同前缀的兴趣包压缩为一个压缩兴趣包请求数据;网络结点收到压缩兴趣包时,将兴趣公共前缀和兴趣后缀拼接为完整的内容名字,在内容缓存、待定兴趣表、转发信息表中查找,确定转发接口;对于每个接口,将要发送的所有兴趣提取内容名字的公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送;该方法有效地减少了网络中兴趣包的个数,并降低了带宽的消耗,解决了内容中心网络中多个有相同名字前缀的兴趣包的压缩问题,具有较强的推广与应用价值。
Description
技术领域
本发明属于网络技术领域,尤其涉及一种内容中心网络多个兴趣包压缩发送及处理的方法。
背景技术
以内容为中心的网络,相对于现有的互联网,是一种革命性的演进。现有互联网是以主机为中心的,当用户要访问某一内容时,需指明该内容存储在哪个主机上,然后由用户到该主机去访问该内容。而在以内容为中心的网络中,当用户想访问某一内容时,只需要向网络提交访问该内容的请求,无需指明到哪里去获得该内容,而由网络负责将该内容送交用户。
在内容中心网络CCN(Content-CentricNetwcrking)架构中,实现了根据名字路由的机制。CCN结点承担着数据包的存储、转发和路由任务。典型的CCN结点主要包含内容缓存(ContentStore,CS)、待定兴趣表(PendingInterestTable,PIT)和转发信息表(ForWardingInformationBase,FIB)3个部分。
内容缓存:类似于IP路由器的缓冲存储器,但有不同的替换策略。由于每个IP数据包属于单个点对点的对话,在它向下游转发后便没有进一步的价值。因此,IP“忘记”数据包并且在转发完成时立即回收缓存。CCN包是幂等的,可自我识别及验证,所以每个数据包对许多消费者都可能是有用的。为了最大限度地提高共享,从而减少上行带宽需求和下行延迟,CCN尽可能久地记录收到的数据包。
待定兴趣表:用于记录经过的请求信息,PIT跟踪向上游转发到内容源的兴趣包,这样返回的数据包可以顺利地传回下游的请求者。PIT记录了已经转发但还未被响应的兴趣包以及到达的接口,作用是让响应的数据包能够依据PIT记录的端口准确地返回给请求者,当响应的数据包依据某条PIT条目转发以后,或者某PIT条目超出时间阈值,该条目被擦除。在CCN中,只有兴趣包被路由跟踪,当它们向上游发送到潜在的数据源时,为每一个匹配的数据包留下了一条“面包屑”,用于跟随返回到原来的请求者。每个PIT入口项就是一个面包屑。当PIT入口项已被用于转发匹配的数据包,将立即被删除(数据“消耗了”兴趣)。PIT入口项中,从未找到匹配的数据包的请求最终会超时(“软状态”模型——如果消费者仍然想要这个数据包,则需重新提出请求)。
转发信息表:用于将兴趣包发往潜在的数据源。它类似于IP的FIB,但允许一列出口,而不限于一个。这反映了一个事实,CCN不仅限于在生成树转发。FIB允许多个数据源并且可实现并行查询所有的数据源。
CCN的包类型有兴趣包(Interest包)和数据包(Data包)两种。消费者广播兴趣包,请求内容,监听结点如果有该内容则响应。兴趣包和数据包与位置无关,在一个广播介质上,如果有一个兴趣包请求,则其它对同一内容感兴趣的消费者可以共享该请求。若兴趣包的内容名字(ContentName)是数据包的内容名字的前缀,则该数据包满足该请求。内容的名字是复杂的,内容的名字可以动态生成,即可以让不存在该请求内容的应用接收该兴趣包,而临时产生该内容,比如现在的动态Web(静态内容和动态产生混合支持)。
当一个包到达一个接口(Face)时,根据内容名字进行最长前缀匹配查找。有三个关键数据结构完成转发:CS、PIT、FIB。CS可以尽可能长时间地缓存转发的包,以供其它消费者使用。PIT记录已经转发的兴趣包,为了让响应的数据包能到达其请求者。当响应兴趣的数据包利用PIT的某条目转发后或者超出时间设定,该条目被删除。
标准的内容中心网络传输模型如下:当一个兴趣包到达时,路由器根据兴趣中的内容名称(ContentName),首先匹配CS,如果缓存中有被请求的内容,则响应该请求,并丢弃该兴趣包;如果内容缓存中没有被请求的内容,则查找PIT,如果PIT中有该内容名称条目,则在该内容名称条目中增加接口(Face),并丢弃该兴趣包;如果PIT中没有该内容名称条目,则查找FIB,如果在FIB中找到,则按照查找到的所有接口(除兴趣包到达接口)转发兴趣包,并在PIT中记录。如果FIB中也没有该内容名称条目,则丢弃该兴趣包。路由器对数据包的处理相对简单,当数据包到达时,先对数据包的内容名字字段进行最长前缀匹配。先在CS中匹配,如果有,则丢弃该数据包;如果没有,则在PIT中匹配条目;如果PIT中有,则根据查找的Face口转发到请求者,然后缓存在CS;如果PIT中没有,则丢弃该数据包。
当用户想获取某内容时,向网络提交一个兴趣包,其中包含了该内容的名字。网络结点收到兴趣包时,先在本结点的缓存中查找该内容;若该内容已在本结点的缓存中,则直接将数据返回给用户;若该内容不在本结点的缓存中,则根据其名字向网络转发该兴趣包,交给下一个网络结点,直到该兴趣包被响应。网络响应兴趣包的方式,是沿原路返回数据包;网络结点收到返回的数据包时,会将其存在本结点的缓存中,以备以后使用。
实际应用中,当用户请求数据时,不断向网络发出兴趣包。这些兴趣包中很可能存在多个相邻的兴趣包,他们的内容名字有相同的名字前缀,发送多个重复前缀造成网络资源的浪费。对内容中心网络的研究表明,网络中大量的报文都是兴趣包,兴趣包占用了大量的网络带宽和处理能力,兴趣包的大量发送也降低了链路的利用效率,造成带宽的浪费。因此需要针对此问题设计全新的机制,以减少网络中的兴趣包,降低带宽的消耗。
发明内容
本发明提供了一种内容中心网络多个兴趣包压缩发送及处理的方法,旨在解决内容中心网络中多个有相同名字前缀的兴趣包的压缩问题。
本发明的目的在于提供一种内容中心网络多个兴趣包压缩发送及处理的方法,该方法包括以下步骤:
步骤一,增加一种压缩兴趣包,将每个压缩兴趣包的内容名字部分分为各兴趣内容名字的公共前缀和各兴趣内容名字的后缀两个部分;
步骤二,用户要获取某个内容时,开始请求数据,不断向网络发出数据请求兴趣包;
步骤三,网络中的中间结点收到压缩兴趣包时,逐个将公共前缀与兴趣后缀拼接为兴趣的内容名字;
步骤四,网络中的中间结点收到数据包时,按照标准的内容中心网络传输模型进行处理;
步骤五,网络中数据源服务器收到压缩兴趣包时,逐个将兴趣后缀与公共前缀拼接为兴趣的内容名字,将兴趣转给上层应用,并在PIT中记录兴趣及接口,等待上层应用将所请求的数据包发回,再根据PIT中的条目转给对应接口。
进一步,在步骤一中,各兴趣内容名字的公共前缀和后缀都由若干块组成,每个块是一个字节序列,公共前缀部分包括块数和块内容;各兴趣的后缀部分包括后缀块数和后缀块内容,单个兴趣包作为一种特殊的压缩兴趣包,只有一个公共前缀。
进一步,在步骤二中,用户要获取某个内容时,开始请求数据,不断向网络发出数据请求兴趣包;当待发送的多个兴趣的内容名字有公共前缀时,提取此公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送。
进一步,在步骤三中,网络中的中间结点收到压缩兴趣包时,逐个将公共前缀与兴趣后缀拼接为兴趣的内容名字;对于每个兴趣的内容名字,首先匹配CS,如果缓存中有被请求的内容,则响应该请求;如果内容缓存中没有被请求的内容,则查找PIT;如果PIT中有该内容名称条目,则在该内容名称条目中增加接口;如果PIT中没有该内容名称条目,则查找FIB;如果在FIB中找到,则记录该兴趣要转发的所有接口,并在PIT中记录该兴趣及接口;查找结束后,对于每个接口,将该接口要发送的所有兴趣提取内容名字的公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送。
进一步,在步骤四中,网络中的中间结点收到数据包,按照标准的内容中心网络传输模型进行处理时,对数据包的内容名字字段进行匹配,先在CS中匹配,如果有,则丢弃该数据包;如果没有,则在PIT中匹配条目;如果PIT中有,则根据查找的接口转发到请求者,然后缓存在CS;如果PIT中没有,则丢弃该数据包。
本发明提供的内容中心网络多个兴趣包压缩发送及处理的方法,增加一种压缩兴趣包,每个压缩兴趣包的内容名字部分分为各兴趣内容名字的公共前缀和各兴趣内容名字的后缀;将多个有共同前缀的兴趣包压缩为一个压缩兴趣包请求数据;网络结点收到压缩兴趣包时,将兴趣公共前缀和兴趣后缀拼接为完整的内容名字,在内容缓存、待定兴趣表、转发信息表中查找,确定转发接口;对于每个接口,将要发送的所有兴趣提取内容名字的公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送;该方法有效地减少了网络中兴趣包的个数,并降低了带宽的消耗,解决了内容中心网络中多个有相同名字前缀的兴趣包的压缩问题,实用性强,具有较强的推广与应用价值。
附图说明
图1是本发明提供的内容中心网络多个兴趣包压缩发送及处理的方法的实现流程的流程图;
图2是本发明实施例提供的网络中压缩兴趣包的格式图;
图3是本发明实施例提供的网络结点A和B收到的压缩兴趣包公共前缀及后缀存储结构示意图;
图4是本发明实施例提供的压缩兴趣包被网络结点转发的示意图;
图5是本发明实施例提供的网络结点A中CS、PIT、FIB三张表的示意图;
图6是本发明实施例提供的网络结点B中CS、PIT、FIB三张表的示意图;
图7是本发明实施例提供的网络结点C收到的压缩兴趣包公共前缀及后缀存储结构示意图;
图8是本发明实施例提供的数据源服务器Y收到的压缩兴趣包公共前缀及后缀存储结构示意图;
图9是本发明实施例提供的数据源服务器Z收到的压缩兴趣包公共前缀存储结构示意图;
图10是本发明实施例提供的网络结点C中CS、PIT、FIB三张表的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定发明。
图1示出了本发明实施例提供的内容中心网络多个兴趣包压缩发送及处理的方法的实现流程。
该方法包括以下步骤:
步骤S101,增加一种压缩兴趣包,将每个压缩兴趣包的内容名字部分分为各兴趣内容名字的公共前缀和各兴趣内容名字的后缀两个部分;
步骤S102,用户要获取某个内容时,开始请求数据,不断向网络发出数据请求兴趣包;
步骤S103,网络中的中间结点收到压缩兴趣包时,逐个将公共前缀与兴趣后缀拼接为兴趣的内容名字;
步骤S104,网络中的中间结点收到数据包时,按照标准的内容中心网络传输模型进行处理;
步骤S105,网络中数据源服务器收到压缩兴趣包时,逐个将兴趣后缀与公共前缀拼接为兴趣的内容名字,将兴趣转给上层应用,并在PIT中记录兴趣及接口,等待上层应用将请求的数据包发回,再根据PIT中的条目转给对应接口。
在本发明实施例中,在步骤S101中,各兴趣内容名字的公共前缀和后缀都由若干块组成,每个块是一个字节序列,公共前缀部分包括块数和块内容;各兴趣的后缀部分包括后缀块数和后缀块内容;单个兴趣包作为一种特殊的压缩兴趣包,只有一个公共前缀。
在本发明实施例中,在步骤S102中,用户要获取某个内容时,开始请求数据,不断向网络发出数据请求兴趣包;当待发送的多个兴趣的内容名字有公共前缀时,提取此公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送。
在本发明实施例中,在步骤S103中,网络中的中间结点收到压缩兴趣包时,逐个将公共前缀与兴趣后缀拼接为兴趣的内容名字;对于每个兴趣的内容名字,首先匹配CS,如果缓存中有被请求的内容,则响应该请求;如果内容缓存中没有被请求的内容,则查找PIT;如果PIT中有该内容名称条目,则在该内容名称条目中增加接口;如果PIT中没有该内容名称条目,则查找FIB;如果在FIB中找到,则记录该兴趣要转发的所有接口,并在PIT中记录该兴趣及接口;查找结束后,对于每个接口,将该接口要发送的所有兴趣提取内容名字的公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送。
在本发明实施例中,在步骤S104中,网络中的中间结点收到数据包,按照标准的内容中心网络传输模型进行处理时,对数据包的内容名字字段进行匹配,先在CS中匹配,如果有,则丢弃该数据包;如果没有,则在PIT中匹配条目;如果PIT中有,则根据查找的接口转发到请求者,然后缓存在CS;如果PIT中没有,则丢弃该数据包。
下面结合附图及具体实施例对本发明的应用原理作进一步描述。
参照图1,本发明提供的内容中心网络中多个兴趣包的压缩发送及处理方法,包括以下步骤:
步骤1,参照图2,增加一种压缩兴趣包,每个压缩兴趣包的内容名字部分分为两个部分:各兴趣内容名字的公共前缀和各兴趣内容名字的后缀。各兴趣内容名字的公共前缀和后缀都由若干块组成,每个块是一个字节序列。公共前缀部分包括块数和块内容;各兴趣的后缀部分包括后缀块数和后缀块内容。单个兴趣包作为一种特殊的压缩兴趣包,其中只有一个公共前缀。
压缩兴趣包的格式如图2所示,其中包括报文长度、报文类型、所请求内容的内容名字。内容名字字段分为两部分:1)各兴趣内容名字的公共前缀,包括块数和块内容;2)各兴趣内容名字的后缀,包括后缀块数和后缀块内容。报文长度字段长32位,报文类型字段长8位,兴趣公共前缀块数长8位,则最多可支持225块,兴趣后缀块数长8位,则最多可支持225块。每一块中第一个字节为块长度,表示该块有多少个字节,后面的字节序列为块内容。
例如要发送的8个兴趣包的内容名字分别为:/funny.com/movie/A.avi/_s0,/funny.com/movie/A.avi/_s1,/funny.com/movie/A.avi/_s2,/funny.com/music/B.mp3/_s0,/funny.com/music/B.mp3/_s1,/funny.com/music/B.mp3/_s2,/funny.com/picture/C.jpg/_s0,/funny.com/picture/C.jpg/_s1。参照图3,这8个兴趣包的内容名字的公共前缀为/funny.com,块数为1,块内容为funny.com。这8个兴趣包的内容名字的后缀部分分别为:/movie/A.avi/_s0,块数为3,块内容分别为movie、A.avi和_s0;/movie/A.avi/_s1,块数为3,块内容分别为movie、A.avi和_s1;/movie/A.avi/_s2,块数为3,块内容分别为movie、A.avi和_s2;/music/B.mp3/_s0,块数为3,块内容分别为music、B.mp3和_s0;/music/B.mp3/_s1,块数为3,块内容分别为music、B.mp3和_s1;/music/B.mp3/_s2,块数为3,块内容分别为music、B.mp3和_s2;/picture/C.jpg/_s0,块数为3,块内容分别为picture、C.jpg和_s0;/picture/C.jpg/_s1,块数为3,块内容分别为picture、C.jpg和_s1。其中符号“/”作为块分割符不存储,“_s”编码为“0”。
步骤2,用户要获取某个内容时,开始请求数据,不断向网络发出数据请求兴趣包。当待发送的多个兴趣的内容名字有公共前缀时,提取此公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送。
例如要发送的8个兴趣包的内容名字分别为:/funny.com/movie/A.avi/_s0,/funny.com/movie/A.avi/_s1,/funny.com/movie/A.avi/_s2,/funny.com/music/B.mp3/_s0,/funny.com/music/B.mp3/_s1,/funny.com/music/B.mp3/_s2,/funny.com/picture/C.jpg/_s0,/funny.com/picture/C.jpg/_s1。可知,这8个兴趣包有相同的前缀/funny.com,可压缩为一个压缩兴趣包请求数据。参照图3,压缩兴趣包中各兴趣内容名字的公共前缀为/funny.com,各兴趣内容名字后缀部分分别为:/movie/A.avi/_s0,/movie/A.avi/_s1,/movie/A.avi/_s2,/music/B.mp3/_s0,/music/B.mp3/_s1,/music/B.mp3/_s2,/picture/C.jpg/_s0,/picture/C.jpg/_s1。在图4所示的网络拓扑中,用户生成压缩兴趣包,发给网络结点A请求数据。
步骤3,网络中的中间结点收到压缩兴趣包时,处理过程包括以下步骤:
3a)逐个将压缩兴趣包中公共前缀与各个兴趣后缀拼接为兴趣的内容名字;
3b)对于每个兴趣的内容名字,首先匹配CS,如果缓存中有被请求的内容,则响应该请求;如果内容缓存中没有被请求的内容,则查找PIT;
3c)如果PIT中有该内容名称条目,则在该内容名称条目中增加接口;如果PIT中没有该内容名称条目,则查找FIB;
3d)在FIB中对该内容名字做最长前缀匹配,若匹配成功,则记录该兴趣要转发的所有接口,并在PIT中记录该兴趣及接口;否则丢弃该兴趣;
3e)对所有兴趣做完3b)到3d)的处理结束后,对于每个接口,将该接口要发送的所有兴趣提取内容名字的公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送。
在图4所示的网络拓扑中,当网络结点A从接口0收到压缩兴趣包时,具体处理过程如下:
(1)网络结点A所收到的压缩兴趣包中的公共前缀和后缀存储结构如图3所示,压缩兴趣包公共前缀为/funny.com,兴趣后缀部分分别为:/movie/A.avi/_s0,/movie/A.avi/_s1,/movie/A.avi/_s2,/music/B.mp3/_s0,/music/B.mp3/_s1,/music/B.mp3/_s2,/picture/C.jpg/_s0,/picture/C.jpg/_s1。
首先读取报文长度和报文类型,确定是压缩兴趣包后,读取一个字节得公共前缀块数,然后依次读取相应的块数得兴趣公共前缀,再读取一个字节得兴趣后缀块数,然后依次读取相应的块数得兴趣后缀,公共前缀与各个兴趣后缀拼接为兴趣的内容名字。读取每一块时,先读取该块的长度,再读取块的内容。例如读取一个字节得公共前缀块数为1,然后读取1个字节得到第一块的长度为9,再读取9个字节得第一块的内容为funny.com,则兴趣内容名字的公共前缀为funny.com。再读取一个字节得兴趣后缀块数3,然后依次读取3块获得兴趣后缀/movie/A.avi/_s0。公共前缀funny.com与兴趣后缀/movie/A.avi/_s0拼接为兴趣的内容名字/funny.com/movie/A.avi/_s0。继续读取得下一个兴趣后缀,与公共前缀拼接过程同上。逐个将压缩兴趣包中公共前缀与各个兴趣后缀拼接为兴趣的内容名字,得到兴趣包的内容名字分别为:/funny.com/movie/A.avi/_s0,/funny.com/movie/A.avi/_s1,/funny.com/movie/A.avi/_s2,/funny.com/music/B.mp3/_s0,/funny.com/music/B.mp3/_s1,/funny.com/music/B.mp3/_s2,/funny.com/picture/C.jpg/_s0,/funny.com/picture/C.jpg/_s1。
(2)网络结点A中CS、PIT、FIB三张表的示意图如图5所示,对于压缩兴趣包中第1个兴趣/funny.com/movie/A.avi/_s0,首先匹配CS,此时内容缓存中没有被请求的内容,则查找PIT;
(3)对于压缩兴趣包中第1个兴趣/funny.com/movie/A.avi/_s0,查找PIT,此时PIT中没有该内容名称条目,则查找FIB;
(4)对于压缩兴趣包中第1个兴趣/funny.com/movie/A.avi/_s0,查找FIB,此时在FIB中找到该内容名字的前缀,则记录该兴趣要转发的所有接口,此时为接口1,并在PIT中记录兴趣及接口0;
(5)查找结束后对于每个接口的兴趣进行转发。假设对每个兴趣做如上(2)到(4)步处理,在CS,PIT中均没有找到,查询FIB后都要转发到接口1。对于接口1,有8个兴趣需要转发,则将这8个兴趣压缩为一个压缩兴趣包发送,此时压缩兴趣包与收到的压缩兴趣包相同。压缩兴趣包通过接口1发送至网络结点B。
在图4所示的网络拓扑中,当网络结点B从接口0收到压缩兴趣包时,具体处理过程如下:
(1)网络结点B所收到的压缩兴趣包中的公共前缀和后缀存储结构如图3所示,压缩兴趣包公共前缀为/funny.com,兴趣后缀部分分别为:/movie/A.avi/_s0,/movie/A.avi/_s1,/movie/A.avi/_s2,/music/B.mp3/_s0,/music/B.mp3/_s1,/music/B.mp3/_s2,/picture/C.jpg/_s0,/picture/C.jpg/_s1。逐个将压缩兴趣包中公共前缀与各个兴趣后缀拼接为兴趣的内容名字,得到兴趣包的内容名字分别为:/funny.com/movie/A.avi/_s0,/funny.com/movie/A.avi/_s1,/funny.com/movie/A.avi/_s2,/funny.com/music/B.mp3/_s0,/funny.com/music/B.mp3/_s1,/funny.com/music/B.mp3/_s2,
/funny.com/picture/C.jpg/_s0,/funny.com/picture/C.jpg/_s1。
(2)网络结点B中CS、PIT、FIB三张表的示意图如图6所示,对于压缩兴趣包中第1个兴趣/funny.com/movie/A.avi/_s0,首先匹配CS,此时内容缓存中没有被请求的内容,则查找PIT;
对于压缩兴趣包中第2个兴趣/funny.com/movie/A.avi/_s1,首先匹配CS,此时内容缓存中没有被请求的内容,则查找PIT;
对于压缩兴趣包中第3个兴趣/funny.com/movie/A.avi/_s2,首先匹配CS,此时内容缓存中没有被请求的内容,则查找PIT;
对于压缩兴趣包中第4个兴趣/funny.com/music/B.mp3/_s0,首先匹配CS,此时内容缓存中没有被请求的内容,则查找PIT;
对于压缩兴趣包中第5个兴趣/funny.com/music/B.mp3/_s1,首先匹配CS,此时内容缓存中没有被请求的内容,则查找PIT;
对于压缩兴趣包中第6个兴趣/funny.com/music/B.mp3/_s2,首先匹配CS,此时缓存中有被请求的内容,则响应该请求;将数据包返还给用户,即数据包由网络结点B发出,经过网络结点A到达用户。继续查找下一个兴趣。
对于压缩兴趣包中第7个兴趣/funny.com/picture/C.jpg/_s0,首先匹配CS,此时内容缓存中没有被请求的内容,则查找PIT;
对于压缩兴趣包中第8个兴趣/funny.com/picture/C.jpg/_s1,首先匹配CS,此时内容缓存中没有被请求的内容,则查找PIT。
(3)对于压缩兴趣包中第1个兴趣/funny.com/movie/A.avi/_s0,查找PIT,此时PIT中没有该内容名称条目,则查找FIB;
对于压缩兴趣包中第2个兴趣/funny.com/movie/A.avi/_s1,查找PIT,此时PIT中没有该内容名称条目,则查找FIB;
对于压缩兴趣包中第3个兴趣/funny.com/movie/A.avi/_s2,查找PIT,此时PIT中没有该内容名称条目,则查找FIB;
对于压缩兴趣包中第4个兴趣/funny.com/music/B.mp3/_s0,查找PIT,此时PIT中没有该内容名称条目,则查找FIB;
对于压缩兴趣包中第5个兴趣/funny.com/music/B.mp3/_s1,查找PIT,此时PIT中没有该内容名称条目,则查找FIB;
对于压缩兴趣包中第7个兴趣/funny.com/picture/C.jpg/_s0,查找PIT,此时PIT中有该内容名称条目,则在该内容名称条目中增加接口,此时增加请求接口0。
对于压缩兴趣包中第8个兴趣/funny.com/picture/C.jpg/_s1,查找PIT,此时PIT中没有该内容名称条目,则查找FIB。
(4)对于压缩兴趣包中第1个兴趣/funny.com/movie/A.avi/_s0,查找FIB,此时在FIB中找到,则记录该兴趣要转发的所有接口,此时为接口1,并在PIT中记录该兴趣及接口0;
对于压缩兴趣包中第2个兴趣/funny.com/movie/A.avi/_s1,查找FIB,此时在FIB中找到,则记录该兴趣要转发的所有接口,此时为接口1,并在PIT中记录该兴趣及接口0;
对于压缩兴趣包中第3个兴趣/funny.com/movie/A.avi/_s2,查找FIB,此时在FIB中找到,则记录该兴趣要转发的所有接口,此时为接口1,并在PIT中记录该兴趣及接口0;
对于压缩兴趣包中第4个兴趣/funny.com/music/B.mp3/_s0,查找FIB,此时在FIB中找到,则记录该兴趣要转发的所有接口,此时为接口2,并在PIT中记录该兴趣及接口0;
对于压缩兴趣包中第5个兴趣/funny.com/music/B.mp3/_s1,查找FIB,此时在FIB中找到,则记录该兴趣要转发的所有接口,此时为接口2,并在PIT中记录该兴趣及接口0;
对于压缩兴趣包中第8个兴趣/funny.com/picture/C.jpg/_s1,查找FIB,此时在FIB中找到,则记录该兴趣要转发的所有接口,此时为接口3,并在PIT中记录该兴趣及接口0;
(5)查找结束后对于每个接口的兴趣进行转发。
对于接口1,有第1、第2和第3个兴趣需要转发。则将这3个兴趣压缩为一个压缩兴趣包发送,如图7所示,此时压缩兴趣包公共前缀为/funny.com/movie/A.avi,后缀部分分别为/_s0、/_s1和/_s2,压缩兴趣包从接口1转发至网络结点C。
对于接口2,有第4和第5个兴趣需要转发,则将这2个兴趣压缩为一个压缩兴趣包发送;如图8所示,此时压缩兴趣包公共前缀为/funny.com/music/B.mp3,后缀部分分别为/_s0和/_s1,压缩兴趣包从接口2转发至数据源服务器Y。
对于接口3,有第8个兴趣需要转发,则生成一个只含有一个兴趣的压缩兴趣包,如图9所示,其中公共前缀为/funny.com/picture/C.jpg/_s1,无兴趣后缀,压缩兴趣包从接口3转发至数据源服务器Z。
在图4所示的网络拓扑中,当网络结点C从接口0收到压缩兴趣包时,具体处理过程如下:
(1)网络结点C所收到的压缩兴趣包中的公共前缀和后缀存储结构如图7所示,压缩兴趣包公共前缀为/funny.com/movie/A.avi,后缀部分分别为/_s0、/_s1和/_s2。逐个将压缩兴趣包中公共前缀与各个兴趣后缀拼接为兴趣的内容名字,得到兴趣包的内容名字分别为:/funny.com/movie/A.avi/_s0,/funny.com/movie/A.avi/_s1,/funny.com/movie/A.avi/_s2。
(2)网络结点C中CS、PIT、FIB三张表的示意图如图10所示,对于压缩兴趣包中第1个兴趣/funny.com/movie/A.avi/_s0,首先匹配CS,此时缓存中有被请求的内容,则响应该请求;将数据包返还给用户,即数据包由网络结点C发出,经过网络结点B、A到达用户。继续查找下一个兴趣。
对于压缩兴趣包中第2个兴趣/funny.com/movie/A.avi/_s1,首先匹配CS,此时缓存中有被请求的内容,则响应该请求;将数据包返还给用户,即数据包由网络结点C发出,经过网络结点B、A到达用户。继续查找下一个兴趣。
对于压缩兴趣包中第3个兴趣/funny.com/movie/A.avi/_s2,首先匹配CS,此时缓存中有被请求的内容,则响应该请求;将数据包返还给用户,即数据包由网络结点C发出,经过网络结点B、A到达用户。在网络结点C的CS中,三个兴趣全部被响应,丢弃压缩兴趣包。
步骤4,网络中的中间结点收到数据包时,按照标准的内容中心网络传输模型进行处理。对数据包的内容名字字段进行匹配,先在CS中匹配,如果有,则丢弃该数据包;如果没有,则在PIT中匹配条目;如果PIT中有,则根据查找的接口转发到请求者,然后缓存在CS;如果PIT中没有,则丢弃该数据包。
如步骤3中压缩兴趣包发送处理过程可知,网络结点A的缓存中未找到压缩兴趣包中请求的兴趣,则网络结点A的PIT中记录了兴趣的内容名字及接口0,例如记录了第1个兴趣包的内容名字/funny.com/movie/A.avi/_s0及接口0。当网络结点A收到第1个兴趣所请求的数据包时,先在CS中匹配,CS中无;则在PIT中匹配条目,PIT中有第1个兴趣的内容名字及接口0,则根据查找的接口0将数据包转发到用户,然后缓存在CS中。
步骤5,网络中的数据源服务器收到压缩兴趣包时,逐个将兴趣后缀与公共前缀拼接为兴趣的内容名字,将兴趣转给上层应用,并在PIT中记录兴趣及接口,等待上层应用将所请求的数据包发回,再根据PIT中的条目转给对应接口。
在图4所示的网络拓扑中,如步骤3中压缩兴趣包在网络结点B的发送处理过程可知,对于接口2,有第4和第5个兴趣/funny.com/music/B.mp3/_s0和/funny.com/music/B.mp3/_s1需要转发,这2个兴趣压缩为一个压缩兴趣包发送。数据源服务器Y收到的压缩兴趣包公共前缀及后缀存储结构示意图如图8所示,此时压缩兴趣包公共前缀为/funny.com/music/B.mp3,后缀部分分别为/_s0和/_s1,压缩兴趣包从接口2转发至数据源服务器Y。当数据源服务器Y从接口0收到压缩兴趣包时,逐个将公共前缀与兴趣后缀拼接为兴趣的内容名字/funny.com/music/B.mp3/_s0和/funny.com/music/B.mp3/_s1,将这两个兴趣转给上层应用,并在PIT中记录这两个兴趣及接口0;等待上层应用将所请求的数据包发回,再根据PIT中的条目转给对应接口0。数据包沿原路返还给用户,即数据包由数据源服务器Y发出,经过网络结点B、A到达用户。
对于网络结点B的接口3,有第8个兴趣需要转发,则压缩兴趣包中的公共前缀为/funny.com/picture/C.jpg/_s1,无兴趣后缀,压缩兴趣包从接口3转发至数据源服务器Z。数据源服务器Z从接口0收到的压缩兴趣包公共前缀存储结构如图9所示,其中的内容名字公共前缀为/funny.com/picture/C.jpg/_s1,无后缀,因此还原得到的兴趣内容名字为/funny.com/picture/C.jpg/_s1,将此兴趣转给上层应用,并在PIT中记录该兴趣及接口0;等待上层应用将所请求的数据包发回,再根据PIT中的条目转给对应接口0。数据包沿原路返还给用户,即数据包由数据源服务器Z发出,经过网络结点B、A到达用户。
本发明实施例提供的内容中心网络多个兴趣包压缩发送及处理的方法,增加一种压缩兴趣包,每个压缩兴趣包的内容名字部分分为各兴趣内容名字的公共前缀和各兴趣内容名字的后缀;将多个有共同前缀的兴趣包压缩为一个压缩兴趣包请求数据;网络结点收到压缩兴趣包时,将兴趣公共前缀和兴趣后缀拼接为完整的内容名字,在内容缓存、待定兴趣表、转发信息表中查找,确定转发接口;对于每个接口,将要发送的所有兴趣提取内容名字的公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送;该方法有效地减少了网络中兴趣包的个数,并降低了带宽的消耗,解决了内容中心网络中多个有相同名字前缀的兴趣包的压缩问题,实用性强,具有较强的推广与应用价值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种内容中心网络多个兴趣包压缩发送及处理的方法,其特征在于,该方法包括以下步骤:
步骤一,增加一种压缩兴趣包,将每个压缩兴趣包的内容名字部分分为各兴趣内容名字的公共前缀和各兴趣内容名字的后缀两个部分;
步骤二,用户要获取某个内容时,开始请求数据,不断向网络发出数据请求兴趣包;
步骤三,网络中的中间结点收到压缩兴趣包时,逐个将公共前缀与兴趣后缀拼接为兴趣的内容名字;
步骤四,网络中的中间结点收到数据包时,按照标准的内容中心网络传输模型进行处理;
步骤五,网络中数据源服务器收到压缩兴趣包时,逐个将兴趣后缀与公共前缀拼接为兴趣的内容名字,将兴趣转给上层应用,并在PIT中记录兴趣及接口,等待上层应用将所请求的数据包发回,再根据PIT中的条目转给对应接口。
2.如权利要求1所述的方法,其特征在于,在步骤一中,各兴趣内容名字的公共前缀和后缀都由若干块组成,每个块是一个字节序列,公共前缀部分包括块数和块内容;各兴趣的后缀部分包括后缀块数和后缀块内容,单个兴趣包作为一种特殊的压缩兴趣包,只有一个公共前缀。
3.如权利要求1所述的方法,其特征在于,在步骤二中,用户要获取某个内容时,开始请求数据,不断向网络发出数据请求兴趣包;当待发送的多个兴趣的内容名字有公共前缀时,提取此公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送。
4.如权利要求1所述的方法,其特征在于,在步骤三中,网络中的中间结点收到压缩兴趣包时,逐个将公共前缀与兴趣后缀拼接为兴趣的内容名字;对于每个兴趣的内容名字,首先匹配CS,如果缓存中有被请求的内容,则响应该请求;如果内容缓存中没有被请求的内容,则查找PIT;如果PIT中有该内容名称条目,则在该内容名称条目中增加接口;如果PIT中没有该内容名称条目,则查找FIB;如果在FIB中找到,则记录该兴趣要转发的所有接口,并在PIT中记录该兴趣及接口;查找结束后,对于每个接口,将该接口要发送的所有兴趣提取内容名字的公共前缀,并与各内容名字中的剩余的后缀共同组成一个压缩兴趣包发送。
5.如权利要求1所述的方法,其特征在于,在步骤四中,网络中的中间结点收到数据包,按照标准的内容中心网络传输模型进行处理时,对数据包的内容名字字段进行匹配,先在CS中匹配,如果有,则丢弃该数据包;如果没有,则在PIT中匹配条目;如果PIT中有,则根据查找的接口转发到请求者,然后缓存在CS中;如果PIT中没有,则丢弃该数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310044609.4A CN103095724B (zh) | 2013-02-05 | 2013-02-05 | 一种内容中心网络多个兴趣包压缩发送及处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310044609.4A CN103095724B (zh) | 2013-02-05 | 2013-02-05 | 一种内容中心网络多个兴趣包压缩发送及处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103095724A CN103095724A (zh) | 2013-05-08 |
CN103095724B true CN103095724B (zh) | 2015-12-23 |
Family
ID=48207857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310044609.4A Expired - Fee Related CN103095724B (zh) | 2013-02-05 | 2013-02-05 | 一种内容中心网络多个兴趣包压缩发送及处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103095724B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348733B (zh) * | 2013-07-26 | 2018-07-03 | 华为技术有限公司 | 内容名压缩方法及装置 |
CN105210340B (zh) * | 2013-11-29 | 2018-09-07 | 华为技术有限公司 | 缓存判决方法和装置 |
CN103945277B (zh) * | 2013-12-02 | 2018-05-01 | 三星电子(中国)研发中心 | 实现移动终端视频分享的方法、系统和装置 |
CN103607412B (zh) * | 2013-12-04 | 2016-07-06 | 西安电子科技大学 | 基于树的内容中心网络多个兴趣包处理方法 |
US9716622B2 (en) * | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
US9590887B2 (en) * | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9729616B2 (en) * | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9391777B2 (en) * | 2014-08-15 | 2016-07-12 | Palo Alto Research Center Incorporated | System and method for performing key resolution over a content centric network |
CN105528343A (zh) * | 2014-09-28 | 2016-04-27 | 阿尔卡特朗讯 | 一种用于检索数据的方法与设备 |
CN104468704B (zh) * | 2014-10-21 | 2017-10-20 | 北京邮电大学 | 支持内容中心网络的Web服务器系统及处理方法 |
CN104394207B (zh) * | 2014-11-19 | 2017-12-19 | 许继集团有限公司 | 基于信息中心网络的智能电网数据自适应恢复方法及系统 |
CN107210995A (zh) * | 2015-08-12 | 2017-09-26 | 华为技术有限公司 | 一种数据传输的方法、设备及系统 |
CN105208553B (zh) * | 2015-08-25 | 2019-07-12 | 中国科学院信息工程研究所 | Ccmanet请求节点检索隐私的保护方法及系统 |
CN105472684A (zh) * | 2015-11-23 | 2016-04-06 | 中国科学院信息工程研究所 | 一种ccmanet的路由方法及装置 |
CN106209645A (zh) * | 2016-07-29 | 2016-12-07 | 北京邮电大学 | 一种数据包的起始查找节点确定方法及装置 |
CN106657079B (zh) * | 2016-12-27 | 2019-12-06 | 广东工业大学 | 一种基于内容中心网络的隐私保护方法 |
CN107317809B (zh) * | 2017-06-23 | 2020-04-03 | 上海交通大学 | 一种信息中心网络多层次视频媒体系统及其使用方法 |
CN107454142B (zh) * | 2017-06-29 | 2019-06-07 | 北京邮电大学 | 一种内容路由器的非阻塞内容缓存方法及装置 |
CN108848032B (zh) * | 2018-05-18 | 2021-04-02 | 湖南科技大学 | 一种支持多兴趣类型处理的命名对象网络实现方法 |
CN109302348B (zh) * | 2018-09-03 | 2021-08-31 | 中国联合网络通信集团有限公司 | 一种基于cnn网络的数据处理方法及一种路由器 |
CN112866106B (zh) * | 2020-12-31 | 2023-04-18 | 网络通信与安全紫金山实验室 | 一种兴趣包缓存方法、装置、设备及存储介质 |
CN114827655B (zh) * | 2022-06-24 | 2022-10-11 | 之江实验室 | 内容存储转发方法及装置、电子设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438020A (zh) * | 2011-12-23 | 2012-05-02 | 华为技术有限公司 | 内容分发网络中内容分发的方法、设备和网络系统 |
CN102638405A (zh) * | 2012-04-12 | 2012-08-15 | 清华大学 | 内容中心网络策略层的路由方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101688857B1 (ko) * | 2010-05-13 | 2016-12-23 | 삼성전자주식회사 | 컨텐츠 중심 네트워크(ccn)에서 단말 및 허브의 통신 방법 및 컨텐츠 중심 네트워크를 위한 단말 |
-
2013
- 2013-02-05 CN CN201310044609.4A patent/CN103095724B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102438020A (zh) * | 2011-12-23 | 2012-05-02 | 华为技术有限公司 | 内容分发网络中内容分发的方法、设备和网络系统 |
CN102638405A (zh) * | 2012-04-12 | 2012-08-15 | 清华大学 | 内容中心网络策略层的路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103095724A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103095724B (zh) | 一种内容中心网络多个兴趣包压缩发送及处理的方法 | |
CN102737065B (zh) | 数据的获取方法和装置 | |
CN102833180B (zh) | 一种分享微博消息的方法和系统 | |
JP2010205111A (ja) | コンテキスト再現システム、コンテキスト再現方法、第1端末装置、第2端末装置、コンテキスト取得装置、または蓄積装置、それらのプログラム | |
CN104115472A (zh) | 用于内容导向网络中可扩展路由的方法 | |
CN103034722B (zh) | 一种网络视频评论聚合装置及方法 | |
WO2010072083A1 (zh) | 基于web应用的数据库系统及其数据管理方法 | |
CN103001964B (zh) | 一种局域网环境下的缓存加速方法 | |
CN101188544A (zh) | 分布式文件服务器基于缓冲区的文件传输方法 | |
CN103617007B (zh) | 多级智能存储实现方法和系统 | |
CN101123613A (zh) | 一种多维地址编址的方法和装置以及系统 | |
CN103312751A (zh) | 一种基于浏览器的即时通信方法 | |
CN105354250A (zh) | 一种面向云存储的数据存储方法及装置 | |
CN105915602A (zh) | 基于社区检测算法p2p网络的调度方法及其系统 | |
Liu et al. | Tree-assisted gossiping for overlay video distribution | |
CN105187517A (zh) | 一种实现元数据集群的方法及元数据集群 | |
CN106210022A (zh) | 一种用于处理论坛高并发数据请求的系统和方法 | |
CN102857530A (zh) | 一种上传图片的方法及系统 | |
CN102891797A (zh) | 支持消息持久化的发布订阅方法 | |
CN100477582C (zh) | 一种即时通信中即时处理多媒体信息的方法和系统 | |
US20140164568A1 (en) | Methods and apparatuses for a network based on hierarchical name structure | |
CN114710571B (zh) | 数据包处理系统 | |
CN102006328A (zh) | 一种p2p流媒体分布式网络系统及其数据传输方法 | |
CN103825916A (zh) | 一种资源下载方法及系统 | |
CN103607412B (zh) | 基于树的内容中心网络多个兴趣包处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151223 Termination date: 20200205 |