zoukankan      html  css  js  c++  java
  • 解读SDN的东西、南北向接口

    北向接口(Northbound Interface)是为厂家或运营商进行接入和管理网络的接口,即向上提供的接口。

    南向接口(Southbound Interface)是提供对其他厂家网元的管理功能,支持多种形式的接口协议。

    SDN控制器及北向接口技术初探

    控制层是SDN的大脑,负责对底层转发设备的集中统一控制,同时向上层业务提供网络能力调用的接口,在SDN架构中具有举足轻重的作用,SDN控制器也是SDN关注的焦点。从技术实现上看,控制器除了南向的网络控制和北向的业务支撑外,还需要关注东西的扩展,以避免SDN集中控制导致的性能和安全瓶颈问题,SDN控制器也在南向、北向、东西向上引入了相应的核心技术,有效解决与各层通信以及控制集群横向扩展的难题。

    当前,业界有很多基于OpenFlow控制协议的开源的控制器实现,例如NOX、Onix、Floodlight等,它们都有各自的特色设计,能够实现链路发现、拓扑管理、策略制定、表项下发等支持SDN网络运行的基本操作。虽然不同的控制器在功能和性能上仍旧存在差异,但是从中已经可以总结出 SDN控制器应当具备的技术特征,从这些开源系统的研发与实践中得到的经验和教训将有助于推动SDN控制器的规范化发展。

    另外,用于网络集中化控制的控制器作为SDN网络的核心,其性能和安全性非常重要,其可能存在的负载过大、单点失效等问题一直是SDN领域中亟待解决的问题。当前,业界对此也有了很多探讨,从部署架构、技术措施等多个方面提出了很多有创见的方法。

    SDN控制器对网络的控制主要是通过南向接口协议实现,包括链路发现、拓扑管理、策略制定、表项下发等,其中链路发现和拓扑管理主要是控制其利用南 向接口的上行通道对底层交换设备上报信息进行统一监控和统计;而策略制定和表项下发则是控制器利用南向接口的下行通道对网络设备进行统一控制。

    SDN北向接口是通过控制器向上层业务应用开放的接口,其目标是使得业务应用能够便利地调用底层的网络资源和能力。通过北向接口,网络业务的开发者 能以软件编程的形式调用各种网络资源;同时上层的网络资源管理系统可以通过控制器的北向接口全局把控整个网网络的资源状态,并对资源进行统一调度。因为北 向接口是直接为业务应用服务的,因此其设计需要密切联系业务应用需求,具有多样化的特征。同时,北向接口的设计是否合理、便捷,以便能被业务应用广泛调用,会直接影响到SDN控制器厂商的市场前景。

    与南向接口方面已有OpenFlow等国际标准不同,北向接口方面还缺少业界公认的标准,因此,北向接口的协议制定成为当前SDN领域竞争的焦点, 不同的参与者或者从用户角度出发,或者从运营角度出发,或者从产品能力角度出发提出了很多方案。据悉,目前至少有20种控制器,每种控制器会对外提供北向接口用于上层应用开发和资源编排。虽然北向接口标准当前还很难达成共识,但是充分的开放性、便捷性、灵活性将是衡量接口优劣的重要标准,例如REST API就是上层业务应用的开发者比较喜欢的接口形式。部分传统的网络设备厂商在其现有设备上提供了编程接口供业务应用直接调用,也可被视作是北向接口之一,其目的是在不改变其现有设备架构的条件下提升配置管理灵活性,应对开放协议的竞争。

    控制器负责整个SDN网络的集中化控制,对于把握全网置资源视图、改善网络资源交付都具有非常重要的作用。但控制能力的集中化,也意味着控制器局的 安全性和性能成为全网的瓶颈;另外,单一的控制器也无法应对跨多个地域的SND网络问题,需要多个SDN控制器组成的分布式集群,以避免单一的控制器节点 在可靠性、扩展性、性能方面的问题。目前,用于多个控制器之间沟通和联系的东西向接口还没定义标准,但专家表示,一些非常成熟的集群技术可以被运用到 SDN网络中来解决上述难题。

    SDN交换机及南向接口技术初探

    SDN的核心理念之一就是将控制功能从网络设备中剥离出来,通过中央控制器实现网络可编程,从而实现资源的优化利用,提升网络管控效率。

    工作在基础设施层的SDN交换机虽然不在需要对逻辑控制进行过多考虑,但作为SDN网络中负责具体数据转发处理的设备,为了完成高速数据转发,还是要遵循交换机工作原理。本质上看,传统设备中无论是交换机还是路由器,其工作原理都是在收到数据包时,将数据包中的某些特征域与设备自身存储的一些表项进行比对,当发现匹配时则按照表项的要求进行相应处理。SDN交换机也是类似的原理,但是与传统设备存在差异的是,设备中的各个表项并非是由设备自身根据周边的网络环境在本地自行生成的,而是由远程控制器统一下发的,因此各种复杂的控制逻辑(例如链路发现、地址学习、路由计算等等)都无需在SDN交换机中实现。

    SDN交换机可以忽略控制逻辑的实现,全力关注基于表项的数据处理,而数据处理的性能也就成为评价SDN交换机优劣的最关键指标,因此,很多高性能转发技术被提出,例如基于多张表以流水线方式进行高速处理的技术。另外,考虑到SDN和传统网络的混合工作问题,支持混合模式的SDN交换机也是当前设备层技术研发的焦点。同时,随着虚拟化技术的出现和完善,虚拟化环境将是SDN交换机的一个重要应用场景,因此SDN交换机可能会有硬件、软件等多种形态。 例如,OVS(Open vSwitch,开放虚拟交换标准)交换机就是一款基于开源软件技术实现的能够集成在服务器虚拟化Hypervisor中的交换机,具备完善的交换机功能,在虚拟化组网中起到了非常重要的作用。

    SDN交换机的出现,对传统的网络设备厂商造成了最直接的威胁,如何将新兴的网络技术与传统设备产品的优势相融合,是这些厂商正在苦苦思索的问题。 虽然SDN交换机已经对传统的网络产业链造成了巨大的冲击,但是仅凭单独的数据转发设备还不足以支撑起整个SDN的天空,未来更激烈地竞争必将会在SDN 的控制层和应用层发生。

    SDN交换机只负责网络高速转发,保存的用于转发决策的转发表信息来自控制器,SDN交换机需要在远程控制器的管控下工作,与之相关的设备状态和控制指令都需要经由SDN的南向接口传达,从而实现集中化统一管理。

    当前,最知名的南向接口莫过于ONF倡导的OpenFlow协议。作为一个开放的协议,OpenFlow突破了传统网络设备厂商对设备能力接口的壁垒,经过多年的发展,在业界的共同努力下,当前已经日臻完善,能够全面解决SDN网络中面临的各种问题。

    当前,OpenFlow已经获得了业界的广泛支持,并成为了SDN领域的事实标准,例如OVS交换机就能够支持OpenFlow协议。 OpenFlow解决了如何由控制层把SDN交换机所需的用于和数据流做匹配的表项下发给转发层设备的问题,同时ONF还提出了OF-CONFIG协议, 用于对SDN交换机进行远程配置和管理,其目标都是为了更好地对分散部署的SDN交换机实现集中化管控。

    OpenFlow在SDN领域中的重要地位不言而喻,甚至大家一度产生过OpenFlow就等同于SDN的误解。实际上,OpenFlow只是基于 开放协议的SDN实现中可使用的南向接口之一,后续可能还会有很多的南向接口(例如ForCES、PCE-P等等)被陆续应用和推广。但必须承认的 是,OpenFlow就是为SDN而生的,因此它与SDN的契合度最高。相信在以ONF为领导的产业各方的大力推动下,它在未来的发展前景也将更加明朗。

    SDN交换机及东西向接口技术初探

    在开放了南北向接口以后,SDN发展中面临的一个问题就是控制平面的扩展性问题,也就是多个设备的控制平面之间如何协同工作,这涉及到SDN中控制平面的东西向接口的定义问题。如果没有定义东西向接口,那么SDN充其量只是一个数据设备内部的优化技术,不同SDN设备之间还是要还原为IP路由协议进行互联,其对网络架构创新的影响力就十分有限。如果能够定义标准的控制平面的东西向接口,就可以实现SDN设备“组大网”,使得SDN技术走出IDC内部和数据设备内部,成为一种有革命性影响的网络架构。SDN控制平面性能拓展方案中,目前的设计方案有两种,一种是垂直架构的,另一种是水平架构的。垂直架构的实现方案是在多个控制器之上再叠加一层高级控制层,用于协调多个异构控制器之间的通信,从而完成跨控制器的通信请求。水平架构中,所有的节点都在同一层级,身份也相同,没有级别之分。

                                     垂直架构                                                          水平架构

    南向接口目前面临和需要解决的问题:

      1、各厂商私有控制器南向接口不统一,驱动模型不一致,互操作性差;

      2、厂商设备对多控制器支持能力不一致,已有设备升级滞后,新设备对于SDN网络功能的支持较好。

    北向接口面临和需要解决的问题:

      1、控制器北向接口没有统一标准,调用RESTful接口缺乏详细的返回信息,无法准确判断故障;

      2、目前的行业状况使得编排器无法屏蔽底层网络现实和网络状态,需要各厂商提供适配层。

  • 相关阅读:
    JAVA JDK配置
    jsoncpp的使用
    VS2015 +Qt5 串口工具
    Unable to convert MySQL date/time value to System.DateTime问题解决方案
    datagridview的一些设置
    C# 如何使用长度来切分字符串
    (备忘)打开office2010总是在配置进度
    (备忘)卸载微软自带输入法
    (备忘)怎么去除WinRAR弹窗广告?
    winfrom弹出窗口用timer控件控制倒计时20秒后关闭
  • 原文地址:https://www.cnblogs.com/zhanglei93/p/5337831.html
Copyright © 2011-2022 走看看