SDN网络架构及安全研究

2024-01-21 12:43赵开新
无线互联科技 2023年19期
关键词:网络设备单点交换机

赵开新,魏 勇

(1.河南工学院 计算机科学与技术学院,河南 新乡 453003;2.新乡市智能工业大数据应用工程技术研究中心,河南 新乡 453003)

0 引言

传统网络需求相对明确且稳定,应用与业务变化较小或可预期,在规划设计时,虽留有部分冗余,但扩展性与业务弹性不好,后期调整和应对新业务空间有限。设备部署和维护以人工为主,自动为辅,并且网络设备多样性,厂家来源多样性,导致管理和维护不灵活、不方便。

随着云计算、大数据、物联网技术的发展,多元、多变的网络上层应用与业务、相对稳定的网络架构设计以及系统运维之间的矛盾日益突出。上层应要求规模扩展和服务能力灵活,能够体现以客户为中心,实现客户的应用服务和业务的自适应性和动态性。而底层传统的网络架构扩展性差,不能适应像微信、抖音等“杀手级”突发性的网络应用,新的软件定义网络技术(Soft Define Network,SDN)应运而生。SDN能够弹性响应上层应用的网络可编程,引入一个集中统一的控制与管理层,实现全局控制管理以及应对上层业务的动态响应。

1 SDN技术

2006年斯坦福大学主导,联合NSF及多个工业界厂商共同启动Clean-Slate课题项目。该项目研究组提出了一种新型网络创新架构SDN,是网络虚拟化的一种实现方式[1]。其核心是通过OpenFlow技术,实现了网络数据平面和控制平面的分离,并且实现网络可编程,为网络的智能管理、扩展性和弹性变化带来了方便。接着国外Cisco、Juniper、HPE、NEC、ARISTA、IBM等厂商先后发布了支持OpenFlow的SDN交换机,国内华为、中兴、盛科等设备厂商也快速研发了SDN相关产品,移动、联通、电信等运营商也相继提出了SDN在互联网上的解决方案。SDN网络采用层次化结构,共划分应用层、控制层和基础设施层3层,主要包括4个平面和2个接口,分别是应用平面、控制平面、管理平面、数据平面、南向接口和北向接口,数据平面和控制平面通过南向接口通信,控制平面和应用平面通过北向接口通信。

1.1 SDN网络中的4个平面

1.1.1 数据平面

数据平面主要执行网络控制逻辑,数据包的转发主要通过查询由控制平面所生成的FIB表来完成[2],SDN网络在数据平面的主要变化为:在SDN数据平面包处理流程所有模块中实现了可编程和协议无关;把传统网络设备中的二层或三层转发表抽象成流表,给用户提供一种可通过软件编程、任意定义网络的特定流进行转发,转发的依据包括物理层的出入端口,数据链路层的源MAC地址、目的MAC地址、以太网类型、VLAN标签、VLAN优先级,网络层的源IP地址、目的IP地址、IP协议类型,IP服务类型,传输层的TCP/UDP源端口号、TCP/UDP目的端口号等,可以实现更精细的转发,并且通过OpenFlow的计量表,还可以实现简单的QoS功能。

1.1.2 控制平面

SDN控制平面由一个或多个SDN控制器组成,是网络的控制中心,对底层网络交换设备进行集中管理,状态监测、转发决策以及处理和调度数据平面的流量,并且向上层应用开放多个层次的可编程能力。控制平面由北向接口代理、SDN控制逻辑(Control Logic)和控制数据平面接口驱动组成,目前开源SDN控制器有NOX、POX、FloodLight、RYU、OpenDayLight、ONOS等。

控制平面主要通过南向接口协议与数据平面进行交互,利用上行通道对底层交换设备上报信息进行统一监控和统计,实现链路发现和拓扑管理;利用下行通道对网络设备实施统一控制,实现策略制定和流表项下发。并且通过北向接口为上层业务应用以及资源管理系统提供灵活的网络资源抽象。控制器定时发送带LLDP(Link Layer Discovery Protocol)数据包的Packet_out消息,根据收到交换机发送的Packet_in消息来发现链路,获得交换机状态信息,实现网络地址、VLAN、路由学习,监测交换机工作状态,完成网络拓扑视图更新。然后根据全局的网络资源视图和一定的定制策略生成流表,并下发流表到数据平面各网络设备。具体交互过程如图1所示。

控制器是SDN网络的大脑,随着网络规模的扩大,单一控制器成为网络性能的瓶颈[3]。为了提高网络的可靠性,多控制器技术被提出,但各控制器保持分布式网络节点状态的一致性是亟须解决的关键问题,国内外许多学者也提出了许多负载均衡网络控制器的算法。

1.1.3 应用平面

应用平面包括SDN应用逻辑与北向接口驱动,通过北向接口与SDN控制器交互,使用应用逻辑提高应用的交互能力,可以降低系统的开支和成本,实现网元的虚拟化和集中化控制;加快网络的部署,遇到故障能快速发现与解决,是实现更高智能、自动化运作、应用可感知的网络。

1.1.4 管理平面

管理平面主要包括网元初始化配置,指定控制器、定义控制器及应用的控制范围,从传统的通过命令行或图形化界面对网络设备配置和管理,过渡到通过编程语言来实现对网络设备的管理和控制。

1.2 SDN网络中的两个接口

1.2.1 南向接口

南向接口是为控制平面的控制器和数据平面的交换机之间的信息交互而设计,向上收集数据平面信息,向下下发控制策略,指导转发行为,实现路径计算和网络的配置与管理,主要包括链路属性、链路状态、和拓扑信息等,主要负责转发行为控制、设备性能查询、统计报告、事件通知等。目前主流的南向接口协议有OpenFlow、OF-Config和NETCONF等。

其中,主流的南向接口协议OpenFlow主要架构由3部分组成:流表、安全通道和OpenFlow协议。流表用来指导交换机进行流的处理;OpenFlow交换机通过安全通道与远端控制器连接,负责控制器与交换机之间的交互;OpenFlow协议定义了一种南向接口标准,为控制器与交换机之间的通信提供了一种开放标准的方式。

1.2.2 北向接口协议

北向接口是应用平面与控制平面之间的接口,通过控制器向上层业务应用开放的接口,为上层业务应用和资源管理系统提供灵活的网络资源抽象。北向接口协议需要满足多样性、合理性和开放性,目前未形成业界公认标准。目前,对北向接口的研究组织包括ONF(Open Networking Foundation)北向接口工作组、IRTF (Internet Research Task Force)的SDN研究工作组和IETF (Internet Engineering Task Force)的SFC工作组。

2 SDN网络安全

由于SDN网络的开源性和控制器的集中控制管理,SDN网络会存在着控制器单点失效、DoS/DDoS(Denial of Service/Distributed Denial of Service)攻击和信息泄露问题[4]。

2.1 控制器单点失效

控制器是SDN网络的大脑,如果SDN控制器出现问题,整个网络将会瘫痪。控制器单点失效的情况有两种,一种是由于软件故障或者Bug导致的节点失效,另一种是由于控制器被攻击导致的单点失效。

针对控制器的单点失效问题,可以通过在网络中部署多个控制器来实现。常用的方法有两种,一种是设置多个备用控制器来实现可靠性;另外一种是建立控制器的集群,既可以避免单点失效,又可以实现负载分担,提高SDN网络的健壮性。目前现有的OpenDaylight、ONOS控制器均支持集群技术来解决SDN网络单点故障问题。

2.2 DoS/DDoS攻击

传统网络中DoS/DDoS攻击是通过向服务器发送大量的报文耗尽服务器资源,从而导致服务器不能为合法用户提供正常服务的一种攻击方法。在具有集中控制的SDN网络中,采用DoS/DDoS攻击可以消耗控制器资源和通信信道带宽,造成交换机过载甚至存储容量不足[5]。

针对DoS/DDoS攻击问题,目前现有的防御机制主要为防止交换机过载、控制器与交换机之间的通信信道拥塞以及控制器资源耗尽等。

2.3 信息泄露

SDN/OpenFlow架构采用分层架构,信息泄露问题主要发生在层与层之间,即主要发生在控制平面的南向接口层与北向接口层[6]。OpenFlow协议目前成为南向接口事实上的标准,但OpenFlow本身就存在安全隐患。虽然OpenFlow规范建议可在控制器和交换机之间的安全通道中使用SSL/TLS认证来增强信道的安全性,但并非强制性规定,大部分控制器默认情况下不开启。若通信过程中数据没有进行加密,很容易被第三方截获,从而攻击者可以通过分析截获数据修改甚至伪造报文进行攻击。

针对信息泄露问题,通过强制实施SSL/TLS(Secure Sockets Layer/Transport Layer Security)认证实现控制器与交换机之间的双向认证以及对南向接口通信数据进行加密保护。TLS使用数字证书对交换机和控制器的身份验证进行,当交换机与控制器之间成功认证之后,交换机与控制器之间采用对称加密算法进行通信,防止了攻击者窃听或篡改数据,保证了数据的机密性与完整性。

3 结语

本文在SDN架构的基础上,分析了应用平面、控制平面、管理平面、数据平面4个平面的组成与作用,给出了南向接口和北向接口两大接口的主要开放协议、标准以及主要功能,最后指出了SDN网络中存在的安全问题以及防范措施。

猜你喜欢
网络设备单点交换机
历元间载波相位差分的GPS/BDS精密单点测速算法
一种基于C# 的网络设备自动化登录工具的研制
超薄异型坯连铸机非平衡单点浇铸实践与分析
修复损坏的交换机NOS
使用链路聚合进行交换机互联
数字电视地面传输用单频网与单点发射的效果比较
16吨单点悬挂平衡轴的优化设计
PoE交换机雷击浪涌防护设计
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700
基于列车监测网络设备的射频功放模块设计