南北向接口详解:软件定义网络中的关键通信架构

本文深入解析南北向接口在软件定义网络中的核心作用,包括北向接口连接高层应用与控制器,南向接口实现控制器对网络设备的配置管理,以及两者在网络自动化、安全管控中的关键价值。

什么是北向接口/南向接口?

北向接口(NBI)是一种应用程序编程接口(API)或协议,允许较低层级的网络组件与较高层级或更核心的组件通信;相反,南向接口(SBI)允许较高层级的组件向较低层级的网络组件发送命令。南北向接口最常与软件定义网络(SDN)关联,但也可用于任何采用中心-分支(也称为星型)或控制器-节点架构的系统。

与传统硬件导向网络相比,软件定义网络简化了网络设计和管理。

南北向接口的简单解释

在网络环境中,“北"和"南"可以视为地图上的方向。在示意图中,北位于顶部,南位于底部。使用这些基本方向有助于可视化内部网络通信,以及控制如何从网络的顶部(北)移动到底部(南)。

所有网络都由较高级别元素和较低级别元素组成。前者的示例包括网络自动化工具、网络编排、管理控制台、网络分析和其他管理系统。较低级别元素的示例包括交换机和路由器。

较高级别元素控制较低级别元素。同时,网络的较低级别组件需要使用API与其较高级别组件通信。

某些网络设计还具有用于对等体之间通信的东西向接口,也称为点对点通信。这些接口促进同一数据中心或云环境内的组件(例如服务器)之间的通信。

网络中的北向和南向流量是什么?

很容易将北向/南向接口与北向/南向数据流或流量混淆。接口(北向或南向)定义了发送方、接收方和数据格式;它表达了通信的概念层面并覆盖了整个双向API。

相反,如果数据或流量被称为北向、南向或东西向,那仅仅描述了它是朝向还是远离网络核心。因此,有可能说南向命令通过北向接口从核心发送到节点。

简而言之,南北向流量指的是进出内部网络的流量。例如,通过网络在网络服务器和外部客户端之间传输的数据是南北向流量。相比之下,东西向流量是网络内设备之间移动的内部流量。

出于安全原因,了解南北向和东西向流量的流动非常重要。网络中南北向流量越多,来自该网络外部的网络攻击机会就越大。当缺乏足够的安全控制来管理和控制南北向流量时,通常会发生勒索软件攻击和数据泄露,因为这些攻击通常源自网络外部。

南北向接口的优势

北向接口抽象了网络固有的复杂性,从而简化了网络管理。此外,它们在系统配置中提供了增强的灵活性和可编程性,使其对于高效部署和集成网络中的各种应用和服务至关重要。

北向接口的其他优势包括:

  • 集中化的网络管理和控制
  • 高效的资源分配
  • 更快的应用和服务部署
  • 更轻松的应用定制
  • 网络基础设施的实时监控
  • 网络自动化和编排

北向接口有助于提高网络效率、灵活性和敏捷性。通过减少不必要的复杂性,它们还可以降低网络的运营支出并提高其投资回报率。

另一方面,南向接口在策略实施中发挥着关键作用。它们对于为网络设备创建可操作且可行的配置也很有用。没有它们,很难将来自网络管理系统的高级命令转化为实际配置。南向接口也有助于改善网络控制和管理。

软件定义网络中的南北向接口

在SDN和虚拟化网络中,网络逻辑设计和数据流通过软件配置设置,而不是通过硬件或物理布线更改。SDN帮助IT管理员建立高度灵活的网络基础设施,这反过来使组织能够快速适应不断变化的业务需求。元素的配置由SDN控制器设置,该控制器位于网络图中心的控制层,北向和南向相对于它建立。

需要注意的是,在SDN中,北向和南向接口用于网络控制命令和API。网络承载的数据或流量停留在数据层,不穿越北向和南向接口。

SDN中的北向接口

SDN中的北向接口为最高应用层和中间控制层的SDN控制器之间的通信提供了标准化方法。因此,它实现了SDN控制器与高级应用之间网络信息的高效交换。应用层包括网络编排服务、网络设计软件、运营商软件或对网络整体结构做出决策的第三方应用。

在SDN中,运营商或编排软件不直接向网络节点发出命令或配置。相反,运营商使用应用层通过北向接口向控制层发出命令。

北向接口通常是由SDN控制器暴露的REST API。各种SDN控制器提供北向接口以实现轻松的软件定义网络管理和控制。这些包括OpenDaylight平台、开放网络操作系统和思科应用策略基础设施控制器。

SDN中的南向接口

SDN中的南向接口是中间控制层的SDN控制器与数据层的较低网络元素之间的通信。数据层由物理或虚拟网络交换机和端口组成。

SDN控制器获取网络的期望状态,并将其转换为特定命令和配置,然后通过南向接口推送到网络设备。南向接口使控制器能够高效运行,并根据实时业务需求快速调整。

流行的南向接口标准包括简单网络管理协议、OpenFlow和开放最短路径优先。可用于南向API的其他协议包括网络配置协议、多协议标签交换和中间系统到中间系统。

南北向接口示例

如何使用南北向接口的一个示例是网络工程师使用网络编排软件定义特定数据路由。编排软件通过北向接口将指令发送到SDN控制器。然后SDN控制器通过南向接口将特定配置发送到物理交换机。

一个更详细的示例是微软Azure软件负载平衡。网络控制器位于中心层并运行软件负载均衡器(SLB)。网络运营商位于应用层并使用Windows Admin Center设置期望状态。Windows Admin Center使用PowerShell作为北向接口将命令发送到SLB。然后SLB将边界网关协议(BGP)更新作为南向接口发送到数据层的虚拟路由器。如果SLB在路由器中发现错误,它可以自动通过南向接口BGP将新配置发送到其他路由器,然后通过北向接口发送通知以提醒运营商问题。

其他系统中的南北向接口

南北向接口的概念也可用于具有自动化控制系统和节点的系统中。它可用于组件使用不同API通信或使用编排器的情况。使用单独接口与使用总线架构形成对比。

在软件定义网络中,数据中心控制器是必不可少的组件。在评估控制器选项时,请考虑性能和兼容性等因素。了解SDN数据中心控制器在网络中的作用。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计