SDN是一种新型网络创新架构,通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,让网络成为一种可灵活调配的资源。随着云计算的兴起,SDN的重点转移到对各种业务和应用负载提供灵活的网络支撑。本期智慧华云,为大家带来ArSDN之多集群简介,助力用户网络更强大。
软件定义网络(SDN)是在2006年,由美国斯坦福大学Clean State课题研究组提出的一种新型网络创新架构,是网络虚拟化的一种实现方式。
SDN将网络设备上的控制权分离出来,由集中的控制器管理,无须依赖底层网络设备(路由器、交换机、防火墙),屏蔽了来自底层网络设备的差异。而控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输规则策略,从而更加灵活和智能。
目前SDN的几种实现方式:
我们选用的是Overlay的架构,和VMware的NSX是同一种架构。
控制面上提供了REST API供不同的云平台进行调用,同时支持了OpenStack和VMware独立集群已经混合集群,以满足用户的不同需求。控制器之间通过BGP协议交互来保证控制器高可用性。
在同数据面的交互上采用了XMPP的可靠双向实时通信协议,确保消息的及时性与可靠性。
数据面本身支持了多种Overlay的封装格式,同时提供SDN软件网关的功能,解耦了对物理设备的依赖。
数据面的实现是在通过在kernel层面实现转发表来实现,里面包含了FIB和flow表,既可以处理二层流也可以处理三层流。同时为了对流表编程,在用户态实现了agent的功能来同控制器进行配置和控制层面的交互。
以上简单介绍了SDN的基本框架,下面我们来看一下对多集群的支持。
以OpenStack为基础架构的安超OS
对集群纳管平台CS
从以上两图可以看出,不论是云平台是基于OpenStack还是基于VMware,对于SDN来说可以直接无缝集成。对于VMware只需要微小的变化(增加两个微服务)就可以进行接入。
因此,OpenStack集群可以和VMware集群共用同一个控制器,这样就可以网络共享。在OpenStack侧创建的网络在VMware上面也可以使用,让VMware集群也可以具有网络的一些高级功能。
对于OpenStack,通过neutron plugin的方式来对接其相关的网络功能,同时nova在创建接口的时候,会通知vrouter来创建相关的接口,以实现转发面。
对于VMware,SDN的网络对应了VCenter上的portgoup。虚机创建流程还是依赖原来VMWare的流程,SDN会在相关EXSI后上启动对应服务来监控VMWare相关的事件,用以维护转发面agent上的端口,来保证转发面的正常功能。
综上所述,在有SDN的多集群情况下,其它集群以类似计算节点的方式加入到有SDN控制器的集群中,从而实现网络的互连互通。
那引入SDN后会有哪些功能呢?
如上图所示,通过SDN打通的多集群,赋能了网络更多的功能。并且还可以不断丰富,持续改进。
路由:IP子网之间的路由,可以在逻辑网络中完成,不需要有流量出到物理路由器或三层交换机。
防火墙:采用分布式实现,安全防护在每个节点的vRouter层面执行,只产生极少的CPU开销,并且能够线速执行。不会对物理防火墙设备上造成瓶颈。
逻辑负载平衡:支持四到七层的负载平衡,并且能够执行SSL端接。
VPN服务:提供了IPSec VPN。
浮动IP:不需要逻辑路由器,直接可达虚机。
Rest API:可编程接口/监控分析API
由于SDN的赋能,更多的功能即将到来,让网络更加强大。