软件定义网络SDN的两个接口
1 简介SDN 网络
SDN 被认为是开发新网络技术和应用的关键使能技术。
软件定义网络 (SDN) 是一种现代网络架构,它允许管理员使用软件来定义和控制网络设备的行为,而不是单独配置这些设备。
它通常与网络功能虚拟化 (NFV) 配合使用,以进一步提高网络的灵活性和成本效益。此外,它还允许集中网络智能,从而更轻松地排除故障和监控网络。
SDN 架构通常包括三个主要层:应用程序平面、控制平面和数据平面。
应用层:这是 SDN 架构的顶层,负责定义网络的所需行为。此层的应用程序可能包括流量工程工具、安全策略或虚拟网络叠加层。
控制层:控制层负责实现在应用程序层定义的策略和规则。它通常作为中央控制器实现,与数据平面中的网络设备通信。
数据平面或基础设施层:此层由构成数据平面的物理网络设备(如交换机和路由器)组成。这些设备负责通过网络转发网络流量。
北向和南向接口用于促进架构不同层之间的通信。集成这三个层使网络能够以协调和高效的方式运行。
2 SDN网络的优点
SDN 的几个关键功能使其与传统网络架构区分开来:
灵活性:无需物理重新配置设备即可对网络进行更改,这使网络管理员能够对不断变化的需求和环境做出快速反应。
可编程性:可以使用 API 或其他软件开发工具以编程方式控制网络的行为。这使得自动化网络任务以及将网络与其他系统集成变得更加容易。
抽象化:在 SDN 架构中,控制平面与转发流量的数据平面分开。这有助于工程师轻松更改网络的运行方式,而不会影响转发流量设备。
虚拟化:它还允许网络资源的虚拟化,允许管理员按需创建虚拟网络。这在云计算环境中特别有用,因为云计算环境对网络资源的需求可能是高度动态的。
除了上面列出的功能外,使用 SDN 的主要优势还在于,它使企业能够在软件中模拟其物理网络基础设施,从而降低总体资本支出 (CAPEX) 和运营支出 (OPEX)。
3 SDN网络架构方式
通常,不同类型的网络可能需要不同的 SDN 方法。
例如,具有许多不同类型设备和复杂拓扑的大型企业网络可能会受益于混合 SDN 架构,该架构结合了集中式和分布式 SDN 的元素。相反,集中式 SDN 设计可能适用于设备较少且拓扑更简单的较小网络。
仔细评估不同的选项并选择最能满足组织需求的架构非常重要。SDN 主要使用五种不同的架构模型。
-
- 集中式 SDN
在集中式 SDN 架构中,所有控制和管理功能都整合到一个中央控制器中,使管理员能够轻松定义和控制网络行为。尽管如此,它也可能造成单点故障。
- 2.分布式 SDN
在这种架构类型中,控制功能分布在多个控制器之间,从而提高了可靠性,但使网络管理变得更加复杂。
- 3.混合 SDN
混合 SDN 架构模型结合了集中式和分布式 SDN 元素。它可能会对某些功能使用集中式控制器,对其他功能使用分布式控制器,具体取决于网络的需要。
- 4.叠加 SDN
叠加架构使用虚拟网络技术(如 VXLAN 或 NVGRE)在现有物理网络之上创建逻辑网络。这允许管理员创建可以轻松创建、修改和删除的虚拟网络。
- 5.底层 SDN
底层架构利用现有网络基础设施来支持创建虚拟网络,这些虚拟网络可以使用 MPLS 或分段路由等技术在网络中的设备之间创建虚拟链路。
多媒体内容的增长、移动设备的日益使用以及对云计算的需求都促进了对更灵活、更高效的网络架构的需求。
由于这些趋势导致了不可预测的流量模式和对特定资源需求的突然增加,传统的网络架构难以跟上。
因此需要一种替代策略,因为扩展网络基础设施来处理这些波动可能非常昂贵且复杂。
4 南向和北向接口
SDN 的开发旨在通过将控制平面与数据平面分离来解决这个问题。这使网络能够自动重新配置自身以满足不断变化的需求,从而提高其整体性能和效率。让我们了解一下这个 SDN 的全部内容。
在 SDN 网络中,控制平面和数据平面是分开的。控制层面决定如何通过网络转发流量,而数据层面负责根据这些决定转发流量。
- 北向接口和南向接口
北向接口是一种应用程序编程接口 (API) 或协议,它允许较低级别的网络组件与更高级别或更核心的组件进行通信。
而相反,南向接口允许较高级别的组件向较低级别的网络组件发送命令。
北向和南向接口与软件定义网络 (SDN) 最相关,但也可用于使用中心辐射型或控制器和节点架构的任何系统。
在这种情况下,北和南可以被视为在地图上。北方位于图的顶部,南方位于图的底部。较高级别的元素控制较低级别的元素。一些 designs 还具有东西向接口,用于对等体之间的通信。
很容易将北向/南向接口与北向/南向数据流或流量混淆。接口定义发送方、接收方和数据格式;它表达了通信的概念级别,并涵盖了整个双向 API。
相反,如果数据或流量被说成是北向、南向或东西向的,那只是描述它是朝向还是远离核心。因此,可以说南向命令通过北向接口从核心到节点。
- 软件定义网络(SDN)中的北向和南向接口
在 SDN 和虚拟化网络中,网络逻辑设计和数据流由软件配置设置,而不是通过硬件或物理布线更改来设置。元素的配置由 SDN 控制器设置,该控制器位于控制层中,位于网络图的中心,并建立了与之相关的南北。
需要注意的是,在 SDN 中,北向和南向接口用于组网控制命令和 API。网络承载的数据或流量保留在数据层,不经过北向和南向接口。
SDN 中的北向接口是最高应用层与中间控制层的 SDN 控制器之间的通信。应用层由网络编排服务、网络设计软件、运营商软件或第三方应用程序组成,这些应用程序对网络的整体结构做出决策。
北向接口是允许网络的特定组件与更高级别的组件通信的接口。相反,南向接口允许特定网络组件与较低级别的组件通信。
在 SDN 中,操作员或编排软件不会直接向网络节点下发命令或配置。相反,操作员使用应用程序层通过北向接口向控制层发出命令。
北向接口通常是由 SDN 控制器公开的 REpresentational State Transfer API 或 REST API。
SDN 中的南向接口是中间控制层的 SDN 控制器与数据层的下层组网元之间的通信。数据层由物理或虚拟网络交换机和端口组成。
SDN 控制器获取所需的网络状态,并将其转换为特定的命令和配置,然后通过南向接口推送到网络设备。
流行的南向接口标准是简单网络管理协议 (SNMP);OpenFlow的;和开放最短路径优先 (OSPF)。
5 北向和南向接口示例
北向和南向接口的一个示例使用涉及网络工程师使用网络编排软件来定义特定的数据路由。
编排软件通过北向接口将指令发送到 SDN 控制器。
然后,SDN 控制器通过南向接口将特定配置发送到物理交换机。
更详细的示例是 Microsoft Azure 软件负载均衡。网络控制器位于中心层,运行软件负载均衡器 (SLB)。网络操作员位于应用程序层,并使用 Windows Admin Center 设置所需状态。
Windows Admin Center 使用 PowerShell 作为北向接口,将命令发送到 SLB。
然后,SLB 将边界网关协议 (BGP) 更新作为南向接口发送到数据层上的虚拟路由器。
若 SLB 发现路由器出错,它可以通过南向接口 BGP 自动将新配置发送给其他路由器,然后通过北向接口发送通知,提醒运营商问题。
6 小结
SDN 在当今的数字环境中非常有用,因为它使网络更加灵活和有效。
在传统网络中,控制平面和数据平面是紧密耦合的,这意味着对控制平面的更改也需要对数据平面的更改。这会使更改网络变得困难和耗时,尤其是在大型和复杂的网络中。
借助 SDN,控制平面从数据平面中抽象出来,这使得以编程方式控制和优化网络行为变得更加容易。
这在需要快速轻松地更改网络的环境中特别有用,例如在可以快速预置和取消预置工作负载的云计算环境中。
- 点赞
- 收藏
- 关注作者
评论(0)