我对SD-WAN的理解

  知识点

提到SDWAN,不得不先提一下SDN(Software Defined Network,软件定义网络)

SDN

数据通信在过去数年里经历了爆炸式的增长,这种增长使传统数据网络的不足逐渐暴露出来。SDN软件定义网络就是在这种背景下,为了解决传统基于路由的网络部署或数据交换网络的瓶颈问题而发展起来的。

SDN的核心思想是将控制层面和数据转发层面相分离,其设计需要遵循下面三个原则:

1、把控制平面功能从交换专用集成电路(the switching ASIC,交换ASIC)中分离出来(通过将控制平面功能移入控制器),并使交换ASIC仅用于数据平面功能。这样,可以就使得交换ASIC商品化并对特定ASIC的复杂性进行了简化;

2、中央集中控制器和网络部署(包括网络设备、服务器及虚拟机)的中心观点是将复杂的网络进行具体细化地抽离(这需要基于复杂的路由/交换协议和虚拟机);

3、通过开放标准的验证得出的可扩展性能够借助简单的外部应用程序进行网络编程

SDN架构

经典的SDN架构如下图所示,有数据面、控制面、管理面这三大平面和南向接口、北向接口这两大接口。SDN首先将数据面和控制面进行分离,然后通过南向接口接入数据面,获得网络全局视图,从而实现集中式管控,最后基于抽象的网络功能实现网络可编程

SDN的常用实现方式是OpenFlow和VxLAN(虚拟可扩展局域网)。基于对SDN的不同理解,不同厂商研发的SDN应用产品也不相同。一些厂商专注基于OpenFlow协议的控制器,一些则试图从虚拟机的角度(实现网络交换机进行抽离)对网络进行改进,例如基于 VxLAN 的方案。

南向接口

在这里,我先提一下南向接口。南向接口就是控制器与交换机之间的通信协议,不同的南向接口协议有不同的实现目标:

1、实现数据平面与控制平面的信息交互,向上收集交换机信息,向下下放控制策略,指导转发行为;

2、实现网络的配置与管理

3、实现路径计算,包括传递链路的带宽与开销等属性、链路状态和拓扑信息等。

传统观念上的SDN主要是为了解决数据中心的网络问题,伴随着NFV等新技术的发展落地,能解决的场景也越来越多,如园区网、广域网、城域网等等。也衍生出更多的解决方案,如H3C的ADNET解决方案,就包含ADDC、ADCampus、ADWAN和ADMAN等具体场景的解决方案。

SDWAN

关于什么是SDWAN,不同厂商从不同的视角能给出不同的解决方案,但是大家都可以称自己是SDWAN。SDWAN的出现应该是伴随SDN网络,SDN网络主要实现组建数据中心或者是园区网的大二层网络,简化网络结构;对于跨运营商的多数据中心或多园区场景,一般称之为WAN(Wide Area Network,广域网),此时SDN摇身一变就成了SDWAN,字面意思可理解为软件定义广域网,旨在实现无状态、无感知的中间网络。

早期的IPSec VPN也可以实现这个目标,但是网络需要专用设备、网络专线来支持,并且是手工配置,前期部署成本及复杂度较高,业务调度也不灵活。

广域网主要负责各网络节点的互联互通,比如总部和分支之间、分支和分支之间、数据中心之间等,其更多的是实现业务流量的被动“承载”。云计算、移动互联网、AI智能应用、跨国业务等使得组网面临复杂度高、流量激增、成本高等挑战,导致传统WAN网络架构已不适应时代发展。企业希望实现更加灵活、更加智能、自动化的网络连接,将移动、边缘、云等各类工作负载有机地连接在一起,实现网络能主动“适应”业务流量,做到业务随需而变。SDWAN成为应对传统广域网挑战的创新手段。

1、网络成本高,扩容速度慢。此问题目前看来,只有类似华为结合运营商的SDWAN直接解决此问题,实现链路带宽的按需付费;另外,公有云场景下的云资源也可以实现此需求。除此之外,大部分厂商的SDWAN还是只能依靠现有资源进行资源的合理分配和充分利用

2、业务上线慢,运维管理复杂。这一点上各厂商解决思路类似,都是依靠极简的零配置开局(如U盘、手机等,通过各种手段将配置下发到空配置的设备完成上线),和多设备统一管理(集中管理页面又可以增加多种辅助功能来宣传卖点)来实现。

3、业务调度差,链路利用率低。这个功能说到底还是通过负载均衡来实现,第一步先实现资源的充分利用,对链路和业务进行区分,高优先级业务负载到高质量链路(七层应用负载均衡);如果带宽确实不够用,就又回到了问题1,那第二步就是QoS,丢弃低优先级业务流量。

关于SDWAN,上海贝锐旗下的蒲公英给到我一个思路,那就是通过内网穿透和终端识别即可挣脱传统网络必须使用固定IP地址的限制,即使总部和所有分支都是用拨号网络、LTE等网络也可实现网络上线。

南向接口协议

再回到南向接口上,南向采集协议包括SNMP、gRPC、NetStream等,通过采集协议,可以获取到设备运行状态及业务流量详情等状态信息;南向下发协议包括Netconf、OpenFlow等,通过下发协议,可以实现配置的推送等功能

Netconf最早作为一种网管协议被提出来的,用于网络设备的配置与管理。协议采用Client/Server结构,通过Netconf协议,SDN控制器能实现对网络设备进行配置管理

OpenFlow是伴随着SDN一起出现的,可以说是最早的南向接口协议,用于OpenFlow交换机与控制器的信息交互,它定义了如何由一个中心部件(控制器)对控制平面进行配置和控制。通过使用OpenFlow,控制器可以管理数据包在网络中的传输;而配置管理则使用的是OpenFlow-Config协议。

相比于Netconf的配置下发,OpenFlow支持下发业务流表,通过创建和管理数据流信息表以代替其他所有的转发表;数据平面就是根据这些流表进行转发的。

使用OpenFlow协议,存在以下优势:

1、不依赖于复杂的路由或交换协议

2、控制器做所有控制层面上的决策,减少对智能交换机的需求,进而减少购买智能交换软件的巨大成本

3、由于交换机不需要分开配置或管理,网络自动化的花费将降低,同时,网络的平面化视图使得管理更为简便

通过充分合理利用现有功能和网络配置协议,最终整合出新的SDWAN解决方案,即可实现设备零配置开局、业务自动化部署、智能流量调度和可视化运维等建设目标