网络运维自动化入门二:NETCONF

NETCONF概念上的东西太多,我们只挑对我们有用的来说,首先为什么什么NETCONF来配置网络设备,主要是用NETCOF有以下优点

  • NETCONF协议以XML格式定义消息,运用RPC机制修改配置信息,这样既能方便
  • 管理配置信息,又能满足来自不同制造商设备之间的互操作性。
  • 可减少由于人工配置错误引起的网络故障。
  • 可提高使用配置工具升级系统软件的效率。
  • 扩展性好,不同制造商设备可以定义自己的协议操作,以实现独特的管理功能。
  • NETCONF提供了认证、鉴权等安全机制,保证了消息传递的安全。

NETCONF协议分层

NETCONF 协议框架

  • 内容层由配置数据和通知数据组成。
  • 操作层定义一组基本协议操作来检索和编辑配置数据。
  • Messages层提供了编码远程过程调用(RPC)和通知的机制。
  • 安全传输层在客户端和服务器之间提供安全可靠的消息传输。

RPC模式
NETCONF协议使用RPC通信模式,采用XML编码的<rpc>和<rpc-reply>元素提供
独立于传输层协议的请求和回应消息框架。一些基本的RPC元素如表所示。

元素说明

能力集(Capability)
NETCONF能力集是补充基本NETCONF规范的一组功能。 该能力由统一资源标识
符(URI)标识。
能力集扩展了设备的基本操作,描述了附加操作和操作中允许的内容。客户端可
以发现服务器的功能,并使用由这些能力集定义的任何其他操作,参数和内容。
能力集定义可以命名一个或多个依赖的能力集。 为了支持一种能力集,服务器必
须支持它所依赖的任何能力集。
配置数据集
所谓配置数据集是关于设备的一套完整的配置参数的集合。

NETCONF 协议定义的配置数据集

NETCONF会话建议和关闭的基本流程如下

  1. SSH建立连接,进行认证与授权
  2. NETCONF会话建立与能力协商
  3. NETCONF RPC交互(鉴权)
  4. NETCONF会话关闭
  5. SSH连接关闭

基本操作
NETCONF协议提供一组基本操作,管理设备的配置数据,以及查询设备的配置和状态信息。


能力协商
能力协商是在会话建立阶段,每个对等体通过发送消息给对方来通告能力的。当
NETCONF会话打开,每个对等体(包括Client和server)必须发送一个包含自身能力集
列表的<hello> 元素。每个对等体至少要发送基本的NETCONF能力"urn:ietf:params:netconf:base:1.0"在交换过Hello消息后,Server等待Client发送<rpc>请求。Server为每个<rpc>请求回应<rpc-reply>。

能力
除了基本功能,NETCONF协议还允许客户端发现服务器端支持的协议扩展集,这种特性称为能力(capabilities)。
查看交换机支持的能力信息dis netconf capability
以下是CE5855EI V100R005C10SPC200交换机展示的内容。

<testare4>dis netconf capability 
----------------------------------
Capability         Scope   Version
----------------------------------
Base               public  1.0    
Writable-Running   public  1.0    
Candidate          public  1.0    
Confirmed Commit   public  1.0    
Distinct Startup   public  1.0    
Rollback on Error  public  1.0    
Sync               private 1.0    
Sync               private 1.1    
Sync               private 1.2    
Exchange           private 1.0    
Exchange           private 1.1    
Active             private 1.0    
Action             private 1.0    
Discard Commit     private 1.0    
Execute CLI        private 1.0    
Update             private 1.0    
Commit-Description private 1.0    
Notification       public  1.0    
Interleave         public  1.0    
----------------------------------

描述
Capability表示NETCONF支持的能力。
•Base:表示NETCONF具备执行一系列基本操作时所需要的基本能力。NETCONF支持的一些基本操作包括:◾get-config:用来从<running/>、<candidate/>和<startup/>配置数据库中获取全部或指定的一部分配置数据。(具体看基本能力)

•Writable-Running:此能力指明设备支持对<running/>配置数据库的访问能力,即设备支持对运行的配置进行<edit-config>和<copy-config>操作。
•Candidate:此能力指明设备支持<candidate/>配置数据库。Candidate Configuration能力被用来在不影响当前配置的情况下,对设备的配置数据进行操作。
•Confirmed Commit:此能力指明在用户配置的时间<confirm-timeout>内,如果确认提交,则更新到最新配置运行的数据。
•Distinct Startup:此能力指明设备具备独立启动的能力。NETCONF Agent对参数进行可用性与一致性检查。
•Rollback on Error:此能力指明设备具备错误回滚能力。如果一个错误的条件发生并产生一个错误元素<rpc-error>,服务器将会停止处理<edit-config>操作,并把指定的配置恢复至开始执行<edit-config>操作时的完整状态。
•Sync:此能力指明设备具备同步能力。NETCONF Manager发送request消息给NETCONF Agent来更新NETCONF Manager的本地数据集,同时采用文件传输协议将NETCONF Agent数据同步到目的目录。
•Exchange:此能力指明设备具备交换能力。如果NETCONF会话具备交换能力,就支持<get-next>操作。

•Active:此能力指明设备具备激活的能力。如果NETCONF会话具备激活的能力,当NETCONF Manager在处理需要花费很长时间的操作期间,可以接收激活消息。

•Action:此能力指明设备具备行为的能力。NETCONF Agent支持行为能力以提供新的操作。NETCONF Manager使用这个操作并以XML格式来发送任何可执行的要求给CFG。CFG执行要求的操作然后再以XML格式给NETCONF Manager发送响应。
•Discard Commit:此能力用来取消或终止正在执行的confirmed-commit操作。
•Execute CLI: 此能力指明设备在处理请求过程中,能与发送端进行交互。只有具备交互能力的设备可以支持此操作。通过NETCONF, 此操作可以用来执行命令行。一条rpc请求最多可包含60条命令。
•Update:此能力指明设备具备更新能力。在提交过程中出现冲突时,通过<update>操作可将当前<candidate/>配置数据库中的数据更新到最新运行的数据。
•Commit-Description:<candidate/>配置数据库中存放的数据变为<running/>配置数据库的数据时,配置提交携带的描述信息。

•Notification:表示支持将设备产生的告警或事件通过notification消息有序的通知网管。

•Interleave:表示设备支持NETCONF会话多功能重用。用户可在同一个NETCONF会话上同时对设备进行维护操作和告警、事件管理。

Scope

表示NETCONF支持的能力范围,支持如下:
•public:NETCONF协议定义的标准能力。
•private:华为公司定义的私有能力。

Version

表示NETCONF支持的能力版本号。

附:华为netconf API查询



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容