思科新版eiccie认证工程师一定要知道的NETCONF协议详解

本文主要是介绍思科新版eiccie认证工程师一定要知道的NETCONF协议详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

思科新版eiccie认证工程师一定要知道的NETCONF协议详解这些年随着SDN的热潮,一个诞生了十年之久的协议再一次引起了人们的重视,它就是NETCONF协议。

网络配置协议NETCONF(Network Configuration Protocol)提供一套管理网络设备的机制,用户可以使用这套机制增加、修改、删除网络设备的配置,获取网络设备的配置和状态信息。通过NETCONF协议,网络设备可以提供规范的应用程序编程接口API(Application Programming Interface),应用程序可以直接使用这些API,向网络设备发送和获取配置。

NETCONF(Network Configuration Protocol)是基于可扩展标记语言XML(Extensible Markup Language)的网络配置和管理协议,使用简单的基于RPC(Remote Procedure Call)机制实现客户端和服务器之间通信。客户端可以是脚本或者网管上运行的一个应用程序。

使用NETCONF协议的好处是:

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

NETCONF基本网络架构主要由几个部分组成:

  • NETCONF manager:

 NETCONF Manager担任网络中的Client,是一个利用NETCONF协议对网络设备进行系统管理。

向NETCONF Server发送请求,查询或修改一个或多个具体的参数值。

接收NETCONF Server主动发送的告警和事件,以获知被管理设备的当前状态。

  • NETCONF agent:

NETCONF Agent担任网络中的Server,用于维护被管理设备的信息数据并响应NETCONF Manager的请求。

服务器收到客户端的请求后会进行数据解析,然后给客户端返回响应。

当设备发生故障或其他事件时,服务器利用Notification机制主动将设备的告警和事件通知给客户端,向客户端报告设备的当前状态变化。

  • 配置数据集(Datastores)

NETCONF定义了一个或多个配置数据集的存在,并允许对它们进行配置操作。配置数据集被定义为使设备从其初始默认状态进入期望的操作状态所需的完整配置数据集合。

NETCONF Manager从运行的NETCONF Agent上获取的信息包括配置数据和状态数据

NETCONF Manager可以修改配置数据,并通过操作配置数据,使NETCONF Agent的状态迁移到用户期望的状态。

NETCONF Manager不能修改状态数据,状态数据主要是NETCONF Agent的运行状态和统计的相关信息。

如同ISO/OSI 一样NETCONF协议也采用了分层结构,每个层分别对协议的某一个方面进行包装,并向上层提供相关的服务。分层结构能让每个层只关注协议的一个方面,实现起来更加简单,同时合理的解耦各个层之间的依赖,可以将各层内部实现机制的变更对其它层的影响降低到最低。

内容层表示的是被管对象的集合。内容层的内容需要来自数据模型中,而原有的MIB等数据模型对于配置管理存在着如不允许创建和删除行,对应的MIB 不支持复杂的表结构等缺陷。

操作层定义了一系列在RPC中应用的基本的原语操作集,这些操作将组成NETCONF的基本能力。

RPC层为RPC模块的编码提供了一个简单的、传输协议无关的机制。通过使用<rpc> 和<rpc- reply> 元素对NETCONF协议的客户端和服务器端的请求和响应数据进行封装,正常情况下<rpc- reply> 元素封装客户端所需的数据或配置成功的提示信息,当客户端请求报文存在错误或服务器端处理不成功时,服务器端在<rpc- reply> 元素中会封装一个包含详细错误信息的<rpc- error> 元素来反馈给客户端。

传输层:传输层为NETCONF Manager和NETCONF Agent之间交互提供通信路径。NETCONF协议可以使用任何符合基本要求的传输层协议承载。

对承载协议基本要求如下:

面向连接, NETCONF Manager和NETCONF Agent之间必须建立持久的链接,链接建立后,必须提供可靠的序列化的数据传输服务。

用户认证,数据完整、安全加密, NETCONF协议的用户认证,数据完整,安全保密全部依赖传输层提供。

承载协议必须向NETCONF协议提供区分会话类型(Client或Server)的机制。

这篇关于思科新版eiccie认证工程师一定要知道的NETCONF协议详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/643271

相关文章

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Java中八大包装类举例详解(通俗易懂)

《Java中八大包装类举例详解(通俗易懂)》:本文主要介绍Java中的包装类,包括它们的作用、特点、用途以及如何进行装箱和拆箱,包装类还提供了许多实用方法,如转换、获取基本类型值、比较和类型检测,... 目录一、包装类(Wrapper Class)1、简要介绍2、包装类特点3、包装类用途二、装箱和拆箱1、装

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要