第32章-SDN概述

1. SDN的由来

2. SDN的基本概念


1. SDN的由来

        计算机产业的发展:

        从 1946 年第一代电子管计算机面世到如今,计算机的形态也发生了翻天覆地的变化。从大型机到个人 PC,计算机在不断地推陈出新,且创新发展的势头越加猛烈。究其原因,我们发现计算机产业从大型机的软硬件一体化逐渐走向了标准、开放的一套软硬件架构:

        标准的硬件架构:例如大多数计算机或服务器采用的 X86 架构来设计硬件,并满足X86 指令集的要求,这使得服务器在硬件层面实现了标准化。

        开放的操作系统:例如操作系统部署在 X86 等通用硬件上,屏蔽了底层硬件的复杂性从而使得用户无需关心底层硬件的实现。同时操作系统提供了开放的接口,使得用户按需快速定制应用,满足千变万化的市场需求

        传统的网络架构:

        从一台网络设备的组成来说,同样可以类似于 X86 服务器那样分为硬件、操作系统和应用,不幸的是,网络产业仍旧处于软硬件一体化的时代,我们从网络设备厂商购买到的网络设备仍旧是高度定制化的不可分割的单一功能产品。

        传统网络被设计成了“分布控制,协同工作”的架构,在这个被我们所熟知的架构中,网络设备是独立的,他们之间通过链路连接实现互联互通。对于一台网络设备而言,决定如何转发的大脑与执行转发动作的身体是合二为一的,每台网络设备都有一个自己的大脑,也就是说每台网终设备存在独立的转发平台、控制平面和管理平面。

        转发平面提供高速无阻塞数据通道,实现各个业务模块之间的业务交换功能。交换机的基本任务是处理和转发交换机各不同端口上各种类型的数据。

        控制平面完成系统的协议处理、路由运算、转发控制、业务调度、流量统计、系统安全等功能,提供了转发平面数据转发前所必须的各种网络信息和转发查询表项。

        管理平面完成系统的运行状态监控、环境监控、日志和告警信息处理、系统加载和升级等功能,网络管理人员可以使用 WEB 或远程登录等方式来进入管理平台来管理设备,并支持、理解和执行管理人员对于网络设备各种网络协议的配置命令。

        这样的架构对早期网络发展来说有个无法拒绝的优势:当一台网络设备故障后,其他的网络设备仍旧可以按照自己的大脑(控制平面) 指挥,来执行转发报文的动作。但是当网络发展到一定规模后,网络管理员们发现需要管理的设备实在是太多了,设备互联互通也变得愈加复杂,网络变得难以驾驭。

        传统网络面临的问题:

        随着网络进入万物互联时代,网络规模不断扩大,网络设备需要具备的功能越来越多,本身也愈加复杂,传统网络的弊端逐渐暴露出来。

        运维管理难:传统网络采用的是分布式控制平面,控制协议数量多,标准数量数以千计,如此庞大的控制协议体系,使得网络的管理运维变得复杂,对维护人员的技能要求高。同时,设备厂商在实现这些标准协议时,都进行了一些特定的私有扩展,使得设备的操作维护变得更加复杂,进一步加剧了网终管理员操作维护网终的难度,同时大幅增加了网络的运维成本。这种管理模式随着网终规模的扩大和新业务的引入,很难实现对业务的高效管理和对故障的快速排除。

        业务部署慢:新业务部署或业务调整涉及设备配置修改,需要逐台设备进行配置,效率低;当前网络在部署一个全局业务策略时,需要逐一配置每台设备。随着网络规模的扩大和新业务的引入,管理运维愈加复杂。并且随着云计算业务的发展和大数据服务的兴起,传统网络技术及架构无法提供新业务所需的动态配置、按需调用、自动负载均衡等需求

        系统复杂:IP 技术使用“打补丁”式的演进策略,随着业务发展对网络设备功能要求越来越多,网终协议也越来越多,代码越来越多,复杂度显著增加。这也造成网终行业门槛越来越高,由少数几家网络巨头把持,产业生态不健康。

        创新周期长:分布式网络控制机制使得任何一个新技术的引入都需要建立相关的标准和协议,实现设备间的协同,从相关概念提出,协议标准化,开发软件,优化硬件到商用部署至少需要 3 到 5 年,严重制约网络的演进发展

        SDN思想的诞生:

        2006 年,斯坦福大学的学生提出了将网络设备的转发与控制分离。所有设备的控制平面集中到一个独立的控制器上,由控制器使用标准接口指导设备进行数据转发。这样不仅极大的简化了网络,更为网络的设计和管理提供了更多的可能性。受此思想的启发,业界进一步提出了软件定义网络 (Software Defined Network,SDN) 的概念。控制器作为新型网络的集中式管理平台,将网络中的所有被管资源抽象化,同时提供北向的标准可编程接口。用户可以基于这人平台开发各种应用软件,并进一步设计个性化的底层的逻辑拓扑,灵活满足业务对于网络资源的各种要求。

        各个厂商的网络设备都有着不同的配置方式,要想通过同一个控制器软件来统一控制不同厂家的网络设备,采用传统的网管方式是非常困难的。SDN 光有一个集中控制的指导思想还不够,还需要选择一种标准的通信接口,用于控制器指导设备进行数据转发。于是业界定义了一种全新的控制器与网络设备之间的通用交互标准,使得控制器能够通过下发简单的指令指导异构的网络设备识别流量并作出对应的转发动作。在最初发表转发和控制平面分离思想的同时,OpenFlow 协议作为控制器与网络设备之间交互的标准也被提出。

2. SDN的基本概念

        OpenFlow 对于 SDN 来说就好比是 x86 的指令集对于计算机系统,OpenFlow 定义了 SDN控制转发的一种实现方式,即定义了控制平面与数据平面之间的南向接口。

        OpenFlow 网络由 OpenFlow交换机(OpenFlow Switch)和控制器(OpenFlow Controller)组成,两者之间通过 OpenFlow 通道 (OpenFlow Channel) 连接。OpenFlow 网络设备作为转发平面承载报文转发,控制器作为控制平面,通过 OpenFlow 通道跟转发平面建立连接。控制器通过 OpenFlow 通道下发流表 (Flow Table) 给转发面,转发平面依据 OpenFlow 流表做出转发行为。

        转发平面一般由多台 OpenFlow 交换机组成,这些 OpenFlow 交换机在物理上是分散的每台 OpenFlow 交换机都会通过 OpenFlow 通道跟控制器建立连接,按照控制器统筹规划后下发的 OpenFlow 流表转发。这样整人网络的控制能力得以收束在控制器手中,从而实现网络的集中控制和管理。

        流表:

        流表是 OpenFlow 交换机的基本组成单元,流表包涵多个表项,每个表项就是一个转发规则。OpenFlow 控制器通过设置流表项看来实现对 OpenFlow 交换机的控制,进入交换机的每个分组通过查询流表项来决定需要执行的操作与转发的端口。每个流表项由匹配字段、优先级、计数器、指令、计时器、Cookie、标识这 7 部分组成。其中对于数据转发比较关键的 2 个字段是匹配字段和指令。

        匹配字段用于区分不同类型的数据分组,以便对不同的数据流执行不同的指令。匹配字段的内容除了设备端口,MAC 层,网络层及传输层信息外,还包括 VLANID,VLAN优先级等多项内容,相比传统网络主要依赖 MAC 地址表和 IP 路由表进行转发,OpenFlow 交换机可以利用流表项丰富的匹配字段,在进行数据转发时可以使用更主富的策略和规则。

        指令是用来标识匹配成功之后需要执行的动作命令,如输出,即将数据转发到特定端!。

        优先级定义了流表项之间的匹配顺序,优先级高的先匹配

        计数器统计有多少个报文和字节匹配到该流表项。

        计时器用来记录流表项的超时时间,包括了 ldle Time 和 Hard Time。

        Cookie: Controller 下发的流表项的标识。

        标识字段用来改变流表项的管理方式。

        传统网络与SDN网络转发方式的对比:

        在传统网络中,网络设备通过控制平面之间的交互来学习、生成控制信息,包括路由表、MAC 表等,这些控制信息会通过网络操作系统下发至转发平面的二、三层转发表项,数据报文依靠硬件的二、三层转发表项进行转发。路由器或交换机的控制平面只能从自身节点在拓扑中的位置出发,看到一个自治区域网络拓扑中一个位置的视图。然后,从已建立的路由表中找出从这个节点到达目的网络与目的主机的最佳输出路径,再由数据平面将分组转发出去。

        在 SDN 网络中,网络设备之间不再进行控制信息的交互,统一由 SDN 控制器下发控制信息至网络设备。控制器可以从全网络视角,根据动态的流量、延时、服务质量与安全状态,决定各个节点的路由和分组转发策略,然后将控制指令即流表推送到路由器与交换机,动态调整数据转发路径

        SDN的定义及特点:

        Software Defined Network) 软件定义网络并非一个具体的技术,而是一种网络的SDN设计理念。这种设计理念将网络规划成了各个组成部分(包括软件、硬件、转发平面和控制平面) 以及各个部分之间的关联互动关系,其特征属性包括下面几点:

        控制平面与转发平面分离:传统网络的控制能力分散在每一台网络设备中。通过协议标准抽象,传统网络设备分散的控制能力被抽离集中,形成控制器,而网络协议和网络硬件等设备能力被标准化,通过标准的协议接口与控制器通信。

        开放的可编程接口:SDN 集中控制器对网络设备而言使用标准的协议接口对接,而对上层应用而言使用 RESTful 风格的 API(Application Programming Interface) 接口对接。这些 RESTfulAPI 使得 SDN 控制器的功能被开放出来,第三方可以通过调用AP实现网终的定义和编排。

        集中化的网络控制:通过控制层面集中化,SDN 控制器将原本分散的各个网络设备的控制能力集中起来,从而能够在全网范围内对网络进行集中控制管理。

        网络业务的自动化应用程序控制: 通过将网络设备的控制能力集中,以及对上层云平台等应用的开放接口,SDN 控制器能够让网络具备业务的自动化部署和快速上线的能力。

        SDN网络架构:

        SDN 体系架构定义了三层结构及相应接口:

        最底层的是转发层,也是仍旧由硬件网络设备承担的层面,该层面主要负责底层数据报文的转发。在 SDN 网络的转发平面中,网络设备之间不再进行控制信息的交互,所有的控制信息都由 SDN 控制器计算生成,网络设备本身不再需要复杂的计算能力,硬件资源得以解放,网络设备得以更专注于转发能力的提升。

        第二层是控制层,也就是把传统硬件网络设备的控制能力抽离出来形成的一层,负责协议报文的处理、全网转发路径的计算和下发,同时控制层将底层网络资源抽象成可操作的信息模型,提供给应用层,能够根据应用程序的网络需求发出操作指令。控制层是整个架构的核心,主要由 SDN 控制器担当,控制器与转发层之间通过标准的南向接口协议对接。

        最上层是应用层,又叫做编排层,为业务应用或更复杂的需求提供统一入口。在云计算数据中心中,应用层一般由云平台担任,云平台为客户提供计算、存储和网络资源的统一管理和服务,并可按租户的需求进行一定程度的业务编排。应用层主要通过 SDN 控制器的北向接口与 SDN 网络进行对接,由 SDN 控制器接受应用层的网络资源申请,通过南向接口转换成网络设备可以理解的语言,在底层网络中实现租户的网络需求。

        NBI北向接口: 北向接口为控制器对接协同应用层的接口,SDN 控制器能够提供标准的北向Java API或 RestAPI接口供应用程序调用,用户能够以自身业务为驱动,开发出最适合自己的云平台或者 APP

        SBI 南向接口:南向接口为控制器与设备交互的协议,包括 NETCONF、SNMP、OpenFlow、OVSDB 等。

        SDN网络价值:

        SDN 的本质诉求是让网络更加开放、灵活和简单。它的实现方式是为网络构建一个集中的大脑,通过全局视图集中控制,实现或业务快速部署、或流量调优、或网络业务开放等目标。相比传统网络,SDN 网络的价值主要体现在以下几点:

        快速上线: 通过集中化的控制平面,SDN 网络得以实现自动化,从而业务快速上线成0为可能。在 SDN 网络中,只需要应用层发起网络资源申请,SDN 控制器就能自行进行业务上线的评估,并自动完成底层网络的部署和网络资源的分配

        动态优化: SDN 控制器能根据整网的流量情况对网络转发路径进行灵活调整和调度在链路质量发生变化时进行基于应用的路径优选,同时可基于应用优先级对全网流量转发路径和服务质量进行优化。

        统一管理:当控制平面集中化后,网络的管理也实现了集中化,特别是当网络支持搭载大数据智能引擎后,能做到应用故障诊断和网络故障自愈。降低成本:屏蔽技术细节,降低网络复杂度。

        SDN网络演进:

        网络产业正处于几十年来发展变化最剧烈的时刻,从 2008 年 OpenFlow 提出至今,SDN的含义也在发展过程中发生了变化。当初 SDN 几乎等同于 OpenFlow,人们对 SDN 的认识局限于转控分离、集中控制等概念,而现在抽象和可编程成为 SDN 的核心。从未来网络的演进道路上来看,SDN 网络具有无可比拟的优势,而这一切优势都是 SDN 要求的开放的可编程接带来的。

        首先,从目前的发展趋势来看,人们对网络设备的需求更加向统一、标准靠拢,人们希望网络设备像计算机一样拥有开放、标准的接口,实现不同厂商网络设备的对接。而 SDN 控制器天然支持基于 RFC 的标准南向接口,这为 SDN 控制器管理不同广商设备提供了无限的可能性;同时,SDN 控制器对上层应用提供北向 API接口,对上层应用而言,通过北向 API 接口的调用和编程可以实现对网终的自定义编排。

        其次,未来网络可能会通过标准的南向接口彻底实现网络设备的白盒化,不同厂商的白盒设备实现少数几个南向的标准协议,并由 SDN 控制器统一管理和调度。SDN 的分层解耦以及接口的开放和标准化,打破了原有的供需关系,为新兴厂商进入相对封闭的通信设备市场提供了更多的机会,促进了网络设备的创新。SDN 开放的北向接口为上层业务应用更高效的使用网络资源奠定了基础,激发了业务创新活力,有助于建立更加丰富的产业生态。

        另外,从网络创新的角度来说,SDN 通过开放的可编程接口构建了从上层应用到网络设备硬件的开发架构,北向 API 接口提供的业务编排能力能更好的适用于业务新需求的快速上线,司时全网架构的开放和标准大大缩短了网络创新功能的实现周期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/702188.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信号处理中的相位

相位 用来描述波动或振动状态。 在信号处理和通信领域,相位通常指的是信号相对于某一参考信号的延迟。 在周期性信号中,相位通常以角度(弧度或度)来表示,表示信号的周期性变化相对于参考信号的位置。 在非周期性信号中…

教你一招,告警恢复时如何拿到恢复时的值?

Prometheus 生态的原生做法,由于阈值是放在 promql 中的,恢复时的消息中难以拿到恢复时的值,夜莺 v7.0.0.beta10 版本开始,提供了一种较为简单的内置方式,解决这个问题。下面我们就来看一下如何实现这个能力。 升级方…

医疗设备维修培训服务的安全性和可靠性

当前,医疗设备维修服务行业市场已经形成了一个庞大的产业链,涵盖了设备检测、故障诊断、维修维护等多个环节。随着医疗设备的日益复杂和高端,对专业维修服务的需求也在不断增加。因此,市场上涌现出了一批专业的医疗设备维修服务提…

Anaconda3 下载安装卸载

1、下载 官网链接:Download Now | Anaconda Step1:进入官网 Anaconda | The Operating System for AI Step2:进入下载页面,选择要Anaconda软件安装包 2、安装 Step1: 点击 Anaconda3-2024.02-1-Windows-x86_64.exe 安装包进行安…

Windows 11中查找和删除旧文件的几种方法,总有一种适合你

序言 如果你的电脑存储空间不足,最好的办法就是找到并删除旧的、不需要的文件。Windows 11提供了多种方法来查找这些占用存储空间的项目,我们将在本指南中向你展示这些方法以及如何使用它们。 使用存储感知 存储感知是Windows 11的内置功能,可帮助自动清理旧文件。你可以…

适合营销的叙事可视化

背景 数据可视化与数据故事化的差异和相似点,以及它们如何协同工作,将你的数据转化为清晰、简洁、可操作的信息,以便您的组织使用。 什么是数据可视化? 数据可视化通过图像传达信息——这是你所收集数据的视觉表示。通过提供原…

(六)React组件通信

理解组件通信 概念:组件通信就是组件之间的数据传递,根据组件嵌套关系不同,有不同的通信方式。 A - B 父子通信B - C 兄弟通信A - E 跨层通信 1. 父传子 – 基础实现 实现步骤: 父组件传递数据 - 在子组件标签上绑定属性子组…

eNSP学习——配置高级的访问控制列表

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建OSPF网络 3、配置Telnet 4、配置高级ACL控制访问 需要eNSP各种配置命令的点击链接自取:华为eNSP各种设备配置命令大全PDF版_ensp配置命令大全资源-…

使用Stream实现Web应用,使用YOLOv8模型对图像进行目标检测为例。

Streamlit是一个开源的Python框架,专门设计用于快速构建和共享数据应用程序。它使数据科学家和机器学习工程师能够通过编写简单的Python脚本,轻松创建美观、功能强大的Web应用程序,而无需具备前端开发的经验。 其他框架或web应用可以看下面两…

【全开源】Java无人共享棋牌室茶室台球室系统JAVA版本支持微信小程序+微信公众号

无人共享棋牌室系统——棋牌娱乐新体验 🎲引言 随着科技的不断发展,传统棋牌室正逐渐迈向智能化、无人化。今天,我要为大家介绍的就是这款引领潮流的“无人共享棋牌室系统”。它不仅为棋牌爱好者提供了全新的娱乐体验,更在便捷性…

SpringCloudNetflix组件整合

SpringCloudNetflix组件整合 Eureka注册中心 Eureka是什么 Eureka是netflix的一个子模块,也是核心模块之一,Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是…

复制网页文字和图片到Word中-Word插件-大珩助手

问题整理: 为什么从浏览器的网页上复制文字和图片后,在Word中粘贴时图片无法显示?有没有插件可以将网页中的文字和图片复制到Office Word 中? Word大珩助手是一款功能丰富的Office Word插件,旨在提高用户在处理文档时…

5分钟安装Kubernetes:+带你轻松安装istio服务网格指南

上次我跟大家简单介绍了一下Kubernetes的各个组件及其含义,本期本来计划带领大家一起学习一些常用命令,但我认为这种方式可能无法达到学习的效果。有可能你们会直接忘记,甚至可能没有兴趣去学。我也理解,心想这跟我有什么关系&…

进口电动对夹式硬密封蝶阀的特点-美国品牌

进口电动对夹式硬密封蝶阀的特点可以归纳如下: 一、结构特点 对夹式设计:采用对夹式连接,无需法兰和螺栓,安装简便快捷,降低了安装成本和空间占用。三偏心结构:阀座与蝶板之间采用三偏心设计,…

YOLOv8常见错误汇总

1.训练过程中loss出现Nan值. 可以尝试关闭AMP混合精度训练,如何关闭amp呢?找到如下文件ultralytics/cfg/default.yaml,其中有一个参数是 amp: False # (bool) Automatic Mixed Precision (AMP) training, choices[True, False], True runs…

互联网金融新潮流下的拆分盘投资解析

随着互联网金融的浪潮席卷全球,投资者们对于各种新型投资模式的探索也愈发深入。其中,拆分盘作为一种独特且备受瞩目的投资方式,引发了市场的广泛关注。本文将对拆分盘的投资逻辑进行深入剖析,并结合实际案例,探讨其潜…

计算机网络(4) 最长前缀匹配(路由转发表)

一.路由转发 网络数据包IP段只包含源地址与目的地址,经过数据链路层包装与物理层信号形式转换,最终经由不同的链路节点到达目的地址。这个过程是一步一步(hop by hop)进行的,路过一个路由节点则称为一跳。每个路由节点…

借助ServiceDesk Plus,更接近ISO 27001变更管理标准

如果实施不当,变更支持可能会中断业务流程并导致停机。许多组织尚未建立不同的阶段来记录整个变更过程。这通常会导致 IT 环境,在这种环境中,实施变更的成功依赖于单个主题专家。这并不高效,并且对 IT 团队来说可能难以管理和压力…

怎么提高音频的播放速度?提高音频播放速度的四种方法

怎么提高音频的播放速度?提高音频的播放速度是在处理音频文件时经常需要面对的问题。音频播放速度的调整可以带来多种应用场景和效果,例如加快语音记录的回放速度以节省时间、提高听力理解和语速训练的效果等。然而,对于不同的音频播放工具和…

SAP 生产订单工序创建BAPI外协加工字段增强CO_SE_PRODORD_OPR_CREATE

需求: 使用BAPI对工单进行新增工序时,需要同时维护外协加工页签上的部分字段,但是该BAPI不包含其中的一些字段,故对此BAPI进行增强以实现该效果。 实现方式: 1.老规矩,COPY标准BAPI出来,再对其…