概述
文章目录
- 1 体系架构
- 2 数据层
- 2.1 交换机
- 2.2 转发规则
- 3 控制层
- 3.1 控制器
- 3.2 接口语言
- 3.3 控制层特性研究
- 4 应用
- 4.1 企业网与校园网
- 4.2 数据中心与云
- 4.3 广域网
- 4.4 无线网络
- 5 未来
- 小结
1 体系架构
SDN 由下到上(或称由南向北)分为数据平面、控制平面和应用平面。数据平面与控制平面之间利用 SDN 控制数据平面接口(control-data-plane interface,简称 CDPI)进行通信,CDPI 具有统一的通信标准,目前主要采用 OpenFlow 协议。控制平面与应用平面之间由 SDN 北向接口(northbound interface,简称 NBI)负责通信,NBI 允许用户按实际需求定制开发。
由于 NFV 与 ONF 的 SDN 分别负责不同的网络,两种架构的协同工作能够获得更好的网络体验,将两者结合可以降低设备成本。OpenDaylight 具有开源性,因此,它可以兼容 SDN,NFV 以及未来与 SDN 并行的体系结构。
SDN 中的接口具有开放性,以控制器为逻辑中心,南向负责与数据层通信,北向负责与应用层通信。此外,由于单一控制机制容易造成控制节点失效,严重影响性能,可采用多控制器方式,此时,多控制器之间将采用东西向通信方式。开放式接口的研究,必然进一步推动 SDN 的深入发展。
针对南向接口,除了 ONF 提出的 OpenFlow 协议和 OF-CONFIG 协议外,IETF 提出了 ForCES 协议,思科公司提出了 OnePK 协议。四者对比见上图。
除了南向接口相关研究之外,控制器北向接口及控制器间东西向接口同样是研究重点。与南北向接口通信的方式不同,东西向接口负责控制器间的通信。由于单一控制器性能有限,无法满足大规模 SDN 网络部署,东西向接口标准的制订使控制器具有可扩展能力,并为负载均衡和性能提升等方面提供了技术保障。
2 数据层
SDN 数据层的功能相对简单,相关技术研究主要集中在交换机和转发规则方面:首先是交换机设计研究,即设计可扩展的快速转发设备,它既可以灵活匹配规则,又能快速转发数据流;其次是转发规则的相关研究,例如规则失效后的一致性更新问题等。
2.1 交换机
SDN 交换机位于数据层面,用来负责数据流的转发。通常可采用硬件和软件两种方式进行转发。如何设计交换机,做到既保证硬件的转发速率,同时还能确保识别转发规则的灵活性,成为目前研究的热点问题。
RMT 模型实现了一个可重新配置的匹配表,它允许在流水线(pipeline)阶段支持任意宽度和深度的流表。从结构上看,理想的 RMT 模型是由解析器、多个逻辑匹配部件以及可配置输出队列组成。具体的可配置性体现在:通过修改解析器来增加域定义,修改逻辑匹配部件的匹配表来完成新域的匹配,修改逻辑匹配部件的动作集来实现新的动作,修改队列规则来产生新的队列。
作为另一种利用硬件灵活处理技术,FlowAdapter采用交换机分层的方式来实现高效、灵活的多表流水线业务。FlowAdapter 交换机分为 3 层:最上层是可以通过更新来支持任何新协议的软件数据平面,底层是相对固定但转发效率高的硬件数据平面,位于中部的 FlowAdapter 层负责软件数据平面和硬件数据平面之间的通信。
与利用硬件设计交换机的观点不同,虽然软件处理的速度低于硬件,但是软件方式可以最大限度地提升规则处理的灵活性,同时又能避免由于硬件自身内存较小、流表大小受限、无法有效处理突发流等问题,因而同样受到学术界的关注。
2.2 转发规则
将配置细节进行抽象,使管理人员能够使用较高抽象层次(high-level)的管理方式统一更新,就可防止低层管理引起的不一致性问题。一般采用两阶段提交方式来更新规则:第 1 阶段,当某个规则需要更新时,控制器询问每个交换机是否处理完对应旧规则的流,并对处理完毕的所有交换机进行规则更新;第 2 阶段,当所有交换机都更新完毕时,才完成更新,否则将取消该更新操作。
在数据平面建立与协议无关的流指令集(flow instruction set,简称 FIS),可以做到协议无关的转发。协议无关的 FIS 抽象了数据平面,每个协议相关的规则会转化成 FIS 中协议无关的指令,并被数据平面硬件所识别,从而实现快速转发。协议无关的 FIS 使规则与转发设备无关,提高了数据平面的可扩展性,真正实现了控制平面与数据平面的全面分离。
3 控制层
控制器是控制层的核心组件,通过控制器,用户可以逻辑上集中控制交换机,实现数据的快速转发,便捷安全地管理网络,提升网络的整体性能。
3.1 控制器
控制器的基本功能是为科研人员提供可用的编程平台。控制器拥有全网信息,能够处理全网海量数据,因此需要具有较高的处理能力。
对于众多中等规模的网络来说,一般使用一个控制器即可完成相应的控制功能。对于大规模网络来说,仅依靠多线程处理方式将无法保证性能,将控制器物理分布在整个网络中,可使每个交换机都与较近的控制器进行交互,从而提升网络的整体性能。
分布式控制器一般可采用两类方式进行扩展,分别是扁平控制方式和层次控制方式。对于扁平控制方式,所有控制器被放置在不相交的区域里,分别管理各自的网络。对于层次控制方式,控制器之间具有垂直管理的功能。扁平控制方式要求所有控制器都处于同一层次,层次控制方式按照用途将控制器进行了分类。
SDN 网络操作系统应当具有实时运行所开发应用的能力,即能够达到开发与执行的平衡。
3.2 接口语言
控制器提供了北向接口,方便用户配置网络。传统的控制器平台仅能提供低级配置接口,且使用像 C++这种通用语言,抽象程度较低,造成网络配置成本并未大幅度降低。针对这种情况,科研人员致力于开发一种抽象的、高级配置语言.这些抽象语言能够统一北向接口,改善接口的性能,从而全面降低网络的配置成本。
3.3 控制层特性研究
控制层存在一致性、可用性和容错性等特性,这 3 种特性的需求无法同时满足,达到三者之间的平衡是今后的重要工作之一。
4 应用
随着 SDN 的快速发展,SDN 已应用到各个网络场景中,从小型的企业网和校园网扩展到数据中心与广域网,从有线网扩展到无线网。无论应用在任何场景中,大多数应用都采用了 SDN 控制层与数据层分离的方式获取全局视图来管理自己的网络。
4.1 企业网与校园网
4over6(见上图)描述了 IPv4 网络向IPv6 网络过渡的技术,它借鉴了 SDN 网络虚拟化的思想,将 IPv4 网络和 IPv6 网络从数据层分离出来。由于 IPv4 和 IPv6 传输数据的基本原理相同,因此数据层能够对 IPv4 和 IPv6 两者都提供传输服务,实现转发抽象。同时,还可分别为 IPv4 服务提供商和 IPv6 服务提供商提供更方便的管理机制,便于 IPv4 网络向 IPv6 网络的迁移,满足所有 IPv6 网络过渡的需求。
4.2 数据中心与云
有了数据中心作保障,用户可以通过云网络方便进行网络管理。不过,基于云环境的网络拓扑是多变的,而通过 SDN 可以获取全局信息,实现云网络管理。
4.3 广域网
广域网连接着众多数据中心,这些数据中心之间的高效连接与传输等流量工程问题,是众多大型互联网公司努力的目标。为了能够提供可靠的服务,应确保当任意链路或路由出现问题时仍能使网络高效运转。
4.4 无线网络
SDN 技术研究初期就开始部署在无线网络之中,目前已广泛应用在无线网络的各个方面。
5 未来
SDN 目前已经得到各方面的关注,不仅在学术界对 SDN 关键技术进行了深入研究,而且在产业界已经开始了大规模应用。SDN 技术的出现带来了诸多机遇,同时也面临着更多的挑战。以下是SDN未来的一些研究方向:
- SDN 可扩展性研究
- SDN 规模部署与跨域通信
- 传统网络与 SDN 共存问题研究
- SDN 在数据中心的应用研究
- 借鉴 SDN 思想融合 IPv6 过渡机制
- SDN 与其他新型网络架构融合
- SDN 网络安全
小结
本文发表时间为2015年,相应的技术研究和应用发展存在局限性。但是对于技术的定义和讲解,这部分是具备高参考价值的。在应用发展及未来研究一块,则需要结合最新的研究进展进行了解。
SDN技术与NFV技术都属于虚拟化技术,强调控制面和数据面的解耦。同时,在控制面进行集中式的管理。那么,接口安全和控制面安全就很重要了。一旦这两个口子被攻破,在共享资源的情况下,将全面崩溃。
最后
以上就是无语大雁为你收集整理的软件定义网络(SDN)研究进展的全部内容,希望文章能够帮你解决软件定义网络(SDN)研究进展所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复