5. TE 技术概览
本节简要回顾了在电信和计算机网络中使用IETF协议和架构提出和实施的不同TE相关方法。这些方法被组织成三类:
- 符合第 1.2 节中提供的定义的 TE 机制。
- 依赖于这些 TE 机制的方法。
- 这些 TE 机制和方法使用的技术。
这里的讨论并不求全面。它主要旨在阐明 Internet 中 TE 的现有方法。 [RFC3272] 的第 4 节提供了电信网络中 TE 的历史概述,该文档的第 4.6 节概述了其他标准机构采用的一些早期 TE 方法。 提供对 TE 历史的分析或其他 SDO 进行的 TE 相关工作的清单超出了本文档的范围。
5.1 IETF 流量工程相关项目概览
本小节回顾了IETF与互联网流量工程相关的一些活动。
5.1.1 IETF TE 机制
5.1.1.1 集成服务
IETF 开发了集成服务 (Intserv) 模型,该模型需要先验地为给定的流量预留带宽和缓冲区等资源,以确保满足流量请求的服务质量。 集成服务模型包括尽力而为模型中使用的组件之外的其他组件,例如数据包分类器、数据包调度器和准入控制。 数据包分类器用于识别要接收特定服务级别的流。 数据包调度程序处理对不同数据包流的服务调度,以确保满足 QoS 承诺。 准入控制用于确定路由器是否具有接受新流所需的资源。
集成服务模型最大的问题是可扩展性,特别在是可能有数百万条流在同时传输的大型公有 IP 网络中。
集成服务模型的一个显着特征是它需要从终端系统到路由器 [RFC2753] 的明确 QoS 要求信号。 资源预留协议 (Resource Reservation Protocol, RSVP) 执行此信令功能,并且是集成服务模型的关键组件。 RSVP 在第 5.1.3.2 节中描述。
5.1.1.2 区分服务
IETF 中的区分服务 (Diffserv) 的目标是设计可扩展的机制,将流量分类为行为聚合, 最终允许对每个行为聚合进行不同的处理,尤其是在链路带宽和缓冲区空间等资源短缺的情况下[RFC2475]。 Diffserv 的主要动机之一是为 Internet 中的服务差异化设计替代机制,以减轻 Intserv 模型遇到的可扩展性问题。
Diffserv 使用 IP 标头中的区分服务字段(DS 字段),该字段由以前称为服务类型 (Type of Service, TOS) 的八比特的六位组成。 DS 字段用于指示数据包在传输节点 [RFC2474] 应接收的转发处理。 Diffserv 包括每跳行为 (Per-Hop Behavior, PHB) 组的概念。使用 PHB,可以使用不同的分类、监管、整形和调度规则定义多个服务类别。
对于网络服务的终端用户来说,要利用其互联网服务提供商 (Internet Service Provider, ISP) 提供的差异化服务, 用户可能需要与 ISP 签订 SLA。SLA 可以显式或隐式指定流量调节协议 (Internet Service Provider, TCA), 该协议定义分类器规则以及计量、标记、丢弃和整形规则。
数据包在 Diffserv 网络的入口处被分类,并且可能被监管和整形。 当报文穿越不同Diffserv域的边界时,报文的DS字段可以根据域间已有的协议重新标记。
区分服务仅允许 DS 字段指定有限数量的服务类别。Diffserv 方法相对于 Intserv 模型的主要优点是可扩展性。 资源是按类分配的,状态信息量与类的数量成正比,而不是与应用程序流的数量成正比。
Diffserv模型在每一跳的基础上处理流量管理问题。Diffserv控制模型由微型TE控制机制的集合组成。 为了在Diffserv网络中提供可接受的服务质量,还需要其他TE能力,如容量管理(包括路由控制)。 引入了每域行为(Per Domain Behaviors)的概念,以更好地捕捉整个完整域的差异化服务概念[RFC3086]。
Diffserv 过程也可以应用在 MPLS 场景下。更多信息参见 6.8 节。
5.1.1.3 分段路由策略
SR 策略 [RFC9256] 是 Segment Routing(见第 5.1.3.12 节)的演进,以增强 SR 的 TE 能力。 它是一个框架,可以在一个节点上实例化一个有序的段列表,以实现一个源路由策略,该策略具有特定的目的,用于从该节点进行流量控制。
SR 策略通过元组 <head-end, color, end-point> 来标识。头端是实例化策略的节点的 IP 地址。 端点是策略目标的 IP 地址。颜色是将 SR 策略与意图(例如,低延迟)相关联的索引。
头端节点通过配置或协议扩展(例如 PCEP [RFC8664] 或 BGP [I-D.ietf-idr-segment-routing-te-policy])获知 SR 策略和关联的 SR 路径。 每个 SR 路径都包含一个 Segment-List(SR 源路由路径),头端使用端点和颜色参数对数据包进行分类以匹配 SR 策略,从而确定沿哪条路径转发它们。 如果一个 SR Policy 关联了一组 SR 路径,则每个 SR 路径都关联了一个权重,用于加权负载均衡。 此外,多个 SR 策略可以与一组 SR 路径相关联,以允许将多个流量流放置在相同的路径上。
SR 绑定 SID (BSID) 也可以与每个与 SR 策略相关联的候选路径相关联,或者与 SR 策略本身相关联。 头端节点在转发平面中安装一个以 BSID 为键的条目,并为其分配将与该条目匹配的数据包引导到 SR 策略的选定路径的操作。 这种引流可以通过多种方式完成:
- SID 引流:传入数据包具有与头端本地 BSID 匹配的活动 SID。
- 按目的地引流:传入数据包匹配指示 SR 策略的 BGP/服务路由。
- 按流引流:传入的数据包匹配指示 SR 策略的转发数组(例如,经典的 5 元组)。
- 按策略引流:传入的数据包与将它们定向到 SR 策略的路由策略相匹配。
5.1.1.4 基于传输的TE
除了基于IP的TE机制,基于传输的TE方法可以在特定的部署背景下考虑(例如,数据中心、多宿主)。 例如,3GPP对接入流量引导、交换和分流(Access Traffic Steering, Switching, and Splitting, ATSSS)[ATSSS]服务功能的定义如下:
- 接入流量引导:这是为一个新的流量选择一个接入网络,并将该流量转移到选定的接入网络上。
- 接入流量转换:这是一个正在进行的流量的所有数据包从一个接入网络迁移到另一个接入网络。一次只能使用一个接入网。
- 接入流量分流:这是关于同时在多个接入网络上转发一个流量的数据包。
控制平面用于向主机和特定的网络设备提供一套策略,指定哪些流量有资格使用ATSSS服务。符合ATSSS策略的流量可以按照以下四种模式之一在可用的接入网络中分配。
- 主动-备用:流量通过一个特定的接入(称为 “主动接入”)进行转发,当主动接入不可用时,则切换到另一个接入(称为 “备用接入”)。
- 基于优先级:网络接入被分配了优先级,表明哪个网络接入将被首先使用。与匹配流量相关的流量将被引导到具有最高优先级的网络接入,直到检测到拥堵,然后溢出的流量将被转发到下一个最高优先级的接入。
- 负载平衡:流量按照分配比例(如75%-25%)在可用的接入网络中分配。
- 最小延迟:流量通过提出最小的往返时间(RTT)的接入转发。
出于资源管理的目的,主机和网络设备支持拥堵控制、RTT测量和数据包调度等手段。 对于TCP流量,多路径TCP[RFC8684]和0-RTT转换协议[RFC8803]被用来提供ATSSS服务。
QUIC [RFC9000] 是一种基于 UDP 的多路复用安全传输协议。 QUIC 为应用程序提供用于结构化通信、低延迟连接建立和网络路径迁移的流量控制流。
QUIC 是一种面向连接的协议,它在客户端和服务器之间创建有状态的交互。QUIC 使用结合了加密和传输参数协商的握手过程。 这是与其他传输协议的关键区别。
使用 QUIC 可以支持 ATSSS 切换和控制功能。事实上,QUIC 支持连接迁移过程, 允许对等方更改其传输坐标(IP 地址、端口号),而无需中断底层 QUIC 连接。 虽然尚未为 QUIC 开发对 ATSSS 拆分的支持,但多路径数据报拥塞控制协议 (MP-DCCP) [RFC4340] 的扩展 支持在每个数据包级别跨多个路径拆分 UDP 和普通 IP 流的数据流量,具体可以在 [I-D.ietf-tsvwg-multipath-dccp] 中找到。
5.1.1.5 确定性网络
确定性网络 (DetNet) [RFC8655] 是一种用于具有关键时序和可靠性要求的应用程序的体系结构。 分层架构特别侧重于在数据平面 [RFC8938] 中开发 DetNet 服务能力。 DetNet 服务子层提供了一组数据包复制、消除和排序功能 (PREOF) 功能,以提供端到端的服务保证。 DetNet 转发子层使用资源分配和显式路由机制提供相应的转发保证(低丢包、有界延迟和有序交付)功能。
分成两个子层可以更灵活地适应多种 TE 数据平面机制(例如 IP、MPLS 和分段路由)上的 Detnet 功能。 更重要的是,它互连部署在工业控制和自动化系统 (ICAS) 中的 IEEE 802.1 时间敏感网络 (TSN) [RFC9023]。
DetNet 可以看作是 TE 的一个专门分支,因为它设置了显式优化路径,并根据请求分配资源。 DetNet 应用程序可以使用子层中描述的 DetNet 功能的任意组合来表达其 QoS 属性或流量行为。 然后使用流量工程采用的完善的控制和供应机制来分发和供应它们。
在 DetNet 中,需要大量的状态信息来维护每个流的排队规则和大量单个流的资源预留。 这对于在网络事件(例如故障、流量变化或重新配置)期间的网络操作来说可能是相当具有挑战性的。 因此,DetNet 推荐支持聚合流,但仍然需要大量的控制信令来建立和维护 DetNet 流。
5.1.2 依赖 TE 机制的 IETF 方法
5.1.2.1 应用层流量优化
本文档描述了网络中可用的各种 TE 机制。 然而,一般的分布式应用程序,特别是用于例如文件共享的带宽贪婪的 P2P 应用程序不能直接使用这些技术。 根据 [RFC5693],应用程序可以通过与了解网络拓扑的外部服务合作,极大地改善流量分布和质量。 解决应用层流量优化(Application-Layer Traffic Optimization, ALTO)问题, 一方面是部署ALTO服务,为应用提供底层网络信息(如基本网络位置结构、网络路径偏好等), 另一方面,增强应用程序,以便使用此类信息对与它们建立连接的端点进行比随机选择更好的选择。
ALTO 的基本功能是基于网络的抽象地图。 这些地图提供了一个简化的视图,但有关网络的足够信息可供应用程序有效地利用它们。附加服务建立在地图之上。 [RFC7285] 描述了一种将 ALTO 服务实现为信息发布接口的协议,该接口允许网络发布其网络信息,例如网络位置、 它们之间的可配置粒度成本以及网络应用程序的终端主机属性。 ALTO 协议发布的信息应该有利于网络和应用程序。 ALTO 协议采用 REST-ful 设计,并使用 JSON [RFC8259] 对其请求和响应进行编码,采用模块化设计, 将 ALTO 信息发布分为多个 ALTO 服务(例如,地图服务、地图过滤服务、端点属性服务)和端点成本服务)。
[RFC8189] 定义了一项新服务,允许 ALTO 客户端在对 ALTO 过滤成本图和端点成本图的单个请求中检索多个成本指标。 [RFC8896] 扩展了 ALTO 成本信息服务,使应用程序不仅可以决定“在哪里”连接,还可以决定“何时”连接。 这对于需要执行批量数据传输并希望在非高峰时段安排这些传输的应用程序很有用。 [I-D.ietf-alto-performance-metrics] 介绍了网络性能指标,包括网络延迟、抖动、丢包率、跳数和带宽。 ALTO 服务器可以从 BGP-LS(参见第 5.1.3.10 节)或 IGP-TE(参见第 5.1.3.9 节)或管理工具中导出和聚合此类性能指标, 然后公开信息以允许应用程序确定“位置”根据网络性能标准进行连接。 ALTO WG 正在评估网络 TE 属性的使用,同时为边缘计算和数据中心互连等新用例做出应用决策。
5.1.2.2 网络虚拟化和抽象
软件定义网络 (SDN) [RFC7149] 的主要驱动力之一是网络控制平面与数据平面的解耦。 随着 MPLS/GMPLS(参见第 5.1.3.3 节和第 5.1.3.5 节)和 PCE(第 5.1.3.11 节)的发展,TE 网络已经实现了这种分离。 SDN 的优势之一是其逻辑上集中的控制机制,允许底层网络的全局视图。与分布式网络控制相比,SDN中的集中控制有助于提高网络资源利用率。
TE 网络的抽象和控制 (Abstraction and Control of TE Networks, ACTN) [RFC8453] 定义了一个分层的 SDN 架构, 它描述了跨多个域协调资源的功能实体和方法,以提供端到端的流量工程服务。 ACTN 促进端到端连接并将它们提供给用户。ACTN 专注于:
- 底层网络资源的抽象以及如何将它们提供给更高层的应用程序和客户。
- 虚拟化底层资源以供客户、应用程序或服务使用。虚拟化环境的创建允许运营商将多域网络作为单个虚拟化网络来查看和控制。
- 通过开放和可编程的接口将网络作为虚拟网络呈现给客户。
ACTN 管理的基础设施是从流量工程网络资源构建的, 这些资源可能包括统计数据包带宽、物理转发平面源(例如波长和时隙)、转发和交叉连接功能。 ACTN 中看到的网络虚拟化类型允许客户和应用程序(租户)利用和独立控制分配的虚拟网络资源, 就好像它们实际上是他们自己的资源一样。 ACTN 网络被“切片”,租户被赋予物理底层网络的不同部分和抽象拓扑视图。
5.1.2.3 网络切片
IETF 网络切片是一种逻辑网络拓扑,使用一组共享或专用网络资源 [I-D.ietf-teas-ietf-network-slices] 连接多个端点。 这些资源用于满足消费者指定的特定服务级别目标 (Service Level Objectives, SLO)。
IETF 网络切片本身并不是 TE 构造。然而,提供 IETF 网络切片的网络运营商可能会使用许多 TE 工具来管理他们的网络并提供服务。
IETF 网络切片的定义使其独立于所使用的底层基础设施连接和技术。 从客户的角度来看,IETF 网络切片看起来像一个 VPN 连接矩阵,其中包含有关端点之间所需服务级别的附加信息。 从运营商的角度来看,IETF 网络切片看起来像是一组路由或隧道指令,其中包含提供 SLO 指定的所需服务级别所需的网络资源预留。 IETF 网络切片的概念与增强型 VPN (VPN+) [I-D.ietf-teas-enhanced-vpn] 一致。
5.1.3 用于 TE 机制的 IETF 技术
5.1.3.1 基于约束的路由
基于约束的路由是指一类路由系统,它在满足一组约束和要求的情况下计算通过网络的路由。 在最一般的情况下,基于约束的路由也可能寻求优化整体网络性能,同时最小化成本。
约束和要求可能由网络本身或管理策略强加。约束可能包括带宽、跳数、延迟和资源类属性等策略工具。 约束还可以包括某些网络技术的域特定属性和对路由功能的解决方案空间施加限制的上下文。 MPLS 等面向路径的技术使基于约束的路由在公共 IP 网络中变得可行并具有吸引力。
IP 网络中 MPLS TE 要求上下文中基于约束的路由的概念首先在 [RFC2702] 中描述,并导致了 MPLS-TE [RFC3209] 等的发展,如第 5.1.3.3 节所述。
与基于 QoS 的路由不同(例如,参见 [RFC2386]、[MA] 和 [I-D.ietf-idr-performance-routing]), 它们通常解决路由单个流量流的问题,根据网络资源的可用性,满足规定的基于流量的QoS要求, 而基于约束的路由适用于流聚合和流,并且可能受到各种约束,其中可能包括策略限制。
5.1.3.1.1 IGP 灵活算法(Flex-Algos)
IGP 网络中路由的传统方法依赖于 IGP 仅根据分配给链路的 IGP 度量值在网络上导出“最短路径”。 这种方法通常是有限的:流量可能倾向于向目的地汇聚,可能造成拥塞; 并且不可能根据应用程序要求的端到端质量将流量引导到路径上。
为克服此限制,广泛部署了各种类型的 TE(如本文档中所述),其中 TE 组件负责根据其他指标和/或约束计算路径。 此类路径(或隧道)需要安装在路由器的转发表中,以补充或替代 IGP 计算的原始路径。 这些 TE 方法的主要缺点是协议和管理的额外复杂性,以及可能需要在网络内维护的状态。
IGP 灵活算法 (flex-algo) [RFC9350] 允许 IGP 通过计算基于约束的下一跳来在网络上构建基于约束的路径。 flex-algo 的目的是通过让 IGP 执行一些基本的 TE 计算功能来降低 TE 的复杂性。 flex-algo 包括一组 IGP 扩展,使路由器能够发送 TLV:
- 描述一组网络拓扑的约束
- 识别计算类型
- 描述度量类型,用于在受约束的拓扑上计算最佳路径。
计算类型、度量类型和约束条件的特定组合被称为 “灵活算法定义”(或FAD)。 发送这样一组TLV的路由器也为指定的计算类型、度量类型和约束条件的组合分配一个特定的标识符(灵活算法)。
flex-algo 有两个用例:IP 网络 [I-D.ietf-lsr-ip-flexalgo] 和分段路由网络 [RFC9350]。 在第一种情况下,flex-algo 计算到 IPv4 或 IPv6 地址的路径, 在第二种情况下,flex-algo 计算到前缀 SID 的路径(参见第 5.1.3.12 节)。
灵活算法可以发挥作用的示例包括:
- 扩展 IP 性能指标 [RFC5664] 的功能,其中可以根据性能测量的结果在网络中实例化特定的基于约束的路由(灵活算法)。
- 使用 flex-algo 形成“底层”网络,并使用 TE 技术实现一个 overlay 网络。这种方法可以利用 flex-algo 和 TE 扩展的嵌套组合用于 IGP(参见第 5.1.3.9 节)。
- SR-MPLS 中的 flex-algo(第 5.1.3.12 节)可以作为基础轻松构建类似 TE 的拓扑结构,无需路由器上的 TE 组件或使用 PCE(参见第 5.1.3.11 节)。
- 用于支持网络切片 [I-D.ietf-teas-ietf-network-slices],其中特定 IETF 网络切片的 SLO 可以由 flex-algo 保证, 或者可以使用 flex-algo 创建过滤拓扑(Filtered Topology) [I-D.ietf-teas-ietf-network-slices]。
5.1.3.2 RSVP
RSVP 是一种软状态信令协议 [RFC2205]。它支持接收方发起的多播和单播流资源预留建立。 RSVP 最初是作为集成服务框架(参见第 5.1.1.1 节)内的信令协议开发的, 用于应用程序向网络传达 QoS 要求,以及网络保留相关资源以满足 QoS 要求 [RFC2205]。
在 RSVP 中,流量发送方或源节点向流量接收方发送一条 PATH 消息,其源地址和目标地址与发送方将生成的流量相同。 PATH 消息包含:(1) 描述流量特征的发送方流量规范,(2) 指定流量格式的发送方模板,以及 (3) 一个可选的宣告规范,用于支持 One Pass With Advertising (OPWA) 的概念[RFC2205]。 路径上的每个中间路由器都将 PATH 消息转发到路由协议确定的下一跳。 在接收到 PATH 消息后,接收方使用 RESV 消息进行响应,其中包括用于请求资源预留的流描述符。 RESV 消息沿着 PATH 消息所经过的路径以相反的方向传播到发送方或源节点。 路径上的每个中间路由器都可以拒绝或接受 RESV 消息的保留请求。 如果请求被拒绝,拒绝路由器将向接收方发送错误消息,信令过程将终止。 如果请求被接受,则为该流分配链路带宽和缓冲空间,并将相关的流状态信息安装在路由器中。
原始 RSVP 规范的问题之一是可扩展性。这是因为微流需要保留, 因此网络元素维护的状态量往往会随着流量的数量线性增加。 这些问题在 [RFC2961] 中进行了描述,它还修改和扩展了 RSVP 以减轻扩展问题, 从而使 RSVP 成为 Internet 的通用信令协议。 例如,RSVP 已扩展为为流聚合预留资源,建立 MPLS 显式标签交换路径(参见第 5.1.3.3 节),并在 Internet 中执行其他信令功能。 [RFC2961] 还描述了一种减少维持已建立的 RSVP 会话所需的刷新消息数量的机制。
5.1.3.3 多标签交换(MPLS)
MPLS 是一种转发方案,也包括对传统 IP 控制平面协议的扩展。MPLS 扩展了互联网路由模型并增强了数据包转发和路径控制 [RFC3031]。
在 MPLS 域的入口处,标签交换路由器 (Label Switching Router, LSR) 根据多种因素将 IP 数据包 分类为转发等价类 (Forwarding Equivalence Classes, FECs),包括:数据包的IP报头中携带的信息和LSR维护的本地路由信息的组合。 然后根据每个数据包的转发等价类将 MPLS 标签堆栈条目添加到每个数据包的前面。 MPLS标签堆栈条目长32位,包含20位标签字段。
LSR 通过使用数据包前面的标签作为本地下一跳标签转发条目 (next hop label forwarding entry, NHLFE) 的索引来做出转发决策。 然后按照 NHLFE 中的规定处理数据包。传入标签可以被传出标签替换(标签交换),并且数据包可以被转发到下一个LSR。 在数据包离开 MPLS 域之前,其 MPLS 标签可能会被删除(标签弹出)。 标签交换路径(Label Switched Path, LSP)是标签分组所经过的入口LSR和出口LSR之间的路径。 显式 LSP 的路径是在 LSP 的起始(入口)节点处定义的。 MPLS可以使用RSVP或LDP等信令协议来建立LSP。
MPLS 是互联网 TE 的一项强大技术,因为它支持显式 LSP,从而允许在 IP 网络中有效实施基于约束的路由 [AWD2]。 [RFC2702] 中描述了 MPLS 上的 TE 的需求。[RFC3209] 和第 5.1.3.4 节讨论了支持显式 LSP 实例化的 RSVP 扩展。
5.1.3.4 RSVP-TE
RSVP-TE 是用于流量工程的 RSVP(第 5.1.3.2 节)的协议扩展。基本规范可在 [RFC3209] 中找到。 RSVP-TE 支持使用松散或严格的路径,并考虑可用带宽等网络约束来建立流量工程的 MPLS LSP (TE LSP)。 该扩展支持显式路径上的信令 LSP,这些路径可以由管理指定或由适当的实体(例如 PCE,第 5.1.3.11 节) 基于 QoS 和策略要求计算,同时考虑 IGP 扩展所通告的主要网络状态。对于 IS-IS,请参见 [RFC5305], 对于 OSPFV2,请参见 [RFC3630],对于 OSPFv3,请参见 [RFC5329]。RSVP-TE 支持沿路径预留资源(例如带宽)。
RSVP-TE 包括基于优先级抢占 LSP 的能力,并使用链路亲和性在 LSP 路径中包含或排除链路。 该协议进一步扩展为支持快速重路由 (FRR) [RFC4090]、Diffserv [RFC4124] 和双向 LSP [RFC7551]。 [RFC3473] 中指定了支持 GMPLS 的 RSVP-TE 扩展(参见第 5.1.3.5 节)。
点对多点 (P2MP) MPLS TE LSP 的需求记录在 [RFC4461] 中, 通过 RSVP-TE 设置 P2MP MPLS TE LSP 的信令协议扩展在 [RFC4875] 中定义, 其中 P2MP LSP 由多个源到叶子(source-to-leaf, S2L) 子 LSP 组成。 为了确定 P2MP LSP 的路径,分支点的选择(基于功能、网络状态和策略)是关键。
RSVP-TE 已经发展到使用 对 IS-IS [RFC8570] 和 OSPF [RFC7471] 协议的扩展和基于 STAMP [RFC8972] 和 TWAMP [RFC5357] 的性能测量 来为低延迟路径的路径选择提供实时动态度量。
RSVP-TE 历史上在带宽受限时使用,但是,随着带宽的增加, RSVP-TE 已发展成为一种带宽管理工具,可提供对带宽的有效利用和主动资源管理。
5.1.3.5 广义的MPLS
GMPLS 将 MPLS 控制协议扩展为涵盖时分(例如,同步光网络/同步数字体系 (SONET/SDH)、准同步数字体系 (PDH)、光传输网络 (OTN))、 波长 (lambda) 和空间交换 (例如,传入端口或光纤到传出端口或光纤)以及继续支持数据包交换。 GMPLS 为所有这些层(包括一些特定于技术的扩展)提供一组通用的控制协议,每个层都有不同的数据或转发平面。 GMPLS 涵盖了控制平面的信令和路由部分,并且基于 MPLS 的 TE 扩展(参见第 5.1.3.3 节)。
在GMPLS中,原有的MPLS架构被扩展为包括转发平面依赖于电路交换的LSR,因此不能基于分组或信元头中携带的信息来转发数据。 具体而言,此类LSR包括基于时隙、波长或物理端口进行切换的设备。 这些新增内容会影响基本 LSP 属性:如何请求和传送标签、MPLS LSP 的单向性质、如何传播错误以及为同步入口和出口 LSR 提供的信息。
5.1.3.6 IP 性能指标
IETF IP 性能指标 (IP Performance Metrics, IPPM) 工作组开发了一套标准指标,可用于监控互联网服务的质量、性能和可靠性。 网络运营商、最终用户和独立测试小组可以应用这些指标,为用户和服务提供商提供对其使用/提供的互联网组件“云”的性能和可靠性的共识 [RFC2330]。 IPPM 工作组制定的绩效指标标准在 [RFC2330] 中进行了描述。 性能指标的示例包括单向数据包丢失 [RFC7680]、单向延迟 [RFC7679] 和两个节点之间的连接测量 [RFC2678]。其他指标包括数据包丢失和延迟的二阶测量。
IPPM 工作组指定的一些性能指标对于指定 SLA 非常有用。SLA 是用户和服务提供商之间协商的一组服务级别目标,其中每个目标是一个或多个性能指标的组合,可能受到某些约束。
5.1.3.7 流测量
IETF 实时流量测量 (Real Time Flow Measurement, RTFM) 工作组制定了一种架构,该架构定义了指定流量的方法以及用于流量测量的许多组件(仪表、抄表器、管理器)[RFC2722]。 流量测量系统能够出于多种目的在流量级别测量和分析网络流量。正如 RFC 2722 中所述,流量测量系统在以下情况下非常有用:
- 了解现有网络的行为
- 规划网络开发和扩展
- 量化网络性能
- 验证网络服务质量
- 知道用户的网络使用情况。
流量测量系统由仪表、读表器和管理器组成。 仪表观察经过测量点的数据包,将其分组,累积使用数据(例如每组的数据包数和字节数),并将使用数据存储在流表中。 组可以代表用户应用程序、主机、网络等的任何集合。 抄表器从各种仪表收集使用数据,以便可以将其用于分析。管理器负责配置和控制仪表和读表器。 仪表从管理器接收的指令包括流量规格、仪表控制参数和采样技术。 抄表器从管理器接收的指令包括要采集数据的仪表的地址、数据采集的频率以及要采集的流量的类型。
5.1.3.8 端拥塞管理
[RFC3124]提供了一组使用传输协议的拥塞控制机制。它还允许开发统一端点活动单播连接子集(称为拥塞组)的拥塞控制机制。 拥塞管理器持续监视其控制下的每个拥塞组的路径状态。管理器使用该信息来指示调度程序如何在该拥塞组的连接之间划分带宽。
5.1.3.9 IGP 的 TE 扩展
[RFC5305]描述了IS-IS协议的扩展以支持TE,类似地[RFC3630]指定了OSPFv2的TE扩展,并且[RFC5329]对OSPFv3具有相同的描述。
IS-IS和OSPF共享TE扩展的共同概念,用于分配TE参数,例如链路类型和ID、本地和远端IP地址、TE度量、最大带宽、最大可预留带宽和未预留带宽以及管理组。 IGP 以这种方式分发的信息可用于构建 TE 网络的状态和功能视图(参见第 5.1.3.14 节)。
IS-IS和OSPF的区别在于它们如何编码和传输TE参数的细节:
- IS-IS 使用扩展 IS 可达性 TLV(类型 21)、扩展 IP 可达性 TLV(类型 135)和 TE 路由器 ID TLV(类型 134)。 这些 TLV 使用 [RFC8570] 中描述的特定子 TLV 来携带 TE 参数。
- OSPFv2 使用不透明 LSA [RFC5250] 类型 10,OSPFv3 使用 Intra-Area-TE-LSA。 在这两种 OSPF 情况下,都使用两个顶级 TLV(路由器地址和链路 TLV), 并且这些 TLV 使用子 TLV 来携带 TE 参数(如 [RFC7471] 中针对 OSPFv2 和 [RFC5329] 中针对 OSPFv3 的定义。
5.1.3.10 BGP 链路状态
在许多环境中,网络外部组件被要求根据网络拓扑和网络内连接的当前状态(包括 TE 信息)执行计算。 这些信息通常由网络内的 IGP 路由协议分发(参见第 5.1.3.9 节)。
边界网关协议 (BGP)(另请参见第 7 节)是将互联网粘合在一起的基本路由协议之一。 BGP 链路状态 (BGP-LS) [RFC7752] 是一种机制,通过 BGP-LS 可以从网络收集链路状态和 TE 信息, 并使用 BGP 路由协议与外部组件共享。该机制适用于物理和虚拟 IGP 链路,并受策略控制。
BGP-LS 收集的信息可用于构建 TED(第 5.1.3.14 节)以供路径计算元素(PCE,请参阅第 5.1.3.11 节)使用, 或者可由应用层流量优化(ALTO) 服务器使用(参见第 5.1.2.1 节)。
5.1.3.11 路径计算元素(PCE)
基于约束的路径计算是 MPLS 和 GMPLS 网络中 TE 的基本构建块。 大型多域网络中的路径计算很复杂,可能需要特殊的计算组件以及不同域中的元素之间的合作。 路径计算元素 (PCE) [RFC4655] 是一个实体(组件、应用程序或网络节点),能够基于网络图计算网络路径或路由并应用计算约束。
因此,在 TE 数据库(TED,参见第 5.1.3.14 节)上运行的 TE 系统中,PCE 可作为中心组件, 负责确定 MPLS、GMPLS 或分段路由网络中的路径。PCE 使用路径计算元素通信协议(PCEP)[RFC5440] 与路径计算客户端(PCC)(如 MPLS LSR)通信, 回答它们对计算路径的请求或指示它们启动新路径[RFC8281],并维护网络中已安装路径的状态[RFC8231]。
PCE 是许多 TE 系统的关键组成部分。有关 PCE 适用性的更多信息可参见 [RFC8051],而 [RFC6805] 则描述了 PCE 在确定跨域路径方面的应用。 PCE 还可用于 TE 网络的抽象与控制 (ACTN)(见第 5.1.2.2 节)、集中式网络控制 [RFC8283] 和软件定义网络 (SDN)(见第 4.3.2 节)。
5.1.3.12 分段路由
分段路由 (SR) 架构 [RFC8402] 利用源路由和隧道范例。数据包采用的路径在入口处定义,数据包通过隧道传输到出口。
在协议实现中,入口节点使用一组称为段的指令来引导数据包,这些指令包含在数据包前面的 SR 标头中: 在 MPLS 的情况下是标签堆栈;在 IPv6 情况下是一系列 128 位段标识符。
段由段标识符 (SID) 标识。有四种与 TE 相关的 SID。
- 前缀 SID:路由域内唯一的 SID,用于标识前缀。
- 节点 SID:设置了 “N"位 的前缀 SID,用于标识节点。
- 邻接 SID:标识单向邻接。
- 绑定 SID:绑定 SID 有两个用途:
- 通告前缀到 SID/标签 的映射。
- 通告转发等价类的可用路径。
一个分段可以代表任何指令,包括拓扑指令或基于服务的指令。 SID 既可以在全局上下文(网络范围)中查找,也可以在其他上下文中查找(例如,请参阅 [RFC5331] 第 3 节中的 “上下文标签”)。 如第 5.1.1.3 节所述,将 “策略” 应用于分段路由可使 SR 成为 TE 机制。
5.1.3.13 Bit Index Explicit Replication Tree Engineering
位索引显式复制 (BIER) [RFC8279] 指定可在 MPLS 或以太网传输上使用的多播转发封装。 称为位索引显式复制树工程 (BIER-TE) [RFC9262] 的机制提供了一个可用于构建流量工程多播系统的组件。 BIER-TE 本身不提供流量工程,并且缩写“TE”在这种情况下并不指流量工程。
在 BIER-TE 中,通过附加到每个数据包的位串的定义来支持路径控制,该位串确定数据包如何在网络内转发和复制。 因此,该比特串引导网络内的流量并形成流量工程系统的元素。 了解网络的功能和状态以及各种业务流的需求的中央控制器能够选择考虑可用资源和需求的多播路径。 因此,该控制器负责流量工程的策略元素。
资源管理对转发平面的影响超出了为 BIER-TE 定义的数据包控制范围。 这包括分配缓冲区以满足准入流量的要求,并且可能包括通过各种形式的排队实现的监管和/或速率整形机制。 这种级别的资源控制虽然是可选的,但对于希望支持拥塞管理策略来控制或调节所提供的流量以提供不同级别的服务并缓解拥塞问题的网络, 或者希望控制特定流量所经历的延迟的网络来说,是非常重要的。
5.1.3.14 TE 状态定义和表示
与TE相关的网络状态需要存储在系统中并呈现给用户。流量工程数据库(TED)是网络中所有TE节点和TE链路的所有TE信息的集合。 它是 TE 系统的重要组成部分,例如 MPLS-TE [RFC2702] 或 GMPLS [RFC3945]。 为了正式定义 TED 中的数据并将数据呈现给用户,可以使用数据建模语言 YANG [RFC7950],如 [RFC8795] 中所述。
5.1.3.15 系统管理和控制接口
TE 控制系统需要有一个人性化的管理界面和一个可编程的自动化控制界面。 网络配置协议(NETCONF)[RFC6241] 或 RESTCONF 协议[RFC8040] 提供了对人友好的可编程界面。 这些协议使用 XML 或 JSON 编码信息。当需要优化控制接口的消息紧凑性或协议带宽消耗时,可使用其他协议, 如受限应用协议(Constrained Application Protocol, CoAP)[RFC7390] 或 gRPC [GRPC], 尤其是当协议消息以二进制格式编码时。除了这些协议,数据建模语言 YANG [RFC7950] 也可用于正式、精确地定义接口数据。
路径计算元件通信协议(PCEP)[RFC5440] 是另一个已发展成为 TE 系统控制接口选项的协议。 PCEP 的信息是基于 TLV 的,而不是由 YANG 等数据建模语言定义的。
5.2 内容分发
互联网主要是客户机与服务器的交互,主要是网络流量和多媒体流,尽管未来更先进的媒体服务器可能会成为主导。 主要信息服务器的位置和性能对互联网内的流量模式以及终端用户对服务质量的感知有重大影响。
为了提高复制信息服务器的性能,人们设计了许多动态负载均衡技术。这些技术可以使互联网的空间流量特性变得更加动态, 因为信息服务器可以根据客户的位置、服务器的位置、服务器的相对利用率、不同网络的相对性能以及网络不同部分的相对性能进行动态选择。 这种将分布式服务器分配给客户端的过程称为流量引导(traffic directing)。这是一项应用层功能。
为客户分配多个地理位置分散的服务器的流量引导方案可能需要经验性的网络性能统计数据,以便做出更有效的决策。 未来,网络测量系统可能需要提供此类信息。
当网络出现拥塞时,流量引导和流量工程系统应协调行动。这个话题还需要进一步研究。
与信息服务器(尤其是网络服务器)的位置和复制有关的问题对互联网流量工程非常重要, 因为这些服务器在互联网流量中占有相当大的比例