配置_配置数据源 - CSDN
精华内容
参与话题
  • 神经网络学习小记录42——windows下的tensorflow-gpu=1.13.2环境配置学习前言环境内容Anaconda安装下载Cudnn和CUDA配置tensorflow环境安装VSCODE 学习前言 好多人问环境怎么配置,还是出个教程吧。 环境内容 ...

    神经网络学习小记录42——windows下的tensorflow-gpu=1.13.2环境配置

    学习前言

    好多人问环境怎么配置,还是出个教程吧。
    在这里插入图片描述

    环境内容

    tensorflow-gpu:1.13.2
    keras:2.1.5
    numpy:1.17.4

    Anaconda安装

    最新版本的Anaconda没有VSCODE,如果大家为了安装VSCODE方便可以直接安装旧版的Anaconda,百度网盘连接如下。也可以装新版然后分开装VSCODE。
    链接: https://pan.baidu.com/s/12tW0Oad_Tqn7jNs8RNkvFA
    提取码: i83n

    取网上搜索Anaconda的官网:https://www.anaconda.com/distribution/
    在这里插入图片描述
    下载左边的python3.7版本,64位的,下载完成后打开:
    在这里插入图片描述
    选择安装的位置,可以不安装在C盘。
    在这里插入图片描述
    我选择了Add Anaconda to my PATH environment variable,我用起来觉得更好用。
    在这里插入图片描述
    等待安装完之后,就安装了Anaconda了。

    下载Cudnn和CUDA

    我这里使用的是tensorflow-gpu=1.13.2,因此会用到cuda10.0,与cuda10.0对应的cudnn是7.4.1.5,这个组合我实验过了,绝对是可以用的。

    cuda10.0官网的地址是:
    cuda10.0官网地址
    cudnn官网的地址是:需要大家进去后寻找7.4.1.5。
    cudnn官网地址

    官网下载是比较慢的,可以在百度云上下载,我给大家分享一手。

    链接: https://pan.baidu.com/s/1znYSRDtLNFLufAuItOeoyQ
    提取码: 8ggr

    下载完之后得到这两个文件。

    在这里插入图片描述
    在这里插入图片描述
    下载好之后可以打开cuda_10的exe文件进行安装。
    在这里插入图片描述
    这里选择自定义。
    不
    然后直接点下一步就行了。
    在这里插入图片描述
    安装完后在C盘这个位置可以找到根目录。
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
    然后大家把Cudnn的内容进行解压。
    在这里插入图片描述
    把这里面的内容直接复制到C盘的根目录下就可以了。
    在这里插入图片描述

    配置tensorflow环境

    Win+R启动cmd,在命令提示符内输入以下命令:

    conda create –n tensorflow-gpu python=3.6
    
    activate tensorflow-gpu 
    
    pip install tensorflow-gpu==1.13.2
    
    pip install keras==2.1.5
    

    需要注意的是,如果在pip中下载安装比较慢可以换个源,可以到用户文件夹下,创建一个pip文件夹,然后在pip文件夹里创建一个txt文件。
    在这里插入图片描述
    修改txt文件的内容,并且把后缀改成ini

    [global]
    index-url = http://pypi.mirrors.ustc.edu.cn/simple
    [install]
    use-mirrors =true
    mirrors =http://pypi.mirrors.ustc.edu.cn/simple/
    trusted-host =pypi.mirrors.ustc.edu.cn
    

    在这里插入图片描述
    在这里插入图片描述
    全部安装完成之后重启电脑。

    安装VSCODE

    我个人喜欢VSCODE……所以就安装它啦。
    打开anaconda,切换环境。
    在这里插入图片描述
    安装VSCODE,安装完就可以launch一下了,之后就可以把VScode固定到任务栏上,方便打开。
    在这里插入图片描述
    最新版本的Anaconda没有VSCODE因此可以直接百度VSCODE进行安装。

    安装完成后在左下角更改自己的环境就行了。
    在这里插入图片描述

    展开全文
  • 神经网络学习小记录48——windows下的torch=1.2.0环境配置学习前言环境内容Anaconda安装下载Cudnn和CUDA配置torch环境安装VSCODE 学习前言 好多人问环境怎么配置,还是出个教程吧。 环境内容 torch:1.2.0 ...

    神经网络学习小记录48——windows下的torch=1.2.0环境配置

    学习前言

    好多人问环境怎么配置,还是出个教程吧。
    在这里插入图片描述

    环境内容

    torch:1.2.0
    torchvision:0.4.0

    Anaconda安装

    最新版本的Anaconda没有VSCODE,如果大家为了安装VSCODE方便可以直接安装旧版的Anaconda,百度网盘连接如下。也可以装新版然后分开装VSCODE。
    链接: https://pan.baidu.com/s/12tW0Oad_Tqn7jNs8RNkvFA
    提取码: i83n

    取网上搜索Anaconda的官网:https://www.anaconda.com/distribution/
    在这里插入图片描述
    下载左边的python3.7版本,64位的,下载完成后打开:
    在这里插入图片描述
    选择安装的位置,可以不安装在C盘。
    在这里插入图片描述
    我选择了Add Anaconda to my PATH environment variable,我用起来觉得更好用。
    在这里插入图片描述
    等待安装完之后,就安装了Anaconda了。

    下载Cudnn和CUDA

    我这里使用的是torch=1.2.0,官方推荐的Cuda版本是10.0,因此会用到cuda10.0,与cuda10.0对应的cudnn是7.4.1.5,这个组合我实验过了,绝对是可以用的。

    cuda10.0官网的地址是:
    cuda10.0官网地址
    cudnn官网的地址是:需要大家进去后寻找7.4.1.5。
    cudnn官网地址

    官网下载是比较慢的,可以在百度云上下载,我给大家分享一手。

    链接: https://pan.baidu.com/s/1znYSRDtLNFLufAuItOeoyQ
    提取码: 8ggr

    下载完之后得到这两个文件。
    在这里插入图片描述
    在这里插入图片描述
    下载好之后可以打开cuda_10的exe文件进行安装。
    在这里插入图片描述
    这里选择自定义。
    不
    然后直接点下一步就行了。
    在这里插入图片描述
    安装完后在C盘这个位置可以找到根目录。
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
    然后大家把Cudnn的内容进行解压。
    在这里插入图片描述
    把这里面的内容直接复制到C盘的根目录下就可以了。
    在这里插入图片描述

    配置torch环境

    Win+R启动cmd,在命令提示符内输入以下命令:
    创建环境:

    conda create –n pytorch python=3.6
    

    激活环境:

    activate pytorch 
    

    打开pytorch的官方安装方法:
    https://pytorch.org/get-started/previous-versions/
    官网推荐的安装代码如下,我使用的是Cuda10的版本:

    # CUDA 10.0
    pip install torch===1.2.0 torchvision===0.4.0 -f https://download.pytorch.org/whl/torch_stable.html
    
    # CUDA 9.2
    pip install torch==1.2.0+cu92 torchvision==0.4.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html
    
    # CPU only
    pip install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
    

    需要注意的是,直接这样安装似乎特别慢,因此我们可以进入如下网址:
    https://download.pytorch.org/whl/torch_stable.html
    找到自己需要的轮子下载。
    在这里插入图片描述
    在这里插入图片描述
    下载的时候使用迅雷下载就行了,速度还是比较快的!

    下载完成后找到安装路径:
    在这里插入图片描述
    在cmd定位过来后利用文件全名进行安装就行了!
    在这里插入图片描述
    这里我也传一个百度网盘的版本。
    链接: https://pan.baidu.com/s/14-QVk7Kb_CVwaVZxVPIgtw
    提取码: rg2e
    全部安装完成之后重启电脑。

    安装VSCODE

    我个人喜欢VSCODE……所以就安装它啦。
    打开anaconda,切换环境。
    在这里插入图片描述
    安装VSCODE,安装完就可以launch一下了,之后就可以把VScode固定到任务栏上,方便打开。
    在这里插入图片描述
    最新版本的Anaconda没有VSCODE因此可以直接百度VSCODE进行安装。

    安装完成后在左下角更改自己的环境就行了。
    在这里插入图片描述

    展开全文
  • 路由器配置实例--100例 Cisco 与 Intel路由器的对连配置实例 Cisco路由器VOIP 配置解析 Cisco路由器安全配置方案 Cisco路由器安全配置简易方案 Cisco路由器的安全配置 CISCO路由器配置基础 Cisco路由器配置信息在...
  • VS2017配置opencv教程(超详细!!!)

    万次阅读 多人点赞 2019-05-09 16:49:49
    前言:刚开始是不打算写这篇博客的,但是我最近为了完成对老师布置的区域生长算法,强行要配置一波opencv,因为换了电脑,所以选择了有黑黑主题酷酷的VS2017,但无奈网上的博客关于vs2017配置Opencv不够全(vs2010...

     

    前言:刚开始是不打算写这篇博客的,但是我最近为了完成对老师布置的区域生长算法,强行要配置一波opencv,因为换了电脑,所以选择了有黑黑主题酷酷的VS2017,但无奈网上的博客关于vs2017配置Opencv不够全(vs2010配置opencv的倒是贼多!),我当时是看了将近10篇文章才配置成功,所以在此我来从一个新入坑的角度来说一下怎么完整的配置一个OPencv!下面就分步来进行说明吧!

    注意:不是博主这个版本的opencv本教程也是实用的,只需要改一点点东西就行,后面会进行提示!

     

    第一步:下载opencv安装包

    下载的途径有三种:

    1、官网下载

    在此,说明一下,没有必要去根据博主 的博客下载与博客相应的版本,其实只需要改一点点东西即可,后面进行说明,官网下载真的是贼头大,首先下载好好的突然说下载中断,而且无法恢复,此外,还慢,毕竟外网,没有办法。一个安装包大概100多M,而下载速度只有50多K(校园网20K,对面宿舍宽带50K),所以最后我实在无法忍受,已经失败了N次,时间紧,就没必要在这一棵树上撞死。

    但是网好的朋友也可以试试,在此我给出官网的网址,大家可以根据自己情况选择合适的版本(我的是3.4.1版本)

    网址:https://opencv.org/releases.html#

     

     

    2、网上资源

    靠谱的是CSDN等博主提供的安装包,但是是要C币的,我一般不会充值的,所以如果条件允许的话可以选择这个

    https://download.csdn.net/download/yu2439/10369150?utm_source=bbsseo(其中的一个网址)

    还有一个建议就是不要去尝试在一些钓鱼网站去下载opencv,我上回为了下载一个matlab破解版,虽然一路小心翼翼,最终下载了将近7、8个捆绑软件,连卸载时也给我加两个。。。。

     

    3、身边同学或者一起搞编辑的朋友们啊

    我的opencv就来自我对面宿舍的同学,他在官网下载成功了,直接用U盘拷过来用,还不是美滋滋,在此我给个百度网盘链接:opencv3.41

     

    二、解压下载文件

     

    双击下载好的或者拷好的安装包,选择解压路径后点Extract即可完成解压,解压后会自动生成一个opencv的文件夹(图2)

    图3中的文件夹如果配置环境比较多的筒子们还是非常眼熟的。

     

    第三步:配置系统变量(WIN10)

    1、找到此电脑(图4)

    2、右键->属性->高级系统设置->环境变量

    找到系统变量中的path变量,双击它,点击新建,将你解压的opencv文件夹中的***opencv\build\x64\vc14\bin路径添加到当中。这里我是选择了vc14这个子文件夹,也可以选择15,但后面要做出相应调整,所以不妨就vc14咯!

    注意:路径粘贴后记得点确定,并在外面点能点的确定全点选一遍!

     

    详细操作可看下图!

     

     

     

     

     

     

     

     

    以上完成了系统变量的配置,其实不是特别复杂,说简单点就是拷贝个路径

     

     

    第四步:相关文件的配置

     

    注意:网上很多教程没有这一步,会报那种找不到dll文件的错误,是因为没有将opencv里面的相关文件复制到C盘中的文件夹里面

    操作方法:将bin目录下面的opencv_world341.dll和opencv_world341d.dll文件复制到C:\Windows\SysWOW64这个文件夹里面即可

    将bin目录里面的opencv_ffmpeg341_64.dll复制到C:\Windows\System32这个文件夹里面(详细看图)

    如果是opencv其他的版本,把对应的dll文件移动到上述两个C盘文件夹即可!

     

     

     

     

     

     

     

    第五步:进入VS2017配置属性管理器进行相关配置

     

    1、新建一个项目,我这里建了一个空项目

    2、进入属性管理器,菜单栏->视图->其他窗口->属性管理器

    3、对Debug|X64进行配置,右键Microsoft.Cpp.x64.user,点击属性

    4、这里我们对属性中的 VC++目录->包含目录和VC++目录->库目录进行添加相关路径,对 链接器->输入->附加依赖项进行添加相关路径

    5、包含目录中加入

    F:\OPENCV\opencv\build\include

    F:\OPENCV\opencv\build\include\opencv

    F:\OPENCV\opencv\build\include\opencv2

    库目录中加入

    F:\OPENCV\opencv\build\x64\vc14\lib

    6、链接器->输入->附加依赖项中加入

    opencv_world341d.lib

    注意:博主后面了解到release|X64的配置为可选项,后面也有热心读者提醒,所以下面的这一步可以不做,因为编译时只用到了debug,release是发布程序时才会用到。

    //7、对Release|X64进行配置,右键Microsoft.Cpp.x64.user,点击属性

    //链接器->输入->附加依赖项中加入

    //opencv_world341.lib

    注意:如果是opencv其他版本,只需要将将上述的依赖项文件稍作修改即可;eg:如果是opencv版本3.4.0,只需要将dll名字改为opencv_world340d.lib即可,依次类推!

     

     

     

    第六步:勾选微软符号服务器(此步为可选项)

    其实到上一步已经配好了,但是到了关键时候VS2017总是说我少各种dll文件,百度上面说不用理这种错误,可以选择勾选微软符号服务器来下载缺失的dll文件

    操作步骤:左键调试->选项->常规 勾选启动源服务器支持

    符号那一项勾上微软符号服务器

    注意:可以用一个文件夹来缓存下载的dll文件,只是第一次加载,不用担心。或者,你也可以等加载完了之后,再把之前勾选的取消掉,也没有问题。 我建了一个文件夹(文件夹是我自己建的),后面发现它下载了很多pdb文件!

     

     

     

     

    注意:到上面所有工作,opencv已经配完了,注意解决方案平台那一栏要换成X64(因为我们一直都在配X64)

     

    第七步:测试环节!

    注意:由于很多人遇到图片无法输出的情况,在此特地添加一条需要注意的事项,读入图片路径时有两种方法。

    (1)绝对路径

    eg:Mat img = imread("F:\\suoxiaotu\\poyanghu缩小图.tif");

    注意这个地方的双斜杠很重要,直接弄过来的图片途径是只有一个斜杠的,两个斜杠的原因应该是第一个斜杠是转义字符。

    (2)图片路径

    eg:Mat img = imread("poyanghu缩小图.tif");

    这个地方有两点需要注意:第一个就是大家的图片格式一定要分清楚,建议自己右键查看目标图片的属性,另一个就是要注意这样做的前提条件就是你的图片就在你所建工程的目录下。不然会显示找不到图片。

    #include <iostream>  
    #include <opencv2/core/core.hpp>  
    #include <opencv2/highgui/highgui.hpp>  
    
    using namespace cv;
    
    int main()
    {
    	// 读入一张图片(poyanghu缩小图)    
    	Mat img = imread("F:\\suoxiaotu\\poyanghu缩小图.tif");
    	// 创建一个名为 "图片"窗口    
    	namedWindow("图片");
    	// 在窗口中显示图片   
    	imshow("图片", img);
    	// 等待6000 ms后窗口自动关闭    
    	waitKey(6000);
    	return 0;
    }

     

    输出:

     

    以上,配置完成!

    [-_-]眼睛累了吧,注意劳逸结合呀[-_-]

    ”若您愿意的话,请博主喝杯咖啡呗“

     

    下面是交流群,大家可以互相交流交流经验,互相解决配置遇到的问题,互相学习,不只是opencv!群号:830792425

    (2019年2月6号更新)可以说,博主这一篇文章就解决了我绝大多数问题!唯一补充的一点是,我用博主的方法,在运行代码的时候,发现waitKey(6000);这个函数结束后,其申请的内存没有正常释放,所以会引发异常。所以需要在这句的后面加上destroyAllWindows();实现内存的手动回收 @jerryNYX

     

    (2019年3月4号更新)加载符号遇到问题的朋友:“第六步勾选微软服务器”可以省略,把勾取消掉就能运行了,不然会卡住。希望对大家有帮助。@æ°å:

    (2019年4月22号更新)  谢谢博主,除了release部分我没有配置以外,其他部分按照博主的方法配置成功了。谢谢。@blackkkkk

    (2019年5月8日更新)小白成功了!非常感谢楼主!我遇到的问题“无法打开PDB文件”或者是“图像显示出来是灰色”的可能解决方法是:Debug|X64只放opencv_world341d,Release|X64只放opencv_world341 @https://me.csdn.net/weixin_40288785

    (2019年5月9日更新)主要针对CSDN编辑器的bug(给我的博客增加了好多空格,强迫症受不了),另外为方便阅读,将所有图片全部居中。

    展开全文
  • 从NETCONF/YANG看网络配置自动化

    万次阅读 2016-03-31 16:14:28
    NETCONF和YANG的目的是以可编程的方式实现网络配置的自动化,从而简化和加快网络设备和服务的部署,为网络运营商和企业用户节约成本。NETCONF和YANG对应的RFC文档分别是RFC6241和RFC6020,而RFC6244描述了

    阅读冗长的NETCONF/YANG的RFC文档是相当乏味枯燥的,结合开发实践,本文试图删其繁,撮其要,给出NETCONF/YANG的轮廓和要点。

    引子

    NETCONF和YANG的目的是以可编程的方式实现网络配置的自动化,从而简化和加快网络设备和服务的部署,为网络运营商和企业用户节约成本。NETCONF和YANG对应的RFC文档分别是RFC6241和RFC6020,而RFC6244描述了一个实现NETCONF/YANG的参考架构。

    按照RFC6241的定义,NETCONF是安装、编辑和删除网络设备配置的标准协议。RFC6020指出,YANG是一种数据模型语言(Data Modeling Language),用来描述NETCONF相关的网络配置和网络状态的数据模型,包括NETCONF支持的RPC(Remote Procedure Call)消息和异步通知(Notification)。请注意,YANG本身不是数据模型,而是定义数据模型的语言。YANG和NETCONF是相伴而生的,虽然,原则上YANG也能够用于其他的协议和不同的领域,但基本上可以认为YANG就是为NETCONF量身定做的。

    2002年,IAB(Internet Architecture Board)召集了一次关于网络管理的专题工作会议(Workshop),最终形成了RFC3535。在这份文档中,针对当时网络管理中存在的问题,提出了14项需求,我们不妨列出其中关键的几项:

    • 简单好用。这何须说?!
    • 严格区分网络可配置的数据和运行时的状态数据。可配置的数据如静态IP地址和VLAN,用来改变设备的行为;状态数据如接收、丢弃、转发的数据包的计数统计,用来监控设备的行为。PicOS的Cli就有Operational模式和Configure模式,分别用于输出系统状态和改变系统配置。
    • 可以将整个网络作为配置的对象,而不仅仅是单独的设备。所谓SDN的集中式管理不就是这样吗?很多SDN的Controller平台如OpenDaylight本身也是基于整个网络视图的开发平台。
    • 支持多个网络设备配置的transaction机制。比如,给定一个网络,利用Dijkstra算法得到两个主机之间的最短路径,将正确路由配置到这一路径上的每个交换设备。若某个交换设备配置失败,那么所有的交换设备都应该恢复到原来状态。这个说起来简单,做起来恐怕并不容易。
    • 网络设备可保留多份配置拷贝,不同配置之间可以自由切换,以适配不同的应用场景。这样,交换机就可以切换到特殊的配置来应对流量高峰期的到来。

    另外,更为重要的是,是否支持可编程配置的API不是问题,问题是以怎样的方式来支持。这也是自动化配置的基础。显然,已有的网络管理协议SNMP和上述的需求比较起来就大大的力所不逮了:尽管具有一些配置的功能,但SNMP本身并不是面向配置的协议,也不适合开发用于配置的客户端应用,更谈不到Transaction机制的支持。要满足这些需求,设计新的替代的网络管理协议就不可避免了。于是NETCONF和YANG的1.0版本分别于2006年和2010年正式发布。

    总的来说,NETCONF/YANG并不规范配置的内容,支持NETCONF/YANG的设备供应商可保留自己的特有的配置内容,但需要转换成用YANG定义的数据模型。然后,NETCONF通过定义标准的操作接口,必须用统一的方法来安装、编辑、删除配置内容,获取设备运行的状态数据。也就是说,数据内容可以不同,但定义数据(YANG)和操作数据(NETCONF)的方法必须一致统一。

    相对来讲,NETCONF和YANG都不是很新的东西。SDN(Software Defined Network)在学术界和工业界的发展和影响赋予了这两项技术老树吐新芽,迎来第二春的机会。大家都知道,SDN不能仅仅停留在抽象的概念层面上,必须找到应用的切入点, 并向更广泛的领域逐渐展开,才会具有真正的生命力。目前来看,虚拟网络和自动化配置是SDN应用的两个重要支柱。自动化配置让人们重新发现了NETCONF和YANG的价值。

    NETCONF和YANG相互交织缠绕在一起,剪不断,理还乱,很难把它们分开来一一描述清楚。所以本文从自动化网络设备配置的功能为切入点,用实际的用例,来说明NETCONF/YANG是如何相互配合完成这些功能的。

    组成和交互

    NETCONF的自动化配置系统采用Client/Server架构。Client和Server之间由面向连接的传输协议建立会话。SSH(Secure Shell)是NETCONF强制支持的传输协议,其他的传输协议如TLS和SOAP也能满足NETCONF的要求。Client和Server通信的内容是NETCONF定义的双向的XML格式的RPC(Remote Procedure Call)消息,包括从Client发送到Server的请求消息,以及Server的响应消息。这样,Client就可以获取并修改Server的配置数据(configuration datastore)。

    下图描述了NETCONF配置系统的结构。NETCONF Server是要配置的网络设备,除了硬件之外,NETCONF引擎是和NETCONF Client建立会话的软件模块,当然,Server上面还会运行自身设备的软件系统。配置数据由NETCONF引擎维护并传递给Server的软件系统,最终应用到硬件的芯片。正如上文所述,配置数据的语法结构是用YANG语言定义的数据模型来描述的,包括数据类型和数据结构。这和XML的Schema与对应的应用域数据的关系完全类似。YANG分层的树状结构非常适用于网络设备的配置数据的定义。YANG的另外一个优点是没有晦涩的内容,简单易懂。用户拿到YANG的数据模型文件,即可明白如何写NETCONF Client程序来配置网络设备。YANG语言的数据模型可以无信息丢失的转换为XML的格式,称为YIN(YANG Independent Notation),主要是为了利用随手可得的标准的XML解析器。开源的NETCONF工具库libnetconf提供了转换的工具lnctool。NETCONF引擎和Client程序用YIN检查配置数据的合法性。下文将用一个简单的例子来说明YANG是如何定义配置数据的数据模型。

    一般地,Client和Server经过如下的步骤来完成配置的获取和改变:

    • Client和Server建立面向连接的传输协议的会话;
    • 通过Hello消息协商彼此支持的功能(Capability),如都支持的NETCONF的最高级版本,从而避免解析时的歧义;
    • Client向Server发送的请求;
    • Server接收并解析请求;
    • 通过YANG数据模型的定义来验证RPC请求的合法性;
    • 执行RPC的请求;
    • 执行结果作为响应消息返回给Client;
    • Client接收并解析响应消息。

    由此可见,用户能够以任何编程语言实现远端网络设备的定制化配置的需求,所做的无非是与Server建立会话连接,封装发送请求消息,接收解析消息。重要的是,用户可以通过这种简单的交互模式,实现自己的业务逻辑,比如,可根据网络的负载和设备的状态,应用不同的配置。这也许就是可编程的自动化配置的内涵,也是YANG和NETCONF设计的目标。

    模型和数据

    METCONF Server上面的配置叫做配置存储。配置存储是设备完整的合法的一份配置数据拷贝,使能某个配置存储可以把设备从缺省的初始状态转换到特定的运行状态。在同一个设备上,NETCONF可支持三种配置存储,包括:

    • 运行时配置(running configuration datastore)是设备当前激活状态的运行中的配置,和运行的状态完全一致。
    • 重启时配置(startup configuration datastore)是系统下次重启时的配置,可以和运行时配置不一样。
    • 可选配置(candidate configuration datastore)是没有生效的候选配置,可使用commit命令将可选配置应用到设备,从而,可选配置变为当前的运行时配置。

    无论是运行时配置,重启时配置还是可选配置的数据,都是用YANG定义的数据模型来描述的。下面给出一个关于网络设备接口的极度简化的例子。


    YANG语言是非常直观的模型语言,理解了上面代码中YANG语言的一些关键词,如module,container,list,leaf等,就基本可以清楚的知道代码的含义了。解释如下:

    • module定义了一种分层的配置树结构,一个module是自包含的(self-contained),可重用的。它可以使能NETCONF的所有功能,如配置操作(operation),RPC和异步通知(notification)。开发者可根据配置数据的语义来定义不同的module。(1)
    • namespace用于唯一的标识module,等同于xml文件中的namespace。(2)
    • container节点把相关的子节点组织在一起。(3)
    • list节点可以有多个实例,每个实例都有一个key唯一标识。(4)(5)
    • leaf是叶子节点,具有数据类型和值,如叶子结点name的数据类型(type)是string,它唯一的表示list节点interface。(6)(7)
    • 另一个布尔类型的叶子节点,缺省值是true。(8)(9)

    配置和操作

    上文已说明,NETCONF Client和NETCONF Server通过RPC交互完成网络设备的配置。下面给一个具体的例子,NETCONF Client向NETCONF Server发送一个xml编码的请求(1),在Server的运行时配置(2)上通过操作(operation)create新建一个网络接口(3)。

    如果操作成功,NETCONF Server将返回。

    异步通知(notification)

    通知类似于SNMP的trap机制,当NETCONF Client订阅(subcribe)通知时,通知所对应的事件发生之后,NETCONF Client就可以得到事件的信息。如下面的例子,NETCONF Client从NETCONF Server那里得到一个网络接口的link-up事件。

    参考文献

    Network Configuration Protocol (NETCONF)
    https://tools.ietf.org/html/rfc6241

    YANG - A Data Modeling Language for the Network Configuration Protocol
    https://tools.ietf.org/html/rfc6020

    An Architecture for Network Management Using NETCONF and YANG
    https://tools.ietf.org/html/rfc6244

    Network Configuration Management with NETCONF and YANG
    https://www.ietf.org/edu/documents/2012-ietf-84-netconf-yang.pdf

    NETCONF toolset Netopeer
    https://github.com/cesnet/netopeer

    Overview of the 2002 IAB Network Management Workshop

    http://www.rfc-base.org/txt/rfc-3535.txt


    作者简介:贾彦民,2008年毕业于中科院软件所,曾供职于IBM和AVOS从事软件开发工作,目前是Pica8 Inc.高级网络软件工程师。

    --------------华丽的分割线------------------
    本文系《SDNLAB原创文章奖励计划》投稿文章,该计划旨在鼓励广大从业人员在SDN/NFV/Cloud网络领域创新技术、开源项目、产业动态等方面进行经验和成果的文字传播、分享、交流。有意向投稿的同学请通过官方唯一指定投稿通道进行文章投递,投稿细则请参考《SDNLAB原创文章奖励计划》


    展开全文
  • JDK1.8下载、安装和环境配置教程

    万次阅读 多人点赞 2019-12-02 19:46:26
    一、下载安装包 1. JDK1.8百度云下载路径: 链接:https://pan.baidu.com/s/1ozCGy53AIeQIHWL6s9oAbw 提取码:04lf 网盘放的是jdk1.8版本中的1.8.0_152的版本 2.如果大家想下载别的版本,可以去官网:......
  • Vim的终极配置方案,完美的写代码界面! ——.vimrc

    万次阅读 多人点赞 2019-03-19 08:41:52
    先秀一下我的Vim界面 语法补全我用的是YouCompleteMe, 有目录树插件,taglist插件等。 通过插件管理器Vundle来进行安装,具体方法自行百度。...背景可以通过换张自己喜爱的壁纸,然后调终端的透明度,就可以对着...
  • ES配置详细说明

    千次阅读 2018-01-31 14:14:08
    elasticsearch的config文件夹里面有两个配置文 件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日 志的,所以logging.yml里的设置按普通log4j配置文件...
  • Eclipse如何配置JDK

    万次阅读 2019-08-01 10:03:59
    第一步、首先需要大家安装好最新版的eclipse和jdk10,双击打开桌面eclipse图标。然后弹出窗口要我们选择工作空间路径,建议最好新建一个目录。 ...第一次打开会有些许慢,需要加载的东西多些。...
  • Java开发环境安装与配置(快速配置)

    万次阅读 多人点赞 2020-09-08 16:57:46
    知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望...Java开发环境安装与配置JDK介绍Java与JDK的关系下载JDK安装JDK环境变量配置1. 配置位置2.JAVA_HOME3.CLASSPATH4.Path进入命令提示符测试1.
  • JDK 安装 Java环境变量配置 详细教程

    万次阅读 多人点赞 2020-10-09 13:16:23
    1、JDK jre-8u161-windows-x64.exe下载 所有平台:... 选择 “Accept License Agreement” 根据系统选择对应的安装文件,64位系统安装64位JDK ......
  • Maven的安装与配置

    万次阅读 多人点赞 2020-10-18 17:57:39
    Maven超详细的安装与配置步骤
  • web.xml的加载过程配置详解

    万次阅读 多人点赞 2020-09-21 11:28:16
    首先会去读取web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常的被启动起来。  启动WEB项目的时候,容器首先会去读取web.xml配置文件中的两个节点: 和 如图:    紧接着,容器创建一...
  • eclipse环境下如何配置tomcat 打开Eclipse,单击“Window”菜单,选择下方的“Preferences”。 单击“Server”选项,选择下方的“Runtime Environments”。 点击“Add”添加Tomcat。 点击“Next”,选中自己安装的...
  • MyEclipse+Tomcat配置详解

    万次阅读 多人点赞 2019-09-09 18:50:59
    (尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/53982209 冷血之心的博客) ...2 安装、启动、配置Tomcat 2.1 Tomcat目录结构 2.2 启动和关闭Tomca...
  • Docker-Nginx安装篇+配置挂载到宿主机

    万次阅读 2020-03-22 14:04:35
    说明 :-p表示递归创建文件夹,这里挂载是为了后面配置Nginx方便,不创建挂载后面配置Nginx需要进入容器配置比较麻烦,所以挂载到宿主机 mkdir -p /data/nginx/{conf,conf.d,html,logs} 3. 配置Nginx 创建 vim...
  • PLSQLDeveloper安装与配置

    万次阅读 多人点赞 2020-04-20 17:09:08
    1,首先要有oracle数据库或者有oracle服务器,才可以实现使用PLSQL Developer 工具连接到oracle数据库进行开发.2,下载PLSQLDeveloper并解压3,配置环境变量1)变量名:ORACLE_HOME变量值:E:\tool_01\PLSQL Developer\...
  • JDK安装与环境变量配置

    万次阅读 多人点赞 2019-12-14 17:28:22
    下载JDK 到Oracle官网下载JDK 安装JDK 安装JDK时,除了修改安装目录,其他的...在配置好环境变量后,可以进入cmd中检查Java是否安装正确,检查的命令为 java -version JDK安装成功 环境变量详解 JAVA_HOME ...
  • Oracle环境变量配置(通俗易懂)

    万次阅读 多人点赞 2020-08-12 17:33:32
    1.ORACLE_HOME:数据库的实例启动所需要的所有的程序和相关的文件(除了数据库外)。 新建一个变量home,再在path中添加:%ORACLE_HOME%\BIN 变量名: ORACLE_HOME 变量值: D:\app\chenzhi\product\11.2.0\dbhome_2...
  • 首先,Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具[百度百科] 这种又是大白话,如果没明白maven是什么,...
1 2 3 4 5 ... 20
收藏数 6,980,516
精华内容 2,792,206
关键字:

配置