上海品茶

您的当前位置: 上海品茶 > 三个皮匠报告百科 > 软件定义网络(SDN)

软件定义网络(SDN)

目录

SDN是什么

SDN,软件定义网络(Software-Defined Networking)由 Stanford大学的NickMcKeown教授提出,其最大的特点在于控制平面与数据平面分离、支持集中化的网络状态控制、实现底层网络设施对上层应用的透明。SDN网络架构通过将传统一体化网络设备中的控制平面和转发平面分割开来,使得底层网络基础设施能够被视为一个虚拟的逻辑实体,同时利用可编程化技术,使得网络不同的应用和服务通可以在其上进行开放、灵活和抽象的配置。

ONF是一家非盈利的组织机构,是当前业界最活跃、规模最大的SDN标准组织,致力于SDN的发展和标准化,根据ONF的定义,SDN是一种新型的网络架构,具有动态性、可控性、高性价比和高适应性等特性。这种架构抽象了底层的基础实施,对网络控制进行直接编程,从而解耦了功能控制和数据转发。从广义上讲,只要是控制层和数据转发层相分离,数据转发层能够接受控制层的集中控制,并且应用层能够通过开发接口灵活地控制网络,都可以成为一种SDN。

SDN网络架构

SDN的网络架构包括基础设施层,控制层,应用层,以及层与层之间的南北接口。各个层与接口的功能简要概述如下:

(1)基础设施层:基础设施层中包含了各种类型的网络设备,该层主要负责将具体的用户数据在不同的网络节点之间进行转发。

(2)控制层:控制层负责对网络设备进行管理,该层包含了大量的业务逻辑,用以获取和维护各种类型的信息,如网络信息、设备状态信息、拓扑细节等等。

(3)应用层:应用层面向用户,为用户提供所需的业务及应用,其相关应用包括网络的可视化(如拓扑结构、网络状态、网络统计等),网络的自动化(如网络配置管理,网络监控,网络故障排除,网络安全策略等)以及其他用户自主开发的业务应用。

(4)南向接口:南向接口的作用是连接控制层与数据层之间的数据通信,该接口将底层物理基础转发设施的差异性进行屏蔽,从而实现了资源的虚拟化。

(5)北向接口:北向接口的作用是连接应用层和控制层之间的数据通信,应用层利用该接口对网络进行便捷的配置,并根据需求调用网络提供的不同资源[1]

sdn

SDN控制器

SDN控制器在软件定义网络架构中充当着中央大脑的角色,网络中所有相关决策的事务都依赖于它,开放网络基金会发布的SDN通用架构模型,控制器位于中间部位,是连接上下应用层和转发层的桥梁,控制器通过南向接口实现对全局网络的拓扑发现、流量监测、安全配置以及流表下发等操作,同时应用层可以通过控制层提供的北向标准接口传达更精确的指令和灵活的配置,实现全网资源的合理利用,并且降低了网络维护人员对转发层的操作难度,软件定义的特性还让配置可移植性成为信手拈来的事。在ONF组织的推崇之下,OpenFlow几乎已经被全行业接纳和认可,各种类型的控制器也相继出现,各种开源的商用的控制器也随之产生,不同的控制器通过不同的开发语言来实现,不同的控制器各有自己的特点

sdn

OpenFlow协议

OpenFlow协议是控制器和交换机之间第一个标准通信协议,是SDN概念初期发展所定义的协议。现有的SDN架构的实现主要依赖于OpenFlow协议,该协议的目标是通过直接定义网络设备的转发行为来实现软件灵活定义网络。OpenFlow协议可用于实现对网路中交换机、路由器等的控制,而实现OpenFlow规范的交换机称为OpenFlow交换机。在OpenFlow协议中,网络设备维护一个或者若干个流表,数据流进入设备中首先匹配流表信息,接着执行这些流表中的操作并转发数据包。而当流表不匹配时则询问SDN控制器,SDN控制器通过添加,更新和删除流条目来操纵交换机的流表。OpenFlow协议中所定义的流表项由一些关键字和执行动作组成的灵活规则,决定着如何处理和转发数据包,并且每个关键字字段都是可以通配的。在实际应用中,网络管理人员可以通过配置流表项中具体的匹配关键字来决定使用何种粒度的流转发规则。例如,如果只需要根据目的IP进行路由,那么下发流表项时,关键字只匹配目的IP字段,其他关键字全通配,而动作中只需要一个出端口即可实现常规的IP路由转发。

sdn

OpenFlow协议架构如图所示,说明如下:当数据包到达交换机时,交换机提取包头字段并根据流表条目的匹配字段部分进行匹配。若匹配成功,交换机就会执行与匹配的流表项关联的操作。若匹配失败,交换机所采取的操作将取决于表缺失流条目所定义的指令。每个流表必须包含一个表缺失项,以便处理表缺失。当交换机接收到新的数据包时,且没有相应的流表项与之匹配,将通过OpenFlow通道将数据包转发给控制器。控制器在接收到消息后会对数据包进行处理,并回复相应的消息给交换机以通知它如何处理该数据包[2]

SDN的基本特征

(1)网络开放可编程。SDN不再遵循传统的网络抽象模型,而是达到了高度的开放性,网络维护人员和科研人员可以通过北向接口的通用API来访问控制层的SDN控制器,网络操作接口的加入使得SDN允许开发人员根据自身需求开发对应的应用程序。通过这种方式,用户可以定制控制器上的个性化编程服务,从而达到对网络状态的监控、对网络信息的调用和对网络配置的管理,简化了网络业务的部署。网络开发可编程性是网络获得更高自由度和更多自治功能的架构基础

(2)控制功能与转发功能的分离。SDN解除了传统网络架构在控制功能和转发功能的高度耦合性,将转发功能从控制平面分离出来,放在了底层设备上。控制层决定转发功能的业务逻辑和转发方式,基础设施层则负责根据控制器指令完成转发操作,两者可以独立工作,降低了彼此的依赖程度。控制层和技术设施层之间的通信是通过统一的开放接口进行的,转发功能和控制功能的分离是SDN区别于传统网络体系结构的根本特征,大大提高了网络硬件的通用化,打破了各个硬件厂家的垄断局面,降低了设备成本。

(3)逻辑上的集中控制。控制器具有逻辑上的核心位置,担任收集网络信息和管理网络状态的重要任务,可以对分布式网络状态进行集中控制和统一管理。控制层可以将全局网络抽象为网络状态视图,获取全局网络的状态信息,因而可以同时集中控制多个基础设施层的转发设备,降低了网络安全的维护难[3]

SDN网络的风险

SDN简化了传统网络的部署方式,简化了底层硬件的复杂性,简化了管理运维的工序,但其带来便利的同时也引入了新的风险,主要的威胁有:

(1)控制层的安全威胁:控制层对SDN进行集中管控,使得管理配置都变得简略,但攻击者会针对控制器的核心地位实施各种网络攻击。其中,比较常见的是拒绝服务攻击,通过消耗控制层的各种应用资源使得控制器无法提供正常服务,使得整个SDN网络无法正常运行

(2)应用层的安全威胁:为了根据用户需求进行自定义编程,SDN架构为应用层提供了大量可编程的接口,这种开放性会像控制层一样带来风险,由于授权机制不完善,攻击者会在应用层安装恶意应用或者具有攻击性的软件,或者是利用北向接口通过控制层进行攻击。

(3)数据平面的安全威胁:OpenFlow作为SDN下的传输协议,会经常遭遇攻击者利用协议的漏洞的攻击。在OpenFlow协议中存在安全传输和普通传输,在普通传输模式下,攻击者可能利用协议漏洞向交换机发送大量虚假请求信息,从而导致交换机不能正常运行。

(4)北向接口安全威胁:北向接口面向应用层,由于应用程序种类复杂,不同的接口提供不同的服务,各种接口也没有统一的规定,这种编程的开放性给一些攻击者提供了安全的漏洞,使得攻击者利用这些漏洞访问一些重要的资源,从而产生数据泄露、消息篡改等一系列安全问题

(5)南向接口安全威胁:南向接口的OpenFlow协议有一定的局限性,该协议通过SSL/TLS对数据进行加密,但该加密协议并不是必选项,有时控制器允许通道不加密进行数据传输,所以面临着数据泄密、控制器假冒等风险[4]

参考资料:

[1]李瑞鹏.基于深度学习的网络切片资源分配研究[D].四川:电子科技大学,2021.

[2]倪晓铃.SDN架构下基于分段路由的匿名通信技术研究[D].江苏:江苏大学,2021.

[3]涂伟阳.SDN网络架构下基于网络异常行为的DDoS攻击检测方法研究[D].湖北:华中师范大学,2021.

[4]杜祥通.SDN下基于三支决策的入侵防御技术的研究与应用[D].江苏:江苏科技大学,2021.

SDN相关报告:

头豹研究院:2019年中国SDN软件定义网络行业研究报告(27页).pdf

计世资讯:2016-2017年中国SDN市场发展状况白皮书(37页).pdf

中国移动:5G 智能终端切片白皮书(54页).pdf

专注网络创新技术:中国软件定义广域网(SD-WAN)生态与技术报告(65页).pdf

分享到微信 分享到微博 分享到QQ空间
上一篇:虚拟化技术
下一篇:网络切片

百科标签

会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部