一种应用于内容中心网的负载均衡方法与流程

文档序号:11842493阅读:207来源:国知局
一种应用于内容中心网的负载均衡方法与流程

本发明属于网络管理技术领域,特别是内容中心网(Content-Centric Network,CCN)架构下的网络管理,更为具体地讲,涉及一种应用于内容中心网的负载均衡方法。



背景技术:

不同于以“地址”为中心的IP网,CCN(Content-Centric Network,内容中心网)是一种以“内容”为中心的全新网络架构,其所有的数据均通过内容名来标识,而数据的请求、转发也基于内容名来进行。在CCN中,用户(Consumer)通过发送Interest包(兴趣包即内容请求包)来请求内容,内容源(Producer)通过返回Data包来响应用户的内容请求。

一个CCN路由器主要由PIT(Pending Interest Table,请求记录表)、CS(Content Store,内容缓存)、FIB(Forward Information Base,前向转发表)3部分组成。PIT记录了待响应Interest(内容请求)的信息(如请求内容名、接收端口等),使返回的Data(内容数据)能根据PIT中的记录进行多播转发;同时PIT也起到了聚合相同请求的Interest的作用。CS为内容缓存,用于缓存路由器所收到的Data,从而使路由器成为一个临时的内容源,不仅能更快的响应Interest,也减少了网络的带宽消耗。FIB类似于IP网中的路由表,记录了Interest的转发端口信息,Interest根据FIB中的端口信息来选择下一跳的转发端口。

当一个CCN路由器收到一个Interest包时,会首先查看其CS是否缓存了相应的Data包,若有,则直接回送该Data包;否则,查询其PIT是否已存在所请求内容名的PIT表项,若存在,则在更新该PIT表项后丢弃该Interest包;否则,创建PIT表项并根据FIB继续向内容源转发该Interest包。当CCN路由器收到一个Data包时,会首先将Data缓存到其CS中,然后根据PIT中记录的信息向所有接收端口回送Data包。

虽然CCN相较于现有的IP网大幅度地提升了内容分发能力,但是CCN的路由能力仍然很弱。在CCN中,Interest往往采用最短路策略来进行转发,但这 样的策略容易造成网络负载的不均衡,而不均衡的网络负载严重时会引起网络拥塞。因此,应对CCN进行负载均衡,以充分利用CCN的链路资源。

当前CCN的负载均衡方法是在链路拥塞时Interest包会随机选择转发端口,这虽然有均衡链路负载的效果,但这样的方案带有很大的盲目性,有可能使Interest包在转发过程中产生环路而无法到达内容源;除此之外,随机性的引入,使的Interest包的转发路径变得不可控,这在有Qos(Quality of Service)要求的场景下并不适用。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种应用于内容中心网的负载均衡方法,在均衡负载的同时,避免环路的产生,使得Interest包的转发路径可控。

为实现上述发明目的,本发明应用于内容中心网的负载均衡方法,其特征在于,包括以下步骤:

(1)、构建逻辑拓扑集合

逻辑拓扑集合中,每个逻辑拓扑在保证连通的前提下,保留实际物理拓扑中的若干条链路,未出现的链路即为该逻辑拓扑所要保护的链路;

构建的逻辑拓扑集合中含有K个逻辑拓扑g1、g2、……gK,同时,令实际物理拓扑为g0

(2)、构建流行度统计表

在CCN路由器中,构建一张流行度统计表,其主要包含内容名和频率两个字段,用于统计各请求内容的到达频率,根据请求内容到达频率的在流行度统计表中的排名来表示其流行度高低;

流行度统计表有查询和更新两个操作,查询返回所查询内容名在流行度统计表中的排名(若流行度统计表中无相应表项,则认为其排名为∞,即排名无穷大),而更新操作的处理过程为:

2.1)、检查流行度统计表中是否存在关于所更新内容名的表项;若存在,则将表项中的频率加1,否则,转步骤2.2;

2.2)、检查流行度统计表是否已满,若已满,则删除表中到达频率最低的表项,转步骤2.3;否则,直接转步骤2.3;

2.3)、创建所更新内容名的表项,其频率初始化为1。

(3)、修改FIB表项

FIB表项由内容前缀和转发端口2个字段构成;一条FIB表项中的转发端口由f0、f1、…、fk、…fK共K+1个端口构成,其中,端口fk,k=1、2、…、K,代表Interest包在逻辑拓扑gk中转发时的转发端口;f0代表Interest包在实际物理拓扑g0中转发时的转发端口;

(4)、对Interest包的处理

Interest包头部在现有基础上增加拓扑编号、缓存位置2个字段;Interest包的拓扑编号为i表示该Interest包在拓扑gi上转发;缓存位置代表相应Data包在回送时所要缓存的CCN路由器,CCN路由器对Interest包的处理过程为:

4.1)、查询CS有无相应Data包,若有,则直接返回该Data包,结束该处理过程;否则,转步骤4.2;

4.2)、查询PIT有无相关表项,若有,转步骤4.3;否则,转步骤4.4;

4.3)、更新PIT表项,然后检查该Interest包的拓扑编号是否为0,若为0,则,结束该处理过程;否则转步骤4.7;需要说明的是,在拓扑编号不为0时,有可能构成了一个环路,所以需要进一步转发。

4.4)、创建PIT表项,转步骤4.5;

4.5)、选择一个合适的拓扑来进行转发,选择方法为:

4.5.1)、若Interest包头部的拓扑编号i=0,则转步骤4.5.2,否则,转步骤4.6;

4.5.2)、若转发端口f0的负载未超过阈值,则保持Interest包头部的拓扑编号为0,转步骤4.7,否则,转步骤4.5.3;

4.5.3)、在FIB表项中的转发端口f1到fK中选择在一个转发端口fj,使得fj≠f0且转发端口fj的负载未超过阈值,更新Interest包头部的拓扑编号为j,转步骤4.6;若不存在这样的转发端口,则转步骤4.5.4;

4.5.4)、在FIB表项中的转发端口f1到fK中选择一个端口fj,使得fj≠f0,更新Interest包头部的拓扑编号为j,转步骤4.6;需要说明的是,此时,不存在未超过阈值的转发端口,所以只能随机选择一个转发端口进行转发;

4.6)、若Interest包头部的缓存位置为空,则更新所在CCN路由器的流行度 统计表,并查询该内容名在流行度统计表中的排名,若其排名足够高(小于该路由器CS的容量),则更新该Interest包的缓存位置为当前CCN路由器,转步骤4.7;

4.7)、根据Interest包头部记录的拓扑编号j,选择从转发端口fj转发该Interest包;

(5)、对Data包的处理

Data包的头部在现有基础上增加缓存位置字段,用来标志该Data包所要缓存的位置,内容源(Producer)在响应用户的内容请求时,Data包头部的缓存位置设置为Interest包中的缓存位置,其处理过程如下:

5.1)、检查该Data包头部的缓存位置是否和所在CCN路由器匹配,若匹配,则缓存该Data包到CS,转步骤5.2,否则,直接转步骤5.2;

5.2)、查询PIT,获得相应PIT表项,转步骤5.3;

5.3)、根据步骤5.2得到的PIT表项,向该PIT表项中记录的各接收端口回送Data包。

本发明的目的是这样实现的。

本发明针对现有技术存在的问题,通过构建逻辑拓扑集合、建立流行度统计表、在Interest包头部建立拓扑编号和缓存位置、修改FIB表以及在Data包的头部增加缓存位置字段,将多拓扑路由与CCN内建CS的特点相结合,提出了一种应用于内容中心网的负载均衡方法。这样,通过多拓扑路由的方法,将Interest包(内容请求包)映射到不同的逻辑拓扑中进行转发,以避免重载链路的过度使用,达到保护重载链路的目的;同时,利用CCN中的CS,将高流行度的内容缓存到重载链路的上游节点上,进一步保护重载链路,从路由和缓存两个方面来均衡链路间的负载。

附图说明

图1是本发明应用于内容中心网的负载均衡方法一种具体实施中CCN物理拓扑示意图;

图2是根据图1构建的3个逻辑拓扑示意图;

图3是本发明中流行度统计表表项格式示意图;

图4是本发明中FIB表项格式示意图;

图5是本发明中Interest包头部格式示意图;

图6是图1所示CCN物理拓扑中,Interest包的一种具体实施方式下的转发路径示意图;

图7是本发明中Data包头部格式示意图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

在网络路由过程中,要均衡链路间的负载,其本质就是要控制网络的最大链路利用率,即应“保护”重载链路,避免请求、数据包经过负载较重的重载链路。因此,对于需要为请求提供多径路由(Multipath Routing)的能力,当Interest包遇到拥塞时,可以通过切换转发路径来保护重载链路。多拓扑路由(Multi-Topology Routing,MTR)就是实现多径路由的一个典型技术方案。MTR维护了一个逻辑拓扑集合,每个逻辑拓扑仅保留实际物理拓扑的若干条边,删去的边即为该逻辑拓扑所保护的边,通过将请求包映射到不同的逻辑拓扑进行转发,从而实现对不同链路的保护。然而,如何在CCN中实现多拓扑路由,是本发明需要解决的问题。

本发明在CCN中,通过构建逻辑拓扑集合、修改FIB表以及在Interest包的修改,引入了MTR技术,这样使Interest(内容请求)在CCN中存在两种转发模式:最短路(Shortest Path,SP)模式和多拓扑(MTR)模式。前者令Interest内容请求在实际物理拓扑g0上进行转发;后者则在MTR的逻辑拓扑上进行转发。Interest内容请求在发出时,首先采用SP模式进行转发;若在转发过程中发现下一跳转发链路为重载链路,则将转发模式切换为MTR模式:在逻辑拓扑中选择一个保护了该重载链路的逻辑拓扑,令Interest内容请求继续在该逻辑拓扑上进行转发。

在引入MTR的基础上,对于切换到MTR转发模式的Interest内容请求,可以根据其流行度选择合适的位置进行缓存,以避免Interest内容请求经过重载链路,起到保护重载链路作用,具体而言,就是利用CCN路由器中内建的CS来实现的。当前CCN对CS的管理主要是用来降低数据包的往返时延和减少网络 的带宽消耗,而在本发明中,通过建立流行度统计表、在Interest包头部建立缓存位置,将访问频率高的请求内容所对应的Data包,缓存到负载链路上游的CS上,以此来避免Interest请求经过重载链路,造成链路负载的进一步加剧,达到保护重载链路,均衡负载的作用。

图1是本发明应用于内容中心网的负载均衡方法一种具体实施中CCN物理拓扑示意图。

在本实施例中,如图1所示,该CCN是由6个节点构成的实际网络物理拓扑g0,网络中的的链路均为双向链路,在节点0处挂载Consumer;节点5处挂载Producer,其他节点为CCN路由器。网络中共有5种内容,依照流行度高低依次为A、B、C、D、E,在本实施例中,节点3对关于内容A的Interest包和Data包的处理。

在本实施例中,Interest包在各拓扑上均按最短路转发,并且图1中的链路3-5为重载链路,其余链路为非重载链路。除此之外,此时各节点已能通过流行度统计表正确估计各内容的流行度,且所有CCN路由器上的CS和PIT均为空。

在本实施例中,具体步骤为:

1、构建逻辑拓扑集合

在本实施例中,如图2所示,根据本发明,构建了一个逻辑拓扑集合,共3个逻辑拓扑g1、g2、g3

2、构建流行度统计表

流行度统计表表项格式如图3所示,包括内容名和频率。

3、修改FIB表项

本发明中,FIB表项的格式如图4所示,包括内容前缀和转发端口2个字段。具体而言,在本实施例中,K=3,一条FIB表项中的转发端口由f0、f1、f2、f3共4个端口构成,端口fk,k=1、2、3代表Interest包在逻辑拓扑gk中转发时的转发端口,f0代表Interest包在实际物理拓扑g0中转发时的转发端口,因此在节点3中的端口f0、f2、f3均为5,而端口f1为4。

4.对Interest包的处理

在本实施例中,如图5所示,Interest包头部在现有基础上增加拓扑编号、 缓存位置2个字段。在本实施例中,Interest包在物理拓扑g0上转发,结点3对该Interest包的处理过程为:

4.1)、节点3中的CS无相应Data包,转步骤4.2);

4.2)、节点3中的PIT无关于内容A的表项,转步骤4.4);

4.4)、创建PIT表项,转步骤4.5);

4.5)、选择一个合适的拓扑来进行转发,选择方法为:

4.5.1)、该Interest包头部的拓扑编号i=0,则转步骤4.5.2;

4.5.2)、转发端口f0的负载超过了阈值,即连接的链路3-5为重载链路,因为此时该Interest包处于SP转发模式,所以该Interest包需切换到MTR转发模式,转步骤4.5.3;

4.5.3)、此时FIB表项中的转发端口中f1≠f0且端口f1所连接的链路3-4为非重载链路,所以更新Interest包的拓扑编号为1,转步骤4.6;更新前后的转发路径如图6所示,这样避免了重载链路3-4的过度使用,达到保护重载链路3-4的目的;

4.6)、由于此时该Interest头部的拓扑编号不为0且该Interest头部的缓存位置为空,则更新节点3(CCN路由器)的流行度统计表,并更新该内容A在表中的排名。由于内容A在表中排名第1,故更新该Interest头部的缓存位置为节点3,转步骤4.7);

4.7)、根据Interest包的拓扑编号,选择从端口f1转发该Interest包。

从上述处理过程可以看到,该Interest包成功地“保护”了重载链路3-5,在避免链路负载的进一步加剧的同时均衡了链路间的负载。

5、对Data包的处理

在本发明中,如图7所示,Data包的头部在现有基础上增加缓存位置字段,用来标志该Data包所要缓存的位置,内容源(Producer)在响应用户的内容请求时,Data包头部的缓存位置设置为Interest包中的缓存位置。在本实施例中,节点3对返回的Data包的处理过程如下:

5.1)、因为该Data包头部的缓存位置与节点3匹配,故节点3缓存该Data包,转步骤5.2;

5.2)、查询PIT,获得相应PIT表项,转步骤5.3;

5.3)、根据步骤5.2得到的PIT表项,向该PIT表项所记录的各接收端口回送该Data。

若之后再有节点3再收到关于内容A的Interest包,则节点3能直接返回关于内容A的Data包,而不必再经过链路3-5,避免了链路负载的进一步加剧。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1