背景技术
众所周知,在互联网中实现内容缓存的技术是内容分发网(CDN)技术,这是互联网协议(IP)之上的重叠网技术,是由CDN运营商提供的。由CDN提供的内容缓存,包括网页、视频、音频等。采用CDN技术,可大量地减少对源端服务内容提供设备的负载压力,实现少量设备即可服务大量用户的目的。这种技术最典型的应用之一是视频直播,即实时流的CDN。在这种技术下,终端用户是看不见CDN的存在的,他们仅需要关注内容即可。但由于CDN是重叠网技术,它叠加在IP之上,且IP是尽力而为的协议,所以在CDN下要保障QoS(服务质量),就存在比较大的困难。
在IP网络上提供内容,是间接的,IP仅仅解决传输问题,不解决内容提供问题。针对这样的问题以及IP本身的其他问题,人们提出颠覆IP的新网络架构,其中信息中心网络(ICN)(比如CCN、NDN)是以信息为中心的联网技术,是以网络的方式提供音频、视频等信息,为做到这点,该种网络要求缓存是内建于网络中的,即网络节点带有缓存,在NDN中就体现为CS(内容存储)。网络节点带有缓存,就必然带来访问缓存的开销,这就可能对网络节点的转发性能产生影响。
NDN等中的典型做法是:在接收到兴趣报文时,首先查找CS,如果存在兴趣报文关注的数据报文,则以数据报文对兴趣报文做出应答,从兴趣报文到达的端口发送出去。如果不存在数据报文,则以兴趣报文查找PIT(Pending Interest Table,未应答兴趣表),如果有表项与之对应,将兴趣报文到达接口添入表项,并丢弃兴趣报文;否则以兴趣报文中的内容名字前缀查找FIB(Forwarding Information Base,转发信息表),依据FIB中匹配的表项,确定外发端口,并将兴趣分组在这些外发端口上发送。在接收到数据报文时,查找PIT表,从兴趣报文对应的到达端口反向外发数据报文。
但是,在接收到兴趣报文时,要查找本地缓存,这是非常耗时的一项操作,无论本地有无数据,这项操作都要做;另外在本地无数据时,才首先查找PIT表,看有无表项记录,如有,则将兴趣报文到达端口添加到PIT表。否则将兴趣报文依据FIB表,外发兴趣报文。
无论网络节点是否带有缓存,以主机操作***中访问存储的方式访问缓存,这就有点违反网络设备的转发理念,需要在转发操作上加上访存操作。另外针对缓存中数据报文的有无所做的判断以及后续处理,也存在优化的空间。
发明内容
本发明的目的是解决以网络节点转发理念实现信息中心网络的缓存处理,减小访问缓存造成的开销和以同样的理念处理缓存不命中的情况,可大大减少处理和判断开销。同时,可减少信息中心网络中节点的处理负担,达到简化节点处理。
为实现上述目的,一方面,本发明提供了一种基于虚拟网络接口的内容缓存的***,包括:网络设备,在网络设备的内存中分配未应答兴趣表和转发信息表,在未应答兴趣表和转发信息表中添加虚拟网络接口或外挂网络存储的网络接口;其中,网络设备具体用于,当网络设备接收到兴趣报文时,根据兴趣报文查找未应答兴趣表,若找到匹配表项,将兴趣报文到达接口添入表项,并丢弃兴趣报文;若没有找到相应的表项,在未应答兴趣表中***新的表项并将虚拟网络接口或外挂网络存储的网络接口添加到所述新的表项,并依据兴趣报文携带的内容和转发信息表转发兴趣报文。
当网络设备接收到数据报文时,根据数据报文匹配未应答兴趣表,若找到匹配项,则依据匹配项,将转发并存储数据报文;否则丢弃数据报文。
优选地,网络设备具体用于,若网络设备包括存储设备,则生成虚拟网络接口,在虚拟网络接口上挂接访问存储的软件程序;若网络设备不包括存储设备,即在网络设备的物理网络接口上接入网络存储设备。
优选地,网络设备为路由器、交换机、或支持SDN、OpenFlow和POF的网络设备。
优选地,网络设备执行以下步骤:
当网络设备中的路由表更新时,在转发信息表项中添加虚拟网络接口;当接收到兴趣报文时,根据接收到的兴趣报文匹配未应答兴趣表,若找到匹配表项,将兴趣报文到达接口添入表项,并丢弃兴趣报文;否则在未应答兴趣表中添加新的表项,表项中含兴趣报文到达的网络接口和所述虚拟网络接口,并依据兴趣报文携带的内容和转发信息表转发所述兴趣报文。
当网络设备接收到数据报文时,根据数据报文查找未应答兴趣表,若找到匹配项,则依据匹配项,转发并存储数据报文;若没有找到匹配项,则丢弃数据报文。
另一方面,本发明提供了一种基于虚拟网络接口的内容缓存的方法,包括以下步骤:
在网络设备的内存中分配未应答兴趣表和转发信息表,在未应答兴趣表和转发信息表中添加虚拟网络接口或外挂网络存储的网络接口;其中,当接收到兴趣报文时,根据接收到的兴趣报文查找未应答兴趣表,若找到匹配表项,则将兴趣报文到达接口添入表项,并丢弃兴趣报文;若没有匹配到相应的表项,在未应答兴趣表中***新的表项并将虚拟网络接口或外挂网络存储的网络接口添加到新的表项,并依据兴趣报文携带的内容和转发信息表转发兴趣报文。
当网络设备接收到数据报文时,根据数据报文匹配未应答兴趣表,若找到匹配项,则依据匹配项,转发并存储数据报文;否则丢弃数据报文。
优选地,网络设备初始化步骤中包括:若网络设备包括存储设备,则生成虚拟网络接口,在虚拟网络接口上挂接访问存储的软件程序;若网络设备不包括存储设备,即网络接口的物理网络接口上接入网络存储设备。
本发明的有益效果包括:解决了信息中心网络中网络设备处理访问缓存时的等待问题,同时解决了缓存不命中时的兴趣报文转发问题,以转发理念统一了网络设备访问缓存的问题,提高了网络设备的处理性能。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为一种NDN中网络节点接收到兴趣报文时访问组件的顺序示意图。如图1所示,NDN中网络节点接收到兴趣报文时访问组件的顺序,接收兴趣报文,并依次访问内容存储(CS)、转发信息表(FIB)和未答复兴趣表(PIT)。其中对内容存储(CS)的访问决定了处理性能。
图2为一种NDN中网络节点接收到数据报文时访问组件的顺序示意图。如图2所示,NDN中网络节点接收到数据报文时访问组件的顺序,接收数据报文,并依次访问未答复兴趣表(PIT)和内容存储(CS)。其中对内容存储(CS)的访问决定了处理性能。
本发明实施例提出的一种基于虚拟网络接口的内容缓存的***及方法具体是一种基于存储虚拟为网络接口实现基于虚拟网络接口的内容缓存的***及方法。优选地,消除组件内容存储CS,而以网络接口(可采用虚拟网络接口或外挂网络存储的网络接口)接入网络存储设备。
图3为本发明实施例提供的一种基于虚拟网络接口的网络缓存的***结构示意图。如图3所示,一种基于虚拟网络接口的网络缓存的***包括:网络设备和存储设备,即网络设备不具有存储功能,则执行以下步骤:
在网络设备的内存中分配未应答兴趣表和转发信息表,在未应答兴趣表和转发信息表中添加虚拟网络接口或外挂网络存储的网络接口。
当网络设备从接口1接收到兴趣报文时,根据接收到的兴趣报文查找未应答兴趣表,若找到匹配表项,将兴趣报文到达接口添入表项,并丢弃兴趣报文;若没有匹配到相应的表项,在未应答兴趣表中***新的表项并将虚拟网络接口或外挂网络存储的网络接口和兴趣报文进入的接口1的信息添加到所述新的表项,并依据兴趣报文携带的内容查找转发信息表,根据转发信息表的信息对兴趣报文进行转发。
当网络设备从接口2接收到数据报文时,根据数据报文匹配未答应兴趣表,若没有找到数据报文的匹配项,则丢弃该数据报文;若找到数据报文的匹配项,则依据匹配项信息转发并存储数据报文。其中,转发数据报文的路径为接收兴趣报文的反方向,即将数据报文转发至接口1;存储数据报文则是将数据报文从接口3转发至外接存储设备中,进行存储。
图4为本发明实施例提供的另一种基于虚拟网络接口的网络缓存的***结构示意图。如图4所示,一种基于虚拟网络接口的网络缓存的***包括:网络设备即网络设备具有存储功能,则执行以下步骤:
网络设备包括存储设备,则生成虚拟网络接口,在虚拟网络接口上挂接访问存储的软件程序;在网络设备的内存中分配未应答兴趣表和转发信息表,在未应答兴趣表和转发信息表中添加虚拟网络接口或外挂网络存储的网络接口。
当网络设备从4接口接收到兴趣报文时,根据接收到的兴趣报文查找未应答兴趣表,若找到匹配表项,将兴趣报文到达接口添入表项,并丢弃兴趣报文;若没有匹配到相应的表项,在未应答兴趣表中***新的表项并将虚拟网络接口或外挂网络存储的网络接口和兴趣报文进入的接口4的信息添加到所述新的表项,并依据兴趣报文携带的内容查找转发信息表,根据转发信息表的信息对兴趣报文进行转发。
当网络设备从接口5接收到数据报文时,根据数据报文匹配未答应兴趣表,若没有找到数据报文的匹配项,则丢弃该数据报文;若找到数据报文的匹配项,则依据匹配项信息转发并存储数据报文。其中,转发数据报文的路径为接收兴趣报文的反方向,即将数据报文转发至接口4;存储数据报文则是将数据报文转发至接口6,即生成的虚拟网络接口上挂接访问存储的软件程序,并存储数据报文。
图5为本发明实施例提供的一种路由器中基于虚拟网络接口的网络缓存的***结构示意图。在本发明提供的实施例中,该***可涉及如下实体:交换机和存储实体。交换机可以是支持SDN(软件定义网络)、OpenFlow和POF(协议无关转发)的网络设备,包括实现这种功能的服务器、主机等物理实体;存储实体可以是网络设备内实现存储功能的逻辑实体,或连接到网络设备某个网络接口上的网络存储实体。
如图5所示,网络设备则执行以下步骤:
当路由器中的路由表更新时,在转发信息表添加虚拟网络接口。
当路由器从接口7接收到兴趣报文时,根据接收到的兴趣报文匹配未应答兴趣表,若找到匹配表项,将兴趣报文到达接口添入表项,并丢弃兴趣报文;否则在未应答兴趣表中添加新的表项,表项中含兴趣报文到达的网络接口7和虚拟网络接口,并依据兴趣报文携带的内容查找转发信息表,根据转发信息表的信息对兴趣报文进行转发。
当路由器从接口8接收到数据报文时,根据数据报文查找未应答兴趣表,若没有找到数据报文的匹配项,则丢弃该数据报文;若找到数据报文的匹配项,则依据匹配项信息转发并存储数据报文。其中,转发数据报文的路径为接收兴趣报文的反方向,即将数据报文转发至接口7;存储数据报文则是将数据报文从接口9,即生成的虚拟网络接口上挂接访问存储的软件程序,并存储数据报文。
首先,若是带有存储的网络设备,则生成虚拟网络接口,则在虚拟网络接口上挂接访问存储的软件程序;若网络设备的物理网络接口上接入存储设备,则直接执行以下步骤。其中访问存储的软件程序是以多线程方式运行的,优先级设置为低,不影响网络设备内其他的转发操作。
此过程中,只要有兴趣报文到达,转发兴趣报文时,都要经过虚拟网络接口或外挂网络存储的网络接口,这时添加上述虚、实接口的时机控制在路由表更新时,以及处理为缺省接口时的情况。
当处理兴趣报文时,网络设备根据接收到的兴趣报文查找未应答兴趣表项,若找到出相应表项,则将兴趣报文到达接口添入表项,并丢弃兴趣报文;否则在未应答兴趣表中添加新的表项,表项中含兴趣报文到达的网络接口7和虚拟网络接口,并依据兴趣报文携带的内容查找转发信息表,根据转发信息表的信息对兴趣报文进行转发;存储设备接收到兴趣报文后,检索存储,如有数据,则封装成数据报文以网络传输方式发回,此时网络设备接收到数据报文时,查找未应答兴趣表,除接收接口外(即排除存储接口),将数据报文发往兴趣报文到达的接口;如果存储设备无对应数据,则丢弃兴趣报文,这样就免除了网络设备的进一步处理。
若存储设备没有找到相应数据,则删除兴趣报文。这种处理过程称为隐性处理,实际上是消除了网络设备接到某个接口返回不命中时的冗余处理,以便后续外发兴趣报文的操作,原因在于在兴趣报文的转发时,除了转发到存储接口外,本发明实施例提供的***及方法还依据转发信息表将兴趣报文转发到了其他接口。
图6为本发明实施例提供的一种基于虚拟网络接口的网络缓存的方法流程图。如图5所示,该方法包括步骤S101-S102:
步骤S101:将缓存访问网络接口加入PIT表中相应兴趣报文进入接口的方法:
分配未应答兴趣表和转发信息表,在未应答兴趣表和转发信息表中添加虚拟网络接口或外挂网络存储的网络接口;其中,当接收到兴趣报文时,根据接收到的兴趣报文查找未应答兴趣表,若找到匹配表项,则将兴趣报文到达接口添入表项,并丢弃兴趣报文;若没有匹配到相应的表项,在未应答兴趣表中***新的表项并将虚拟网络接口或外挂网络存储的网络接口添加到新的表项,并依据兴趣报文携带的内容和转发信息表转发兴趣报文。
步骤S102:将缓存访问网络接口添加到所有表项的外发接口列表、将访问缓存转变为报文转发方法:
当接收到数据报文时,根据数据报文匹配未应答兴趣表,若找到匹配项,则依据匹配项,将转发并存储数据报文。
当网络设备接收到数据报文时,根据数据报文匹配未应答兴趣表步骤中包括:若没有找到匹配项,则丢弃数据报文。
具体地,网络设备初始化步骤中包括:若网络设备包括存储设备,则生成虚拟网络接口,在虚拟网络接口上挂接访问存储的软件程序;若网络设备不包括存储设备,即网络接口的物理网络接口上接入网络存储设备。
本发明的有益效果包括:解决了信息中心网络中网络设备处理访问缓存时的等待问题,同时解决了缓存不命中时的兴趣报文转发问题,以转发理念统一了网络设备访问缓存的问题,提高了网络设备的处理性能。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。