CN105681153B - 一种虚拟网络映射方法及装置 - Google Patents
一种虚拟网络映射方法及装置 Download PDFInfo
- Publication number
- CN105681153B CN105681153B CN201610151331.4A CN201610151331A CN105681153B CN 105681153 B CN105681153 B CN 105681153B CN 201610151331 A CN201610151331 A CN 201610151331A CN 105681153 B CN105681153 B CN 105681153B
- Authority
- CN
- China
- Prior art keywords
- link
- physical
- virtual
- node
- network
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
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
本发明实施例公开了一种虚拟网络映射方法及装置,所述方法包括:当一个虚拟网络请求到达时,根据每个虚拟节点nV所对应的候选物理节点范围,聚合每个虚拟节点所对应的所有候选物理节点集合nV*;将底层物理网络的候选集合节点nV*按照与底层物理网络相同的连接方式进行连接;确定所述重构后的底层物理网络中的可用物理链路,将每条虚拟链路lij所对应的可用物理链路组成可用物理链路集合计算每一条物理链路的链路可用度以及每一条虚拟链路的链路可用度,并将其按照链路可用度进行降序排序;根据排序后的可用物理链路集合和虚拟链路,对所述虚拟网络进行映射。应用本发明实施例,能够实现SDN环境中的虚拟网络映射,降低映射开销。
Description
技术领域
本发明涉及网络虚拟化技术领域,特别涉及一种虚拟网络映射方法及装置。
背景技术
网络虚拟化技术是未来网络中网络资源共享的重要手段,该技术支持多个异构的虚拟网络(VN,virtual network)彼此隔离地共存于同一物理网络,有利于提高VN创建的灵活性和物理网络资源的利用率。在网络虚拟化环境下,虚拟网络提供商(VNP,virtualnetwork provider)负责生成VN请求,并根据请求租用物理资源;基础设施提供商(InP,infrastructure provider)负责提供承载VN的物理资源。
由于传统网络构架具有很强的局限性,急需一种新的网络构架以较低的成本满足用户的多样性需要,软件定义网络(Software Defined Network,SDN)被提出并获得广泛认可。SDN可以被视为一种全新的网络技术,它通过分离网络设备的控制面和数据面,将网络的能力抽象为应用程序接口(API:Application Programming Interface)提供给应用层,从而构建了开放的可编程的网络环境,在对底层各种网络资源虚拟化的基础上,实现了对网络的集中控制和管理。目前,FlowVisor可以实现SDN环境下遵守OpenFlow协议的交换机的虚拟网络划分。
SDN环境下的虚拟网络映射与传统虚拟网络映射有很多的不同点,这样使得某些适用于传统虚拟网络映射的算法无法完全适用于SDN环境下的虚拟网络映射。例如:在文献一中:《Design and analysis of techniques for mapping virtual networks tosoftware-defined network substrates》(中文名称:《软件定义网络环境中虚拟网络映射技术的设计与分析》)设计了两种算法,第一个是基于时延最小的映射算法对SDN环境中的虚拟网络进行映射,该算法首先确定负载最小物理节点为控制器节点,之后依次选出距离控制器节点时延最小的可用物理节点进行虚拟节点映射,以达到最终控制器节点与虚拟节点之间平均时延最小的目的;第二个是基于负载均衡的映射算法对SDN环境中的虚拟网络进行映射,该方法首先确定负载最小节点为控制器节点,当控制器节点选中以后,找到时延允许范围内的可用物理节点集合,将虚拟节点中CPU请求最大的节点映射到物理节点集合中负载最小的节点上,依次进行,最终实现负载均衡映射算法。在文献一中的两种映射方案会导致映射的平均跳数较多,使得映射开销较大。
在文献二中:《ViNEYard:Virtual Network Embedding Algorithms WithCoordinated Node and Link Mapping.》(中文名称:《ViNEYard:协同节点与链路映射的虚拟网络映射算法》)提出了一种协作节点与链路映射的传统虚拟网络映射方案,这种映射方案提出在虚拟节点可映射范围内建立增广图,进而进行整数线性规划,最终找到最优映射点。但是这种协作节点与链路映射的算法是传统虚拟网络映射的算法,不能完全应用于SDN环境中。
发明内容
本发明实施例的目的在于提供一种虚拟网络映射方法及装置,适用于SDN环境中的虚拟网络映射,降低映射开销。
为达到上述目的,本发明实施例公开了一种虚拟网络映射方法,所述方法包括步骤:
当一个虚拟网络请求到达时,根据所述虚拟网络中每个虚拟节点nV所对应的候选物理节点范围,聚合每个虚拟节点所对应的所有候选物理节点集合nV*;
根据聚合后的每个虚拟节点所对应的候选物理节点集合nV*,将底层物理网络的候选集合节点nV*按照与底层物理网络相同的连接方式进行连接,重构底层物理网络;
确定所述重构后的底层物理网络中的可用物理链路,将每条虚拟链路lij所对应的可用物理链路组成可用物理链路集合
计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度,并分别将其按照链路可用度进行降序排序;
根据每个排序后的可用物理链路集合和虚拟链路,对所述虚拟网络进行映射。
具体的,所述确定所述重构后的底层物理网络中的可用物理链路,包括:
依次判断所述重构后的底层物理网络中的每一条物理链路的可用带宽是否满足所述虚拟网络请求、所述每一条物理链路的两个物理节点的可用CPU和可用流条目是否满足所述虚拟网络请求;
将上述条件均满足所述虚拟网络请求的物理链路确定为可用物理链路。
具体的,所述计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度所利用的公式包括:
LC(l)=(1-α)*ln(bw(lin))+α*Number(lout)
其中α为根据虚拟网络的网络规模所确定的权重值,lin表示该链路的可用带宽,Number(lout)表示该链路的两个节点分别与其他节点连接的链路数目之和,对于物理链路而言,所述其他节点为该物理节点所对应的候选物理节点范围以外的物理节点。
具体的,所述根据每个排序后的可用物理链路集合和虚拟链路,对所述虚拟网络进行映射,包括:
A,对链路可用度最大的虚拟链路lij进行映射,将虚拟链路lij所对应的可用物理链路集合中链路可用度最大的物理链路luv分配映射到虚拟链路lij,将该物理链路luv的一个物理节点nu加入到对应的可用物理节点集合中、另一个物理节点nv加入到对应的可用物理节点集合中;
B,分别判断当前的可用物理网络节点集合和中是否存在两个物理节点,如果是,进入步骤C;否则,进入步骤E;
C,找到所述两个物理节点之间的最短路径,同时将新加入的物理节点nu从可用物理网络节点集合中删除,并判断所述最短路径是否满足虚拟链路请求量,如果是进入步骤D;否则进入步骤E;
D,将虚拟链路lij在映射时穿过所述从可用物理网络节点集合中删除的物理节点nu;
E,将所述可用物理链路集合中链路可用度最大的物理链路luv从可用物理链路集合中删除,并选择所述可用物理链路集合中链路可用度次大的物理链路作为链路可用度最大的物理链路luv返回步骤A对虚拟链路lij进行映射;
F,判断所述链路可用度最大的虚拟链路lij是否为虚拟链路中的最后一个,如果是,执行步骤H,否则将下一个虚拟链路作为链路可用度最大的虚拟链路lij,返回步骤A;
H,将可用物理网络节点集合中的物理节点映射到虚拟节点ni;
I,将跳数最少且满足时延要求的未被映射的物理节点映射为控制器节点。
为达到上述目的,本发明实施例还公开了一种虚拟网络映射装置,所述装置包括:
候选物理节点聚合单元,用于当一个虚拟网络请求到达时,根据所述虚拟网络中每个虚拟节点nV所对应的候选物理节点范围,聚合每个虚拟节点所对应的所有候选物理节点集合nV*;
底层物理网络重构单元,用于根据聚合后的每个虚拟节点所对应的所有候选物理节点集合nV*,将底层物理网络的候选集合节点nV*按照与底层物理网络相同的连接方式进行连接,重构底层物理网络;
可用物理链路集合确定单元,用于确定所述重构后的底层物理网络中的可用物理链路,将每条虚拟链路lij所对应的可用物理链路组成可用物理链路集合
链路可用度计算单元,用于计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度,并分别将其按照链路可用度进行降序排序;
虚拟网络映射单元,用于根据每个排序后的可用物理链路集合和虚拟链路,对所述虚拟网络进行映射。
具体的,所述可用物理链路集合确定单元,包括:
判断子单元,用于依次判断所述重构后的底层物理网络中的每一条物理链路的可用带宽是否满足所述虚拟网络请求、所述每一条物理链路的两个物理节点的可用CPU和可用流条目是否满足所述虚拟网络请求;
可用物理链路确定子单元,用于将上述条件均满足所述虚拟网络请求的物理链路确定为可用物理链路。
具体的,所述链路可用度计算单元中计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度所利用的公式包括:
LC(l)=(1-α)*ln(bw(lin))+α*Number(lout)
其中α为根据虚拟网络的网络规模所确定的权重值,bw(lin)表示该链路的可用带宽,Number(lout)表示该链路的两个节点分别与其他节点连接的链路数目之和,对于物理链路而言,所述其他节点为该物理节点所对应的候选物理节点范围以外的物理节点。
具体的,所述虚拟网络映射单元,包括:
链路映射子单元,用于对链路可用度最大的虚拟链路lij进行映射,将虚拟链路lij所对应的可用物理链路集合中链路可用度最大的物理链路luv映射到虚拟链路lij,将该物理链路luv的一个物理节点nu加入到对应的可用物理节点集合中、另一个物理节点nv加入到对应的可用物理节点集合中;
第一判断子单元,用于分别判断当前的可用物理网络节点集合和中是否存在两个物理节点,如果是,触发第一处理子单元;否则触发第二处理子单元;
所述第一处理子单元,用于找到所述两个物理节点之间的最短路径,同时将新加入的物理节点nu从可用物理网络节点集合中删除,并判断所述最短路径是否满足虚拟链路请求量,如果是触发穿过子单元;否则触发第二处理子单元;
所述穿过子单元,用于将虚拟链路lij在映射时穿过所述从可用物理网络节点集合中删除的物理节点nu;
所述第二处理子单元,用于将所述可用物理链路集合中链路可用度最大的物理链路luv从可用物理链路集合中删除,并选择所述可用物理链路集合中链路可用度次大的物理链路作为链路可用度最大的物理链路luv触发链路映射子单元对虚拟链路lij进行映射;
第二判断子单元,用于判断所述链路可用度最大的虚拟链路lij是否为虚拟链路中的最后一个,如果是,触发节点映射子单元,否则将下一个虚拟链路作为链路可用度最大的虚拟链路lij,触发链路映射子单元;
节点映射子单元,用于将可用物理网络节点集合中的物理节点映射到虚拟节点ni;
控制器节点映射子单元,用于将跳数最少且满足时延要求的未被映射的物理节点映射为控制器节点。
综上所述,本发明实施例所述的一种虚拟网络映射方法及装置,根据虚拟网络中每个虚拟节点所对应的候选物理节点范围,对底层物理网络进行有效化简,进而降低了映射复杂性;优先映射链路可用度最大的虚拟链路,可以有效减少虚拟链路映射平均跳数,减少带宽和流条目的使用量,进而减少映射开销,增加映射收益;同时在完成链路映射和节点映射后,选择跳数最少且满足时延要求的未被映射的物理节点作为控制器节点,确定了控制器节点的位置。可见,本发明实施例所述的方案适用于SDN环境中的虚拟网络映射,能够降低映射开销。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟网络映射方法的流程示意图;
图2中的(a)(b)(c)(d)分别为本发明实施提供的一个具体实施例中虚拟网络请求示意图、底层物理网络示意图、聚合底层物理网络示意图、简化底层物理网络示意图;
图3中的(a)(b)(c)分别为本发明实施例提供的一种虚拟网络映射方法与其他的虚拟网络映射方法在平均跳数、平均开销、和流条目利用率三个方面的对比示意图;
图4为本发明实施例提供的一种虚拟网络映射装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于对本发明实施例所提供的一种虚拟网络映射方法的理解,首先介绍本发明实施例所提供的一种虚拟网络映射方法所基于的原理性内容。具体介绍如下:
底层物理网络用无向加权图来表示,在本发明实施例中使用GS=(NS,ES)表示底层物理网络拓扑,其中NS和ES分别代表物理节点集合和物理链路集合。对于物理节点集合NS=(NSC,NSS),NSC代表所有服务器节点的集合,表示底层物理网络计算资源能力;NSS是支持OpenFlow协议的所有交换机节点的集合,负责转发消息。本发明实施例假设每一个交换机节点NSS都与一个或多个服务器节点相连。为了简化底层物理网络,本发明中统一用NS来代表物理节点集合,不再对物理节点是交换机或是服务器进行区分。每一个物理节点nS(nS∈NS)所带的相关属性包括:物理节点CPU能力、物理节点流条目、物理节点地理位置,其中物理节点CPU能力用c(nS)表示,物理节点流条目用fe(nS)表示,物理节点地理位置用loc(nS)表示。eS(u,v)∈ES代表连接物理节点u和物理节点v之间的物理链路。每一条物理链路的属性包括:链路带宽bw(eS)和传输时延d(en)。PS(s,d)用来表示物理节点s到物理节点d之间的所有物理链路的集合。与底层物理网络相同,虚拟网络GV=(NV,EV)请求也用无向加权图来表示,其中每一个虚拟节点nV(nV∈NV)所带的属性包含其CPU请求c(nV)、流条目请求量fe(nV)和希望映射物理位置范围R。bw(eV)被用来表征虚拟链路eV(eV∈EV)的请求带宽。对于每一个虚拟网络请求,一个最大传输时延D被用来表征链路映射时延要求。
为了在OpenFlow支持的SDN环境中的底层物理网络实现虚拟网络映射方案,本发明需要预先建立虚拟节点映射模型、控制器节点映射模型、虚拟链路映射模型。在明确了节点、控制器与链路映射模型之后,本发明会进一步描述虚拟网络映射的收益与映射开销,进而明确发明目的为最小化虚拟网络映射开销。最后,为了实现最小化开销映射方案,提出整数线性规划来简化映射过程。下面将对这三步进行详细说明。
虚拟节点映射模型、控制器节点映射模型、虚拟链路映射模型具体介绍如下:
节点映射过程可以描述为MN:NV→NS,其中MN(nV)∈NS,nV∈NV。为了确保计算资源的优化配置,应该确保同一个虚拟网络中的不同虚拟节点映射到底层物理网络的不同物理节点上,因此可以得出其中mV为虚拟节点。物理节点nS的负载被定义为该物理节点nS的CPU使用量和流条目占用量的加权和。由于SDN环境中遵守OpenFlow协议的交换机不能主动计算路由方案,它们必须遵守存储在流空间中的由控制器节点转发来的流条目指令,根据这些流条目指令对信息进行转发操作。因此,对于一个物理节点nS来说,其流条目占用量由两部分组成:第一部分是虚拟节点映射到物理节点nS所带来节点转发规则的流条目占用量,第二部分是虚拟链路穿过物理节点nS所引起的流表项的增加部分。更确切的说,如果SN(nS)代表物理节点nS的节点负载压力,上述过程用如下式子表示:
SN(nS)=a.SNC(nS)+b.SNF(nS),
其中,SNC(nS)代表物理节点nS的CPU使用量,SNF(nS)代表物理节点nS的流条目占用量,系数a和b分别代表物理节点nS的CPU使用量和流表目占用量的权重值,代表虚拟节点映射到物理节点nS所带来节点转发规则的流条目占用量,代表虚拟链路lij穿过物理节点nS所引起的流表项的增加部分。
对于一个即将映射到物理节点nS∈NS上的虚拟节点nV∈NV来说,它的CPU请求量c(nV)与流条目请求量fe(nV)都不能超过该物理节点的物理资源的最大可用限度,如果用和分别表示物理节点nS的可用CPU和可用流条目,以上映射过程可以用如下式子表征:
当映射虚拟网络请求时,由于FlowVisor需要每一个虚拟网络都有其自身的控制器节点,因此必须着重解决控制器节点的映射部分。由于控制器节点可以在可用底层物理网络中任意选择,本发明中控制器节点的映射过程用如下公式表征:MN(nC)=nSC,nC为虚拟网络中的控制器节点,nSC为底层物理网络中被选作控制器节点的物理节点。控制器节点与每一个映射的物理节点之间的传输时延用d(nSC,MN(nV))来表示。由于控制器节点与交换机之间的传输时延必须要限制在某个范围内,才能确保转发信息迅速被交换机接受到,因此上述过程可以用如下公式表征:
nSC∩MN(nV)=φ,
d(nSC,MN(nV))≤D。
需要说明的是,为了确保控制器节点能有足够的资源来计算底层转发信息,本发明实施例中假设如果一个节点被选作控制器,那么它不能再被其他节点使用直至该虚拟网络释放为止。
虚拟链路映射过程用ME:EV→PS来表征。对于一条物理链路eS∈ES,其链路负载SL(eS)包括两部分:第一部分为数据传输链路负载SLD(eS),第二部分为控制链路负载SLC(eS)。本发明实施例中采用了OpenFlow协议的带外控制方案,为控制链路预留出了一部分带宽。因此,数据传输链路负载SLD(eS)是由虚拟链路穿过物理链路eS所生成的,控制链路负载SLC(eS)是由控制器节点到交换机之间的路径传输造成的。上述所有过程可以由下面公式表示:
ME:EV→PS,
SL(eS)=SLD(eS)+SLC(eS),
物理链路的可用带宽用来表示,并且虚拟链路lij映射到底层物理链路PS必须要满足其所需带宽小于等于链路PS的可用带宽,上述过程可以用下列公式表示:
bw(lij)≤bw(PS),
值得一提的是,当虚拟链路映射有多跳,虚拟链路lij穿过中间物理节点时,将会占据中间物理节点的流空间。由于这个中间物理节点的流条目使用量很难估计,会根据业务量的改变而实时变化,在本发明中采用一种极端的方式去对此情况进行假设:对于虚拟链路lij来说,fe(i)和fe(j)分别代表虚拟链路lij两端虚拟节点i和j的流条目请求量,若虚拟链路lij穿过中间物理节点,假设中间物理节点上流条目使用量为两端虚拟节点i和j的流条目请求量的最大值。本发明定义物理路径PS上的可用流条目为该路径穿过的所有物理节点上剩余流条目的最小值,当虚拟链路lij映射结果为多跳穿过物理路径PS时,要求虚拟链路lij所需流条目使用量小于等于该物理路径上剩余流条目数目。上述过程可用下面式子进行表达:
fe(lij)=max(fe(i),fe(j)),
fe(lij)≤fe(PS),
在本发明中,我们的目标是在使用最小的映射开销的同时,获得更多的映射收益,因此需要定义SDN环境中虚拟网络映射开销与收益公式。与传统虚拟网络映射类似,虚拟网络映射收益Rev(GV)为:
然而,由于SDN环境中的虚拟网络映射与传统虚拟网络映射的不同,SDN环境中的虚拟网络映射在开销方面多了流条目开销,因此本发明定义SDN环境中的虚拟网络映射开销Cost(GV)包含三个部分:第一部分为带宽开销Costbw(GV),第二部分为CPU开销Costc(GV),第三部分为流条目开销Cosfe(GV)。因此,SDN环境中虚拟网络映射开销可以用如下式子进行表示:
Cost(GV)=ε1Costbw(GV)+ε2Costc(GV)+ε3Cosfe(GV),其中ε1,ε2、ε3分别为带宽开销、CPU开销、流条目开销的开销调节系数。
本发明实施例将SDN环境中的虚拟网络映射开销最小定义为一个整数线性规划(ILP)过程。在计算虚拟网络的整体开销时,需要将控制器节点放入虚拟网络请求NV中,新的带有控制节点的虚拟网络请求用新的增广图NV′表示,在NV′中,控制器节点表示为第(N+1)个节点,并且将其与每一个虚拟节点相连接,这些链路为控制链路。由于每个虚拟节点映射的CPU开销和流条目开销是确定的,因此它不是变量,目标函数中不包括这一部分。
首先对以下两个变量进行说明:
为二进制变量,当有流lij∈EV′路由经过物理链路luv∈ES时,该变量定义为1;相反,定义为0。
为二进制变量,当虚拟节点i∈NV′映射到物理节点u∈NS时,该变量定义为1;相反,定义为0。
整数线性规划问题的目标函数为:
对该目标函数的限制条件如下:
1、容量限制:
2、位置限制:
3、连接性限制:
4、变量限制:
对上述公式的相关说明如下:
整数线性规划(ILP)的目标函数包括两部分:第一求和部分和第二求和部分分别指代的是链路映射消耗和流条目映射消耗部分,其中用来计算虚拟链路lij的映射跳数。权重系数αuv和βuv可以用来调节物理链路luv的带宽与流条目负载;
公式(1)为虚拟链路kij对带宽、流条目的限制,公式(2)为虚拟节点i对CPU、流条目的限制;
公式(3)为虚拟节点i要求的映射地理范围,除此以外还需对其最大传输时延进行限制,不能超过其门限值D;
公式(4)对流守恒进行了确保,公式(5)确保了虚拟链路映射不能穿过控制器节点;
公式(6)表示一个虚拟节点只能映射到一个物理节点上,公式(7)确保了这两个变量是二进制变量。
基于上述所介绍原理性内容,下面介绍本发明实施例所提供的一种虚拟网络映射方法。
图1示出了本发明实施例所提供的一种虚拟网络映射方法的流程图。
如图1所示,本发明实施例所提供的一种虚拟网络映射方法可以包括如下步骤:
S101,当一个虚拟网络请求到达时,根据所述虚拟网络中每个虚拟节点nV所对应的候选物理节点范围,聚合每个虚拟节点所对应的所有候选物理节点集合nV*;
在实际应用中,由于在虚拟网络映射过程中,每一个虚拟节点都会有其候选物理节点范围,因此本发明实施例利用这个候选物理节点范围对复杂的底层物理网络进行简化。由于每个虚拟节点nV∈NV都有一个候选物理节点范围R,这个范围代表虚拟节点的地理位置请求范围,而虚拟节点必须映射在此范围中的物理节点上,这个候选物理节点集合用来表示。因此,本发明实施例用一个新的节点nV*来代表这个聚合的物理节点集合以此来简化物理网络。
举例而言,如图2(a)所示的虚拟网络请求示意图中含有三个虚拟节点a、b、c,三条虚拟链路lab、lbc、lac,其中,虚拟节点a的CPU请求量(c(nV))为9、流条目请求量(fe(nV))为20,虚拟节点b的CPU请求量(c(nV))为8、流条目请求量(fe(nV))为40,虚拟节点c的CPU请求量(c(nV))为5、流条目请求量(fe(nV))为60,虚拟链路lab的带宽请求量(bw(eV))为50,虚拟链路lbc的带宽请求量(bw(eV))为30,虚拟链路lac的带宽请求量(bw(eV))为40。对每一个虚拟节点来说,其候选物理节点为图2(b)中对应的虚线框中的物理节点,其中虚拟节点a的候选物理节点集合为a*={A,G,J},虚拟节点b的候选物理节点集合为b*={E,F,H},虚拟节点c的候选物理节点集合为c*={B,C}。
S102,根据聚合后的每个虚拟节点所对应的所有候选物理节点集合nV*,将底层物理网络的候选集合节点nV*按照与底层物理网络相同的连接方式进行连接,重构底层物理网络;
举例而言,如图2(c)所示的聚合底层物理网络示意图中,根据聚合后的每个虚拟节点所对应的所有候选物理节点集合a*={A,G,J}、b*={E,F,H}、c*={B,C},将底层物理网络中的候选集合节点按照与底层物理网络相同的连接方式进行连接,构成一个简单的底层物理网络如图2(c)所示。
S103,确定所述重构后的底层物理网络中的可用物理链路,将每条虚拟链路lij所对应的可用物理链路组成可用物理链路集合
具体的,所述确定所述重构后的底层物理网络中的可用物理链路,包括:
依次判断重构后的底层物理网络中的每一条物理链路的可用带宽是否满足所述虚拟网络请求、所述每一条物理链路的两个物理节点的可用CPU和可用流条目是否满足所述虚拟网络请求;
将上述条件均满足所述虚拟网络请求的物理链路确定为可用物理链路。
举例而言,如图2(b)所示的底层物理网络示意图中,各个物理节点的可用CPU可用流条目部分物理链路的可用带宽如下表所示:
在图2(c)所示的聚合底层物理网络示意图中,确定重构后的底层物理网络中的可用物理链路,具体如下:1号物理链路为lAF,lAF的可用带宽为90,满足虚拟链路lab的带宽要求;物理节点A的可用CPU为20、可用流条目为100,满足虚拟节点a的请求量;物理节点F的可用CPU为25、可用流条目为110,满足虚拟节点b的请求量;因此1号物理链路的链路可用性满足虚拟网络请求,将1号物理链路lAF加入到虚拟链路lab对应的可用物理链路集合中。同样的确定重构后的底层物理网络中的其他物理链路的链路可用性。尽管4号链路lBG是一条a*到c*的直连链路,然而物理节点J的可用CPU不能满足虚拟节点a的请求量,直连链路2号物理链路lFG不能满足虚拟链路lab的带宽需求,直连链路6号物理链路lHC不能满足虚拟链路lbc的带宽需求,因此4号链路、2号链路、6号链路被删掉不予考虑。虽然物理节点D、I不是虚拟节点的备选物理范围内的节点,但是虚拟链路可以穿过中间物理节点D、I实现链路映射。7号链路lCI和8号链路lHI穿过中间物理节点I实现链路映射,然而中间物理节点I的可用流条目为50,不满足虚拟节点c的请求量,因此7号链路和8号链路被删掉不考虑。9号链路lCD满足虚拟链路lbc的请求,10号链路lHD和11号链路lED也都满足lbc的请求,而且中间物理节点D的可用CPU为35、可用流条目为70,满足虚拟请求。因此根据确定重构后的底层物理网络中可用物理网络的结果,将每条虚拟链路所对应的可用物理链路组成可用物理链路集合,得到简化后的底层物理网络如图2(d)所示,其中虚拟链路lab所对应的链路可用性满足虚拟网络请求的物理链路组成可用物理链路集合虚拟链路lbc所对应的链路可用性满足虚拟网络请求的物理链路组成可用物理链路集合虚拟链路lac所对应的链路可用性满足虚拟网络请求的物理链路组成可用物理链路集合
S104,计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度,并分别将其按照链路可用度进行降序排序;
具体的,所述计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度所利用的公式包括:
LC(l)=(1-α)*ln(bw(lin))+α*Number(lout)
其中α为根据虚拟网络的网络规模所确定的权重值,bw(lin)表示该链路的可用带宽,Number(lout)表示该链路的两个节点分别与其他节点连接的链路数目之和,对于物理链路而言,所述其他节点为该物理节点所对应的候选物理节点范围以外的物理节点。如图2(a)所示,虚拟链路lab的Number(lAB)为2(包括虚拟链路lbc,lac)。如图2(b)所示,物理链路lAB的Number(lAB)为2(包括物理链路lAF,lBJ);链路lGC的Number(lGC)为4(包括物理链路lGF,lCH,lCI,lCD)。将链路可用度用上式来度量,这种度量方案可以帮助了解拓扑对链路所造成的影响。
举例而言,如图2(a)所示的虚拟网络示意图中,虚拟链路的lab的链路可用度LC(lab)=0.5*ln(50)+0.5*2=2.96,虚拟链路的lbc的链路可用度LC(lbc)=0.5*ln(30)+0.5*2=2.70,虚拟链路的lac的链路可用度LC(lac)=0.5*ln(40)+0.5*2=2.84。按照链路可用度对这3条虚拟链路进行降序排序后的结果为lab、lac、lbc。
如图2(d)所示的简化底层物理网络示意图中,每条物理链路的链路可用度计算如下:LC(lAF)=0.5*ln(90)+0.5*2=3.250,
LC(lAB)=0.5*ln(80)+0.5*2=3.191,
LC(lGC)=0.5*ln(60)+0.5*4=4.047,
LC(lCD)=0.5*ln(100)+0.5*5=4.803,
LC(lHD)=0.5*ln(70)+0.5*4=4.124,
LC(lDE)=0.5*ln(80)+0.5*2=3.191,
其中根据虚拟网络的网络规模所确定的权重值α=0.5。
在计算出所述6条物理链路的链路可用度后,按照链路可用度分别对每个可用物理链路集合中的物理链路进行降序排序,其中和的排序结果为
S105,根据每个排序后的可用物理链路集合和虚拟链路,对所述虚拟网络进行映射;
具体的,所述根据每个排序后的可用物理链路集合和虚拟链路,对所述虚拟网络进行映射,包括:
S401,对链路可用度最大的虚拟链路lij进行映射,将虚拟链路lij所对应的可用物理链路集合中链路可用度最大的物理链路luv映射到虚拟链路lij,将该物理链路luv的一个物理节点nu加入到对应的可用物理节点集合中、另一个物理节点nv加入到对应的可用物理节点集合中;
S402,分别判断当前的可用物理网络节点集合和中是否存在两个物理节点,如果是,进入S403;否则,进入S405;
S403,找到所述两个物理节点之间的最短路径,同时将新加入的物理节点nu从可用物理网络节点集合中删除,并判断所述最短路径是否满足虚拟链路请求量,如果是进入S404;否则进入S405;
S404,将虚拟链路lij在映射时穿过所述从可用物理网络节点集合中删除的物理节点nu;
S405,将所述可用物理链路集合中链路可用度最大的物理链路luv从可用物理链路集合中删除,并选择所述可用物理链路集合中链路可用度次大的物理链路作为链路可用度最大的物理链路luv进入S401对虚拟链路lij进行映射;
S406,判断所述链路可用度最大的虚拟链路lij是否为虚拟链路中的最后一个,如果是,执行S407,否则将下一个虚拟链路作为链路可用度最大的虚拟链路lij,返回S401;
S407,将可用物理网络节点集合中的物理节点映射到虚拟节点ni;
S408,将跳数最少且满足时延要求的未被映射的物理节点映射为控制器节点。
举例而言,如图2(a)所示的虚拟网络请求和图2(d)所示的简化后的底层物理网络中,根据步骤S104的排序结果,对所述虚拟网络进行映射。
首先映射链路可用度最大的虚拟链路lab,由于虚拟链路lab所对应的链路可用性满足虚拟网络请求的物理链路组成可用物理链路集合中只有一条物理链路lAF,因此将虚拟链路lab映射到物理链路lAF,并将物理链路lAF的一个节点A加入到虚拟节点a对应的可用物理节点集合Sa中,另一个节点F加入到虚拟节点b对应的可用物理节点集合Sb中,即Sa={A},Sb={F}。
再映射链路可用度次大的虚拟链路lac,虚拟链路lac所对应的链路可用性满足虚拟网络请求的物理链路组成可用物理链路集合物理链路lAB和物理链路lCG均可以映射虚拟链路lac,但是物理链路lCG具有更高的链路可用度,因此,虚拟链路lac映射到物理链路lCG上,并将物理链路lCG的一个节点C加入到虚拟节点c对应的可用物理节点集合Sc中,另一个节点G加入到虚拟节点a对应的可用物理节点集合Sa中,即Sa={A,G},Sc={C}。
由于当前的可用物理网络节点集合Sa中存在两个物理节点A,G,因此将新加入的物理节点G从可用物理网络节点集合Sa中删除,并判断这两个物理节点A,G之间的最短路径lAG是否满足虚拟链路lac的请求量。物理链路lAG的可用带宽为70,中间物理节点G的可用CPU为35、可用流条目为70,满足虚拟链路lac的请求量,因此将虚拟链路lac在映射时穿过所述从可用物理网络节点集合中删除的物理节点G,虚拟链路lac映射到物理链路lAG和lGC上,同时Sa={A},Sc={C}。
然后映射虚拟链路lbc,由图2(d)可知,虚拟链路lbc穿过物理节点D,因此虚拟链路lbc映射时可以选择物理链路lDH或者物理链路lDE,但是由于物理链路lDH具有更高的链路可以用度,因此选择物理链路lDH。此时将虚拟链路lbc映射到物理链路lDH和lCD上,并将物理链路lDH和lCD的一个节点H加入到虚拟节点b对应的可用物理节点集合Sb中,另一个节点C加入到虚拟节点c对应的可用物理节点集合Sc中,即Sb={F,H},Sc={C}。
此时,虚拟节点b对应的可用物理节点集合Sb中存在两个物理节点F,H,因此将新加入的物理节点H从可用物理网络节点集合Sb中删除,并判断这两个物理节点F,H之间的最短路径lFH是否满足虚拟链路lbc的请求量。物理链路lFH的可用带宽为20,不满足虚拟链路lac的请求量。
因此,需要将所述物理链路lDH从虚拟链路lbc所对应的链路可用性满足虚拟网络请求的物理链路组成可用物理链路集合中删除,并选择可用物理链路集合中链路可用度次大的物理链路lDE来对虚拟链路lbc进行映射。此时将虚拟链路lbc映射到物理链路lDE和lCD上,并将物理链路lDE和lCD的一个节点E加入到虚拟节点b对应的可用物理节点集合Sb中,另一个节点C加入到虚拟节点c对应的可用物理节点集合Sc中,即Sb={F,E},Sc={C}。
此时,虚拟节点b对应的可用物理节点集合Sb中存在两个物理节点F,E,因此将新加入的物理节点E从可用物理网络节点集合Sb中删除,并判断这两个物理节点F,E之间的最短路径lEF是否满足虚拟链路lbc的请求量。物理链路lEF的可用带宽为40,中间物理节点E的可用CPU为20、可用流条目为150,满足虚拟链路lbc的请求量,因此将虚拟链路lbc在映射时穿过所述从可用物理网络节点集合中删除的物理节点E,虚拟链路lbc映射到物理链路lEF、lDE和lCD上,同时Sb={F},Sc={C}。
所述虚拟链路全部映射完毕后,虚拟节点映射为:将可用物理网络节点集合Sa中的物理节点A映射到虚拟节点a,可用物理网络节点集合Sb中的物理节点F映射到虚拟节点b,可用物理网络节点集合Sc中的物理节点C映射到虚拟节点c。
应用本发明实施例,根据虚拟网络中每个虚拟节点所对应的候选物理节点范围,对底层物理网络进行有效化简,进而降低了映射复杂性;优先映射链路可用度最大的虚拟链路,可以有效减少虚拟链路映射平均跳数,减少带宽和流条目的使用量,进而减少映射开销,增加映射收益;同时在完成链路映射和节点映射后,选择跳数最少且满足时延要求的未被映射的物理节点作为控制器节点,确定了控制器节点的位置。可见,本发明实施例所述的方案适用于SDN环境中的虚拟网络映射,能够降低映射开销。
在本发明的一个具体实施例中,利用GT-ITM工具生成底层物理网络拓扑和虚拟网络请求拓扑。虚拟网络到达率为4到8个每100时间间隔,随机生成2000个虚拟网络请求,每个虚拟网络请求中虚拟节点数目服从[2,9]的均匀分布,虚拟节点间以50%的概率连接,此外物理节点CPU和物理链路带宽分别服从[1,10]和[20,50]的均匀分布。
本发明实施例在不同的网络规模下,将本发明所述的链路优先的虚拟网络映射方法(LF-OVNE)与基于时延最小的虚拟网络映射方法(D-ViNE-SP)、基于负载均衡的虚拟网络映射方法(R-ViNE-SP)、基于多商品流链路映射和贪婪算法节点映射的虚拟网络映射方法(G-MCF)、基于最短路径链路映射和贪婪算法节点映射的虚拟网络映射方法(G-SP)从平均跳数、平均开销和流条目利用率三个方面进行对比。如图3所示,图3中的(a)(b)(c)分别为本发明实施例提供的一种虚拟网络映射方法与其他的虚拟网络映射方法在平均跳数、平均开销、流条目利用率三个方面的对比示意图,横轴均为虚拟网络达到率。由图3中可知,本发明所提供的一种虚拟网络映射方法,在平均跳数、平均开销两个方面有较大改善。
相应于上述方法实施例,本发明实施例还提供了一种虚拟网络映射装置,图4为本发明实施例提供的一种虚拟网络映射装置的结构示意图,如图4所示,所述装置可以包括:
候选物理节点聚合单元401,用于当一个虚拟网络请求到达时,根据所述虚拟网络中每个虚拟节点nV所对应的候选物理节点范围,聚合每个虚拟节点所对应的所有候选物理节点集合nV*;
底层物理网络重构单元402,用于根据聚合后的每个虚拟节点所对应的所有候选物理节点集合nV*,将底层物理网络的候选集合节点nV*按照与底层物理网络相同的连接方式进行连接,重构底层物理网络;
可用物理链路集合确定单元403,用于确定所述重构后的底层物理网络中的可用物理链路,将每条虚拟链路lij所对应的可用物理链路组成可用物理链路集合
链路可用度计算单元404,用于计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度,并分别将其按照链路可用度进行降序排序;
虚拟网络映射单元405,用于根据每个排序后的可用物理链路集合和虚拟链路,对所述虚拟网络进行映射。
应用本发明实施例,根据虚拟网络中每个虚拟节点所对应的候选物理节点范围,对底层物理网络进行有效化简,进而降低了映射复杂性;优先映射链路可用度最大的虚拟链路,可以有效减少虚拟链路映射平均跳数,减少带宽和流条目的使用量,进而减少映射开销,增加映射收益;同时在完成链路映射和节点映射后,选择跳数最少且满足时延要求的未被映射的物理节点作为控制器节点,确定了控制器节点的位置。可见,本发明实施例所述的方案适用于SDN环境中的虚拟网络映射,能够降低映射开销。
具体的,所述可用物理链路集合确定单元403,可以包括:
判断子单元(图4中未示出),用于依次判断所述重构后的底层物理网络中的每一条物理链路的可用带宽是否满足所述虚拟网络请求、所述每一条物理链路的两个物理节点的可用CPU和可用流条目是否满足所述虚拟网络请求;
可用物理链路确定子单元(图4中未示出),用于将上述条件均满足所述虚拟网络请求的物理链路确定为可用物理链路。
具体的,所述链路可用度计算单元404中计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度所利用的公式包括:
LC(l)=(1-α)*ln(bw(lin))+α*Number(lout)
其中α为根据虚拟网络的网络规模所确定的权重值,bw(lin)表示该链路的可用带宽,Number(lout)表示该链路的两个节点分别与其他节点连接的链路数目之和,对于物理链路而言,所述其他节点为该物理节点所对应的候选物理节点范围以外的物理节点。
具体的,所述虚拟网络映射单元405,可以包括:
链路映射子单元(图4中未示出),用于对链路可用度最大的虚拟链路lij进行映射,将虚拟链路lij所对应的可用物理链路集合中链路可用度最大的物理链路luv映射到虚拟链路lij,将该物理链路luv的一个物理节点nu加入到对应的可用物理节点集合中、另一个物理节点nv加入到对应的可用物理节点集合中;
第一判断子单元(图4中未示出),用于分别判断当前的可用物理网络节点集合和中是否存在两个物理节点,如果是,触发第一处理子单元;否则触发第二处理子单元;
所述第一处理子单元(图4中未示出),用于找到所述两个物理节点之间的最短路径,同时将新加入的物理节点nu从可用物理网络节点集合中删除,并判断所述最短路径是否满足虚拟链路请求量,如果是触发穿过子单元;否则触发第二处理子单元;
所述穿过子单元(图4中未示出),用于将虚拟链路lij在映射时穿过所述从可用物理网络节点集合中删除的物理节点nu;
所述第二处理子单元(图4中未示出),用于将所述可用物理链路集合中链路可用度最大的物理链路luv从可用物理链路集合中删除,并选择所述可用物理链路集合中链路可用度次大的物理链路作为链路可用度最大的物理链路luv触发链路映射子单元对虚拟链路lij进行映射;
第二判断子单元(图4中未示出),用于判断所述链路可用度最大的虚拟链路lij是否为虚拟链路中的最后一个,如果是,触发节点映射子单元,否则将下一个虚拟链路作为链路可用度最大的虚拟链路lij,触发链路映射子单元;
节点映射子单元(图4中未示出),用于将可用物理网络节点集合中的物理节点映射到虚拟节点ni;
控制器节点映射子单元(图4中未示出),用于将跳数最少且满足时延要求的未被映射的物理节点映射为控制器节点。
对于装置实施例而言,由于其基本方法相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种虚拟网络映射方法,其特征在于,所述方法包括步骤:
当一个虚拟网络请求到达时,根据所述虚拟网络中每个虚拟节点nV所对应的候选物理节点范围,聚合每个虚拟节点所对应的所有候选物理节点集合nV*;
根据聚合后的每个虚拟节点所对应的所有候选物理节点集合nV*,将nV*作为底层物理网络的候选集合节点,按照与底层物理网络相同的连接方式进行连接,重构底层物理网络;
确定所述重构后的底层物理网络中的可用物理链路,将每条虚拟链路lij所对应的可用物理链路组成可用物理链路集合
计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度,并分别将其按照链路可用度进行降序排序;
根据每个排序后的虚拟链路,以及对物理链路排序后的每个可用物理链路集合对所述虚拟网络进行映射。
2.根据权利要求1所述的方法,其特征在于,所述确定所述重构后的底层物理网络中的可用物理链路,包括:
依次判断所述重构后的底层物理网络中的每一条物理链路的可用带宽是否满足所述虚拟网络请求、所述每一条物理链路的两个物理节点的可用CPU和可用流条目是否满足所述虚拟网络请求;
将上述条件均满足所述虚拟网络请求的物理链路确定为可用物理链路。
3.根据权利要求1所述的方法,其特征在于,所述计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度所利用的公式包括:
LC(l)=(1-α)*ln(bw(lin))+α*Number(lout)
其中α为根据虚拟网络的网络规模所确定的权重值,lin表示该链路的可用带宽,Number(lout)表示该链路的两个节点分别与其他节点连接的链路数目之和,对于物理链路而言,所述其他节点为该物理节点所对应的候选物理节点范围以外的物理节点。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据每个排序后的虚拟链路,以及对物理链路排序后的每个可用物理链路集合对所述虚拟网络进行映射,包括:
A,对链路可用度最大的虚拟链路lij进行映射,将虚拟链路lij所对应的可用物理链路集合中链路可用度最大的物理链路luv分配映射到虚拟链路lij,将该物理链路luv的一个物理节点nu加入到对应的可用物理节点集合中、另一个物理节点nv加入到对应的可用物理节点集合中;
B,分别判断当前的可用物理网络节点集合和中是否存在两个物理节点,如果是,进入步骤C;否则,进入步骤E;
C,找到所述两个物理节点之间的最短路径,同时将新加入的物理节点nu从可用物理网络节点集合中删除,并判断所述最短路径是否满足虚拟链路请求量,如果是进入步骤D;否则进入步骤E;
D,将虚拟链路lij在映射时穿过所述从可用物理网络节点集合中删除的物理节点nu;
E,将所述可用物理链路集合中链路可用度最大的物理链路luv从可用物理链路集合中删除,并选择所述可用物理链路集合中链路可用度次大的物理链路作为链路可用度最大的物理链路luv返回步骤A对虚拟链路lij进行映射;
F,判断所述链路可用度最大的虚拟链路lij是否为虚拟链路中的最后一个,如果是,执行步骤H,否则将下一个虚拟链路作为链路可用度最大的虚拟链路lij,返回步骤A;
H,将可用物理网络节点集合中的物理节点映射到虚拟节点ni;
I,将跳数最少且满足时延要求的未被映射的物理节点映射为控制器节点。
5.一种虚拟网络映射装置,其特征在于,所述装置包括:
候选物理节点聚合单元,用于当一个虚拟网络请求到达时,根据所述虚拟网络中每个虚拟节点nV所对应的候选物理节点范围,聚合每个虚拟节点所对应的所有候选物理节点集合nV*;
底层物理网络重构单元,用于根据聚合后的每个虚拟节点所对应的所有候选物理节点集合nV*,将nV*作为底层物理网络的候选集合节点,按照与底层物理网络相同的连接方式进行连接,重构底层物理网络;
可用物理链路集合确定单元,用于确定所述重构后的底层物理网络中的可用物理链路,将每条虚拟链路lij所对应的可用物理链路组成可用物理链路集合
链路可用度计算单元,用于计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度,并分别将其按照链路可用度进行降序排序;
虚拟网络映射单元,用于根据每个排序后的虚拟链路,以及对物理链路排序后的每个可用物理链路集合对所述虚拟网络进行映射。
6.根据权利要求5所述的装置,其特征在于,所述可用物理链路集合确定单元,包括:
判断子单元,用于依次判断所述重构后的底层物理网络中的每一条物理链路的可用带宽是否满足所述虚拟网络请求、所述每一条物理链路的两个物理节点的可用CPU和可用流条目是否满足所述虚拟网络请求;
可用物理链路确定子单元,用于将上述条件均满足所述虚拟网络请求的物理链路确定为可用物理链路。
7.根据权利要求5所述的装置,其特征在于,所述链路可用度计算单元中计算所述每个可用物理链路集合中每一条物理链路的链路可用度以及所述虚拟网络中每一条虚拟链路的链路可用度所利用的公式包括:
LC(l)=(1-α)*ln(bw(lin))+α*Number(lout)
其中α为根据虚拟网络的网络规模所确定的权重值,bw(lin)表示该链路的可用带宽,Number(lout)表示该链路的两个节点分别与其他节点连接的链路数目之和,对于物理链路而言,所述其他节点为该物理节点所对应的候选物理节点范围以外的物理节点。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述虚拟网络映射单元,包括:
链路映射子单元,用于对链路可用度最大的虚拟链路lij进行映射,将虚拟链路lij所对应的可用物理链路集合中链路可用度最大的物理链路luv映射到虚拟链路lij,将该物理链路luv的一个物理节点nu加入到对应的可用物理节点集合中、另一个物理节点nv加入到对应的可用物理节点集合中;
第一判断子单元,用于分别判断当前的可用物理网络节点集合和中是否存在两个物理节点,如果是,触发第一处理子单元;否则触发第二处理子单元;
所述第一处理子单元,用于找到所述两个物理节点之间的最短路径,同时将新加入的物理节点nu从可用物理网络节点集合中删除,并判断所述最短路径是否满足虚拟链路请求量,如果是触发穿过子单元;否则触发第二处理子单元;
所述穿过子单元,用于将虚拟链路lij在映射时穿过所述从可用物理网络节点集合中删除的物理节点nu;
所述第二处理子单元,用于将所述可用物理链路集合中链路可用度最大的物理链路luv从可用物理链路集合中删除,并选择所述可用物理链路集合中链路可用度次大的物理链路作为链路可用度最大的物理链路luv触发链路映射子单元对虚拟链路lij进行映射;
第二判断子单元,用于判断所述链路可用度最大的虚拟链路lij是否为虚拟链路中的最后一个,如果是,触发节点映射子单元,否则将下一个虚拟链路作为链路可用度最大的虚拟链路lij,触发链路映射子单元;
节点映射子单元,用于将可用物理网络节点集合中的物理节点映射到虚拟节点ni;
控制器节点映射子单元,用于将跳数最少且满足时延要求的未被映射的物理节点映射为控制器节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610151331.4A CN105681153B (zh) | 2016-03-16 | 2016-03-16 | 一种虚拟网络映射方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610151331.4A CN105681153B (zh) | 2016-03-16 | 2016-03-16 | 一种虚拟网络映射方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681153A CN105681153A (zh) | 2016-06-15 |
CN105681153B true CN105681153B (zh) | 2019-07-05 |
Family
ID=56215085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610151331.4A Active CN105681153B (zh) | 2016-03-16 | 2016-03-16 | 一种虚拟网络映射方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681153B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209415A (zh) * | 2016-06-21 | 2016-12-07 | 北京邮电大学 | 一种虚拟网络映射方法及*** |
CN108243044B (zh) * | 2016-12-27 | 2021-08-24 | 山东财兜信息科技有限公司 | 业务部署的方法与装置 |
CN106789289B (zh) * | 2016-12-28 | 2020-01-21 | ***通信集团江苏有限公司 | 用于虚拟网络映射的方法和设备 |
CN107666448B (zh) * | 2017-09-30 | 2020-09-15 | 重庆邮电大学 | 一种时延感知下的5g虚拟接入网映射方法 |
CN108111419B (zh) * | 2017-12-28 | 2021-02-02 | 迈普通信技术股份有限公司 | 一种路径选择的方法及装置 |
CN108156041B (zh) * | 2018-01-30 | 2021-08-13 | 重庆邮电大学 | 一种基于安全性感知的差异化虚拟光网络映射方法 |
CN108667657B (zh) * | 2018-04-28 | 2020-08-18 | 西安交通大学 | 一种面向sdn的基于局部特征信息的虚拟网络映射方法 |
CN108989122B (zh) * | 2018-08-07 | 2019-04-16 | 北京邮电大学 | 虚拟网络请求映射方法、装置及实现装置 |
CN109347657B (zh) * | 2018-09-12 | 2022-08-30 | 石家庄铁道大学 | Sdn模式下支撑科技业务的虚拟数据域构建方法 |
US11301295B1 (en) * | 2019-05-23 | 2022-04-12 | Xilinx, Inc. | Implementing an application specified as a data flow graph in an array of data processing engines |
CN112242951B (zh) * | 2020-10-16 | 2022-03-15 | 中国联合网络通信集团有限公司 | 一种虚拟网映射方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006329A (zh) * | 2010-11-30 | 2011-04-06 | 中国人民解放军信息工程大学 | 链路数据传输方法 |
CN102204187A (zh) * | 2011-04-28 | 2011-09-28 | 华为技术有限公司 | 一种虚拟网络迁移方法、相关装置以及*** |
CN103812748A (zh) * | 2014-01-20 | 2014-05-21 | 北京邮电大学 | 一种可生存虚拟网络的映射方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7646924B2 (en) * | 2004-08-09 | 2010-01-12 | David Leigh Donoho | Method and apparatus for compressed sensing |
-
2016
- 2016-03-16 CN CN201610151331.4A patent/CN105681153B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006329A (zh) * | 2010-11-30 | 2011-04-06 | 中国人民解放军信息工程大学 | 链路数据传输方法 |
CN102204187A (zh) * | 2011-04-28 | 2011-09-28 | 华为技术有限公司 | 一种虚拟网络迁移方法、相关装置以及*** |
CN103812748A (zh) * | 2014-01-20 | 2014-05-21 | 北京邮电大学 | 一种可生存虚拟网络的映射方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105681153A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681153B (zh) | 一种虚拟网络映射方法及装置 | |
CN112738820B (zh) | 一种服务功能链的动态部署方法、装置及计算机设备 | |
CN107566194B (zh) | 一种实现跨域虚拟网络映射的方法 | |
CN106961343B (zh) | 一种虚拟映射方法及装置 | |
CN109150627A (zh) | 基于动态资源需求及拓扑感知的虚拟网络映射的构建方法 | |
CN104683488B (zh) | 流式计算***及其调度方法和装置 | |
CN105515987B (zh) | 一种基于sdn架构面向虚拟光网络的映射方法 | |
AU2015204758A1 (en) | System and method for zoning in software defined networks | |
JP2018508137A (ja) | Sdtがnfv及びsdnと連携するためのシステム及び方法 | |
CN104917659B (zh) | 一种基于虚拟网络连接特性的虚拟网络映射方法 | |
CN107276794B (zh) | 一种软件定义网络中交换机迁移算法 | |
CN107276664B (zh) | 基于门限式负载的混合虚网映射方法 | |
CN109005108A (zh) | 一种空间网络路由规划方法及*** | |
CN107979545A (zh) | 一种基于节点属性的虚拟网络映射方法 | |
CN110402567A (zh) | 信息为中心的网络中基于中心性的缓存 | |
CN112543151B (zh) | Sdn控制器部署方法、装置、电子设备和存储介质 | |
CN109347657B (zh) | Sdn模式下支撑科技业务的虚拟数据域构建方法 | |
CN109951391A (zh) | 一种基于多QoS约束的网络路径快速计算方法 | |
CN104022951A (zh) | 一种网络服务路径的建立方法及*** | |
CN109547872A (zh) | 一种网络规划方法及装置 | |
CN113300861B (zh) | 网络切片配置方法、装置以及存储介质 | |
CN105493602B (zh) | 用于虚拟网络中的无线电协调的动态集群 | |
CN109617805A (zh) | 链路动态属性的获取方法、装置及路径选择方法、装置 | |
CN105049315B (zh) | 一种基于虚拟网络分割的虚拟网络改进映射方法 | |
Shefu et al. | Fruit fly optimization algorithm for network-aware web service composition in the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |