5 控制平面-Control Plane RFC7348只规定了VXLAN协议的数据平面,对控制平面未做任何要求。这样做的好处是,可以使各类设备无须做较大改动就能互相兼容。如前文所述,和传统VLAN网络数据平面一样,数据经过未知单播泛洪->MAC表项及ARP表项建立->单播转发的过程,我们称之为自学习模式。但自学习方式过于简单,其大量的泛洪报文以及无法智能调整的缺点,使得这样的控制平面构建方式不适合SDN网络。 于是,各厂商纷纷探索更为先进的控制平面实现方法。 5.1 控制平面的功能VXLAN控制平面必须实现的功能: • VTEP邻居发现。VXLAN网络中的VTEP数量众多,类型不同,纯手工配置VTEP非常困难也不利于大规模部署。VXLAN的控制平面应该具有自动发现VTEP邻居、自动建立VXLAN Tunnel、自动进行关联等功能。 • 虚拟机信息同步。虚拟机信息同步主要是指MAC及ARP的同步。上线的虚拟机信息需要在各VTEP上同步,下线的虚拟机信息要能够在各VTEP上删除或老化,迁移的虚拟机信息要能够从旧VTEP转移到新VTEP。 除了以上两点之外,不同的控制平面协议还能实现自动部署、灵活调整、策略下发等功能。 5.2 基于Controller的控制平面SDN最大的特点就是转控分离,集中控制。按照这个指导思想,将控制功能单独剥离出来成为一个单独的设备便是很自然的事了。这个设备就是 Controller。 Controller可以是一个或者一组硬件设备,也可以是一套软件。Controller与网络中所有设备建立连接,整个VXLAN网络的数据转发都由Controller来管理。Controller与设备连接的接口称为南向接口,可以使用OpenFlow、Netconf等协议;对用户提供服务的接口称为北向接口,也可以提供API以便与其他管理平台对接或进行深度开发。 基于Controller的控制平面,其SDN网络的功能几乎都依赖于Controller本身的特性,根据Controller的不同,会有不同的实现方式和功能。
图15 基于Controller的控制平面 |