[王素彬 曹维华 郑忠民 张玉珊]
基于SDN的智能流量管理系统
[王素彬 曹维华 郑忠民 张玉珊]
网络的发展和业务的多样性带来了网络性能和网络安全问题的挑战。立足于网络虚拟化的SDN解决方案,将SFLOW报文检测技术和SDN控制功能相结合,提出了一种基于SDN的智能流量管理系统。该系统的主要功能是实现异常流量实时检测,并在此基础上通过预定义的策略实现流量流向的转发控制。
SDN ODL sflow openflow
王素彬
中国电信股份有限公司广东研究院工程师,从事IP网络技术和下一代互联网研究。
曹维华
中国电信股份有限公司广东研究院高级工程师,主要研究方向为移动互联网。
郑忠民
中国电信股份有限公司广东研究院工程师,从事IP网络技术和下一代互联网研究。
张玉珊
中国电信股份有限公司四川分公司工程师,从事移动互联网、IP承载网技术研究。
“互联网+”时代下的信息化建设和数据应用已经成为企业的核心组成部分和企业的核心资产。企业希望从信息化建设中提高生产效率,降低运营成本,在信息共享中促进创新,加快业务和产品交付和应用。而与此同时,随着信息化和数据应用的普及的同时,信息安全面临着极大挑战。有数据表明中国企业信息安全事件,在过去的一年中平均数量上升了5倍。同时,实时的网络状态诸如网络带宽使用情况,承载业务情况等内容也越来越被电信运营商和企业用户所关注。
网络上的攻击和违规行为源于网络上设备的转发,我们的目标是研究一种简单、开放且灵活的方式,提前检测影响网络性能的事件或网络攻击信息,并采取合适的网络行为。基于上述考虑,我们围绕两个关键技术进行研究:检测和控制。
2.1检测技术
基于数据报文的检测以及流量采样是应对信息安全事件的针对性分析,也是业界多方尝试并寻求的解决方案。从报文采集角度来看的话,目前主要有两种流行的方式:(1)基于流量镜像或分光的方式,(2)基于流量采样的方式。
其中,我们重点研究了基于流量采集的实现方式;即通过流量采集协议SFLOW所含丰富的信息实现对网络上的流量特征进行自动化分析。
SFLOW技术基于IETF的网络标准协议RFC3176。作为网络流量检测技术,它采用数据流随机采样技术,可提供完整的第2层到第4层,甚至全网络范围内的流量信息,让用户详细、实时地分析网络传输流的性能、趋势和存在的问题。同时,SFLOW可以支持上万个千兆、万兆端口,使得大规模、高速的网络均能得到精确监视。
虽然SFLOW不同于转发所有数据包的“镜像端口”或“网络旁路”技术,但它可以提供适合安全监视和策略执行的大量信息,其优势在于能够向安全采集器提供实时的采样数据进行分析,从而提供整个网络的连续监视能力。
2.2网络控制
软件定义网络(SDN)是目前流行的全新网络架构。SDN通过将网络设备控制层与数据层分离,深刻改变了现有网络管理和运维习惯。SDN控制器开放了用户对网络设备的控制和接入,并通过灵活可定义的策略实现网络转发行为控制。辅以预定义的策略进而可实现自动化方式管理网络流量、流向控制以及业务部署。
SFLOW在结合SDN控制器的管理层控制功能后,即克服了SFLOW只能“测”,不能“做”的弊端,又能够以主动的方式,针对2~4层业务实现流量控制。比如,实现提升网络资源利用率、检测攻击并抑制攻击,减少网络拥塞等。
因此,如何实现两种技术的融合,将网络流量的抽样检测和SDN控制的无缝结合是我们研究的重点。
将SFLOW报文检测技术和SDN控制功能相结合,实现异常流量实时检测,并在此基础上通过预定义的策略实现流量流向的转发控制;这样的系统我们称之为基于SDN的智能流量管理系统。该系统的主要功能设计包括:
(1)网络流量的实时可视性;
(2)检测并管理大型网络的2~4层流量,精细的控制;
(3)通过SDN控制器下发控制策略,用以改变网络转发行为,消除网络拥塞或攻击;
(4)网络流量控制的自动化功能,自动避免网络故障和拒绝服务攻击事件;
(5)基于SDN控制器的人机交互的WEB用户管理配置界面,提供一种开放式的SDN解决方案;
(6)与第三网络运维/运营平台的解耦合要求,通过SDN北向REST API接口与云协同系统的简单集成。
3.1动态流量监控系统架构
系统架构如图1所示。
图1 动态流量监控系统架构
其中:
(1)网元设备①是网络基础设备,要求支持SFLOW协议和openflow1.3协议,同时作为SFLOW协议的代理设备。
(2)设备②为SFLOW收集器,负责收集流量采集数据。
(3)设备③是流量监测管理器,用于分析、管理流量,并提供图形化界面和RESTAPI接口;通过RESTAPI可实现与大型云计算管理平台实现对接。流量监测管理器以独立应用的形式运行在服务器上,也可与SDN控制器集成在一台服务器部署。
(4)设备④是定制SDN控制器,用于实现Openflow1.3的规则定义,并下发流表给网元设备①。
3.2 SDN控制器设计
基于开源架构的OpenDaylight控制器的最大优势是开放的模块化的设计架构、丰富的南向接口和开放的北向接口(API),具备网元设备控制和用户界面设计的高度可集成性。
OpenDaylight控制器的体系结构如图2所示。
图2 ODL控制器的体系结构
ODL控制器是流量监测管理器实现对网元设备控制的重要组成部分。ODL通过南向接口对网络设备端口进行了重新定义。ODL通过北向API接口,实现与流量管理器的控制交互和集成。同时,基于ODL的开放性和对OPENFLOW设备的广泛支持能力,也决定了流量管理器对广泛网元设备的快速支持能力;另外,更重要的是,通过ODL控制器将流量监控策略、流量阈值参数以及流量行为控制策略推送至Openflow端口,实现了网络及网元的按需引流,真正做到不动网、不断网的运维管理要求。
3.3流量监测管理器的功能
流量监测管理器作为一个独立的SDN(ODL)APP形式部署。在功能上,一方面要不断收集SFLOW代理发送的数据报文,并对数据报文进行实时分析,获得网络流量;另外一方面,作为ODL控制器的APP扩展应用,还需要具备智能的策略定义和交互功能。具体定义如下:
(1)判断流量类型,支持L2~L4层协议分析;
(2)判断端口流量大小,并判断是否超过预定义带宽利用率的阈值;
(3)定义策略判断流量是否超阈值,对超过阈值的流量实施执行相应预定义策略,比如限速,重定向,镜像或者其他流量管理策略;
(4)流量管理策略的能力定义如下:
① 匹配过滤器策略可发现大流量流
② 匹配黑白名单可发现大流量流
③ 通过匹配过滤器发现并学习流
④ 通过学习可自动创建、自定义流
⑤ 配置过滤器策略可发现用户自定义流
⑥ 删除用户自定义流
⑦ 用户流可设置时间限制
(5)提供基于Web 的图形用户管理界面(GUI);提供简单的配置文件配置、详细的控制面板视图以及相关设置;
① 实时性事件的展示和统计
② 实时性相关的攻击信息、监控信息设置及展示
③ 超过阈值的流量统计和告警的设置
④ 基于历史数据的报表统计及展示
(6)提供与SDN控制器交互的API接口。借助可编程REST API 可方便地完成配置、运行和分析IT DevOps的自动化,从而以自定义方式与现有网络环境和云协同系统集成。
① 支持用于获取配置列表的REST接口
② 支持用于创建/编辑/删除/使能/失效/改变用户属性的REST接口
③ 支持用于匹配过滤器获取事件列表的REST接口
④ 支持用于获取流量管理器配置的REST接口
⑤ 支持用于增加/编辑/删除流量管理器配置的REST接口
⑥ 支持用于编辑/删除流量管理器用于自定义流的REST接口
⑦ 支持用于获取历史和实时性能数据的REST接口
⑧ 支持XML和JSON
3.4流量监测管理器的策略管理
策略管理是体现如何通过系统将流量定义、管理和执行的重要内容,而配置文件是策略管理的具体表述方式。因此,配置文件作为系统的重要组件在实现匹配流量特征行为之外,还要能够实现前文流量检测管理器功能一章中提到的,针对流量的多种操作行为。
具体来说,配置文件不仅仅定义了对流量的识别,流量大小的阈值,还定义了当实时的流量超过阈值时,系统对流量转发所做的自动执行的动作,诸如特定转发、限速、中断以及镜像等操作。配置文件通过设定如下参数实现:
(1)被检测流所属网络层(L2~L4)
(2)被检测流之所以被认定为超大流的条件
(3)被检测流在检测出来后将要执行的策略或动作,包括
① 不执行
② 丢弃
③ 重定向
④ 统计
⑤ 镜像
⑥ 远程触发黑洞(RTBH)
(4)所执行策略或动作的持续时间和阈值
通过上述配置文件的定义则可实现对流量的深度管理。
4.1流量可视化
网络质量和网络流量的测量是网络运维人员日常重点关注的工作。无论是传统网络或者SDN 都有很多成熟的工作和方案。比如NETFLOW,SFLOW,SNMP或者结合OPENFLOW的SDN等。但是有多少个方案能够将通过检测得到的分析结果反馈到网络上,从而提升网络的可靠性和利用效率呢?
下面的应用场景将从日常流量的可视化这个角度去探讨如何实现SFLOW流量采集和SDN控制分析相结合,并实现网络L2~L4的流量监控和管理的功能。
业务应用场景如图3所示。
图3 网络流量可视化
在这个场景里,我们可以实现这些功能:
(1)基于SDN的流量测量,并支持SDN配置和操作;
(2)监控特定流量带宽使用情况及流量分析(支持MAC,IP,VLAN & VM flows);
(3)园区用户计费统计流量管理,ISP计费和服务能力;
(4)流量控制,实现丢弃,限速和转发;
(5)差异化QoS保障;
(6)大数据分析;
(7)故障分析。
4.2网络攻击防护
当今网络安全问题仍然是最受关注的问题之一。业务系统的不断扩充和发展,导致网络缺陷以及网络漏洞无处不在。分布式拒绝服务攻击DDOS就是其中一种常见的通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。传统的防范方式是在网络上部署专用的网络设备,但是当攻击范围及规模不断增长的情况,这种方式缺乏部署灵活性,并且在成本上也不经济。
在采用了SFLOW报文分析+SDN流量管理器的SDN智能流量管理系统后,我们不仅能够实现基于灵活的配置策略防范DDOS攻击,而且能够基于预先定义的策略在网络的边缘设备实施主动攻击防范。比如,通过下发Openflow流表实现对报文的丢弃,网络端口限速或者网络流量的重定向等功能。
据统计,平均一个DDOS攻击的持续时间为58分钟。传统的检测方案通常需要15分钟至几个小时,反应非常慢。而基于SDN的智能流量管理系统则可以在最短1分钟的情况下发现攻击行为,大大降低了DDOS攻击给网络带来的影响。
流量监测管理器可应用大型网络的检测和控制。部署上万节点的SFLOW代理以及高速端口的支持,使得该管理方案具备无以伦比的扩展性和网络架构弹性。在不改变原有网络结构的情况下实现2 至4 层流量检测,并主动缓解基于NTP Reflection、UDP Flooding、DNS Reflection和ICMP Ping Flooding 的网络攻击。这可以解决2 层和3层VPN 服务提供商重点关注的问题,确保大型流量为合法流量而非会影响甚至关闭整个网络的高容量攻击。
该场景部署拓扑如图4所示。
(1)网络流量从在配置为SFLOW代理的设备接口被sflow检测并抽样;
(2)SFLOW代理将抽样流量送至SFLOW收集器;
(3)流量监测管理器匹配策略判断为网络攻击(DDOS);并通过API接口将向对应的流量控制策略发
10.3969/j.issn.1006-6403.2016.08.010