一种虚拟网构造及优化方法与流程

文档序号:11709982阅读:306来源:国知局

本发明属于网络通信技术领域,尤其涉及一种虚拟网构造及优化方法。



背景技术:

计算机网络通常由大量的路由器、交换机和功能各异的网络中间件组成。为了有效管理网络,管理员根据当前网络所承载的业务(如:视频、语言、web等)来制定各种策略,由于缺少可用工具,管理员需要将这些高级策略手动地转化为可被网络设备识别的低级配置命令,这项工作富有挑战性且极易出错。

对网络从业和研究人员而言,另一个几乎不能被克服的困难就是互联网的“僵化”问题。互联网的庞大部署规模,使得其成为社会中的关键基础设施,部署规模的不断扩张,随之而来的是互联网自身的演进和变革越来越困难,几十年前为解决基础互联问题而设计的互联网面对当前日新月异的各种显得越来越力不从心。

上述背景下,以ietfforces(forwardingandcontrolseperation,forces)为代表的可编程网络作为一种促进网络演化的手段被提出。而软件定义网络(softwaredefinednetwork,sdn)是可编程网络的新形式,提供了一种新型的网络架构。sdn通过分离网络中的转发平面和控制平面,旨在简化网络管理、支持网络创新和演进,有望从根本上解决互联网的“僵化”问题。

网络虚拟化是转发与控制分离技术实现网络可编程的基础,它们一直来都是研究者重点关注的对象。根据服务部署的基本概念,sdn控制器收到服务链请求后,首先确定其所需的服务组件和组合方式,而后构建虚拟网并在虚拟网中为服务请求分配合适的路径进行服务部署。虚拟网是底层物理网在sdn控制器中的映射,具体的映射关系由转移矩阵确定。

虚拟网针对特定类型的服务而被构建,它并不是底层物理网的简单投影,底层物理网由具备服务提供能力的服务节点和提供路由传输的普通节点组成,而虚拟网只包含那些具有服务提供能力的节点,虚拟网中节点之间的链路不与底层物理网一一对应而只是一种逻辑上的连通。

虚拟网因服务请求而构建,多个相似的服务请求共用一个虚拟网。针对服务请求,为其提供服务路径是虚拟网的根本目的。服务请求的到来无法预测,虚拟网总是尽力满足它们的要求,理论上,虚拟网的拓扑越接近真实的物理网络,其满足服务请求的能力也越强。然而,实际的情况是,虚拟网的构建过程中,sdn控制器为减少物理节点和链路的查询次数,在满足已有服务请求的前提下,总是希望所构建的虚拟网越简单越好。因此,对于服务路径发现而言,一方面,如何在已有虚拟网的基础上,通过合理的路径查找算法,找到更多的服务路径以满足服务请求,另一方面,在路径查找算法无法找到更多路径的情况下,以最小的代价调整虚拟网,增加虚拟网中的可用路径数量,进一步满足更多的服务请求,是两个必须面对、且需要解决的问题。

对于一个服务请求,虚拟网中可能存在多条服务路径。然而,如果所构建的虚拟网由于没有包含足够的链路、所提供的服务路径数量相对有限,将影响服务请求的成功率;另一方面,由于一条服务路径只能连接一对终端,因此对于虚拟网而言,针对每条服务路径分配的服务节点数量越少越好,然而在一个最大链路数较低的虚拟网中受限于服务节点之间的候选链路数量不足,反而需要更多的服务节点,因此虚拟网构建过程中为防止上述问题的出现,我们反而需要更大的节点最大链路数,然而这不可避免地带来探测开销的快速增加。



技术实现要素:

本发明的目的是克服现有技术的不足,提出一种虚拟网构造及优化方法。

本发明的目的通过以下技术方案实现:一种虚拟网构造及优化方法,该方法包括以下步骤:

步骤(1)从物理网中选取具备服务提供能力的节点,构成服务节点集合(记作set);

步骤(2)虚拟网初始状态时,管理员针对set中的每个节点设置最大链路数和邻居集合,其中邻居集合为空;

虚拟网记录了的信息包括:set中每个节点的最大链路数、邻居集合、非邻居集合、节点能力、节点之间的链路带宽;

步骤(3)从set中选取一个节点(记作pi),从pi的邻居集合(记作nbr(pi))中选取一个节点(记作px),以物理网为探测对象,探测从pi到px的带宽和能力,将新探测到的从pi到px的带宽b写入虚拟网,将新探测到的px能力也写入虚拟网;如果nbr(pi)为空,进入步骤(4);

步骤(4)确定pi的非邻居集合(记作),其中与nbr(pi)的并集等于set;

步骤(5)从中选取一个新的节点(记作py),以物理网为探测对象,探测从pi到py的带宽和能力,将新探测到的从pi到py的带宽(记作b(pi,py))与虚拟网中已有的带宽b进行比较,如果b(pi,py)小于或等于b,那么py将不会被添加到nbr(pi),进入步骤(6);否则,进入步骤(7);

步骤(6)判断中的每一个节点是否都执行过步骤(5),如果是,那么进入步骤(8);否则,继续执行步骤(5);

步骤(7)比较pi的最大链路数(记作linksmax(pi))和nbr(pi)集合中的节点数量(记作|nbr(pi)|),如果|nbr(pi)|小于linksmax(pi),将py添加到nbr(pi);否则py将不会被添加到nbr(pi);

步骤(8)判断针对set中的每一个节点是否都进入过步骤(3),如果是则进入步骤(9);否则进入步骤(3);

步骤(9)回溯步骤(3)至步骤(7),针对每一个未被加入到nbr(pi)的py,将探测到的从pi到py链路的带宽和能力记入一个新的集合(记作coldlinks);

步骤(10)此后,步骤(3)和步骤(5)所述的探测过程,首先选择coldlinks为探测对象,其次再选择物理网为探测对象。

本发明有益效果如下:本发明提出了一种虚拟网构造及优化方法。在虚拟网构建过程中,为了让虚拟网能够提供更多的服务路径,进而提高服务请求的成功率,本发明方法可以在不增加探测开销的前提下构建一个具有高度连接性的虚拟网。

附图说明

图1服务路径、虚拟网和物理网。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

本发明提出的一种虚拟网构造及优化方法,该方法包括以下步骤:

步骤(1)从物理网中选取具备服务提供能力的节点,构成服务节点集合(记作set);

步骤(2)虚拟网初始状态时,管理员针对set中的每个节点设置最大链路数和邻居集合,其中邻居集合为空;

虚拟网记录了的信息包括:set中每个节点的最大链路数、邻居集合、非邻居集合、节点能力、节点之间的链路带宽;

步骤(3)从set中选取一个节点(记作pi),从pi的邻居集合(记作nbr(pi))中选取一个节点(记作px),以物理网为探测对象,探测从pi到px的带宽和能力,将新探测到的从pi到px的带宽b写入虚拟网,将新探测到的px能力也写入虚拟网;如果nbr(pi)为空,进入步骤(4);

步骤(4)确定pi的非邻居集合(记作),其中与nbr(pi)的并集等于set;

步骤(5)从中选取一个新的节点(记作py),以物理网为探测对象,探测从pi到py的带宽和能力,将新探测到的从pi到py的带宽(记作b(pi,py))与虚拟网中已有的带宽b进行比较,如果b(pi,py)小于或等于b,那么py将不会被添加到nbr(pi),进入步骤(6);否则,进入步骤(7);

步骤(6)判断中的每一个节点是否都执行过步骤(5),如果是,那么进入步骤(8);否则,继续执行步骤(5);

步骤(7)比较pi的最大链路数(记作linksmax(pi))和nbr(pi)集合中的节点数量(记作|nbr(pi)|),如果|nbr(pi)|小于linksmax(pi),将py添加到nbr(pi);否则py将不会被添加到nbr(pi);

步骤(8)判断针对set中的每一个节点是否都进入过步骤(3),如果是则进入步骤(9);否则进入步骤(3);

步骤(9)回溯步骤(3)至步骤(7),针对每一个未被加入到nbr(pi)的py,将探测到的从pi到py链路的带宽和能力记入一个新的集合(记作coldlinks);

步骤(10)此后,步骤(3)和步骤(5)所述的探测过程,首先选择coldlinks为探测对象,其次再选择物理网为探测对象。

实施例

为了便于本领域一般技术人员理解和实现本发明,现结合附图进一步说明本发明的技术方案,给出一种本发明的具体实施方式。

1、基本方法

服务路径查找算法工作的基础是虚拟网,虚拟网由sdn控制器针对特定类型服务而构建。

以下采用符号p代表虚拟网中的服务节点,对于每个p而言,定义其最大链路数为dmax(p),邻居集合为nbr(p),nbr(p)的初始值在虚拟网创建时可由管理员自行设定。运行过程中,p根据查询到的带宽结果动态调整nbr(p)。为了虚拟网构建过程中,p定期执行如下动作:

1)探测:在每次的邻居节点探测过程tp中,p探测链路(p,px|px∈nbr(p))的带宽和能力。

2)虚拟网调整:在每次的非邻居节点探测过程tq(tq>tp)中,p探测链路的带宽和能力,为了减少探测过程所带来的开销,通常非邻居节点探测过程的持续时间比邻居节点探测过程长很多:如tp=10分钟,tq=40分钟。探测之后,对于中的每个px而言,p决定其是否可以加入nbr(p)。

(a)b(p,px)表示新探测到的从p到px链路带宽,b(p→px)表示当前虚拟网中从p到px的链路带宽,如果b(p,px)<=b(p→px),那么px将不会被添加到nbr(p)。

(b)如果p的邻居数量小于dmax(p),px将被添加到nbr(p)。

(c)p检查nbr(p)∪{px}中的每一个节点,如果存在节点pv使得在虚拟网拓扑中添加一条从p到px的边后再删除边(p,px),而从p到pv的端到端带宽相较于当前的b(p,pv)只是轻微的变小,那么pv将被从nbr(p)中删除。这说明pv在包含边(p,pv)的服务路径中作用很小。

一方面,对于一条以源节点ps和目的节点pd标记的服务请求,虚拟网中可能存在多条服务路径,前面所构建的虚拟网由于没有包含足够的链路,因此所提供的服务路径数量相对有限,进而影响服务请求的成功率;另一方面,由于一条服务路径只能连接一对终端,因此对于虚拟网而言,针对每条服务路径分配的服务节点数量越少越好,然而在一个dmax(p)较低的虚拟网中受限于服务节点之间的候选链路数量不足,反而需要更多的服务节点。

虚拟网构建过程中为防止上述问题的出现,我们需要更大的dmax(p),然而这不可避免地带来探测开销的快速增加。

2、优化方法

针对“基本方法”的不足,接下来基于“冷”链路启动方法对虚拟网进行优化调整。该“优化方法”与“基本方法”同时使用,可以在不增加探测开销的前提下构建一个具有高度连接性的虚拟网,其核心思想是发掘探测过程中的“冷”链路,具体工作过程如下:

1)启用“冷”链路:在“基本方法”的“虚拟网调整”动作中,tq过程所探测到的“冷”链路被丢弃,不会加入到虚拟网,而“优化方法”将捎带地启用这些“冷”链路。

2)消极的链路监控:如果链路(p,px)被服务路径发现算法选中,它将被启用成为一个“热”链路。p跟踪通过链路(p,px)的最大数据传输率并将其作为链路的测量带宽。该链路保持“热”状态直到没有任何服务路径经过(p,px)。

通过启用“冷”链路,虚拟网的范围被扩大、包含了多更多的可行路径,而探测开销却没有增加。虚拟网的扩张效果与参数dmax(p)、服务请求达到率和服务路径会话的持续时间密切相关。直观地来说,具有较小dmax(p)的p更容易启用“冷”链路,而且较高的服务请求到达率和服务路径会话时间,也更容易启用“冷”链路且保持它的“热”状态。由于上述特点,在一个高度连接的虚拟网中,“优化方法”能有效地弥补“基本方法”的不足。

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