VMware SD-WAN by VeloCloud (以下简称 VeloCloud)为企业提供软件定义的广域网 (SD-WAN: Software-Defined Wide Area Network),它在企业现有的物理广域网基础上,虚拟化出一层完全基于软件的广域网络,通过软件优化技术来提高虚拟广域网的数据传输效率。动态多路径优化 DMPO (Dynamic Multiple Path Optimization) 是 VeloCloud 进行网络传输优化的一项主要技术,根据虚拟广域网上每个网段的带宽和拥堵状况动态决定数据包的传输路由,这个就像是开启了带有实时路况的智能导航,总是带你走总耗时最少、交通最顺畅的路段。企业的每个站点可以有多种接入方式,如 MPLS (Multiple protocol Label Switching) 专线、Internet 宽带、甚至是 LTE 移动数据连接,SD-WAN 可以在这几个网络中选择最优的路径,减少传输延迟和丢包现象。
下面给大家看两个 VeloCloud DMPO 技术的演示,演示的场景中包括两个站点,每个站点都有 MPLS 和 Internet 两种链接,MPLS 是多协议标签交换 (Multi-Protocol Label Switching) 的缩写,是一种常见的电信专线接入技术,企业通过租用 MPLS 专线来构建企业广域网;Internet 就是我们通常所用的宽带接入。这两个站点分别有一个边缘网关设备,两个站点的主要区别在于 Edge 设备,站点1 中的 Edge-1 是一个 VeloCloud Edge 设备,站点2中的 Edge-2 是一个普通的路由器。VeloCloud Edge 能够灵活地利用 MPLS 和 Internet 两种链路来建立企业 WAN,通过带宽聚合 (Bandwidth Aggregation) 来充分利用两种链路所提供的网络带宽,同时利用两种链路来传输数据。在云计算时代,很多应用都是运行在云端的,VeloCloud 在这些云端的数据中心中都部署了 VCG 网关 (VeloCloud Gateway),VCG 是一个实现了软件网关功能的虚机,由这些遍布全球云计算数据中心的网关来加速对于云端应用的访问。
演示一:实时视频通信 (UDP)
这两个站点内的用户通过网络访问云端的视频服务器,视频软件采用无连接 UDP 协议。
第一步:两条链路都工作正常
站点1中的 VeloCloud Edge-1 选择优选线路 (MPLS) 进行通信,站点2中的路由器 Edge-2 通过 MPLS 专线来进通信。
第二步:两个站点的 MPLS 链路发生2%的丢包现象 (Brown-out,灯光暗淡)
在站点1,VeloCloud 检测到 MPLS 链路有丢包现象,所以切换到 Internet 链路来传输视频通信包,这称之为数据包转向 (Per-packet Steering)。通过链路转向 (Link Steering) 之后,客户端的视频通信质量保持不变。站点2还是通过 MPLS 专线来通信,由于存在丢包现象,客户端接收到的视频质量大幅下降,存在严重卡顿和马赛克现象。
第三步:Internet 链路出现故障 (Black-out,停电),MPLS 链路存在2%的丢包
在站点1,VeloCloud 把通信切换回 MPLS 链路,并且采用前向纠错 FEC (Forward Error Correction) 技术来实时纠正因为丢包而造成的视频数据传输错误。FEC 在发送端将数据包添加冗余纠错码,纠错码连同数据包一起发送到接收端;接收端根据纠错码对数据进行检查和纠正。通过这些纠错措施之后,我们在客户端看到的视频质量保持基本不变。站点2还是通过 MPLS 专线来通信,客户端接收到的视频存在严重卡顿和马赛克现象。
下面就是这个演示的视频 (提示:请选择视频下方的“高清 720P”选项来观看) 。
演示二:文件传输 (TCP)
使用网络测速工具 iPerf 来模拟 ftp 文件传输的场景,使用有连接的 TCP 协议。
第一步:两条链路都工作正常
站点1中 VeloCloud Edge-1 的 DMPO 配置成为自动 (Auto),VeloCloud 会自动通过带宽聚合 (Bandwidth Aggregation) 来充分利用 Internet 和 MPLS 两种链路所提供的网络带宽,同时利用两种链路来传输数据。在演示中,可以看到站点1中的传输速率大约是 18 Mbps,站点2中的速率大约为 9 Mbps,只是站点1速率的一半。
第二步:两个站点的 MPLS 链路发生2%的丢包现象
在这种情况下,VeloCloud 会自动启动修复操作,针对 FTP 文件传输,VeloCloud 采用“通知未达 NACK (Non-Acknowledge) ”技术来修复链路中的丢包问题。VeloCloud 会给发送的数据包打上序号,接收端发现某个序号的数据包丢失时,会向发送端发出 NACK 消息,并且消息中带有丢包的序号,让发送端重新发送丢失的数据包。发送端根据 NACK 报文中的序号,在发送缓冲区找到对应的数据包,重新发送到接收端。在演示中,可以看到通过 NACK 修复,站点1中的速率还是保持在 18 Mbps 左右,而站点2中的传输速率已经大幅降低了。
第三步:Internet 链路出现故障,MPLS 链路存在2%的丢包
在这种情况下,VeloCloud 只能通过剩下的 MPLS 链路来传输数据,但是结合 NACK 纠错技术,速率可以保持在单条链路的水平 9 Mbps。
下面就是这个演示的视频 (提示:请选择视频下方的“高清 720P”选项来观看) 。