Controller是一个运行在独立的服务器上的软件程序,可以用各种不同的语言来实现,可以运行在不同的操作系统上。
Controller有很多个属性:
(1)北向接口
每个Controller都有面向用户应用程序的编程接口,这种编程接口就是北向接口。北向接口的差异性可以很大。最简单、最传统的北向接口是CLI、SNMP,目前最流行的北向接口是REST API接口。
(2)集成的服务和应用
Controller并非仅仅提供编程接口,除了这些接口,通常都会提供种各样的应用和服务,比如提供路由协议、访问控制、QoS、防火墙、镜像(Mirror)等丰富的网络功能,当然也有简单的Controller只提供控制接口。
(3)南向接口
所有的OpenFlow Controller自然只支持OpenFlow这样一个南向接口,而SDN Controller就不同了,除了OpenFlow,还支持很多别的,比如SNMP、NetConf、OF-Config、XMPP、LISP、BGP-LS乃至各种私有接口等。
(4)控制方式
很多人认为SDN就是集中控制的,所以Controller都是集中式Controller,其实不然,因为集中式Controller明显有可扩展性问题,网络规模很大的时候,一个Controller根本搞不定,所以必须有分布式的Controller,多个Controller一起协同完成对网络的控制工作,它们之间的协调,通常通过全局的控制逻辑服务器来负责。
(5)对物理和虚拟设备和通用管理
无论是OpenFlow Controller还是SDN Controller,它们管理的对象都是既包括物理设备,也包括虚拟设备,理论上对这些设备的控制方式应该是统一的,但是现在看来并非每个Controller都是如此,有的Controller对物理设备和虚拟设备有不同的控制方式。
Controller
最新推荐文章于 2024-09-05 23:07:24 发布
控制器作为独立服务器上的软件程序,能用多种语言实现并运行于不同操作系统。它提供北向接口供用户应用编程,集成服务和应用如路由、访问控制、QoS等。南向接口则与网络设备交互,支持OpenFlow、RESTAPI等多种类型。同时,控制器能采用集中式或分布式架构,并管理物理和虚拟设备。
摘要由CSDN通过智能技术生成