在回顾自己的职业生涯时,大多数IP从业者都有类似的经历:花在配置大量路由器上的时间使大规模部署成为可能。我一直很感激参与这些项目所带来的责任,在我的职业生涯中,我将这些记忆记录在照片档案中。

伊凡娜+ Lemos +配置+ Routers_1伊凡娜+ Lemos +配置+ Routers_2

尽管这些都是很好的记忆,但有一个方面是具有挑战性的:需要手动配置,并使用命令行界面(CLI)反复输入几乎相同的配置——一次又一次。

回想起来,我已经用1000个行配置脚本配置了100个路由器!简单的数学运算仍然让我吃惊。我已经手动输入了数十万个命令行。

为什么我们要做这么多手动配置?

过去,简单网络管理协议(Simple Network Management Protocol,简称SNMP)一直被用于监视所有类型的红色和绿色统计数据和图表,这些数据和图表显示设备的性能如何。SNMP的设计目的是支持监控和配置,但它并不是网络配置的实际选择,尤其是在网络规模扩大的情况下。

几十年来,人们一直试图实现路由器配置的自动化。他们使用特定于设备的工具、专有集成和脚本来推进不同的专有CLI,除了SNMP管理信息库(MIB),几乎没有选择其他标准数据表示技术。

随着时间的推移,越来越多的网络工程师意识到——就像我一样——那些他们经常重复做的日常任务不仅耗时,而且容易出现人为错误。很明显,为了业务(和我们自己的)的健康,需要自动化这些任务。

但是如何做到这一点呢?

羊:变革之风

业界意识到标准化的数据模型和配置协议是必要的。因此,IETF的网络配置协议(NETCONF)和Yet Another Next Generation (YANG)数据建模语言被开发出来,为原本混乱的配置环境增加了结构、互操作性和控制。

一个经常被忽视的方面,也是这种情况没有更早发生的原因,就是NETCONF标准比IETF标准化YANG早发布了好几年。在这段时间内,整个NETCONF的采用是有限的,因为只有当与YANG数据建模语言配对时,实际的自动化才能实现,我们开始倾听变化的声音。

下表总结了到目前为止所提到的配置管理协议是如何随时间变化的:

进化图+显示+ + + SNMP +到+ CLI + + NETCONF

如果你从“模块”、“YANG”、“NETCONF”、“XML”的概念开始,不要担心。这里有一个简单的20分钟网络研讨会系列资源你可以一头扎进去启动你的旅程。

现在,如果你即将实施或实施NETCONF/YANG和SDN管理,我建议你进一步阅读。这是值得你花时间的!

让你的NETCONF/YANG成功实施的3个技巧:

  1. 你需要正确的设备投资于可编程硬件基础设施应该先于自动化。如果一些路由器不支持标准化的数据建模和配置协议(例如NETCONF/YANG),那么实现大规模的网络自动化将是极其困难的。
  2. 使用api而不是CLI -利用现代软件的强大功能并使用应用程序编程接口(api)实现自动化。YANG本身不是一个API,也不是一个配置机制。YANG是用来建立网络及其功能的数据模型的语言。有了YANG数据模型之后,就可以使用api对数据模型进行编程操作,以配置和监视网络。这些api可以是NETCONF,也可以是gNMI/gRPC等。但是请记住,无论您使用什么API,都应该对YANG数据模型进行操作。
  3. 确保您有CLI和NETCONF奇偶校验当使用NETCONF/YANG时,您需要访问与CLI相同的功能和状态。NETCONF/YANG不应该只涵盖路由器的某些方面。基于cli的手动管理和自动化的NETCONF管理必须产生相同的结果。Ciena引以为豪的是,SAOS下一代操作系统(OS) CLI基于YANG数据模型,并与YANG数据模型保持一致。因此,不会出现部署不匹配或意外。

Ciena一直积极参与行业互操作性和定期部署测试,例如由欧洲先进网络测试中心(或EANTC)进行的测试。2021年NETCONF/YANG的结果非常有启发性,可以找到在这里

最终的想法

当我们第一次开始建立网络时,它是关于连接地点。然后我们开始用无线网络连接人们。接下来,我们建立了网络来连接机器。现在我们正在构建网络来连接应用程序的工作负载。地点、人员、机器和应用程序的结合提高了对密集配置网络的需求。

我们必须考虑CLI脚本结束的那一天。为了实现这一点,我们必须适应,我们的硬件必须变得更加可编程,我们的过程必须更加自动化。在Ciena,我们称这种组合为可编程的基础设施通过分析驱动的智能自适应网络TM

回顾过去的记忆总是很有趣的——看看事情是如何变化的。当我们的客户在他们的网络进化之旅中工作时,站在这一变化的最前沿是令人兴奋的,我们一起努力使之成为现实,并在此过程中更新我们的相册。