网络管理与运维基本概念
什么是网络管理?
网络管理是通过对网络中设备的管理,保证设备工作正常,使通信网络正常的运行,以提供高效、可靠和安全的通信服务,是通信网络生命周期中的重要一环。
网络管理分为两类:
- 第一类是对网络应用程序、用户账号(例如文件的使用)和存取权限的管理。它们都是与软件有关的网络管理问题。
- 第二类是对构成网络的硬件即网元的管理,包括防火墙、交换机、路由器等等。
网络管理基本功能
OSI定义了网络管理的五大功能模型:
- 配置管理
- 性能管理
- 故障管理
- 安全管理
- 计费管理
网络管理方式
传统网络管理和基于iMaster NCE的网络管理。
传统网络管理:
- Web网管方式:利用设备内置的Web服务器,为用户提供图形化的操作界面。
- CLI方式:用户利用设备提供的命令行,通过Console口、Telnet、SSH等方式登录设备,对设备进行管理与维护。
- 基于SNMP集中管理:SNMP提供了一种通过运行网络管理软件的中心计算机(即网络管理站)来管理路由器、交换机的方法。此方式可以实现对全网设备集中式、统一化管理,大大提升了管理效率。
基于iMaster NCE的网络管理:
- iMaster NCE是集管理、控制、分析和AI智能功能于一体的网络自动化与智能化平台,包括四大关键能力:全生命周期化、基于大数据和AI的智能闭环、开放可编程使能场景化APP生态、超大容量全云化平台。
- iMaster NCE采用NETCONF(网络配置协议)、RESTCONF等协议对设备下发配置,使用Telemetry监控网络流量。
SNMP原理与配置
基于SNMP的集中式管理
SNMP(Simple Network Management Protocol,简单网络管理协议)是广泛用于TCP/IP网络的网络管理标准协议,提供了一种通过运行网络管理软件的中心计算机,即NMS(Network Management Station,网络管理工作站)来管理网元的方法。
SNMP共有三个版本:SNMPv1、SNMPv2c和SNMPv3。
- SNMPv1:SNMPv1基于团体名认证,安全性较差,且返回报文的错误码也较少。
- SNMPv2c:SNMPv2c中引入GetBulk和Inform操作,支持更多的标准错误码信息,支持更多的数据类型。
- SNMPv3:SNMPv3提供了基于USM(用户安全模块)的认证加密和VACM(基于视图的访问控制模型)功能。
SNMP典型架构
在基于SNMP进行管理的网络中,NMS是整个网络的网管中心,在它之上运行管理进程。每个被管理的设备需要运行代理(Agent)进程。管理进程和代理进程利用SNMP报文进行通信。
NMS是一个采用SNMP协议对网络设备进行管理或监控的系统,运行在NMS服务器上。
被管理设备是网络中接受NMS管理的设备。
代理进程运行于被管理设备上,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。
NMS通常是一个独立的设备,运行网络管理应用程序。
SNMP的信息交互
NMS和被管理设备的信息交互分为两种:
- NMS通过SNMP协议给被管理设备发送修改配置信息请求或查询配置信息请求。被管理设备上运行的代理进程根据NMS的请求消息做出响应。
- 被管理设备可以主动向NMS上报告警信息(Trap)以便网络管理员及时发现故障。
被管理对象(Managed object):每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件,也可以是在硬件、软件(如路由选择协议)上配置的参数集合。
SNMP规定通过MIB(管理信息库)去描述可管理实体的一组对象。
MIB
MIB是一个数据库,指明了被管理设备所维护的变量(即能够被代理进程查询和设置的信息)。MIB在数据库中定义了被管理设备的一系列属性:
- 对象标识符
- 对象的状态
- 对象的访问权限
- 对象的数据类型
MIB给出了一个数据结构,包含了网络中所有可能的被管理对象的集合。因为数据结构与树相似,MIB又被称为对象命名树。
MIB的定义与具体的网络管理协议无关。
MIB可以分为公有MIB和私有MIB两种。
- 公有MIB:一般由RFC定义,大多数的设备厂商都需要按照RFC的定义提供SNMP接口。
- 私有MIB:是公有MIB的必要补充,当公司自行开发私有协议或者特有功能时,可以利用私有MIB来完善SNMP接口的管理功能,同时对第三方网管软件管理存在私有协议或特有功能的设备提供支持。
SNMP管理模型
查询/修改操作:
- NMS作为管理者,向代理进程发送SNMP请求报文。
- 代理进程通过设备端的MIB找到所要查询或修改的信息,向NMS发送SNMP响应报文。
告警操作:
- 设备端的模块由于达到模块定义的告警触发条件,通过代理进程向NMS发送消息,告知设备侧出现的情况,这样便于网络管理人员及时对网络中出现的情况进行处理。
SNMPv1
SNMPv1定义了5中协议操作:
- Get-Request:NMS从被管理设备的代理进程的MIB中提取一个或多个参数值。
- Get-Next-Request:NMS从代理进程的MIB中按照字典式排序提取下一个参数值。
- Set-Request:NMS设置代理进程MIB中的一个或多个参数值。
- Response:代理进程返回一个或多个参数值。它是前三种操作的响应操作。
- Trap:代理进程主动向NMS发送报文,告知设备上发送的紧急或重要事件。
SNMPv2c
SNMPv2c新增了2种协议操作:
- GetBulk:相当于连续执行多次GetNext操作。在NMS上可以设置被管理设备在一次GetBulk报文交互时,执行GetNext操作的次数。
- Inform:被管理设备向NMS主动发送告警。与Trap告警不同的是,被管理设备发送Inform告警后,需要NMS进行接收确认。如果被管理设备没有收到确认信息则会将告警暂时保存在Inform缓存中,并且会重复发送该告警,直到NMS确认收到了该告警或者发送次数已经达到了最大重传次数。
SNMPv3
SNMPv3与SNMPv1和SNMPv2c的工作机制基本一致但添加了报头数据和安全参数。
SNMPv3报文具有身份验证和加密处理的功能。
SNMPv3适用于各种规模的网络,安全性极高。
SNMPv3增加了身份验证和加密处理的功能。
- 身份验证:身份验证是指代理进程(NMS)接收到信息时首先必须确认信息是否来自有权限的NMS(代理进程)并且信息在传输过程中未被改变。
- 加密处理:SNMPv3报文中添加了报头数据和安全参数字段。比如当管理进程发出SNMPv3版本的Get-Request报文时可以携带用户名、密钥、加密参数等安全参数,代理进程回复Response报文时也采用加密的Response报文。这种安全加密机制特别适用于管理进程和代理进程之间需要经过公网传输数据的场景。
SNMP小结
SNMP的特点如下:
- 简单:SNMP采用轮询机制,提供基本的功能集,适合快速、低价格的场景使用,而且SNMP以UDP报文为承载,因而得到绝大多数设备的支持。
- 强大:SNMP的目标是保证管理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排除。
SNMPv1版本适用于小型网络。组网简单、安全性要求不高或网络环境比较安全且比较稳定的网络,比如校园网,小型企业网。
SNMPv2c版本适用于大中型网络。安全性要求不高或者网络环境比较安全,但业务比较繁忙,有可能流量拥塞的网络。
SNMPv3版本作为推荐版本,适用于各种规模的网络。尤其是对安全性要求较高,只有合法的管理员才能对网络设备进行管理的网络。
SNMP的基本配置
基于华为iMaster NCE的网络管理
华为iMaster NCE是一款集管理、控制、分析和AI智能功能于一体的网络自动化与智能化平台。
iMaster NCE包含四大关键能力:
- 全生命周期自动化
- 基于大数据和AI智能智能闭环
- 开放可编程使能场景化APP生态
- 大容量全云化平台
NETCONF简介
NETCONF(网络配置协议),提供一套管理网络设备的机制。
用户可以使用这套机制增加、修改、删除网络设备的配置,获取网络设备的配置和状态信息。
NETCONF有三个对象:
- NETCONF客户端
- NETCONF服务器端
- NETCONF消息
NETCONF规定客户端与服务器端之间消息通信必须采用XML编码。
NETCONF的优势
YANG语言概述
YANG是一种数据建模语言,实现了NETCONF数据内容的标准化。
YANG模型定义了数据的层次化结构,可用于基于NETCONF的操作。建模对象包括配置、状态数据、远程过程调用和通知。它可以对NETCONF客户端和服务器端之间发送的所有数据进行一个完整的描述。
YANG起源于NETCONF,但不仅用于NETCONF。虽然统一了YANG建模语言,但是YANG文件没有统一。
YANG文件可以简单分为三类:
- 厂家私有YANG文件
- IETF标准YANG
- OpenConfig YANG
YANG模型的最终呈现是.yang为后缀的文件。
YANG模型的特点:
- 基于层次化的树状结构建模。
- 数据模型以模块和子模块呈现。
- 可以和基于XML的语法的YIN模型无损转换。
- 定义内置的数据类型和允许可扩展类型。
Telemetry基本概述
Telemetry也作Network Telemetry,即网络遥测技术,是一项远程地从物理设备或虚拟设备上高速采集数据的技术。
设备通过推模式周期性地主动向采集器上送设备的接口流量统计、CPU或内存数据等信息,相对传统拉模式的一问一答式交互,提供了更实时更高速的数据采集功能。