本文参照SDN原理视频而成:SDN原理php
从上面这个图片,咱们可以知道,Controller 是一个很是重要的东西:承上启下,左右拓展。安全
从整个SDN的架构来看,控制器 处在整个架构最核心的部分:控制层。上面承接应用,下面承接网络硬件设备。网络
在SDN的商业战争中,谁掌握了控制器,谁制定了控制器的标准,谁在产业链就最有发言权。华为,思科等传统大厂商仍然在主导核心的控制器。架构
好比你开发了一个控制器,也就是提供了一个平台,全部的开发者都基于你这个控制器来进行开发,你就处在一个主导的地位。Windows 的开发平台在以前没有取得成功,其中的一个缘由就是开发者没有过多的参与进来。并发
因此,抓住控制器,也就抓住了SDN的核心:向下须要控制必定数量的网络设备,易于管理和配置;向上的应用和客户须要有必定的开放程度,可以执行应用的请求;东西接口的话,这使得Controller 可以采用一种分布式的策略部署,经过跑选举协议,作匹配的切换。less
经过OpenFlow等南向接口技术,对网络设备进行监控:好比拓扑监视,流表下发,策略定制等等。分布式
须要注意的是,SDN中并非全部的交换机都须要采用OpenFlow。这里引一段文字,来源于《SDN:网络创新的利器》文:张卫峰code
SDN != OpenFlow 尽管SDN是基于OpenFlow提炼并发展起来的, 但二者并不等同。SDN是一个网络架构级的概念,强调软件定义网络,强调软硬件的分离。而 OpenFlow 则是一项具体的技术,它强调转发面的 标准化。 SDN的转发面和南向接口能够经过OpenFlow来实 现,也能够经过别的技术,好比转发面能够不遵循OpenFlow标准,而是经过传统表项的组合来实现。只是OpenFlow是目前看起来最可能标准化的技术,也是跟SDN关系最深的技术。如今一个新的组织 OpenDayLight 正在制定从上到下全套的新标准,也许到时候不会使用OpenFlow也说不定。
目前SDN除了南向接口的OpenFlow有了标准化的文案和规范以外,北向接口技术仍然没有一个标准。
可是,就算是这样,Controller也须要对北向接口技术提供支持:好比 REST API(主),SOAP,OSGI等等。这样才能被上层应用所调用。视频
分布式的控制器架构 仍然是业界的共识,在后续的SDN版本中,应该会慢慢加大支持力度。
东西向技术指的是 多控制器之间 如何进行选举(类比OSPF根据RID选举DR/BDR),协同(交互),主控制器和备用控制器的切换等等。
Google B4 就是采用 分布式的控制器架构 的实例。htm
若是咱们只使用一个控制器,那么若是黑客破解了这个控制器,就控制了整个网络;所以为了安全性,须要多个控制器,并利用东西向接口技术来交互。
2016/9/4