SDN原理 控制层 Controller控制器

Controller 概念

从上面这个图片,我们能够知道,Controller 是一个非常重要的东西:承上启下,左右拓展。

从整个SDN的架构来看,控制器 处在整个架构最核心的部分:控制层。上面承接应用,下面承接网络硬件设备。

在SDN的商业战争中,谁掌握了控制器,谁制定了控制器的标准,谁在产业链就最有发言权。华为,思科等传统大厂商仍然在主导核心的控制器。

比如你开发了一个控制器,也就是提供了一个平台,所有的开发者都基于你这个控制器来进行开发,你就处在一个主导的地位。Windows 的开发平台在之前没有取得成功,其中的一个原因就是开发者没有过多的参与进来。

所以,抓住控制器,也就抓住了SDN的核心:向下需要控制一定数量的网络设备,易于管理和配置;向上的应用和客户需要有一定的开放程度,能够执行应用的请求;东西接口的话,这使得Controller 能够采用一种分布式的策略部署,通过跑选举协议,做匹配的切换。

Controller 功能

南向功能支持 OpenFlow

通过OpenFlow等南向接口技术,对网络设备进行监控:比如拓扑监视,流表下发,策略定制等等。

需要注意的是,SDN中并不是所有的交换机都需要采用OpenFlow。这里引一段文字,来源于《SDN:网络创新的利器》文:张卫峰

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 就是采用 分布式的控制器架构 的实例。

如果我们只使用一个控制器,那么如果黑客破解了这个控制器,就控制了整个网络;因此为了安全性,需要多个控制器,并利用东西向接口技术来交互。

 

posted @ 2020-01-18 16:08  星火撩原  阅读(996)  评论(0编辑  收藏  举报