基于OpenFlow的SDN技术浅析

2019-11-11 13:14李成博加云岗
电脑知识与技术 2019年27期
关键词:软件定义网络互联网

李成博 加云岗

摘要:软件定义网络(SDN, Software-Defined Network)是一种新型网络体系结构, 是未来互联网以及互联网革命的核心技术之一,OpenFlow协议则是SDN架构中的重要组成部分;二者对当今互联网的发展具有深远的意义。本文将基于OpenFlow协议,分别从定义,研究现状,工作原理,应用场景等方面进行阐述。

关键词:软件定义网络; SDN;OpenFlow;互联网

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2019)27-0015-02

随着互联网进入21世纪的飞速发展,网络用户与终端数量爆炸性增长,当前的网络规模越来越大,交换机路由器功能越来越多,导致当前网络比较重要的问题。传统网络的体系架构已经越来越难以满足迅速高效的海量数据传输对网络的要求,并且在可扩展性、安全性、灵活性上存在不足。在这种情况下,网络性能要得到迅速提升,就只能寻求一种更加开放,创新的网络体系架构。

而SDN的出现打破了当前网络在高性能上的瓶颈。SDN通过分离网络控制转发平面,集中控制,开放接口,通过开放的可编程接口供应用层实现其特定功能,网络管理部署通过软件来定义,实现了网络由“硬”到“软”的转变。这样的架构使得网络变得更加灵活,软硬分离的网络模式,实现了网络虚拟化,管理自动化,网络状态可视化,从根源上解决了传统网络的种种问题。

1  SDN的定义及介绍

1.1 SDN起源及发展历程

2006年,以斯坦福大学教授Nike Mckeown为首的团队在Ethane项目中提出了OpenFlow的概念,并基于OpenFlow技术实现网络的可编程,使网络像软件一样灵活编程。受该项目启发,Martin 及Nick McKeown 提出将传统网络的数据平面(Data Plane)和控制平面(Control Plane)两个功能模块分离,改变原有的分布式架构,使用集中控制统一管理的模式管控整个网络,同时以标准化API对网络设备进行管理配置,这样使网络资源利用率大大提升,降低网络后期运维难度,而且扩大网络拓展灵活性,更有利于推动网络快速发展革新。

软件定义网络(SDN)的概念最早由开放网络基金会(ONF)在2010年提出 。其为OpenFlow的规范标准化发展倾注了巨大的力量,成为基于OpenFlow实现软件定义网络的国际标准制定方,其目的就是加速OpenFlow的发展,加速网络革新的进程。

1.2 SDN架构介绍

1.2.1 传统网络架构特点

传统网络为管理平面、控制平面和数据平面。传统网络有分布式管理,控制与转发高度耦合的特点,暴露出来的缺点越发严重,例如:

(1) 路径的灵活调整能力不足。

(2) 实现复杂,运维难度较大。

(3) 业务升级速度慢。

1.2.2 SDN架构

SDN架构主要分为三层,应用层,控制层和转发层。SDN控制器掌控全局网络并持有全局网络状态,向上提供API接口(北向接口)供SDN应用调用,实现其需要定义的各种功能;控制器向下通过南向接口跟数据平面的转发设备连接,实现控制管理,目前主流的南向接口例如OpenFlow协议。

相对传统网络而言,SDN具有集中控制、转控分离、网络能力开放的特点。

2 基于OpenFlow的SDN工作原理

2.1 OpenFlow介绍

OpenFlow概念是美国斯坦福大学的Nick McKeown教授于2008 年首次提出。OpenFlow作为SDN的原型实现方式,虽然只是SDN控制平面和数据平面之间多种通信协议之一,但已被看作是SDN南向协议事实上的标准,OpenFlow甚至被认为是狭义上的SDN。

OpenFlow交换机硬件模型架构图,OpenFlow交换机主要由安全通道,流表和OpenFlow协议三部分组成。

安全通道是交换机与SDN控制器的通信通道;流表中规定了对数据包采取的处理方式;OpenFlow协议是负责交换机跟控制器之间的配置以及信息交换的通信协议。

流表是OpenFlow的核心,流表规定了流表项的优先级匹配域,优先级等信息。流表包含了多个流表项,流表项中规定了数据包的转发动作。关于流表项进行如下说明:

(1) 匹配域与每个数据包的指定包头标识集合进行比较。

(2) 优先级用来表示该流表项匹配的优先级,数据包与多条流表项匹配成功的时候,需要按照优先级来选择一条流表项,并执行该表项的动作。

(3) 失效时间包括硬超时和软超时,如果流表项的生存时间超过硬生存时间或者在软生存时间内没有匹配到数据包,则流表项中的内容将被清空。

2.2 工作原理

基于OpenFlow实现的SDN架构模型主要分三层:应用层,控制层和基础设施层(数据层)。如图1所示:其核心是控制层的SDN控制器,向上为应用层提供可编程接口API,也叫北向接口;向下通过OpenFlow协议对数据层的交换机进行配置管理,实时监控全局网络各个节点状态,从而按需分配网络资源,更合理高效的管控全局网络。

OpenFlow交換机处理数据包的过程如图2所示。数据包到达OpenFlow交换机后,先根据已有流表进行匹配;如果匹配成功,更新流表的流量时间戳,然后直接按照流表给出的规则转发数据包;如果流表中没有可匹配的流表项,则把这个数据包通过安全通道(Packet-In)消息发给上层控制器。控制器拥有全局网络节点的网络状态,计算出数据包转发路径,生成新的一条流表项。接着给交换机下发新的流表项,如果流表有空闲空间则更新流表计数器,通过安全通道(Packet-Out消息)添加新的流表规则;如果流表空间已满,则通过替换策略(例如LRU(Least Recently Used))去删掉一个最“陈旧”的流表项,然后更新流表计数器,插入新的流表项。而后交换机根据新的流表项规则执行规定的转发动作。

3 应用场景

目前SDN主要应用在电信运营商、政府及企业客户、数据中心服务商以及互联网公司。SDN应用场景主要聚焦在:数据中心网络、数据中心间的互联、政企网络、电信运营商网络、互联网公司业务部署。

场景1: SDN在数据中心网络的应用

数据中心的建设和维护一般统一由数据中心运营商或ICP/ISP维护,具有相对的封闭性,可统一规划、部署和升级改造,SDN在其中部署的可行性高。数据中心网络是SDN目前最为明确的应用场景之一,也是最有前景的应用场景之一。

场景2: SDN在数据中心互联的应用

数据中心之间互联网的网络具有流量大、突发性强、周期性强等特点,需要网络具备多路径转发与负载均衡、网络带宽按需提供、绿色节能、集中管理和控制的能力。引入SDN的网络可通过部署统一的控制器来收集各数据中心之间的流量需求,进而进行统一的计算和调度、实施带宽的灵活按需分配、最大程度优化网络、提升资源利用率。

场景3: SDN在政企中的应用

SDN将复杂的业务功能剥离,由上层应用服务器实现,不仅可以降低设备硬件成本,更可使得企业网络更加简化,层次更加清晰。同时,SDN控制的逻辑集中,可以实现企业网络的集中管理与控制,企业的安全策略集中部署和管理,更可以在控制器或上层应用灵活定制网络功能,更好满足企业网络的需求。

场景4: SDN在电信运营商网络的应用

电信运营商网络包括了宽带接入层、城域层、骨干层等层面。

SDN的控制逻辑集中特点可逐步实现网络的集中化管理和全局优化,有效提升运营效率,提供端到端的网络服务; 有效实现设备的逐步融合,降低设备硬件成本;DN的网络能力虚拟化和开放化,也有利于电信运营商网络向智能化,开放化发展,增加收入。

场景5: SDN在互联网公司业务部署中的应用

思科,Juniper,以及国内知名互联网公司华为,腾讯、百度等都在加快SDN的实验室部署。例如思科的SDN解决方案APIC-EM,华为的SDN产品Agile Controller-Transport,騰讯利用SDN实现差异化的路径计算、流量控制和服务。

4 结语

互联网飞速发展的今天,在5G,大数据,云计算,物联网等新兴产业百花齐放的背景下,各种业务对网络性能的要求越来越高,这导致传统的网络远远不能满足新业务以及用户的要求。SDN控制转发分离的思想,集中管控的模式,根据业务对网络资源按需分配,这些特点很好地解决了传统网络性能上的瓶颈。OpenFlow技术目前已经成为标准化的南向接口协议,且基于OpenFlow协议实现的SDN解决方案也越来越多地被企业、高校和研究所使用。SDN这种开放创新的架构实现了网络资源可视化,网络资源按需分配,网络管理自动化等等,相信在未来SDN技术不断地完善创新,一定能大大提升当前的网络性能,为互联网行业发展带来更加强大的驱动力。

【通联编辑:李雅琪】

猜你喜欢
软件定义网络互联网
业务功能链技术及其应用探析
针对大规模软件定义网络的子域划分及控制器部署方法
一种新的SDN架构下端到端网络主动测量机制
从“数据新闻”看当前互联网新闻信息传播生态
互联网背景下大学生创新创业训练项目的实施