本节深入概述了 VMware SD-WAN 服务使用的动态多路径优化 (DMPO)。

概述

VMware SD-WAN™解决方案允许企业和服务提供商同时使用多个 WAN 传输。这样,它们就可以增加带宽并确保应用程序性能。该解决方案适用于内部部署和云应用程序 (SaaS/IaaS)。它使用通过多个隧道构建覆盖网络的云交付架构。它实时监控并适应 WAN 传输的变化。动态多路径优化 (Dynamic Multipath Optimization, DMPO) 是 VMware SD-WAN 开发的一项技术,旨在提高覆盖网络的弹性。它考虑 WAN 链路的实时性能。本文档介绍了 DMPO 的主要功能和优势。

下图描述了具有多云非 SDWAN 目标的典型 SD-WAN 部署。

主要功能

DMPO 是 VMware SD-WAN 用于数据流量处理和转发的技术。它适用于 VMware SD-WAN Edge 和 VMware SD-WAN 网关设备。这些设备是 DMPO 端点。
  • 对于企业位置(分支到分支或分支到 Hub),Edge 会相互创建 DMPO 隧道。
  • 对于云应用程序,每个 Edge 创建具有一个或多个网关的 DMPO 隧道。
DMPO 具有下面讨论的三个主要功能。

持续监控

自动带宽发现:VMware SD-WAN Edge 检测到 WAN 链路后,它首先与一个或多个 VMware SD-WAN 网关建立 DMPO 隧道,并使用最近的网关运行带宽测试。带宽测试是通过发送短突发的双向流量并测量每一端的接收速率来执行的。由于网关部署在 Internet PoP 上,因此,如果 Edge 接口位于 NAT 或 PAT 设备后面,它还可以识别 WAN 链路的实际公用 IP 地址。类似的过程适用于专用链路。对于充当 Hub 或头端的 Edge,WAN 带宽是静态定义的。但是,在分支 Edge 与 Hub Edge 建立 DMPO 隧道时,它们遵循相同的带宽测试过程,类似于在公用链路上的 Edge 和网关之间执行该隧道的方式。

连续路径监控:动态多路径优化 (DMPO) 在任意两个 DMPO 端点(Edge 或网关)之间的每个隧道上,对性能衡量指标(每个数据包的丢失率、延迟和抖动)执行连续的单向测量。VMware SD-WAN 的每个数据包转向允许在上行链路方向和下行链路方向上做出独立决策,而不会引入任何非对称路由。DMPO 使用被动和主动监控方法。当存在用户流量时,DMPO 隧道标头包含其他性能衡量指标,包括序列号和时间戳。这使得 DMPO 端点能够识别丢失和无序数据包,并计算每个方向的抖动和延迟。DMPO 端点每 100 毫秒在彼此之间传递一次路径的性能衡量指标。

虽然没有用户流量,但每 100 毫秒发送一次活动探测,在无高优先级用户流量 5 分钟后,探测频率将降低到 500 毫秒。这种全面测量使 DMPO 能够非常快速地应对底层 WAN 状况的变化,从而能够提供亚秒级保护,防止 WAN 中的带宽容量突然下降和中断。

MPLS 服务类别 (CoS):对于具有 CoS 协议的专用链路,可以配置 DMPO 以在做出监控和应用程序转向决策时考虑 CoS。

动态应用程序转向

应用程序感知的每个数据包转向:动态多路径优化 (DMPO) 使用 L2 层到 L7 属性(例如 VLAN、IP 地址、协议和应用程序)标识流量。VMware SD-WAN 根据业务策略配置和实时链路条件为每个数据包执行应用程序感知型转向。业务策略包含即时可用的智能默认值,可指定超过 2500 个应用程序的默认转向行为和优先级:客户可以立即使用动态数据包转向和应用程序感知优先级,而无需定义任何策略。

在流量的整个生命周期内,任何流量都流向通信中间的一个或多个 DMPO 隧道,不会对流量产生任何影响。链路完全关闭称为中断状况。无法为给定应用程序提供 SLA 的链路称为处于中断状态。VMware SD-WAN 提供亚秒级中断和带宽容量保护突然下降。通过持续监控所有 WAN 链路,DMPO 可在 300-500 毫秒内检测到 SLA 突然丢失或中断情况,并立即引导流量以保护应用程序性能,同时确保对活动流量和用户体验没有任何影响。在 DMPO 将流量引导回首选链路(如果已在业务策略中指定)之前,在清除链路上的中断或中断状况后,将有一分钟的挂起时间。

智能学习通过缓存分类结果,根据应用程序的第一个数据包启用应用程序转向。这是基于应用程序的重定向所必需的,例如,将 Netflix 重定向到分支 Internet 链路,绕过 DMPO 隧道,同时将 Office 365 回传到企业区域 Hub 或数据中心。

示例:智能默认值指定 Microsoft Skype for Business 为高优先级的实时应用程序。假设有 2 个链路,延迟分别为 50 毫秒和 60 毫秒。假设所有其他 SLA 相同或满足。DMPO 选择的链路延迟越好,即延迟为 50 毫秒的链路。如果 Skype for Business 流量转向的当前链路出现 200 毫秒的高延迟,在一秒钟内,Skype for Business 流量的数据包将转向另一个延迟更好的链路(60 毫秒)。

单个流量的带宽聚合:对于可从更多带宽中受益的应用程序类型(例如文件传输),DMPO 执行每个数据包的负载均衡,从而利用所有可用的链路将单个流量的所有数据包传送到目标。DMPO 会考虑实时 WAN 性能,并确定应使用哪些路径发送流量的数据包。它还会在接收端执行重新排序,以确保不会由于每个数据包的负载均衡而引入无序数据包。

示例:两个 50 Mbps 链路可为单个流量提供 100 Mbps 的合计容量。QoS 在聚合链路级别和单个链路级别应用。

按需修复

错误和抖动纠正:在可能无法将流量转向更好链路的场景中(例如,单链路部署或多个链路同时出现问题),动态多路径优化 (DMPO) 可以在 WAN 链路出现问题期间启用错误纠正。使用的纠错类型取决于应用程序的类型和错误类型。

在发生数据包丢失时,语音和视频流等实时应用程序可以从前向纠错 (Forward Error Correction, FEC) 中受益。DMPO 自动在单个或多个链路上启用 FEC。当有多个链路时,DMPO 将在任何给定时间为 FEC 选择最多两个最佳链路。丢弃重复的数据包,在传送到最终目标之前,将在接收端对无序数据包进行重新排序。

当 WAN 链路发生抖动时,DMPO 为实时应用程序启用抖动缓冲区。TCP 应用程序(如文件传输)会从否定确认 (NACK) 中获益。检测到缺少的数据包后,接收 DMPO 端点会通知发送 DMPO 端点重新传输丢失的数据包。这样做可以防止最终应用程序检测数据包丢失,从而最大限度地利用 TCP 窗口,即使在有损情况下也能提供高 TCP 吞吐量。

当数据包丢失率超过特定阈值时,通过重复数据包提示启动自适应前向纠错 (FEC)。应用的错误更正基于流量类:

  • 事务/批量流量:在这种情况下,我们应用基于 NACK 的重新传输算法,该算法在 VCMP 协议级别完成,在将数据包传送到应用程序之前我们会尝试纠正错误状况。
  • 实时流量:在这种情况下,我们应用自适应 FEC 复制数据包(在违反丢失 SLA 时激活/停用)和/或抖动缓冲区纠正(违反抖动 SLA 时 - 只能激活,并将在流量的生命周期内持续存在)。

链路 SLA(丢失、延迟、抖动)将持续定期监控和测量,并在实时流量(语音与视频应用程序的不同值)违反阈值时激活 FEC(数据包重复)。

在单个 WAN 链路场景中,在彼此相邻的同一链路上传输重复的数据包。由于拥堵导致的数据包丢弃是随机的,因此在统计上不太可能丢弃两个相邻数据包,这大大提高了其中一个数据包通过目标的可能性。对于两个或更多 WAN 链路,将在单独的链路上发送复制的数据包。

自适应 FEC 根据测量的数据包丢失率阈值按流量实时触发,并在数据包丢失率不再超过激活阈值后实时禁用。这可确保尽可能高效地使用可用带宽,避免不必要的数据包重复,并减少资源开销。VMware 的自适应 FEC 方法的另一个显著优点是,最大限度地降低或消除传输网络中数据包丢失对最终用户设备的影响。当最终用户设备没有看到数据包丢失时,将撤销重新传输并避开 TCP 拥塞避免机制(如缓慢启动),这可能会对整体吞吐量、应用程序性能和最终用户体验产生负面影响。

DMPO 真实环境结果

场景 1:在单个链路上进行分支到分支 VoIP 通话。下图的结果展示了在具有传统 WAN 和 VMware SD-WAN 的单个 Internet 链路上使用 FEC 和抖动修复进行按需修复的优势。平均意见评分 (MOS) 低于 3.5 是语音或视频通话的不可接受的质量。

场景 2:单链路和多链路在具有或不具有 VMware SD-WAN 情况下的 TCP 性能。这些结果显示了 NACK 如何启用每个数据包的负载均衡。

场景 3:MPLS 链路中断并且 Internet (Comcast) 链路出现抖动和丢失的混合 WAN 场景。这些结果显示了 DMPO 如何将应用程序引导至 Internet 链路并在 Internet 链路上启用按需修复,从而保护应用程序免受亚秒级中断的影响。

业务策略框架和智能默认值

业务策略允许 IT 管理员控制应用程序流量的 QoS、转向和服务。智能默认值提供现成的业务策略,可支持超过 2500 个应用程序。DMPO 根据应用程序类型、实时链路条件(拥堵、延迟、抖动和数据包丢失)和业务策略做出转向决策。以下是一个业务策略示例。

每个应用程序都有一个类别。每个类别都有一个默认操作,即业务优先级、网络服务、链路转向和服务类的组合。您还可以定义自定义应用程序。

每个应用程序都有一个服务类别:实时 (Real Time)事务性 (Transactional)批量 (Bulk)。服务类确定 DMPO 如何处理应用程序流量。您无法更改默认应用程序的服务类,但可以为您自己的自定义应用程序指定服务类。

每个应用程序还具有一个业务优先级:高 (High)正常 (Normal)低 (Low)。业务优先级 确定 DMPO 如何区分应用程序流量的优先级并将 QoS 应用于应用程序流量。您可以更改任何应用程序的业务优先级。

有三种类型的网络服务:直接 (Direct)多路径 (MultiPath)Internet 回传 (Internet Backhaul)。默认情况下,将为应用程序分配一个默认网络服务,客户可以对其进行修改。

  • 直接 (Direct):此操作通常用于应绕过 DMPO 隧道直接发送的非关键可信 Internet 应用程序。例如,Netflix。Netflix 被视为非商业的高带宽应用程序,不应通过 DMPO 隧道发送。直接发送的流量可以在流量级别进行负载均衡。默认情况下,将为所有低优先级应用程序提供“网络服务”的直接操作。
  • 多路径 (MultiPath):通常为重要的应用程序提供此操作。通过插入多路径服务,基于 Internet 的流量将发送到 VMware SD-WAN 网关。下表显示了给定服务类的默认链路转向和按需修复技术。默认情况下,将为高优先级和正常优先级的应用程序提供网络服务的 多路径 操作。
  • Internet 回传 (Internet Backhaul):此操作会将 Internet 应用程序重定向到可能具有也可能没有 VMware SD-WAN Edge 的企业位置。典型的用例是,强制重要的 Internet 应用程序通过具有防火墙、IPS 和内容筛选等安全设备的站点,然后允许流量退出 Internet。

使用传输组进行链路转向抽象化

在不同的分支和 Hub 位置中,可能具有不同 WAN 接口和运营商的 VMware SD-WAN Edge 型号。要使用配置文件强制执行集中式链路转向策略,请务必对接口和承载进行抽象化。传输组提供在不同位置使用的设备和运营商的实际接口的抽象。配置文件级别的业务策略可以应用于传输组,而单个 Edge 级别的业务策略可以应用于传输组、WAN 链路(运营商)和接口。

按传输组的链路转向

不同的位置可能具有不同的 WAN 传输,例如 WAN 运营商名称、WAN 接口名称、DMPO 使用传输组的概念从业务策略配置中抽象底层 WAN 运营商或接口。业务策略配置可以指定传输组(公用有线、公用无线、专用有线等)在转向策略中,可以跨不同的设备类型或位置(可能具有完全不同的 WAN 运营商和 WAN 接口等)应用相同的业务策略配置。在 DMPO 执行 WAN 链路发现时,它还会将传输组分配给 WAN 链路。这是在业务策略中指定链路时最理想的选项,因为 IT 管理员无需了解物理连接或 WAN 运营商。

按接口的链路转向

链路转向策略可以应用于接口,例如 GE2、GE3,具体取决于 Edge 型号和位置。这是在业务策略中使用的最不理想的选项,因为 IT 管理员必须完全了解 Edge 的连接方式,以便能够指定要使用的接口。

链路转向和按需修复

有四个选项可用于链路转向:自动 (Auto)首选 (Preferred)强制 (Mandatory)可用 (Available)

链路选择:强制 (Mandatory) - 将流量固定到链路或传输组。无论链路情况如何(包括中断)都不会将流量转向。将触发按需修复以缓解中断情况,例如数据包丢失和抖动。

示例:Netflix 是一个低优先级应用程序,需要始终位于公用有线链路上。

链路选择:首选 (Preferred) - 选择要标记为“首选”(preferred) 的链路。根据 Edge 上可用的 WAN 链路类型,有三种可能的情况:

  • 如果首选 Internet 链路具有多个公用 WAN 链路备选方案:只要满足该应用程序的 SLA,应用程序流量就会保留在首选链路上,并在首选链路无法提供应用程序所需的 SLA 后转向到其他公用链路。如果没有指向 的链路,这意味着所有公用链路都无法提供应用程序所需的 SLA,则会启用按需修复。或者,DMPO 可以启用按需修复,直到降级过严重而无法修复为止,而不是在当前链路无法提供应用程序所需的 SLA 时立即将应用程序引导开,然后 DMPO 会将应用程序引导至更好的链路。
    • 示例:首选 Internet 链路上的视频协作应用程序,直到它无法提供视频所需的 SLA,然后转向到符合此应用程序 SLA 的公用链路。
  • 如果首选 Internet 链路具有多个公用 WAN 链路和专用 WAN 链路备选方案:只要满足该应用程序的 SLA,应用程序流量就会保留在首选链路上,并在首选链路无法提供应用程序所需的 SLA 后转向到其他公用链路。在 SLA 失败时,首选链路不会转向到专用链路,并且仅当首选链路和另一个公用链路都不稳定或完全关闭时才会转向到该专用链路。如果没有指向 的链路,这意味着另一个公用链路无法提供应用程序所需的 SLA,则启用按需修复。或者,DMPO 可以启用按需修复,直到降级过严重而无法修复为止,而不是在当前链路无法提供应用程序所需的 SLA 时立即将应用程序引导开,然后 DMPO 会将应用程序引导到更好的链路。
    • 示例 A:首选 Internet 链路上的视频协作应用程序,直到它无法提供视频所需的 SLA,然后转向到符合此应用程序 SLA 的公用链路。
    • 示例 B:首选 Internet 链路上的视频协作应用程序,直到它不稳定或被完全丢弃,如果其他公用链路也不稳定或也被完全丢弃,则将转向到可用的专用链路。
  • 如果首选 Internet 链路仅具有专用 WAN 链路备选方案:无论该应用程序的 SLA 状态如何,应用程序流量都将保留在首选链路上,并且不会转向到其他专用链路,即使首选链路无法提供应用程序所需的 SLA。在该应用程序的 SLA 故障时,将启用按需修复,以取代对专用链路的转向。首选链路将转向到专用链路,只有在首选链路不稳定或完全关闭时,才会转向另一个专用链路。
    • 示例:首选 Internet 链路上的视频协作应用程序,直到链路不稳定或被完全丢弃,然后转向到可用的专用链路。
注: 以引用首选链路处理专用链路的默认方式(即,首选链路仅在首选链路不稳定或脱机时才会转向专用链路)可通过 Orchestrator UI 上的设置进行配置。

链路选择:可用 (Available) - 只要可用链路已启动,此选项即可选取该链路。如果链路不符合 SLA 要求,DMPO 将启用按需修复。除非链路关闭,否则 DMPO 不会将应用程序流转向另一个链路。

示例:只要 Internet 链路处于活动状态,就会通过 Internet 链路将 Web 流量回传到使用 Internet 链路的 Hub 站点,而与 SLA 无关。

链路选择:自动 (Auto) - 这是所有应用程序的默认选项。DMPO 根据应用程序类型自动选取最佳链路,并在需要时启用按需修复。对于 Internet 应用程序,链路转向和按需修复具有四种可能的组合。企业中的流量 (VPN) 始终经过 DMPO 隧道,因此,它始终可以获得按需修复功能的好处。

以下示例说明了不同类型的应用程序和链路状况的默认 DMPO 行为。有关不同应用程序类型的默认 SLA,请参阅附录一节。

示例:实时应用程序。

  1. 场景:有一个满足应用程序 SLA 的链路。

    预期 DMPO 行为:选取最佳的可用链路。

  2. 场景:有一个链路的数据包丢失率高于应用程序的 SLA。

    预期 DMPO 行为:为此链路上的实时应用程序启用 FEC。

  3. 场景:有两个链路,且只有一个链路上存在数据包丢失。

    预期 DMPO 行为:在两个链路上启用 FEC。

  4. 场景:有多个链路,且多个链路上存在数据包丢失。

    预期 DMPO 行为:在两个最佳链路上启用 FEC。

  5. 场景:有两个链路,但有一个链路不稳定,例如,丢失三个连续的检测信号。

    预期 DMPO 行为:将该链路标记为不可用,并将流量转向到下一个最佳可用链路。

  6. 场景:有两个同时出现抖动和丢失的链路。

    预期 DMPO 行为:在两个链路上启用 FEC 和抖动缓冲区。在语音抖动超过 7 毫秒并且视频抖动超过 5 毫秒时,启用抖动缓冲区。发送 DMPO 端点告知接收 DMPO 端点以启用抖动缓冲区。接收 DMPO 端点将缓冲最多 10 个数据包或 200 毫秒的流量(以先达到的衡量指标为准)。它使用 DMPO 标头中的原始时间戳来计算消除抖动缓冲区的流速率。如果流量不恒定,则会禁用抖动缓冲。

示例:事务性和批量应用程序。如果数据包丢失率超过每个应用程序类型可接受的阈值(请参考附录以查看此值),则启用 NACK。

安全流量传输

对于专用或内部流量,DMPO 使用端到端 IPsec 传输模式对负载和隧道标头进行加密。负载包含用户流量。DMPO 支持使用 AES128 和 AES256 进行加密。它使用 PKI 和 IKEv2 协议进行 IPsec 密钥管理和身份验证。

使用的协议和端口

DMPO 使用以下端口:

  • UDP/2426 – UDP/2426:此端口用于覆盖网络隧道管理及两个 DMPO 端点(Edge 和网关)之间的信息交换。它还适用于已受保护或不重要的数据流量,例如 Edge 和网关之间从分支到云的 SFDC 流量。SFDC 流量将使用 TLS 进行加密。
  • UDP/500 和 UDP/4500 – 这些端口用于 IKEv2 协商和 IPSec NAT 透明度。
  • IP/50 – 当两个 DMPO 端点之间没有 NAT 时,此协议适用于本机 IP 协议 50 上的 IPSec (ESP)。

附录:QoE 阈值和应用程序 SLA

DMPO 对不同类型的应用程序使用以下 SLA 阈值。当 WAN 链路状况超过一个或多个阈值时,它将立即采取措施以引导受影响的应用程序流量或执行按需修复。数据包丢失率的计算方法是:最后 1 分钟时间间隔内丢失的数据包数除以数据包总数。DMPO 端点每秒传递一次丢失的数据包数。QoE 报告也会反映此阈值。

DMPO 在 300 毫秒内失去通信(无用户数据或探测)时也会立即采取措施。

注: 从版本 5.2.0 开始,用户可以通过“可自定义 QoE”(Customizable QoE) 功能来修改视频、语音和事务性流量类型的延迟阈值。这意味着,客户可以在选择过程中包含高延迟链路,并且 Orchestrator 会将新值应用于 QoE 监控页面。