软件定义网络及其应用分析
2014-08-23沈庆国黄寥若
沈庆国,黄寥若,骆 坚
(解放军理工大学通信工程学院,江苏 南京 210007)
0 引言
针对现有互联网由无连接、尽力而为、边缘智能论等特性带来的弊端,很多国家纷纷开展未来网络的研究,以期解决网络安全、服务质量、扩展性、移动性、可管理性等方面的问题。在所提出的多种新型网络中,软件定义网络SDN(Software-Defined Network)以及网络虚拟化技术尤其受到高度关注。本文对软件定义网络SDN进行介绍,重点分析OpenFlow接口、网络可编程、网络虚拟化等技术思想,梳理其技术源流,剖析其本质特点;然后分析SDN在商业模式、可伸缩性等方面的问题;最后分析其适用范围,阐述SDN在IP网、光网络、无线网络等集成管控方面的应用潜力。
1 网络可编程化:控制规则和数据转发分离
基于策略的管控思想在管理平面和控制平面中得到大量应用[1]。策略是网络管理和控制规则,说明了在特定条件下应当采取的网络管控行为。当一个网络系统行为方式发生变化时,只需对其策略进行修改,而不需要修改它的实现。这种策略规则与网络系统具体实现相分离的机制,提升了网络管控能力,同时也为网络的实现带来了灵活性。
典型的策略具有“条件-动作”的结构。“条件”指明在具体的网络状态下应该执行什么操作行为,可以是分组流条件(IP分组头部信息),或者是时间段条件,或者是其他条件(用户身份条件或设备条件)。由IETF制订的策略管理框架被学术界和工业界广泛接受。该框架主要由策略管理工具(PMT)、策略库(PR)、策略决策点(PDP)、策略执行点(PEP)以及相关协议等组成,如图1所示。PMT可编辑、维护策略信息,监控策略管理系统的运行状况。PR用于存储策略信息,提供信息检索服务。PR一般使用目录服务器实现。PDP负责管理辖区内的网络设备,指定相应设备需执行的动作。
图1 策略管理基本框架
PEP是具体的受控网络设备,比如路由器、交换机、防火墙等。PEP执行PDP发送来的决策,并将策略执行情况、系统状态变化以及可用资源信息等告知PDP。不过,由于各网络设备厂家实现方式不同,PEP有可能不能实现PDP发来策略所规定的目标。
策略规则和网络实现相分离的思想,在Open-Flow网络结构中得到进一步发展。OpenFlow是美国斯坦福大学提出的一种控制平面与数据平面相分离的新型网络体系[2],在数据平面中用十元数组规则(即MAC地址、IP地址、套接字端口等)的形式制定数据分组转发规则,以便保障分组流传送服务质量。OpenFlow技术对未来的交换机、路由器、无线网络网关等各种网络设备的实现具有较大影响。将来的网络很可能是这样的:底层的数据通路(交换机、路由器)是简单的、标准化的,具有设置流量策略表的标准接口,同时采用控制器来控制整个网络。通过在控制器上透明调用底层设备的接口来进行策略规则编程,从而实现网络的灵活管控,让网络软件化。目前已推出基于通用操作系统的网络可编程环境,采用C++和Python编程语言,用户可自行实现新的网络功能。与基于策略的网络管控系统相比,OpenFlow既避免了PEP可能不能实现策略目标的问题,同时结构更加清晰、策略规则产生更加方便和自动化。
2 SDN体系结构
OpenFlow具有网络设备统一控制和可编程调整等特点。把OpenFlow的策略规则接口标准化、可编程化等思想进一步扩展,斯坦福大学等提出了软件定义网络SDN,其主要思想是使网络接口开放,能按软件编程的方式对网络进行动态调节,便于网络技术创新和能力提升[3]。
图2 SDN基本框架
如图2所示,SDN的基本网络要素包括:
(1)物理网络转发设备,提供标准的分组转发功能,支持开放的设备控制接口如OpenFlow,该接口称为南向接口;
(2)逻辑上集中的SDN控制器,它是可编程的控制器,通过获取全局网络拓扑和运行状态进行动态决策,并为上层具体应用提供编程接口(北向接口);
(3)应用程序,该程序运行在控制器之上,利用控制器提供的编程接口,应用程序可以按软件定义方式把整个网络映射为一个虚拟网络,在路由、带宽管理、服务质量、安全等方面根据用户要求进行灵活设置。
需要说明的是,SDN南向接口除了采用Open-Flow之外,还可采用其他协议。
SDN的基本特征包括:控制与转发分离后的集中控制、控制平面与转发平面之间的开放接口、网络虚拟化。集中的控制平面可以控制全网中各个转发设备,监视整个网络状态,进行全局优化控制。网络虚拟化是指在一个实际的物理网络上构建多个独立且互不干扰的虚拟网络,不同的虚拟网络可以采用不同的体系结构与协议栈,以满足不同用户的业务要求。网络虚拟化与以往的VPN和VLAN有些类似,都是在一个物理网络上组建多个逻辑网络,但以往的VPN和VLAN仅在第3层或第2层实现[4],而 SDN网络虚拟化涉及的协议层次更多,能更好地适应传输环境和用户业务需求。
3 SDN尚需解决的一些问题
SDN使用户能够对各厂商设备进行编程控制,并通过先进的软件开发技术将设备可编程提升为网络可编程。控制面与转发面分离后,可突破原有厂商的垄断,其开放性便于新的组网模式的实现。
OpenFlow实质上是策略系统和跨层次交换技术的灵活实现。同样,SDN更多的也是在网络实现上的创新,其核心价值来源于它和上层应用的集成能力,让电信运营商、服务提供商、企业快速地推出适应各种上层应用要求的网络服务。但如何发挥这些能力,还有很多问题待解决。
(1)SDN的集中控制机制在多自治域互联的广域网中实现比较困难。SDN的集中控制机制更适合在一个自治的局部网络中使用。当存在多个自治域且每个自治域有不同的管理者时,一个自治域的所有者不愿意把其网络设备交给其他管理者去控制,因此就会出现各自治域都是由自己的集中控制器管控的情况,而这些自治域控制器之间如何进一步集中控制则有待研究。一种可能的方法是借鉴BGP协议进行域间信息交换,将SDN域间可达信息、各域转发能力和策略封装为SDN自治域服务API,供其它自治域控制器调用,不过这又回到分布式控制方式了。
(2)控制器存在可扩展问题。全网络集中进行决策和控制,需要巨大的处理能力和信息收集能力。尽管并行计算、云计算可解决处理能力问题,但整个网络的状态信息如何及时、准确地收集还没有细致可行的方案。状态信息是通过专用数据网络上传,还是使用某种广播链路自动传播?若是前者,则专用数据网络如何构建、是否可扩展和可软件定义?若是后者,则广播式传播在广域网中又如何实现?仅仅提供一个OpenFlow接口并不能回答在大规模广域网中信息收集问题;况且OpenFlow目前主要支持向网络设备传送流表配置数据,对网络设备资源状态信息(如链路误码率、剩余带宽、内存利用率等)上报功能支持不够。
(3)需要设计清晰的商业模式,让SDN应用程序开发商能够获利,企业用户能够降低组网成本。近年来云计算发展非常迅猛,其获得成功的一个重要原因就是应用和许可被随时购买和生效,用户不需要了解云计算系统基础设施的细节和相应的专业知识,也无需直接进行控制,就能使用这些云计算系统提供的功能[5]。就目前研究状况看,SDN还没有提出一种可行的商业模式,相关的商业服务如何实现、如何购买还不清楚,但肯定不同于云计算模式。如果让每个用户直接编程设置底层网络,既对用户的网络技术能力要求过高(用户要了解其业务属性、流量矩阵、带宽要求、优先级等特征才能有效定制其网络),也会让网络的安全性、可扩展性大打折扣。
上述这些问题,说明SDN作为一个创新网络,无论在技术模型上还是商业模型上还不够细化,所适用的场景主要还是局部的、自治的组网应用,存在一定的局限性。这种局限性来源于节点转发行为用流表规则标准化后呈现出简单性的无形影响,从而有意无意地忽略了大规模网络节点交互下所涌现的复杂性和非线性机制[6]。SDN采取简化路线来解决复杂网络问题,即把多自治域系统组成的复杂网络交给一个逻辑上的集中控制器进行管控,这就违背了复杂系统运作的基本规律。
由于SDN与目前IP网的转发平面并没有本质差别,SDN技术思想更多的只是在网络实现上的创新,SDN看重的控制平面分离和开放所能获得的收益,并不会像软交换思想在通信网络向下一代网络演进中一样发挥决定性作用。依据软交换技术体系,传统程控交换的控制和转发分离后转发平面更灵活了,且软交换并不强调集中控制,因此软交换思想取得了巨大成功。而SDN则不具备这样的特征,只能在局域范围和特定场合下发挥作用。
4 SDN技术的应用分析
SDN适合于在自治的、局部的网络环境中使用。在一个自治网络中,传送层面、交换层面、路由层面等网络都可采用SDN的集中编程控制方式,而且还可设一个总的控制器在不同层面之间进行一体化管控。目前SDN在数据中心联网、IP网和光网络集成、无线网络智能管控等方面的应用,都是这种思路的具体体现。
4.1 支撑云计算的数据中心虚拟化联网
数据中心是云计算服务基础设施部署的主要场所。基于云计算的数据量急剧膨胀,使得数据中心网络面临着巨大的压力。数据中心网络是一个局域性的二层网络,传统网络技术已不能满足云计算的需求,云计算向网络技术提出了新的挑战,也为SDN应用提供了机会[7]。
(1)虚拟机本地互联。
数据中心可能同时运行成千上万个虚拟机。每个虚拟机都有自己的MAC和IP地址,需要进行各种方式的联网。目前,主要通过虚拟交换机vSwitch实现同一台物理服务器内部的虚拟机在二层互联,跨物理服务器的虚拟机互联交给传统的二层交换机处理。虚拟交换机vSwitch运行于服务器操作系统内部,纯软件实现,简单方便,但也存在两大问题:①虚拟机之间的流量监控问题,传统的网管系统无法深入服务器内部进行流量监控,造成安全隐患;②性能问题,虚拟机网络流量越大,vSwitch就会占用越多的CPU资源进行报文转发,降低了服务器支持更多虚拟机的能力。
解决vSwitch存在问题的思路,是把服务器内虚拟机通信流量发向服务器外部的二层网络交换机,如图3所示。网络交换机采用一种新型转发模式,让这些流量能够从输入端口“原路返回”,从而快速实现这些虚拟机之间的通信。传统的桥接模式的网络交换机都不支持这种“原路返回”,为此IEEE 802.1工作组正在制订新的标准,以支持“原路返回”功能[8]。
图3 将虚拟机间的流量转移到外部二层交换机
当虚拟机间的流量转移到外面交换机上后,防火墙、服务质量(QoS)和端口监控等常规联网控制功能,都可方便地作用到虚拟机间流量上。当然,虚拟机间流量经过外面交换机再返回,会增加虚拟机间通信延迟。
由于数据中心网络是一个自治的局部网络,因此可以应用SDN技术,发挥SDN的集中控制优势。通过统一各二层交换机的网管接口可以实现集中拓扑探测,自动发现虚拟机间的二层连接群组关系,实现虚拟局域网VLAN的自动构建,做到虚拟机迁移过程中的动态组网,并保持IP地址不变。所需的原路返回的功能,可以在OpenFlow交换机上编程实现,而无需进行硬件升级。防火墙、QoS等作为SDN应用程序,可以在虚拟机组网路径上实现动态插入。
(2)跨数据中心二层互联。
在云计算环境下,将会出现跨不同数据中心之间分布式计算和虚拟机迁移需求,需跨数据中心组建二层交换网络。由于不同数据中心之间难以用光纤直接连接,而需通过城域网或骨干网互联,因此目前都是在IP网上建隧道实现二层互联,通过IP隧道实现虚拟的二层链路(如虚拟出租线路VLL,虚拟专用局域网业务VPLS等)。这些隧道往往要手工建立,隧道数量和远端虚拟局域网数量成正比,隧道两端路由器之间要交换学习到的MAC地址信息,因此管理维护较复杂、开销较大,在云计算模式下这些问题更为严重。
思科提出了覆盖网传输虚拟化OTV(Overlay Transport Virtualization)技术。OTV实际上就是多层交换技术,通过在IP分组中封装以太网报文,提供跨不同以太网的覆盖网络,能够以VLAN方式连接不同数据中心的二层网络。与以往技术相比,OTV配置更加自动化,且OTV使用专用协议来传送MAC表以限制MAC地址学习流量。OTV只需设置远端节点的IP地址、两端哪些VLAN要相互联结,交换机就会自动建立三层隧道,并在三层隧道虚拟接口上开启二层交换模式。
数据中心网络采用SDN技术后,很容易通过编程方式实现OTV技术所需的跨中心MAC地址表传送、三层隧道自动建立、VLAN互联等功能,既不需要升级网络硬件,又提高了跨数据中心组网性能。所要求的前提条件是不同的数据中心二层网络要有统一的编程管控接口。
上述组网场景涉及多层交换。多层交换是目前网络产品广泛应用的技术,比如大量应用的二层交换、三层交换、四层交换等技术。多层交换实际上是跨层设计在交换中的应用。在跨层设计中,底层提供服务的属性说明,以便高层选择服务;高层将其服务QoS要求以标记或其它方式通知下层,以便下层进行合适的处理。IP等协议的一些内部特征广为熟知并相对稳定(比如互联网传输层端口号),其他层次利用这些特征实现一些额外控制功能,是技术的合理发展[9]。这种合理性在SDN、OpenFlow等跨层技术上得到进一步体现,它们实质上是跨层次交换策略规则标准化的、灵活的实现。在数据中心组网中应用SDN技术,既发挥了其自动化、灵活性优势,又将虚拟机组网服务融合在云计算商务模式中,克服了其局限性,成为SDN最成功的一种应用。
4.2 IP网和光网络一体化重构
面对网络流量的快速增长的压力,必须采取新技术对骨干网络带宽进一步扩容。目前采取的办法主要是通过光网络和IP网络融合提供超大带宽。
现有的宽带传输网络技术主要是SDH和DWDM,SDH只能管理一根光纤上的单路波长传输,而单路波长的传输速率是有上限的;DWDM网可实现在一根光纤上的多路波长传输,增加了现有的光纤带宽,但它缺乏SDH技术所固有的保护和管理能力。进一步扩大容量的出路是光传送网络OTN(Optical Tranport Network),它是下一代传送网技术。OTN是为管理每个光纤上多个波长传输而设计的,它提供了管理每条光纤上每一个波长的能力,它综合了SDH的优点和DWDM的带宽可扩展性,把SDH的管理控制功能应用到 DWDM光网络,是密集波分复用DWDM系统能力的提升。通过采用OpenFlow技术,可在光交叉连接节点中实现虚拟的以太网交换能力,在OTN和IP网络两个层面间形成公共控制平面,使光网络能更好地适应IP网络流量变化,动态地按需提供带宽。基于OpenFlow的统一控制平面,比基于GMPLS的统一控制平面更为简单、灵活性更好,使得光网络和IP网络能够应用一致的管控策略,并按软件定义网络SDN的思想实现协同重构[10]。由于光网络和IP网络相互开放内部信息会带来安全性问题,在它们分别属于不同运营商时不易解决。因此,这种技术体系首先将在同一运营商同时拥有光网络和IP网络情况下,在一定范围(比如城域网)获得应用。
4.3 无线网络中应用
利用OpenFlow控制技术对无线移动网络进行高效、灵活的网络管理,是其提出之初就有的基本设想[2,11]。NEC公司则在移动网络中加以具体实现和应用[12-14],它基于SDN集中控制器监控某一运营商拥有的各种无线信道质量和负载状况,可在多种移动通信方式间实现动态切换,提高终端用户的服务质量。它还利用OpenFlow智能流量管理功能对移动回传网络进行节能管理,在通信量相对较少的夜晚时段,可以汇集网络路径,关闭多余的无线中转站点的电源,从而节省能源。
瑞典Karlstad大学等基于SDN和OpenFlow提出了云化无线局域网 CloudMAC,通过让无线接入点(AP)仅具有MAC帧转发功能,并将认证、MAC帧处理等功能上移到SDN集中控制器,可以方便地实现AP间无缝切换、跨层地灵巧躲避AP间信号干扰、不改变AP硬件仅靠软件升级就能部署新组网功能等应用[15]。
中部瑞典大学的研究人员认为OpenFlow简化节点分组转发行为的特点适合传感器节点能力受限的情况。目前传感器网络采用自组织联网的方式,全网路由难以整体优化,端到端通信的可靠性也不高。通过在传感器节点中增加流量感知和上报能力,网络集中控制器能够获取全网流量矩阵,识别流量中继关键节点,调节全网流量聚合路径,提高端到端通信可靠性[16]。
5 结束语
本文对软件定义网络SDN技术源流和本质特点进行了介绍,指出SDN目前还存在缺乏清晰的商业模式、全局状态收集和集中控制器可伸缩性等问题。
SDN技术思想更多的只是在网络实现上的创新,对于复杂的大规模网络所具有的可观测性、可控制性问题并没有突破。因此SDN更适合于在自治的、局部的网络环境中使用,比如数据中心网络、下一代传送网络、无线网络。这些网络都需多层交换或跨层面控制,都可采用SDN集中控制器进行一体化管控。本文通过分析其典型应用场景,阐述了SDN技术的适用范围和应用潜力。
虽然SDN蕴涵的众多理念未必都能实现,而更新的技术体系又必然会出现,但新技术必定包含SDN技术的合理成分,通信网络就是在融合、分化的不断循环中向前发展的。
:
[1]Emil Lupu,Morris Sloman.Conflicts in policy-based distributed systems management[J].IEEE Transactions on Software Engineering,1999,25(6):852-869.
[2]Nick McKeown,Tom Anderson,Hari Balakrishnan,et al.OpenFlow:Enabling innovation in campus networks[J].ACM SIGCOMM Computer Communication Review,2008,38(2):69-74.
[3]Open Networking Foundation.Software-Defined Networking:The New Norm for Networks[EB/OL].https://www.opennetworking.org/images/stories/downloads/white-papers/wpsdn-newnorm.pdf,2012-05-30.
[4]罗国明,沈庆国,张曙光,等.现代交换原理与技术(第2版)[M].北京:电子工业出版社,2010.
[5]彭国庆,周冠宇.云计算分层体系结构研究[J].移动通信,2010,34(16):54-58.
[6]汪小帆,李翔,陈关荣.复杂网络理论及其应用[M].北京:清华大学出版社,2006.
[7]徐雷,张云勇,吴俊,等.云计算环境下的网络技术研究[J].通信学报,2012,33(z1):216-221.
[8]康乐.虚拟机网络接入层技术进化[J].中国教育网络,2010(2):106-109.
[9]沈庆国,于振伟,龚晶.网络体系结构的研究现状和发展动向[J],通信学报,2010,31(10):3-17.
[10]Takehiro Tsuritani,Liu L.Intelligent control plane techniques for next generation optical switching networks[J].China Communications,2012,9(8):29-39.
[11]Yap K K,Sherwood R,Kobayashi M,et al.Blueprint for introducing innovation into wireless mobile networks[C]//ACM SIGCOMM International Workshop on Virtualized Infrastructure Systems and Architectures(VISA).2010:25-32.
[12]Yap K K,Kobayashi M,Sherwood R,et al.Openroads:Empowering research in mobile networks[J].ACM SIGCOMM Computer Communication Review,2010,40(1):125-126.
[13]Gen Motoyoshi,Naoki Wakamiya,Masayuki Murata.Future mobile network management with attractor selection[C]//2012 9th Annual Conference on Wireless On-demand Network Systems and Services(WONS).2012:27-30.
[14]James Kempf,Bengt Johansson,Sten Pettersson,et al.Moving the mobile evolved packet core to the cloud[C]//IEEE WiMob.IEEE Computer Society,2012:784-791.
[15]Jonathan Vestin,Peter Dely,Andreas Kassler,et al.CloudMAC:Towards software defined WLANs[J].ACM SIGMOBILE Mobile Computing and Communications Review,2012,16(4):42-45.
[16]Arif Mahmud,Rahim Rahmani.Exploitation of OpenFlow in wireless sensor networks[C]//2011 International Conference on Computer Science and Network Technology(ICCSNT).2011:594-600.