了解 YANG 及其目标

2024-01-09

我读了https://en.wikipedia.org/wiki/YANG https://en.wikipedia.org/wiki/YANG但在理解实际用途方面仍然存在问题YANG,以及它提供的好处。据我了解,它现在不仅像最初设计的那样由 NETCONF 使用。YANG不是普通意义上的语言,因为C or python例如,无论我们写什么YANG未经编译或翻译;据我了解,它被用作更高级别的库或应用程序的参考模型。那么问题是高层代码如何理解YANG?


YANG 是一种专门的模式语言,类似于 XSD Schema 或 RelaxNG,但特定于 NETCONF。其目标是对对等点之间的协议会话期间交换的所有内容进行建模,如 RFC6020 中所述:

YANG 是一种用于为 NETCONF 协议建模数据的语言。 A YANG模块定义了可用于NETCONF的数据层次结构 基于操作,包括配置、状态数据、远程 过程调用 (RPC) 和通知。这允许一个完整的 NETCONF 客户端和服务器之间发送的所有数据的描述。

YANG 定义的模型可以以通常的方式使用 - 例如代码生成,就像什么JAXB http://www.oracle.com/technetwork/articles/javase/index-140168.html适用于 XSD 架构和 Java。有一些工具和服务器实现可以简单地使用 YANG 模块集(YANG 模型)并准备用作虚拟实现。还有一些工具使用该模型使用户能够查询设备,而无需实际实现有关设备的任何特定内容。您可以说一组 YANG 模块公开了设备提供的接口。您使用此界面做什么完全取决于您。

我建议阅读规范中提供的高级概述:

  • YANG 1.0 概述,RFC6020,第 4 节 https://www.rfc-editor.org/rfc/rfc6020#section-4
  • YANG 1.1 概述,RFC6020bis-09,第 4 节 https://datatracker.ietf.org/doc/html/draft-ietf-netmod-rfc6020bis-09#section-4 (draft)

另请检查 wiki 页面ietf-netmod-yang https://stackoverflow.com/tags/ietf-netmod-yang/info tag.

Edit:您也可能会受益于阅读使用NETCONF和YANG的网络管理架构 https://www.rfc-editor.org/rfc/rfc6244文档。它进一步解释了 YANG a 所属的架构,包括应用程序开发人员等不同角色应如何处理它(在网络管理的背景下)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解 YANG 及其目标 的相关文章

  • 使用 Autoform 插入并删除不安全的内容

    我一直在我的 Meteor 项目中使用 Collection2 和 Autoform 让事情变得容易多了 但是 当我删除不安全时 它不再插入 自动表单提交按钮 我预料到了这一点 但是 我进行了搜索 但找不到使其正常工作的标准方法 我在 li
  • 为什么有两个类:视图模型和域模型?

    我知道使用域模型作为视图模型可能很糟糕 如果我的域模型有一个名为 IsAdmin 的属性 并且我有一个创建控制器操作来创建用户 那么有人可以更改我的表单并使其 POST IsAdmin true 表单值 即使我没有在视图中公开这样的文本字段
  • 如何使用另一个模式的表编写存储过程?

    为了调用Oracle的函数和过程 表必须在HR用户中吗 当我从另一个用户运行函数时 它给我一个编译错误 对于我的项目 我想从另一个用户运行函数和过程 我该如何实施 要使用另一个模式中的表编写函数或过程 表所有者需要授予我们所需的权限 例如
  • 从 C# 对象自动生成 javascript 对象模型

    寻找现有的 经过验证的解决方案来快速生成客户端JavaScript 对象模型代表一个现有的 C 对象 我想象有一个 T4 模板或其他一些方法 但我缺乏找到它的术语 我不是在讨论序列化以获取现有 C 对象实例的 JSON 表示形式或任何与反序
  • 最佳数据库变更控制方法

    作为数据库架构师 开发人员和顾问 有很多问题可以回答 其中之一 虽然我最近被问到 但仍然无法很好地回答 那就是 保持数据库变更记录 组织并能够在单开发人员或多开发人员环境中有效推出的最佳方法或技术之一是什么 这可能涉及存储过程和其他对象脚本
  • Rails:是否可以向 has_and_belongs_to_many 关联添加额外的属性?

    我的意思是 如果我有两个模型 通过 has and belongs to many 关联连接 我可以在每个关联的连接表中存储其他数据吗 也就是说 额外的数据不会成为任一表中单个记录的一部分 而是它们之间的连接 我的实际模型如下 class
  • GraphQL - 根据参数返回计算类型

    Overview 简化 在我的 NodeJS 服务器中 我实现了以下 GraphQL 架构 type Item name String value Float type Query items names String Item 然后 客户
  • Rails:尝试渲染为 JSON 时 attr_accessor 不显示

    在我的应用程序中 我有一个如下的模型 class Init lt ActiveRecord Base attr accessor clientAvailability attr accessible returnCode returnMes
  • 将一个 XML 包含在另一个 XML 中并使用 python 解析它

    我想将一个 XML 文件包含在另一个 XML 文件中并用 python 解析它 我正在尝试通过 Xinclude 来实现它 有一个 file1 xml 看起来像
  • 如何使用SqlAlchemy通过id查询数据库?

    我需要通过其查询 SQLAlchemy 数据库id类似的东西 User query filter by username peter 但对于身份证 我该怎么做呢 通过 Google 和 SO 搜索没有帮助 查询有一个获取函数 https d
  • 为树视图创建 Qt 模型

    我正在用 Qt 使用 C 编写一个应用程序 我需要在树视图中表示一个对象结构 实现此目的的方法之一是为此创建一个模型 但在阅读有关该主题的 Qt 文档后我仍然很困惑 我的 结构 非常简单 有一个Project持有的物体Task中的对象std
  • 如何在 Laravel 中基于迁移文件制作模型

    我已经创建了一个迁移 我想根据迁移文件制作一个模型 这可能吗 如果是这样 该怎么办 这是不可能的 到目前为止 您最多可以通过运行以下命令同时创建迁移和模型 php artisan make model ModelName m
  • 使用java进行JSON模式验证[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在为返回 JSON 对象的 java webapp 编写一些验收测试 我想验证返回的 JSON 是否针对架构进行验证 任何人都可以建议
  • Django 中级模型用户

    我想创建一个模型 其中用户拥有多家公司一定数量的股份 看来我应该使用 Django 中间模型关系 但我不确定如何将中间模型应用到内置 Django 用户模型 目前 公司与股东 用户 之间存在多对多关系 如何为每个特定的公司股东关系添加股份数
  • 将图像文件存储在猫鼬模式的二进制数据中并以html形式显示图像

    我正在使用 Express Node js 和 Mongodb 创建上传和显示图像文件的网页 我使用 schema 将图像的二进制文件保存在 mongodb 中 这是我在index js和db js中的一点代码 var Post mongo
  • Laravel 中如何返回数组而不是集合?

    在 Laravel 中 可以仅选择一个字段并将其作为集合 数组返回 例如考虑模型Foo链接到表foos其中有字段id a b c 考虑以下示例数据 1 10 15 20 1 12 15 27 1 17 15 27 1 25 16 29 1
  • 如何使用 django 更新会计应用程序中的余额?

    我正在学习 Django 尝试制作一个会计应用程序来跟踪我的开支等 我使用两种模型创建数据库 一种用于帐户 一种用于操作 但我不知道如何在每次操作时更新我的 余额 我在想 也许每次我保存一个新操作时 我都会通过覆盖操作模型的保存方法来更新余
  • TSQL 定义临时表(或表变量)而不定义架构?

    有没有一种方法可以定义临时表而无需预先定义其架构 实际上 使用表 VARIABLE 内存表 是最佳方法 table 在临时数据库中创建一个表 而 table 是全局的 两者都具有磁盘命中 考虑交易数量所经历的放缓 打击 CREATE PRO
  • 如何在Oracle数据库11g中创建新模式/新用户?

    我已经申请了一家公司的实习机会 作为一个问题 他们要求我为他们的公司创建一个具有一定要求的架构 并将DDL文件 我已经安装了 Oracle 数据库 11g Express 版本 但如何在 Oracle 数据库 11g 中创建新架构 我在网上
  • Model在MVC中的作用是什么?

    我读过一些有关 MVC 的文章 但有一点我不清楚 该模型在实际中的作用是什么 模型是否代表业务对象 或者它只是一个帮助将信息从控制器发送到视图的类 以两个业务类为例 从数据库填充数据 Class Image Property FileNam

随机推荐

  • 在 VS2012 中添加 NuGet 包作为项目引用的最佳方法?

    好的 问题问得很快 我可能只是太厚了 如果右键单击项目的 引用 文件夹 然后单击 管理 NuGet 包 您就可以安装包 并且您单击的项目会自动引用它们 但后来我想在同一解决方案中添加对其他项目的相同引用 如果重复前面的操作但单击另一个项目
  • Android:图像按钮作为超链接、电话、地图方向?

    我正在为我的公司制作一个简单的应用程序 我创建了 4 个按钮 但似乎无法让它们正确链接 一个按钮应该打开我们的移动网站 另一个按钮可以打电话给我们 另一个按钮可以映射到我们 最后一个按钮链接到我们的 新闻 网站 任何帮助将不胜感激 在按钮上
  • Javascript:获取数组的每个第n个元素

    我得到一个数据数量未知的数组 但我只有预定义的数据量要显示 存储 如何在 JavaScript 中取出初始数组的每个第 n 个元素并减少它 例如 我得到一个大小为 10000 的数组 但只能显示 n 2k 元素 我这样尝试过 delta M
  • 如何在 Leaflet 中加载 Google 地图基础层(2018 年 6 月之后)?

    我的网站上有一张使用谷歌卫星图像作为底图的传单地图 2018 年 6 月 11 日之后 如果没有 api 密钥 则无法访问 google 地图图块 目前可以使用以下 JavaScript 通过 Leaflet JS 访问图块 googleS
  • 如何在 Rust 中将 u16 的低/高 8 位转换为 u8?

    我想转换一个u16到两个单独的u8s 我尝试使用一些位掩码 use std convert From fn main let n1 u8 0x41 let n2 u16 0x4157 println Number char from n1
  • 每 100 MB 大小轮换一次日志文件

    我有 Windows 批处理脚本 它启动一个 java 进程 这个进程运行了一周 问题是这个进程的一天日志文件非常巨大 大约10 GB 我在 NotePad EditPlus 和 TextPad 等编辑器中打开此日志文件时遇到问题 请让我在
  • 添加更改时自动重新加载闪亮的应用程序

    我希望有一个选项 在本地工作时 它允许我在进行一些更改后自动查看闪亮应用程序中的更改server R or ui R文件 手动重跑确实很烦人runApp每次我添加新东西时都会起作用 我真正喜欢的最佳解决方案是xaringan inifini
  • Javascript获取并格式化当前日期[重复]

    这个问题在这里已经有答案了 可能的重复 在 JavaScript 中设置日期格式 https stackoverflow com questions 1056728 formatting a date in javascript 我需要展示
  • 如何修复此哨兵区不匹配错误?

    框架 SDK版本 Flutter 3 10 4 Dart 3 0 3 这是我的main code Future
  • 如何将字符串延长到一定长度

    嘿 基本上现在我的程序给了我这个输出 巴拉巴拉TEXTEXOUAIGJIOAJGOAJFKJAFKLAJKLFJKL TEXT更多超出限制的随机字符文本 这是 for 循环的结果 现在这就是我想要的 如果字符串超过 10 个字符 则删除其余
  • Wordpress - 如何创建数据过滤器元素的链接?

    我的 WordPress 网站的一个页面使用页面过滤器菜单 用户可以单击项目来过滤下面的帖子类型 有没有办法创建每个过滤器菜单项的链接 用户可以从该页面外部直接访问它们 请看下面的html代码 ul class filter js filt
  • CodeBlocks c++ - 无法使用线程,因为编译器不支持它

    首先 我想创建一个程序 它将从用户输入时间计算到零的时间 这是代码 include
  • 左矩阵除法和 Numpy 求解

    我正在尝试将包含 运算符的代码从 Matlab Octave 转换为 Python 示例代码 B 2 4 b 4 4 B b 这有效并产生 1 2 作为答案 使用此网页 http mathesaurus sourceforge net ma
  • R:无法更新软件包 clang 找不到头文件

    我有几个 R 包未能从源代码更新 遵守 以下是错误消息的片段 clang std gnu 11 I usr local Cellar r 3 5 2 2 lib R include DNDEBUG I Volumes Documents U
  • 无法使用 React js 显示本地文件夹中的 svg

    我需要什么 我正在尝试从外部文件夹显示 svg 该文件夹包含大约 50 个文件 public folder images 50 svgs 在app js中 我正在尝试显示图像 import React from react import A
  • .NET CLI 如何在 Linux 上发布后运行应用程序

    我花了大约 4 个小时进行调查 但仍然不知道如何运行已发布的应用程序 dotnet publish 现在我可以将源下载到我的远程计算机 然后调用dotnet build and dotnet run 然后我的应用程序按预期运行 但我只想将
  • PHP/MySQL。是否有mysql函数来检测至少一个mysql行字段中是否存在至少2个特定单词

    例如 我有 php 数组 php arr to check array green red blue 并且有很多这样的 mysql 行 Id TextToCheckIn 1 green brown blue 2 black yellow w
  • Android读取大文件

    我有一个 CSV 文件assets包含超过 10000 行数据的文件夹 我想在创建数据库时将此数据插入到 SQLite 数据库中 我无法包含数据库 因为它是一个非常通用的应用程序 并且模型需要 CSV 文件 我不想一次性读取所有 10000
  • 它在数据库中找不到正确的电子邮件地址

    我想检查有效的电子邮件地址 然后查看该电子邮件地址是否在数据库中 目前 有效电子邮件地址的验证工作正常 但是如果我输入数据库中的电子邮件地址 例如 电子邮件受保护 cdn cgi l email protection 而不是回显消息You
  • 了解 YANG 及其目标

    我读了https en wikipedia org wiki YANG https en wikipedia org wiki YANG但在理解实际用途方面仍然存在问题YANG 以及它提供的好处 据我了解 它现在不仅像最初设计的那样由 NE