SDN基本概述

article/2025/9/6 3:34:45

SDN的概念与体系结构

传统网络数据控制与转发:

传统网络是分布式控制的架构,每台设备都包含独立的控制平面,数据平面。

传统网络是分布式控制的架构:

  • 这里的分布式控制指在传统IP网络中,用于协议计算的控制平面和报文转发的数据平面位于同一台设备中。
  • 路由计算和拓扑变化后,每台设备都要重新进行路由计算过程,并称为分布式控制过程。
  • 在传统IP网络中,每台设备都是独立收集网络信息,独立计算,并且都只关心自己的选路。
  • 这种模型的弊端就是所有设备在计算路径时缺乏统一性。

传统网络结构体系:

这里写图片描述

图:传统网络结构体系

传统网络的管理平面、控制平面、数据平面:

  1. 管理平面:管理设备(SNMP)
  2. 控制平面:路由协议(IGP、BGP)
  3. 数据平面:转发表(FIB)

OSS:Operation Support System,运营支撑系统。

NMS:Network Management Server,网络管理服务器。

传统网络架构:

  • 传统网络分为管理平面、控制平面和数据平面。
  • 管理平面主要包括设备管理系统和业务管理系统,设备管理系统负责网络拓扑、设备接口、设备特性的管理,同时可以给设备下发配置脚本。业务管理系统用于对业务进行管理,比如业务性能监控、业务告警管理等。
  • 控制平面负责网络控制,主要功能为协议处理与计算。比如路由协议用于路由信息的计算、路由表的生成。
  • 数据平面是指设备根据控制平面生成的指令完成用户业务的转发和处理。例如路由器根据路由协议生成的路由表对接收的数据包从相应的出接口转发出去。

传统网络局限性:

  1. 流量路径的灵活调整能力不足。
  2. 网络协议实现复杂,运维难度较大。
  3. 网络新业务升级速度较慢。
  • 传统网络通常部署网管系统作为管理平面,而控制平面和数据平面分布在每个设备上运行。
  • 流量路径的调整需要通过在网元上配置流量策略来实现,但对于大型网络的流量进行调整,不仅繁琐而且还很容易出现故障;当然也可以通过部署TE隧道来实现流量调整,但由于TE隧道的复杂性,对于维护人员的技能要求很高。
  • 传统网络协议较复杂,有IGP、BGP、MPLS、组播协议等,而且还在不断增加。
  • 设备厂家除标准协议外都有一些私有协议扩展,不仅设备操作命令繁多,而且不同厂家设备操作界面差异较大,运维复杂。
  • 传统网络中由于设备的控制面是封闭式的,且不同厂家设备实现机制也可能有所不同,所以一种新功能的部署可能会造成周期较长;且如果需要对设备软件进行升级,还需要在每台设备上进行操作,大大降低了工作效率。

SDN概述:

SDN(Software Defined Netrork)软件定义网络。

2006年,以斯坦福大学教授Nike Mckewn为首的团队提出了OpenFlow的概念,并基于OpenFlow技术实现网络的可编程能力,是网络像软件一样灵活编程,SDN技术应运而生。

SDN的三个主要特征:

  • 转控分离:网元的控制平面在控制器上,负责协议计算,产生流表;而转发平面只在网络设备上。
  • 集中控制:设备网元通过控制器集中管理和下发流表,这样就不需要对设备进行逐一操作,只需要对控制器进行配置即可。
  • 开放接口:第三方应用只需要通过控制器提供的开放接口,通过编程方式定义一个新的网络功能,然后在控制器上运行即可。

SDN控制器既不是网管,也不是规划工具:

  • 网管没有实现转控分离:网管只负责管理网络拓扑、监控设备告警和性能、下发配置脚本等操作,但这些仍然需要设备的控制平面负责产生转发表项。
  • 规划工具的目的和控制器不同:规划工具是为了下发一些规划表项,这些表项并非用于路由器转发,是一些为网元控制平面服务的参数,比如IP地址,VLAN等。控制器下发的表项是流表,用于转发器转发数据包。

SDN网络体系架构:

SDN是对传统网络架构的一次重构,由原来分布式控制的网络架构重构为集中控制的网络架构。

SDN网络体系架构的三层模型:

这里写图片描述

图:SDN网络体系架构图

协同应用层:这一层主要是体现用户意图的各种上层应用程序,此类应用程序称为协同层应用程序,典型的应用包括OSS(Operation support system 运营支撑系统)、Openstack等。传统的IP网络同样具有转发平面、控制平面和管理平面,SDN网络架构也同样包含这3个平面,只是传统的IP网络是分布式控制的,而SDN网络架构下是集中控制的。

控制层:控制层是系统的控制中心,负责网络的内部交换路径和边界业务路由的生成,并负责处理网络状态变化事件。

转发层:转发层主要由转发器和连接器的线路构成基础转发网络,这一层负责执行用户数据的转发,转发过程中所需要的转发表项是由控制层生成的。

SDN架构下的接口:

NBI(North Bound Interface)北向接口。

SBI(South Bound Interface)南向接口。

这里写图片描述

图:SDN接口

Restful接口:

  1. Restful接口为控制器与上层APP的北向接口,开放的API、设备私有接口,所有满足rest架构的互联网软件架构都是restful。
  2. Rest为“表现层状态转化”,表现层就是资源的表现,即rest是被访问的资源(文本,图片,音乐,视频等),从一种形式的状态迁移到另一种形式的状态,本质就是一种互联网资源访问的协议。

OpenFlow接口:

  1. OpenFlow接口是控制器与下层转发器之间的一种基于芯片的接口协议。OpenFlow协议基于TCP/IP,用于转发器与控制器之间的通信。

BGP接口:

  1. BGP接口是在BGP协议基础上添加一些BGP路由属性(比如Additional Path属性和BGP Flowspecification属性),用于下发BGP的一些路由特性,从而使得IDC数据中心出口路由器根据这些特性实现流量调优。

PCE接口:

  1. PCE接口用于控制器根据网络可用带宽计算出流量工程路径,用于数据中心AS内部的TE隧道的建立。

运营商网络已经大规模部署了传统分布式网络,不能在较短时间内升级到SDN网络,与传统网络互通就是必要的。SDN控制器必须支持各种传统的跨域路由协议,以便解决和传统网络互通问题。

东西向协议是必须的,在SDN控制器上运行东西向协议,通过简单的修改或升级控制器程序就能提供新业务。另一方面,东西向协议为SDN控制器跨域互联及SDN控制器分层部署提供了接口。

SDN基本工作原理:

这里写图片描述

图:SDN基本工作原理

网元资源信息收集:

  1. 转发器注册信息
  2. 上报资源过程
  3. MPLS标签信息
  4. VLAN资源信息
  5. 接口资源信息

拓扑信息收集:节点对象、接口对象、链路对象(LLDP、IGP、BGP-LS)。

SDN网络内部交路由的生成。

  • 通常控制器作为服务端,转发器主动向控制器发起控制协议建立,通过认证后,控制协议即建立连接。
  • 注册信息中的设备信息包括资源信息(接口、标签、VLAN资源等)、设备厂家信息(设备类型信息和设备版本号以及设备ID信息)。控制器采集这些信息是为了根据这些信息来进行本地搜索和加载相应驱动程序。
  • 网络拓扑是描述网络中节点和链路以及节点之间连接关系的信息。
  • 控制器收集拓扑信息的目的是为了根据网络资源,计算合理的路径信息,通过流表方式下发给转发器。

OpenFlow的思想和功能:

这里写图片描述

两个角色:

  1. OpenFlow Controller:用于控制OpenFlow Switch,计算路径,维护状态和将信息流规则下发给交换机。
  2. OpenFlow Switch:从OpenFlow Controller控制器接收命令或者流信息,以及返回状态信息。
  3. OpenFlow Switch基于流表并根据流规则进行转发、处理数据。
  • “Flow”指的是一组具有相同性质的数据包,例如“五元组”(SIP、DIP、SPORT、DPORT、Protocol)。
  • OpenFlow协议是控制器和转发器之间的控制协议。
  • 交换机与控制器之间可以通过加密的OpenFlow协议通信。
  • OpenFlow交换机是数据平面,基于Flow Table进行数据转发,并负责网络策略的具体执行。
  • OpenFlow Controller是控制平面设备,负责生成OpenFlow交换机上的Flow Table,以及对Flow Table的更新和维护。
  • OpenFlow Switch的基本组成:
    1. Flow Table:保存对每一个流的定义及相应处理行为。
    2. 安全网络通道:连接交换机和控制器,用于传输控制信令。当一个新数据包第一次到达交换机时,交换机通过这个隧道将数据包送往控制器进行路由解析。
    3. OpenFlow协议:一套公开标准接口,用于读写Flow Table的内容。

OpenFlow网络交换模型:

该模型的指导思想是:底层的数据通信(交换机、路由器)是“简化的”,并定义一个对外开放的关于流表FLowTable的公用API(应用程序接口),同时采用控制器来控制整个网络。

这里写图片描述

SDN的价值

网络业务快速创新:

SDN的可编程性和开放性,使得我们可以快速开发新的网络业务和加速业务创新。如果希望在网络上部署新业务,可以通过针对SDN软件的修改实现网络快速编程,业务快速上线。

这里写图片描述

  • SDN网络关键的地方是在网络架构中增加了一个SDN控制器,把原来的分布式控制平面集中到一个SDN控制器上,由这个集中的控制器来实现网络集中控制。SDN网络架构具备3个基本特征:转控分离、集中控制、开放接口。
  • SDN通过在网络中增加一个集中的SDN控制器,可以简化网络和快速进行业务创新。但是其本质的技术原理是**通过SDN控制器的网络软件化过程来提升网络可编程能力。**通信平面仍包含管理平面、控制平面和数据平面,SDN网络架构只是把系统的三个平面的功能进行了重新分配,传统网络控制平面是分布式的,分布在每个转发设备上,而SDN网络架构则是把分布式控制平面集中到一个SDN控制器内,实现集中控制,而管理平面和数据平面并没有太多什么变化。
  • SDN网络具备快速网络创新能力,如果这个新业务有价值则保留,没有价值可以快速下线。不像传统网络那样,一个新业务上线需要经过需求提出、讨论和定义开发商开发标准协议,然后在网络上升级所有的网络设备,经过数年才能完成一个新业务。SDN使得新业务的上线速度从几年提升到几个月或者更快。

简化网络:

SDN的网络架构简化了网络,消除了很多IETF的协议。协议的去除,意味着学习成本的下降,运行维护成本下降,业务部署快速提升。这个价值主要得益于SDN网络架构下的网络集中控制和转控分离。

因为SDN网络架构下的网络集中控制,所以被SDN控制器所控制的网络内部很多协议基本就不需要了,比如RSVP协议、LDP协议、MBGP协议、PIM组播协议等等。原因是网络内部的路径计算和建立全部在控制器完成,控制器计算出流表,直接下发给转发器就可以了,并不需要协议。未来大量传统的东西向协议会消失,而南北向控制协议比如Openflow协议则会不断的演进来满足SDN网络架构需求。

网络设备白牌化:

基于SDN架构,如果标准化了控制器和转发器之间的接口,比如OpenFlow协议逐渐成熟,那么网络设备的白牌化将成为可能,比如专门的OpenFlow转发芯片供应商,控制器厂商等,这也正是所谓的系统从垂直集成开发走向水平集成。

这里写图片描述

垂直集成是一个厂家供应从软件到硬件到服务。水平集成则是把系统水平分工,每个厂家都完成产品的一个部件,有的集成商把他们集成起来销售。水平分工有利于系统各个部分的独立演进和更新,快速进化,促进竞争,促进各个部件的采购价格的下降。

业务自动化:

SDN网络架构下,由于整个网络归属控制器控制,那么网络业务网自动化就是理所当然的,不需要另外的系统进行配置分解。在SDN网络架构下,SDN控制器可以自己完成网络业务部署,提供各种网络服务,比如L2VPN、L3VPN等,屏蔽网络内部细节,提供网络业务自动化能力。

网络路径流量优化:

通常传统网络的路径选择依据是通过路由协议计算出的“最优”路径,但结果可能会导致“最优”路径上流量拥塞,其他非“最优”路径空闲。当采用SDN网络架构时,SDN控制器可以根据网络流量状态智能调整网络流量路径,提升网络利用率。

传统网络向SDN的演进方式

仅交换网SDN化:

这里写图片描述

  • 交换网SDN化是指把域内交换网的路径计算功能进行集中控制。
  • 控制器:仅负责域内路径计算和控制。

仅业务SDN化:

这里写图片描述

  • 此方案仅仅将自治域AS所接入的业务由控制器接管,域内路径计算和控制依然由转发器负责。
  • 统一部署增值业务VAS资源池,通过SDN COntroller业务链解决方案,集中控制管理,同时实现VAS资源共享。
  • 提升增值业务快速创新能力,提供新的创收来源。

参考资料:华为HedEx文档



http://chatgpt.dhexx.cn/article/mh4wfmZs.shtml

相关文章

【网络】初识SDN架构

什么是SDN 1.定义 (1)ONRC: SDN 是一种逻辑集中控制的新网络架构,其关键属性包括:数据平面和控制平面分离;控制平面和数据平面之间有统一的开放接口OpenFlow。 > 强调数控分离和集中控制等表现形式 (2…

(一)SDN基本架构

1.SDN架构 SDN是一种数据控制分离、软件可编程的新型网络体系架构,其基本架构如 下图1所示。SDN采用了集中式的控制平面和分布式的转发平面,两个平面相互分离,控制平面利用控制——转发通信接口对转发平面上的网络设备进行集中式控制。 图1…

SDN介绍(什么是SDN)

SDN介绍 一. 什么是SDN?二.SDN解决什么问题?三.传统网络概念和结构体系传统网络数据控制与转发:传统网络架构: 四.SDN概述SDN(Software Defined Network)软件定义网络。…

SDN基本架构

SDN采用了如图1-7所示的基本架构,集中式的控制平面和分布式的转发平面相互分离,控制平面利用控制器、转发通信接口对转发平面上的网络设备进行集中式的管理。 图1-1 SDN架构​​​​ ① 基础设施层(Infrastructure Layer)&#x…

SDN(软件定义网络)详解

目录 一 传统网络体系结构1 传统网络是分布式控制的架构2 传统网络结构体系3 传统网络局限性 二 SDN概述1 SDN的三个主要特征2 SDN控制器既不是网管,也不是规划工具 三 SDN网络体系架构1 SDN网络体系架构的三层模型:2 SDN架构下的接口 三 SDN基本工作原理…

初步剖析SDN架构

第一章 概述 1.1 SDN概念 SDN(Software Defined Network)——软件定义网络。为了摆脱传统网络对于网络硬件的依赖,方便对网络进行调整、改变和升级,SDN应运而生。 SDN是一种将网络控制功能与转发功能分离、实现控制可编程的新兴网络架构。这种架构将从…

SDN系统结构

SDN网络的整体结构分为三层,即应用平面、控制平面和转发平面。 SDN控制器是整个结构的核心。 SDN控制器向上与应用平面通信的接口称为北向接口,也称为NBI接口。 interface)。SDN控制器向下与数据平面通信的接口,也称为CDPI接口。 互联网&…

SDN概述及架构

原文链接:https://blog.csdn.net/weixin_43265596/article/details/89787232 一、SDN概述 1.1 SDN概念 SDN是一种将网络控制功能与转发功能分离、实现控制可编程的新兴网络架构。这种架构将从控制层从网络设备转移到外部计算设备,使得底层的基础设施对…

SDN介绍

SDN介绍 什么是SDN? 二.SDN解决什么问题?三.传统网络概念和结构体系传统网络数据控制与转发:传统网络架构: 四.SDN概述SDN(Software Defined Netrork)软件定义网络。SDN的分类 …

机器学习算法面试题

机器学习算法题 线性回归和逻辑回归的异同? SVM和LR(逻辑回归)有什么不同? 线性回归的输入变量和输出变量都是连续的,逻辑回归的输入变量是连续的,输出变量是类别(或者说是离散的、枚举的)。 SVM和LR一般都…

机器学习笔试面试题目 一

笔试题: 1、下列时间序列模型中,哪一个模型可以较好地拟合波动性的分析和预测。 A AR模型 B MA模型 C ARMA模型 D GARCH模型 正确答案是:D 解析: AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前…

深度学习(机器学习)算法面试(一)

1.请简要介绍下SVM。 SVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。 扩展: 支持向量机学习方法包括构建由简至繁的模…

深度学习、机器学习面试问题总结

目录 1. 准确率2. 精确率、召回率和F13. BN4. GBDT梯度提升决策树5. XGboost6. 了解什么正则化方法?7. 什么是激活函数,为什么要用激活函数?8. 激活函数有哪些?8. 隐藏层为什么用relu不用sigmoid?9. 激活函数有什么性质…

[机器学习] 面试常见问题+解析汇总

机器学习面试题的分类 The first really has to do with the algorithms and theory behind machine learning. You’ll have to show an understanding of how algorithms compare with one another and how to measure their efficacy and accuracy in the right way.The se…

面试官如何判断面试者的机器学习水平?

我在阿里四年,在搜狗十年,在2010年开始从事机器学习算法工作,目前在淘系负责端智能和3D人工智能。应该是国内第一批大规模机器学习问题的参与者,和广告、推荐、CV、CG等不同方向的同学合作过,也面试过近千人了。下面我…

机器学习笔试面试题目 二

1、使用k1的knn算法, 下图二类分类问题, “” 和 “o” 分别代表两个类, 那么, 用仅拿出一个测试样本的交叉验证方法, 交叉验证的错误率是多少:A 0% B 100% C 0%到100 D 以上都不是 正确答案是: B 解析: knn算法就是, 在样本周围看k个…

【机器学习面试总结】————(一)

​ 🤵‍♂️ 个人主页:Lingxw_w的个人主页 ✍🏻作者简介:计算机科学与技术研究生在读 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 &#x1…

【转载】一篇搞定机器学习面试

序言 本文尽可能的不涉及到繁杂的数学公式,把面试中常问的模型核心点,用比较通俗易懂但又不是专业性的语言进行描述。希望可以帮助大家在找工作时提纲挈领的复习最核心的内容,或是在准备的过程中抓住每个模型的重点。 实战环境说明&#xf…

【机器学习面试总结】————(二)

🤵‍♂️ 个人主页:Lingxw_w的个人主页 ✍🏻作者简介:计算机科学与技术研究生在读 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 &#x1f4a…

机器学习面试题面经

机器学习面试题面经 深度学习卷积神经网络面试题面经 PyTorch面试题面经 Python面试题面经 Linux,Git面试题面经 HR面试题面经 KNN:特点是完全跟着数据走,没有数学模型可言。适用:需要一个容易解释的模型的时候,比…