SDN介绍

随着通信技术的不断发展,SDN已经逐渐成为整个行业注目的焦点,很多人认为SDN技术必将对传统网络带来一次划时代的变革。
那么
什么是SDN,我们有应该如何理解和学习SDN?
我们为什么需要SDN?
SDN的实现方式有哪些?
SDN的未来发展方向是什么?
带着这些问题,让我们一起走进SDN。。。。。。
一、 什么是SDN?
SDN即Software-Defined Networking(软件定义网络),是一种新型的网络体系结构,是网络虚拟化的一种实现方式,SDN的本质定义就是软件定义网络,也就是说希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署简化网络运维。这是SDN的核心诉求,为了满足这种核心诉求,不分离控制与转发,比较难以做到,至少是不灵活。换句话说,控制与转发分离只是为了满足SDN的核心诉求的一种手段,如果某些场景中有别的手段可以满足,那也可以,比如管理与控制分离。
SDN认为不应无限制地增加网络的复杂度,需要对网络进行抽象,以屏蔽底层复杂度,为上层提供简单的、高效的配置与管理。其目的在于实现网络流量的灵活控制,使网络作为管道变得更加智能。
关于SDN的源来问题,可以将其类比于将虚拟化技术的兴起,有了服务器虚拟化,你不必关注你的计算/存储实体到底在何处,IT的整合和资源利用率提升成为可能;同样,有了SDN,你不必关注到底是什么样的黑盒子在转发流量,你只需告诉SDN控制器我需要什么样的网络服务就可以了。
二、 我们为什么需要SDN?
随着互联网的发展,互联网用户在不断增加,同时互联网上面也不断涌现出许多新兴网络,而这些就不可避免的带来现有网络不堪重负的问题,那么进行现有网络改革就迫在眉睫。现有网络面临的挑战:
互联网流量飞速增长,网络难以适应未来海量信息传输需求
传统网络结构不灵活,不能实现因需求灵活变动,不能适应不断涌现的新业务的需求,服务质量难以保证,产业价值链难以为继。
网络可持续发展问题日益严峻,网络安全、网络不可控、不可管等问题突出。
网络服务提供商需要降低网络管理复杂性和网络设备成本,以满足云计算技术、大数据技术等对网络特性的新需求。
运营商缩短网络新功能的面试周期,降低网络管理成本。
总结一下,SDN之所以诞生,主要原因是随着互联网技术的发展,各应用系统如云计算、虚拟化、移动互联网等对现有网络提出了更多的要求如更灵活,更快捷、更安全、更智能,而为了满足这些需求,通过传统的设备叠加的方式是不可行的,在这种背景下就提出了SDN的概念,SDN就是靠转控分离、集中控制、开放可编程这三个法宝来颠覆网络。
在这里插入图片描述
SDN 网络应用层:实现了对应的网络功能应用。这些应用程序通过调用 SDN 控制器的北向接口,实现对网络数据平面设备的配置、管理和控制。

北向接口:是 SDN 控制器与网络应用之间的开放接口,它将数据平面资源和状态信息抽象成统一的开放编程接口。

SDN 控制器:是 SDN 的大脑。控制器不仅要通过北向接口给上层网络应用提供不同层次的可编程能力,还要通过南向接口对 SDN 数据平面进行统一配置、管理和控制。

南向接口:是 SDN 控制器与数据平面之间的开放接口。 SDN 控制器通过南向接口对数据平面进行编程控制,实现数据平面的转发等网络行为。

SDN 数据平面:包括基于软件实现的和基于硬件实现的数据平面设备。数据平面设备通过南向接口接收来自控制器的指令,并按照这些指令完成特定的网络数据处理。同时,SDN 数据平面设备也可以通过南向接口给控制器反馈网络配置和运行时的状态信息。
三、 SDN的实现方式有哪些?
1、基于开放协议的方案
开放协议方案根据SDN理念创建理想网络架构,实实在在得将控制层和转发层剥离。他是网络用户为摆脱厂商锁定而推出的方案,因此此方案最具革命性。目前主要实现的方案包括ONF SDN 和ETSI NFV,代表企业有戴尔、华为、博科、NICIRA等。
2、基于叠加网络的方案
基于叠加网络的技术是在原有网络基础上创建虚拟网络,隔离底层设备复杂度与差异性,从而实现网络资源池化。将网络资源进行逻辑分离,采用多租户模式管理网络,更好满足云计算等新兴业务的需求。目前主要实现的方案包括VXLAN 、NVGRE、NVP等,代表企业有Vmvare、微软等。
3、基于专用接口的方案
该方案通过在网络设备上添加专用API实现控制权转移,管理人员可以通过API统一配置管理网络,而用户可以通过API开发网络应用。目前典型的实现方案是思科的ONE架构。
四、 SDN的未来发展方向是什么?
SDN给网络带来的变化是巨大的,尤其是转控分离,几乎改变了传统网络使用几十年的运行法则,也改变了人们使用和运维网络的原始思维。接受SDN,并了解SDN这需要一个过程,所以这几年一直处于SDN技术不断孵化的过程中,鲜有落地的SDN数据中心网络,直到2016年,SDN大量落地,尤其是在一些互联网的数据中心网络中纷纷部署,掀起了建设SDN网络的热潮。
这两年,在网络上战略引入SDN已经成为数据中心的一项必选项,就像几年前的云计算,不谈云都不好意思了,都OUT了,部署SDN也成为了数据中心建设的一种潮流,不过,这半年以来,这种情况又有所改变,部分数据中心又开始要放弃SDN,或者仅在小部分的网络中尝试部署SDN,作为一种实验性质的网络技术存在着。之所以有这种情况出现:
一是SDN技术本身成熟度不够,虽然有现成标准,但各家实现细节上都有差别,导致不同厂家的控制器和不同厂家的网络设备对接有这样那样的问题,为此数据中心只能选择同一个厂家的控制器和硬件设备,这样数据中心网络就和一家网络厂商绑定,风险过大,尤其是议价权,显然数据中心不希望这样做,推动SDN部署的意愿不够强烈;
二是SDN技术要新的网络设备才能支持,数据中心存量的网络设备很多,逐渐淘汰有个过程,至少要几年时间,这样的网络环境不具备部署SDN的基础,相比存量网络,新建的网络毕竟是少数,选择支持SDN的设备自然也要比传统网络设备价格要高,投入成本反而更高,这与SDN技术宗旨是相悖的;
三是小型的数据中心网络,一旦部署后完成后,扩容和变更机会是比较少的,人工操作并不复杂,引入SDN属于大材小用,给数据中心带来的真正实惠不对,即便是那些大型的数据中心网络,扩容几台网络设备,一个熟练的网络工程师也可以很快完成,并不比SDN的方式慢多少,SDN虽是自动化部署,但出了问题排查起来也难度不小,Underlay和Overlay网络层面都要排查,网络问题复杂度增加了。
四是SDN一旦出问题,往往影响的是全局,整个网络都可能陷入瘫痪,这可比传统网络威力大多了,SDN不出问题还行,一旦出问题对数据中心可能是灾难性的,在SDN技术成熟度还不高时,不少数据中心也不愿被当成小白鼠,先去尝试,还有各种各样其它原因,这使得本来被掀起的SDN建设热潮又慢慢冷却下去了,又处于尝试观望的状态。
从SDN网络厂商方面来看,SDN技术一直作为一种新技术,与传统的网络硬件设备绑定销售,数据中心单独去购买SDN软件的还不多,网络厂商通过提供SDN解决方案,推动网络设备的销售,以此来提升设备的售价,真正的目的还是借道SDN技术,继续大力卖硬件,通过硬件赚钱,SDN软件是一种增值服务。在SDN还未得到广泛认可的情况下,尤其是到现在还反而出现不少悲观情绪,SDN更不好作为一项单独的软件技术进行收费。然而,各个厂家在SDN的技术研究上投入是很大的,尤其是SDN控制器设计与实现上,投入了大量人力和物力,并在未来会不断加大投入,面对在市场上的冷遇,也在想办法克服,希望能够渡过难关。SDN技术本身是先进的,也是未来网络发展的趋势,但如果得不到充分实践,得不到数据中心的认可,最终也可能面临淘汰的危局。想当年,集群技术多火,STP和VRRP技术多经典,还不是慢慢被淘汰,成为了历史,只要不适应业务发展的需要,再好的技术都可能被淘汰。“实践是检验真理的唯一标准”,只有经受住了实践考验,这项技术才是合格的,才能被普及,得到广泛使用。SDN技术在这十二年间,经历了质疑、接受、热捧、疑惑这几个阶段,未来能不能得到广泛认可和使用,还有待实践检验。
SDN未来的发展首先要有一个功能完善和标准化的过程。任何新鲜事物的发展都有一个完善的过程,SDN技术的发展过程也是如此,无论是已经成为标准的Openflow技术(该标准的完善仍然还有很长的路要走); 而还没有统一标准的controller现在仅看到通过openflow安全通道用openflow协议与openflow交换机通信的南北向接口等少数标准化,但是不同厂商或发布者之间的controller能相互通信吗?他们之间的标准在哪里(或者说他们需要通信吗?这个是否可以说是controller之间的东西流量)?还有很多其他比如OVS等SDN相关的产品也需要大量的开发和完善。为了SDN发展好,先把它完善好。
SDN未来的发展需要必须不断探索SDN应用的新场景;找到SDN的用武之地,为SDN的发展带来技术驱动力,从解决现实问题上给使用者带来经济效益,必然能促进SDN相关技术的发展到一个新的阶段。
但是SDN未来的发展绝不是为了SDN而SDN;把SDN技术用于传统解决不了或者解决不好的而SDN能很好的解决的问题才是其目的。

一. 什么是 SDN?

SDN 字面意思是软件定义网络,其试图摆脱硬件对网络架构的限制,这样便可以像升级、 安装软件一样对网络进行修改,便于更多的 APP(应用程序)能够快速部署到网络上。

如果把现有的网络看成手机,那 SDN 的目标就是做出一个网络界的 Android 系统,可以在 手机上安装升级,同时还能安装更多更强大的手机 APP。

过去 30 年里,IP 网络一直是全分布式的,战功卓著,解决了各种客户需求,今天 SDN 是 为了未来更好更快的实现用户需求。并不是有什么需求通过传统方法不能做到,只是 SDN 做得更快、更好、更简单。

SDN 的本质是网络软件化,提升网络可编程能力,是一次网络架构的重构,而不是一种新 特性、新功能。SDN 将比原来网络架构更好、更快、更简单的实现各种功能特性。

二.SDN 解决什么问题?

IP 网络的生存能力很强,得益于其分布式架构。看看 IP 的历史,当年美国军方希望在遭受 核打击后,整个网络能够自主恢复,这样就不能允许网络集中控制,不能存在中心结点,否 则在这个中心节点丢一颗核弹,整个网络就挂了。但正是这种全分布式架构导致了许多问题:

看看现在的 IP 网络管理多复杂,举个运营商部署 VPN 的例子:要配置 MPLS、BFD、IGP、 BGP、VPNV4、要绑定接口…且需要在每个 PE 上配置;当新增加一个 PE 时,还需要回去 修改每个涉及到的 PE。

现在各厂家的网络设备都太复杂了。如果您准备成为某个厂商设备的百事通,你需要掌握的 命令行超过 10000 条,而其数量还在增加。 如果你准备成为 IP 骨灰级专家,你需要阅读 网络设备相关 RFC 2500 篇,如果一天阅读一篇,你知道要看多久能看完?6 年多!而这只 是整个 RFC 的 1/3,其数量还在增加。

此外,这些协议标准都是在解决各种各样的控制面需求,而这些需求都是需要经过需求提出、 定义标准、互通测试、现网设备升级来完成部署,一般要个 3~5 年才能完成部署。这样的 速度,已经 Hold 不住网络上运营业务的 OTT 们的各种快速网络调整需求,必须想办法解 决这个问题。 很幸运,现在已经找到了解决以上问题的方法。没错,就是 SDN !它是目 前系统性的解决以上问题的最好方法。

三.SDN 概述

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

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

SDN 的定义

SDN 的定义是其字面意思,控制与转发分离,管理与控制分离只是满足 SDN 的一种手段, OpenFlow 只是满足 SDN 的一种协议

SDN 的分类

SDN 的分类区别在于其实现的是控制与转发分离,还是管理与控制分离

SDN 分类: 控制与转发分离 (超广义) 管理与控制分离 (广义)

SDN 的三个主要特征:

转控分离:网元的控制平面在控制器上,负责协议计算,产生流表;而转发平面只在网络设 备上。

集中控制:设备网元通过控制器集中管理和下发流表,这样就不需要对设备进行逐一操作, 只需要对控制器进行配置即可。

开放接口:第三方应用只需要通过控制器提供的开放接口,通过编程方式定义一个新的网络 功能,然后在控制器上运行即可。

SDN 控制器既不是网管,也不是规划工具: 网管没有实现转控分离:网管只负责管理网络拓扑、监控设备告警和性能、下发配置脚本等 操作,但这些仍然需要设备的控制平面负责产生转发表项。

规划工具的目的和控制器不同:规划工具是为了下发一些规划表项,这些表项并非用于路由 器转发,是一些为网元控制平面服务的参数,比如 IP 地址,VLAN 等。控制器下发的表项 是流表,用于转发器转发数据包。

猜你喜欢

转载自blog.csdn.net/weixin_43214644/article/details/132875623
SDN