SD-WAN功能
在这些底层技术的基础之上,SD-WAN最终能为客户提供哪些创新型服务、解决哪些具体问题?
- 统一管理与监控:SD-WAN整合了路由器、防火墙、DPI检测、广域网加速等功能,确保企业真正意义上实现对应用的管理与监控。
- 安全性:可通过使用IPSec或TLS/DTLS加密来保护传输中的数据,确保数据安全。
- 智能路径控制:当一条链路发生故障,中央控制台会自动切换链路,保证应用程序依然能够继续工作,同时发送报告。
或者
- Application-Aware Routing (基于应用的路由选择)
- Security, Monitoring, and Analytics (安全,监控,和数据分析)
- Zero-Touch Provisioning (全自动服务开通)
- All-in-One uCPE Package (通用白盒CPE, VNF百宝箱)
1. Application-Aware Routing (基于应用的路由选择)
这一个功能实际上涵盖了好几个关键技术(比如中心化Policy的制定和下发,实时链路状态检测,应用类型识别,多径选择,等等)。
Application-Aware Routing 本质上是根据客户流量中不同应用的类别,来选择使用不同的广域网(WAN) 链路 (比如专线 vs. 公共互联网vs. 无线移动网络) 进行数据的传输,从而达到在不影响关键应用通信质量的情况下,尽可能的降低网络带宽成本的目的。
举个简单例子:“壳牌石油”是一家大型跨国企业
痛点:
- 如何把这些遍布全球的办公室和商业网点通过网络连接起来,并保证他们之间稳定和安全的数据通信。从大型电信运营商那里购买一种叫“企业专线(VPN)”的服务。这种服务覆盖区域广,稳定性高,也很安全,但最主要的缺点是费用昂贵。
- 要为新分支开通专线服务时,周期长,少则等数星期、多则等数月(比如,当新分行不在这个电信运营商的传统服务区域内时,电信运营商需要和本地电信运营商协商租用对方线路,有时甚至迫不得已自己挖沟埋线。)。
解决:
能不能尽可能的多使用、甚至只使用价格优惠的,并且无须漫长等待,随时可以开通的公共互联网来进行站点之间的互联? 或者尽可能把对网络稳定性和安全性要求没那么高的流量通过公共互联网来进行传输、只把最重要的信息通过企业专线进行传输?
Application-Aware Routing 这个功能使企业用户方便灵活地通过自己定义策略 (Policy) 的方式来选择何种类型的应用(语音,视频,邮件等)在何种链路条件下 (时延,丢包率) 选择使用哪条路径(专线,公共互联网,4G-LTE无线网络)来进行数据的传输。这样既节省了专线带宽的开销,也保证了一些关键应用的通信质量。
简单来说,就是三步走:
第一步, 用户在中心化的用户管理界面上定义Application-Aware Routing 的策略 (Policy)。
假设应用A是一个对网络质量要求很高的应用(比如实时视频会议)。
- 那么用户定义的Policy可以是:针对应用A,请选择时延低于100ms, 丢包率低于2% 的路径进行传输。
- Policy的制定可以通过类似配置文件的方式进行手动键入,也可以通过对常见的Policy类型先定义模板 (Template),
- 然后再对模板加以赋值的方式在用户界面上快速方便的制定Policy。后者更加人性化,也减少了用户手动键入Policy时出错的概率。
- 中心化的Policy制定完成后,就会下发到相应站点处的CPE设备上面,并对设备进行相应的配置。
第二步,不论当前WAN链路上有没有用户数据在跑,各个站点的CPE设备时时刻刻都在对他们之间的各条数据层链路进行着测量(通常使用BFD或类似的链路监测协议)。
他们不仅测量各条链路是否通畅,同时也详细记录下每条链路的实时状态信息,比如时延,丢包率,抖动,等。
第三步,每当一个新的应用流量进入CPE设备时,CPE设备会通过包头的端口信息(或使用深度包监测 / DPI)识别出这个流量的应用类型。
如果本地Policy中已经存在对于这种应用类型的定义,CPE设备就会将Policy中对于链路质量的要求和当前所有链路的实时信息进行比对,挑选出能够满足用户Policy定义要求的链路来进行传输。
- 在上图中的例子里,路径1 (企业专线) 和路径2 (LTE专线网络) 都能满足用户Policy设定的要求,这时CPE就会在路径1和2中选择一条来进行应用A的数据传输 ;
- 当遇到多条路径均满足条件的情况,CPE通常采用等价多径 (ECMP) 的哈希算法来保证同一个应用流内的所有数据包都走相同的路径,以避免乱序到达的情况。
注:
用户对于Application-Aware Routing Policy的制定是中心化的,无须用户逐一登录到各个站点的CPE进行手动配置。这是SD-WAN中心化管理和控制这个核心思想的再一次体现。
2. Zero-Touch Provisioning (全自动服务开通)
Zero-Touch Provisioning (以下简称ZTP) 。言简意赅,“Zero-Touch”反映了网络运维人员对于自动化配置网络、零接触开通服务的一个美好愿景。通常不同SD-WAN厂商的ZTP功能实现都不太一样;即使同一厂商的ZTP功能内也往往涵盖好几个子场景来满足不同客户的需求。严格说来这些场景都不能算是“Zero-Touch”,至多只能是在哪个场所进行Touch、和Touch了多少的区别。
2.1 ZTP的提出?
首先ZTP这个技术最早被提出可以追溯到数据中心内对交换机进行自动配置这个应用场景。试想在构建一个大型数据中心的网络基础设施时,对其成百上千台的交换机如果都使用传统的手工命令行键入的方式来逐一进行初始化配置,镜像升级,不仅费时费力,而且还容易出错。所以交换机厂商们就率先提出了ZTP这个技术: 将初始化配置和镜像升级文件的位置等信息在交换机第一次上电后,以响应其DHCP请求的方式发送给交换机,从而让交换机能够自动去指定位置 (即ZTP Server) 获取初始化配置,下载和升级镜像文件。从而大大加快了数据中心网络的构建速度,同时减小了人为出错的机率。
随之推广到数据中心以外的各种网络自动化部署的应用场景。对于SD-WAN的 CPE设备的自动化部署和服务开通自然也不例外。而针对SD-WAN 这一场景,除了之前提到提升设备配置效率、减少人为出错这两个优点以外,还有一个很重要的原因就是可以避免专业网络运维人员逐一访问各个企业站点 (俗称:Truck Roll) 去配置CPE设备和开通SD-WAN服务。这能帮助网络运营商和企业用户省下不少运维成本。
2.2 ZTP的典型流程和实现方式
ZTP的整个过程通常分为两个阶段:
第一阶段 (Phase 1) 是对CPE设备入网前进行一些准备工作(也即所谓的CPE On-Boarding)。
此时CPE设备还处在设备厂商或运营商的网管中心,或企业用户自己的数据中心,在这里关于这个CPE设备的一系列具体信息 (比如: 软/硬件序列号,端口数量和类型,IP地址和其配置方式,以及即将被部署的站点位置信息,等等) 都会由网络运维人员手动录入SD-WAN网管系统。人工录入的过程通常以填写模板的方式来进行,从而提升效率、减少人为出错机率。填写好的配置模板会自动生成配置文件存放在系统里,用于之后对CPE设备的自动化配置。
第二阶段 (Phase 2) 是CPE设备被邮寄到企业用户站点之后的一系列操作。
按图中标号细分为如下几步:
(2) CPE设备开机上电 (在此之前要确保CPE设备的WAN端口已连上可用的WAN网络)。
(3) CPE设备通过WAN端口以DHCP的方式自动获取WAN IP地址 。
(4) CPE 设备通过DNS Server 查询并获得 ZTP Server 的IP 地址。ZTP Server 的Domain Name 是在Phase 1 On-Boarding时存入CPE设备的。 取决于企业客户选择的商业模式,ZTP Server 可以由 SD-WAN 供应商,或运营商,或企业客户自己,来提供和维护。
(5) ZTP Server 通过比对CPE设备的软/硬件序列号等信息,查找出这个CPE设备属于哪个企业用户,从而导向相应的验证服务器 (Auth. Server) 对CPE设备进行安全验证。
(6) 安全验证的方式可以有很多种,包括使用邮件或短信验证的方式来确保CPE设备是在正确的客户站点入网。验证通过后,Auth. Server 会将 SD-WAN Controller 的IP 地址发送给 CPE设备,从而在Controller 和 CPE 设备之间建立起安全的控制信道。
(7) Controller 将之前生成的初始化的配置信息发送给CPE设备,从而完成设备的初始化配置和升级。之后Controller和CPE设备会交换本站点和其他站点的路由及安全密钥等信息,用于建立跨站点之间的数据层IPSec链路。
至此,这个CPE设备算是彻底加入了SD-WAN网络, 这个新的企业站点可以与其它的站点利用SD-WAN的各种炫酷的功能开始愉快地通信。
2.3 ZTP的价值:
- 从客户的角度来看:从企业客户收到CPE设备的邮递包裹,到站点SD-WAN 业务上线,客户只需要插上相应的网线和电源线,通过短信或邮件进行简单的身份认证,剩下的事情都会自动完成,无需客户操心。
- 从运营商的角度来看:只需在On-Boarding的阶段,在中心化的网管中心内,对CPE设备进行一些初始化的配置操作(而且可以借助模板来快速实现),无需派遣网络运维人员到客户站点进行繁琐的手动配置。这不仅大大加快了开通服务的速度,减少了手动配置出错的概率,同时也节省了派遣Truck Roll的成本。