3. 流量工程过程模型
本节描述了一个通用的过程模型,该模型捕捉了互联网流量工程在运营背景下的高层次的实践问题。 该流程模型被描述为用于优化运营网络的性能的一系列必须执行的行动序列(另见[RFC2702]、[AWD2])。 该流程模型可由软件流程或人工显性或隐性地制定。
流量工程过程模型是迭代式的[AWD2]。下述的过程模型的四个阶段会作为一个连续的序列重复执行。
- 定义管理网络运行的相关控制策略。
- 从运营网络中获取测量数据。
- 分析网络状态并描述流量工作负载。主动分析确定未来可能表现出来的潜在问题。反应性分析确定现有问题并确定其原因。
- 优化网络性能。这涉及到一个决策过程,根据前三个步骤的结果,从一组备选方案中选择并实施一组行动。优化行动可能包括使用技术来控制提供的流量和控制整个网络的流量分布。
3.1 流量工程过程模型的组成
流量工程过程模型的关键组成部分如下。
- 测量对于 TE 功能至关重要。网络的运行状态只能通过测量来最终确定。测量对于优化功能也很重要,因为它提供了 TE 控制子系统使用的反馈数据。 此数据用于自适应优化网络性能,以响应源自网络内外的事件和刺激。支持 TE 功能的测量可以发生在不同的抽象层次上。 例如,测量可用于导出数据包级特征、流级特征、用户或客户级特征、流聚合特征、组件级特征和网络范围特征。
- 建模、分析和仿真是互联网 TE 的重要方面。建模涉及构建描述相关流量特征和网络属性的抽象或物理表示。 网络模型是网络的抽象表示,它捕获相关的网络特征、属性和特性。网络仿真工具对 TE 非常有用。 由于网络行为的现实定量分析的复杂性,网络性能研究的某些方面只能使用模拟来有效地进行。
- 网络性能优化涉及通过将问题转化为支持解决方案的概念、解决方案的识别和解决方案的实施来解决网络问题。 网络性能优化可以是纠正式的或完成式(perfective)的。在纠正式优化中,目标是纠正已经发生或刚刚出现的问题。 在完成式优化中,目标是提高网络性能,即使在不存在且未预料到明显问题的情况下也是如此。
4. 流量工程系统的分类
本节介绍了基于 TE 方式和视图构建的流量工程系统的简短分类,如下所列,并在本文档的后续小节中进行更详细的描述。
- 时间依赖 VS 状态依赖 VS 事件依赖
- 离线 VS 在线
- 集中式 VS 分布式
- 本地 VS 全局
- 规定式 VS 描述式
- 开环式 VS 闭环式
- 战术式 VS 战略式
4.1 时间依赖 VS 状态依赖 VS 事件依赖
TE 方法可以被分类为时间依赖,状态依赖,和时间依赖。在本文档中所有的 TE 方法都被视为动态的。 静态 TE 意味着没有实施 TE 方法或算法 —— 这是网络网络规划的一个特性,但缺乏 TE 的反应性和灵活性。
在时间依赖的 TE 中,基于流量周期性变化(例如一天中的时间)的历史信息用于预编程路由和其他 TE 控制机制。 此外,可以使用客户订阅或流量预测。预编程的路由计划通常会在相对较长的时间范围内(例如,每天)发生变化。 时间相关算法不会尝试适应流量的短期变化或不断变化的网络条件。 时间相关算法的一个例子是全局集中式优化器,其中系统的输入是流量矩阵和多类 QoS 要求,如 [MR99] 所述。 这种方法的另一个例子是将数据挖掘应用于互联网流量 [AJ19], 它可以使用各种机器学习算法来识别历史上收集的关于互联网流量的数据集中的模式,并提取信息以指导决策制定,并提高运营流程的效率和生产力。
状态依赖的 TE 根据网络的当前状态调整路由计划, 网络状态提供有关实际流量变化的附加信息(即,来自常规变化的扰动),这些信息无法使用历史信息进行预测。 基于约束的路由是在相对较长的时间范围内运行的状态依赖 TE 的示例。 [MATE] 中描述的负载平衡算法是在相对较短时间范围内运行的一个示例。 网络状态可以基于路由器泛洪的参数。另一种方法是让执行自适应 TE 的特定路由器沿路径发送探测数据包以收集该路径的状态。 [RFC6374] 定义协议扩展以收集来自 MPLS 网络的性能测量。 另一种方法是管理系统使用遥测数据收集“发布/订阅”技术 [RFC7923] 直接从网络元素收集相关信息。 及时收集和分发状态信息对于自适应 TE 至关重要。 时间相关算法适用于可预测的流量变化,而状态相关算法需要提高网络效率和弹性以适应网络状态的变化。
事件依赖的 TE 方法也可用于 TE 路径选择。事件相关的 TE 方法在选择路径的方式上不同于时间相关和状态相关的 TE 方法。 这些算法本质上是自适应和分布式的,通常使用学习模型来为网络中的 TE 找到好的路径。 虽然状态相关的 TE 模型通常使用可用链路带宽 (available-link-bandwidth, ALB) 泛洪来选择 TE 路径,但事件相关的 TE 方法不需要 ALB 泛洪。 相反,事件相关的 TE 方法通常通过学习模型来搜索容量,如成功登顶(success-to-the-top, STT) 方法。 ALB 泛洪可能是资源密集型的,因为它需要链路带宽来承载 LSA,需要处理器容量来处理 LSA,并且开销会限制区域/自治系统 (AS) 的大小。 建模结果表明,事件相关的 TE 方法可以减少 ALB 泛洪开销,而不会损失网络吞吐量性能 [I-D.ietf-tewg-qos-routing]。
4.2 离线 VS 在线
流量工程需要计算路由计划。计算可以离线或在线执行。 对于不需要实时执行路由计划的场景,可以离线进行计算。例如,根据预报信息计算的路由计划可以离线计算。 通常,离线计算也用于对多维解空间进行广泛的搜索。
当路由计划必须适应不断变化的网络条件时,如在状态相关算法中,则需要在线计算。 与离线计算(可能对计算要求很高)不同,在线计算面向相对简单和快速的计算,来选择路由、微调资源分配和执行负载平衡。
4.3 集中式 VS 分布式
在集中控制下,有一个中央机构代表每个路由器确定路由计划和可能的其他 TE 控制参数。 中央机构定期从所有路由器收集网络状态信息,并向路由器发送路由信息。 双向信息交换的更新周期是直接影响被控网络性能的关键参数。集中控制可能需要高处理能力和高带宽控制通道。
分布式控制根据路由器对网络状态的看法自主决定路由选择。网络状态信息可以由路由器使用探测方法获得, 或者由其他路由器使用链路状态通告周期性地分发。网络状态信息也可以在异常情况下传播。 [RFC5305]、[RFC6119]、[RFC7471]、[RFC8570] 和 [RFC8571] 中定义了用于通告网络链路状态信息的协议扩展示例。 另见第 5.1.3.9 节。
4.3.1 混合式
在实践中,大多数 TE 系统将是中央控制和分布式控制的混合体。 例如,一种流行的 MPLS TE 方法是使用基于主动、有状态路径计算元件(Path Computation Element, PCE) 的中央控制器, 但使用支持在网络内的路由器上做出本地决策的路由和信令协议。 本地决策可能能够更快地响应网络事件,但可能会导致与其他路由器做出的决策发生冲突。
TE 系统的网络操作也可能使用离线和在线计算的混合。 TE 路径可以根据稳态网络信息和计划的流量需求预先计算,但随后可以根据网络状态和流量负载的变化在活动网络中进行修改。 此外,对网络事件的响应可以离线预先计算以允许快速反应而无需进一步计算,或者可以根据事件的性质在线导出。
最后,请注意,一个功能齐全的 TE 系统可能会使用所有如第 4.1 节所述的时间相关、状态相关和事件相关的方法。
4.3.2 软件定义网络的考虑
如第 5.1.2.2 节所述,SDN 的主要驱动力之一是网络控制平面与数据平面的解耦 [RFC7149]。 然而,SDN 也可以结合资源的集中控制,并通过 [RFC8040] 等应用程序编程接口 (API) 促进应用程序与网络的交互。 结合这些特性提供了一个灵活的网络架构,可以适应各种更高层应用的网络需求,这个概念通常被称为“可编程网络”[RFC7426]。
与分布式网络控制相比,SDN 的集中控制方面有助于提高全局网络资源利用率,在分布式网络控制中,本地策略通常会覆盖全局优化目标。 在 SDN 环境中,数据平面将流量转发到其所需的目的地。然而,在流量到达数据平面之前,逻辑上集中的 SDN 控制平面通常会决定应用流量在网络中采用的端到端路径。 因此,SDN 控制平面需要了解底层网络拓扑、功能以及当前节点和链路资源状态。
使用基于 PCE 的 SDN 控制框架 [RFC7491],可以通过运行 OSPF 或 IS-IS 的被动实例或通过 BGP-LS [RFC7752] 来发现可用的网络拓扑,以生成 TED(Traffic Engineering Database, 参见第 5.1.3.14 节))。 PCE 用于根据 TED 和可用带宽计算路径(参见第 5.1.3.11 节),进一步的路径优化可能基于请求的目标函数 [RFC5541]。 当计算出合适的路径时,可以使用端到端信令协议 [RFC3209] 或单跳执行显式网络路径的编程,每个节点由 SDN 控制器直接编程 [RFC8283]。
通过使用集中式网络控制方法,还可以获得额外的网络优势,包括全局并发优化 (Global Concurrent Optimization, GCO) [RFC5557]。 GCO 路径计算请求将同时使用网络拓扑和一组新的端到端路径请求,以及它们各自的约束,以在网络中实现最佳布局。 相应地,可以应用基于 GCO 的计算来重新计算现有网络路径以疏导流量并缓解拥塞。
4.4 本地 VS 全局
流量工程算法可能需要本地和全局网络状态信息。
本地信息是 TE 域的一部分的状态。示例包括特定路径的带宽和丢包率,或网络链路的状态和能力。 局部状态信息对于分布式控制 TE 的某些实例可能就足够了。
全局信息是整个 TE 域的状态。示例包括全局流量矩阵,以及整个感兴趣域中每个链接的加载信息。 集中控制通常需要全局状态信息。分布式 TE 系统在某些情况下也可能需要全局信息。
4.5 规定式 VS 描述式
TE 系统也可分为规定式或描述式的。
规定式流量工程评估备选方案并推荐行动方案。规定式 TE 可以进一步分类为纠正式或完成式。 纠正式 TE 规定了解决现有或预测异常的行动方案。完成式 TE 规定了一个行动方案,即使在没有明显异常的情况下也能提高网络性能。
另一方面,描述性流量工程描述了网络状态并评估各种策略的影响,而不推荐任何特定的行动方案。
4.5.1 基于意图的网络
表达服务请求的一种方式是通过“意图”。基于意图的网络旨在生成更易于管理和操作的网络,只需要最少的干预。 意图在 [RFC9315] 中定义为一组操作目标(网络应该满足的)和结果(网络应该交付的), 以声明方式定义,但没有指定如何实现或实现它们。
意图提供数据和功能抽象,因此用户和操作员无需关心低级设备配置或用于实现给定意图的机制。 这种方法在概念上对用户来说更容易,但在约束和指南方面可能表达能力较差。
基于意图的网络适用于 TE,因为许多高级目标可能被表达为“意图”。例如,负载平衡、服务交付和对故障的鲁棒性。 意图由管理系统转换为网络内的 TE 动作。
4.6 开环 VS 闭环
开环流量工程控制是指控制动作不使用来自当前网络状态的反馈信息。 然而,控制动作可以使用其自己的本地信息来进行核算(accounting)。
闭环流量工程控制是控制动作利用来自网络状态的反馈信息。 反馈信息可以是历史信息或当前的测量。
4.7 战术式 VS 战略式
战术流量工程旨在从战术角度解决网络中出现的特定性能问题(例如热点),而不考虑整体战略要求。 如果没有适当的规划和洞察力,战术 TE 本质上往往是临时的。
战略流量工程从更有组织和系统的角度处理 TE 问题,同时考虑特定政策和行动的直接和长期后果。