传统企业WAN的部署和调整过程涉及交换、路由、安全和广域优化等多个网络技术领域,技术复杂度高,且由人工手动操作,因而耗时长、效率低、容易出错。因此,人们希望通过引入网络自动化来解决这个问题,网络编排正是实现网络自动化的核心技术手段。
编排的概念最早产生于艺术领域,通常是指选择不同的乐器来演奏音乐作品的不同部分。网络编排则是一种由策略驱动,通过协调应用程序或服务运行所需的硬件和软件,实现网络自动化的方法。
网络编排是一种自动执行网络业务部署需求的方式,可最大限度地减少部署业务或服务所需的人工干预。例如,网络管理员希望在两个不同的站点间创建一个相同的业务部门来实现互通,具体是通过网络控制器创建站点和VPN,并由网络控制器自动向两端站点的CPE下发相关的网络配置。
SDN的核心是对网络的行为进行集中编排控制,因此首先要对网络的行为和能力进行抽象。网络编排的过程可以简单理解为对抽象网络对象的组织和调配,包含网络资源的分配调度等。对网络服务的抽象设计可以细分为点、线、面3个层次,具体如下。
1、点——单点网元功能的服务抽象
WAN中包含多个不同厂商或者不同型号的设备,为了最小化不同厂商、不同型号设备的差异对组网的影响,让网络管理员将精力聚焦在服务本身,就必须抽象化网络设备的业务功能。
举例来说,网络管理员希望将某个CPE的WAN接口加入某个VPN中,网络管理员向网络控制器发出服务请求后,网络控制器需要自动将该接口配置到该VPN对应的VRF中,并且自动修改接口相关的网络资源信息(如VLAN、IP地址、QoS队列等)和路由协议参数等。整个过程中,网络管理员不需要像传统手工方式一样,去了解和手动输入该VPN对应的VRF信息、接口信息以及手工规划IP地址等接口参数。再比如,网络管理员需要创建包含两个CPE的站点,这时候需要抽象出一个站点创建的服务,网络管理员申请创建站点的服务,并指定加入的两台网络设备即可。网络控制器自动对该服务进行转换,自动完成对两个CPE的网络配置。
2、线——网络连接功能的服务抽象
在单点网元的基础上继续发展,就是网元之间要进行连接的服务抽象。举例来说,两个站点要进行互联,需要抽象出一个站点互联的服务,用户只需要创建该服务,指定两个相关站点即可。网络控制器将自动在两个站点之间下发相关的BGP邻居等配置。
那么,为什么不直接采用抽象出来的单点网络设备功能进行编排呢?事实上,这也是一种可行的做法,但这要求网络管理员具有非常丰富的专业知识和经验,对每个CPE的网络功能和技术细节非常了解。这就使得创建服务具有很高的技术门槛,服务编排变得比较困难,因此更适合非常专业的用户。
3、面——组网功能的服务抽象
采用抽象层次更高的网络服务单元(面)进行编排,将为网络管理员提供更接近业务语言的设计能力,与直接采用网络设备的单点功能的编排对比,就相当于面向对象的高级编程语言和汇编语言的区别。同时在编排过程中,服务对象可与各种不同的物理网络设备进行关联,实现网络服务的复用。
编排时根据网络模型对网络服务单元进行组织和配置,网络模型的复杂度决定了服务编排的复杂性。SD-WAN解决方案通过网络编排的方式使企业的多分支组网变得非常简单便捷,具体操作包括以下3个步骤:
- 创建企业站点,可以是分支、总部以及数据中心站点,甚至可以是一个公有云上的云站点,输入站点的基本连接信息,如站点内CPE的类型和数量以及WAN接口数量和类型,加上一些与ZTP所需要的控制器相关的连接信息等。
- 配置站点之间的内网互联拓扑结构,可以是Hub-spoke、Fullmesh及Partial-mesh等多种拓扑方式的组合,然后规划VPN以及站点间的拓扑关系。
- 定义SD-WAN运行过程中所需要的业务策略,比如选路策略以及广域优化策略等。