SNMP协议

1.网络管理概述

1.1网络管理的概念

1.2网络管理的功能

1.3网络管理的组成

1.4网络管理的模式

1.5网络管理的方式

2.SNMP协议

2.1SNMP协议介绍

2.2SNMP术语

2.3SNMP版本

2.4 NMS.Agent和MIB的关系

2.5 SNMP的工作流程

1.网络管理概述

1.1网络管理的概念

网络管理狭义的理解是通信量的管理,广义的理解是指利用多种应用程序,工具和设备来监控和维护重要网络资源的一-种技术,并对这些资源做统一的监控、配置、优化及计费。网络管理功能可概括为配置管理、性能管理、故障管理、安全管理和计费管理。

1.2网络管理的功能

网管管理的功能以包括为以下几个方面

1.配置管理

负责监测和控制网络的配置状态,对网络的拓扑结构、资源、使用状态等配置信息进行监测和修改,包括给规划、服务规划服务提供、状态监测和控制等。

2.性能管理

负责网络通信信息(流量、用户、访问的资源等)的收集、加工和I处理包括性能监视、性能分析、优化性能和生成性能报告等。

3.故障管理

能够迅速发现、定位和排除网络故障,保证网络的高可用性,包括故障警告、定位、测试、修复和记录等。

4.安全管理

保证网络管理系统正确运行,保护被管理的目标免受侵扰和破坏,包括身份验证、密钥管理、病毒预防灾难恢复等。

5.计费管理

正确地计管和收取用户使用网络服务的费用,进行网络资源利用率的统计,包括计费记录、用户账单网终运行成本等

1.3网络管理的组成

网络管理系统基本上由五部分组成:被管理端,代理程序,网络管理器,公共网络管理协议及管理信息厍 (IVanagement Intormation Base, MB)。

1.被管理端一般是网络中比较重要的设备,被管的目的是监控及维护,如服务器,网络设备等,但通常不涵盖普通的客户端。

2.代理程序是运行在被管理端上的程序,该程序的作用是把被管理端的数据及运行情况提交给管理端。

3.网络管理器就是管理端,定时收集被管理端的运行数据,以达到配置和监控的目的。

4.公共网络管理协议用来实现管理端和被管理端之间的通信,为不同厂商设备提供统一标准。

5.管理信息库是一个信息仓库,保存了设备本地的运行状态信息,被管里端上的代理程序就是通讨杳询该库来取设各本地的运行状态。网络管理协议与管理信息库一起协调工作,简化了网络管理的复杂讨程。因为管理信息库的管理信息描述了所有被管对象及其属性值,使得网络管理的全部工作就是对这些对象及属性值的读取(监视)或设置(控制)。

1.4网络管理的模式

网络管理分为带内(in-band) 管理和带外(out- -of- -band) 管理两种,这里的”带”可以理解为传输业务流量的有效带宽,通俗的说法就是管理流量是否占用业务流量带宽。

带内管理是指管理流量和业务流量在相同的链路中传递,这种方式部署起来比较简单,基于现有的网络资源就可以实现管理,但是这种方式的不足也显而易见,一旦网络出现广播风暴、中毒、拥塞等情况,对管理流量也会造成影响,

带外管理是指流量通过专用的线缆传输,和业务流量完全隔离。这种方式需要额外部署管理链路,会在一定程度上增加部署成本,好处是即使用户网络出现瘫痪,也基本不影响对设备的管理。

1.5网络管理的方式

随着网络技术的发展,对于网络管理的方式也是多种多样,有基于命令的,也有基于图形界面的,以下是主流的网络管理方式。

1.Telnet 管理。Telnet 是比较传统的管理方法,通常用来管理网络设备,确切地说是用命令行来进行管理。Telnet 本身也是知名的应用层协议,客户端通过TCP的23号端口和服务端建立连接,不需要额外安装客户端软件。Telnet 使用起来比较简单,一般设备都支持 Telnet管理,如果是服务器,则需开启Telnet服务才可以被管理。Telnet 般部署为带内管理。

2.console 管理.之前的课程已经介绍了通过console 口配置和管理网络设备,通过使用专门的线缆(console线) 来进行管理,因为console线不传输业务流量,所以是典型的带外管理。

3.SSH管理。和Telnet 非常类似,SsH (Secure Shell安全的Sel)也用于远程管理,区别是它更加安全在传输的过程中会对明文做加密处理. SSH主要用于对安全性要求比较高的场合,如远程跨公网管理远端设备。

4.Web管理。Web管理通过浏览器实现对设备的访问和管理,如家用路由器的管理就属于此种方式。Web管理通过HTTP通信,有些管理甚至使用HTTPS以提高其安全性.管理端使用浏览器,具有图形界面,无须额外安装客户端,普通用户容易上手。Web管理一般部署为带内管理。


2.SNMP协议

2.1SNMP协议介绍

SNMP (Simple Network Management Protocol简单网络管理协议)是网络管理程序(MS)和代理程序(Agent) 之间的通信协议。它规定了在网络环境中对设备进行管理的统一标准, 包括管理框架、公共语言、安全和访问控制机制。SNMP 的前身是简单网管监控协议(SGMP). 用来对通信线路进行管理,之后Internet工作组IETF对SGMP做了标准化的修改,加入了SMI和MIB体系结构,演变成今天的SNMP协议。SNMP 是公有标准,可以用来实现多厂商、多设备的统一管理, 可以管理的设备包括主机.服务器及网络设备等.在网络正常工作时,SNMP可实现统计、配置和测试等功能。当网络出现故障时,可实现各种差错检测和恢复功能。SNMP是种应用层协议,传输层使用UDP传输。

2.2SNMP术语

1.NMS: 网络管理程序部署在管理端,通过在管理端安装相应的管理软件. 实现通过网络收集被管理端的数据,并对数据做分析制表,展示给网络管理人员。

2.Agent:代理程序是运行在被管理端的一个进程,负责和NMS通信,通常情况下通信方式有两种,一种是NMS向Agent发出请求,获取某一变量的值, 再由Agent响应NMS;另外一种是Agent主动向NMS发送某些重要的通知消息。

3.MIB:管理信息库包含所有可能被查询的变量的集合,是包含设备各种当前状态信息的数据库,保存了设备本地所有的变量,MIB给出了一个网络中所有可能被管理对象的集合。

4.OID:对象标志符是以管理信息结构SMI (Structure of Management Information)为基础的一系列点分符号,Me中用这些符号来精确表示某一变量的层次路径 这些点分特号在任何网络设备中都唯一标识某一个变量, 也就是实时管理的数据信息。

变量:指没有固定的值,可以改变的数

2.3SNMP版本

SNMP是目前TCP/P网络中应用最为广泛的网络管理协议。1990年5月,RFC1157定义了SNMP的第一个版本SNMPv1. RFC 1157和另一个关于管理信息的文件RFC 1155- 起,提供了- -种 监控和管理计算机网络的系统方法。因此,SNMP 得到了广泛应用,并成为网络管理的标准。SNMP 最重要的指导思想就是要尽可能简单,以便缩短研制周期。SNMP的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。

SNMP的发展历经了三个版本,分别是SNMPv1. SNMPv2、 SNMPv3. 其中SNMPv1和SNMPV2有很多共同特征,如都使用community (共同体名)作为登录时的校验,SNMPv2 在功能上得到了增强,增加了额外的协议操作。SNMPv3在先前版本的基础上增加了安全和远程配置能力,使用了比较复杂的用户名+密码的方式。三个版本除了认证方式有区别外,在一些功能和配置方面也有区别.-般来说,SNVPv1 功能有限: SNMPv2 部署简单,功能齐全,SNMPv3 增强了安全性,但大规模部署时稍显麻烦。

2.4 NMS.Agent和MIB的关系

SNMP田来监控和管理网终中一组设备,它借助于网络通信实现。SNMIP 使用标准的协议报文来实现通信,为管理程序和代理程序之间的通信提供了统一的标准:NIMS 运行在管理端,通过它管理若干个设备:Agent运行在被管理端,用于和 NMS 进行通信。因此,简化的管理过程就演变成了管理程序和代理程序通信的过程。很多主流的厂商设备者支持 SNMP,所以通过SJMP协议,NMS可以管理所有支持 SNMP协议的设备。

2.5 SNMP的工作流程

1.由NMS向Agen发出请求,请求一一个或多个变量。这些变量通常情况下都对应设备当前的运行状态信息

2.Agent代理程序查询设备本地的MIB.

3.Agent 得到查询结果。

4.Agent将变量的值发送给MMS, NMS 完成信息收集,

SNMP提出了Community(共同体名)来提供管理程序和代理程序之间的认证以提高SNMP工作的安全性。Community要求管理设备和被管理设备双方指定并且要完全致否则无法正常通信,从而避免了非法的主机管理网络设备的行为,在指定community的同时还可以附加属性,比较常用的属性有RO和RW里代表Read-Only (只读). RW代表Read -Write (读写).默认的Community值有两个,分别是public和private, -般情况下,public附加RO属性private 附加RW属性。如果被管理设备指定Cormmunity为public (RO). 意味着管理端对该设备具有读取权限,没有写入权限,只能监控系统的运行状态:同理,如果指定为private (RW),管理端对该设备可读可写.既可以监控,又可以执行修改配置、改变接口状态等操作。

SNMP协议使用UDP的161162通信,在正常情况下,NMS会周期性地向代理程序发起请求,请求一个或多个变量的取值,该请求的目标端口是161; 在非常特殊的情况下,如设备严重故障,代理程序也会主动发出Trap消息给NMS,此时,Trap消息的目标端口是162.

注:Trap消息,简单来说就是被管理设备主动发送消息给NMS的一种机制。当被管理设备出现严重的性能问题,甚至是接口down 等问题时,Agent 需要主动发送消息给NMS。假如发生此类事件时,如果不是由Agent主动通知 NMS,那么 NMS 要等到轮询间隔才能对这一事件做出反应。

你可能感兴趣的:(网络,linux,运维)