抛弃传统网络?SDN协议、标准、接口对比分析

news2024/11/17 19:24:56

随着网络规模的不断扩大和复杂性的增加,传统的网络架构已经难以满足日益增长的网络需求。SDN(Software Defined Networking)技术的出现,为网络的管理和控制带来了革命性的变化。SDN的核心思想是将网络的控制和管理从传统的分散式硬件设备中剥离出来,实现了集中化的网络控制。 

ffa26609410749c201788f3dc4d6e550.jpeg

1、SDN架构

SDN控制器:SDN控制器是整个SDN架构的核心,它负责管理和控制整个网络。SDN控制器通过与网络设备进行通信,实现对网络设备的集中化配置、监控和管理。SDN控制器通常是基于开源软件实现,比如OpenDaylight和ONOS等。

网络设备:网络设备是SDN架构中的重要组成部分,它们负责数据平面的处理和转发。网络设备可以是传统的路由器、交换机等硬件设备,也可以是软件定义的网络设备,如Open vSwitch等。

SDN应用程序:SDN应用程序是基于SDN控制器的应用程序,它们负责实现各种网络服务,比如负载均衡、流量控制、安全管理等。SDN应用程序可以是开源软件,也可以是自己开发的定制化应用程序。

SDN北向接口:SDN北向接口是SDN控制器提供给上层应用程序的API接口。通过SDN北向接口,上层应用程序可以实现对网络的集中化控制和管理。SDN北向接口通常是基于REST或XML-RPC等协议实现的。

SDN南向接口:SDN南向接口是SDN控制器与网络设备之间的API接口。通过SDN南向接口,SDN控制器可以实现对网络设备的集中化配置、监控和管理。SDN南向接口通常是基于OpenFlow或NETCONF等协议实现的。

f30ccc4212362577d78f02e3dc4dc3a0.jpeg


2、SDN的工作原理

控制器与网络设备通信:SDN控制器与网络设备之间通过SDN南向接口进行通信。控制器向网络设备发送控制命令,如配置、更新和删除流表项等。

控制器获取网络拓扑信息:控制器通过与网络设备交互,获取网络拓扑信息,包括连接关系、设备属性和链路状态等。这些信息将用于制定网络的全局视图。

制定网络策略:基于获取的网络拓扑信息,控制器制定网络策略,如流量调度、路径选择和服务质量保障等。控制器根据网络策略生成相应的流表项,并下发到网络设备中。

数据平面流量转发:网络设备根据收到的流表项进行数据包的转发。数据包进入网络设备后,根据流表项的匹配规则进行流量转发或处理,从而实现控制器指定的网络策略。

监控和反馈:网络设备将与数据转发相关的信息反馈给控制器,包括流量统计、链路状态变化和异常报告等。控制器根据这些信息进行网络监控和故障管理,同时根据需要更新和调整网络策略。


39873c9482ac50414cc93e4eed6e1e14.jpeg


3、为什么需要Yang

如何建立网络设备的数据模型,以及如何描述网络设备的各种协议和服务。为了解决这个问题,IETF(Internet Engineering Task Force)的NETMOD(Network Modeling Working Group)组织开发了一种建模语言,名为YANG(Yet Another Next Generation)。它提供了一种结构化的方式来描述网络设备的数据模型。通过定义模块、类型、数据节点和容器等元素,可以构建出复杂的网络数据模型。YANG还定义了一系列的数据类型和函数,用于描述网络设备中的各种数据类型和计算。这些数据类型和函数可以用于数据模型的验证和约束,确保网络设备中的数据格式正确和一致。

在SDN中,YANG被广泛用于描述网络控制器和网络设备之间的通信协议,比如OpenFlow协议和NETCONF协议。YANG定义了用于描述这些协议的数据模型,以及与网络设备交互的API接口。通过使用YANG,网络控制器可以对网络设备进行配置、监控和管理。


4、YANG的工作原理

定义数据模型:使用YANG语言定义网络设备的数据模型,包括设备的属性、配置项、状态信息和操作等。数据模型描述了网络设备的结构和行为。

构建数据树:基于定义的数据模型,构建出网络设备的数据树。数据树是一种层次结构,用于组织和表示网络设备中的数据。

数据交互:通过YANG定义的数据模型,实现网络设备与SDN控制器之间的数据交互。SDN控制器可以通过YANG定义的数据模型向网络设备发送配置命令、获取设备状态和执行操作等。

数据验证和约束:YANG定义了一系列的数据类型和函数,用于验证和约束网络设备中的数据。控制器在与网络设备进行数据

交互时,可以使用YANG定义的数据类型进行数据的验证,确保数据的格式正确和一致。同时,YANG还支持定义约束条件,如范围限制、唯一性约束和依赖关系等,以确保网络设备中的数据满足特定的规范和要求。

自动生成代码和API:基于YANG定义的数据模型,可以使用相应的工具自动生成代码和API。这些代码和API可以用于快速开发SDN控制器和应用程序,实现对网络设备的集中化管理和控制。

afb2ff076480894730e952997126a0b6.jpeg

5、YANG的实现原理

YANG的实现原理涉及两个主要方面:YANG语法解析和YANG模

YANG语法解析:YANG语法解析是将YANG语言的源代码转化为计算机可以理解的内部表示形式的过程。在这个过程中,解析器会对YANG语法进行词法分析和语法分析,将源代码解析成语法树或其他形式的数据结构。

YANG模型处理:YANG模型处理是对解析后的YANG模型进行处理和管理的过程。这包括对模块、类型、数据节点和容器等元素进行解析和组织,构建出完整的数据模型。在这个过程中,还会进行数据类型验证、约束检查和语义分析等操作,以确保数据模型的正确性和一致性。

实现YANG的工具和框架通常提供了一套API和函数库,用于方便地创建、解析和操作YANG模型。这些工具和框架可以支持开发者快速构建YANG模型、生成代码和API,简化了YANG的实现过程。

总结起来,YANG作为SDN中的一种建模语言,通过定义数据模型和数据交互方式,提供了一种统一的描述和管理网络设备的方式。它的工作原理涉及YANG语法解析、模型处理和数据验证等过程。通过使用YANG,SDN控制器和应用程序可以与网络设备进行交互,实现对网络的集中化控制和管理。


在实际应用中,开发者可以使用各种开源的YANG工具和框架来实现YANG模型的创建、解析和使用。一些知名的YANG工具包括pyang、YangTools、OpenYuma和ConfD等。这些工具提供了丰富的功能和API,支持YANG模型的开发、编译、验证和解析,大大简化了YANG模型的实现过程。

YANG还可以和其他SDN相关的协议、标准和接口配合使用,比如NETCONF协议。NETCONF是一种用于配置网络设备的远程过程调用协议,它使用YANG作为数据建模语言,实现了网络设备的集中化配置管理。

除了NETCONF,YANG还可以和RESTCONF、SNMP等协议和标准配合使用,实现更加灵活的网络管理和控制。

 

本文由 小菜鸡的修炼之路 原创发布于华为企业互动社区,未经作者许可,禁止转载。

417c6277b828025615b5787b0e596918.jpeg




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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STL-string-2

Iterators Capacity resize void resize (size_t n);void resize (size_t n, char c); Resize string 将字符串的大小调整为n个字符的长度。 如果n小于当前字符串长度,则当前值将缩短为其第一个n字符,删除第n个字符之后的字符。 如果n大于当前字符串长…

Python接口自动化之yaml配置文件

Python自动化测试:7天练完这60个实战项目,年薪过35w。 软件测试技术分享总结 在自动化过程中,需要使用配置文件储存数据,比如数据库信息、账号信息、域名等。 其中,yaml文件是一种配置文件类型,相比较in…

职场已是00后的天下了,起薪20k,想都不敢想

2023年很卷吗?不,只能说你还得学! 都说00后已经躺平了,但是有一说一,该卷的还是卷! 这不,前段时间我们公司新招来了一个00后小伙,工作都没2年,跳槽到我们公司就起薪20K&…

基于linux安装部署clickhouse+基本操作

基于linux安装部署clickhouse基本操作 1.clickhouse简介 ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实…

一个年薪30w软件测试员的职业规划,献给还在迷茫中的朋友

如果你做了几年的功能测试,如今很迷茫,不知道该往哪里走,那么请看过来! 一:技术方向 1. 测试开发工程师: 支撑测试部门,一般来说主要负责设计&编写测试部门所需的测试工具,提…

华为OD机试真题 Java 实现【寻找峰值】【牛客练习题】

一、题目描述 给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个所在位置即可。 1.峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于; 2.假设 nums[-1] = nums[n] = -\infty−∞; 3.对于所有有效的…

被迫在小公司熬了2年,现在我终于进了腾讯测试岗...

其实两年前校招的时候就往腾讯投了一次简历,结果很明显凉了,随后这个理想就被暂时放下了,但是这个种子一直埋在心里,想着总有一天会再次挑战的。 其实这两年除了工作以外,其余时间基本上都在学习,打磨自己…

Ubuntu系统镜像下载,国内镜像站大全(山大/清华/阿里/浙大/中科大...)

装Ubuntu,是很多理工科同学入门的第一个挑战,首先我们就需要找到一个能用的iso镜像,根据你的网络环境的不同,不同的站点下载速度会不一样,下面列举一下几个比较好用的,都是来自Ubuntu官方推荐国内镜像站链接…

一起来学习Vue2吧

虽然Vue3已经出来好一阵子了,但就目前而言,Vue2在市场上还是会占一大部分的,因为一些老项目是用Vue2写的,后期维护也是需要Vue2,而且学会Vue2,Vue3你也会的差不多了,到后面稍微看一下理解一下Vu…

[5]PCB设计实验|卷积神经网络基础|零基础入门深度学习(4) 卷积神经网络|14:00~14:55

资料来源:零基础入门深度学习(4) - 卷积神经网络 - 作业部落 Cmd Markdown 编辑阅读器 目录 1. Relu激活函数 2. 全连接网络VS卷积网络 3. 卷积神经网络 3.1 网络架构 3.2 三维的层结构 4. 卷积神经网络输出值的计算 5. Pooling层输出值的计算 6. 全连…

【自动化测试基础】Appium自动化环境搭建保姆级教程

APP自动化测试运行环境比较复杂,稍微不注意安装就会失败。我见过不少朋友,装了1个星期,Appium 的运行环境还没有搭好的。 搭建环境本身不是一个有难度的工作,但是 Appium 安装过程中确实存在不少隐藏的比较深的坑,如果…

开源赋能 普惠未来|腾讯寄语2023开放原子全球开源峰会

腾讯长期秉承科技向善的宗旨,通过通信和社交服务连接全球逾 10 亿人,提供云计算、广告、金融科技等一系列企业服务。 作为开放原子开源基金会(以下简称“基金会”)发起人之一,腾讯坚定拥抱开源,全力支持开…

【最新计算机毕业设计 本科 大专 游戏方向 源码】

2022年 - 2023年 最新计算机毕业设计 本科 大专 游戏方向 源码 下载前必看:纯小白教程,unity两种格式资源的使用方法,1打开现有项目、2导入package 大专毕设源码:数媒专业、计算机专业、电子专业通用50多款大专毕设小游戏【源码】…

转行程序员,自学可以吗?35岁会被裁员吗?

大家好,欢迎来到停止重构的频道。 本期我们聊一些技术以外的分享。 一个非科班出身的人转行程序员难吗? 自学可以吗? 我也不是计算机相关专业毕业的,以下聊的都是我的一些真实经历,希望能给想要进入软件行业的非科班…

Centos7安装下载的mysql8+

1.官网下载 MySQL 安装包 1.1选择版本及下载 1、官网地址 https://dev.mysql.com/downloads/mysql/ 2、选择下载 MySQL 的 Linux 系统版本 Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7 3、选择要下…

51单片机银行自助排队叫号系统VIP热敏打印功能DY-SV17F语音播报

实践制作DIY- GC0138-银行自助排队叫号系统VIP 基于51单片机设计---银行自助排队叫号系统VIP 二、功能介绍: STC89C52最小系统板0.96寸OLED显示器DY-SV17F语音串口语音播报模块DS1302北京时间热敏打印机1个业务选择(取钱或者存钱)1个普通取号…

chatgpt赋能python:Python后门:你需要知道的一切

Python后门:你需要知道的一切 Python是一种广泛使用的编程语言,由于其易学易用、灵活且高效的特点,越来越多的企业和组织采用Python构建应用程序和Web应用。然而,正因为Python的方便性,也使其成为攻击者植入后门程序的…

机器学习 | 聚类问题

一、K均值聚类 这里我们用鸢尾花数据及进行聚类分析,这种含有标签数据的数据集,只要不调用标签数据,就可以为无监督学习所采用。鸢尾花数据具有4个特征,为了可视化这里选取前两个特征进行聚类分析并指定聚为3类。 #导入库 impor…

大型 3D 互动开发和优化实践 | 京东云技术团队

开发背景 得益于“元宇宙”概念在前段时间的爆火,各家公司都推出了使用 3D 场景的活动或频道。 3D 场景相比传统的 2D 页面优点是多一个维度,同屏展示的内容可以更多,能完整的展示物体、商品的信息。 相应带来的缺点是用户使用方式改变&…

yolov8模型训练结果分析以及如何评估yolov8模型训练的效果

1.运行结果目录 一、 confusion_matrix_normalized.png和confusion_matrix.png 混淆矩阵 混淆矩阵以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。其中矩阵的行表示真实值,矩阵的列表示预测值。 TP(True Positiv…