浅谈简单网络管理协议SNMP

    作者:课课家教育更新于: 2019-02-22 10:03:16

    软考,您想通过吗?一次通过才是硬道理

      网络管理可以对网络的运行状态进行检测与控制,而网络管理协议是网络管理的组成部分,它可以被用来在网络管理站和管理代理之间传输信息,完成信息交换安全控制的通信规约。目前应用最为广泛的网络管理协议就是SNMP,在这里我们就来简单地谈谈这个SNMP吧。

      SNMP,基于TCP/IP工作,能对企业网络中支持SNMP功能的设备进行集中网络管理。这些设备包括服务器、工作站、路由器、交换机、PIX防火墙、ASA、入侵检测与防御设备等,它是一种开放的、标准的应用层协议。SNMP使网络管理员能够更有效的管理企业网络,包括:集中监控网络服务器及各种网络设备的CPU、内存、接口状态等实时信息。发现并解决网络问题及规划网络增长。通过SNMP接收随机消息(及事件报告),使得网络管理系统获知网络出现问题。

      SNMP网络管理的组件

      被管理设备、SNMP代理和NMS(网络管理系统)为三个SNMP网络管理的主要组成部分。

      被管理设备:通常有一个基本的网络通信点,可以是路由器、服务器、交换机和网桥、主机、网络打印机、防火墙等。被管理设备有时被称为网络单元。

      SNMP代理:是被管理设备上的一个网络管理软件功能模块,通常被集成到被管理的网络设备上。SNMP代理拥有本地的相关管理信息,并将它们转换成SNMP兼容的格式消息,发送给网络管理平台。

          NMS(网络管理系统):运行基于SNMP的网络管理应用程序以实现监控被管理的网络设备,也就是SNMP管理的服务端。任何受SNMP管理的网络至少需要一个或多个网络管理系统,整个SNMP的网络管理构建如下图所示。

     浅谈简单网络管理协议SNMP_SNMP_网络管理协议_TCP/IP_网络管理系统_课课家

    SNMP的网络管理

      SNMP的技术优点

      SNMP具有以下技术优点:

      1.基于TCP/IP互联网的标准协议,传输层协议一般采用UDP。

      2.自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。

      3.屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本的功能集,使得管理任务与被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理。

      4.简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制。

      5.报文种类少,报文格式简单,方便解析,易于实现。

      6.SNMPv3版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性。

      SNMP的报文格式

      SNMP的报文总是源自每个应用实体,报文中包括该应用实体所在的共同体的名字,也就是团体名。这种报文在SNMP中称为“有身份标志的报文”,共同体名字是在管理进程和管理代理之间交换管理信息报文时使用的。

      SNMP的报文格式如下图。

    SNMP的报文格式

      版本标识符(Version Identifier):确保SNMP代理使用相同的协议版本。每个SNMP代理都会丢弃与自己协议版本不同的数据报文。

      团体名(Community Name):用于SNMP代理与SNMP管理站之间进行认证。如果被管理设备与SNMP网络管理系统之间协同工作,那么要求它们的团体名称必须一致。在默认情况下,private与public为SNMP的团体名。private表示SNMP管理站可对SNMP代理(被管理设备)执行写操作,具有安全风险,如果不是必须,请小心使用。public表示SNMP管理站可对SNMP代理(被管理设备)执行只读操作。

      协议数据单元(PDU):PDU指明了SNMP的消息类型及其相关参数。PDU消息是SNMP代理(被管理设备)发出的真实消息。

      注意:SNMP数据报文与PDU之间的区别。SNMP报文与SNMP的PDU报文严格地说不是一回事。PDU是被管理设备之间通信的真实消息,它和大量用于携带标识和安全性字段一起被嵌入到SNMP整体报文中。因此,一般我们将SNMP的报文表达成SNMP报文首部与PDU消息体。

      SNMP的报文类型

      SNMP定义了5种报文:

      (1)get-request操作:从代理进程处提取一个或多个参数值。

      (2)get-next-request操作:从代理进程处提取一个或多个参数的下一个参数值。

      (3)set-request操作:设置代理进程的一个或多个参数值。

      (4)get-response操作:由代理进程发出的一个或多个参数值。它是3种的响应操作。

      (5)trap操作:代理进程主动发出的报文,通知管理进程由事情发生。

      前面3个操作是由管理进程向代理进程发出的,后两个是代理进程发给管理进程的。

      说明:

      1.前4种操作是简单的请求-应答方式,由于采用UDP协议,因此一定要有超时和重传机制。

      2.管理进程采用UDP的161端口,代理进程使用UDP的162端口,因此一个系统可以同时为管理进程和代理进程。

      SNMP的代理/管理站模型

      SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。简单来说,就是需要一个服务器程序(代理,agent)和一个客户机(管理器,manager)。而与直观上不同的是,SNMP的服务器端代表被管理的事物,而客户机端才是管理者。客户机从简单的命令行实用程序,如net-snmp提供的snmpwalk,到专门的管理软件、工作站都有。

      Snmp分2种角色:SNMP管理站(manager,我们的本机127.0.0.1)和SNMP代理(agent, 我们要操作的机器,比如 192.168.1.144)。管理站指的是运行了可以执行网络管理任务软件的服务器,通常被称作为网络管理工作站(NMS),NMS负责采样网络中agent的信息,并接受agent的trap。代理是实际网络设备中用来实现SNMP功能的部分。代理在UDP的161端口接收NMS的读写请求消息,管理站在UDP的162端口接收代理的事件通告消息。所以,一旦获取设备的访问权限(community,默认为public),就可以访问设备信息、改写和配置设备参数。由于采用UDP协议,不需要在代理和管理站之间保持连接。

      SNMP的版本

      SNMPv1:SNMPv1是最早的SNMP定义,其所有的PDU有相同的格式,相对简单,但存在严重的安全问题、一般不建议使用。

      SNMPv2:与SNMPv1相比较,在MIB的定义上有所增强,在安全性上有所增强,事实上整体报文结构的定义也有很大的区别。如存在基于共同体的v2c、思科的网络设备就支持SNMPv2c,在SNMPv2中还存在基于用户的v2u,但无论是v2的什么版本,始终不变的是PDU报文格式。

      SNMPv3:v3成功的解决了v2存在多种变体的问题,并在SNMP报文首部标识出了处理安全性事务的专用字段,每种SNMPv3的安全性模型可以裁剪安全性字段,v3具备更高的安全性与灵活性,但是很多厂商现在不支持这个版本。

      SNMP的应用

      在大型网络管理中,网络管理员比较头痛的问题就是如何实时了解不在身边的网络设备的运行状况。若要一台一台的去查看网络设备的运行现状,那明显不是很现实。实际网络中,利用SNMP协议自动帮助管理员收集网络运行状况的方法应用最为广泛。通过这种方法,网络管理员只需要坐在自己的位置上,就可以了解全公司的网络设备的运行情况。有了这个简单网络管理协议(SNMP),网络管理员可以很方便的在SNMP Agent和NMS之间交换管理信息。SNMP的主要作用就是帮助企业网络管理人员更方便的了解网络性能、发现并解决网络问题、规划网络的未来发展。

      SNMP作为流传最广、应用最多的网络管理协议,它的优势是显而易见的,而在事实上,由于SNMP的各种优势以及市场需求,其已经成为了一种工业标准。以上的内容就是小编对于SNMP的全部理解了,欢迎大家对此进行补充,感谢大家的阅读。

课课家教育

未登录