跳至主要内容

什么是 NETCONF?

什么是 NETCONF?

NETCONF(网络配置协议)是一种网络管理协议,提供安装、更新和删除网络设备配置的机制。NETCONF 由互联网工程任务组(IETF)定义,对配置数据和协议消息使用 XML(可扩展标记语言)数据编码,通过 SSH 等安全传输协议进行操作。网络管理员使用 NETCONF 来配置和管理网络基础设施,从而帮助实现自动化并减少手动配置错误。

为什么 NETCONF 很重要?

NETCONF 允许组织执行网络管理任务和故障排除,在可以支持数千台设备的网络上扩展管理。

传统上,网络管理员使用命令行界面(CLI)和简单网络管理协议(SNMP)来管理网络设备。网络团队使用 CLI 在特定设备上手动输入命令,这会导致效率低下和错误。SNMP 是一种网络管理协议,专为简单的网络管理而设计,因此无法提供现代复杂网络所需的灵活性。作为使用 CLI 和 SNMP 的替代方案,NETCONF 使用结构化和可读的配置来标准化网络通信,减少配置错误,并帮助自动化管理网络设备。

网络自动化

使用 NETCONF,网络管理员能够自动添加、更新或删除网络设备上的配置数据。此外,网络管理系统无需人工干预即可从网络设备检索操作数据。

配置一致性

NETCONF 协议使用 YANG 数据建模语言来构造其发送给设备的配置数据。YANG 定义了数据的外观,而 NETCONF 则移动编码后的数据。这可确保不同供应商的设备上的配置数据格式一致。

远程管理

NETCONF 通过安全连接在私有和公有网络上运行。因此,网络管理员可以在任何位置配置和监控设备。

版本控制和回滚

当设备收到新的配置数据时,会将先前版本存放在一个名为候选数据存储区的临时存储器中。在应用更改之前,网络设备会验证更新以确保正确无误。如果需要,网络管理员可以请求将设备恢复到先前版本的配置。

NETCONF 有哪些层?

NETCONF 协议架构使用四层模型来实现网络配置和操作数据的交换。下面,我们将介绍 NETCONF 协议的各层以及这些层如何支持网络监控和配置操作。

传输层

传输层为网络设备传输数据提供了安全的通信路径。虽然 NETCONF 支持多种传输协议,但通常使用 Secure Shell(SSH)保护传输层。SSH 是一种对数据进行加密的计算技术,因此可以在不安全的网络上安全地传输数据。

消息层

消息层将客户端和服务器交换的远程过程调用(RPC)编码为 XML 格式。通常,NETCONF 支持以下 RPC 消息:

  • <rpc> 包含客户端发送到服务器的请求

  • <rpc-reply> 包含服务器发送到客户端的响应

  • <notification> 包含服务器发送到客户端的单向警报或事件更新

操作层

操作层定义了特定于设备的协议,网络操作员使用这些协议来配置或监控设备。操作层的消息包括:

  • <get> 允许客户端检索操作数据

  • <get-config> 允许客户端从指定的配置数据存储区检索数据

  • <edit-config> 允许客户端添加、更新或替换设备配置数据

  • <delete-config> 允许客户端从目标配置数据存储区中删除特定参数

内容层

内容层提供了一种独立于传输的帧机制,用于编码 RPC 和通知数据。该层由 NETCONF 设备在其 RPC 消息中发送的结构化有效载荷组成。

NETCONF 如何运作?

网络配置协议(NETCONF)提供了一个 RPC 框架,客户端可以使用该框架与服务器通信。远程过程调用是一种计算方法,允许客户端从服务器调用软件函数,就好像这些函数是在本地声明的一样。

NETCONF 客户端是指网络管理软件,而 NETCONF 服务器是网络设备,例如路由器、交换机和负载均衡器。在 NETCONF 中,客户端和服务器使用可扩展标记语言(XML)消息交换命令和响应。XML 是一种数据格式,允许设备交换机器和人类均可读的数据。客户端和服务器之间的数据交换通过加密的通信通道进行。

发起 NETCONF 会话时,服务器和客户端都会发送一条消息,表明其 NETCONF 功能。这是一条 <hello> 消息,表明设备的 NETCONF 版本、数据模型和功能。然后,客户端启动 NETCONF 会话,这样客户端就可以向特定服务器发出 RPC 请求。建立会话后,客户端使用 NETCONF 操作来管理与服务器关联的网络设备。

例如,客户端可以从设备获取配置和操作数据、发送配置更新,以及删除存储的配置。根据公布的 NETCONF 功能,某些设备可能支持其他操作。

以下是 NETCONF 客户端和服务器之间 RPC 交换序列的示例。

  • 客户端和服务器建立 SSH 会话

  • 客户端和服务器均表明自己的功能

  • 客户端发送一个包含 <get> 操作的 <rpc> 请求,检索设备状态

  • 服务器回复一条包含设备状态的 <rpc-reply> 消息。

  • 客户端请求关闭 SSH 会话

  • 服务器通过响应确认请求

  • 客户端关闭 SSH 会话

NETCONF 有哪些主要功能?

NETCONF 利用这些功能简化了跨多个网络设备的网络管理。

基于 XML 的编码

基于 Netconf 的设备以 XML 格式对消息进行编码,用于发送和接收信息。XML 是一种独立的文件格式,允许以易于理解的方式结构化和表示设备数据。XML 支持来自不同供应商的设备之间的互操作性。

分离配置和状态数据

NETCONF 架构通过协议操作和数据模型将系统配置和状态数据分开。例如,<get> RPC 允许您检索操作数据,而 <get-config> 限制对配置数据执行的操作。此外,NETCONF 架构经常使用 YANG 将数据类型限制为各自的类别。

基于事务的操作

NETCONF 在执行配置事务时支持原子操作,这意味着只有成功更新所有参数值时才接受更改。否则,客户端可以将配置回滚到以前的版本。例如,假设您要按顺序更新 50 个参数。如果第 49 个参数包含错误,则托管设备将丢弃所有请求的更改。

候选配置数据存储区

候选配置数据存储区存储尚未激活的新配置值。该数据库允许在不影响现有网络操作的情况下临时存放配置数据。

验证能力

验证能力是网络设备对其接收到的配置数据进行正确性验证的能力。这可以防止设备使用包含任何错误的数据更新其配置。

NETCONF 有哪些功能?

NETCONF 提供了一组简化现代联网基础设施管理的功能。以下是 NETCONF 的一些关键功能。

设备配置管理

使用 NETCONF,网络管理员可以创建、合并、更新和删除网络设备上的配置数据。在进行更改之前,他们可以临时上传并验证配置数据,进而确保无缝过渡到新配置。

网络状态检索

NETCONF 支持从网络设备高效检索操作数据。网络管理系统可以通过 <get> RPC 检索各种状态数据,包括路由表、服务器统计数据和带宽使用情况。

事件通知

如果支持通知功能,客户端就可以将网络设备配置为自动发送特定报警或事件的通知。这样,无需手动检查即可提醒网络管理员注意网络变化。

批量配置更改

NETCONF 支持同时更新多个网络参数。您可以通过单个 RPC 调用更新所有参数,而不是一个接一个地更新配置值。为确保数据完整性,网络设备在应用这些更改之前,会根据指定的规则和语法对请求的更新进行验证。

NETCONF 与 SNMP 相比如何?

SNMP 是一种传统的网络管理协议,使用简单的智能体服务器方法进行网络监控。而 NETCONF 是一种现代网络管理协议,支持编程消息交换,用于自动监控和配置。

SNMP 通过 UDP 传输数据,这并不能保证传输,而 NETCONF 则通过 SSH 运行,使用 TCP 来提供基于可靠连接的会话。SNMP 以基本安全性运行,而 NETCONF 使用安全的传输层对设备发送的数据进行加密。

检索操作数据时,SNMP 依赖于一个名为管理信息库(MIB)和对象标识符(OID)的特殊数据库,这些内容因供应商而异,而 NETCONF 使用标准 XML。SNMP 事务是非原子的,这意味着每条配置数据在处理时都会立即更新。相反,NETCONF 允许将配置值暂存到临时存储器中,以降低配置错误的风险。

什么是 NETCONF 数据存储区?

NETCONF 数据存储区是为网络设备中的配置数据分配的存储空间。NETCONF 数据存储区根据 YANG 等数据模型定义的结构存储配置数据。每台网络设备都有一个必需的运行数据存储区,而有些设备支持额外的配置数据存储区,例如候选数据存储区和启动数据存储区。这些数据存储区允许使用 NETCONF 消息对设备进行系统配置。

正在运行的配置

正在运行的配置数据存储区由设备的当前配置组成。一台设备只能存在一个正在运行的数据存储区。

候选配置

候选配置功能为新的配置值提供临时存储。客户端可以在不影响设备操作的情况下更新候选配置数据存储区。验证新配置后,客户端可以提交更改,从而将候选数据存储区中的数据移动到正在运行的数据存储区。

启动配置

启动配置数据存储区包含网络设备在开机时加载的配置数据。

NETCONF 有哪些使用案例?

这就是网络专家在现代联网使用案例中应用 NETCONF 的方式。

多供应商网络管理

管理多供应商网络需要整合相应制造商开发的专有协议之间的差异。NETCONF 提供了一个通用网络协议,组织可以使用该协议来访问网络设备上的标准应用程序编程接口(API)。

软件定义的网络(SDN)

软件定义的网络(SDN)使用编程方法解耦传统网络架构中的控制和数据面板。SDN 可以使用 NETCONF 自动配置网络,包括 IP 路由、负载均衡和防火墙规则。

网络功能虚拟化(NFV)

网络功能虚拟化使用称为虚拟化网络功能(VNF)的等效软件组件取代了硬件网络功能。这些 VNF 可以使用 NETCONF 作为配置框架来管理虚拟或实体网络设备。

云网络基础设施

在云中预置网络资源需要灵活性、可扩展性和自动化,而传统方法(如 SNMP 和 CLI)无法提供这些性能。相反,NETCONF 可以为在公有、私有或混合云环境中大规模管理网络基础设施提供基础。

AWS 如何支持您的 NETCONF 要求?

AWS 提供解决方案,帮助大规模管理和自动化基于 NETCONF 的设备和网络基础设施:

使用 Amazon Virtual Private Cloud(Amazon VPC),您可以在逻辑隔离的虚拟网络中定义和启动 AWS 资源。Amazon VPC 让您能够全面地控制自己的虚拟网络环境,包括资源放置、连接性和安全性。

AWS Network Firewall 借助自动化、智能驱动的网络安全技术,帮助您保护 Amazon VPC。您可以创建精细化规则控制流量,通过由 Amazon 威胁情报提供支持的 AWS 托管规则,自动拦截活跃威胁。

AWS Transit Gateway 通过中央枢纽连接您的 Amazon Virtual Private Cloud(VPC)和本地网络。Transit Gateway 充当高度可扩展的云路由器,每个新的连接只建立一次。

立即创建免费账户,开始在 AWS 上使用网络自动化。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages