APP下载

基于OpenFlow的数据中心网络研究与应用

2015-12-27陈尧北林区最低生活保障局黑龙江绥化152000

绥化学院学报 2015年11期
关键词:流表表项网络设备

陈尧(北林区最低生活保障局 黑龙江绥化 152000)

基于OpenFlow的数据中心网络研究与应用

陈尧
(北林区最低生活保障局 黑龙江绥化 152000)

随着云计算技术在数据中心的大量普及和应用,云计算数据中心的规模在逐步扩大,服务器虚拟化和存储虚拟化等技术为云数据中心的计算能力和存储能力提供了保证。但是大量的云端应用汇集到云数据中心,使得传统的网络架构已经成为数据中心发展的瓶颈,新型的网络架构应用迫在眉睫。软件定义网络SDN(Software-Defined Network)技术,分离了网络的控制平面和数据平面,提供了可编程的网络环境,而OpenFlow技术作为SDN的原型实现方式,已经成为SDN最重要的一个开放协议标准。文章在分析SDN和Openflow技术的基础上,探讨如何在云数据中心环境中部署基于OpenFlow技术的网络架构。

数据中心;SDN;OpenFlow;网络架构

随着云计算技术在数据中心的大量应用,数据中心已经成为提供云服务的平台。云数据中心提供业务的种类、方式甚至承载业务的介质都发生了根本的变化,传统的网络架构已经逐渐满足不了提供云业务服务的要求,成为制约云数据中心发展的瓶颈。新型的云服务要求数据中心网络能够具有更高效便利的的网络集中管理、更加灵活多样的组网方式,迅速改变网络拓扑以适应业务变化的能力以及具备更高性能的通信能力。软件定义网络 SDN(Software-Defined Network)技术,作为下一代IP网络架构设计的代表,分离了网络的控制平面和数据平面,提供了可编程的网络环境,更加适用于新兴的云数据中心。OpenFlow作为SDN的原型实现方式和最重要的一个开放协议标准,可以解决传统网络固有的不足,构建基于OpenFlow技术的数据中心网络是解决云数据中心网络瓶颈的一个重要途径。

一、传统网络架构的不足

传统的网络架构使用分层的结构体系进行组网,根据网络设备的接入位置和功能不同一般将整个网络分为接入层、汇聚层和核心层,如图1所示。接入层负责将用户流量引入网络,汇聚层负责将区域流量进行汇总,而核心层负责流量的三层路由运算和转发。传统的层次网络架构使得互联网取得了长足的发展,但是随着网络规模的扩大,复杂的网络结构和臃肿的网络协议使得网络的管理和扩展难度越来越大。传统的网络架构主要不足有:

(一)采用分层的体系结构,结构复杂。多层次的网络联网方式,使得网络的性能和转发延时逐渐满足不了云计算环境下大规模网络应用的需求,同时大量的连接点也使得网络故障率较高,并且带来很多管理问题。

(二)二层网络采用VLAN技术进行隔离,隔离网络的规模和灵活性不足。在云计算环境中,接入层的用户包括了普通用户、虚机虚拟租户,海量的接入层用户要求网络架构能够提供大量的隔离子网,另外虚机快速灵活的迁移又对跨二层网络的通讯和管理提出了更高的要求。VLAN技术只能提供4096个子网规模,跨二层的通讯也只能通过三层设备来实现,无法满足云数据中心的需要。

(三)网络设备集成了数据转发和控制功能,复杂性高、灵活性和扩展性不够。一方面数据控制功能集成在网络设备中,使得设备结构复杂、造价高,需要大量的人力进行配置和管理;另一方面,新协议、新技术的应用较为困难,需要对设备进行升级,不能升级的需进行更换,网络扩展性较差,管理困难。

二、DN和OpenFlow技术

(一)SDN网络架构。软件定义网络(Software Defined Network,SDN)[1],是一种新型的网络架构,最早由开放网络基金会(ONF)提出,目前已经成为云计算领域中最被广泛认可的一种网络架构体系。SDN的核心理念是将网络设备中的控制平面和转发平面分离,其中控制平面以软件的形式集中运行在独立的控制设备上,实现了网络和业务的可编程。独立的控制平面软件可以提供全局的网络视图,集中的控制,灵活的管理和可编程的接口,从而将静态网络演变为一个可扩展的服务交付平台。SDN的网络架构[2]分为应用层、控制层和基础设施层三个层次,如图1所示:

图1 SDN网络架构

基础设施层处于SDN网络架构的底层,由网络转发设备组成。基础设施层的网络设备只有单纯的转发和处理数据的功能,没有控制功能,因此SDN网络架构中的底层网络设备对硬件要求较低,并且可以提供更高的转发性能。

控制层是SDN网络架构的核心,其实体为具备网络控制功能的SDN软件。SDN控制软件主要实现两个功能:一个是通过控制数据平面接口对集成设施层的网络设备进行抽象,获取全局的网络视图;二是通过API接口,也称北向接口于应用层应用进行信息交互,向应用提供抽象的网络视图。脱离了硬件束缚的网络控制功能,可以提供更加灵活、便捷的网络管理,并且可以通过软件升级来获取新的网络功能,无需对所有底层网络设备进行升级和更换,极大的提高了网络的扩展性,降低了网络的建设和维护成本。

应用层包括了各种网络应用。应用层根据业务需求,通过相应的API接口将请求的网络行为提交给SDN控制层,从而实现不同的网络功能。

(二)OpenFlow技术。OpenFlow技术[3]是斯坦福大学的CleanSlate项目组提出的一个开放协议标准。CleanSlate项目的研究目的在于重新发明英特网,在改变设计已略显不合时宜,且难以进化发展的现有网络基础架构,OpenFlow技术正是项目组的研究成果之一。随着该技术的应用和推广,逐渐拓展并发展出SDN概念。作为原型实现方式,OpenFlow只是SDN中控制器控制转发面设备的协议之一,但是因其灵活性和规范性,已被看作是SDN通讯协议实事上的标准。

OpenFlow网络由OpenFlow交换机、FlowVisor和控制器三部分组成[4]。OpenFlow交换机进行数据层的转发;FlowVisor对网络进行虚拟化;控制器对网络进行集中控制,实现控制层的功能。其中OpenFlow交换机由流表、安全通道和OpenFlow协议三部分组成,如图2所示。OpenFlow交换机是OpenFlow的核心部分,当OpenFlow交换机接收到数据包后,首先在本地的流表上查找转发目标端口,如果没有匹配,则把数据包转发给控制器,由控制器决定转发端口。

图2 Open Flow交换机组成

控制器实现了控制层的功能,控制器通过OpenFlow协议对OpenFlow交换机中的流表进行控制,从而实现对整个网络进行集中控制。控制器的功能都要通过运行NOS(网络操作系统)来实现,NOS即是SDN体系中的SDN网络控制软件。

FlowVisor是建立在OpenFlow之上的网络虚拟化工具,它可以将物理网络划分成多个逻辑网络,从而实现虚网划分。FlowVisor部署在标准OpenFlow控制器和OpenFlow交换机之间,FlowVisor能够允许多个控制器同时控制一台OpenFlow交换机,但是每个控制器仅仅可以控制经过这个OpenFlow交换机的某一个虚拟网络,保证各个虚网互相隔离。

Openflow协议发布后因其革命性的网络架构立即引起业内众多厂商和用户的广泛关注,纷纷在网络产品和应用中进行基于openflow的SDN部署和实施。之后openflow协议由ONF组织负责进一步的发展和推广,近几年经过不断完善,已经进化到最新的1.4版本。

三、OpenFlow技术在数据中心的应用

OpenFlow技术应用于数据中心,特别是云数据中心,可以简化网络结构,降低接入设备复杂度,提供灵活的网络管理策略和满足多租户资源动态创建,多租户流量隔离以及租户虚拟机动态迁移等需求。OpenFlow技术可以配合云管理平台实现网络资源的动态分配和网络流量的按需传输,实现云服务的网络虚拟化需求并改善网络性能。基于OpenFlow技术的数据中心网络架构如图3所示:

图3 基于Open Flow技术的数据中心网络架构

(一)控制层设计。控制层由控制器和云管理平台组成。控制器负责通过OpenFlow协议与OpenFlow交换机进行对话,获取全局网络状态视图。控制层根据网络状态变化,对流表进行更新和管理,并下发给OpenFlow交换机,实现对网络的控制和管理。控制器从网络状态信息中,可以获取实时网络负载情况,并以此为依据实施基于工作负载的负载均衡策略,对数据转发效率实现优化。控制器选择使用Big Switch Networks公司开发的开源控制器Floodlight。Floodlight控制器[5]是一个企业级的,使用apache协议,使用Java开发的OpenFlow控制器。Floodlight与其商业版本的App完全兼容,这使得开源社区可以向用户提供强大的技术支持,同时Floodlight也可以很好地应用于OpenStack。云管理平台采用OpenStack搭建,配合Floodlight,实现对于网络资源各种精细化管理和应用。

(二)网络虚拟层设计。网络虚拟层通过使用FlowVisor工具,实现物理网络的虚拟化。FlowVisor是一个特殊的OpenFlow控制器,FlowVisor根据特定规则,将物理网络划分为逻辑网段,也称逻辑网络切片。所有OpenFlow消息都将透过FlowVisor进行传送。FlowVisor会根据配置策略对OpenFlow消息进行拦截、修改、转发等操作。这样,OpenFlow控制器就只控制其被允许控制的流,并不知道其所管理的网络被FlowVisor进行过分片操作。相似地,从交换机发出的消息经过FlowVisor也只会被发送到相应的控制器。FlowVisor实现了虚网的划分,每个虚网可以有特定的转发策略,同时也使得硬件转发平面可以被不同逻辑网络切片所共享,实现了网络的虚拟化管理。

(三)数据转发设计。在OpenFlow网络架构中,数据转发工作由OpenFlow交换机来完成。根据实践环境和要求不同,OpenFlow交换机可以选用支持OpenFlow协议的硬件交换机,也可以选择搭建OpenvSwitch虚拟交换机。OpenvSwitch[6]是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准,它旨在通过编程扩展,使庞大的网络自动化(配置、管理、维护),同时还支持标准的管理接口和协议。Open vSwitch支持OpenFlow协议,可以较好的搭建虚拟的OpenFlow交换机,并且降低建设成本。OpenFlow交换机采用流表(Flow Table)来匹配和处理报文,流表包含了多个流表项,OpenFlow流表项结构如图4所示:

图4 Open Flow流表项结构

流表项由匹配字段和优先级决定,在一个流表中匹配字段和优先级共同确定唯一的流表项。匹配字段包含了链路层、网络层和传输层的大部分标识,用于数据包的匹配,当多个匹配字段同时匹配成功时,数据包匹配具有较高优先级的表项。所有字段通配(所有字段省略)和优先级等于0的流表项被称为table-miss流表项。如果数据包在流表中匹配到table-miss流表项,则根据流表中table-miss表项的配置,对数据包进行丢弃、传递到另一个表中,或通过安全通道发送给控制器等操作。数据转发层中利用OpenFlow交换机流表匹配的转发方式,从网络转发设备中剥离了控制功能,获得更加灵活的流量控制方式和更稳定可靠的数据转发性能。

四、总结与展望

基于OpenFlow的网络架构,通过对控制平面和转发平面的分离,对网络实施集中管理,提高了组网的灵活性、可扩展性和稳定性,提供了网络虚拟化功能,非常适合现阶段数据中心大规模的虚拟机部署和应用。但是作为一项尚处于发展阶段的技术,OpenFlow技术还存在许多不足如:流表的处理速度较慢、控制器扩展性不够、缺乏足够的安全机制和兼容性问题等,这些问题都有待于大量的实践去进行进一步的改进和改善。随着OpenFlow技术的成熟和发展,基于OpenFlow技术的网络架构必将在将来的数据中心中发挥更大的作用。

[1]张朝昆,崔勇,唐翯祎,吴建平.软件定义网络(SDN)研究进展[J].软件学报,2015(1).

[2]Software defined networking:The new normfor networks [EB/OL].2012-11-17.http://www.opennetworking.org/images/stories/downloads/white-papers.

[3]左青云,陈鸣,赵广松,邢长友,张国敏,蒋培成.基于OpenFlow的SDN技术研究[J].软件学报,2013(5).

[4]东南大学计算机科学与工程学院.互联网创新的新军OpenFlow论坛[J].中国教育网络,2008(12).

[5]Floodlight OpenFlow Controller[EB/OL].2015.http://www.projectfloodlight.org.

[6]Open vSwitch[EB/OL].2012.http://openvswitch.org.

[责任编辑 郑丽娟]

Research and Application of Data Center Network Based on Open Flow

Chen Yao

With the increasing popularity of cloud computing technology and applications in the data center,cloud computing data center scale gradually expanded,server virtualization and storage virtualization technology for cloud computing power and storage capacity of data centers to provide a guarantee.But a large number of Cloud Applications gathered to cloud data center,making the traditional network architecture has become the bottleneck of the development of data centers,the application of new network architecture is imminent.Software-defined networking SDN(Software-Defined Network)technology,the separation of control plane and data plane network,provides a programmable network environment.As a prototype of SDN,the OpenFlow technology has become themost important open protocol of SDN.Based on the analysis of SDN and Openflow technology,this paper discusses how to deploy the network architecture based on OpenFlow technology in cloud data center environment.

data center;SDN;OpenFlow;network architecture

TP39

A

2095-0438(2015)11-0150-04

2015-05-22

陈尧(1983-),女,绥化市人,黑龙江省绥化市最低生活保障局,硕士研究生。

猜你喜欢

流表表项网络设备
基于匹配动作表模型的可编程数据平面流表归并
一种改进的TCAM路由表项管理算法及实现
网络设备的安装与调试课程思政整体设计
基于时序与集合的SDN流表更新策略
一种基于C# 的网络设备自动化登录工具的研制
基于ARMA模型预测的交换机流表更新算法
简析yangUI流表控制
软件定义网络中一种两步式多级流表构建算法
SDN数据中心网络基于流表项转换的流表调度优化
基于列车监测网络设备的射频功放模块设计