「NETWORK-AUTOMATION」- 网络自动化的概述(概念)

  CREATED BY JENKINSBOT

网络架构的变革

SDN(Software Defined Networking,软件定义网络)带来了网络架构的变革。它引入网络控制器,通过全局视角集中控制,实现业务快速部署、流量调优、网络业务开放等目标。简单说,遵照标准与规范的要求,通过中心化的控制器,来管理所有网络设备。

初级网络自动化

网络自动化,即通过工具实现网络自动化部署和运维,逐步减少对“人”的依赖。

业界有很多实现网络自动化的开源工具,例如 Ansible、SaltStack、Puppet、Chef 等。这些工具通过 SSH 连接到设备实现批量化的操作和管理,实现初级的网络自动化。

网络自动化关键词:Ansible、Chef、网管工具、Python、SaltStack、自动化脚本、Shell

网络自动化的发展

初级网络自动化基于CLI方式管理网络,其痛点在于网络设备返回的是非结构化数据(文本回显),不利于计算机处理。

网络自动化发展的基础需求是设备提供结构化的数据,这可以极大地推进网络自动化的进程。设备开放 NETCONF/RESTCONF 接口,提供 XML 或 JSON 格式的数据类型。

结构化的数据 vs 非结构化数据:

// 结构化数据:
// 机器易于理解和处理
// NETCONF、RESTCONF

{  
    "Interfaces": { 
        "GigabitEthernet0/0/0": { "InUti": "10", "OutUti": "20", "inErrors": "0", "outErrors": "0" },       
        "GigabitEthernet0/0/1": { “InUti”: “20", "OutUti": “30", "inErrors": "0", "outErrors": "0" }   
      }
}

// 非结构化数据:
// 人易于理解,但机器很难处理,不利于自动化;
// 通常来自 CLI/SSH、SNMP 的输出;

Interface                 InUti  OutUti   inErrors  outErrors
GigabitEthernet0/0/0       10%    20%          0          0
GigabitEthernet0/0/1       20%    30%          0          0
…

网络开放与可编程简介

网络开放与可编程,即:在开放网络的前提下,使用编程的手段实现自动化的网络。
在 SDN 商用初期及未来更长的时间,传统网络和SDN会大规模的并存。网络的开放体现在两个层面:设备的开放 和 SDN 平台的开放。

基于设备的开放与可编程:CLI/SSH、SNMP、NETCONF、RESTCONF、Telemetry、OPS 等…

基于SDN平台的开放与可编程:RESTful API

华为iMaster NCE业务开放可编程

iMaster NCE(简称NCE)是华为公司创新的网络云化引擎。在NCE的整体开放编程能力中,包括了自动化、分析和意图三大块,其目标是打造全生命周期的开放可编程架构,匹配客户开放可编程诉求。其中NCE业务开放可编程定位于助力客户实现业务自动化。

注:iMaster NCE不仅是控制器,还包含分析和网络管理等功能。

Cisco DevNet

将编程融入网络,通过程序来管理网络。