如何才能鉴别SD-WAN
对于 2015 年才出现的 SD-WAN ,一直处在 " 一个名词,各自表述 " 的尴尬中。但由于其在当前的网络圈太火爆的缘故,已经到了 " 脚踢 VPN ,拳打路由器 " 的地步,各路厂商纷纷易帜,不管有的没的,都言必称自己的家当就是 SD-WAN ,以至于各位看官也不清楚谁是谁非,只能袖手旁观,看个热闹。
趁着 Abloomy 在市场上发布自研的 SD-WAN 产品之际,我对 SD-WAN 见诸于媒体文章的概念讨论进行了整理,试图给出有价值的总结。
纵观各厂商对于 SD-WAN 的介绍,不管是有意还是无意,都倾向于通过描述使用 SD-WAN 所带来的好处说明 SD-WAN 是什么,这就好像在暗示, " 不管黑猫白猫,抓住老鼠就是好猫 " 。
Wiki 上面的定义是这样的: SD-WAN is an acronym for software-defined networking in a wide area network (WAN). SD-WAN simplifies the management and operation of a WAN by decoupling (separating) the networking hardware from its control mechanism. This concept is similar to how software-defined networking implements virtualization technology to improve data center management and operation 。
国内行业协会的定义也类似:软件定义广域网络,是将 SDN 技术应用到广域网场景中所形成的一种服务。
对于大多数非业内人士,通过这个定义仍然不能弄明白 SD-WAN 是什么?具备 SD-WAN 功能的产品该是什么样?但最起码知道了, SD-WAN 应该源自于 SDN ,也就是它应该具有 SDN 的一些实现思路和技术特点。
SDN 追求的是什么?
传统意义上的 SDN 是一个局域网范围内技术,其出现来自于校园网,最早被应用到数据中心领域,主要为数据中心部署云业务服务。而随着 SDN 在 IDC 、在云中心的普及, SDN 的这一关键思路被进一步与云计算的概念相契合:
-- 硬件简单化、通用化: SDN 提倡用功能简单和标准化的网络硬件构建 IDC 的网络基础设施,实际上这是降低方案成本的关键,这也与云计算基础设施的构建思路相吻合。
-- 网络虚拟化:可以说 SDN 促进了网络虚拟化在自动化业务部署方面的普及。原始的网络虚拟化技术更像是一种网络隔离技术,可以认为是一种进化版的 VLAN 技术。在与 SDN 的集中控制体系、基于主机的服务虚拟化相结合后,它迅速成为了 SDN 连接控制层面虚拟化、网络资源虚拟化、虚拟化平面与物理网络衔接的关键手段。同时,网络虚拟化的概念借此进一步的进化成为一种网络功能虚拟化方法( NFV )。
-- 控制中心化: SDN 严格区分控制层面的行为和转发层面的行为,这与 SDN 的物理网络相对单一不无关系。 SDN 的中心化控制受限于单一控制器的控制能力和控制区域整体网络性能。 SDN 通过集中控制保证了在区域内的管理效率和手段简化,同时也实现了控制器的虚拟化部署。
-- 数据透明化:与控制中心化相对应, SDN 实现了转发数据相对控制器和控制层的透明,毕竟, SDN 控制器需要通过下发的策略和规则对流经交换机的数据进行转发控制, SDN 控制器所能看到的数据深度和种类决定了整个 SDN 网络对客户业务的 SLA 的承载能力。
SD-WAN 从 SDN 继承了什么?
首先, SD-WAN 是 SDN 思想在广域网领域的延伸。除了研究的网络对象不同( SDN 面向本地的局域网, SD-WAN 面向广域网),其 " 转控分离 " 的基本思想被完全继承。并且,在硬件通用化、网络虚拟化、控制中心化和数据透明化方面两者都有相似的说法。
但由于 SD-WAN 与 SDN 的应用环境和商业环境都不同,两者在实现形态和实现途径上的考虑有很大不同:
-- 在转发层面的控制要求不同: SDN 强调转发完全由三层硬件实现,即在端口转发线速的前提下,能够对应用转发控制深度尽量细化。 SD-WAN 则是要求转发层面对于传输层( Underlay )的抽象封装提出了要求,也就是说,通过 SD-WAN 建立的端到端的逻辑链路(物理或虚拟)和网络( overlay )应该能够以抽象的传输资源的方式被调用, overlay 的传输工作不应该涉及 underlay 中复杂的传输协议处理。这样就可以简化对通信的管理和配置。
-- 在控制层面转发控制目标不同: SDN 的控制目标是保证全域( LAN 范围内)内业务流量的转发性能(带宽)达标。 SD-WAN 的控制目标则是保证全域(广域网 WAN 范围内)内业务流量的可靠性( QoS )和性能(带宽)达标,为此 SD-WAN 需要能够驾驭多种传输网络( MPLS/SDH 、以太网、无线、 4G/LTE 、卫星通讯等),并在全域范围内调度这些网络为业务流量转发服务。
SD-WAN 真正要实现什么?
按照我自己的归纳和理解, SD-WAN 真正想要实现的就是: 充分利用企业所能够使用的通信手段 ( MPLS/SDH 、以太网、无线、 4G/LTE 、卫星通讯等,还有专网和互联网), 以"转控分离"的方式,实现以全业务流量 QoS 为目标的,全域选路控制和业务策略编排 。
因此,相对于传统的路由器组网所实现的广域网传输方案, SD-WAN 在以下几点上提出了全新的实现思路:
-- 转控分离:这个在前面 SDN 介绍中已经提及, SD-WAN 只是在分离的程度上有所不同,由于 SD-WAN 更多的是关注面向 overlay 层的转发控制,因此 underlay 层的控制更多的会放在转发层面来实现。
-- 全域选路控制: SD-WAN 很大程度上以此替代了传统路由器的动态路由协议。我们知道传统的动态路由协议一般都是通过搜集本地链路 QoS 和可达信息,在域内的路由器间进行路由信息交换和表决,来维护本地动态路由转发表进行实际的转发控制。即使是 BGP 协议也不过通过 Route Reflector 将这些路由信息集中起来进行分发,具体的路由判断,也就是转发控制仍然在本地完成。而 SD-WAN 可以简单的认为是直接在其 SDN Controller 上统一维护 " 一张 " 全域的路由表, CPE/Edge 设备只需要将本地链路信息上传,并接收 SDN Controller 针对其发布的路由表就可以了,路由处理和转发控制被极大的简化了。
-- 统一的 QoS 控制:相比于传统网关和路由器设备各行其是的本地 QoS 策略控制, SD-WAN 强调实现集中化的 QoS 分析和统一的 QoS 策略分发。 CPE/Edge 设备实时上报本地链路信息数据(其中包含了链路当前的网络特性,包括延迟、 jitter 、丢包和可用带宽), SDN Controller 统一进行分析,网络管理员将 SLA 目标输入转化为各种特定业务应用的 QoS 定义 -- 带宽、延迟、 jitter 、数据包丢失等,控制器将这些要求转换为对应边缘设备"即时"的路由策略,以选择发送该流量的最佳路径。从另一个角度来说,统一的 QoS 控制也就是全局选路的判权策略。
-- 业务策略编排: SD-WAN 的 " 软件定义 " 特征主要依靠 " 策略编排 " 来体现。策略,说明了 SD-WAN 对于业务、应用、 CPE/Edge 设备、链路、网络特性、 SLA/QoS 保证、路由等的控制方式。编排,是策略与 SD-WAN 下辖资源(如,可用 Overlay 链路池、 overlay 网络特性、可用 underlay 链路池、 underlay 链路特性)的映射和关联方式,简单的说,就是业务需要怎样使用 SD-WAN 达到相应 SLA 目标的自动化方式。既然是自动化方式,就意味着 SD-WAN 的 SDN Controller 可以自发的调整那些策略,使用下辖的资源,自动化的程度高低和策略控制粒度的精细程度,决定了 SD-WAN 的业务编排能力,也就是 SD-WAN 实际的实现水平。
如何识别真假 SD-WAN 产品?
-- 在基本了解了 SD-WAN 的真正含义和来龙去脉后,我们回到本文的初衷:如何辨别真假 SD-WAN 产品。
-- 就像文章开始所讲, SD-WAN 至今没有统一的定义,这造成众多厂家的 SD-WAN 解决方案并不存在统一的评价标准,一些厂家也借此 " 赶时髦、蹭热度 " ,刻意混淆 SD-WAN 真正的技术概念和方案意图,客观上阻碍了 SD-WAN 市场的健康发展。近来在行业内就曾出现过有厂商采用传统的 VPN 配合内部的 MPLS 骨干简单实现伪 SD-WAN 方案的案例,更有甚者,竟然使用 L2TP+MPLS+SNMP 方案,对客户宣称是 SD-WAN 的笑话。
-- 由于 SD-WAN 的产品和方案并不排斥与旧有技术和产品进行整合,这为辨别真假带来了不少困扰。因此我认为,可以使用两种方法来对这个问题进行判断:
-- 从 SD-WAN 的根本特征出发进行辨别
-- 从 SD-WAN 产品的外在功能点进行归纳判断
从 SD-WAN 的根本特征出发进行辨别
这种方法实际上是一个测试方法,需要读者自身具备分析 SD-WAN 系统的基本能力,也就是能够自主的对 SD-WAN 系统的各部分进行考察,从而判断某个 SD-WAN 系统是否存在疑点。
根据前面的介绍,我认为 SD-WAN 必需具备的四个根本特征是:转控分离、全域选路、统一 QoS 控制和业务策略编排能力。为此,读者可以在某个 SD-WAN 系统中寻找其是否具备以下特点:
-- 通过考察 Controller 判断其是否具备 " 转控分离 "
** 在这个 SD-WAN 系统宣称的 Controller 上,考察其是否与本地的流量转发功能完全分开。因为 SD-WAN 系统的 Controller 作为系统中的中心化的控制设施,可以是一台专用设备,也可以是部署于 IDC 中的虚拟化服务器,或者企业网络中心位置的某个虚拟化应用。因此,我们需要确信,这个 Controller 与其他所有具有本地的流量转发功能的 SD-WAN 设备( CPE/Edge 设备)都具有通信连接。
** 考察这个 Controller 具备转发策略的发布能力。因为 SD-WAN 系统的转发策略基本都依赖三层及三层以上的路由规则进行,因此我们需要确信这个 Controller 能够生成这样的路由规则,并涵盖下辖所有的 SD-WAN 设备( CPE/Edge 设备)。
** 至此,我们可以基本确认这个 Controller 基本具有 " 转控分离 " 能力,但这不包括与 BGP 系统区别开来,为此需要下面的步骤。
-- 通过考察 CPE/Edge 设备进一步确认 " 转控分离 "
** 考察 SD-WAN 系统中的 CPE/Edge 设备的路由转发表。由于 SD-WAN 系统中的 Controller 负责更新域内所有转发设备的转发表,因此,判断在线的 CPE/Edge 设备是否完全依赖 Controller 进行路由转发表进行更新就可以了。
-- 通过考察 Controller 和 CPE/Edge 设备判断其是否具备 " 全域选路 " 能力
** 通过选择某个 CPE/Edge 设备的本地链路进行通断,判断其是否会上报链路信息给 Controller 。
** 考察这个 Controller 是否更新自己的全局策略表,并更新相关多个 CPE/Edge 设备的转发表。
** 在这个过程中端到端的的两个 CPE/Edge 设备上的业务连接(如,视频播放)不应该中断。
-- 通过考察 Controller 和 CPE/Edge 设备判断其是否具备 " 统一 QoS 控制 "
** 需要在这个 SD-WAN 系统中引入至少两个业务持续流量(比如,两个视频播放),以此来表示不同级别的 QoS 策略所带来的效果。
** 对这个 SD-WAN 系统引入新的传输链路(最好是新的链路类型),设置新的 QoS 策略,并与前面其中一个业务流量的 QoS 策略进行关联。
** 断掉原有的传输链路,应该能够看到 QoS 策略对于不同业务流量的传输效果变化。(具体策略依赖于具体的实验方法)。
-- 通过考察 Controller 判断其是否具备业务策略编排能力
** 考察这个 Controller 的资源列表所涵盖的范围。
** 考察这个 Controller 的策略类型所涵盖的种类。
** 考察这个 Controller 的资源编排器(不同的厂家有不同的名字)是否涵盖上述两方面的内容。
** 据此我们就基本确定这个 Controller 是否有业务策略编排功能,具体能力大小则需要另外判断。
当这个系统通过了以上的考察和测试后,我们就能够比较有把握的认为这个系统是一个 SD-WAN 系统了。
从 SD-WAN 产品的外在功能点进行归纳判断
由于人们并不会都有机会接触到某个 SD-WAN 系统,通常只能接触到该 SD-WAN 系统的宣传资料和部分功能列表,是否可以通过对这些文字信息进行判断得到结论呢?这里我尝试给出一份基本 SD-WAN 系统功能列表( Abloomy ),辅助读者进行判断:
1. 远程站点 / 分支机构可以通过公有或私有 WAN 主动接入业务应用。
2. 支持分支站点设备 WAN 链路的多种备份和聚合方式
3. SD-WAN 的控制器支持单 / 双集群、虚拟化部署方式。
4. 支持根据统一的应用策略对跨专用和公共 WAN 路径的流量进行动态调整,并在传输和应用层上控制(提高或降低) WAN 服务的性能。
5. 支持以集中的可视化方式管理关键性业务和实时应用程序的流量运行状态,并能对其进行控制优先级的排序。
6. 支持分支站点设备的零接触部署( ZTP ),在直连的基础设备上几乎不做任何配置更改,确保配置和部署的敏捷性。
7. 支持集中策略配置,保证带宽分配、优先级自动排序和链路选择的实时性。
8. 支持基于业务应用程序的性能要求(带宽、延迟、 jitter 、数据包丢失)预定义模板。
9. 支持广域网优化。
10. 支持 AAA (认证,授权和计费),支持 RADIUS 、 LDAP 或 AD 等。
11. 支持具有 IPsec 和 SSL VPN 同样等级的链路安全属性。
12. 分支站点设备支持本地或云端基于 NFV 的服务编排,支持报文捕获与解码能力( DPI )和防火墙功能。
13. 支持基于角色 / 多租户(同层 / 分层)的访问控制功能