本文部分内容来源于《现代网络技术:SDN,NFV,QoE、物联网和云计算:SDN,NFV,QoE,IoT,andcloud》
SDN应用平面体系结构
应用平面包括应用和服务,它们对网络资源和行为进行定义、监视和控制。这些应用通
过应用---控制接口与SDN的控制平面进行交互,从而使得SDN控制层自动地定制网络资源的行为和性能。SDN应用利用了SDN控制平面提供的网络资源抽象视图,该视图是通过应用---控制接口的信息和数据模型获取的。
北向接口
最底层的"北向接口"部分也分为"本地"和"远端"两个接口。这些接口用于SDN控制器与应用层之间的交互,允许应用层通过北向接口控制和管理底层的网络资源。北向接口提供了一种标准化的方式,使得不同的应用程序可以方便地与SDN控制器进行通信。
北向接口可以是本地的,也可以是远端的。对于本地接口来说,SDN应用与控制平面的软件(控制器网络操作系统)运行在相同的服务器上,此外,应用也可以运行在远端的系统上,这时北向接口就成为应用访问位于中央服务器的控制器网络操作系统(NOS)的协议或应用程序编程接口(API)。这两种架构都可以实现实际的部署。
网络服务抽象层
其用于将底层的网络资源和服务抽象出来,提供给上层的功能模块和用户接口。通过抽象层,应用层可以更方便地管理网络资源,进行统一调度和控制。
- 该层可以提供网络资源的抽象视图,从而隐藏底层数据平面设备的具体细节
- 该层可以提供控制平面功能的整体视图,这样应用可以在多种控制器网络操作系统上运行
- 该层的功能与管理程序或虚拟机监视器功能非常类似,它将应用从底层操作系统和
底层硬件中分离出来 - 该层可以提供网络虚拟化功能,从而可以允许有不同的底层数据平面基础设施视图
网络应用
图上中间部分展示了SDN应用平面的核心功能模块。
用户接口
用户接口部分分为" 本地 "和" 远端 "两个接口,表示用户可以通过本地或远程接口访问SDN应用平面。用户接口主要是为了方便不同位置的用户对SDN应用层进行交互和控制。
网络服务抽象层
抽象(abstraction)是指与底层模型相关且对高层可见的细节量,更多的抽象意味着更少的细节,而更少的抽象表示更多的细节。抽象层(abstraction layer是将高层要求转换为底层完成这些要求需要的命令的机制,API就是这样一种机制,它屏蔽了低层抽象的实现细节,使其不会被高层软件破坏。网络抽象表示网络实体(例如交换机链路、端口和流)的基本属性或特征,它是一种让网络程序只需要关注想要的功能而不用编程实现具体动作的方法。
SDN可以由3个基本抽象来定义:转发、分发和规范。
转发抽象允许控制程序指定数据平面的转发行为,同时隐藏底层交换硬件的细节。这种抽象支持数据平面中的转发功能,使得控制平面可以灵活地指定数据包的处理方式。
转发抽象将底层硬件的转发机制进行统一,使得上层不必关心硬件实现的差异。例如,OpenFlow的API就是一种典型的转发抽象,它通过标准化的接口,使控制平面可以指挥不同厂商的设备实现一致的转发功能。
分发抽象的目标是为控制程序提供全局网络视图,尤其是对分布式控制器来说尤为重要。分发抽象允许多个分布式控制器之间共享网络状态信息,从而提供一致的网络视图。
分发抽象用于隐藏分布式控制器之间的协调细节,确保在分布式环境中多个控制器可以通过网络保持一致的网络状态。它的实现方式通常涉及跨控制器间的路由协议或状态同步。例如,在OpenDaylight和Ryu等控制器系统中,就运用了分发抽象来保证网络状态的一致性。
规则抽象提供了对网络的全局控制视图,无论网络是由单个控制器还是多个控制器协作控制,规则抽象都为应用层提供了一个逻辑上的全局网络图。
规则抽象屏蔽了底层网络拓扑的复杂性,使应用层可以基于高层策略来操作网络。例如,应用层可以通过规则抽象直接定义全局安全策略,而不必考虑具体的设备实现细节。这一抽象允许应用层集中管理和控制网络资源,从而提高网络管理的效率。
流量工程
在SDN(软件定义网络)中,流量工程(Traffic Engineering) 是一种对网络流量进行动态分析、管理和预测的方法,其主要目标是通过优化网络性能来满足服务级别协议(SLA)的要求。流量工程涉及根据网络的质量需求(QoS)来制定路由和转发策略,确保数据在网络中高效、安全地传输。
传统网络中,流量工程通常复杂且需要对多个设备进行独立配置,而SDN流量工程具有以下优势:
- 全局视图:SDN通过控制器提供了网络的全局视图,使得网络管理员可以清楚地看到网络中各部分的流量分布和状态。这种全局视图对于优化流量路径和资源分配至关重要。
- 灵活的控制和配置:由于SDN采用集中控制的方式,流量工程的策略可以集中制定,并通过控制器在整个网络中快速部署。这比传统网络需要手动配置每个设备的方式更为简单高效。
- 动态管理:SDN的流量工程可以根据实时的网络流量和QoS需求动态调整路由和转发策略,从而提高网络的适应性。例如,当某一路径过载时,控制器可以自动调整流量路径,避免拥塞。
- 异构设备统一管理:在SDN架构下,不同厂商的设备可以通过统一的控制平台进行配置和管理,使得流量工程的执行更加便利和高效。
一个典型的流量工程SDN应用的例子是PolicyCop ,它是一个自动化的QoS策略实施框架,有效利用了SDN和OpenFlow提供的可编程性,从而实现了动态流量管控,灵活的流等级控制,动态的流量分类,可定制的流聚合等级。
PolicyCop的主要特征是它能对网络进行监视,从而(根据QoS服务等级约定)检测出违反策略的行为,然后对网络进行重新配置,并固化被违背的策略。
在控制平面,PolicyCop主要依靠4个模块和1个存储控制规则的数据库,它们的功能如下:
- 准入控制:接受或拒绝资源供应模块发送的网络资源预留请求,这些资源包括队列、流表项和带宽等。
- 路由选择:根据规则数据库中的控制规则来确定路径的可用性。
- 设备追踪器:追踪网络交换机和端口的开启/关闭状态。
- 统计信息采集器:使用被动和主动相结合的监视技术来测量不同的网络测度
- 规则数据库:应用平面将高层网络策略转译为控制规则并将其存放在规则数据库中
具有REST功能的北向接口将这些控制平面模块连接到应用平面模块上,这些模块可以
分为两个部分:监视网络以检测违反策略行为的策略验证器和根据网络条件及高层策略调整控制平面规则的策略执行器。这两个模块都依赖于策略数据库,该数据库包含网络管理员输入的 QoS 策略规则,这些模块功能如下:
-
流量监视器:从策略数据库收集活跃策略信息,并确定合适的监视间隔、网段以及要监视的测度。
-
策略检查器:利用策略数据库和流量监视器的输入来检查违反策略的行为。
-
事件处理程序:根据事件类型检查违反策略的事件,然后自动调用策略执行器或者发送动作请求给网络管理员
-
拓扑管理器:根据设备追踪器的输入来维护全局网络视图。
-
资源管理器:利用准入控制和统计信息采集保持对当前已分配资源的追踪。
-
策略调整:包括一组动作集每个动作针对一类策略违反行为。表6-1显示了部分策略调整动作的功能,这些动作可以是由网络管理员指定的可插拔组件。
-
资源供应:这个模块根据违反策略的事件,要么分配更多资源,要么释放现有资源,要么两者合而为之。
测量和监视
测量和监视应用领域可以大致分为两类:为其他网络服务提供新功能的应用和增加OpenFlow SDN 价值的应用。
第一类应用的例子是宽带家庭连接领域,如果连接是基于SDN的网络,那么新功能可以添加到家庭网络流量和需求测量中,从而允许系统对不断变化的情况进行响应。第二类应用通常包括使用不同的抽样和评估技术来降低控制平面在收集数据平面统计信息时的负担。
安全
本领域的应用有以下两个目标。
解决与 SDN 使用相关的安全性问题: SDN包含三层体系结构(应用、控制、数据)以及新方法来进行分布式控制和封装数据,因此它可能导致新型攻击的出现,这些威胁可以出现在三个层次中的任何一层,也可能会发生在层次之间的通信过程中。因此,需要有相应的SDN应用来保护SDN在使用时的安全。
利用SDN功能提高网络安全性: 虽然SDN给网络设计者和管理员带来了新的安全性挑战,但是它还为网络提供了一个平台来实现一致的、集中管理的安全策略和机制。SDN允许开发SDN安全控制器和SDN安全性应用,从而提供和编排安全服务及机制。
本节利用一个SDN安全性应用的例子来说明第2个目标:在OpenDaylight平台上使用Defense4All来防御DDoS(分布式拒绝服务)攻击的实现方式。
Defense4All会对受保护对象(PO,即被保护的网络或服务器)的流量进行统计分析,记录其正常流量模式。通过学习和记录正常的流量行为,建立一个基准,以便及时识别异常流量。当流量偏离正常基准(通常为80%以上)时,Defense4All会将其标记为可能的攻击流量,并通知相应的防御系统(如攻击缓解系统AMS)来进一步检测和处理这些流量。
DDoS攻击的缓解流程:
- 连接AMS:Defense4All会选择一个已有的连接或者创建一个新的连接,将可疑流量重定向到AMS,进行更深入的流量检测和清洗。AMS会进一步分析流量的真实意图,从中剔除恶意流量并将净化后的流量返回正常网络路径。
- 动态调整流量路径:借助OpenFlow等SDN协议,Defense4All可以灵活地更改路由,将特定流量引导至AMS,避免攻击流量直接影响目标网络。
系统监控和日志记录:
Defense4All会不断监控流量并记录攻击日志,以备将来分析。AMS也会接收这些日志信息,帮助系统做出更精确的流量判断和防御决策。
保护策略配置:
Defense4All允许管理员为特定的网络节点(PN)和受保护对象(PO)设置保护策略,并为每个流量类型设定阈值。一旦检测到流量超出设定阈值,Defense4All会触发对应的防御机制。
防御步骤:
- AMS设备检查和连接选择:确定AMS设备是否可用并连接,必要时会与Radware的DefensePro进行协作。
- 告知AMS流量情况:将攻击模式流量和正常流量的基准率提供给AMS,以便对流量进行缓解。
- 流量日志记录:在AMS记录攻击日志,持续分析流量,便于未来的防御改进。
- 路径更改和流量重注入:Defense4All确保处理后的流量重新进入正常网络路径,从而恢复服务的正常运行。