为何需要配置NETCONF和YANG

作者:Tomas Hedqvist

Managing network devices using NETCONF and YANG
按图放大

您如何管理设备? 仍在使用CLI:s和脚本吗? 或者您是否考虑过NETCONF 或REST

现在对于管理接口的选择有很多选项,有一些管理接口比其它的要更好。如果您想实现网络管理的自动化,或者确保您的设备可以在多供应商网络中进行管理,那么选择正确的管理协议和数据模型会获益良多。如果您希望管理虚拟网络功能(VNF)并利用软件定义网络(SDN)和网络功能虚拟化(NFV)技术的话,那么选择现代的、标准化的管理协议可以获得更多的益处。

我列出了四个问题,可以帮助您选择网络接口并确定是否需要NETCONF和YANG

问题1:需要配置网络还是仅设备?

在只有几十个设备的小型网络中,逐一管理它们可能不是一个大问题。但拥有上千万个设备的大型网络中,就会有问题。写脚本一直是解决此问题的传统方法,但它不可靠,且没有绝对的标准化。

配置的更改最好通过事件来执行。通过事件,可以确保一组更改完全配置完成了或者回到更改前的状态。换句话说,配置的更改不会只完成一半。

REST API非常适合机器通信,尤其是在连接到云服务时,这使其与业务流程集成非常有用。但是它不提供事件,因此对于设备管理而言不是最佳选择。

另一方面,NETCONF专为设备配置而设计,并提供网络范围的事件,从而可以立即更改网络中所有设备的配置。更改要么在所有设备上成功执行,要么根本不会被激活。通过这种方式,您可以确保在所有设备中都具有相同的配置。

问题2:是否需要标准化的管理界面?

大多数网络(较大规模的网络)都是由多家供应商的设备构建的。 显而易见,标准化使管理多厂商网络变得更加容易。

标准化始于数据模型。 例如,YANG是一种可以与NETCONF和REST接口一起使用的标准化建模语言。 配置数据和状态数据都使用YANG建模,从而提供了一种描述设备的标准化方法。 可以从模型自动呈现北向接口,从而确保设备和管理实体之间的一致性。

然而,REST不是单一的标准化协议,而是一种架构形式。 因此,尽管所有REST API遵循相同的原理和准则,但它们本质上来说是各个厂商独自实现的。

NETCONF是具有广泛市场采用的IETF标准。 如果要在网络中安装设备,许多服务提供商和网络运营商甚至都要求使用NETCONF和YANG对设备进行管理。

问题3:需要不会失败的鲁棒管理吗?

我已经提到过,NETCONF使用事件进行配置更改,从而使网络管理更加鲁棒。

NETCONF和YANG的另一个属性是,作为网络管理员,不必对设备进行更改的顺序进行追踪。这样可以最大程度地降低按错误顺序提交更改,从而导致设备出现故障状态的风险。

使用YANG建模的设备还可以包含约束条件和数据验证规则,使自动验证成为可能。这一点很重要,因为您可以在将模型应用到设备之前,验证模型本身和放入该模型数据的正确性。

NETCONF是围绕配置数据存储概念设计的,如果设备由于错误的配置更改而失去与管理实体的连接,则可以将配置改回更改前的状态,甚至自动改回。

问题4:想要自动化吗?

随着越来越多的网络功能被虚拟化,设备的数量及其位置并不是一成不变的。如果必须手动配置虚拟化设备,则在虚拟化时,您将丧失最初要寻找的敏捷性。但是自动化对于物理设备也很重要。

自动化管理时,您可以降低运营支出并提高敏捷性。但请记住,CLI:是针对人类的,而不是自动化的。自动化需要使设备可编程的API,并且该API可以由YANG模型提供,并可以通过NETCONF或REST API访问。 YANG, 因为是一种标准化的建模语言,所以它可以高度自动化地管理多供应商网络。

REST来自云端设备,它与云服务完美集成,使其成为与业务流程集成的合适选择,但不是直接从托管设备集成。从EMS / NMS引出的南向接口,NETCONF是更好的选择,但是对北向接口而言,REST是一个完美的选择。

那现在如何?

如果你想了解更多关于网络设备管理接口的软件,请务必阅读此报告:选择NETCONF / YANG管理接口软件