首页> 中国专利> 出口流量改变的安全工程设计

出口流量改变的安全工程设计

摘要

网络设备可以从将使网络中的第一组流量分配改变为第二组流量分配的一组可能的执行计划中自动选择执行计划。流量分配指示流量到一个或多个隧道、内部路由和/或对等链路的分配,以用于将在提供商边缘路由器处接收的流量通过网络路由到前缀。流量分配可以具有各种参数,诸如带宽、传输成本等。每个执行计划具有一个或多个步骤,并且每个步骤具有从第一组流量分配进展到第二组流量分配的一个或多个流量分配改变。网络设备可以基于针对每个执行计划而确定的评估指标来自动选择执行计划。评估指标可以是基于成本的指标或基于质量的指标。

著录项

  • 公开/公告号CN113179174A

    专利类型发明专利

  • 公开/公告日2021-07-27

    原文格式PDF

  • 申请/专利权人 瞻博网络公司;

    申请/专利号CN202110088971.6

  • 发明设计人 G·A·塞德博托姆;P·吉科;

    申请日2021-01-22

  • 分类号H04L12/24(20060101);H04L12/721(20130101);H04L12/927(20130101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 12:00:51

说明书

本申请要求于2020年1月24日提交的题为“SAFELY ENGINEERING EGRESS TRAFFICCHANGES”的美国临时申请号62/965,757和于2020年3月31日提交的题为“SAFELYENGINEERING EGRESS TRAFFIC CHANGES”的美国临时申请号63/003,063的优先权。申请号为62/965,757和申请号为63/003,063的专利申请的全部内容通过引用合并于此。

技术领域

本公开涉及计算机联网,并且更具体地涉及工程设计(engineer)计算机网络中的网络设备上的出口流量改变。

背景技术

互联网流量包括从源到目的地的分组流。例如,当将视频或音频流呈现给终端用户时,可以从托管视频或音频内容的服务器将视频或音频作为分组流来传递,以在终端用户设备上呈现。连接到互联网的设备具有互联网协议(IP)地址,并且在网络上传输的分组包括它们在其间行进的设备的源地址和目的地地址。互联网流量通常由全球路由器网络处理。路由器通过将接收到的分组发送给“下一跳”链路来处理它。由路由器将下一跳确定为到另一路由器的众多链路中的最佳链路,该最佳链路在某种意义上更接近分组的目的地。为了决定将使用哪个下一跳,路由器使用路由表,这些路由表将被称为前缀的地址集映射到将要使用的下一跳。例如,对于IP地址,长度为n的前缀是地址的前n个位。例如,在无类域间路由表示法中,IP地址11.1.21.13的24个位表示为11.1.21.0/24。

连接性信息在路由器之间被交换,因此路由器可以建立网络模型并且使用最短路径算法,使用每个前缀的最佳下一跳填充其路由表。因为互联网太大以至于每个路由器都无法获取有关每个路由器和前缀的所有详细信息,所以互联网被划分为由独立网络运营商拥有的、称为自治系统(AS)的大量域。

互联网中的相邻AS可以通过自治系统边界路由器(ASBR)之间的对等链路来连接。AS可以使用其对等方为在AS中无法直接到达的目的地传递流量。与路由器类似,AS为目的地在AS外部的流量标识到另一AS的“下一跳”对等链路。边界网关协议(BGP)可以被用在包括ASBR在内的边界网关路由器之间,以允许路由器了解在互连AS的网络中到所有前缀的连接性和最佳路径。因此,互联网中的路由器可以建立转发表,该转发表允许它们标识针对任何目的地的最佳下一跳。

由路由协议确定的最佳路径通常根据一般与距离、传输延迟和跳数相关的技术指标来进行评估。可能有很多其他因素可能会影响路径的理想程度,而这些因素不容易合并到路由协议中。对等AS的所有者通常会建立业务协议,以路由彼此的平衡量的流量,或者在流量不平衡时付费。因此,包含有昂贵链路的路径可能是不太希望的,即使它们具有低传输延迟。另一示例是链路拥塞,即,短路径上的链路趋于过载,以至于它们不能传递由路由协议分配给它们的流量数量。结果,网络路由器通常具有流量工程能力,该能力可以用于将替代方案上的流量分配给由路由协议选择的最短路径。

出口对等工程(EPE)是一种流量工程过程,网络运营商可以通过该过程以经济高效的方式将离开其网络的流量定向到对等AS。因此,在EPE过程中通常使用试图优化网络资源利用率(即,通过使网络效率最大化和平衡流量负载分配)的路由优化方法,作为使网络运营商利润最大化的手段。同时,EPE可以尝试满足关于对QoS标准(诸如端到端延迟、丢包率、弹性和健壮性)选择的某些其他网络约束。

发明内容

总体上,本公开描述了使得网络设备(例如,网络控制器)能够从在被执行时使网络中的第一组流量分配被改变为第二组流量分配的一组可能的执行计划中自动选择执行计划的技术。流量分配可以指示与网络相关联的流量到一个或多个隧道、内部路由和/或对等链路的分配,以用于通过ASBR和外部路由将在提供商边缘路由器处接收的流量路由到前缀。流量分配可以具有各种参数,诸如带宽、传输成本等。每个执行计划可以具有一个或多个步骤,并且该一个或多个步骤可以具有从第一组流量分配发展到第二组流量分配的一个或多个流量分配改变。取决于可用网络设备的数目,可能存在能够导致从第一组流量分配到第二组流量分配的成千上万种候选执行计划步骤(即,流量分配改变)的不同排列。每个步骤排列都可以具有自己的成本和质量参数。因此,手动选择期望的执行计划可能鉴于候选步骤的排列数目而不切实际,而且还面临网络中网络设备过载的风险。网络设备可以基于针对每个执行计划确定的评估指标从众多候选执行计划中自动选择执行计划。评估指标可以是基于成本的指标或基于质量的指标。可以基于由该步骤提供的成本或质量的改进来对所选择的执行计划中的步骤进行排序。例如,最大程度地降低成本的步骤可以在提供较少成本改进的步骤之前执行。类似地,具有较高质量值的步骤可以在具有较小质量值的步骤之前执行。

该技术可以提供优于当前系统的技术优势。例如,这些技术为网络控制器提供了一种用于确定执行计划的自动方式,该执行计划可以安全地实现有效的流量改变分配,同时避免可能会使网络元素过载的步骤。这些步骤相比于控制器故障或连接问题可以是容错的。此外,这些技术促进网络控制器选择渐进的执行计划,即,在执行计划的步骤序列的早期提供流量重新分配方面的最大改进的执行计划(例如,最大程度地降低成本或为新流量分配带来最大进度的流量分配改变),同时避免因流量分配改变中涉及的网络设备过载而使网络状况暂时恶化。可以将本文中描述的技术合并到诸如网络控制器等实际应用中,该网络控制器获取网络配置和成本数据并且使用该配置和成本数据来自动选择安全且有效的执行计划。

在一个示例中,一种方法包括:由具有一个或多个处理器的计算设备确定用于将网络中的第一流量分配改变为网络中的第二流量分配的多个执行计划,每个执行计划具有多个执行步骤,其中第一流量分配和第二流量分配包括网络流量到网络的一个或多个隧道、内部路由或对等链路的分配,并且其中执行步骤包括一个或多个中间流量分配改变;由计算设备确定针对多个执行计划中的每个执行计划的评估指标;由计算设备基于执行计划的评估指标从多个执行计划中选择执行计划;以及由计算设备执行所选择的执行计划的执行步骤,以将网络中的第一流量分配改变为第二流量分配。

在另一示例中,一种装置包括一个或多个处理器;以及其上存储有用于使一个或多个处理器执行以下操作的指令的计算机可读介质:确定用于将网络中的第一流量分配改变为网络中的第二流量分配的多个执行计划,每个执行计划具有多个执行步骤,确定针对多个执行计划中的每个执行计划的评估指标,基于执行计划的评估指标从多个执行计划中选择执行计划,以及执行所选择的执行计划的执行步骤,以将网络中的第一流量分配改变为第二流量分配。

在另一示例中,一种计算机可读介质包括用于使可编程处理器执行以下操作的指令:确定用于将网络中的第一流量分配改变为网络中的第二流量分配的多个执行计划,每个执行计划具有多个执行步骤;确定针对多个执行计划中的每个执行计划的评估指标;基于执行计划的评估指标从多个执行计划中选择执行计划;以及执行所选择的执行计划的执行步骤,以将网络中的第一流量分配改变为第二流量分配。

一个或多个示例的细节在附图和以下描述中阐述。根据说明书和附图以及根据权利要求书,其他特征、目的和优点将很清楚。

附图说明

图1A是示出根据本公开中描述的至少一种示例技术的进行流量工程的示例出口对等工程(EPE)网络的框图;

图1B是示出根据本公开中描述的至少一种示例技术的图1A的示例EPE网络的示例流量流及其相关联的成本的框图;

图2是示出根据本公开中描述的至少一种示例技术的针对执行计划的平衡参数的图形表示的图;

图3是示出根据本公开中描述的至少一种示例技术的确定用于安全地改变流量分配的执行计划的示例网络控制器的框图;

图4是示出根据本公开中描述的至少一种示例技术的用于选择用于改变网络中的流量分配的执行计划的示例方法的操作的流程图;

图5A-5F示出了根据本公开中描述的至少一种示例技术的用于示例流量分配的示例执行计划中的流量分配改变的图形表示;

图6A-6D示出了根据本公开中描述的至少一种示例技术的执行计划的步骤期间的流量分配的示例TACG和对应示例图形表示;以及

图7是根据本公开中描述的至少一种示例技术的可以在其中实现本文中描述的一些或全部技术的示例环境的框图。

具体实施方式

流量分配可以指示与网络相关联的流量到一个或多个隧道和对等链路的分配以用于网络。例如,流量分配可以是由网络工程师将网络流量分配给网络中的源节点与目的地节点之间的指定路径。因此,流量分配可能导致网络流量沿着与在没有这种分配的情况下由路由表和路由协议指定的路径不同的路径流动。在很多情况下,网络工程师可以使用源与目的地之间的网络隧道和对等链路,并且将源与目的地之间的网络流量分配给特定隧道或对等链路。未分配给任何特定路径的网络流量可以称为未分配流量。流量分配可以基于使用特定网络路径的成本、可用网络带宽和/或服务质量考虑。随着网络状况的变化,网络运营商通常会关注流量分配成本。例如,一组最高前缀、外部路由上的延迟和对等合同都可以随时间变化。当流量分配的总成本偏离得足够大时,网络运营商可以将EPE改变指定为更有利的流量分配,然后在网络中应用该改变。

一次在网络中进行大规模改变可能有风险,有时甚至是不可能的。对于流量分配改变尤其如此。例如,流量分配改变的不佳组合可能会使网络暂时过载,并且导致流量丢失。如上所述,鉴于在具有大量网络设备的网络中可能存在的流量分配改变的大量不同组合,执行计划的手动选择可能是不切实际的。此外,执行计划的手动选择可能导致网络设备过载,从而使网络性能变差。本文中公开的技术相对于现有系统的技术优势是如下的网络控制器:该网络控制器可以自动确定执行计划,该执行计划具有避免随着流量分配的改变而使网络设备过载的步骤。另一技术优点是如下的网络控制器:该网络控制器可以确定执行计划,在该执行计划中,执行计划中提供从一个流量分配到新流量分配的更大进度的改变的步骤在执行计划的早期被执行。

作为对上述问题的技术解决方案,本公开提出了包括优化算法的技术,该优化算法在一些方面基于对流量改变和启发法的图形表示的分析,该流量改变和启发法可能导致将候选流量分配改变划分为使成本最小化和/或提高与流量分配改变相关的质量的执行计划步骤。

执行计划将流量分配改变分解为称为步骤的较小改变,这些步骤在由网络控制器执行时提供中间的流量分配改变。网络控制器可以按一定序列执行执行计划的步骤,从而导致针对每个由网络运营商指定的EPE改变,流量分配都会发生整体改变。本文中公开了用于使用可以如本文所述确定的评估指标来自动找到期望的(即,安全和有效的)执行计划的技术。以下描述的技术在关于与ASN相关联的网络元素(诸如PE路由器、对等链路、网络隧道、边界路由器、地址前缀等)的流量分配的上下文中提供。但是,以下描述的技术也适用于诸如网络链路、网络节点、网络接口、网络端口、线卡等众多其他类型的网络元素的流量分配。

下面的讨论从对EPE网络的描述开始,EPE网络中的流量分配可以改变。然后将介绍网络设备评估执行计划以实现流量分配改变的各个方面。特别地,讨论了由网络设备用于评估执行计划的技术,其中评估指标基于成本指标。接下来是对网络设备评估执行计划的技术的讨论,其中评估指标基于质量指标。

图1A是示出根据本公开中描述的至少一种示例技术的,进行流量工程的示例出口对等工程(EPE)网络100的框图。示例EPE网络100包括三个自治系统(AS)AS1 102A、AS2102B和AS3 102C。在图1A所示的示例中,进行工程设计的流量到达AS1 102A,并且由AS2102B和AS3 102C传送。AS1 102A包括流量在此进入AS1 102A的两个提供商边缘(PE)节点PE1 110A和PE2 110B。AS1 102A还包括流量在此离开AS1的两个自治系统边界路由器(ASBR)112A和112B。示例EPE网络100包括将AS1 102A与AS2 102B和AS3 102C连接的五个对等链路(由实线106表示)。每个对等链路具有可用于EPE目的的一定量的带宽。外部路由108(由虚线表示)表示从AS2和AS3中的ASBR开始的外部路由。外部路由108可以将流量从ASBR112C-112D传送到其目的地前缀116A-116E。外部路由可以是自治系统边界路由器(例如,ASBR 112)到目的地前缀(例如,目的地前缀116)之间的路由。内部路由可以是自治系统102内的路由。

取决于通过网络所采取的路径,与通过网络100的流量流相关联的成本可以不同。例如,来自ASBR11 112A的流量可以采用至少两个路径以到达目的地前缀116B(2.2.2.0/24),每个路径具有不同成本。从ASBR11 112A到ASBR21 112C的对等链路的成本可以为$12/Gbs,从ASBR11 112A到ASBR22 112D的对等链路的成本可以为$8/Gbs。从ASBR22 112D到前缀116B的第一外部路由的成本可以为$1/Gbs,而从AS2到第二外部路由的成本可以为$2/Gbs。

网络控制器104可以使用本文中描述的技术,该技术可以使用流量流的成本和可用带宽来促进将流量流安全地改变为所期望的流量流。网络控制器104可以管理网络100的元素,包括实现流量流分配以实现期望的流量流。

图1B是示出根据本公开中描述的至少一种示例技术的图1A的示例EPE网络100的示例流量流及其相关成本的框图。图1B描绘了四个流量流114A-114D,其中两个流量流在PE1 110A和PE2 110B中的每个处进入网络。在该示例中,一个流量流以具有相关联的带宽量(在表示相应流量流的箭头下方示出)的每个前缀为目的地。在典型的网络中,与前1000个前缀相关联的流量可以表示网络中的95%的流量。这通常会导致成千上万的流量流,因为以最高前缀为目的地的流量通常会在每个PE处进入。

带宽的成本函数可以与诸如隧道、对等链路、内部路由和外部路由等网络元素相关联。网络控制器104可以使用成本函数来评估对流量进行工程设计的不同方式。在一些方面,隧道或内部路由的成本函数可以与隧道或内部路由所经过的链路的数目有关,或者与隧道或内部路由所引起的延迟负相关。在一些方面,对等链路的成本函数可以由AS所有者与其对等方的所有者之间的合同关系来定义。外部路由的成本函数可以与服务质量或使用该路由而引起的延迟负相关。另外,在一些方面,附加的成本函数可以是针对如下流量的未分配的惩罚,该流量未被工程设计并且被保留成采用根据在网络中实现的路由协议的最短路径。图1B所示的示例成本函数都是线性的。然而,在一些方面,网络控制器104可以利用可以被校准以有利于期望的流量分配的更一般的成本函数。

在图1B所示的示例中,线118示出了将两个流量流114B和114D分配给特定隧道。在该示例中,流量流114A和114C未分配。使用图1B的示例中所示的不同流量分配的成本和$21/Gbs的未分配流量惩罚,流量分配成本为$336,确定如下:

改变流量流114A和114C到特定隧道的流量分配可能导致未分配成本降低为零,增加其他成本,从而总体上降低总成本。网络控制器104可以实现本文中描述的技术以选择安全且有效的执行计划以完成期望的流量分配改变。

可以通过在A小节中对网络和成本进行建模来表述流量改变执行计划问题。接下来,在B小节中描述流量分配及其成本。之后,在C小节中描述流量改变。最后,在D小节和E小节中分别描述执行计划和使用成本指标对执行计划的评估。

A.网络和成本

带宽和成本可以是正整数:B=Z+,C=Z+

为了描述本公开的技术,令有n个PE,m个对等链路(具有可用带宽)和l个前缀。

PE={1,2,...,i,...,n}

PL={1,2,...,j,...,m},b

PR={1,2,...,k,...,l}

隧道TU可以将PE连接到对等链路PL。在一些方面,可以为每个PE定义用于未分配流量的伪隧道UTU,并且外部路由ER将对等链路连接到前缀。未分配流量可以表示未分配给特定路由并且使用诸如开放式最短路径优先(OSPF)路由等标准路由技术的流量。以上各项可以建模为:

UTU={(i,0)|i∈PE}

流量流TR将PE连接到具有带宽的前缀,并且可以建模为:

tr

隧道、对等链路、外部路由和未分配流量带宽的成本函数可以建模为:

tu

B.流量分配

流量分配可以指示与网络相关联的流量到一个或多个隧道和对等链路的分配,以用于网络。流量分配可以将流量映射到该流量的兼容的未分配伪隧道、或一个兼容隧道。伪隧道不是实际配置的网络隧道,而是由本文中公开的技术用来负责未分配给特定路径(即,不是流量分配的一部分)的网络流的构造。兼容的未分配伪隧道与流量具有相同的隧道。兼容隧道可以是连接到对等链路的流量的隧道,该对等链路通过外部路由连接到流量的前缀。

TA={ta

两个流量分配ta和ta'表示改变,第一个(ta)表示EPE在改变之前的状态,第二个(ta')表示在改变之后的状态。

流量分配的成本C(ta)可以是将流量带宽分配给网络元素的成本,每个网络元素具有成本函数。流量分配成本是对分配给这些网络元素的每个网络元素的带宽的评估成本函数的总和。在一些方面,可以使用以下函数对成本进行建模:

c(ta)=c

C.流量改变

EPE的目标可以是从流量分配ta变为更低成本的、即更好的流量分配ta′。为了以下讨论的目的,假定给定ta,已经标识了更好的ta′。

流量改变的差异(ta,ta′)可以是发生改变的流量的部分分配。在有定义的情况下,差异根据ta′分配流量。

dom(Δ(ta,ta′))={(i,k)|ta(i,k)≠ta′(i,k)}

Δ(ta,ta′)(i,k)=ta′(i,k) (11)

D.执行计划

执行计划可以是一种将流量分配改变(ta,ta′)分解为可管理步骤的方法,这些步骤本身可以是更小的流量分配改变。有多种方法可以将流量分配改变分为多个步骤。EP(ta,ta′)可以表示计划改变(ta,ta′)的所有执行计划的集合。可以将执行计划表述为流量分配的一部分,该流量分配将改变为步骤,这些步骤然后被排序以用于执行。

EP(ta,ta′)=perms(partitio s(dom(Δ(ta,ta′))))

其中perms(X)是集合X的所有排列的集合,dom(X)表示集合X的域。

因此,所有执行计划EP(ta,ta′)的集合中的个体执行计划ep(ta,ta′)可以是步骤的序列ep(ta,ta′)

ep(ta,ta′)∈EP(ta,ta′)

ep(ta,ta′)=(ep(ta,ta′)

与执行计划ep(ta,ta′)相关联的可以是在s个步骤完成之后的流量分配序列ta

ta

E.评估执行计划

可能希望执行计划能够优化各种冲突属性。此外,可能希望执行计划可以尽可能早且快地执行使成本最大程度地降低的改变的步骤。例如,如果存在过载的对等链路,导致流量丢失,则所希望的执行计划将尽快将流量移出这些对等链路。但是,如果网络也在接近容量的情况下运行,则先断后合约束(make-before-break)可能要求保留比可用带宽更多的临时带宽,从而导致执行计划失败。

还希望网络控制器104在一个步骤中进行尽可能多的改变,以使为正在获取流量的隧道临时保留带宽所需要的隧道带宽改变次数最小化。但是,大步骤可能存在导致控制器网络通信故障的风险,使网络处于不受控制和/或不期望状态。例如,使对等链路处于仅被认为是临时的接近容量状态是这种不受控制和/或不期望状态的一个示例。

网络控制器可以基于可以由网络控制器用来促进执行计划的潜在发生冲突的期望属性之间的折衷的成本来评估执行计划。在一些方面,这些成本可以包括执行效率成本、网络损坏成本和临时带宽成本。

执行效率成本可以基于在每个步骤之后的流量分配的成本来评估执行计划。在一些方面,它可以将最低成本分配给这种执行计划,该执行计划在步骤的早期快速地降低流量分配的成本。在一些方面,执行计划的效率成本e可以定义为在每个步骤之后的流量分配的成本的前加权总和。

相比于执行计划中的靠后的步骤,前加权总和更偏好执行计划中的早期步骤。这可能是所希望的,因为执行在执行计划的早期减少流量分配成本的步骤可能是有益的。

网络损坏成本可以被设计为有利于使执行计划所需要的隧道带宽改变次数最小化的计划。对于隧道(i,j),流量分配中所需要的带宽b和流量分配改变所需要的带宽b'可以如下定义:

b′

在一些方面,上述b和b'的定义可以用于定义执行计划的中断成本d,因为隧道带宽改变总数由常数d

临时带宽成本可以被设计为偏好这种执行计划,该执行计划限制执行计划步骤中的最高临时带宽需求。在一些方面,临时带宽成本可能会惩罚接近或超过网络中的可用带宽的执行计划。网络中的可用带宽可以定义为对等链路的带宽的总和。因此,在一些方面,用于临时保留的可用带宽b

在一些方面,流量分配改变所需要的总临时带宽b

在一些方面,执行计划的最坏情况临时带宽b

如下所述,在一些实现中,网络控制器104可以利用针对临时带宽的线性成本函数。但是,接近或超过可用带宽(即便是临时的)可能是不希望的。因此,在一些实现中,可以定义执行计划的临时带宽成本,该临时带宽成本对临时带宽接近或超过网络中的可用带宽的情况进行惩罚。这种临时带宽成本的示例可以定义为:

本公开的技术的实际应用是一种网络控制器,其可以确定可以接近如下使效率、中断和临时带宽成本之和最小化的执行计划:

cost(ep(ta,ta′))=e(ep(ta,ta′))+d(ep(ta,ta′))+t(ep(ta,ta′))

网络控制器可以使用以上定义和模型来评估不同的执行计划。然而,对于网络控制器而言,在希望的时间限制和可用的计算资源之内评估变化中的流量的所有划分的所有排列可能是不可行的。因此,在一些方面,网络控制器104可以使用上述定义和模型来确定和分析容易计算的有前景的执行计划。可以观察到,给定变化的流量的划分,使效率成本函数最小化的步骤顺序按照减少流量分配成本改变的顺序来执行步骤。在一些方面,网络控制器104可以通过按c(ta

可能希望网络控制器104确定执行计划的有前景的划分并且将其他执行计划排除在考虑之外。在一些方面,有前景的划分可以包括没有将在隧道之间一起移动的流量放置在不同步骤中的执行计划。例如,在步骤之间划分这样的改变可能会增加中断成本。此外,假定隧道通常接收相对平衡的流入量与流出量(b′

在一些方面,网络控制器104利用流量分配改变图(TACG)来促进对流量分配改变和成本的分析。在一些方面,在TACG图中,顶点是变化的隧道,并且边由在隧道之间成组移动的流量的带宽进行加权。

TACG(ta,ta′)=(V,t,E,w),其中:

V=range(Δ(ta,ta′))∪range(Δ(ta′,ta))

t∈V×V→2

t((i,j),(i,j′))=

{(i,k)∈dom(Δ(ta,ta′))|

ta(i,k)=(i,j),ta′(i,k)=(i,j′)}

E=dom(t)

w∈E→B

t函数可以使用TACG来标识和提供在隧道之间成组移动的流量。可以定义将TACG转换回流量分配改变的GTAC函数。

GTAC(V,t,E)=(ta,ta′),其中:

ta={((i,k),(i,j))|

((i,j),(i,j′))∈E,(i,k)∈t((i,j),(i,j′))}

ta′={((i,k),(i,j′))|

((i,j),(i,j′))∈E,(i,k)∈t((i,j),(i,j′))}

按图的边来划分图可以定义如下:

partitions(V,E)={{(Vl,E1),…,(Vn,En)}|

{E1,...,En}∈partitions(E),

网络控制器可以执行执行计划优化算法,该算法可以定义如下:

在一些方面,可以优化执行计划。网络控制器可以通过将TACG划分为连通组件来开始优化。无论与连通组件相关联的改变是否分开,中断和临时成本都可以是相同的,因此将它们分开通常不会导致更糟的成本。

在下一步骤中,网络控制器可以针对中断和临时成本为每个连通组件搜索变化的近似最佳的进一步划分。由于改变已经被划分,因此搜索所有其他划分是可行的。可以对该划分搜索设置时间限制,以限制算法运行所需要的总时间,并且使用其他启发法来选择有前景的子划分,以便在搜索过程中尽早尝试。

最终,网络控制器可以对流量分配的最佳序列

其他优化包括在TAC图中寻找流入和流出特别不平衡的节点,这可能是基于有效可识别模式对这样的节点上的边进行划分,这可以减少最终划分的执行计划的临时带宽成本。此外,在TAC图中捕获最大流电路的子图意味着其中所有隧道带宽交换都完美平衡的划分,从而产生不需要临时带宽的划分。因此,应用最大流算法可以用于实现标识复杂且不直观的有前景的划分的启发法。

上面的讨论已经提出了确定与执行计划的步骤相关联的成本并且选择使与执行计划相关联的成本最小化的执行计划的技术的各个方面。下面的讨论提出了确定与执行计划相关联的质量参数并且选择使质量参数最大化的执行计划的技术的各个方面。下面讨论的方面保留了上面描述的建模技术和公式中的很多内容,但不同之处如下所述。

在一些方面,承载已分配流量和未分配流量的路径统称为内部路由(IR)。根据内部网关协议(IGP),未分配流量沿着从网络入口点(诸如PE)到出口对等链路的最短路径。在一些方面,IGP可以是OSPF或中间系统到中间系统(ISIS)。通过将流量引导至从网络入口点(诸如PE)开始并且以出口对等链路结束的隧道上来设计已分配流量。隧道沿着经过工程设计的路径,该路径通常会偏离IGP最短路径。在这些方面,模型不包括未分配隧道和具体因未分配流量所带来的成本。取而代之的是,该模型可以使用表示IGP最短路径的IR的成本来考虑未分配流量。因此,建模等式1变为:

内部路由、对等链路、外部路由和未分配流量带宽的成本函数可以建模为:

ir

随着从隧道和未分配隧道改变为内部路由,流量分配可以指示将与网络相关联的流量TR分配给一个或对等链路PL以用于网络。上面的建模等式4相应地修改为:

TA={ta

将流量分配给对等链路而不是隧道隐蔽地导致了内部路由的创建。结果,针对执行计划的步骤s的流量分配建模功能如等式5所示:

ta

流量分配的成本可以用作确定质量指标的一部分。同样,可以通过消除未分配流量成本来简化成本函数。例如,可以消除上面的等式9,并且可以简化成本分量和总成本函数C(ta),如下所示:

c(ta)=c

流量改变(ta,ta′)的定义也可以基于从建模隧道和未分配隧道到建模内部路由的改变而改变。等式11的流量分配改变的改变可以变为:

dom(Δ(ta,ta′))={(i,k)|ta(i,k)≠ta′(i,k)}

Δ(ta,ta′)(i,k)=ta′(i,k) (21)

使用以上内容,可以使用确定执行计划的质量q的评估指标来评估执行计划ep(ta,ta′)。评估指标q可以是表示执行计划的质量的数字。在一些方面,q可以是数字,其中值一(1)表示最佳执行计划,零(0)表示差的执行计划,而负数比差的执行计划更差。可以选择使q最大化的执行计划作为最高质量执行计划。然后,可以使用所选择的执行计划来执行流量分配改变。

评估指标q可以具有构成组成的质量分量。在一些方面,q的质量分量可以是进度π、平衡半径r,平衡中心度c和用

进度分量π可以是可以基于进度指标π

使用上述内容,如果执行计划在某步骤使对等链路过载,则通常会有向后的进度(即,q

例如,考虑三个执行计划ep

示例结果表明,执行计划ep

质量参数可以基于执行计划的步骤中的流量分配改变次数。在一些方面,质量指标可以有两个“平衡”分量:平衡半径r和平衡中心度c。平衡半径是指在具有最大流量分配改变次数的步骤中的流量分配改变次数与在具有最小改变次数的执行计划的步骤中的流量分配改变次数之差。在一些方面,平衡半径可以根据下式确定:

平衡中心是指在具有最大流量分配改变次数的步骤中的流量分配改变次数与在具有最小改变次数的执行计划的步骤中的流量分配改变次数之间的中点。在一些方面,平衡中心可以根据下式确定:

图2是示出根据本公开中描述的至少一种示例技术的针对执行计划的平衡参数的图形表示的图。特别地,在图2中提供了平衡半径r和平衡中心c的图形表示。在图2所示的示例中,执行计划具有多个步骤。具有最小流量分配改变次数的执行计划的步骤具有四次流量分配改变。具有最大流量分配改变次数的执行计划的步骤具有七次流量分配改变。在该示例中,平衡半径为(7-4)/2=1.5。平衡中心为4+1.5=5.5。

在一些方面,基于平衡半径r的质量分量q

例如,考虑三个执行计划ep

示例结果表明,在一些方面,与在执行计划的各个步骤中流量分配改变次数变化很大的执行计划相比,在每个步骤中流量分配改变次数变化较少的执行计划可能更受到偏好。因此,在该示例中,ep

在一些方面,基于平衡半径c的质量分量q

例如,考虑两个执行计划ep

该示例表明,执行计划可以具有相同的r值(r=2),但是q

在一些方面,质量分量

其中|Δ

例如,考虑两个执行计划ep

在一些方面,用于确定质量指标q(ep(ta,ta′))的等式可以如下:

其中w可以是由网络管理员分配给对应质量分量的权重。在一些方面,分配给q

与上述基于成本的指标中的情况类似,在一些方面,TACG可以被用于促进流量分配改变和成本的分析。在基于质量的指标的情况下,TACG的顶点V可以是对等链路,TACG是多重图,在对等链路之间具有每个流量流的边E。这可以建模如下:

TACG(ta,ta′)=(V,E),其中:

V=range(Δ(ta,ta′))∪range(Δ(ta′,ta))

E={(j,j′,(i,k))|(i,k)∈dom(Δ(ta,ta′)),ta(i,k)=j,ta′(i,k)=j′}

图6A-6D示出了示例TACG,并且在下文进行讨论。

图3是示出根据本公开中描述的至少一种示例技术的确定用于安全地改变流量分配的执行计划的示例网络控制器的框图。网络控制器300接收路径请求,计算和调度满足该路径请求的路径,并且在路径计算域中建立所请求的路径。此外,网络控制器300可以接收改变网络内的流量分配的请求,并且根据本文中描述的技术确定用于执行流量分配改变的执行计划。网络控制器300可以在运行在云中或服务提供商场所中的一个或多个设备上实现,以控制其所在的网络中的节点。网络控制器300可以表示图1的网络控制器104的示例实例。

网络控制器300包括控制单元302,该控制单元302耦合到网络接口320以通过入站链路和出站链路与其他网络设备交换分组。控制单元302可以包括一个或多个处理器(图3中未示出),该处理器执行存储到计算机可读存储介质(再次,图3中未示出)的软件指令,诸如用于定义软件或计算机程序的软件指令,计算机可读存储介质是诸如非暂态计算机可读介质,包括存储设备(例如,磁盘驱动器或光盘驱动器)或存储器(诸如闪存或随机存取存储器(RAM))或任何其他类型的易失性或非易失性存储器,计算机可读存储介质存储用于使一个或多个处理器执行本文中描述的技术的指令。替代地或另外地,控制单元302可以包括用于执行本文中描述的技术的专用硬件,诸如一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)、或专用硬件的前述示例中的一个或多个的任何组合。

控制单元302提供用于SDN应用和编排流量层308和SDN联网层310的操作环境。在一个示例中,层308和310(或其组件)可以被实现为在一个或多个服务器的一个或多个虚拟机上执行的一个或多个过程。也就是说,尽管通常被示出和描述为在单个网络控制器300上执行,但是这些组件的各方面可以被委托给其他计算设备。

SDN应用和流量编排层308可以包括网络服务应用304。网络服务应用304表示向包括网络控制器300的服务提供商网络的客户端提供服务以根据本公开的技术来管理聚合域中的连接(替代地称为“路径计算域”)的一个或多个过程。网络服务应用304可以向服务提供商网络的客户端提供例如流量工程服务、IP语音(VoIP)服务、视频点播(VOD)服务、批量运输服务、围墙/开放式花园、IP移动子系统(IMS)和其他移动服务、防火墙服务和互联网服务。在一些方面,网络管理员可以利用网络服务应用304在较高级别向网络控制器300告知网络中期望什么结果。网络控制器300将请求分解为特定配置命令,并且使用这些命令来配置网络中的各个路由器。

网络服务应用304可以利用由路径计算元件312提供的服务,诸如节点管理、会话管理和策略实施。每个网络服务应用304可以包括客户端接口306,一个或多个客户端应用通过该客户端接口306请求服务。例如,客户端接口306可以表示命令行接口(CLI)或图形用户接口(GUI)。附加地或替代地,客户端接口306可以向客户端应用提供诸如网络服务等应用程序编程接口(API)。

在一些方面,网络服务应用304可以向路径计算元件312发出路径请求,以请求由网络控制器300控制的路径计算域中的路径。例如,路径请求包括所需要的带宽或其他约束以及表示接入节点和边缘节点的两个端点,该两个端点在由网络控制器300管理的路径计算域上通信。

在一些方面,网络服务应用304可以向执行计划生成器322发出流量分配改变请求以请求在由网络控制器300控制的路径计算域中的流量分配的改变。

SDN网络层310可以包括路径计算元件312、执行计划生成器322、PCEP适配器380和OpenFlow适配器382。路径计算元件312接受来自网络服务应用304的在路径计算域上在端点之间建立路径的路径请求。可能针对不同时间和日期以及不同带宽要求来请求路径。路径计算元件312基于所请求的路径参数和预期的网络资源可用性来协调来自网络服务应用304的路径请求,以将所请求的路径多路复用到路径计算域上。

为了智能地计算和建立通过路径计算域的路径,路径计算元件312包括拓扑模块316,以接收描述路径计算域的可用资源的拓扑信息,包括访问、聚合和边缘节点、其接口、以及互连通信链路。

路径计算元件312的路径计算引擎314计算通过路径计算域的所请求的路径。通常,路径是单向的。在计算路径时,路径计算引擎314调度路径,以由路径供应模块318供应。计算出的路径包括可以由路径供应模块318使用以在网络中建立路径的路径信息。在提交路径以提供分组传输之前,供应路径可能需要进行路径验证。路径供应模块318(或路径计算元件协议(PCEP)适配器380)向网络中的路由器提供信息,以诸如通过提供显式路由对象(ERO)来向前端(head-end)路由器提供路径指示。路由器使用带有流量工程扩展的资源保留协议(RSVP-TE)发信号通知路径,以发信号通知多协议标签交换(MPLS)LSP。作为另一示例,OpenFlow适配器382可以使用OpenFlow来供应路径。

路径计算引擎314包括用于存储用于计算和建立所请求的路径的路径信息的数据结构。这些数据结构包括路径要求336和操作配置338。操作配置338表示向路径计算元件312提供配置信息的数据结构,以相对于例如服务等级(CoS)描述符和绕道行为来配置路径计算算法。路径要求336表示接口,该接口接收对将由路径计算引擎314计算的路径的路径请求,并且将这些路径请求(包括路径要求)提供给路径引擎344以进行计算。路径要求336可以被接收,或者可以由PCE处理。在这样的情况下,路径要求消息可以包括:具有终止指定路径的节点的入口节点标识符和出口节点标识符的路径描述符、以及包括CoS值和带宽的请求参数。路径要求消息可以添加到指定路径的现有路径要求或者从其中删除。

拓扑模块316可以被配置为执行拓扑发现,并且在需要时维护路径计算元件312与路径计算域的节点之间的控制信道。拓扑模块316可以包括用于向路径计算引擎314描述所接收的拓扑的接口。

拓扑模块316可以使用拓扑发现协议来向路径计算引擎314描述路径计算域拓扑。在一个示例中,使用云控制协议机制进行拓扑发现,拓扑模块316可以接收节点邻居列表以及链路属性列表,其中每个邻居包括节点标识符、本地端口索引和远程端口索引,每个链路属性指定例如端口索引、带宽、预期传输时间、共享链路组和命运共享组。

拓扑模块316可以与诸如路由协议路由反射器等拓扑服务器通信,以接收网络的网络层的拓扑信息。拓扑模块316可以包括路由协议过程,该路由协议过程执行路由协议以接收路由协议通告,诸如开放最短路径优先(OSPF)或中间系统到中间系统(IS-IS)链路状态通告(LSA)或边界网关协议(BGP)UPDATE消息。在某些情况下,拓扑模块316可以是既不转发也不发起路由协议通告的被动监听器。在某些情况下,替代地或另外地,拓扑模块316可以执行拓扑发现机制,诸如用于应用层流量量优化(ALTO)服务的接口。拓扑模块316因此可以接收由拓扑服务器(例如,ALTO服务器)收集的拓扑信息的摘要,而不是执行路由协议以直接接收路由协议通告。

在一些示例中,拓扑模块316接收包括流量工程(TE)信息的拓扑信息。拓扑模块316可以例如执行具有TE扩展的中间系统到中间系统(IS-IS-TE)或具有TE扩展的开放最短路径优先(OSPF-TE)以接收用于通告链路的TE信息。这样的TE信息包括链路状态、管理属性和指标(诸如可用于在连接路径计算域的路由器的链路的各种LSP优先级级别使用的带宽)中的一项或多项。在某些情况下,拓扑模块316执行BGP-TE以接收所通告的自治系统间和其他网络外链路的TE信息。关于执行BGP以接收TE信息的其他细节在于2011年5月19日提交的题为“DYNAMICALLY GENERATING APPLICATION-LAYER TRAFFIC OPTIMIZATION PROTOCOLMAPS”的申请号为13/110,987的美国申请专利中给出,其全部内容通过引用合并于此。

流量工程数据库(TED)342将由拓扑模块316接收的针对构成网络控制器300的路径计算域的网络的拓扑信息存储到计算机可读存储介质(未示出)。TED 342可以包括一个或多个链路状态数据库(LSDB),其中链路和节点数据在路由协议通告中被接收,从拓扑服务器被接收,和/或由链路层实体(诸如覆盖控制器)被发现,然后存储在TED 342中。在某些情况下,网络运营商可以经由客户端接口306在MT TED 342中配置流量工程或其他拓扑信息。

路径引擎344接受TED 342形式的路径计算域的当前拓扑快照,并且使用TED 342来计算节点之间的、和/或通过经由API与外部模块的动态联网的流量工程路径。通常,为了计算路径,路径引擎344基于TED 342和所有指定约束来确定层中是否存在在所请求的持续时间内满足所请求的路径的TE规范的路径。路径引擎344可以使用具有Djikstra约束的SPF(CSPF)346路径计算算法来标识通过路径计算域的令人满意的路径。如果没有TE约束,则路径引擎344可以恢复为SPF。如果存在用于所请求的路径的令人满意的计算路径,则路径引擎344将计算出的路径的路径描述符提供给路径管理器348,以使用路径供应模块318建立路径。路径管理器348可以将用于计算出的路径的转发信息编程到路径计算域的聚合节点或接入节点的数据平面。

执行计划生成器322可以从网络服务应用304接收新的流量分配。在一些方面,执行计划生成器322利用本文中描述的技术来生成将当前流量分配改变为新的流量分配的执行计划。如上所述,执行计划包括从当前流量分配进展到新的流量分配的步骤。执行计划中的步骤可以被提供给路径计算引擎314以用新的流量分配来更新流量工程数据库342,并且经由路径供应模块318来供应反映新的流量分配的路径。

图4是示出根据本公开中描述的至少一种示例技术的用于选择用于改变网络中的流量分配的执行计划的示例方法的操作的流程图。网络控制器104、300(图1和图3)的执行计划生成器322可以例如从流量工程数据库342或从拓扑模块316获取网络的网络模型(402)。在一些方面,网络模型可以包括提供商边缘路由器、对等链路、网络的内部路由、到与其他自治系统相关联的前缀的网络外部路由、以及与内部路由和外部路由相关联的流量分配成本。网络模型还可以包括用于内部路由和外部路由的一组当前流量分配。

执行计划生成器322可以接收对流量分配的改变的指定(404)。流量分配的改变可以由网络运营商或自动化系统提供。

执行计划生成器322可以确定用于改变流量分配的执行计划(406)。如上所述,可以有很多不同的执行计划可以执行流量分配的改变。每个执行计划可以包括用于将流量分配从当前流量分配集合改变为期望流量分配集合的步骤。执行计划的每个步骤可以具有一组中间流量分配。

执行计划生成器322可以确定针对每个执行计划的评估指标(408)。如上所述,评估指标可以是执行计划的成本指标或执行计划的质量指标。确定成本指标可以包括如上所述确定执行效率成本、网络损坏成本和临时带宽成本中的一项或多项。确定质量指标可以包括如上所述确定进度值、平衡半径值、平衡中心值和理想步长质量值中的一项或多项。

执行计划生成器322可以基于评估指标选择执行计划(410)。例如,在成本指标的情况下,执行计划生成器322可以选择成本最低的执行计划。在质量指标的情况下,执行计划生成器322可以选择质量指标的值最高的执行计划。

在一些实现中,执行计划生成器322可以可选地对所选择的执行计划的步骤排序(412)。例如,可以基于由步骤提供的改进来对步骤进行排序。在成本指标的情况下,可以按照由步骤提供的成本改进的顺序对步骤进行排序。成本改进较大的步骤在成本改进较小的步骤之前执行。类似地,在质量指标的情况下,质量改进较高的步骤可以在提供较少质量改进的步骤之前执行。在某些情况下,由某个步骤提供的改进可以取决于该步骤在执行计划的步骤中的放置顺序。在一些方面,执行计划生成器322可以确定在按照基于进度的顺序放置步骤之后的每个步骤的进度值π

流量流数据库386维护流量流的数据库(例如,上述数学模型中的等式2和15中的TR)。在一些方面,流量流数据库386创建并且维护可以用来自网络的输入Netflow数据、简单网络管理协议(SNMP)数据和/或其他遥测数据来填充的分析数据模型。

-导向引擎384可以在网络中的诸如PE等入口点上供应导向命令。通过供应对PE i的导向命令(或者如果对等链路j在IGP最短路径上,则去除导向命令),导向引擎384获取从PE i到前缀k的流量流(i,k),并且实现到对等链路j的流量分配。导向引擎384可以包括导向供应模块388,导向供应模块388经由诸如BGP和Netconf等协议在网络中供应导向命令。

网络控制器104、300可以执行所选择的执行计划以将网络中的流量分配改变为期望的流量分配(414)。例如,网络控制器104、300可以利用导向引擎384和导向供应模块388来对诸如路由器等网络设备的配置和策略进行编程,以在所选择的执行计划的步骤中支持期望的流量分配。作为该导向过程的一部分,网络控制器104、300可以利用路径计算引擎314和路径供应模块318为隧道供应根据新计划进行流量导向所需要的路径。

图5A-5F示出了用于示例流量分配改变的示例执行计划中的步骤的流量分配改变的图形表示。图5A示出了在执行执行计划之前的、使用隧道508和外部路由510的初始流量分配,涉及PE 502、对等链路504和前缀506,图5F示出了在已经执行执行计划之后的所请求的流量分配。在该示例中,新的流量分配改变了PE 502A与前缀506A之间的流量流,使得流量流经由对等链路504B而不是504A。在图5A-5F所示的示例中,隧道508、外部路由510或对等链路504的宽度表示正在使用或者为隧道、外部路由或对等链路等保留的带宽。交叉阴影线指示与隧道508或外部路径510相关联的成本。因此,具有相同宽度和交叉阴影线的隧道508和外部路径510具有相同的带宽和成本。

图5A示出了PE 502、对等链路504、前缀506以及隧道508和外部路由510的初始流量分配的图形表示。

图5B示出了作为执行计划的第一步骤的一部分的流量分配改变的图形表示。在该第一步骤中,网络控制器104确定在PE 502A与对等链路504B之间是否已经存在隧道,并且如果尚不存在隧道,则创建到对等链路504B的隧道508E。

图5C示出了作为执行计划的第二步骤的一部分的流量分配改变的图形表示。在该第二步骤中,网络控制器104增加分配给隧道508E的带宽(即,增大隧道508E)。

图5D示出了执行计划的第三步骤的图形表示。在该步骤中,网络控制器104将网络流量的一部分临时从隧道508A转移到隧道508F。这种临时转移可以避免对等链路或其他网络设备过载。

图5E示出了执行计划的第四步骤的图形表示。在该步骤中,网络控制器104将网络流量从隧道508F转移到隧道508E。

图5F示出了执行计划的最后一个步骤的图形表示。网络控制器104减小分配给隧道508A的带宽(即,“收缩”隧道508A)。在执行该步骤之后,新的流量分配完成。

图6A-6D示出了在将带宽重新分配给具有空闲空间的对等链路的执行计划的步骤期间的示例TACG和流量分配的对应示例图形表示。图6A-6D示出了示例TACG,该TACG具有在对应对等链路A-E的顶点处终止的隧道。对等链路A-E之间的边上的数字表示去往或来自对等链路的带宽变化。出于示例的目的,带宽将以Gb/s为单位表示。此外,在该示例中,网络运营商已经创建重新分配从对等链路A到对等链路D的8Gb/s的流量分配。图形表示604、612、622和630中的箭头表示流量流的净变化,而不一定反映流量流的中间变化。

在图6A所示的示例中,网络控制器104已经确定对等链路B具有可用的空闲带宽,并且生成临时使用空闲带宽的执行计划。作为执行计划中的第一步骤,网络控制器104重新分配从对等链路C到对等链路B的8Gb/s。但是,为了避免对等链路过载,执行计划中的第一步骤将重新分配分为较小的重新分配,并且指定网络控制器104重新分配从对等链路C到对等链路A的1Gb/s,重新分配从对等链路C到对等链路B的1Gb/s,以及重新分配从对等链路C到对等链路E的6Gb/s。TACG 602中示出了导致对等链路B(4+2+1+1)的分配带宽净增加8Gb/s的其他带宽重新分配。在该示例中,网络控制器104生成执行计划步骤,该执行计划步骤相对于对等链路A、D和E是带宽中立的。也就是说,重新分配给对等链路A、D和E的总带宽与相应对等链路中被重新分配出去的总带宽相同。作为该步骤的最终结果,执行计划步骤在图形表示604被示出,即,PE 609到对等链路C之间的8Gb/s的流量流将从对等链路C重新分配给对等链路B。

图6B示出了用于执行计划中的第二步骤的TACG 610、以及流量分配的对应图形表示612。在图6A所示的执行计划的第一步骤中,网络控制器104重新分配从对等链路C到对等链路B的8Gb/s。作为重新分配的结果,对等链路C现在具有可用的8Gb/s。因此,在该示例中,网络控制器104已经生成执行计划的第二步骤,其中净8Gb/s从对等链路D被重新分配给对等链路C。同样,为了避免任何对等链路过载,重新分配在对等链路A、C、D和E之间进行划分。对于第二步骤,在TACG 610中未示出对等链路B,因为在图6A所示的第一步骤之后,对等链路B不再具有可用带宽。而且,网络控制器104已经生成执行计划的第二步骤,以使其相对于对等链路A和E是带宽中立的。图形表示612示出了第一步骤的最终结果,即,PE 609与对等链路C之间的隧道的终止点移动到对等链路B。另外,图形表示612示出了在执行计划的该步骤中将从对等链路D被重新分配给对等链路C的净8Gb/s。

图6C示出了用于执行计划中的第三步骤和最后一个步骤的TACG 620、以及流量分配的对应图形表示622。在图6B所示的执行计划的第二步骤中,网络控制器104重新分配从对等链路D到对等链路C的8Gb/s。作为重新分配的结果,对等链路D现在具有可用的8Gb/s。因此,在该示例中,网络控制器104已经生成执行计划的第三步骤,其中净8Gb/s从对等链路A被重新分配给对等链路D。同样,为了避免任何对等链路过载,重新分配在可用的对等链路B、C和E之间进行划分。此外,网络控制器104已经生成执行计划的第三步骤,以使其相对于对等链路B和C是带宽中立的。图形表示612示出了第二步骤的最终结果,即,PE 608与对等链路D之间的隧道的终止点移动到对等链路C。另外,图形表示612示出了将从对等链路A被重新分配给对等链路D的净8Gb/s。

图6D示出了由图6A-6C所示的执行计划步骤所产生的流量分配的图形表示。图形表示630示出了第三步骤和最后一个步骤的净结果,即,PE 607与对等链路A之间的隧道的终点移动到对等链路D。

图7是根据本公开中描述的至少一种示例性技术的可以在其中实现本文中描述的一些或全部技术的示例环境700的框图。如图7所示,环境700可以包括客户端设备710、控制器平台720、网络730和网络730的一组网络设备740。环境700的设备可以经由有线连接、无线连接或有线和无线连接的组合而互连。

客户端设备710包括能够接收、生成、存储、处理和/或提供诸如本文中描述的信息等信息的一个或多个设备。例如,客户端设备710可以包括移动电话(例如,智能电话、无线电话等)、膝上型计算机、平板计算机、台式计算机、手持计算机、游戏设备、可穿戴通信设备(例如,智能手表、智能眼镜、心率监测器、健身追踪器、智能服装、智能珠宝、头戴式显示器等)或类似类型的设备。在一些实现中,客户端设备710可以经由网络730和网络设备740从控制器平台720接收信息和/或向控制器平台720传输信息。在一些实现中,客户端设备710可以经由网络730从其他客户端设备710接收网络流量和/或可以向其他客户端设备710提供网络流量(例如,通过使用网络设备740作为中介来路由分组)。

控制器平台720包括利用出口对等工程来确定最佳流量计划并且实施最佳流量计划的一个或多个设备。例如,控制器平台720可以是图1A和1B的网络控制器104。在一些实现中,控制器平台720可以被设计为模块化的,使得可以取决于特定需要而将某些软件组件换入或换出。这样,可以容易地和/或快速地重新配置控制器平台720以用于不同用途。在一些实现中,控制器平台720可以从一个或多个客户端设备710和/或网络设备740接收信息和/或向一个或多个客户端设备710和/或网络设备740传输信息。

在一些实现中,如图所示,控制器平台720可以托管在云计算环境722中。值得注意的是,尽管本文中描述的实现将控制器平台720描述为托管在云计算环境722中,但是在一些实现中,控制器平台720可以并非基于云(即,可以在云计算环境之外实现),也可以部分基于云。

云计算环境722包括托管控制器平台720的环境。云计算环境722可以提供不需要最终用户了解托管控制器平台720的系统和/或设备的物理位置和配置的计算、软件、数据访问、存储等服务。如图所示,云计算环境722可以包括一组计算资源724(统称为“计算资源724”并且个体地称为“计算资源724”)。

计算资源724包括一个或多个个人计算机、工作站计算机、大型机设备或其他类型的计算和/或通信设备。在一些实现中,计算资源724可以托管控制器平台720。云资源可以包括在计算资源724中执行的计算实例、在计算资源724中提供的存储设备、由计算资源724提供的数据传输设备等。在一些实现中,计算资源724可以经由有线连接、无线连接或有线和无线连接的组合与其他计算资源724通信。

如图7进一步所示,计算资源724包括一组云资源,诸如一个或多个应用(“APPs”)724-1、一个或多个虚拟机(“VMs”)724-2、虚拟存储(“VS”)724-3、一个或多个虚拟机管理程序(“HYP”)724-4等。

应用724-1包括可以提供给客户端设备710或由客户端设备710访问的一个或多个软件应用。应用724-1可以消除在客户端设备710和/或网络设备740上安装和执行软件应用的需要。例如,应用724-1可以包括与控制器平台720相关联的软件和/或能够经由云计算环境722提供的任何其他软件。在一些实现中,一个应用724-1可以经由虚拟机724-2向一个或多个其他应用724-1发送/从一个或多个其他应用724-1接收信息。

虚拟机724-2包括执行诸如物理机等程序的机器(例如,计算机)的软件实现。虚拟机724-2可以是系统虚拟机,也可以是进程虚拟机,这取决于虚拟机724-2对任何真实机器的使用程度和虚拟机724-2与任何真实机器的对应关系。系统虚拟机可以提供支持操作系统(“OS”)的执行的系统平台。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实现中,虚拟机724-2可以代表用户(例如,客户端设备710的用户或控制器平台720的操作者)执行,并且可以管理云计算环境722的基础设施,诸如数据管理、同步、或长时间的数据传输。

虚拟存储装置724-3包括在计算资源724的存储系统或设备内使用虚拟化技术的一个或多个存储系统和/或一个或多个设备。在一些实现中,在存储系统的上下文中,虚拟化类型可以包括块虚拟化和文件虚拟化。块虚拟化可以是指从物理存储抽象(或分离)的逻辑存储,使得可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理员灵活地管理最终用户的存储。文件虚拟化可以消除在文件级别访问的数据与物理地存储文件的位置之间的依赖性。这可以优化存储使用、服务器合并和/或无中断文件迁移的性能。

虚拟机管理程序724-4可以提供硬件虚拟化技术,该技术允许多个操作系统(例如,“客户操作系统”)在诸如计算资源724等主机计算机上同时执行。虚拟机管理程序724-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。

网络730包括一个或多个有线和/或无线网络。例如,网络730可以包括蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内部网、互联网、基于光纤的网络等、和/或这些或其他类型的网络的组合。

网络设备740包括能够以本文中描述的方式接收、处理、存储、路由和/或提供流量(例如,分组、其他信息或元数据等)的一个或多个设备。例如,网络设备740可以包括路由器,诸如标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器、提供商路由器(例如,提供商边缘路由器、提供商核心路由器等)、虚拟路由器等。附加地或替代地,网络设备740可以包括网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、云服务器、数据中心服务器等)、负载均衡器和/或类似设备。在一些实现中,网络设备740可以是在诸如机架等壳体内实现的物理设备。在一些实现中,网络设备740可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。在一些实现中,一组网络设备740可以是用于将流量流路由通过网络730的一组数据中心节点。

作为示例,示出了图7所示的设备和网络的数目和布置。实际上,与图7所示的相比,可以有更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或不同地布置的设备和/或网络。图7所示的两个或更多个设备可以在单个设备内实现,或者图7所示的单个设备可以实现为多个分布式设备。附加地或替代地,环境700的一组设备(例如,一个或多个设备)可以执行被描述为由环境700的另一组设备执行的一个或多个功能。

本公开中描述的技术可以至少部分以硬件、软件、固件或其任何组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效的集成或离散逻辑电路系统、以及这样的组件的任何组合。术语“处理器”或“处理电路系统”通常可以是指单独或与其他逻辑电路系统组合的任何前述逻辑电路系统、或任何其他等效电路系统。包括硬件的控制单元也可以执行本公开的一种或多种技术。

这样的硬件、软件和固件可以在同一设备内或在单独的设备内实现以支持本公开中描述的各种操作和功能。另外,所描述的任何单元、模块或组件可以一起或单独地实现为离散但可互操作的逻辑器件。将不同特征描绘为模块或单元旨在突出不同的功能方面,并且不一定暗示这样的模块或单元必须通过单独的硬件或软件组件来实现。而是,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件来执行,或者可以集成在公共或单独的硬件或软件组件内。

本公开中描述的技术也可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中体现或编码。嵌入或编码在计算机可读介质中的指令可以例如在该指令被执行时引起可编程处理器或其他处理器执行该方法。计算机可读介质可以包括非暂态计算机可读存储介质和暂态通信介质。有形且非暂态的计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读存储介质。术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波或其他暂态介质。

已经描述了各种示例。这些和其他示例在所附权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号