一种虚拟网络拓扑构建方法及装置的制造方法

文档序号:10597028阅读:230来源:国知局
一种虚拟网络拓扑构建方法及装置的制造方法
【专利摘要】本发明实施例公开了一种虚拟网络拓扑构建方法及装置,方法包括:确定目标节点,并将当前排在末尾的节点确定为第一节点,判断以目标节点为圆心,半径为第一阈值的第一范围内,是否存在除以目标节点为圆心,半径为第二阈值的第二范围内包含的节点之外的其他节点;如果是,针对两个节点,判断两个节点之间是否已存在链路;如果否,根据成本收益值和预设第三阈值,判断是否需要在两个节点之间增加链路;如果是,增加链路;判断当前目标节点是否为第一节点;如果是,判断第一阈值是否小于目标虚拟网络的直径;如果小于,增加第二阈值的值,重复执行确定目标节点的步骤。应用本发明实施例,降低了网络平均路径长度,进而减少了网络时延。
【专利说明】
一种虚拟网络拓扑构建方法及装置
技术领域
[0001] 本发明涉及通信网络技术领域,特别涉及一种虚拟网络拓扑构建方法及装置。
【背景技术】
[0002] 近年来,信息通信技术领域的新兴业务蓬勃发展,如移动,社交,云和大数据等,对 计算机网络的带宽、接入以及动态管理性提出了更高的需求。随着新兴业务的不断增加,基 于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协 议)架构的传统网络变得臃肿不堪,暴露出越来越多的问题。一方面,网络高度复杂化导致 了网络的僵化,每一个协议只针对特定的问题,且协议之间相互隔离,无法灵活地、按需地 响应用户需求,与业务的逐渐差异化、个性化产生矛盾。另一方面,传统网络对设备厂商具 有高度依赖性,开放式网络接口和相关标准的缺失束缚了网络量体裁衣式的服务能力。在 这种环境下,虚拟化技术及相关标准得到了快速发展。网络虚拟化有助于解决传统网络面 对的问题,引发网络架构的改变,被视为未来网络中颇具前景的技术。
[0003] 通过对基础设施网络的节点和链路资源进行虚拟化,多个带有不同特征的虚拟网 络(virtual networks,VN)能够共同运行于同一底层网络(substrate network, SN)之上, 共享CPU能力、存储空间、网络带宽等资源。在基于网络虚拟化的未来网络架构中,当前的网 络服务提供商被分成两个解親合的角色:基础设施提供商(the Inf rastructure Providers,InPs),负责部署和维护网络设备;服务提供商(the Service Providers,SPs), 负责创建虚拟网络并提供端到端的网络服务。因此,通过网络虚拟化,网络的数据转发平面 和控制平面被分离,共存于同一物理设施之上的不同虚拟网络分别为用户提供服务,满足 未来网络的灵活性和动态性要求。
[0004]现有的虚拟网络拓扑构建方法,会造成VN具有较大的平均路径长度(Average Path Length,简称APL),APL定义为网络中所有节点对之间距离的平均最短距离,较大APL 的虚拟网络具有较大的网络时延,难以支持对时间敏感的业务和应用。

【发明内容】

[0005] 本发明实施例的目的在于提供一种虚拟网络拓扑构建方法及装置,以降低APL,减 少网络时延。
[0006] 为达到上述目的,本发明实施例公开了一种虚拟网络拓扑构建方法,所述方法包 括:
[0007] 针对目标虚拟网络,根据所述目标虚拟网络中当前包含的每个节点度的大小,对 所有节点进行排序,将除已确定为目标节点之外的其他节点中排序最靠前的节点,确定为 目标节点,并将当前排序排在末尾的节点确定为第一节点;
[0008] 依次针对每一目标节点,判断以所述目标节点为圆心,半径为第一阈值的第一范 围内,是否存在除以所述目标节点为圆心,半径为第二阈值的第二范围内包含的节点之外 的其他节点,其中,所述第一阈值为所述第二阈值与预设值之和;
[0009] 如果是,针对两个节点,判断所述两个节点之间是否已存在链路,其中,所述两个 节点中的一个节点为目标节点;所述两个节点中的另一个节点为所述其他节点中,未与所 述目标节点判断是否存在链路的节点;
[0010] 如果不存在,根据成本收益值和预设第三阈值,判断是否需要在所述两个节点之 间增加链路;
[0011] 如果需要,增加所述两个节点之间的链路,以构建虚拟网络拓扑;判断所述其他节 点中是否存在未与所述目标节点判断是否存在链路的节点;如果是,继续执行所述针对两 个节点,判断所述两个节点之间是否已存在链路的操作步骤;
[0012] 如果不需要,判断所述其他节点中是否存在未与所述目标节点判断是否存在链路 的节点;如果是,继续执行所述针对两个节点,判断所述两个节点之间是否已存在链路的操 作步骤;
[0013] 判断当前目标节点是否为所述第一节点;
[0014]如果是,判断所述第一阈值是否小于所述目标虚拟网络的直径;
[0015] 如果小于,增加所述第二阈值的值,继续执行所述针对目标虚拟网络,根据所述目 标虚拟网络中当前包含的每个节点度的大小,对所有节点进行排序,将除已确定为目标节 点之外的其他节点中排序最靠前的节点,确定为目标节点,并将当前排序排在末尾的节点 确定为第一节点。
[0016] 较佳的,所述针对两个节点,判断所述两个节点之间是否已存在链路,包括:
[0017] 根据所述其他节点包含的每一节点的度以及所述目标虚拟网络中所有节点的度, 确定所述其他节点包含的节点参与判断两个节点之间是否已存在链路的先后顺序;
[0018] 根据所述先后顺序,判断所述两个节点之间是否已存在链路。
[0019] 较佳的,根据成本收益值和预设第三阈值,判断是否需要在所述两个节点之间增 加链路,包括:
[0020] 判断所述成本收益值是否不大于所述预设阈值,如果是,表示需要在所述两个节 点之间增加链路。
[0021 ]较佳的,所述成本收益值的计算公式为:
[0023] 其中Zij为成本收益值,Cij为节点i和节点j之间增加一条链路的成本,aij = l表示 节点i和节点j之间存在初始连接,L为增加链路前所述目标虚拟网络的平均路径长度,1/为 增加链路后所述目标虚拟网络的平均路径长度,T max为所述目标虚拟网络的原始平均路径 长度。
[0024] 较佳的,所述根据所述第二范围内包含的任一节点的度以及所述目标虚拟网络中 所有节点的度,确定所述第二范围内包含的节点参与判断两个节点之间是否已存在链路的 先后顺序,包括:
[0025] 根据择优连接公式,计算所述其他节点中包含的节点排在靠前位置的概率,其中, 所述择优连接公式为:
[0026] 4k:) = l<ijY.m
[0027] 其中,Jr (kj)为节点j排在靠前位置的概率,kj为节点j的度,21?为当前所述目标虚 m. 拟网络中所有节点的度的和,节点j为所述其他节点内包含的任一节点;
[0028] 根据计算得到的31(h)对所述其他节点包含的节点进行排序,根据得到的所述其 他节点包含的节点的排列顺序确定所述其他节点内包含的节点参与判断两个节点之间是 否已存在链路的先后顺序。
[0029]较佳的,所述第二阈值的增加值等于所述预设值。
[0030] 为达到上述目的,本发明实施例公开了一种虚拟网络拓扑构建装置,所述装置包 括:
[0031] 确定模块,用于针对目标虚拟网络,根据所述目标虚拟网络中当前包含的每个节 点度的大小,对所有节点进行排序,将除已确定为目标节点之外的其他节点中排序最靠前 的节点,确定为目标节点,并将当前排序排在末尾的节点确定为第一节点;
[0032] 第一判断模块,用于依次针对每一目标节点,判断以所述目标节点为圆心,半径为 第一阈值的第一范围内,是否存在除以所述目标节点为圆心,半径为第二阈值的第二范围 内包含的节点之外的其他节点,其中,所述第一阈值为所述第二阈值与预设值之和;
[0033]第二判断模块,用于在所述第一判断模块的判断结果为是的情况下,针对两个节 点,判断所述两个节点之间是否已存在链路,其中,所述两个节点中的一个节点为目标节 点;所述两个节点中的另一个节点为所述其他节点中,未与所述目标节点判断是否存在链 路的节点;
[0034] 第三判断模块,用于在所述第二判断模块的判断结果为不存在的情况下,根据成 本收益值和预设第三阈值,判断是否需要在所述两个节点之间增加链路;
[0035] 第一增加模块,用于在第三判断模块的判断结果为需要的情况下,增加所述两个 节点之间的链路,以构建虚拟网络拓扑;
[0036] 第四判断模块,用于在所述第一增加模块之后,判断所述其他节点中是否存在未 与所述目标节点判断是否存在链路的节点;
[0037] 所述第四判断模块,还用于在第三判断模块的判断结果为不需要的情况下,判断 所述其他节点中是否存在未与所述目标节点判断是否存在链路的节点;
[0038] 所述第四判断模块,还用于在自身的判断结果为是的情况下,继续执行所述第二 判断模块;
[0039] 第五判断模块,用于在所述第四判断模块的判断结果为否的情况下,判断当前目 标节点是否为所述第一节点;
[0040] 第六判断模块,用于在第五判断模块的判断结果为是的情况下,判断所述第一阈 值是否小于所述目标虚拟网络的直径;
[0041]第二增加模块,用于在第六判断模块的判断结果为否的情况下,增加所述第二阈 值的值,继续执行确定模块。
[0042]较佳的,所述第二判断模块,包括:
[0043]计算子模块,用于根据所述其他节点包含的每一节点的度以及所述目标虚拟网络 中所有节点的度,确定所述其他节点包含的节点参与判断两个节点之间是否已存在链路的 先后顺序;
[0044]判断子模块,用于根据所述先后顺序,判断所述两个节点之间是否已存在链路。 [0045]较佳的,所述第三判断模块用于:
[0046] 判断所述成本收益值是否不大于所述预设阈值,如果是,表示需要在所述两个节 点之间增加链路。
[0047] 较佳的,所述成本收益值的计算公式为:
[0049] 其中Zij为成本收益值,Cij为节点i和节点j之间增加一条链路的成本,aij = l表示 节点i和节点j之间存在初始连接,L为增加链路前所述目标虚拟网络的平均路径长度,1/为 增加链路后所述目标虚拟网络的平均路径长度,T max为所述目标虚拟网络的原始平均路径 长度。
[0050] 较佳的,所述判断子模块具体用于:
[0051] 根据择优连接公式,计算所述其他节点中包含的节点排在靠前位置的概率,其中, 所述择优连接公式为:
[0052] ^(ki)=kij'Lm
[0053] 其中,Ji(kj)为节点j排在靠前位置的概率,kj为节点j的度,为当前所述目标虚 m 拟网络中所有节点的度的和,节点j为所述其他节点内包含的任一节点;
[0054] 根据计算得到的31(h)对所述其他节点包含的节点进行排序,根据得到的所述其 他节点包含的节点的排列顺序确定所述其他节点包含的节点参与判断两个节点之间是否 已存在链路的先后顺序。
[0055] 较佳的,所述第二阈值的增加值等于所述预设值。
[0056] 由上述技术方案可见,本发明实施例提供了一种虚拟网络拓扑构建方法及装置, 方法包括:针对目标虚拟网络,根据所述目标虚拟网络中当前包含的每个节点度的大小,对 所有节点进行排序,将除已确定为目标节点之外的其他节点中排序最靠前的节点,确定为 目标节点,并将当前排序排在末尾的节点确定为第一节点;依次针对每一目标节点,判断以 所述目标节点为圆心,半径为第一阈值的第一范围内,是否存在除以所述目标节点为圆心, 半径为第二阈值的第二范围内包含的节点之外的其他节点,其中,所述第一阈值为所述第 二阈值与预设值之和;如果是,针对两个节点,判断所述两个节点之间是否已存在链路,其 中,所述两个节点中的一个节点为目标节点;所述两个节点中的另一个节点为所述其他节 点中,未与所述目标节点判断是否存在链路的节点;如果不存在,根据成本收益值和预设第 三阈值,判断是否需要在所述两个节点之间增加链路;如果需要,增加所述两个节点之间的 链路,以构建虚拟网络拓扑;判断所述其他节点中是否存在未与所述目标节点判断是否存 在链路的节点;如果是,继续执行所述针对两个节点,判断所述两个节点之间是否已存在链 路的操作步骤;如果不需要,判断所述其他节点中是否存在未与所述目标节点判断是否存 在链路的节点;如果是,继续执行所述针对两个节点,判断所述两个节点之间是否已存在链 路的操作步骤;判断当前目标节点是否为所述第一节点;如果是,判断所述第一阈值是否小 于所述目标虚拟网络的直径;如果小于,增加所述第二阈值的值,继续执行所述针对目标虚 拟网络,根据所述目标虚拟网络中当前包含的每个节点度的大小,对所有节点进行排序,将 除已确定为目标节点之外的其他节点中排序最靠前的节点,确定为目标节点,并将当前排 序排在末尾的节点确定为第一节点的操作步骤。
[0057]应用本发明实施例,根据成本收益值和预设第三阈值,判断是否需要两个节点之 间增加链路,通过预设第三阈值,有选择的在两个节点之间增加链路,通过增加链路的方法 对目标虚拟网络进行构建,能够降低APL,进而减少了网络时延。
[0058]当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优 点。
【附图说明】
[0059] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0060] 图1为本发明实施例提供的一种虚拟网络拓扑构建方法的流程示意图;
[0061 ]图2A为环形网络拓扑示意图;
[0062] 图2B为一种增加链路后的环形网络拓扑示意图;
[0063] 图2C为另一种增加链路后的环形网络拓扑示意图;
[0064]图3为环形网络中APL随预设第三阈值变化的曲线图;
[0065] 图4为环形网络中APL随目标节点数量变化的曲线图;
[0066] 图5为应用本发明实施所提供的增加链路后的Layer2的网络拓扑示意图;
[0067]图6为Layer2网络中在不同第三阈值情况下APL随增加链路数量变化的曲线图; [0068]图7为本发明实施例提供的一种虚拟网络拓扑构建装置的结构示意图。
【具体实施方式】
[0069]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0070] 为了解决现有技术问题,本发明实施例提供了一种虚拟网络拓扑构建方法及装 置。下面首先对本发明实施例所提供的一种虚拟网络拓扑构建方法进行介绍。
[0071] 图1为本发明实施例提供的一种虚拟网络拓扑构建方法的流程示意图,包括如下 步骤:
[0072] S101:针对目标虚拟网络,根据所述目标虚拟网络中当前包含的每个节点度的大 小,对所有节点进行排序,将除已确定为目标节点之外的其他节点中排序最靠前的节点,确 定为目标节点,并将当前排序排在末尾的节点确定为第一节点。
[0073] 本领域技术人员可以理解的是,在虚拟网络中每个节点均与其他节点相连,与该 节点相连的链路的条数称之为该节点的度,以确定为目标节点的节点不会再次作为目标节 点,所以在确定目标节点的时候需要将已确定为目标节点的节点排除在外。
[0074] 需要说明的是,需要根据目标网络中当前包含的节点中每一个节点的度,对所有 节点进行排序,在确定目标节点时候,需要将已确定为目标节点之外的其他节点中排序最 靠前的节点确定为目标节点,假设,目标虚拟网络中,一共有5个几点,分别为节点A、B、C、D 和E,其中,节点A的度为10,节点B的度为14,节点C的度为8,节点D的度为15,节点E的度为5, 对这5个节点进行排序,节点排序后为:D、B、A、C、E;将节点E确定为第一节点,如果节点D已 经被确定为目标节点,那么再次确定目标节点时,将节点B确定为目标节点。如果5个节点全 部已经被确定为目标节点,则重新根据目标网络中当前包含的节点中每一个节点的度,对 所有节点进行排序。在这5个节点没有全部被确定为目标节点之前,不会将这5个节点根据 节点的度重新进行排序。可以理解的是,可以将节点的排列顺序进行存储,每次确定目标节 点可以调用存储的排列顺序,当将目标虚拟网络中当前的包含的节点依次作为目标节点 后,重新根据目标网络中当前包含的节点中每一个节点的度,对所有节点进行排序,并将之 前存储的排列顺序清除,存储当前的排列顺序。
[0075] 本领域技术人员可以理解的是,对所有节点进行排序,还可以包括:根据择优连接 公式,计算目标虚拟网络中当前包含的节点排在靠前位置的概率,其中,择优连接公式为:
[0076] 疋(欠
[0077] 其中,Ji(kx)为节点x排在靠前位置的概率,kx为节点x的度,为当前目标虚拟网 m 络中所有节点的度的和,节点x为目标虚拟网络中包含的任一节点;
[0078] 根据计算得到的3i(kx)对当前目标虚拟网络中包含的节点进行排序,根据得到的 排列顺序,将除已确定为目标节点之外的其他节点中排序最靠前的节点,确定为目标节点, 并将当前排序排在末尾的节点确定为第一节点。当然,确定目标节点的方法并不仅限于此, 在这里不再进行列举。
[0079] S102:依次针对每一目标节点,判断以所述目标节点为圆心,半径为第一阈值的第 一范围内,是否存在除以所述目标节点为圆心,半径为第二阈值的第二范围内包含的节点 之外的其他节点,其中,所述第一阈值为所述第二阈值与预设值之和。
[0080] 需要说明的是,第一阈值大于第二阈值,其中,第二阈值不小于零,预设值大于零。 本领域技术人员可以理解的是,当第二阈值等于零,说明第二范围内只存在一个节点,就是 目标节点。其他节点在第一范围内,但在第二范围外,假设,当第二范围包含A、B、C、D和E这5 个节点,第一范围包含A、B、C、D、E和F这6个节点,那么,其他节点就是F节点。
[0081]本领域技术人员可以理解的是,因为本发明实施例将依次将除已确定为目标节点 之外的其他节点中节点度最大的节点,确定为目标节点,所以依次针对目标节点进行判断 是否存在其他节点的步骤。
[0082]需要说明的是,在S102判断结果为是情况下的执行S103,在S102判断结果为否的 情况下执行,执行S101。
[0083] S103:针对两个节点,判断所述两个节点之间是否已存在链路,其中,其中,所述两 个节点中的一个节点为目标节点;所述两个节点中的另一个节点为所述其他节点中,未与 所述目标节点判断是否存在链路的节点。
[0084] 具体的,所述针对两个节点,判断所述两个节点之间是否已存在链路,包括:
[0085] 根据所述其他节点包含的每一节点的度以及所述目标虚拟网络中所有节点的度, 确定所述其他节点包含的节点参与判断两个节点之间是否已存在链路的先后顺序;根据所 述先后顺序,判断所述两个节点之间是否已存在链路。
[0086] 具体的,所述根据所述第二范围内包含的任一节点的度以及所述目标虚拟网络中 所有节点的度,确定所述第二范围内包含的节点参与判断两个节点之间是否已存在链路的 先后顺序,包括:
[0087] 根据择优连接公式,计算所述其他节点中包含的节点排在靠前位置的概率,其中, 所述择优连接公式为:
[0088] 7r[k)=kijYjn
[0089] 其中,,Ji(kj)为节点j排在靠前位置的概率,kj为节点j的度,为当前所述目标 m 虚拟网络中所有节点的度的和,节点j为所述其他节点内包含的任一节点;
[0090] 根据计算得到的31(h)对所述其他节点包含的节点进行排序,根据得到的所述其 他节点包含的节点的排列顺序确定所述其他节点内包含的节点参与判断两个节点之间是 否已存在链路的先后顺序。
[0091] 本领域技术人员可以理解的是,当两个节点之间已经存在链路,则不需要在这两 个节点之间增加链路。
[0092] 在实际应用中,可以根据择优连接公式计算出其他内包含的节点的重要度,如果 两个节点的重要度相同,随机选择两个节点中一个节点先参与判断与两个节点之间是否已 存在链路。根据其他节点包含的节点的重要度确定先后顺序,节点的重要度高,即针对该节 点择优选择公式计算出的数值比较大,该节点参与判断判断两个节点之间是否已存在链路 的顺序比较靠前。
[0093] S104:根据成本收益值和预设第三阈值,判断是否需要在所述两个节点之间增加 链路。
[0094]具体的,成本收益值的计算公式为:
[0096] 其中Zij为成本收益值,Cij为节点i和节点j之间增加一条链路的成本,aij = l表示 节点i和节点j之间存在初始连接,L为增加链路前所述目标虚拟网络的平均路径长度,1/为 增加链路后所述目标虚拟网络的平均路径长度,T max为所述目标虚拟网络的原始平均路径 长度。
[0097] 具体的,根据成本收益值和预设第三阈值,判断是否需要在所述两个节点之间增 加链路,包括:
[0098] 判断所述成本收益值是否不大于所述预设阈值,如果是,表示需要在所述两个节 点之间增加链路。
[0099]网络平均路径长度APL的计算公式为:
[0101] 其中,N为目标虚拟网络中目标节点的总数,(^为节点i与节点j之间的最短路径长 度。L与1/均可以采用上述计算公式。
[0102] 需要说明的是,考虑到复杂动态的网络环境,链路的增加需要具备灵活、按需的特 性,基于此,需要根据成本收益值和预设第三阈值,判断是否需要在两个节点之间增加链 路。链路增加的最优化也就是达到成本收益值的最大化,通过设置第三阈值,将链路的增加 控制在合理的范围内。通过判断成本收益值与预设第三阈值的大小,决定是否在两个节点 之间是否增加链路,如果成本收益值小于预设第三阈值,则在两个节点之间增加链路,否 贝1J,不在两个节点之间增加链路。
[0103] S105:增加所述两个节点之间的链路,以构建虚拟网络拓扑。
[0104] 本领域技术人员可以理解的是,本发明实施例所说的增加链路是在目标虚拟网络 的拓扑图中的两个节点之间增加链路,而不是实际上在目标虚拟网络中增加链路,例如在 通信网络中,只是通信网络拓扑图中两个节点之间增加一条连线,而不是在实际通信网络 中,在两个节点之间增加一条光纤。增加链路的过程就是对目标虚拟网络构建的过程。
[0105] S106:判断所述其他节点中是否存在未与所述目标节点判断是否存在链路的节 点。
[0106] 本领域技术人员可以理解的是,其他节点可能有多个,而S104只针对其他节点中 的一个节点进行判断是否已存在链路,还需要判断其他节点中是还存在节点是否需要未与 所述目标节点判断是否存在链路。
[0107] 当判断两个节点之间需要增加链路后,需要从其他节点中选择未与所述目标节点 判断是否存在链路的节点参与判断两个节点之间是否已存在链路;当判断两个节点之间不 需要增加链路后,还需要从其他节点中选择未与所述目标节点判断是否存在链路的节点参 与判断两个节点之间是否已存在链路。需要说明的是,当判断两个节点之间需要增加链路 后,也需要从其他节点中选择未与所述目标节点判断是否存在链路的节点参与判断两个节 点之间是否已存在链路。
[0108] 例如,目标节点为节点A,其他节点分别为节点D和E,当判断节点A需要与节点D之 间增加链路,增加该链路后,需要继续判断节点A与及节点E之间是否已存在链路,如果存 在,判断其他节点中是否存在未与所述目标节点判断是否存在链路的节点,其他节点没有 节点未与所述目标节点判断是否存在链路,继续执行S107,如果节点A和节点E之间不存在 链路,执行104,如果需要增加链路,增加链路后,判断其他节点中是否存在未与所述目标节 点判断是否存在链路的节点,其他节点没有节点未与所述目标节点判断是否存在链路,继 续执行S107。
[0109] S107:判断当前目标节点是否为所述第一节点。
[0110]本领域技术人员可以理解的是,在S106的判断结果为否的情况下,需要判断当前 的目标节点是否为第一节点,如果当前目标节点为第一节点,说明节点的度大于当前目标 节点的度的节点已经作为目标节点,当前目标节点是目标虚拟网络中最后一个作为目标节 点的节点,例如,目标网络中一共有50个节点,那么,节点的度排在前49位的节点已经作为 目标节点。
[0111] S108:判断所述第一阈值是否小于所述目标虚拟网络的直径。
[0112] 本领域技术人员可以理解的是,当第一阈值不小于该层网络的直径,说明第一范 围已经覆盖该层网络所有的节点,此时虚拟网络拓扑的构建已经完成,如果继续增加第二 阈值的值,第一范围覆盖的节点和节点的数量不会改变,如果无休止增加第二阈值的值,将 会造成资源的浪费,因此需要判断所述第一阈值是否小于该目标虚拟网络的直径。在实际 应用中,还可以判断第一阈值是否小于目标虚拟网络的半径,因为在第一阈值大于目标虚 拟网络的半径后,随着第一阈值的增加,几乎没有链路增加。
[0113] S109:增加所述第二阈值的值,继续执行S101。
[0114] 具体的,所述第二阈值的增加值等于所述预设值。
[0115] 本领域技术人员可以理解的是,如果第一阈值小于目标虚拟网络的直径,说明说 明以目标节点为圆心,第一阈值为半径的第一范围还没覆盖目标虚拟网络所有的节点,需 要继续增加第二阈值。第二阈值的增加值等于预设值,预设值可以为一个固定的值,当预设 值为一个固定值时,则预设值不可能为零,预设值还可以为一个数列集,可以为一个等差数 列集,也可以为等比数列集,还可以为由任意整数组成的数列集,这里所说的数列集中的数 值至多有一个数值为零。
[0116] 应用本发明实施例提供的一种虚拟网络拓扑构建方法,增加链路的过程是构建目 标虚拟网络的过程,构建后的目标虚拟网络为无标度网络,无标度网络具有严重的异质性, 其各节点的度具有严重的不均匀分布性:网络中少数节点的度很大,而大多数节点的度很 小,度很大的这部分节点对无标度网络的运行起着主导的作用。从广义上说,无标度网络的 无标度性是描述大量复杂系统整体上严重不均匀分布的一种内在性质。
[0117] 下面通过不同的具体应用场景对本发明实施例进行说明。
[0118] 在本发明提供的一种具体应用场景,目标虚拟网络为环形网络,为了更好的根据 该环形网络对本发明实施例进行说明,将环形网络表示为图2A所示的环形网络拓扑图,是 环形网络的初始拓扑图,图2A所示的环形网络有8个目标节点,每一个目标节点只有相邻的 两个目标节点之间存在链路,使得环形网络具有较大的APL,APL = 2.3。
[0119]将预设第三阈值为0,将0设置为0.7,通过本发明实施例提供的方法,通过重复执 行S101~S106,通过链路的增加,完成对环形网络的构建如图2B所示,在图2B中,虚线表示 新增的链路,完成链路的增加即完成对网络拓扑的构建,环形网络的APL=1.64。
[0120]针对图2A所示的环形网络,将0设置为1,通过本发明实施例提供的方法,通过重复 执行S101~S106,通过链路的增加,完成对环形网络拓扑的构建如图2C所示,在图2C中,需 要表示新增的链路,构建后的环形网络的APL=1.43。
[0121]需要说明的是,在图2B和图2C环形网络拓扑构建的过程中,由于图2A中所有节点 都具有相同大小的度,随机选择一个节点作为目标节点,参与判断两个节点之间是否已存 在链路,之后的目标节点参与判断两个节点之间是否已存在链路的先后顺序和节点的度的 大小相关。通过比较图2B和图2C所示的环形网络的APL,可以得出通过本发明实施所提供的 方法,可以有效降低APL,进而减少网络的时延。
[0122] 通过比较图2B和图2C所示的环形网络的APL,通过预设不同的第三阈值,APL的降 低程度不同。下面通过改变预设第三阈值,研究预设第三阈值与APL之间的关系,预设第三 阈值与APL的曲线图如图3所示,考虑到时延的精确性,图3所示的曲线图是对具有30个目标 节点的环形网络应用本发明实施例提供的一种虚拟网络拓扑构建方法,第三阈值0取值为 0.5至1.5之间。根据图3可知,当0 = 0.5,即花费的成本仅为获得效益的1/2时,同时应用本 发明实施例提供的一种虚拟网络拓扑构建方法并未降低APL,这是因为没有根据实际情况 合理设置0,要求过高;当〇.5〈0〈1时,APL获得了一定程度的降低,降低到4.5以下,且波动较 小,因此,若业务对APL要求较低可选0 = 0.6,这是权衡成本与收益之后的最优选择;当0>1 时,成本比效益更高,但以此为代价也获得了更小的APL。因此,根据上面的分析可知,可以 根据不同的需求和实际情况合理的设置0。
[0123] 为了验证本发明实施例所提供的一种虚拟网络拓扑构建方法对不同规模的网络 适用程度,通过对不同数量的目标节点的环形网络应用本发明实施例所提供的一种虚拟网 络拓扑构建方法,构建前后不同数量的目标节点的环形网络与APL的关系如图4所示。从图4 可以看出,对于同一个环形网络,对比应用本发明实施例所提供的方法前后,该环形网络的 APL,可以发现,应用本发明实施例所提供的方法可以有效降低APL的值,进而减少网络的时 延;对于不同数量的目标节点的环形网络,在没有应用本发明实施例所提供的方法前,随着 目标节点的数量增加,环形网络的APL值呈线性增加,在应用本发明实施例所提供的方法 后,随着目标节点的数量增加,环形网络的APL值大致持平。通过图4可知,本发明实施例所 提供的方法可以应用于不同规模的网络。
[0124] 在本发明提供的另一种具体应用场景,目标虚拟网络为Internet〗网络, Internet2网络是指由美国120多所大学、协会、公司和政府机构共同努力建设的网络,它的 目的是满足高等教育与科研的需要,开发下一代互联网高级网络应用项目,进一步的,目标 虚拟网络为Internet〗网络基础实施拓扑中的Layer2(第二层),因为Internet〗创新平台提 供了Advanced Layer2Service(第二层先进服务),创新者可以在Layer2上使用软件定义网 络(Software-defined Networking,SDN)技术进行软件编程。作为应用网络虚拟化技术的 一个成熟平台,SDN已经逐渐成为研究热点。Layer2的目标节点为38个,本发明实施例提供 的方法对Layer2,预设第三阈值为1,进行增加链路,进而完成对Layer2的构建,构建后的 1^6"的拓扑如图5所示,进行链路增加后的1^6"的八?1由原来的4.13降低到3.18,进而 减少网络的时延。本发明实施例所提供的方法可以应用于Internet〗网络。
[0125] 为了验证本发明实施例所提供的方法在不同的第三阈值的情况下,对Layer2的网 络适用程度,绘制了不同第三阈值下,APL随增加链路数量变化的曲线,如图6所示,横轴表 示增加链路的数量,从图6中可以看出,随着链路的数量的增加,APL慢慢降低。本发明实施 例提供的方法可以灵活地进行网络拓扑构建,可以根据实际情况合理的设置第三阈值,在 不同的第三阈值情况下,呈现了不同的构建结果,在实际应用中,可以根据一个第三阈值构 建的网络拓扑,选择在该构建的网络拓扑上增加或删除链路。由于增加链路具有一定的概 率性,通过增加链路对网络构建出现了一定程度的波动,然而总体的变化趋势是显而易见 的:第三阈值越大,APL降低的越多,进而网络的时延减少也越多,从而网络构建结果越好, 构建后的网络为无标度网络。
[0126] 在本发明提供的另一种具体应用场景,目标虚拟网络为SDN,SDN作为一种新兴的 网络架构,将数据的控制平面和转发平面相分离,具有高度可编程性。在这种新的模式下, 灵活、高效的网络管理能够通过软件编程来实现,为网络虚拟化的问题开辟了一条新的道 路。总的来说,SDN架构可以被描述为"三层平面,两个接口","三个平面"从上到下依次为应 用平面、控制平面和数据平面。其中,路由器和交换机位于数据平面,基于控制平面发送的 信息执行数据包的转发操作;位于控制平面的控制器是其他两个平面之间的桥梁,控制器 向上同步来自数据平面的网络信息,同时将上层的应用请求翻译成数据包转发规则发送给 下层;在应用平面,为了满足用户需求,常见的网络控制应用已经被完成,如防火墙、接入控 制和路由等。"两个接口"是指北向接口和南向接口,根据其相对于控制器的位置来定义方 向。
[0127] 在SDN架构中,数据平面的设备信息通过南向接口被收集,在控制器中形成了整个 网络的全局视图,基于此,我们可以在SDN的控制平面或者应用平面来应用本发明实施例提 供的虚拟网络拓扑构建方法,进而可以进行网络的构建。
[0128] 当一个数据包转发请求到达时,控制器会基于虚拟拓扑(控制平面形成的全局视 图)制定路由策略,并将其转换为数据转发规则下发给交换机,交换机直接根据转发规则来 传送数据。可以将虚拟网络拓扑构建方法与SDN路由算法相结合,实现虚拟网络拓扑的链路 增加,进而实现网络的自动构建,并基于构建完成的网络进行路由计算。具体来说,一条虚 拟链路的实现是通过设定多个交换机的转发规则所完成的。将要添加的虚拟链路通过虚拟 网络拓扑构建方法映射到底层的交换机网络上,向链路中要经过的交换机预先设定流表, 规定这些交换机的转发规则,以实现虚拟链路的建立。在这种情况下,虚拟网络的拓扑被简 化,网络的平均路径长度降低,进而实现了数据包转发的高效控制。
[0129] 另一方面,也可以将本发明实施例提供的一种虚拟网络拓扑构建方法开发成为一 个上层的应用程序。首先通过北向接口获得由控制器提供的网络虚拟拓扑,并将其呈现在 上层的应用界面中,之后用户可以基于自己的需求进行链路的增加,相关指令被发送给控 制器,再由控制器负责具体的虚拟链路实现。
[0130] 与现有的SDN路由算法致力于寻找某个单一最短路径不同,本发明实施例提供的 一种虚拟网络拓扑构建方法从全局的角度进行链路的增加,将本发明实施例提供的一种虚 拟网络拓扑构建方法与SDN路由策略相融合将具有重要的研究价值。
[0131] 应用本发明实施例,根据成本收益值和预设第三阈值,判断是否需要两个节点之 间增加链路,通过预设第三阈值,有选择的在两个节点之间增加链路,通过增加链路的方法 对目标虚拟网络进行构建,能够降低APL,进而减少了网络时延。
[0132] 图7为本发明实施例提供的一种链路增加装置的结构示意图,可以包括确定模块 701、第一判断模块702、第二判断模块703、第三判断模块704、第一增加模块705、第四判断 模块706、第五判断模块707、第六判断模块708和第二增加模块709。
[0133] 确定模块701,用于针对目标虚拟网络,根据所述目标虚拟网络中当前包含的每个 节点度的大小,对所有节点进行排序,将除已确定为目标节点之外的其他节点中排序最靠 前的节点,确定为目标节点,并将当前排序排在末尾的节点确定为第一节点。
[0134] 第一判断模块702,用于依次针对每一目标节点,判断以所述目标节点为圆心,半 径为第一阈值的第一范围内,是否存在除以所述目标节点为圆心,半径为第二阈值的第二 范围内包含的节点之外的其他节点,其中,所述第一阈值为所述第二阈值与预设值之和。
[0135] 第二判断模块703,用于在所述第一判断模块702的判断结果为是的情况下,针对 两个节点,判断所述两个节点之间是否已存在链路,其中,所述两个节点中的一个节点为目 标节点;所述两个节点中的另一个节点为所述其他节点中,未与所述目标节点判断是否存 在链路的节点。
[0136] 所述第二判断模块703,可以包括计算子模块和判断子模块(图7未示出)。
[0137] 计算子模块,用于根据所述其他节点包含的每一节点的度以及所述目标虚拟网络 中所有节点的度,确定所述其他节点包含的节点参与判断两个节点之间是否已存在链路的 先后顺序;
[0138] 判断子模块,用于根据所述先后顺序,判断所述两个节点之间是否已存在链路。
[0139] 具体的,判断子模块可以用于:
[0140] 根据择优连接公式,计算所述其他节点中包含的节点排在靠前位置的概率,其中, 所述择优连接公式为:
[0141] 7r{ki)=kij',lLm / ffl
[0142] 其中,Ji(kj)为节点j排在靠前位置的概率,kj为节点j的度,为当前所述目标虚 m 拟网络中所有节点的度的和,节点j为所述其他节点内包含的任一节点;
[0143] 根据计算得到的<4)对所述其他节点包含的节点进行排序,根据得到的所述其 他节点包含的节点的排列顺序确定所述其他节点包含的节点参与判断两个节点之间是否 已存在链路的先后顺序。
[0144] 第三判断模块704,用于在所述第二判断模块703的判断结果为不存在的情况下, 根据成本收益值和预设第三阈值,判断是否需要在所述两个节点之间增加链路。
[0145] 具体的,第三判断模块可以用于:
[0146] 判断所述成本收益值是否不大于所述预设阈值,如果是,表示需要在所述两个节 点之间增加链路。
[0147] 具体的,成本收益值的计算公式为:
[0149]其中Zij为成本收益值,Cij为节点i和节点j之间增加一条链路的成本,aij = l表示 节点i和节点j之间存在初始连接,L为增加链路前所述目标虚拟网络的平均路径长度,1/为 增加链路后所述目标虚拟网络的平均路径长度,T max为所述目标虚拟网络的原始平均路径 长度。
[0150]第一增加模块705,用于在第三判断模块704的判断结果为需要的情况下,增加所 述两个节点之间的链路,以构建虚拟网络拓扑。
[0151]第四判断模块706,用于在所述第一增加模块705之后,判断所述其他节点中是否 存在未与所述目标节点判断是否存在链路的节点。
[0152]所述第四判断模块706,还用于在第三判断模块704的判断结果为不需要的情况 下,判断所述其他节点中是否存在未与所述目标节点判断是否存在链路的节点。
[0153]所述第四判断模块706,还用于在所自身的判断结果为是的情况下,继续执行所述 第二判断模块703。
[0154]第五判断模块707,用于在所述第四判断模块706的判断结果为否的情况下,判断 当前目标节点是否为所述第一节点;
[0155]第六判断模块708,用于在第五判断模块707的判断结果为是的情况下,判断所述 第一阈值是否小于所述目标虚拟网络的直径;
[0156]第二增加模块709,用于在第六判断模块708的判断结果为否的情况下,增加所述 第二阈值的值,继续执行确定模块701。
[0157] 具体的,所述第二阈值的增加值等于所述预设值。
[0158] 应用本发明实施例,根据成本收益值和预设第三阈值,判断是否需要两个节点之 间增加链路,通过预设第三阈值,有选择的在两个节点之间增加链路,通过增加链路的方法 对目标虚拟网络进行构建,能够降低APL,进而减少了网络时延。
[0159]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存 在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备 所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在 包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0160] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实 施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例 的部分说明即可。
[0161] 本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中, 这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0162] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
【主权项】
1. 一种虚拟网络拓扑构建方法,其特征在于,所述方法包括: 针对目标虚拟网络,根据所述目标虚拟网络中当前包含的每个节点度的大小,对所有 节点进行排序,将除已确定为目标节点之外的其他节点中排序最靠前的节点,确定为目标 节点,并将当前排序排在末尾的节点确定为第一节点; 依次针对每一目标节点,判断以所述目标节点为圆心,半径为第一阈值的第一范围内, 是否存在除以所述目标节点为圆心,半径为第二阈值的第二范围内包含的节点之外的其他 节点,其中,所述第一阈值为所述第二阈值与预设值之和; 如果是,针对两个节点,判断所述两个节点之间是否已存在链路,其中,所述两个节点 中的一个节点为目标节点;所述两个节点中的另一个节点为所述其他节点中,未与所述目 标节点判断是否存在链路的节点; 如果不存在,根据成本收益值和预设第三阈值,判断是否需要在所述两个节点之间增 加链路; 如果需要,增加所述两个节点之间的链路,以构建虚拟网络拓扑;判断所述其他节点中 是否存在未与所述目标节点判断是否存在链路的节点;如果是,继续执行所述针对两个节 点,判断所述两个节点之间是否已存在链路的操作步骤; 如果不需要,判断所述其他节点中是否存在未与所述目标节点判断是否存在链路的节 点;如果是,继续执行所述针对两个节点,判断所述两个节点之间是否已存在链路的操作步 骤; 判断当前目标节点是否为所述第一节点; 如果是,判断所述第一阈值是否小于所述目标虚拟网络的直径; 如果小于,增加所述第二阈值的值,继续执行所述针对目标虚拟网络,根据所述目标虚 拟网络中当前包含的每个节点度的大小,对所有节点进行排序,将除已确定为目标节点之 外的其他节点中排序最靠前的节点,确定为目标节点,并将当前排序排在末尾的节点确定 为第一节点的操作步骤。2. 根据权利要求1所述方法,其特征在于,所述针对两个节点,判断所述两个节点之间 是否已存在链路,包括: 根据所述其他节点包含的每一节点的度以及所述目标虚拟网络中所有节点的度,确定 所述其他节点包含的节点参与判断两个节点之间是否已存在链路的先后顺序; 根据所述先后顺序,判断所述两个节点之间是否已存在链路。3. 根据权利要求1所述方法,其特征在于,根据成本收益值和预设第三阈值,判断是否 需要在所述两个节点之间增加链路,包括: 判断所述成本收益值是否不大于所述预设阈值,如果是,表示需要在所述两个节点之 间增加链路。4. 根据权利要求1所述方法,其特征在于,所述成本收益值的计算公式为:其中,为成本收益值,Cij为节点i和节点j之间增加一条链路的成本,aij = l表示节点 i和节点j之间存在初始连接,L为增加链路前所述目标虚拟网络的平均路径长度,1/为增加 链路后所述目标虚拟网络的平均路径长度,Tmax为所述目标虚拟网络的原始平均路径长度。5. 根据权利要求2所述方法,其特征在于,所述根据所述其他节点包含的每一节点的度 以及所述目标虚拟网络中所有节点的度,确定所述其他节点包含的节点参与判断两个节点 之间是否已存在链路的先后顺序,包括: 根据择优连接公式,计算所述其他节点中包含的节点排在靠前位置的概率,其中,所述 择优连接公式为:其中,<kj)为节点j排在靠前位置的概率,kj为节点j的度,1?为当前所述目标虚拟网 m 络中所有节点的度的和,节点j为其他节点中包含的任一节点; 根据计算得到的对所述其他节点包含的节点进行排序,根据得到的所述其他节点 包含的节点的排列顺序确定所述其他节点内包含的节点参与判断两个节点之间是否已存 在链路的先后顺序。6. 根据权利要求1所述方法,其特征在于,所述第二阈值的增加值等于所述预设值。7. -种虚拟网络拓扑构建装置,其特征在于,所述装置包括: 确定模块,用于针对目标虚拟网络,根据所述目标虚拟网络中当前包含的每个节点度 的大小,对所有节点进行排序,将除已确定为目标节点之外的其他节点中排序最靠前的节 点,确定为目标节点,并将当前排序排在末尾的节点确定为第一节点; 第一判断模块,用于依次针对每一目标节点,判断以所述目标节点为圆心,半径为第一 阈值的第一范围内,是否存在除以所述目标节点为圆心,半径为第二阈值的第二范围内包 含的节点之外的其他节点,其中,所述第一阈值为所述第二阈值与预设值之和; 第二判断模块,用于在所述第一判断模块的判断结果为是的情况下,针对两个节点,判 断所述两个节点之间是否已存在链路,其中,所述两个节点中的一个节点为目标节点;所述 两个节点中的另一个节点为所述其他节点中、未与所述目标节点判断是否存在链路的节 占 . 第三判断模块,用于在所述第二判断模块的判断结果为不存在的情况下,根据成本收 益值和预设第三阈值,判断是否需要在所述两个节点之间增加链路; 第一增加模块,用于在第三判断模块的判断结果为需要的情况下,增加所述两个节点 之间的链路,以构建虚拟网络拓扑; 第四判断模块,用于在所述第一增加模块之后,判断所述其他节点中是否存在未与所 述目标节点判断是否存在链路的节点; 所述第四判断模块,还用于在第三判断模块的判断结果为不需要的情况下,判断所述 其他节点中是否存在未与所述目标节点判断是否存在链路的节点; 所述第四判断模块,还用于在自身的判断结果为是的情况下,继续执行所述第二判断 丰旲块; 第五判断模块,用于在所述第四判断模块的判断结果为否的情况下,判断当前目标节 点是否为所述第一节点; 第六判断模块,用于在第五判断模块的判断结果为是的情况下,判断所述第一阈值是 否小于所述目标虚拟网络的直径; 第二增加模块,用于在第六判断模块的判断结果为否的情况下,增加所述第二阈值的 值,继续执行确定模块。8. 根据权利要求7所述装置,其特征在于,所述第二判断模块,包括: 计算子模块,用于根据所述其他节点包含的每一节点的度以及所述目标虚拟网络中所 有节点的度,确定所述其他节点包含的节点参与判断两个节点之间是否已存在链路的先后 顺序; 判断子模块,用于根据所述先后顺序,判断所述两个节点之间是否已存在链路。9. 根据权利要求7所述装置,其特征在于,所述成本收益值的计算公式为:其中,为成本收益值,Cij为节点i和节点j之间增加一条链路的成本,aij = l表示节点 i和节点j之间存在初始连接,L为增加链路前所述目标虚拟网络的平均路径长度,1/为增加 链路后所述目标虚拟网络的平均路径长度,T max为所述目标虚拟网络的原始平均路径长度。10. 根据权利要求7所述装置,其特征在于,所述第二阈值的增加值等于所述预设值。
【文档编号】H04L12/24GK105959141SQ201610286436
【公开日】2016年9月21日
【申请日】2016年5月3日
【发明人】寿国础, 贾文卓, 金学广, 胡怡红, 郭志刚
【申请人】北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1