网络架构的变革
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
将编程融入网络,通过程序来管理网络。