SD-WAN主流商用SD-WAN方案真的算是SDN吗?

主流商用SD-WAN方案真的算是SDN吗?

对SD-WAN名字中Software Defined的认知更多的停留在传统SDN所强调的控制面和转发面分离的模糊概念上。那么是不是SD-WAN中采用的转控分离就是沿袭学术界SDN的经典套路,采用类似Google 基于Openflow 构建的横跨全球数据中心的B4 SD-WAN 的思路(毕竟Google 的B4 WAN是 SD-WAN的鼻祖)。

然而在初步接触了几大商用SD-WAN厂商的技术方案之后,这些SD-WAN解决方案中所谓的“SDN Controller” 其实就相当于一个大家已经使用了快20年的BGP Route Reflector, 和 SDN 没什么关系。进一步的深入了解,发现这些所谓的“SDN Controller” 和传统的BGP Route Reflector 虽有神似,实则不同。具体说来,这些冒牌的"SDN Controller" 虽然没有像学术界或Google B4 SD-WAN所使用的SDN Controller中转控分离做的那么理想和纯粹,但确实也继承了SDN的一些神韵。

全球SD-WAN Top 2 厂商 Viptela 的SD-WAN系统架构图:

 

  • vSmart Controller 就是Viptela 所谓的 “SDN Controller”, 用来负责与用户各个站点的CPE设备(图中的vEdge Routers)进行通信从而交换用户各个站点之间的路由信息。
  • 从控制平面来看,各站点的CPE设备彼此之间不再交换路由信息,而是统一发送给中心控制器。之后再由中心控制器将路由信息传递给其他的CPE设备。这种集中控制的思想正是SDN的精髓所在。
  • 然而,这些CPE设备与中心控制器之间是如何来交换路由信?目前主流SD-WAN厂商都是采用基于BGP协议的路由交换 。而不是因为SDN炒的火热的新贵小开OpenFlow(注:通常SD-WAN 厂商都会在BGP的基础上做些改动和扩展,比如Viptela将改动后的BGP协议称为Overlay Management Protocol (OMP)。
  • 如果CPE设备和中心控制器都是基于BGP的路由交换,那么这和传统的BGP Route Reflector有什么区别呢?中心思想就是各个BGP Router之间不再建立网状的BGP Session来交换路由,而是统一发给中心的BGP Route Reflector ,再由他传递给其他所有的BGP Routers。可见其与SD-WAN 里的SDN Controller多么的相似。(注:这里附上一个传统的BGP Route Reflector 的架构图供参考)

BGP Route Reflector早就有了, 比今天大家热炒的SDN早了快20年。这些主流SD-WAN厂商所采用的技术真的算是SDN 吗?仔细研究了这些SD-WAN厂商对BGP协议的改动和扩展,以及这些解决方案中对集中式Policy的强调和使用,才发现SD-WAN里的SDN Controller大大超出了传统BGP Route Reflector的能力范围。

总结SDN Controller与传统BGP Route Reflector的几个主要区别:

1.目标的不同

  • 传统的BGP Route Reflector 主要是为了解决iBGP网络里对BGP Router之间需要Full Mesh互联的问题。BGP Route Reflector 可以有效的将所需的BGP Session的总量从Full Mesh时的N^2的数量级降低到Hub-Spoke时的N的数量级。这对减少超大规模的BGP网络的复杂度非常重要。
  • SD-WAN 里的 SDN Controller, 它最主要的目的是提供一个集中管理和配置Overlay网络的工具。同时SDN Controller除了提供以Hub-Spoke方式的路由交换,还提供了简化的安全密钥交换(用于数据平面CPE设备之间IPSec隧道的建立),中心化的Policy 控制,以及VPN 标签的分配,等等。所以SD-WAN中的SDN Controller的目标和功能远远超出了传统BGP Route Reflector单纯的路由交换。

2.路由传递实现方式的不同

  • 传统的BGP Route Reflector在交换路由时,只是简单的将从一个CPE Router处收到的路由信息原封不动的“反射”给其他所有的CPE Routers, 这也正是Route Reflector (路由反射) 名字的由来。
  • SD-WAN里的SDN Controller 在收到从一个CPE Router 发出的路由信息之后,在SDN Controller 做了很多的计算和处理,然后才将过滤和处理后的路由信息发给相应的CPE Routers (注意不一定是其它所有的CPE Routers)。通常SDN Controller 所做的处理包括:根据用户定义的Policy来修改路由的参数,综合所有已收到的路由信息计算出到达任何用户子网的最佳路由,将上面计算出的最佳路由信息发送给某些特定的CPE Routers (具体由用户Policy决定)。从这里我们再次可以看到 SD-WAN里的SDN Controller 比传统的BGP Route Reflector 要复杂得多,功能也要强大的多。

3. 之间还有其它一些小的区别,比如路由所携带的参数信息,最佳路由的算法等。

 

posted @ 2020-03-13 16:09  星火撩原  阅读(611)  评论(0编辑  收藏  举报