一种基于SDN的虚拟化自配置网络架构

2017-04-18 16:15花纯征丁伟群别长报
电脑知识与技术 2016年35期
关键词:软件定义网络虚拟化

花纯征+丁伟群+别长报

摘要:随着物联网在智能电网中的应用,包括智能电子设备的高性能传感器、智能汽车等。可编程的SDN网络技术能够实现灵活、弹性、可伸缩的效用组件的部署,以此来满足用户对网络相应时间和安全指标的严格要求。在该文中,笔者首先提出了一种标准的解决方案,该标准在工业界的虚拟网络中应用广泛,但在大规模M2M效用组件中应用较少。其次,在提出若干效用组件用例的基础上,笔者还提出了基于SDN建立弹性可自适应的虚拟网络,该网络能够实现动态弹性调整和成本优化。最后,笔者还设计了一种基于SDN的网络架构解决方案,该方案能够支持虚拟效用网络实现网络自配置,并且实现终端的按需部署。通过两个基于SDN的网络交换机验证了该文所提方法的有效性。

关键词:软件定义网络;效用网络;虚拟化

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)35-0031-05

1 背景

随着智能电网的推出,支持店里效用器件的M2M通信网络正在经历必须支持多种应用和网络的变化[4]。终端节点的变化主要来自于传感器的部署,目前仅限于多个远程终端单元(RTUs)、几百到几万个传感器,包括测量单元(PMU)、智能电子设备(IED),使这些设备连接到电动汽车传感器(EV)和分布式能源上(DER)。这些变化不仅需要在网络中部署大量的传感器,同时,大量增加的传感器带来了各自频率报告的测量数据和状态更新数据,也将导致网络流量的增加,如图1所示。此外,由于网络规模、网格器件需要实现自配置和可扩展性,这就需要通信网络能够弹性地满足网络的可用性,提高网络安全和网络性能。

和连接频率示意图

在本文中,我们提出了采用SDN技术[2]来解决上述快速增长的网络器件对网络的要求,包括快速增长的网格器件的要求,M2M器件的增长要求,如图2所示。我们提出了一种基于SDN的虚拟效用网络架构SUVN,该网络能够支持M2M器件网络的自配置、高安全性、弹性可扩展等要求。我们所提的SUVN架构,使用了SDN交换机作为网络部件,不仅能够实现虚拟网络的自配置,同时还能实现虚拟网络组的自配置,此外,该网络还能够提供高安全性和成本优化。本文的主要贡献是提出了一种M2M器件的SDN网络解决方案,该网络与智能电网相比能够更好地适应M2M器件的网络组建。

本文的组织架构如下:在第二部分我们阐述了当前较为流行的虚拟网络技术;基于SDN的M2M器件组网方式在第三部分进行描述;第四部分提出了SUVN;第五部分采用可扩展的SDN测试床对所提算法进行了验证;第六部分对全文进行了总结。

图2 基于SDN的网络实例

2 相关工作

M2M连接模式是效用器件的核心。目前针对M2M的效用器件连接模式的研究较少。我们考虑将工业标准引入到M2M器件连接模式中,例如IEEE 802.1Q虚拟网络连接标准[1]。我们将虚拟效用网络(VUNs)部署为若干个颗粒度:每个效用网络对应一个应用程序,每个效用网络对应一个实用组织,多个器件对应一个实用程序。然而,我们发现采用现有的虚拟化技术对于M2M器件的智能电网组建存在一定的问题,具体的说明如下。

操作复杂:当设备进行连接时,例如AMI测量器、PMUs、IEDs、EVs、DERs,或者其他嵌入到效用网络中的设备,需要首先进行预配置,这样就需要预先配置相应的连接方式、安全策略、用户满意度策略(QoS)等,这些配置都需要能够无需人工参与的自动配置,以此来保证成本优化和效用连接的灵活性。然而,由于终端设备的可扩展性,网络器件需要类似模式的终端,随着终端种类的多样化,效用网络需要面临复杂的管理问题,以及大幅度增长的操作成本。此外,自配置需要保证网络能够快速从网络故障或网络攻击造成的故障中恢复。然而,我们怀疑传统网络解决方案包括IEEE 802.1Q是否能够解决效用网络的自配置问题,目前大多数传统网络仍然采用的是手动配置而非自配置。

弹性伸缩:我们已经阐述了网络或系统操作方面存在的問题。M2M网络解决弹性伸缩问题需要采用一种便捷的VLAN技术,例如IEEE 802.1Q。考虑到智能电网M2M网络部署的量级在一百万以上,网络开关的量级较小,通常在百位级,因此,物理端口的开关必须是在逻辑上能够连接多个终端设备的,同时,终端设备必须能够连接到多个VLAN,这样就能保证终端设备与多个应用服务器相连接,例如,从居民住宅出发的测量数据同时发送到多个不同的实用控制中心上,控制中心指的是负载预测服务器、计费服务器等。VLAN标准,IEEE 802.1Q并不能满足小规模点对点VLAN网络的弹性伸缩要求。在基于端口的VLAN网络中,交换机和接入设备之间的接入端口,在一个特定时间段内,只能被指派给某一个特定的VLAN网络。在智能电网M2M器件网络中,一个接入端口必须能够被多个VLANs所使用,这样才能保证网络的弹性伸缩。

安全机制:在一个依据IEEE 802.1Q所建立的VUN中,一旦某个组件通过验证则可以与网络中所有组件进行连接。因此,我们不能保证M2M设备的安全性[5]。一个M2M终端的安全隐患可以导致基于IEEE 802.1Q建立的整个网络的安全。此外,IEEE 802.1X并不支持细粒度的组网,只能支持单端口的网络接入。

3 基于SDN的M2M网络的优势

SDNs能够提供不同网络流量、应用的隔离机制,例如虚拟网络切片可以被定为了AMI、SCADA、DG/DS/EV、PMU流量。虚拟网络切片可以是基于图论而创建的,也可以是基于域分区的。虚拟网络切片本身就能够实现不同虚拟网络之间的安全隔离。同时,还能够保证不同网络的用户满意度,网管策略等。因此,一个封闭的应用程序、端口或器件可以创建自己的虚拟网络,也就是虚拟网络切片。虚拟网络切片的建立过程是自动部署的,并且还能够保证网络不易受到潜在的网络攻击。

本文提出的基于SDN的网络可以提供一个可编程的开放接口应用,通过对应用的控制,实现网络组建的配置和管理。基于SDN的网络还能够实现固有的网络功能,同时为应用程序和组建引入了虚拟化功能,通过虚拟化技术连接的网络端口能够更加有效地进行管理。重新配置的软件定义网络,快速部署的虚拟化网络功能能够实现更高的网络利用率,资源配置优化和弹性伸缩能力。因此,需求驱动的服务和设备的激活和配置能够直接导致动态应用的速度和部署规模。

SDNs的网络隔离特性可以向服务提供商提供多租户的通信服务。一个服务提供商可以创建一个或多个网络切片来实现虚拟网络切片上的应用程序需求。虚拟化网络功能的快速创建机制的全部优点均可以直接应用到智能电网效用网络中。

4 本文方法

4.1 背景和假设

为了支持大规模的M2M网络,我们提出了一种基于SDN的出版商-订购商(Pub-Sub)定制通信模式[7]。一个实用的应用程序,例如智能计量,包括同质的测量设备,作为效用网络的终端节点。在过去二十年中,Pub-Sub模式被广泛应用于信息导向中间件和web程序中。该模式的显著特性是不需要特定的IP地址来对网络组成员进行标记,在网络组中的其他成员,即空间/时间解耦属性。此外,信息多播/聚合能力本质上是由网络子系统提供的,如图3所示。

由于空间/时间解耦属性和固有的多播能力,Pub-Sub模式的子模式具有地域网络攻击和内部系统故障的能力,同时可以避免单点故障和网络瓶颈。此外,该模式还可以支持一个大规模终端的通信流以可扩展的方式来进行网络传播。因此,Pub-Sub模式可以看做是M2M应用的基本模块。

Pub-Sub模式具有很多范例,只有在覆盖网络和物理开关设备网络中没有或者具有有限的接口。这是因为大多数情况下网络中的物理交换机数目是有限的。因此,当前的Pub-Sub模式并不能应用于需要广泛的QoS要求的M2M网络。值得注意的是,在一些简单的网络发布订阅路由范式psirp[8]中,其关注的重点是物理交换节点本身的Pub-Sub能力。这种方法脱离实际,并不具有互操作性。

进一步详细的讨论,M2M设备/机器和SDN交换机之间的物理连接上下文必须能够被解析。例如RTU、PMU机器,或者实用的应用服务器直接连接到SDN网络功能的开关。然而,其他类型的机器,例如传感器、电动汽车充电器是间接连接到SDN交换机的,间接连接的原因是这些机器之间的通信量较少。通常,这些机器具有低带宽、高延迟接入技术的PLCs SDN交换机通信(电力线通信)或无线收音机。因此,对于配电网络的有线/无线接入点可以直接连接到SDN交换机。配电网的通信数据将作为电网检修的关键数据,因此保证端到端的数据安全具有必要性。接入点的中间设备不允许对数据端的M2M设备进行操作。

4.2 SUVN概述

SUVN数据平面具有如下关键点:1)4层的交换端口匹配機制;2)VLAN标识符的标记/剥离[1];3)Pub-Sub通信群组。

SUVN控制平面包括M2M组管理器、M2M认证器、SDN控制器[9],同时还包括一个动态、细粒度的管理机制、安全授权验证机制、QoS感知的M2M效用网络,该网络不同于之前的VMPS[10]。M2M控制机制可参见已有研究[11]。

本文的特殊贡献在于实现了其他研究中并未实现的M2M安全组管理器和SDN控制器的连接配置。与其他研究相比,本文还实现了如下工作:1)线速的报文处理和转发,2)每组VLAN流量隔离,3)QoS管理(即延迟敏感的),和4)流量监测的负载平衡和故障排除。

4.3 SUVN的细节描述

SUVN的设计还解决了网络的可扩展性。该特性的实现是通过多个VLAN信息同时通过接入端口以及交换机中继器端口来实现的。此外,我们所提方法还能够实现对潜在网络攻击者的防御,通过设置VLAN的安全级别来实现网络攻击防御。如图4所示,基于SDN的交换网络还能够实现线速报文处理和转发、三重内容可寻址存储器(TCAM)的线速查找。通常而言,一个Pub-Sub组将作为一个VLAN通信网络。VLAN图的顶点是一个SDN交换机,该交换机是VLAN流量表的流量入口。

1)路径建立

SUVN具有两个不同的路径建立过程:1)M2M控制流路径的建立:我们注意到,通信(即,控制流量,如加入消息)存在于M2M控制节点之间(特别是在M2M组经理和SDN控制器)时,需要在一套SDN路径中启用开关。当遇到一个新的M2M控制流事件时,M2M控制路径反应了OpenFlow交换机中可以处理的信息。主动控制路径的优势是,对于网络服务的通信延迟可以由于我们可以避免反应路径的设置而忽略。2)M2M数据流路径的建立:建立M2M数据流的通信路径,总是处于一种被动的方式引发的控制信息,如加入M2M客户的信息(如发布或订阅)在控制路径已经建立,此时通信路径的建立方式为被动方式。在本节开始时我们已经描述了M2M应用组被配置在每个Pub-Sub的子组,所以数据平面路径形成一个单向的网络图,包括SDN功能的交换机和通信链路。当一个M2M用户加入或离开组时,一个应用程序组和网络图G进行更新。

用于数据平面流动路径建立,是一个“包”消息[2],该消息并不会触发SDN交换机。这种情况下,由于SDN流量建立引起的SDN控制交通负荷明显减少。这是与传统SDN网络的一个重要区别。

2)可伸缩性

SUVN是具有流量高度可扩展性的网络。其的SDN交换机的内存(即TCAM和SRAM)流条目的保存是一个重要的网络资源,大部分SDN交换机在当今市场上具有小流量表(即,不到4K流条目)。SUVN M2M控制交通流的规模是独立的应用程序组和组的参与者。它不仅取决于M2M控制节点设置所需的服务数量,还取决于SDN交换机是M2M组管理器相关的数目。一小部分的M2M控制节点足以支持M2M通信。

SUVN M2M数据流量的流动规模取决于应用程序组和组的参与者数量M和K。然而,对组参与者的数量比例的影响是通过SDN交换机由于VLAN聚合和SDN交换机组播的影响,其数量是有限的(见图5、图6)。由于应用程序组被表示为一个VLAN,因此SDN交换机只有一个VLAN流量入口的流量表。即每SDN交换机的流条目最大数目为O(k)。

对于一个效用或应用组来说,SUVN可以优化端到端的通信路径条数。当一个应用组离开SUVN时,条数进行更新。并且,应用组的增加并不会引起端到端通信的延迟。

3)网络自动虚拟化

我们定义的效用网络虚拟化场景具有4个M2M应用:基于测量的需求预测机制、基于实时状态估计的PMU测量机制、DERs实时监控机制、嵌入式EV控制机制。如图5所示,为单一效用网络的虚擬化场景。如图6所示,为多效用网络的虚拟化场景。

基于M2M组件单独管理机制的效用网络虚拟化技术,如图4所示。在图5中,一个效用操作,如基于实时状态估计组的PMU数据测量G1和基于需求预测的数据测量G2。当SDN中某个交换机失效时,虚拟网络可以灵活地选择VLAN中其他交换机进行数据交换。在应用组G1中,PMU设备数目和两个效用服务器为:(1)计算服务器S,其性能是状态实时更新的;(2)存储服务器H,其数据是根据应用的需求状况来生成的。应用组G1可以表示为VLAN(G1)图,该图为包含全部SDN交换机的图的子集。交换机E3和E4可以支持VLAN实现多播。交换机的流条目变更为2。在应用组G2中,具有大量的AMI测试器,两个效用服务器:1)计算服务器L,用来进行负载预测;2)存储服务器H。应用组G2可以表示为VLAN(G2)图,该图包含全部SDN交换机的图的子集。应用组G1和应用组G2的区别在于两个应用组是否能够实现端到端的延迟控制。在VLAN(G1)中,网络延迟必须是实时处理的。在VLAN(G2)中,网络延迟是根据网络大小和AMI测试器的规模而变化的。

网络资源和应用组管理的虚拟化实现了应用组之间的虚拟化,如图6所示。在图6中,两个应用可以虚拟化的操作EV计费单元。每个SDN交换机的流条目是根据VLANs数目而变化的。某些VLAN是属于单一的应用。某些VLAN可以属于多个应用。SDN流管理器可以实现多应用网络的流控管理,包括数据流的延迟控制等。

5 可行性验证

5.1 实验模拟

基于前期工作中[11]应用的SDN概念,我们基于C++编程实现了SDN网络控制器、M2M控制组件组成的实验环境。实验环境中的Pub-Sub组、M2M组管理器、M2M控制流、M2M数据流均为overlay网络组[12]。本实验中,在现有研究的基础上,在实验中增加了权限的优先级控制机制。对M2M组管理器实现了基于流的优先级控制。

5.2 SUVN实验测试床

本文的SUVN实验测试床是由2个Intel SDN交换机组成,5个PCs组成,如图7所示。5个PCs分别实现了一个M2M组管理器,一个SDN控制器,一个100测试机组成的Pubs,一个100PMUs组成的Pubs,一个数据采集器,该采集器作为Sub。由于我们关注数据平面的连接延迟,因此,并不需要实现M2M授权验证器。

我们试验了2个测试场景:1)数据采集组的连接测试验证,2)测试对和PMU测试数据组、PMU数据选择组之间的连接测试验证。在上述测试场景下,我们验证了3个指标:1)每个交换机的流表利用率,2)M2M数据平面的端到端延迟,3)M2M控制平面的端到端延迟。流表利用率表示的是SVUN的可伸缩性,M2M数据平面的端到端延迟表示的是M2M出版者发送一个数据到M2M订阅者接收到该数据的时间。该指标用来表示M2M数据平面的转发性能。M2M控制平面的端到端延迟表示的是一个M2M出版者或M2M订阅者之间的端到端数据发送时间,用来表示M2M组内的接收或发送数据的转发性能。

5.3 实验结果

流表利用率: M2M数据流量复杂状态下,流表利用率与M2M接入设备数成正比。网络设备与M2M组管理器之间连接简单的场景较少出现,因此复杂状态下的测试结果具有可参考性。

M2M数据平面的端到端延迟:当M2M数据平面安装了VLAN流规则时,TCAM的数据包转发呈现线性增长的趋势。SVUN架构中,M2M数据平面的端到端延迟不超过150ns。

M2M控制平面的端到端延迟:M2M控制平面的端到端延迟不超过30ms或90ms。与M2M数据平面的延迟相比较,控制平面的延迟较高,但这仍然是可以忍受的。实验发现延迟发生的场景通常为:1)ARP发现的洪泛,2)M2M客户端与M2M管理器之间的TCP连接,3)数据平面的VLAN流生成。

6 结束语

在本文中我们阐述了基于IEEE 802.1Q等传统网络连接标准在大规模效用M2M网络中的不足,并提出了一种新型的网络解决方法,该方法基于SDN和虚拟化架构,实现了M2M应用的自动可配置以及弹性部署。通过实验验证,验证了本文所提基于SDN方法的有效性,测试指标为流表利用率、M2M数据平面的端到端延迟、M2M控制平面的端到端延迟。在未来工作中,我们将进一步研究基于SDN的M2M网络在智能电网中的部署问题。

参考文献:

[1] IEEE Std. 802.1Q-2011, Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks[Z].

[2] OpenFlow Switch Specification Version 1.0.0[Z]. 2013.

[3] Ozdag R.Intel? Ethernet Switch FM6000 Series, Intel white paper,2012[EB/OL].http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ethernet-switch-fm6000-sdn-paper.pdf.

[4] Budka K, Deshpande J, Thottan M. Communication Networks for Smart Grids – Making Smart Grid Real[M]. Springer, 2014.

[5] Kim Y J, Kolesnikov V, Thottan M. TSAF: Tamper-resistant and scalable mutual authentication framework for plug-in EV charging[C]. IEEE SmartGridComm, 2013.

[6] Aboba B, Simon D, Eronen P. Extensible Authentication Protocol (EAP) Key Management Framework[Z].IETF 5247, 2008.

[7] Eugster P, Felber P, Guerraoui R,et al. The Many Faces of Publish/Subscribe[J]. ACM Computing Surveys, 2003, 35(2).

[8] Jokela P, Zahemszky A,Rothenberg C E,et al.LIPSIN: line speed publish/subscribe inter-networking[C]. ACM SIGCOMM Conference on Data communication, 2009.

[9] POX Controller[EB/OL]. https://openflow.stanford.edu/display/ONL/POX+Wiki.

[10] OpenVLAN Member Policy Server[EB/OL]. http://sourceforge.net/projects/vmps.

[11] Kim Y J, Lee J, Atkinson G,et al. SeDAX: Asecure, resilient and scalable platform[J]. IEEE JSAC, 2012, 30(6).

[12] Ratnasamy S, Karp B, Yin L,et al. GHT: A geographic hash table for data-centric storage[C]. Proc. ACM WSNA Workshop, 2002.

[13] Casado M, Koponen T, Shenker S,et al. Fabric: A Retrospective on Evolving SDN[C]. ACM HotSDN Workshop, 2012.

[14] Rosen E, Viswanathan A, Calton R. Multiprotocol Label Switching Architecture[Z]. RFC 3031, IETF, 2001.

猜你喜欢
软件定义网络虚拟化
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在CTC/TDCS系统中的应用研究
虚拟化技术在计算机技术创造中的应用
中国联通SDN的思考和应用实例
业务功能链技术及其应用探析
针对大规模软件定义网络的子域划分及控制器部署方法
一种新的SDN架构下端到端网络主动测量机制
高速公路服务器虚拟化技术应用与探讨
存储虚拟化还有优势吗?