zl程序教程

您现在的位置是:首页 >  其他

当前栏目

思科SDwan设计架构--应用性能优化方案

2023-02-19 12:21:05 时间

最近工作中在研究网络应用加速优化方法,在思科SDwan架构设计文档中有应用性能优化实现方案。本文就翻译部分章节内容,具体如下:

架构和组件

思科软件定义广域网解决方案由独立的编排、管理、控制和数据平面组成。 ● 编排平面有助于将 SD-WAN 路由器自动载入 SD-WAN 叠加层。 ● 管理平面负责集中配置和监控。 ● 控制平面构建和维护网络拓扑,并决定流量流向何处。 ● 数据平面负责根据控制平面的决策转发报文。

Cisco SD-WAN 解决方案的主要组件包括 vManage 网络管理系统(管理平面)、vSmart 控制器(控制平面)、vBond 编排器(编排平面)和 WAN 边缘路由器(数据平面)。 ● vManage - 此集中式网络管理系统基于软件,并提供 GUI 用户界面,可轻松监控、配置和维护underlay和overlay网络中的所有 Cisco SD-WAN 设备及其连接的链路。它为第 0 天、第 1 天和第 2 天的操作提供单一管理平台。 ● vSmart 控制器- 此基于软件的组件负责SD-WAN 网络的集中控制平面。它与每个广域网边缘路由器保持安全连接,并通过覆盖管理协议 (OMP) 分发路由和策略信息,充当路由反射器。它还通过反映源自 WAN 边缘路由器的加密密钥信息来协调 WAN 边缘路由器之间的安全数据平面连接,从而实现非常可扩展的无 IKE 架构(使用数据报传输层安全性 (DTLS) 或传输层安全性 (TLS) )。 ● vBond Orchestrator - 此基于软件的组件执行WAN Edge 设备的初始身份验证并协调vSmart、vManage 和WAN Edge 连接。它还在支持网络地址转换 (NAT) 后面的设备之间进行通信方面发挥着重要作用。 ● WAN 边缘路由器——该设备可用作硬件设备或基于软件的路由器,位于物理站点或云中,并通过一个或多个 WAN 传输在站点之间提供安全的数据平面连接。它负责流量转发、安全、加密、服务质量 (QoS)、边界网关协议 (BGP) 和开放最短路径优先 (OSPF) 等路由协议等。 下图展示了 Cisco SD-WAN 解决方案的几个方面。此示例拓扑描述了两个 WAN 边缘站点,每个站点都直接连接到专用 MPLS 传输和公共 Internet 传输。基于云的 SD-WAN 控制器(两个 vSmart 控制器、vBond Orchestrator 以及 vManage 服务器)可通过 Internet 传输直接访问。此外,拓扑还包括对 SaaS 和 IaaS 应用程序的云访问。

WAN Edge路由器与 vSmart 控制器形成永久性数据报传输层安全性 (DTLS) 或传输层安全性 (TLS) 控制连接,并且每个Wan Edge路由器都连接到两个 vSmart 控制器。路由器还与 vManage 服务器形成永久 DTLS 或 TLS 控制连接,但仅通过其中一种传输。WAN 边缘路由器使用 IPsec 隧道通过每个传输安全地与其他 WAN 边缘路由器通信。双向转发检测 (BFD) 协议默认启用并运行在每个隧道上,检测丢失、延迟、抖动和路径故障。

应用性能优化

有多种不同的网络问题会影响最终用户的应用程序性能,包括数据包丢失、WAN网络拥塞、WAN链路延迟高和WAN路径选择不理想。优化应用程序体验对于实现高数据传输效率至关重要。Cisco SD-WAN解决方案可以最大限度地减少丢失、抖动和延迟,并克服 WAN 延迟和转发错误,以优化应用程序性能。 以下 Cisco SD-WAN 功能有助于解决应用程序性能优化问题: ● 应用感知路由:应用感知路由能够为流量创建定制的 SLA 策略并测量 BFD 探针的实时性能。应用程序流量被定向到支持该应用程序 SLA 的 WAN链路。在性能下降期间,如果超过SLA,可以将流量定向到其他路径。 下图显示,对于应用程序 A,路径1和3是有效路径,但路径2不满足SLA,因此它不用于传输应用程序A流量的路径选择。

● 服务质量(QoS):QoS 包括对WAN 路由器接口上的流量进行分类、调度、排队、整形和监管。总之,该功能旨在最大限度地减少关键应用程序流的延迟、抖动和数据包丢失。 ● 前向纠错(FEC) 和数据包复制:这两个功能都用于减少数据包丢失。使用 FEC,发送 WAN Edge 每四个数据包插入一个奇偶校验数据包,接收 WAN Edge 可以根据奇偶校验值重建丢失的数据包。通过数据包复制,发送端 WAN Edge 一次通过两条隧道复制选定关键应用程序的所有数据包,而接收端 WAN Edge 重建关键应用程序流并丢弃重复的数据包。

FEC(Forward Error Correction)目前有一款开源软件UDPspeeder已支持。通过使用前向纠错来提高高延迟有损链路上的网络质量的隧道。

假设您的服务器的本地网络是有损的。只需使用 UDPspeeder + 任何基于 UDP 的 V** 与您的服务器建立 V** 连接,通过此 V** 连接访问您的服务器,您的连接质量将得到显着提高。通过调整好参数,您可以轻松地将 IP 或 UDP/ICMP 丢包率降低到 0.01% 以下。除了降低丢包率之外,UDPspeeder 还可以显着提高您的 TCP 延迟和 TCP 单线程下载速度。 工作原理: UDPspeeder 使用 FEC(前向纠错)来降低丢包率,但会增加带宽。FEC 的算法称为 Reed-Solomon。

没有实际测试过,不清楚具体性能,感兴趣的可以测试一下:https://github.com/wangyu-/UDPspeeder

● TCP 优化和会话持久性:例如,这些功能可以解决长途或高延迟卫星链路的高延迟和低吞吐量问题。通过 TCP 优化,WAN 边缘路由器充当客户端和服务器之间的 TCP 代理。使用会话持久性,不是为每个单独的 TCP 请求和响应对创建一个新连接,而是使用单个 TCP 连接来发送和接收多个请求和响应。

另外AppEx Networks提出了广域网优化技术RTT:Real-Time TCP Tunnel,实时 TCP 隧道。隧道包含了两个 POP 之间 1 条或多条 ZetaTCP 加速的 TCP 连接。在 Linux 系统中,RTT 可以作为标准网络接口使用。

国外的一家公司Aryaka的应用加速技术感觉和思科的是一样的方案:https://www.aryaka.com/optimize-application-performance/

参考链接:

1、[ipsec][strongswan]隧道网络加速FEC讨论 https://www.cnblogs.com/hugetong/p/11522557.html 2、思科SDwan设计架构 https://www.cisco.com/c/en/us/td/docs/solutions/CVD/SDWAN/cisco-sdwan-design-guide.html 3、FEC应用开源项目UDPspeeder代码 https://github.com/wangyu-/UDPspeeder 4、udp2raw-隧道 https://github.com/wangyu-/udp2raw