【SNMP服务】网络杂谈(11)之什么是SNMP服务?

#2023 博客之星评选已开启–成为城市领跑者#

涉及知识点

什么是 SNMP,SNMP的特点,SNMP的服务,SNMP服务运行。深入了解SNMP技术。
原创于:CSDN博主-《拄杖盲学轻声码》,更多内容可去其主页关注下哈,不胜感激



前言

随着 SNMP 在网络管理上的广泛应用,以及 Windows 操作系统的广泛流行,Windows 已
经成为 SNMP 应用和开发的一个重要平台。为此,了解和掌握 SNMP 在 Windows 中的配置和应用非常必要。
更多考试总结可关注CSDN博主-《拄杖盲学轻声码》

一、SNMP 服务

首先看一下 SNMP 在 Windows 平台中的应用。SNMP 是 TCP/IP 协议组的一部分,最早被开发出来是为了监视路由器和网桥,并对它们进行故障排除。SNMP 提供了在如下系统之间监视并交流状态信息的能力:运行 Windows NT 内核的计算机、小型或大型计算机;LAN Manager服务器;路由器、网桥或有源集线器;终端服务器。

1.基于windows的SNMP

基于 Windows 的 SNMP 使用由管理系统和代理组成的分布式体系结构,有了 SNMP 服务,基于 Windows 的计算机就可以向 TCP/IP 网络上的 SNMP 管理系统报告其状态。当主机请求状态信息或发生重大事件(例如当主机的硬盘空间不足)时,SNMP 服务就会把状态信息发送到一个或多个主机上。
Windows 是SNMP 理想的开发平台。Windows 支持 TCP/IP 网络和图形用户接口,利用这些特性开发 SNMP 管理系统和代理软件非常方便。Windows 也支持并发的系统服务。一个Win32 系统服务可以在后台运行,它的开始和停止无需系统重启动。SNMP 就是运行于Windows 之上的一个系统服务软件。
所谓服务是一种特殊的 Win32 应用软件,它通过 Win32 API 与 Windows 的服务控制管理器接口,一般在后台运行。它的作用是监视硬件设备和其他系统进程,提供访问外围设备和操作系统辅助功能的能力。系统服务在系统启动时或用户登录时自动开始运行。

2.SNMP 代理服务

Microsoft SNMP 服务向运行 SNMP 管理软件的任何 TCP/IP 主机提供 SNMP 代理服务。SNMP 服务包括:处理多个主机对状态信息的请求;当发生重要事件(陷阱)时,向多个主机报告这些事件;使用主机名和 IP 地址来标识向其报告信息和接收其请求的主机;启用计数器监视 TVP/IP 性能。
写入到 Windows Sockets API。这允许将管理系统的调用写入到 Windows Sockets。通过用户数据报协议(UDP 端口 161)发送并接收消息,并使用 IP 支持对 SNMP 消息的路由。提供扩展代理动态链接库(DLL),来支持其他 MIB。第三方可以开发他们自己的 MIB,与 Microsoft SNMP 服务一起使用。包括 Microsoft Win32® SNMP 管理器 API,以便简化SNMP 应用程序的开发。

Windows 的 SNMP 服务包括两个应用程序。一个是 SNMP 代理服务程序 SNMP.EXE,另一个
是 SNMP 陷入服务程序 SNMPTRAP.EXE。SNMP.EXE 接收 SNMP 请求报文,根据要求发送响应报文, 能对SNMP 报文进行语法分析,对ASN.1 和BER 编码/译码,也能发送陷入报文,并处理与WinSock API 的接口,Windows 98 也含有这个文件。SNMPTRAP.EXE 监听发送给 Windows NT 主机的陷入报文,然后把其中的数据传送给 SNMP 管理 API,Windows 98 没有该陷入服务文件。
Windows 的 SNMP 代理服务是可扩展的,即允许动态地加入或减少 MIB 信息。这意味着程序员不必修改和重新编译代理程序,只须加入或删除一个能处理指定信息的子代理就可以了。Microsoft 把这种子代理叫做扩展代理,它处理私有的 MIB 对象和特定的陷入条件。当 SNMP

代理服务接收到一个请求报文时,它就把变量绑定表的有关内容送给对应的扩展代理。扩展代理根据 SNMP 的规则对其私有的变量进行处理,形成响应信息。
SNMP API 是Microsoft 为 SNMP 协议开发的应用程序接口,是一组用于构造 SNMP 服务、扩展代理和 SNMP 管理系统的库函数。
SNMP 陷入服务监视从 WinSocket API 传来的陷入报文,然后把陷入数据通过命名管道传递补给 SNMP 管理 API。管理 API 是 Microsoft 为开发 SNMP 管理应用提供的动态链接库,是SNMP API 的一部分。管理应用程序从管理 API 接收数据,向管理 API 发送管理信息,并通过管理 API 与 WinSocket 通信,实现网络管理功能。

二、SNMP 服务运行

1、准备工作

若要确保 SNMP 服务正常运行,需要在以下几个方面做好准备工作:
(1)主机名和 IP 地址。在安装 SNMP 服务之前,对于要向其发送 SNMP 陷阱或系统中响应 SNMP 请求的主机,要确保拥有其主机名或 IP 地址。
(2)主机名解析。SNMP 服务使用一般的 Windows 主机名解析方法,将主机名解析为IP地址。如果使用主机名,一定要确保将所有相关计算机的主机名到 IP 地址的映射添加到相应的解析源(如 Hosts 文件、DNS、WINS 或 Lmhosts 文件)中。
(3)管理系统。管理系统是运行 TCP/IP 协议和第三方 SNMP 管理器软件的所有计算机。管理系统向代理请求信息。要使用 Microsoft SNMP 服务,需要至少一个管理系统。
(4)代理。SNMP 代理向管理系统提供所请求的状态信息,并报告特别事件,是一台运行 Microsoft SNMP 服务的、基于 Windows 的计算机。
(5)定义 SNMP 团体。团体是运行 SNMP 服务的主机所属的小组。团体由团体名识别。对于接收请求并启动陷阱的代理以及启动请求并接收陷阱的管理系统,使用团体名可为它们提供基本的安全和环境检查功能。代理不接受所配置团体以外的管理系统的请求。
考虑到要与多个团体的 SNMP 管理器进行通信,SNMP 代理可以同时是多个团体的成员。有两个已定义的团体:Public 和 Public2。
只有作为同一团体成员的代理和管理器才能相互通信。例如:Agent1 可以接收 Manager2 的消息并向它发送消息,因为它们都是 Public2 团体的成员;Agent2~4 可以接收 Manager1 的消息,并向它发送消息,因为它们都是默认团体 Public 的成员。

2、请求响应

下面的步骤概括了 SNMP 服务如何对管理系统的请求做出响应:
(1)SNMP 管理系统使用一个代理的主机名或 IP 地址,将请求发送给该代理。该应用程序将请求传递给套接字(UDP 端口)161。使用任何可用的解析方法,包括 Hosts 文件、DNS、WINS、B 结点广播或 Lmhosts 文件,将主机名解析为 IP 地址。
(2)建议包含如下信息的 SNMP 数据包:针对一个或多个对象的 get、get-next 或 set 请示;团体名和其他验证信息;数据包被路由到代理上的套接字(UDP 端口)161。
(3)SNMP 代理在其缓冲区中接收该数据包。对团体名进行验证,如果团体名无效或数据包格式不正确,则将它丢弃。如果团体名有效,代理将验证源主机名或 IP 地址需要说明的是,必须对代理进行身份验证,才能接收来自管理系统的数据包,否则丢弃数据包。然后将请求传递到相应的 DLL,如下表所示。再将对象标识符映射到相应的 API 函数,然后调用此 API,DLL 将把信息返回给代理。
SNMP 数据包与所请求的信息一起被返回给 SNMP 管理器。

请求的对象 将发生的操作
Internet MIB II 对象 TCP DLL 将检索该信息
LAN Manager MIB II 对象 LAN Manager DLL 将检索该信息
DHCP 对象 DHCP MIB DLL 将检索该信息
WINS 对象 WINS 量 MIB DLL 将检索该信息
扩展代理 MIB 该 MIB 的 DLL 将检索该信息

涨薪支持区

期待大家能通过这篇文章学到更多,而且薪资一年更比一年猛!
喜欢博主的话可以上榜一探究竟,博主专设涨薪皇榜给大家查阅,喜欢的可以点击此处查看哟。
在这里插入图片描述


总结

更多备考资料大家可以关注csdn博主-《拄杖盲学轻声码》

以上就是今天要讲的内容,本文主要介绍了什么是SNMP,SNMP技术的实际应用,也期待大家分享更多,帅哥美女们给个赞呗,2023年一起加油!!!

猜你喜欢

转载自blog.csdn.net/hdp134793/article/details/131453108