SDN基本概述

参考文章:SDN基本概述、解读SDN的东西、南北向接口

传统网络数据控制与转发

传统网络是分布式控制的架构,每台设备都包含独立的控制平面,数据平面。

传统网络是分布式控制的架构:

  • 这里的分布式控制指在传统IP网络中,用于协议计算的控制平面和报文转发的数据平面位于同一台设备中。
  • 路由计算和拓扑变化后,每台设备都要重新进行路由计算过程,并称为分布式控制过程。
  • 在传统IP网络中,每台设备都是独立收集网络信息,独立计算,并且都只关心自己的选路。
  • 这种模型的弊端就是所有设备在计算路径时缺乏统一性。

传统网络结构体系


传统网络的管理平面、控制平面、数据平面:

  1. 管理平面:管理设备(SNMP)
  2. 控制平面:路由协议(IGP、BGP)
  3. 数据平面:转发表(FIB)

OSS:Operation Support System,运营支撑系统。

NMS:Network Management Server,网络管理服务器

传统网络架构:

  • 传统网络分为管理平面、控制平面和数据平面。
  • 管理平面主要包括设备管理系统和业务管理系统,设备管理系统负责网络拓扑、设备接口、设备特性的管理,同时可以给设备下发配置脚本。业务管理系统用于对业务进行管理,比如业务性能监控、业务告警管理等。
  • 控制平面负责网络控制,主要功能为协议处理与计算。比如路由协议用于路由信息的计算、路由表的生成。
  • 数据平面是指设备根据控制平面生成的指令完成用户业务的转发和处理。例如路由器根据路由协议生成的路由表对接收的数据包从相应的出接口转发出去。

传统网络局限性

  1. 流量路径的灵活调整能力不足。
  2. 网络协议实现复杂,运维难度较大。
  3. 网络新业务升级速度较慢。
  • 传统网络通常部署网管系统作为管理平面,而控制平面和数据平面分布在每个设备上运行。
  • 流量路径的调整需要通过在网元上配置流量策略来实现,但对于大型网络的流量进行调整,不仅繁琐而且还很容易出现故障;当然也可以通过部署TE隧道来实现流量调整,但由于TE隧道的复杂性,对于维护人员的技能要求很高。
  • 传统网络协议较复杂,有IGP、BGP、MPLS、组播协议等,而且还在不断增加。
  • 设备厂家除标准协议外都有一些私有协议扩展,不仅设备操作命令繁多,而且不同厂家设备操作界面差异较大,运维复杂。
  • 传统网络中由于设备的控制面是封闭式的,且不同厂家设备实现机制也可能有所不同,所以一种新功能的部署可能会造成周期较长;且如果需要对设备软件进行升级,还需要在每台设备上进行操作,大大降低了工作效率。

SDN概述

SDN(Software Defined Netrork)软件定义网络。

2006年,以斯坦福大学教授Nike Mckewn为首的团队提出了OpenFlow的概念,并基于OpenFlow技术实现网络的可编程能力,是网络像软件一样灵活编程,SDN技术应运而生。

SDN的三个主要特征:

  • 转控分离:网元的控制平面在控制器上,负责协议计算,产生流表;而转发平面只在网络设备上。
  • 集中控制:设备网元通过控制器集中管理和下发流表,这样就不需要对设备进行逐一操作,只需要对控制器进行配置即可。
  • 开放接口:第三方应用只需要通过控制器提供的开放接口,通过编程方式定义一个新的网络功能,然后在控制器上运行即可。

SDN控制器既不是网管,也不是规划工具:

  • 网管没有实现转控分离:网管只负责管理网络拓扑、监控设备告警和性能、下发配置脚本等操作,但这些仍然需要设备的控制平面负责产生转发表项。
  • 规划工具的目的和控制器不同:规划工具是为了下发一些规划表项,这些表项并非用于路由器转发,是一些为网元控制平面服务的参数,比如IP地址,VLAN等。控制器下发的表项是流表,用于转发器转发数据包。

SDN网络体系架构

SDN是对传统网络架构的一次重构,由原来分布式控制的网络架构重构为集中控制的网络架构。

SDN网络体系架构的三层模型:


协同应用层:这一层主要是体现用户意图的各种上层应用程序,此类应用程序称为协同层应用程序,典型的应用包括OSS(Operation support system 运营支撑系统)、Openstack等。传统的IP网络同样具有转发平面、控制平面和管理平面,SDN网络架构也同样包含这3个平面,只是传统的IP网络是分布式控制的,而SDN网络架构下是集中控制的。

控制层:控制层是系统的控制中心,负责网络的内部交换路径和边界业务路由的生成,并负责处理网络状态变化事件。

转发层:转发层主要由转发器和连接器的线路构成基础转发网络,这一层负责执行用户数据的转发,转发过程中所需要的转发表项是由控制层生成的。

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控制平面性能拓展方案中,目前的设计方案有两种,一种是垂直架构的,另一种是水平架构的。垂直架构的实现方案是在多个控制器之上再叠加一层高级控制层,用于协调多个异构控制器之间的通信,从而完成跨控制器的通信请求。水平架构中,所有的节点都在同一层级,身份也相同,没有级别之分。

SDN基本工作原理


网元资源信息收集:转发器注册信息、上报资源过程、MPLS标签信息、VLAN资源信息、接口资源信息

拓扑信息收集:节点对象、接口对象、链路对象(LLDP、IGP、BGP-LS)。

SDN网络内部交路由的生成。

  • 通常控制器作为服务端,转发器主动向控制器发起控制协议建立,通过认证后,控制协议即建立连接。
  • 注册信息中的设备信息包括资源信息(接口、标签、VLAN资源等)、设备厂家信息(设备类型信息和设备版本号以及设备ID信息)。控制器采集这些信息是为了根据这些信息来进行本地搜索和加载相应驱动程序。
  • 网络拓扑是描述网络中节点和链路以及节点之间连接关系的信息。
  • 控制器收集拓扑信息的目的是为了根据网络资源,计算合理的路径信息,通过流表方式下发给转发器。

OpenFlow的思想和功能


两个角色:

  1. OpenFlow Controller:用于控制OpenFlow Switch,计算路径,维护状态和将信息流规则下发给交换机。
  2. OpenFlow Switch:从OpenFlow Controller控制器接收命令或者流信息,以及返回状态信息。
  3. OpenFlow Switch基于流表并根据流规则进行转发、处理数据。
  • “Flow”指的是一组具有相同性质的数据包,例如“五元组”(SIP、DIP、SPORT、DPORT、Protocol)。
  • OpenFlow协议是控制器和转发器之间的控制协议。
  • 交换机与控制器之间可以通过加密的OpenFlow协议通信。
  • OpenFlow交换机是数据平面,基于Flow Table进行数据转发,并负责网络策略的具体执行。
  • OpenFlow Controller是控制平面设备,负责生成OpenFlow交换机上的Flow Table,以及对Flow Table的更新和维护。
  • OpenFlow Switch的基本组成:
    1. Flow Table:保存对每一个流的定义及相应处理行为。
    2. 安全网络通道:连接交换机和控制器,用于传输控制信令。当一个新数据包第一次到达交换机时,交换机通过这个隧道将数据包送往控制器进行路由解析。
    3. OpenFlow协议:一套公开标准接口,用于读写Flow Table的内容。

OpenFlow网络交换模型

该模型的指导思想是:底层的数据通信(交换机、路由器)是“简化的”,并定义一个对外开放的关于流表FLowTable的公用API(应用程序接口),同时采用控制器来控制整个网络。

SDN的价值

网络业务快速创新

SDN的可编程性和开放性,使得我们可以快速开发新的网络业务和加速业务创新。如果希望在网络上部署新业务,可以通过针对SDN软件的修改实现网络快速编程,业务快速上线。

  • SDN网络关键的地方是在网络架构中增加了一个SDN控制器,把原来的分布式控制平面集中到一个SDN控制器上,由这个集中的控制器来实现网络集中控制。SDN网络架构具备3个基本特征:转控分离、集中控制、开放接口。
  • SDN通过在网络中增加一个集中的SDN控制器,可以简化网络和快速进行业务创新。但是其本质的技术原理是通过SDN控制器的网络软件化过程来提升网络可编程能力。通信平面仍包含管理平面、控制平面和数据平面,SDN网络架构只是把系统的三个平面的功能进行了重新分配,传统网络控制平面是分布式的,分布在每个转发设备上,而SDN网络架构则是把分布式控制平面集中到一个SDN控制器内,实现集中控制,而管理平面和数据平面并没有太多什么变化。
  • SDN网络具备快速网络创新能力,如果这个新业务有价值则保留,没有价值可以快速下线。不像传统网络那样,一个新业务上线需要经过需求提出、讨论和定义开发商开发标准协议,然后在网络上升级所有的网络设备,经过数年才能完成一个新业务。SDN使得新业务的上线速度从几年提升到几个月或者更快。

简化网络

SDN的网络架构简化了网络,消除了很多IETF的协议。协议的去除,意味着学习成本的下降,运行维护成本下降,业务部署快速提升。这个价值主要得益于SDN网络架构下的网络集中控制和转控分离。

因为SDN网络架构下的网络集中控制,所以被SDN控制器所控制的网络内部很多协议基本就不需要了,比如RSVP协议、LDP协议、MBGP协议、PIM组播协议等等。原因是网络内部的路径计算和建立全部在控制器完成,控制器计算出流表,直接下发给转发器就可以了,并不需要协议。未来大量传统的东西向协议会消失,而南北向控制协议比如Openflow协议则会不断的演进来满足SDN网络架构需求。

网络设备白牌化

基于SDN架构,如果标准化了控制器和转发器之间的接口,比如OpenFlow协议逐渐成熟,那么网络设备的白牌化将成为可能,比如专门的OpenFlow转发芯片供应商,控制器厂商等,这也正是所谓的系统从垂直集成开发走向水平集成。


垂直集成是一个厂家供应从软件到硬件到服务。水平集成则是把系统水平分工,每个厂家都完成产品的一个部件,有的集成商把他们集成起来销售。水平分工有利于系统各个部分的独立演进和更新,快速进化,促进竞争,促进各个部件的采购价格的下降。

业务自动化

SDN网络架构下,由于整个网络归属控制器控制,那么网络业务网自动化就是理所当然的,不需要另外的系统进行配置分解。在SDN网络架构下,SDN控制器可以自己完成网络业务部署,提供各种网络服务,比如L2VPN、L3VPN等,屏蔽网络内部细节,提供网络业务自动化能力。

网络路径流量优化

通常传统网络的路径选择依据是通过路由协议计算出的“最优”路径,但结果可能会导致“最优”路径上流量拥塞,其他非“最优”路径空闲。当采用SDN网络架构时,SDN控制器可以根据网络流量状态智能调整网络流量路径,提升网络利用率。

传统网络向SDN的演进方式

仅交换网SDN化

  • 交换网SDN化是指把域内交换网的路径计算功能进行集中控制。
  • 控制器:仅负责域内路径计算和控制

仅业务SDN化

  • 此方案仅仅将自治域AS所接入的业务由控制器接管,域内路径计算和控制依然由转发器负责。
  • 统一部署增值业务VAS资源池,通过SDN COntroller业务链解决方案,集中控制管理,同时实现VAS资源共享。
  • 提升增值业务快速创新能力,提供新的创收来源

软件定义网络(SDN)相关推荐

  1. 推荐书籍:软件定义网络 SDN与OpenFlow解析

    <软件定义网络(SDN与OpenFlow解析)>由纳多.格雷所著,是关于SND 的 指南,全面介绍了SDN 的定义.协议.标准及应用,讨论了当前OpenFlow 模型及集中式网络控制.数据 ...

  2. 软件定义网络SDN(计算机网络-网络层)

    目录 软件定义网络SDN 数据平面和控制平面 SDN 最重要的三个特征 控制平面与数据平面分离 SDN 的数据平面 软件定义网络SDN  SDN的本质特点是控制平面和数据平面的分离以及网络的可编程性, ...

  3. 浅谈软件定义网络SDN

    浅谈软件定义网络SDN 前言 学习主要内容 一.SDN简介 二.SDN的三个主要特征 转控分离 集中控制 开放接口 三.SDN的工作原理 SDN网络架构的三层模型 SDN网络架构下的三个接口 SDN基 ...

  4. 软件定义网络SDN(特点、实现途径与展望)

    SDN软件定义网络简介 软件定义网络(SDN,Software Defined Network),是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow通 ...

  5. 什么是软件定义网络 (SDN)

    什么是软件定义网络? 软件定义网络 (SDN) 是一种架构,它抽象了网络的不同.可区分的层,使网络变得敏捷和灵活,SDN 的目标是通过使企业和服务提供商能够快速响应不断变化的业务需求来改进网络控制. ...

  6. 浅谈软件定义网络(SDN)技术研究现状和发展趋势

                       浅谈软件定义网络(SDN)技术研究现状和发展趋势 友情全文PDF链接:浅谈软件定义网络(SDN)技术研究现状和发展趋势.pdf-网络基础文档类资源-CSDN下载 ...

  7. vmware服务器虚拟化部署sdn,使用VMware的NSX多面落地软件定义网络SDN视频课程

    1 为什么需要SDN及它的定义.争议.落地 分解初涉人群理解数据中心SDN的难点在哪里,先通过举个一典型云计算的交付环境DCaas交付来落地SDN,首先理解DCaas是什么,它是如何发展起来的.物理基 ...

  8. 软件定义网络:SDN与OpenFlow解析pdf

    下载地址:网盘下载 编辑推荐 迄今为止SDN研究与实践领域最重要的著作.一线专家多年厚积薄发的力作,网络可编程技术无可替代的权威解读,全面覆盖SDN最新定义.协议.标准和实践 ONF全球特邀研究顾问. ...

  9. 软件定义网络SDN基础实验:MiniNet常用命令、创建网络拓扑、OpenFlow流表操作

    此实验基于<软件定义网络实验1-5>,主要内容为: MiniNet常用命令 如何创建网络拓扑 OpenFlow流表操作 00x1 搭建SDN环境 SDN 环境配置:Mininet + Ry ...

  10. matlab搭建sdn,软件定义网络SDN简介和简单仿真实验

    阅读: 11,620 SDN是在2009年左右出现的一种新型网络结构,它将数据层面与控制层面分离,使用中央控制器完成网络的操作和管理,并通常采用OpenFlow协议作为其核心通信协议,拥有着集中式控制 ...

最新文章

  1. OpenCV中与matlab中相对应的函数
  2. Hyper-V的三种网卡
  3. TSQL语句中的Like用法
  4. 使用List中的remove方法遇到的坑,不信你没有踩过!
  5. 波士顿动力送狗抗疫:头顶iPad,背装对讲机,说是减少医患接触,但性价比真的OK吗?...
  6. storm0.9.0.1安装
  7. Eclipse快捷键 10个最有用的快捷键 提高开发效率
  8. Android MVP 设计模式
  9. 使命召唤 战区:战术竞技新思路,卷入RPG元素的激烈战斗
  10. java map是大括号_Java8如何基于flatMap处理异常函数
  11. 二分排序java实现
  12. [随笔] flex 布局使用 space-between 尾行排版效果优化
  13. 只需4步,就能在SOLIDWORKS创建首件检验报告(FAI)
  14. finalshell root文件夹打不开
  15. Java常用类学习笔记
  16. 如何解决SQL Server 2008 无法连接到(local)(服务器名称)
  17. Task4:被试内与被试间混合设计方差分析 | SPSS的实现以及Excel结果复现
  18. 通过引用关系构建药物-症状-疾病三元组挖掘隐含的药物-疾病关系
  19. 房地产行业erp系统
  20. 第四期东软Java培训—我的Java培训岁月2009

热门文章

  1. comsol 软件图形界面重叠问题解决方法
  2. 取消html默认打开方式,怎么取消默认打开方式【应对技巧】
  3. 原点分享:《数据安全与合规运营之内部威胁防范》演讲实录
  4. 数字电子技术(五)触发器
  5. 【软考备战·希赛网每日一练】2023年5月4日
  6. 近期苹果账号密集被盗:支付宝等成盗刷重灾区 受害者追偿困难
  7. 【问链-EOS公开课】第十六课 EOS中文白皮书2.0
  8. 让visual studio也可以用TC中的clrscr()和gotoxy()
  9. 父母对儿子结婚女儿出嫁的忠告
  10. 护士成绩用计算机改卷,解密!2020年卫生资格/护士人机对话考试如何评分?成绩如何核算?...