不仅仅是控制器

SDN(Software Defined Network)最开始是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。

随着产业界设备制造商和运营商的SDN实践不断展开,SDN也变成一个意义模糊的营销名称,它统指任何允许软件对网络可以进行编程或者配置的网络架构,而实现的技术和接口协议是各种各样的。

ONF(Open Network Foundation)是SDN领域最重要的标准组织,它在2016年新发布的《SDN Architecture Issue 1.1》里面对SDN的概念进行了定义,它认为SDN是满足下面4点原则的一种网络架构:

●控制和转发分离原则:网络的控制实体独立于网络转发和处理实体,进行独立部署。需要说明的是控制和转发分离的部署并不是全新的网络架构原则,实际上传统光网络的部署方式一直是控制器和转发分离的,而传统的分组网络(IP/MPLS/Ethernet)是控制和转发合一的分布式部署方式。控制和转发的分离带来的好处是控制可以集中化来实现更高效的控制,以及控制软件和网络硬件的分别独立优化发布。

●集中化控制原则:集中化控制的原则主要追求网络资源的高效利用。集中的控制器对网络资源和状态有更加广泛的视野,可以更加有效的调度资源来满足客户的需求。同时控制器也可以对网络资源细节进行抽象,从而简化客户对网络的操作。

●网络业务可编程:这个原则的目的是允许客户在整个业务生命周期里面通过同控制器进行信息交换来改变业务的属性来满足客户自己变化的需求。这个原则的目的是业务的敏捷性,客户可以协助业务、启动业务、改变业务、撤销业务等。

●开放的接口:这个原则的SDN技术实现的原则,它要求接口的技术实现标准化并且贡献给整个产业,这个原则主要是对网络领域通用和公共的功能接口进行标准化,从而保证应用同网络的解构,防止厂商锁定。这个原则并不反对厂商在满足公共接口标准和兼容性前提下的功能扩展。

ONF定义的SDN的架构

同SDN的一样,SDN的架构也并没有行业统一的标准。ONF发布的最新架构文档《SDN Architecture Issue 1.1》对架构的描述同《SDN Architecture Issue 1.0》就发生了比较大的变化。另外一些领先的运作商和厂商也有各自对架构的描述。这里先引用ONF于2016年发布的《SDN Architecture Issue 1.1》对SDN的架构描述简述如下:

上图SDN架构的核心是控制器,控制器的核心工作是协同和虚拟化(Orchestration & Virtualization)。控制器南向通过D-CPI (Data-Controller Plane Interface)同网络资源进行控制和管理,北向通过A-CPI (Application-Controller Plane Interface)同应用或者更高层次的控制器通信。下面对架构图中的关键名称进行解释:

Resource: 任何可以交付网络业务的资源,包括物理网络资源(拓扑,链路和端口)和逻辑资源(标签等),也可以是虚拟化的网络资源(NFV)。

Resource group:网络资源按照一定的技术或者管理边界组合成集合,比如IP网络的IGP自治域,光网络等,不同的网络资源同控制器之间可以用不同的协议进行控制和管理。

Server context:控制器内部创建的用于管理特性网络资源的必要充分的信息。也可以理解为控制器针对特性网络资源的适配器或者驱动。

Virtualization:把资源抽象后分配给特性用户的过程,客户只会看到属于自己的抽象后的资源。

Orchestration: 选择网络资源满足客户需求的过程,并根据用户的变化或者网络的变化而持续优化网络资源。

Client context:控制器内部创建的用来维持同客户进行管理和控制互动的信息环境。

可以看到上述SDN架构的核心是控制器,控制器的关键功能是协同和虚拟化,并提供编程接口。

那么控制器同传统的网管有什么区别呢?

ONF对这个问题的描述是控制器必须是一个正反馈系统,也就是说控制器应该持续的监控网络资源的状态变化并持续的根据一定的策略来优化资源来满足客户的业务需求。而传统网管系统主要是一个单方面的管理系统,对网络缺乏实时控制功能。

运营商网络的控制器+协同器网络架构

运营商的网络是一张多种技术、多个层次、多个厂商组成的复杂网络。运营商网络在向SDN转型的过程中是不可能推翻现在运行中的大规模网络存量后重新建设一张全新的SDN网络的。因此运营商网络的SDN实践一定是一步一步来的,由少量的子网络的SDN改造逐步扩展到全程全网,但是这个过程是长期的,至少10年以上。

运营商给最终客户提供的业务一定是全程全网的。不管运营商的网络中是不是SDN,运营商都必须保证用户的质量要求和业务获取体验。运营商进行SDN转型的业务目标是业务的敏捷性,提供给用户自己定义的能力,开放网络编程接口,用API的方式提供客户的应用进行网络业务的调用。运营商的外部用户一定会要求运营商提供一个统一的业务发放平台和 编程接口,而不是各种各样的多个控制器平台的。这个统一的业务管理和发放平台就是协同器。

MEF发表的<The Third Network: Lifecycle Service Orchestration Vision>白皮书提出了LSO的概念,MEF讲从用户和业务的角度来定义LSO的功能和配套的应用程序接口(API)。MEF定义的功能和接口支持业务生命周期端到端的操作,包括实施、控制、性能、安全、分析、已经跨运营商网络的策略管理等等。LSO的目的是克服了现有业务管理系统的复杂性,通过定义服务的抽象,隐藏底层网络技术,简化应用程序接口和用户的服务体验。通过使用模型驱动的方法以及抽象的产品,服务和资源,可以确保以可持续的方式简化和自动化整个业务生命周期的敏捷运维。

在SDN/NFV/Cloud技术齐头并进的新形势下,协同层至少要解决下面的挑战:

●业务和网络分离:业务协同器是面向业务的,它的主要功能是对各种原子网络业务进行抽象,根据用户的需求进行自由组合形成新业务类型。协同层维护的业务模型应该是同具体网络技术解耦的,下层网络技术的变化和演进不影响客户界面的业务体验和编程接口。

●SDN网络和传统存量网络的协同:SDN的部署不会一蹴而就,必然是先局部后整体,可能先从数据中心开始,而大量的网络还依赖于现有的管理和控制手段。协同器需要整合最新的SDN技术,并适配现有的各种OSS/EMS系统,一并提供统一的北向业务编程界面给用户。

●物理网络和虚拟网络的协同:随着NFV技术的成熟,网络中部分一部分网络功能会逐步软件化,用户端到端的业务交付需要协同网络网络资源和虚拟网络资源,一起提供业务。

●CT和IT的整合协同:随着运营商业务的IT化,云化和APP化,客户的业务需求也面临着CT技术和IT技术的整合。尤其是面向企业的业务,需要整合网络能力,私有云和公有云能力,还有应用软件的能力。ICT的协同也是一个巨大的挑战。

目前运营商在考虑网络转型的架构时,协同器都扮演关键的作用。供应商也已经提供各种协同器产品。SDN控制器、NFV的MANO、传统的OSS系统和协同器会一起工作来完成运营商的业务和网络转型。目前没有一个标准组织能够给出运营商网络转型的标准架构图,下图可以作为一个参考。

从上图我们看到,SDN控制器是运营商网络转型的重要部件,控制器同时控制物理网络和部分虚拟网络,北向提供接口给协同器。

协同器是面向用户的业务编程平台,并对业务的整个生命周期提供管理手段。协同器南向同时适配传统OSS系统、SDN网络、NFV管理系统,也可以直接管理NFV功能。

SDN控制器的北向接口

SDN的核心是要实现网络的可编程控制,推动网络业务的创新,而北向接口恰恰是这一趋势的最关键推动力,通过北向接口,网络业务开发者能以软件编程的形式调用各种网络资源,同时上层的网络资源管理系统可以通过北向接口全局把控整个网络的资源状态,并对资源进行统一调度。因为北向接口是直接为业务应用服务的,因此其设计必须能够描述业务意图,具有良好的可操作性,而网络业务的复杂多样性又要求SDN北向接口是灵活的、可扩展的,以满足复杂多变的业务创新需求。

与SDN南向接口已经有openflow、netconf等国际标准不同的是,现在SDN北向接口的标准化还处于刚刚起步阶段,目前SDN市场上各种各样的控制器opendaylight、floodlight、onos等都有自己的一套北向接口,而这些北向接口的开放层次又参差不齐,或者从用户角度出发,或者从运营角度出发,或者从产品能力角度出发提出了很多方案,无法形成统一标准的北向接口,给上层应用带来了很大的困惑,学习成本也很高。目前,北向接口的协议制定成为当前SDN领域竞争的焦点。

本文转载自:http://developer.huawei.com/ict/cn/site-sdn/article/02