IIWAB

SDN(软件定义网络)架构

IIWAB 1月前 ⋅ 87 阅读

SDN(Software‑Defined Network,软件定义网络):核心思想是控制平面与数据平面解耦,把网络设备的控制逻辑抽离出来,由集中式控制器统一管理;交换机只负责单纯的数据转发,不再做复杂路由计算,网络通过软件编程来调度,而不是逐台配置硬件设备。

三层标准架构(ONF组织定义)

从上到下:应用层 → 控制层 → 数据转发层,层间通过标准接口交互。

1. 应用层(Application Layer)

  • 包含各类网络业务APP:流量调度、负载均衡、防火墙、QoS、虚拟网络、安全策略、流量监控等。
  • 不直接操作交换机,调用控制器提供的北向接口实现网络业务。
  • 北向接口(Northbound API):应用层 ↔ 控制层,开放API(REST等),供上层业务开发。

2. 控制层(Control Layer)

SDN的大脑,核心是SDN控制器(如OpenDaylight、ONOS、Ryu)

  • 集中维护全网拓扑、流表、状态信息;
  • 接收上层应用的业务需求,计算转发策略;
  • 将下发转发规则给底层交换机;
  • 处理交换机上报的事件(未知报文、状态告警)。

3. 数据转发层(Infrastructure Layer,基础设施层)

由大量SDN交换机/虚拟交换机组成(Open vSwitch、硬件白盒交换机)

  • 只负责数据转发,没有完整路由控制逻辑;
  • 根据**流表(Flow Table)**处理数据包:匹配字段→执行动作(转发、丢弃、封装、修改字段);
  • 遇到流表没有匹配的数据包,上送给控制器决策;
  • 南向接口(Southbound API):控制层 ↔ 转发层,最典型协议:OpenFlow

OpenFlow协议:是SDN最经典南向协议,规定控制器怎么读写交换机流表。


关键概念

  1. 控制平面 & 数据平面解耦 传统网络:每台交换机同时有控制+转发;自己跑路由协议、自己算路径。 SDN:转发只干活,全部路由/策略计算交给集中控制器。

  2. 流表 Flow Table 流表由多条流表项组成,每条包含:匹配域、优先级、计数器、动作集。 数据包进来,按优先级匹配流表项,执行对应动作。

  3. 北向接口(NBI) / 南向接口(SBI)

  • 北向:控制器给上层应用,面向业务开发;
  • 南向:控制器下发指令给交换机,面向网络硬件。

SDN优势

  1. 集中管控:全网统一视图,不用逐台登录设备配置;
  2. 可编程:网络能力软件化,快速部署新网络业务;
  3. 灵活调度流量:数据中心、云环境按需调度路径,提升带宽利用率;
  4. 简化设备:底层交换机可以是白盒交换机,降低硬件成本。

SDN典型应用场景

  • 云数据中心网络(VM迁移、租户虚拟网络)
  • 广域网SD‑WAN(企业分支互联)
  • 校园/运营商网络、5G承载网
  • 网络实验(Ryu控制器做科研仿真)

SDN与传统网络对比

维度传统网络SDN
控制方式分布式,每台设备独立计算集中式控制器统一计算
配置方式CLI逐台手工配置API/软件下发策略
设备角色控制+转发一体交换机只做转发
新业务上线修改大量设备,周期长编写应用,快速下发

主流控制器

  • Ryu:Python实现,轻量,适合学习实验
  • OpenDaylight(ODL):Java,企业级,组件化
  • ONOS:面向运营商,高可用集群

补充:OpenFlow是南向协议代表,但不是SDN全部;现在很多SDN也用NETCONF、gNMI等其他南向协议。


全部评论: 0

    我有话说: