SDN(Software-Defined Networking,软件定义网络)是一种新型网络架构,其核心思想是将网络的控制平面与数据平面分离,以实现网络的灵活性和可编程性。SDN网络架构通常分为以下三层:
应用层(Application Layer):
这一层包括各种网络应用程序和服务,这些应用程序通过开放的API(如北向接口)与控制层进行交互。应用层负责管理和优化网络资源,以满足不同的业务需求。典型的应用包括网络虚拟化、流量管理、安全策略、负载均衡等。
控制层(Control Layer):
控制层是SDN的核心部分,负责网络的逻辑控制。它集中管理和配置网络设备,决定数据流的转发路径。控制层与应用层进行通信,从应用层接收指令,并将这些指令转化为对网络设备的具体配置。常见的控制器软件包括OpenFlow控制器、ONOS、ODL(OpenDaylight)等。
数据层(Data Layer):
数据层也称为基础设施层(Infrastructure Layer),由实际执行数据包转发的网络设备组成,如交换机、路由器和防火墙等。数据层设备执行由控制层下发的指令,并将数据包按照预定的路径进行转发。数据层通常支持标准协议(如OpenFlow)以便于控制层的指令下达。
通过这三层的协作,SDN能够实现网络的灵活管理,降低运维复杂性,支持快速部署和调整网络策略以满足动态的业务需求。
一、 SDN网络架构中的应用层具体承担哪些功能?
在SDN(软件定义网络)架构中,应用层承担了多种关键功能。可以总结出以下几点:
- 提供网络应用程序:应用层是SDN中的最上层,它提供了各种各样的网络应用程序,包括监控、安全、质量保障等方面的应用。
- 可编程性体现:应用层是SDN可编程性的体现,通过SDN北向接口与SDN控制器进行通信,无需考虑网络底层的复杂性。
- 发出路由请求和监控网络状态:应用层负责发出路由请求和监控网络状态。
- 实现和网络业务相关的管理、安全等应用:基于控制器提供的API接口,应用层可以实现和网络业务相关的管理、安全等应用,并能根据用户需求定制其他网络业务。
- 包含特定于网络的应用程序和商业应用程序:应用层包含特定于网络的应用程序和商业应用程序,通过北向接口与控制层交互,以确定如何表达操作任务和网络策略,并将它们转换为控制器可以理解的形式。
- 满足用户需求:应用层包含设计来满足用户需求的SDN应用程序,由网络管理员操作。
- 处理用户请求和提供服务:应用层处理用户请求并提供服务。
SDN网络架构中的应用层主要承担了提供网络应用程序、体现可编程性、发出路由请求、监控网络状态、实现网络管理和安全应用、满足用户需求以及处理用户请求等关键功能。
二、 SDN控制层如何实现网络的管理和控制?
SDN(软件定义网络)通过将控制层从传统的网络设备中分离出来,实现了一种更为灵活和集中化的网络管理方式。这种架构的核心在于数据平面和控制平面的分离。
在SDN架构中,控制层由一个或多个SDN控制器组成,这些控制器是整个网络的大脑,负责管理和控制底层网络设备的行为。具体来说,SDN控制器通过以下几个步骤来实现对网络的管理和控制:
- 抽象网络资源:SDN控制器将底层的网络资源抽象成可操作的信息模型,并提供给应用层使用。
- 策略决策与规则实施:控制器维护整个网络的视图,实施策略决策,控制SDN设备并提供NBI API用于应用程序。例如,它可以根据应用程序的需求转换为数据包转发规则,并定义应用程序层与控制层之间的通信协议。
- 流管理和设备跟踪:控制器还负责拓扑和设备发现与跟踪、流管理、设备管理和统计跟踪等核心功能。这些功能由一组内部模块实现,并且可以根据SDN网络的特定需求进行调整。
- 简化硬件复杂度:通过解耦控制层和数据层,SDN控制器从基础的网络设备中抽离控制层,并将控制层的工作移交给一个集中式、可编程的软件控制器,从而简化了底层硬件的复杂度。
- 提高灵活性和可扩展性:SDN架构提高了网络的可编程性和灵活性,使得网络更加可控制和灵活。例如,RYU SDN控制器是一个开源且基于组件的框架,完全用Python实现,支持事件驱动编程,并与各种SBI协议一起工作,以聚合网络情报、执行分析和统计以及同步新网络规则。
SDN控制层通过集中化管理和控制整个网络的策略和流量,显著提高了网络的效率和可靠性。
三、 SDN基础设施层的组成部分
SDN(软件定义网络)的基础设施层是其架构中的重要组成部分,主要负责数据的转发和处理。基础设施层的组成部分包括:
- 网络设备:如数据中心的网络路由器、支持OpenFlow的硬件交换机等。
- 计算机和防火墙设备:这些设备执行数据包的转发和过滤。
- 服务器或网关:构成底层网络,将网络流量转发到目的地。
四、 SDN在不同行业中的应用案例
SDN(软件定义网络)技术在不同行业中的应用案例非常广泛,涵盖了从数据中心、企业网络到医院园区等多个领域。以下是一些具体的应用案例:
SDN在数据中心的应用主要体现在虚拟资源的自动化部署和管理上。例如,ADNET已经在运营商、互联网、金融、政府、高校等不同行业客户的数据中心实现了SDN技术的商用落地。
在大规模企业网络中,SDN通过北向接口与南向接口的结合,实现了软件定义无线网络和网络边缘的智能管理。
中国电信福建分公司和华为合作完成了全球首个光传送网SDN创新,成功地在光传送网上实现了带宽按需订购(BoD)智能专线应用以及与数据中心的云网协同。
华为在SDN领域的技术已经成熟,并且在华中科技大学同济医学院附属协和医院的园区网络中得到了应用,提升了医院网络的高质量发展。
SDN技术也被应用于视频流媒体和协作工具的分配,提高了这些服务的成本效益和网络灵活性。
SDN技术在物联网中的应用也十分广泛,特别是在边缘计算场景下,SDN能够管理大量的终端设备和物联网网关,满足不同行业的应用需求。
SDN网络能力开放化的特点使得其在电信运营商、政府及企业客户的网络中得到了广泛应用,进一步拓展了其应用范围。
五、 SDN技术的发展趋势
SDN技术的发展趋势主要体现在以下几个方面:
- 从狭义SDN到广义SDN的转变:狭义的SDN正在向广义的SDN发展,广义的SDN具有更强大的生命力。随着云计算和大数据的快速发展,基于SDN的云网一体化将成为SDN发展的主要诉求之一。
- 新一代数据中心和骨干网基础设施重构:SDN将支持新一代数据中心和骨干网基础设施的重构,这是其发展的重要领域之一。
- 虚拟化技术的应用:未来的虚拟化技术将会更多地应用于SDN中,通过对网络进行中心化和智能化的控制,实现网络资源的灵活配置和管理,提高网络的效率和灵活性。
- 自动化数据中心服务供应:SDN增强了自动化数据中心服务供应的能力,使水平扩展数据访问变得更加容易。
- 商业模式的迭代创新:随着商业模式的迭代创新,SDN也越来越多以解决方案形式交付,企业的付费方式愈发灵活,用量计费逐渐成为主流。
SDN技术的发展趋势包括从狭义到广义的转变、新一代数据中心和骨干网基础设施的重构、虚拟化技术的应用、自动化数据中心服务供应的增强以及商业模式的迭代创新。