思科目前总共提供三种SD-WAN的解决方案,分别是iWan、Meraki 以及Viptela SD-WAN。Viptela是在2012年成立的一家SD-WAN的创业公司,本身已经在这个行业深耕多年。思科在2017年以6.1亿美元收购了Viptela,当时Viptela已经拥有了大量世界500强企业的用户,在金融、能源、零售、健康医疗等行业都有Viptela的身影,Singtel和Viptela合作基于云的SD-WAN项目Singtel ConnectPlus还赢得了2016年世界通信奖。
Viptela SD-WAN解决方案总体架构如图9- 4所示,从下往上分为三个层面,第一个层面为不依赖传输和硬件的Fabric,在构建Overlay网络上的这个Fabirc时,底层Underlay对用户是透明的,它可以支持多种的传输链路,例如Internet、MPLS专线、4G等等。由于对WAN来说,不像企业内网安全性高除私有的专线外,通常WAN是直接暴露在互联网的,所以通过零信任(Zero Trust)模型来完成Fabric中各元素或组件之间的安全认证建立,这种模型在初始状态时任何组件间都彼此不信任,不认为对方是一个合法且受信的组件,它们彼此之间都需要自动通过证书,还有一些校验信息来完成合法性检查。而且在这个层面还可以通过零接触部署(Zero Touch)来提高部署效率,降低复杂性,设备上线时,只需要接入网线就可以自动的获得配置,学习路由及策略。
第二个层面为交付平台,提供了各种网络功能,如通过控制层面建立的安全通道来自动传递分发路由信息到边界路由器。通过不同隔离机制提供安全和分段的功能,支持传统的QoS及组播部署。提供像防火墙、负载均衡、IPS、IDS这些服务灵活的插入到整个Fabric的不同位置。而且整个解决方案提供了覆盖控制平面、管理平面、数据平面的完全高可用性。
最后一个层面,也是SD-WAN特别之处,以应用为核心,通过对应用的识别,使用策略来完成众多功能,比如流量工程或通过策略驱动在逻辑上实现基于意图的拓扑,可以是点对点,可以是全互联,可以是区域互联等等。当然用户也可以通过策略在本地实现DIA(Direct Internet Access)来访问互联网。所以把这个层面叫做策略的应用层面。
在这张图的左侧,可以看到运维、监控、分析模块,也就是说通过提供集中化的管理平台可以对SD-WAN的Fabric进行配置、运维及监控。通过云端的分析平台对SD-WAN的Fabric的各项指标参数进行分析基于深度学习给出建设性的参考意见。
架构初探
由于SD-WAN继承了SDN的诸多特点,所以如图9- 5所示思科Viptela SD-WAN的整体架构也区分了控制平面和数据平面,而且还提供了独立的集中管理平面以及编排平面。在控转分离的思想下,通过在集中的控制平面使用DTLS或TLS协议来构建出安全的控制平面通信通道,这个安全通道交互用于转发数据的路由信息以及策略,还有形成数据平面所需的加密和认证密钥。数据平面由诸多类型的广域网边界路由器组成,它们之间缺省会建立全互联的IPSec VPN隧道。通过集中化的管理平面来管理思科Viptela SD-WAN当中的众多元素或组件,当然也可以通过CLI的方式进行管理。每个Viptela设备都有一个Default Management VPN用来提供带外连接。编排平面就像一个中间的协调者一样,协助各个组件之间关系的建立。接下来分别对各个平面当中的组件做详细说明。
vEdge/cEdge(数据平面)
vEdge/cEdge是指广域网的边界设备,它可以是数据中心、园区网,以及分支机构等网络环境下的广域网边界路由器。思科的广域网边界路由器的选择很多,可以满足不同用户的需求,比如Viptela原有的vEdge产品线,还有思科的cEdge设备,是传统的ISR、ASR以及ENCS系列路由器,整合了SD-WAN软件。当然除了硬件设备之外思科还提供纯软件的部署方式,例如,vEdge Cloud可以直接部署在虚拟化平台及公有云之上。当SD-WAN部署成功之后,各个站点的广域网边界路由器会借助控制平面自动建立安全加密的IPSecVPN数据传输连接来传输用户数据。
Orchestrator这个英文有管弦乐、交响乐演奏指挥的含义,保证乐曲的演奏配合协调完成。vBond Orchestrator就扮演着思科SD-WAN里的这个指挥角色,负责编排和协调功能。
vBond Orchestrator有三大主要功能。首先,作为加入Overlay网络的第一道防线,认证和校验尝试加入Overlay网络的控制器和WAN边界设备,vBond Orchestrator验证连接控制平面的每个节点,最终确保只有合法有效的节点才能加入到这个Overlay网络。并且它与vSmart Controller、vManage NMS建立永久的DTLS安全控制连接,与vEdge路由器建立临时的DTLS安全控制连接,一旦vEdge路由器找到vSmart Controller并认证通过,DTLS连接就会被拆除。
其次,通过vBond自动编排调度使得vEdge路由器与vSmart Controller、vManage NMS之间顺利的构建安全连接,vBond Orchestrator告知vEdge路由器其vSmart Controller、vManage NMS在哪,换句话说也就是告诉vEdge路由器用于连接它们所需的目的IP地址和端口,然后在它们之间建立安全的DTLS控制连接,vBond Orchestrator也会告诉vSmart Controller 、vManage NMS其vEdge路由器的地址。在设计vBond Orchestrator时,必须要为它分配公网IP地址,当然也可以使用一对一的NAT,它是SD-WAN里唯一必须拥有公网IP地址的组件。通过这样的设计可以简单的使vBond Orchestrator与位于NAT设备后面的vSmart Controller和vEdge路由器通信,来解决这些SD-WAN设备的NAT-Traversal问题。
最后,在具有多个vSmart的环境中,vBond Orchestrator可跨多个vSmart Controller对vEdge路由器进行负载均衡。
vSmart Controller(控制平面)
vSmart Controller是SD-WAN网络控制平面的核心,对Fabric的所有连接进行调整和维护,也是策略控制的中心点。每个vSmart Controller建立和维护到每个vEdge路由器控制平面的连接,为了提供冗余和高可用性,典型的Overlay网络在每个域中包括多个vSmart,最多可以达到20个。
思科使用OMP(Overlay Management Protocol)私有协议在vSmart Controller和vEdge路由器之间的控制平面加密通道内传递用于建立和维护Overlay网络所需的路由、下一跳、密钥和策略等信息。vSmart Controller维护一个集中OMP路由表存储路由信息,它可以从vEdge路由器和Overlay网络中的其他vSmart Controller学习获得,并将从这些路由获知的可达性信息通告给Overlay网络中的其他vEdge路由器,这一点与BGP路由协议里的RR功能类似,接收路由器的路由信息并反射给其他路由器。要确保OMP网络路由保持同步,所有vSmart Controller必须具有相同的策略和OMP配置。
在安全方面,vSmart Controller要想加入网络,也需要和vBond Orchestrator、 vManage NMS之间通过一些特定的信息和证书进行相互认证建立控制平面的连接。vSmart Controller还会负责数据平面IPsec的密钥分发。例如,从vEdge路由器接收数据平面密钥并将其反射到其他需要发送数据流量的vEdge路由器。
vSmart Controller还扮演着策略引擎的角色,是策略控制的中心点,它提供丰富的入向和出向策略来操纵处理路由信息、访问控制、分段以及其他的网络需求。
vManage NMS(管理平面)
vManage NMS(Network Management System)是一个集中式的网络管理系统,它是设备管理和监控的中心点。从设备配置模板到路由策略的所有内容都在其上定义和存储。通过vManage NMS 的Dashboard可以显示网络和网络设备的状态,从每个设备收到的各种状态信息也会显示在Dashboard上。
vManage NMS还可以充当证书颁发机构,为vEdge Cloud路由器提供证书签名服务并生成BootStarp配置,通过控制平面的通道vManage会推送所有有效设备的序列号文件,来提供后续认证所需的特定信息。还会通过NetConf推送每个设备的配置,并在软件升级过程中推送新的软件镜像来进行升级操作。
通常在企业内部署时,以虚拟机的形式安装在ESXi或KVM等虚拟化平台上。单个vManage NMS实例最多可支持2000个设备,也可通过6个实例的集群方式来部署提高可用性。
思科SD-WAN在vManage NMS上支持开放的RESTful API接口与第三方对接。例如,与LiveAction公司的Live NX通过RESTful API对接后,可以在LiveNX上更直观的显示出当前WAN的流量模型图例。为了提高安全性vManage NMS通过HTTPS的接口来使用标准的HTTP的方法。通过单个RESTful API命令请求来收集有关Overlay网络中多个vEdge的状态和统计信息,信息将分批返回, 而且思科SD-WAN API已经通过Python2.7.9和Python请求库版本2.9.1的测试,用户可以利用丰富多样的Python脚本来实现自动化运维。
vAnalytics
随着多云IT环境的发展,WAN的复杂性更高了,这时候就需要更友好的可视化和智能分析来管理应用并全局的掌握WAN的实时性能指标。思科SD-WAN vAnalytics,基于云端部署,采用机器学习和深度学习技术来提供有价值的数据呈现给客户,包括整个Overlay网络性能的图形化表示,并可以在指定的时间详细了解单个运营商,隧道或应用程序的特征。如图9- 6所示,vAnalytics以匿名的方式收集每个客户的数据,对于任何PII(个人和可识别)信息不做收集处理,每个客户的数据集都是独立存储的。使用vAnalytics,客户可以预测WAN策略更改后它如何潜在影响应用程序的性能,它还可以提供对于一些应用最佳体验的智能建议。
图9- 6 vAnalytics客户数据收集
在应用程序方面,基于时间范围可以灵活的查看分支站点应用的带宽利用率。通过Viptela质量体验值(vQoE)显示应用程序性能,该值的范围从0到10,其中0表示最差,10表示最佳。vAnalytics平台根据延迟、丢包、抖动来计算vQoE,它会计算出每个站点的应用日平均值和方差,如果的带宽利用率超过平均值加上方差的两倍,就会提示可能有异常产生。在网络的可用性方面,可以显示当前vEdge或是广域网链路的DownTime,还可以通过当前链路的延迟、抖动、丢包等信息实时掌握网络的健康情况,如图9- 7所示通vAnalytics Dashboard呈现当前网络性能概览。