APP下载

SDN的特征、发展现状及趋势

2013-08-09华一强何晓峰

电信科学 2013年9期
关键词:流表交换机厂商

郑 毅,华一强,何晓峰

(中国联合网络通信有限公司网络技术研究院 北京 100048)

1 引言

近年来,SDN(software defined networking,软件定义网络)的热度持续升温。2012年,国际研究机构Gartner将其列为未来5年内IT领域十大关键技术之一[1]。同年,谷歌宣布已在其内部骨干网络上使用SDN技术,标志着SDN进入商用化阶段。各大厂商也随之纷纷发布SDN战略并相继推出商用化产品。由于SDN的发展势头大大超出预期,电信领域知名的市场咨询公司IDC(International Data Corporation,国际数据公司)不得不将2016年SDN的市场预期从原来的20亿美元上调至37亿美元[2],增幅近90%。短短几年,SDN这个从美国斯坦福大学实验室研究项目中诞生的产物,已经成为全球瞩目的网络技术热点。那么SDN到底代表了什么?为什么业界将其视为具有颠覆性的网络革命技术?它是否会彻底改变电信产业目前的产业链结构?本文从SDN的起源出发,尝试通过分析SDN的特征、关键技术和产业链状况对目前SDN的发展情况做一个全面的梳理,并简要预期其未来的发展趋势。

2 SDN的概念

SDN是起源于美国斯坦福大学实验室的研究项目的技术,并不是在其产生时就具有该名称。2006年斯坦福的学生Casado M和他的导师McKeown N教授受其研究项目Ethane[3]启发,提出了OpenFlow的概念。该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通信的安全控制。在随后的2008年,McKeown N等人在ACM SIGCOMM发表了题为OpenFlow:enabling innovation in campus networks[4]的论文。文中首次详细地介绍OpenFlow的概念,即将传统网络设备的数据平面和控制平面两个功能模块相分离,通过集中式的控制器(controller)以标准化的接口对各种网络设备进行管理和配置。这种网络架构为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。在此基础上,基于OpenFlow为网络带来的可编程特性,McKeown教授进一步提出了SDN最早的概念[5]。

由此可见,SDN的产生与OpenFlow协议密切相关。现在业界普遍将基于OpenFlow协议的SDN视为狭义SDN。这一概念也是业界的默认概念,本文中如果不做特殊说明,SDN也特指这一概念。

随着SDN的发展,越来越多的厂商加入SDN的研究行列。由于不同行业、不同应用对SDN有着各自不同的需求,因此在谈论SDN时通常也有着不同的理解。在网络科研领域,利用SDN快速地部署和试验创新的网络架构与通信协议;大型互联网公司希望SDN提供掌握网络深层信息的可编程接口,以优化和提升业务体验;云服务提供商希望SDN提供网络虚拟化和自动配置,以适应其扩展性和多租户需求;ISP希望利用SDN简化网络管理以及实现快速灵活的业务提供;企业网用户希望SDN实现私有云的自动配置和降低设备采购成本。基于这些需求,在思科等厂商的推动下,IETF、IEEE等标准组织去除了SDN与OpenFlow的必然联系,保留了可编程特性,从而扩展出SDN的广义概念,即泛指基于开放接口实现软件可编程的各种基础网络架构,进而将具备控制转发分离、逻辑集中控制、开放API 3个基本特征的网络纳入SDN的广义概念下,目前这一概念的发展由IETF主推。

3 SDN的价值及战略意义

由于SDN实现了控制功能与数据平面的分离和网络可编程,进而为更集中化、精细化地控制奠定了基础,因此SDN相对于传统网络具有以下优势。

·将网络协议集中处理,有利于提高复杂协议的运算效率和收敛速度。

·控制的集中化有利于从更宏观的角度调配传输带宽等网络资源,提高资源的利用效率。

·简化了运维管理的工作量,大幅节约运维费用。

·通过SDN可编程性,工程师可以在一个底层物理基础设施上加速多个虚拟网络,然后使用SDN控制器分别为每个网段实现QoS(服务质量),从而扩大了传统差异化服务的程度和灵活性。

·业务定制的软件化有利于新业务的测试和快速部署。

·控制与转发分离,实施控制策略软件化,有利于网络的智能化、自动化和硬件的标准化。

总之,SDN将网络的智能从硬件转移到软件,用户不需要更新已有的硬件设备就可以为网络增加新的功能。这样做简化和整合了控制功能,让网络硬件设备变得更可靠,还有助于降低设备购买和运营成本。控制平面和数据平面分离之后,厂商可以单独开发控制平面,并可以与ASIC、商业芯片或者服务器技术相集成。由于SDN具有上述特点,因此SDN的发展壮大可能带来网络产业格局的重大调整,传统通信设备企业将面临巨大挑战,IT和软件企业则将迎来新的市场机遇。同时,由于网络流量与具体应用衔接得更紧密,使得网络管理的主动权存在从传统运营商向互联网企业转移的可能。因此,SDN的出现可能会彻底颠覆目前的互联网产业的现状。

4 SDN的网络架构及关键技术

4.1 SDN的网络架构

图1是业界广泛认同的SDN模型架构。

该模型架构分为3层,其中基础设施层主要由支持OpenFlow协议的SDN交换机组成。控制层主要包含OpenFlow控制器及网络操作系统 (network operation system,NOS)。控制器是一个平台,该平台向下可以直接与使用OpenFlow协议的交换机 (以下简称SDN交换机)进行会话;向上,为应用层软件提供开放接口,用于应用程序检测网络状态、下发控制策略。位于顶层的应用层由众多应用软件构成,这些软件能够根据控制器提供的网络信息执行特定控制算法,并将结果通过控制器转化为流量控制命令,下发到基础设施层的实际设备中。根据上述论述,OpenFlow协议、网络虚拟化技术和网络操作系统是SDN区别于传统网络架构的关键技术。

图1 SDN模型架构

4.2 OpenFlow协议

从SDN的起源可以看出,OpenFlow协议是SDN实现控制与转发分离的基础。业界为了推动SDN发展并统一OpenFlow标准,组建了标准化组织开放网络基金会(Open Networking Fundation,ONF)[6]。目前,ONF 已成为 SDN 标准制定的重要推动力量,其愿景就是使基于OpenFlow协议的SDN成为网络新标准。自2009年10月发布OpenFlow标准第一个版本以来,ONF先后发布了1.1、1.2、1.3等版本。OpenFlow协议发表的详细情况如表1所示。

OpenFlow规范主要由端口、流表、通信信道和数据结构4部分组成。由于篇幅原因,本文不对该规范做展开论述,主要介绍OpenFlow的运行原理。

表1 OpenFlow协议发表情况

图2反映了OpenFlow对数据分组的处理机制。

一个OpenFlow交换机包括一个或者多个流表(flow table)和一个组表(group table)。流表中的每个流条目包括如下3个部分。

· 匹配(match):根据数据分组的输入端口、报头字段以及前一个流表传递的信息,匹配已有流条目。

· 计数(counter):对匹配成功的分组进行计数。

· 操作(instruction):包括输出分组到端口、封装后送往控制器、丢弃等操作。

SDN交换机接收到数据分组后,首先在本地的流表上查找是否存在匹配流条目。数据分组从第一个流表开始匹配,可能会经历多个流表,这叫做流水线处理(pipeline processing)。流水线处理的好处是允许数据分组被发送到接下来的流表中做进一步处理或者元数据信息在表中流动。如果某个数据分组成功匹配了流表中某个流条目,则更新这个流条目的“计数”,同时执行这个流条目中的“操作”;如果没有,则将该数据流的第一条报文或报文摘要转发至控制器,由控制器决定转发端口。

4.3 FlowVisor

FlowVisor是建立在OpenFlow之上的网络虚拟化平台[7],引入FlowVisor后OpenFlow网络架构如图3所示。

对于控制器而言,FlowVisor看起来就是普通的交换机;从OpenFlow交换机的角度来看,FlowVisor就是一个控制器。类比计算机的虚拟化,FlowVisor就是位于硬件结构元件和软件之间的网络虚拟层。它将物理网络分成多个逻辑网络,从而允许多个控制器同时控制一台OpenFlow交换机,但是每个控制器仅仅可以控制经过这个OpenFlow交换机的某一个虚拟网络 (即slice)。因此通过FlowVisor建立的试验平台可以在不影响流的转发速度的情况下,允许多个网络试验在不同的虚拟网络上同时进行。

图3 存在FlowVisor的OpenFlow网络架构

网络切片是FlowVisor管理功能实现的要素,它是由一组文本配置文件定义的。文本配置文件包含控制各种网络活动的规则,例如允许、只读和拒绝,其范围包括流量的来源IP地址、端口号或者数据分组表头信息。通过网络切片,FlowVisor为管理员提供了广泛的定义规则来管理网络。

由于FlowVisor是建立在OpenFlow控制器基础上的,因此,它与一般的商用交换机是兼容的。目前FlowVisor尚处于实验阶段,主要部署在校园网(如斯坦福大学)。

4.4 NOS

在SDN范畴中,NOS特指运行在控制器上的网络控制平台。控制器的控制功能都是通过运行NOS实现的。NOS就像OpenFlow网络的操作系统,它通过对交换机操作来管理流量,因此,交换机也需要支持相应的管理功能。

图4为 NOS在网络中的位置示意。

从整个网络的角度来看,网络操作系统应该是抽象网络中的各种资源,为网络管理提供易用的接口。基于它,可以建立网络管理和控制的应用。因此,NOS本身并不完成对网络的管理任务,而是通过在其上运行的各种“应用”实现具体的管理任务。管理者和开发者可以专注到这些应用的开发上,而无需花费时间在对底层细节的分析上。为了实现这一目的,NOS需要提供尽可能通用的接口,满足各种不同的管理需求。

当流量经过交换机时,如果发现没有对应的匹配表项,则转发到运行NOS的控制器并触发判定机制,判定该流量属于哪个应用。NOS上运行的应用软件通过流量信息来建立网络视图(network view)并决策流量的行为。正是因为有了NOS,SDN才具有了针对不同应用建立不同逻辑网络并实施不同流量管理策略的能力。目前,较为流行的NOS 有 NOX[8]、Beacon、Trema、Maestro 等。

图4 NOS在网络中的位置

5 SDN产业结构及发展现状

由于SDN的出现有可能会打破现有网络设备市场格局,为竞争者带来绝佳的机会,因而获得了大批创业者和各利益相关方的关注与积极参与。目前,SDN的产业链可暂分为六大阵营。

(1)传统设备商

由于SDN架构下,交换机功能简单且同质化,缺少市场价值。因此,对于以思科、华为技术为代表的传统设备商而言,SDN将使它们目前的优势地位面临巨大挑战。同时,由于SDN代表了网络虚拟化这一必然趋势,传统设备商也无法拒绝或回避。因此,它们多采用“两条腿走路”的方式:一方面,通过收购SDN初创公司、对原有设备进行SDN升级等手段密切跟踪SDN的发展;另一方面,则积极推出自己的SDN战略,力图利用现有优势地位掌握SDN发展的主导权,将之融入现有网络架构之中。这也就是思科要积极推动SDN与OpenFlow解耦合的深层原因。

目前,思科、华为技术、瞻博等企业都已推出自己的SDN战略(如思科的ONE、华为技术的 SoftCOM),并在其部分设备上实现了对OpenFlow的支持。

(2)初创公司

对于以Nicira(VMware)、Big Switch为首的创业公司,SDN的出现为它们创造了颠覆思科统治地位、进军网络设备产业不可多得的机遇。为了节约开发成本,同时增强通用性,它们是发展基于OpenFlow协议SDN通用架构的积极推动者。由于资源有限,目前这些公司主要专注于在某一领域(如数据中心),将OpenFlow与虚拟化技术结合,为客户提供网络虚拟化解决方案。

(3)IT 服务提供商

SDN的出现同样也使IBM、惠普等IT服务提供商看到了进军网络设备产业、开创新业务模式的可能。因此,在对待SDN的态度上它们与初创公司一致,即支持基于OpenFlow协议SDN通用架构。所不同的是,IT服务提供商多通过定制的硬件设备加自研SDNOS的模式,快速提供全套SDN解决方案,挤占传统网络设备厂商的市场空间。

(4)芯片厂商

由于SDN架构改变了传统的流量处理方式,因此标准化的SDN设备需要新一代专门面向SDN的通用的交换芯片。博通、英特尔、美满电子等国际芯片厂商也积极地推出实现SDN的网络处理芯片解决方案,力求在SDN大潮中分一杯羹。目前,博通和美满电子都已先后推出了40GE/10GE交换芯片,使SDN距离商业应用更近了一步。

(5)互联网内容提供商

对于谷歌、Facebook、腾讯等互联网内容提供商(ICP)来说,其更关注SDN开放性所带来的应用与网络控制的紧耦合。如果SDN控制器的北向接口全面开放,互联网公司也就间接获得了网络控制的主导权,进而使其有能力将自身应用网络的运维与底层传输网络的运维相整合。这样不仅有助于其提高在与运营商谈判中的话语权,也有助于其提高服务质量、降低运维成本、加快新业务的普及速度。因此,互联网企业也是SDN最有力的推动者。

(6)运营商

相对于互联网企业,运营商(ISP)则更多地对SDN持谨慎态度。一方面是因为目前SDN还不够成熟;另一方面则是由于引入SDN虽然可能会降低运营商的运营成本,但也可能加速其管道化进程,进而削弱其利润空间。现阶段运营商(包括Verizon、NTT、中国电信等)还都主要在其数据中心对SDN进行探索和实验。

6 SDN的挑战与未来

虽然SDN相对传统网络具有诸多优势,代表着网络发展的方向,但目前仍存在一系列尚待解决的问题。

6.1 SDN面临的挑战

(1)运算压力大、软件复杂度高、系统稳定性存在隐患

SDN架构下,控制器需要为每一条流制定优化的路由策略,其运算压力之大可想而知,且这一压力会随控制网元数量的增加呈几何级上升。此外,由于不同应用会在SDN系统建立不同的逻辑网络,各应用程序彼此会妨碍对方的功能,资源竞争将会非常激烈。而从计算机程序的发展历史来看,为了协调各程序的运行,提高资源利用效率,往往会导致资源分配算法的复杂度和运算量呈指数级上升,进而存在成为系统瓶颈的可能。同时,为了实现网络的可编程性,应用程序会被赋予大量对环境的控制权,而这很容易导致系统崩溃。因此,如何在软件复杂度和运算效率之间取得平衡是SDN面临的一大挑战。

(2)控制器接口尚未标准化

目前,ONF仅定义了控制器连接交换机的南向接口,而尚未定义控制器之间的接口及控制器开放给应用程序的北向接口。原因是该组织认为现在标准化这些接口为时尚早,且可能会扼杀网络基础架构中关键组件的创新。但这也无疑增加了各厂商设备间互通的难度,一定程度上延缓了SDN的商用化进程。

(3)网络集中控制固有的安全性隐患

由于SDN采取集中控制架构,因此必然面临着集中所带来的“单点失效”等固有缺陷。

(4)从现有硬件平台向虚拟化网络的平滑演进、兼容性和长期共存的挑战

由于SDN采用OpenFlow协议相对简单,因此在与网络上长期留下来的、多厂商的、多种类的系统、设备在兼容性方面的性能还有待实践检验。

(5)市场利益复杂化成为SDN发展的一大阻力

由于SDN尚处于发展的初级阶段,且各参与方有着不同的利益和目的,对SDN的看法也存在着巨大的差异。目前,业界各家厂商发布的SDN策略、解决方案之间也是千差万别,市场上已经呈现出一些厂商各行其是的现象。业界要做到统一SDN标准,实现各厂商产品相互兼容,还需要一个长期的过程。

6.2 SDN的发展趋势

鉴于存在上述复杂的原因,要预测SDN的发展趋势变得十分困难。但可以从两个角度进行考察。

从SDN设备发展的角度来看,由于存在明确的标准且功能相对简单,大部分厂商都已推出了支持OpenFlow的交换机产品。可以预见下一阶段,多数厂商以及标准组织会将关注重点转移到更加复杂的控制器上,推动SDN向进一步商用化发展。

从SDN的应用领域角度来看,数据中心无疑是SDN第一阶段商用的重点。数据中心由于具有流量大、流量模型简单、与其他网络相对隔离等特点,非常适于SDN技术特点的发挥。而且目前大部分数据中心正面临“云”化变革,这为SDN推广提供了难得的机遇。因此,业界普遍将数据中心视为SDN目前最主要的应用领域。

1 Cooney M.Gartner:the top 10 strategic technology trends for 2012.http://www.networkworld.com/news/2011/101811-gartner-technologytrends-252100.htm l,2011

2 IDC预测:2016年SDN市场将产生37亿美元收入.http://www.cnw.com.cn/news-international/htm2013/20130513_269799.shtml,2013

3 Casado M,Freedman M J,Pettit J,et al.Ethane:taking control of the enterprise.ACM SIGCOMM Computer Communication Review,2007,37(4):1~12

4 McKeown N,Anderson T,Balakrishnan H,et al.OpenFlow:enabling innovation in campus networks.ACM SIGCOMM Computer Communication Review,2008,38(2):69~74

5 Lantz B,Heller B,McKeown N.A network in a laptop:rapid prototyping for software-defined networks.Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks,Monterey,CA,2010

6 https://www.opennetworking.org/

7 Sherwood R,Gibb G,Yap K K,et al.Flowvisor:a Network Virtualization Layer.OpenFlow Switch Consortium,Tech Rep,2009

8 Kim D,Gil JM,Wang G,et al.Integrated SDN and non-SDN network management approaches for future internet environment.Lecture Notes in Electrical Engineering,2013(240):529~536

猜你喜欢

流表交换机厂商
基于匹配动作表模型的可编程数据平面流表归并
玩具厂商及合作机构新年进步
基于时序与集合的SDN流表更新策略
基于地铁交换机电源设计思考
修复损坏的交换机NOS
简析yangUI流表控制
厂商对北京卡车市场不抱希望
软件定义网络中一种两步式多级流表构建算法
使用链路聚合进行交换机互联
考虑产能约束的耐用品厂商易耗部件兼容策略