什么是-SDN

介绍

SDN (Software-Defined Networking), 直译为软件定义网络, 其核心技术是通过将网络设备的 Control Plane 和 Data Plane 分离开, 从而实现网络流量的灵活控制.

一个网络结构若称为 SDN, 其至少需要满足:

  • 控制平面与转发平面分离
  • 开放的可编程接口

需要注意, SDN 不是一个网络协议, 也不是一个网关工具, 仅仅是一个网络架构的理念, 只要满足一些特点的网络, 都可以称为是 SDN.

SDN 不等于 OpenFlow, 也不等于网络虚拟化 (Network Function Virtualization), 也并不适用于所有网络.

实现 SDN 也不一定要使用 OpenFlow.

相关概念

SNMP

SNMP, Simple Network Management Protocol, 简单网络管理协议, 是一种用于管理和监控网络设备的应用层协议, 它提供了一组标准方法和消息格式, 用于查询和修改网络设备的配置和状态信息.

IGP

IGP, Interior Gateway Protocol, 内部网关协议, 是一种在自治系统 (AS) 内部运行的路由协议, 用于确定数据在自治系统内的路由.

BGP

BGP, Border Gateway Protocol, 即边界网关协议, 是一种在自治系统之间运行的路由协议, 用于确定数据跨越不同自治系统的路由.

FIB

FIB, Forwarding Information Base, 即转发信息库, 是一个存储路由表项的数据结构, 用于在数据平面进行数据包的转发决策.

OpenFlow

OpenFlow 是一种开放的网络通信协议, 是用于实现软件定义网络 (Software-Defined Networking, SDN) 的一种方式. 它允许网络中的控制平面与数据平面进行分离, 从而实现对网络行为的集中控制和编程.

具体来说, OpenFlow 定义了网络交换设备 (如交换机和路由器) 中的控制平面和数据平面之间的通信接口和协议. 通过使用 OpenFlow 协议, 控制器可以直接与网络设备进行通信, 向其下发指令来配置流表 (Flow Table) 中的规则, 以控制数据包在网络中的转发路径和处理方式.

传统的网络结构

传统的网络结构包括:

  • 管理平面 (Management Plane), 负责设备管理和监控, 其允许网络管理员配置, 监视和维护网络设备, 通常使用 SNMP 协议
  • 控制平面 (Control Plane), 负责网络中的路由选择和转发决策. 它处理路由协议的运行和路由表的生成, 以确定数据在网络中的传输路径, 常使用路由协议 IGP, BGP 等
  • 数据平面 (Data Plane), 也称为转发平面, 负责实际的数据包转发和交换. 它根据控制平面提供的路由信息, 数据包从输入接口转发到正确的输出接口. 一般借助转发表 FIB

每一台路由器都会具有控制平面 (路由选择和决策) 和数据平面 (实际的转发), 这种传统网络结构有一些局限性:

  • 流量路径的灵活调整能力不足
  • 网络协议实现复杂
  • 网络升级流程复杂

SDN 架构

两张图大致描述 SDN 的结构:

  • Northbound Interface, 北向接口指 SDN 控制器与上层应用之间的接口和通信方式.
  • Southbound Interface, 南向接口指 SDN 控制器与 Data Plane 之间的接口和通信方式

什么是-SDN
http://example.com/2024/03/21/什么是-SDN/
作者
Jie
发布于
2024年3月21日
许可协议