首页 > 人工智能 > 正文

SDN网络及其在流媒体领域的应用探索

2014-02-28 10:00:40  来源:e-works

摘要:一项新的网络技术正在声名鹊起,那就是SDN,即软件定义网络。SDN把网络系统的控制平面与数据转发平面进行了分离,使网络建设更加快捷、成本更低、利用率更高、维护更方便。
关键词: SDN 网络 服务器

    一、引言


    软件定义网络SDN (Software Defined Network),顾名思义,就是通过软件对整个网络进行规划、管理和控制,包括网络逻辑结构的定义、转发策略的制定和发布等,SDN提出了一种不同于传统网络的、崭新的网络建设和控制模式。


    传统的网络设备(包括交换机、路由器等)都是由网络设备供应商同时提供硬件和专有软件(操作系统),网络设备的控制系统与设备的硬件信息(如品牌、设备类型等)紧密相关,互相捆绑,网络控制的复杂度和难度都相当之大。SDN的出现,希望通过网络架构模式的改变,将网络控制系统与网络硬件、物理拓扑等分离,从而摆脱硬件对网络逻辑架构的束缚。这样管理员就可以像安装、升级软件一样对转发策略、逻辑拓扑进行调整,而无需对底层的交换机、路由器等硬件做任何变动,在节省大量资金成本的同时,网络结构调整的周期也将大大缩短。在传统模式下,每台路由器、交换机都通过自身所携带的操作系统进行控制和策略转发,而在SDN网络中,一套集中的控制系统可以对网络中所有品牌、不同类型的网络设备进行统一的集中管理和控制。


    不仅如此随着云计算、云媒体、云服务的不断发展和普及,在构建云中心网络时,对计算虚拟化、存储虚拟化的要求越来越高,尤其在处理“大数据”应用时,虚拟化更是一个关键问题。这就要求后台硬件管理对于前台的业务要越来越透明,包括物理资源的增加、减少、调整、移动等,这就对网络虚拟化提出了更高的要求。虽然传统网络在一定程度上可以满足这一要求,但在资金、技术难度、管理周期上都需要有巨大的消耗,而SDN把控制系统从硬件设备中抽象出来,部署于独立的服务器,实现软件控制系统与硬件资源的解祸,从而可以构建一个开放式的、可编程的软件网络,通过软件定义的网络,就可以方便地满足上述虚拟化需求。


    二、SDN网络介绍


    与传统网络相同的是,SDN分为软件控制和硬件两部分,软件部分用于网络定义、发布转发策略,并推动硬件资源依据策略完成数据转发;SDN与传统网络不同的是,传统网络中,每个品牌的网络设备都随机带有自己独特的操作系统,网络管理员必须登录到每台设备才能完成对设备的配置、策略制定,继而通过硬件完成对数据转发;而SDN采用独立的第三方控制系统(与硬件品牌无关),网络管理员不必登录到每台设备,在管理中心即可对各种品牌的所有网络设备进行集中的配置和策略制定、以及网络系统的调整,控制系统与硬件资源的兼容性得到了前所未有的提高。


    1.SDN总体结构


    如前所述,SDN网络分为两大部分,一是SDN控制器,一是底层的网络设备,下图描述了SDN的逻辑结构。

 

    \
    图1 SDN的逻辑结构


    1)SDN控制器


    SDN控制器定义了SDN数据平面数据流的转发规则。试图通过SDN网络的每一个数据流,首先必须获得SDN控制器的许可,依据网络设备接收到的、每个流的第一个数据包,控制器检查其转发策略并判断该流是否得到许可。如果该流被允许穿越网络,控制器就计算出一条可以采用的最佳路径,并且在该流所要经过的每个网络设备的流表中增加一个流条目。反之,如果数据流没有获得通过许可,控制器通知网络设备丢弃该流。


    由于所有复杂的管理、控制功能都由控制器来完成,网络设备只需简单地利用由控制器发来的流表即可。控制器和网络设备之间的通信通过一个标淮协议完成,这个标准协议就是后面将要介绍的OpenFlow。


    SDN控制器由三部分组成:


    应用平面:这一部分包括了各种可编程应用,如流匹配策略的制定、转发策略的制定、网络拓扑定义等,也可以是网络管理员自主开发、或委托第三方开发的个性化应用。该平面通过API接口与控制平面通信,将策略传递给控制平面以对整个网络进行控制。


    控制平面:控制平面通过API接口接受来自应用平面的控制策略,并根据策略完成相关计算功能,如路由计算、流匹配计算、策略匹配、安全检查等复杂的控制功能,并向网络设备发布这些计算结果、转发策略以及流表等。这个平面也包含了网络操作系统(NOS) 。


    FlowVisor虚拟化:FlowVisor是一个网络虚拟化平台,置于底层硬件和上层控制软件之间,实现二者的解祸,它可以将物理网络分成若千个逻辑网络,从而实现开放软件定义网络SDN)。管理员通过在FlowVisor上定义网络规则、而不是通过调整路由器和交换机来管理网络、调整网络结构。


    2)网络设备


    网络设备构成了SDN网络的数据转发平面,主要完成以下功能:


    封装流的第一个数据包并转发给SDN控制器,以便控制器判断这个流是否被允许通过网络、是否可以加入流表。


    把输入的数据包根据流表转发到相应的输出端口,流表可能包括有来自控制器的优先级等信息。


    根据控制器的指令,临时或永久性地丢弃某个特定的流,这可能是考虑安全因素(如抑制DOS攻击),也可能是出于流量工程的需要,等等。


    简而言之,SDN控制器管理着网络设备的运行和转发状态,这一管理通过中立第三方提供的OpenFlow标准协议来完成,OpenFlow使控制器可以实现种类繁多的操作需求,而无需改变底层的网络设备,包括物理拓扑结构。


    由于控制平面与数据平面的解祸,SDN控制器使得应用平面可以独立地控制网络设备,而不必关心设备的物理细节,应用平面只需要看到自己通向控制平面的API接口即可。这样,实现新的业务类型,并将它应用到特定的数据流、用以满足特定企业的特定需求(如安全、性能等)将变得非常容易。


    2.SDN


    在一个大型网络中,无论是运营商网络还是大型企业网,仅仅使用一个SDN控制器来管理、控制整个网络是不明智的,这种情况下,往往需要将整个网络划分成若干个不重叠的SDN域,如下图所示:

 

   \
    图2 SDN


    采用SDN域对SDN网络进行分割的原因如下:


    扩展性需求:一个SDN控制器可控制的设备数量是有限的,因此,一个大型网络必然采用多个网络控制器对全网进行管理。


    个性化管理需求:网络管理者可能希望在不同的SDN域采用不同的管理策略,比如,在某一SDN域对特定用户采用其专用的、高度客户化的私密策略,以防止网络信息(如网络拓扑、数据信息等)外泄。


    叠加应用需求:整个网络可能包括传统网络SDN网络两部分,把网络分成多个可以独立管理的SDN域便于传统网络SDN网络的叠加应用。


    多个SDN域的并存需要一个标准化的协议,以使其能够互相交换各种管理和控制信息,IETF目前正在开发一个这样的标淮协议,即SDNi,SDNi主要功能包括:


    交换路由可达性信息,以建立跨SDN的路由。这一信息的交互使得一个数据流可以穿越多个SDN域,并可由每个SDN控制器独立地在多个可选路径中选择最佳路径。


    协商并建立跨多个SDN域的流,这些流可能包含了许多跨SDN域的需求,如,路径信息、QoS信息、服务级别信息等需求;同时对跨域的数据流进行维护和撤消等管理。


    3.OpenFlow协议


    SDN的正常使用必须具备两个条件,首先,必须有一个标淮的逻辑结构,使所有交换机、路由器及其他网络设备可以由一个通用的SDN控制器进行管理。这个逻辑结构在不同厂商、不同类型的网络设备内部可以通过不同的方式实现,但控制器所看到的逻辑功能必须是统一的、标准的。第二,在SDN控制器和网络设备之间必须有一个标谁的安全协议。


    为了满足这两个必备条件,SDN的核心织ONF (Open NetworkingFoundation)在(KOpenFlow SwitchSpecification》中定义了OpenFlow协议,OpenFlow协议既是SDN控制器和网络设备之间的通信协议,也是网络设备必须遵循的逻辑结构规范。OpenFlow的第一个版本V1.0由斯坦福大学开发,V1.2是ONF发布的第一个版本,而最新版本—V1.3.0大大扩展了OpenFlow的功能,并且有可能成为一个比较稳定的商用版本。


    图3对OpenFlow的基本结构作了描述。通过OpenFlow协议,SDN控制器与支持OpenFlow的网络设备在SSL (Secure Sockets Layer)安全通道上进行通信,传递各种管理策略和控制信息。每个网络设备都与其他网络设备或最终用户相连接,并在其内部维护了一系列来自控制器的表,用于流的控制和转发。

 

    \
    图3 OpenFlow网络设备的逻辑架构


[page]    根据OpenFlow定义,SDN网络设备需要维护三个表,即流表、组表和参数表。流表(Flow Table)把输入的数据包匹配到一个特定的流,并定义对该数据流所要进行的操作。如果存在多个流表进行相同的操作,流表会把数据流导人到一个组表(Group Table)中,由组表为组内的数据流触发所有相关的操作。参数表(Meter Table)则用来为数据流触发一系列与性能相关操作或控制功能。


    OpenFlow定义了OpenFlow控制器和OpenFlow设备之间的信息交互,该协议运行在SSL(安全套接字层)之上,以提供一个安全的OpenFlow的通道。OpenFlow协议使得控制器可以对流表中的流进行增加、修改、删除等操作,它支持以下三种消息类型:


    Controller-to-Switch消息:这些消息是由控制器发起,并需要从网络设备处得到响应。这类消息使控制器可以管理设备的逻辑状态,包括其配置、流表和组表的详细情况等;这类消息中也包括输出数据包(就是那些由网络设备发送控制器、而控制器依据策略判定、不能被丢弃的数据包)的信息。


    Asynchronous消息:这类消息由网络设备发起,并不需要控制器的请求,主要用于网络设备向控制器通知状态变化等事件,通常包含了各种状态信息,也包括了输人数据包、流删除、端口状态、报错等信息。在流表中没有数据包的匹配项时,输入数据包就由网络设备发送给控制器,以确定是否可以转发、以及转发所需要的流表项。


    Symmetric消息:这些消息也无需要请求即可由控制器或网络设备发起。控制器和设备之间第一次建立连接时,这类消息来回发送,包括Hello,Echo等请求和响应消息、以及Vendor等附加信息。


    三、SDN网络与传统网络的共存


    SDN显着地不同于传统网络架构,在不断发展的过程中,它与传统网络如何共存是一个很突出的问题。对于二者的共存,目前有两种模型,一为叠加模型,一为集成模型。


    叠加模型中,每台网络设备同时支持传统模式和SDN模式(称为:支持OpenFlow的网络设备),传统网络的控制平面与SDN控制平面分别控制各自的数据平面(网络设备硬件资源),共享硬件资源,独立划分,二者并存,同时运行,但在控制平面和数据平面上没有任何交互,形成两个并存的独立网络


    集成模型中,SDN网络和传统网络由各自的网络设备分别构成,SDN网络采用专用的OpenFlow网络设备(称为:OF网络设备),传统网络则采用现有的传统网络设备。由于是两个在硬件资源上分离的网络,为了保证任意终端间数据的可达性,二者之间必须互通,在数据平面之间、控制平面之间都必须有所交互。


    四、SDN的技术特点


    与其他新出现的技术一样,SDN具有其明显的技术优势,也面临着一些挑战:


    1.SDN技术优势


    把传统网络中的软件和硬件进行了抽象隔离,具备了良好的开放性和可编程性,大大减轻了用户对网络设备供应商的依赖,并可根据自己的需要,自行或委托第三方开放各种特色应用。


    集中控制使管理简单化,管理人员可以进行全局优化,如流量工程、负载均衡等,带宽利用率大大提高;集中控制使得整个网络系统可以提供网络结构的统一视图,对整个网络架构实现统一的查看,从而简化配置、管理和优化。


    集中控制可以实现快速的修复故障,链路、节点故障都能实现快速修复,系统的可用性提高,而且系统能够快速的聚合网络资源,实现平均分配,并且对于一些网络行为可进行预测。


    软件和硬件的抽象隔离,支持高度的虚拟化,使得转发硬件可以完全标谁化设备即插即用,部署方便,有效降低网络建设成本和后期维护成本,同时,逻辑网络可以根据需要进行配置、迁移,而不受物理位置的影响。


    可以实现快速的平滑升级,控制平、面和数据转发平面的分离可以做到软件平滑升级,同时保证没有数据丢包或者性能衰减。


    2.SDN面临的挑战


    协议和产品均不成熟。OpenFlow是一个刚刚标准化的协议,仍处于发展初期,还有待进一步完善,API接口也还没有完全标淮化。同时,基于协议的控制器、网络产品也仍需要进一步发展,基于上述原因,SDN要大规模发展还需要等待。


    与传统网络共存时,对于集成模型中,SDN控制器与传统网络控制器的控制信息互通,还需要明确定义其接口标准;而叠加模型中,同一网络设备需要同时支持SDN模式与传统模式,如何在二者之间实现资源的共享和分配也是一个需要解决的问题。


    网络设备和控制器之间的功能界线如何划分仍在探讨中,功能配置也是一个悬而未决的问题。


    五、SDN在流媒体业务中的应用


    2012年初,Google在其承载数据中心之间流量的G-scale网络中大规模的部署了SDN解决方案,这一方案支持了G-scale网络的高效运营,网络带宽的利用率提升到了95%,在提高带宽利用率的同时,SDN有效地降低了网络的复杂性和管理成本,提升了网络的可管理能力和可编程能力。


    在网络视频领服务域,会涉及到一个重要的概念—“流媒体”。流媒体的一个重要特征是对传输时延和网络带宽的高度敏感性,这是实时性要求高的应用所必需的,网络视频对设备和带宽的品质需求远远高过其他领域的应用。因此,各视频业务提供商纷纷建立了自己的CDN(内容分发网络网络,以期提高业务响应能力。CDN节点可以有效提高业务响应能力,但在由WEB服务器、流媒体服务器向CDN节点的内容推送中,仍有内容推送的及时性、网络带宽利用率、网络的高效管理和运营、故障恢复和可用性、系统网络结构调整、升级等若干问题,因此,在这个核心网络中,就可以通过SDN网络有效地解决这些问题,如下图所示:

 

    \
    图4 SDN网络


    目前,各电信运营商都在如火如茶地建设自己的云计算中心或者流媒体业务中心,也正在不断深入研究SDN在数据中心建设中心中的巨大作用。在这一建设过程中,SDN将可能以其独特的技术特点和优势,使运营商的投资更加高效、系统利用率更高、服务性能更优。作为流媒体服务的主流提供商,各地广电正在大力推进“一省一网”战略,以提供全方位的视频服务。随着这一战略的不断推进,各地广电势必大力建设自己的 CDN网络、以及足以覆盖全省的多个数据中心,SDN方案将可能成为最理想的选择。


    随着SDN技术的不断成熟、人们对SDN理解的不断加深,SDN应用可以逐渐扩大应用范围,由数据中心网络推向骨干网络、城域网络,乃至于接入网。


    六、结束语


    虽然SDN还存在技术、标谁不成熟等问题,但其技术优势是明显的,其发展也是不容质疑的,由于它的开放性、易用性、低成本等,SDN必将成为网络领域的搅局者,给网络建设、网络管理和网络应用带来新的气象。


第三十五届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:chenjian

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。