DJ4-7 SDN、OpenFlow

news/2024/11/29 13:42:33/

目录

一、SDN

1、SDN 的引入

2、SDN 体系结构的特征

3、SDN 控制器

4、SDN 通用转发

二、OpenFlow


一、SDN

1、SDN 的引入

软件定义网络 (Software Defined Network)

SDN 源自美国斯坦福大学 Clean Slate 研究组提出的一种新型网络创新架构,可通过软件编程的形式定义和控制网络,具有控制平面和转发平面分离及开放性可编程的特点。

SDN 的核心理念是,希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署,简化网络运维。

SDN 并不是一个具体的技术,它是一种网络设计理念,规划了网络的各个组成部分(软件、硬件、转发平面和控制平面)以及相互之间的互动关系。

2、SDN 体系结构的特征

① 基于流的转发

SDN 中的分组交换机的分组转发工作,能够基于运输层、网络层或链路层首部中任意数量的首部字段值进行。

分组转发规则被精确规定在交换机的流表中,SDN 控制平面的工作是计算、管理和安装所有网络交换机中的流表项。

② 数据平面与控制平面分离

  • 数据平面由网络交换机组成,该设备在它们的流表中执行匹配加操作
  • 控制平面由一个 SDN 控制器和若干网络控制应用程序组成

网络控制应用程序用于决定和管理交换机的流表。

③ 网络控制功能:位于数据平面交换机外部

控制平面由一个 SDN 控制器和若干网络控制应用程序组成。

SDN 控制器:

  • 维护准确的网络状态信息
  • 向网络控制应用程序提供这些信息
  • 向网络控制应用程序提供一些方法

④ 可编程的网络

通过运行在控制平面中的网络控制应用程序,该网络是可编程的。这些应用程序使用了由 SDN 控制器提供的 API 来定义和控制网络设备中的数据平面。

 

3、SDN 控制器

① 接口层:向网络控制应用提供抽象 API

② 状态管理层:负责维护网络状态一致视图

  • 维护链路、交换机、服务等的状态
  • 通过使用一个分布式数据库

③ 通信层: 在 SDN 控制器和受控交换设备间通信

4、SDN 通用转发

SDN 的核心思想是建立一个通用转发体系

  • 每个交换设备包含一个流表 (flow table)
  • 流表由一个逻辑上中心化的远程控制器来计算和分发

二、OpenFlow

起源于斯坦福大学的 Clean Slate 项目,目前得到广泛使用和认可。

是 SDN 控制器与数据平面之间的通信接口标准:

  • 允许直接访问和操作网络设备的数据平面
  • 分离控制平面和数据平面,二者间使用标准的协议通信
  • 数据平面采用基于流的方式进行转发

OpenFlow 网络的组成:

  • OpenFlow 网络设备(OpenFlow Switch)
  • OpenFlow 控制器(OpenFlow Controller)
  • OpenFlow 通道(OpenFlow Channel)


http://www.ppmy.cn/news/530102.html

相关文章

linux下查看so中源码文件路径

查看so文件中的源文件路径 so文件没有被strip,即存在有调试信息 工具 利用elf读取调试信息中的源文件路径信息 事例(android平台arm架构) arm-linux-androideabi-readelf --debug-dumpdecodedline libXXX.so | grep "^/" | sor…

查看.so文件信息相关命令

1.nm -D libxxx.so 打印出符号信息。 我一般这样用:nm -D libxxx.so |grep T 2.ldd libxxx.so 查看依赖关系 3.readelf -a libxxxx.so 用来读取elf信息 我一般这样用:readelf libxxx.so |grep NEEDED 这样也可以读取依赖关系 4.objdump -d libxxxx.so 5.…

查看源文件

在安装UltraEdit后,查看网页源文件会用UltraEdit打开。通过修改:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name的值可以改回用记事本编辑。 原文时间:2005.06.30原文地址:http://mnk…

linux如何查看可执行文件 .so文件的编译器 版本信息

命令: strings xxx.so |grep GLIB strings xxx.so |grep GCC

【跑实验04】CLIP安装报错,setup.py如何安装,图像编码器(image_encoder)的使用(含源代码)

文章目录 一、如何解决CLIP安装报错二、setup.py如何安装?三、图像编码器(image_encoder)的使用 一、如何解决CLIP安装报错 我第一次尝试安装CLIP,采用的方法是pip的方法: pip install clip但是安装后,无法使用: 明确…

c# 从零到精通 数据库 定义LINQ查询表达式,从数组中查找长度小于7的所有项

c# 从零到精通 数据库 定义LINQ查询表达式,从数组中查找长度小于7的所有项 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LINQQuery { class Program { static void Main(string[] args) { //定义一个字符串…