软件定义网络(Software Defined Network, SDN)在InfoWorld于2011年11月公布的将影响未来10年的十项新技术中排名第二。2012年7月,SDN代表厂商Nicira被VMware以12.6亿美元收购,随后Google宣布成功在其全球10个IDC网络中部署SDN,这促使SDN引起业界的强烈关注。到底SDN与传统网络架构有何区别?其带来哪些颠覆性创新?
现有网络中,对流量的控制和转发都依赖于网络设备实现,且设备中集成了与业务特性紧耦合的操作系统和专用硬件,这些操作系统和专用硬件都是各个厂家自己开发和设计的。
SDN是一种新型的网络架构,它的设计理念是将网络的控制平面与数据转发平面进行分离,从而通过集中的控制器中的软件平台去实现可编程化控制底层硬件,实现对网络资源灵活的按需调配。在SDN网络中,网络设备只负责单纯的数据转发,可以采用通用的硬件;而原来负责控制的操作系统将提炼为独立的网络操作系统,负责对不同业务特性进行适配,而且网络操作系统和业务特性以及硬件设备之间的通信都可以通过编程实现。
如下图所示,与传统网络相比,SDN的基本特征有3点:
控制与转发分离。转发平面由受控转发的设备组成,转发方式以及业务逻辑由运行在分离出去的控制面上的控制应用所控制。
控制平面与转发平面之间的开放接口。SDN 为控制平面提供开放可编程接口。通过这种方式,控制应用只需要关注自身逻辑,而不需要关注底层更多的实现细节。
逻辑上的集中控制。逻辑上集中的控制平面可以控制多个转发面设备,也就是控制整个物理网络,因而可以获得全局的网络状态视图,并根据该全局网络状态视图实现对网络的优化控制。
SDN的典型架构共分三层,最上层为应用层,包括各种不同的业务和应用;中间的控制层主要负责处理数据平面资源的编排,维护网络拓扑、状态信息等;最底层的基础设施层负责基于流表的数据处理、转发和状态收集。SDN本质上具有“控制和转发分离”、“设备资源虚拟化”和“通用硬件及软件可编程”三大特性,这至少带来了以下好处。
第一,设备硬件归一化,硬件只关注转发和存储能力,与业务特性解耦,可以采用相对廉价的商用的架构来实现。
第二, 网络的智能性全部由软件实现,网络设备的种类及功能由软件配置而定,对网络的操作控制和运行由服务器作为网络操作系统(NOS)来完成。
第三, 对业务响应相对更快,可以定制各种网络参数,如路由、安全、策略、QoS、流量工程等,并实时配置到网络中,开通具体业务的时间将缩短。
在SDN已经成为网络新时代的前沿技术和新兴产业的当下,SDN将给传统网络带来怎样的冲击和价值?“SDN带来快捷的服务配置,组网灵活等优势。”这可能是很多软件定义网络(SDN)提供商的炒作。到目前为止,已经有太多的SDN言论,但有真正的实践还很少,这项新兴技术能否给企业带来效益?
如图所示,SDN将控制平面从网络交换机和路由器中的数据平面分离出来,SDN控制器实现网络拓扑的收集、路由的计算、流表的生成及下发、网络的管理与控制等功能,网络层设备仅负责流量的转发及策略的执行。转发与控制分离带来了控制逻辑集中,SDN控制器拥有网络的全局静态拓扑、全网的动态转发表信息、全网络的资源利用率、故障状态等,从而也开放了网络能力,通过集中的SDN控制器实现网络资源的统一管理、整合以及虚拟化后,采用规范化的北向接口为上层应用提供按需的网络资源及服务,实现网络能力开放,按需提供。
SDN是一种革命性的变革,它解决了传统网络中无法避免的一些问题,包括缺乏灵活性、对需求变化的响应速度缓慢、无法实现网络的虚拟化以及高昂的成本等。在当前的网络架构下,网络运营商和企业无法快速提供新的业务,原因在于他们必须等待设备提供商以及标准化组织同意,并将新的功能纳入到专有的运行环境中才能实现。很显然这是一个漫长的等待过程,或许等到现有网络真正具备这一新的功能时,市场已经发生了很大变化。
有了SDN,形势则发生了改变。网络运营商和企业可以通过自己编写的软件轻松地决定网络功能。SDN可以让他们在灵活性、敏捷性以及虚拟化等方面更具主动性。SDN可以帮助网络运营商和企业,只要通过普通的软件就能随时提供新的业务。通过OpenFlow的转发指令集将网络控制功能集中,网络可以被虚拟化,并被当成是一种逻辑上的资源,而非物理资源加以控制和管理。
SDN通过消除应用和特定网络细节——比如端口和地址之间的关联,使得无需花费时间和金钱重新编写应用和人工配置网络设备即可升级网络的物理平面成为可能。
长期以来,通过命令行接口进行人工配置,一直在阻碍网络向虚拟化迈进,并且它还导致了运营成本高昂、网络升级时间较长无法满足业务需求、容易发生错误等问题。SDN使得一般的编程人员在通用服务器的通用操作系统上,利用通用的软件就能定义网络功能,让网络可编程化。SDN带来巨大的市场机遇,因为它可以满足不同客户需求、提供高度定制化的解决方案。这就使网络运营建立在开放软件的基础上,不需要依靠设备提供商的特定硬件和软件才能增设新功能。
更为重要的是,某些网络功能的提供也变得异常简单,比如组播和负载均衡功能的实现等。另外,拓扑结构的限制也将消失。比如在传统数据中心中,由于树形拓扑导致的、占统治地位的东西像流量被限制的问题也将得到解决。
总结来说,SDN所能提供的五大好处如下:
第一、SDN为网络的使用、控制以及如何创收提供了更多的灵活性。
第二、SDN加快了新业务引入的速度。网络运营商可以通过可控的软件部署相关功能,而不必像以前那样等待某个设备提供商在其专有设备中加入相应方案。
第三、SDN降低了网络的运营费用,也降低了出错率,原因在于实现了网络的自动化部署和运维故障诊断,减少了网络的人工干预。
第四、SDN有助于实现网络的虚拟化,从而实现了网络的计算和存储资源的整合,最终使得只要通过一些简单的软件工具组合,就能实现对整个网络的控制和管理。
第五、SDN让网络乃至所有IT系统更好地以业务目标为导向。
SDN的应用场景与SDN技术本身的特点有很大的相关性,研究SDN的应用场景首先需要对SDN技术特点进行分析。
SDN的主要技术特点
SDN的主要技术特点体现在3方面。
● 转发与控制分离。SDN具有转发与控制分离的特点,采用SDN控制器实现网络拓扑的收集、路由的计算、流表的生成及下发、网络的管理与控制等功能;而网络层设备仅负责流量的转发及策略的执行。通过这种方式可使得网络系统的转发面和控制面独立发展,转发面向通用化、简单化发展,成本可逐步降低;控制面可向集中化、统一化发展,具有更强的性能和容量。
● 控制逻辑集中。转发与控制分离之后,使得控制面向集中化发展。控制面的集中化,使得SDN控制器拥有网络的全局静态拓扑,全网的动态转发表信息,全网络的资源利用率,故障状态等。因此,SDN控制器可实现基于网络级别的统一管理、控制和优化,更可依托全局的拓扑的动态转发信息帮助实现快速的故障定位和排除,提高运营效率。
● 网络能力开放化。SDN还有一个重要特征是支持网络能力开放化。通过集中的SDN控制器实现网络资源的统一管理、整合以及虚拟化后,采用规范化的北向接口为上层应用提供按需分配的网络资源及服务,进而实现网络能力开放。这样的方式打破了现有网络对业务封闭的问题,是一种突破性的创新。
SDN控制与转发分离的特点,使得设备的硬件通用化、简单化,设备的硬件成本可大幅降低,可促进SDN的应用;但由于设备硬件的变化,转发流表的变化也存在SDN设备与现有网络设备的兼容问题,在一定时期内可能限制SDN在大规模网络中的应用。
SDN控制逻辑集中的特点,使得SDN控制器拥有网络全局拓扑和状态,可实施全局优化,提供网络端到端的部署、保障、检测等手段;同时,SDN控制器可集中控制不同层次的网络,实现网络的多层多域协同与优化,如:分组网络与光网络的联合调度。
SDN网络能力开放化的特点,使得网络可编程,易快捷提供的应用服务,网络不再仅仅是基础设施,更是一种服务,SDN的应用范围得到了进一步的拓展。
SDN的五大应用场景
针对网络的主要参与实体进行梳理后,SDN的应用场景基本聚焦到电信运营商、政府及企业客户、数据中心服务商以及互联网公司。关注的SDN应用场景主要聚焦在:数据中心网络、数据中心间的互联、政企网络、电信运营商网络、互联网公司业务部署。
场景1:SDN在数据中心网络的应用
数据中心网络SDN化的需求主要表现在海量的虚拟租户、多路径转发、VM(虚拟机)的智能部署和迁移、网络集中自动化管理、绿色节能、数据中心能力开放等几个方面。
SDN控制逻辑集中的特点可充分满足网络集中自动化管理、多路径转发、绿色节能等方面的要求;SDN网络能力开放化和虚拟化可充分满足数据中心能力开放、VM的智能部署和迁移、海量虚拟租户的需求。
数据中心的建设和维护一般统一由数据中心运营商或ICP/ISP维护,具有相对的封闭性,可统一规划、部署和升级改造,SDN在其中部署的可行性高。数据中心网络是SDN目前最为明确的应用场景之一,也是最有前景的应用场景之一。
场景2:SDN在数据中心互联的应用
数据中心之间互联网的网络具有流量大、突发性强、周期性强等特点,需要网络具备多路径转发与负载均衡、网络带宽按需提供、绿色节能、集中管理和控制的能力。如下图所示的SDN技术在多数据中心互联场景下的应用架构图所示,引入SDN的网络可通过部署统一的控制器来收集各数据中心之间的流量需求,进而进行统一的计算和调度、实施带宽的灵活按需分配、最大程度优化网络、提升资源利用率。
目前Google已经在其数据中心之间应用了SDN技术,将数据中心之间的链路利用率提升至接近100%,成效显著。
场景3:SDN在政企网络中的应用
政府及企业网络的业务类型多,网络设备功能复杂、类型多,对网络的安全性要求高,需要集中的管理和控制,需要网络的灵活性高,且能满足定制化需求。
SDN转发与控制分离的架构,可使得网络设备通用化、简单化。SDN将复杂的业务功能剥离,由上层应用服务器实现,不仅可以降低设备硬件成本,更可使得企业网络更加简化,层次更加清晰。同时,SDN控制的逻辑集中,可以实现企业网络的集中管理与控制,企业的安全策略集中部署和管理,更可以在控制器或上层应用灵活定制网络功能,更好满足企业网络的需求。
由于企业网络一般由企业自己的信息化部门复杂建设、管理和维护,具有封闭性,可统一规划、部署和升级改造,SDN部署的可行性高。
场景4:SDN在电信运营商网络的应用
电信运营商网络包括了宽带接入层、城域层、骨干层等层面。具体的网络还可分为有线网络和无线网络,网络存在多种方式,如传输网、数据网、交换网等。总的来说,电信运营商网络具有覆盖范围大、网络复杂、网络安全可靠性要求高、涉及的网络制式多、多厂商共存等特点。
SDN的转发与控制分离特点可有效实现设备的逐步融合,降低设备硬件成本。SDN的控制逻辑集中特点可逐步实现网络的集中化管理和全局优化,有效提升运营效率,提供端到端的网络服务;SDN的网络能力虚拟化和开放化,也有利于电信运营商网络向智能化,开放化发展,发展更丰富的网络服务,增加收入。
例如NTT和德国电信都开始试验部署SDN,其中NTT搭建了很快日本和美国的试验环境,实现网恋过虚拟化,并故那里跨数据中心的WAN网络;而德国电信在云数据中心、无线、固定等接入环境使用SDN。
但是,SDN技术目前尚不够成熟,标准化程度也不够高。大范围、大量网络设备的管理问题,超大规模SDN控制器的安全性和稳定性问题,多厂商的协同和互通问题,不同网络层次/制式的协同和对接问题等均需要尽快得到解决。目前SDN技术在电信运营商网络大规模应用还难以实现,但可在局部网络或特定应用场景逐步使用,如移动回传网络场景、分组与光网络的协同场景等。
场景5:SDN在互联网公司业务部署中的应用
SDN即软件定义网络,然而笔者认为SDN的研究重点不应放在软件如何定义网络,而应在于如何开放网络能力。网络的终极意义在于为上层应用提供网络服务,承载上层应用。NaaS是网络的最终归宿。互联网公司业务基于SDN架构部署,将是SDN的重要应用场景。
SDN具有网络能力开放的特点,通过SDN控制器的北向接口,向上层应用提供标准化、规范化的网络能力接口,为上层应用提供网络能力服务。ICP/ISP可根据需要获得相应的网络服务,有效提升最终用户的业务体验。
国内企业如腾讯、百度等都在加快SDN的实验室部署,例如腾讯,利用SDN实现差异化的路径计算、流量控制和服务,为用户提供更好体验。
SDN驱动力
SDN转发和控制分离的特点可有效降低设备硬件成本;控制逻辑集中的特点可使得网络具有全局的视图实现全局优化,实现多网融合和集中管控;网络能力开放化可促进更多的业务创新和网络服务创新。这三大驱动力推动着SDN的发展,也使得SDN有了更多的应用场景。
目前,SDN技术尚不够成熟,适合在相对简单、相对封闭的网络中,如数据中心网络、企业网络中应用;后续随着技术的成熟和标准化,预计将会在电信运营商网络中得到规模应用。
参考资料:http://network.51cto.com/network/content2013/SDNkepu/
本文出自 “丶Adrenaline” 博客,请务必保留此出处http://lizitong.blog.51cto.com/12914119/1942509
软件定义网络(Software Defined Network, SDN)
原文地址:http://lizitong.blog.51cto.com/12914119/1942509