对于
2015
年才出现的
SD-WAN
,一直处在
“
一个名词,各自表述
”
的尴尬中。但由于其在当前的网络圈太火爆的缘故,已经到了
“
脚踢
代理
,拳打路由器
”
的地步,各路厂商纷纷易帜,不管有的没的,都言必称自己的家当就是
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
市场的健康发展。近来在行业内就曾出现过有厂商采用传统的
代理
配合内部的
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 代理
同样等级的链路安全属性。
12.
分支站点设备支持本地或云端基于
NFV
的服务编排,支持报文捕获与解码能力(
DPI
)和防火墙功能。
13.
支持基于角色
/
多租户(同层
/
分层)的访问控制功能