SNMP的体系结构及工作原理.docx

上传人:b****6 文档编号:3403568 上传时间:2022-11-22 格式:DOCX 页数:6 大小:44.14KB
下载 相关 举报
SNMP的体系结构及工作原理.docx_第1页
第1页 / 共6页
SNMP的体系结构及工作原理.docx_第2页
第2页 / 共6页
SNMP的体系结构及工作原理.docx_第3页
第3页 / 共6页
SNMP的体系结构及工作原理.docx_第4页
第4页 / 共6页
SNMP的体系结构及工作原理.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

SNMP的体系结构及工作原理.docx

《SNMP的体系结构及工作原理.docx》由会员分享,可在线阅读,更多相关《SNMP的体系结构及工作原理.docx(6页珍藏版)》请在冰豆网上搜索。

SNMP的体系结构及工作原理.docx

SNMP的体系结构及工作原理

文档编制序号:

[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

 

SNMP的体系结构及工作原理

SNMP的体系结构及工作原理

网管系统软件是由以下部分组成的

Manager:

管理员使用的工作站,通过网管软件查看和分析网管数据。

Agent

网管代理。

网管代理一般分为两个功能模块和一个公用模块MIB库

查询/设置模块

此模块接受来自Manager的查询和设置指令,并根据指令处理相关数据,如将被查询的数据返回给Manager,或使设置的数据对相关Device生效。

对于SNMPAgent,此模块至少需要实现以下协议接口:

get-request

set-request

get-next-request

get-reponse

告警模块

告警模块将设备产生的告警发送给Manager。

对于SNMPAgent.此模块至少需要实现Trap协议接口。

MIB库

MIB(管理信息库)保存被管理设备的相关管理信息。

在SNMPAgent里,MIB通常用文本文件格式保存。

一个MIB描述了包含在数据库中的对象或表项。

每一个对象或表项都有以下四个属性:

对象类型(ObjectType)

语法(Syntax)

存取(Access)

状态(Status)

在SNMP规范之一的管理信息结构与标识(SMI;RFC1155/1065)规范中定义了这些属性。

SMI对于MIB来说就相当于模式对于数据库。

Device

被管理设备,可以是一台一个进程,计算机,或者分布式的系统。

这些设备负责产生和收集诸如配置,性能和业务数据以及告警,是网管数据的来源,同时负责原始数据的整理和统计。

Device和Agent之间的交互协议可以不受SNMP协议限制,可以采用任何一种协议交换数据。

Agent设计

可见Agent在网管系统结构的位置相当于管理器和被管设备之间的网关和协议转换器。

对Agent的功能需求的范围应该为:

协议转换。

将SNMP协议和被管设备之间的协议互相转换

转发请求。

包括向被管设备转发查询,设置请求。

向Manager转发设备产生的告警

通过MIB库维护被管设备的信息结构

对Manager提供一个统一的网管接口,无论被管设备有多复杂,对Manager来说只需要和Agent交互就可以获得所有被管设备的网管信息

不需要牵涉诸如轮巡,告警策略等网管业务逻辑。

也不参与被管设备本身对网管数据的处理流程。

这些由被管设备的网管业务逻辑层自行处理。

不需要对数据进行统计分析

不需要保存历史或实时网管数据

可见对于网管系统来说,Agent功能明确,结构相对简单,虽然必不可少但并非核心部件,并且SNMPAgent已经是事实上的工业标准,有大量的开发包帮助开发人员快速的实现Agent,可以让开发人员将精力投入到网管业务逻辑上。

什么是SNMP?

SNMP是一系列协议组和规范,其提供了一种从网络中的设备中收集网络管理信息的方法。

SNMP也为设备向网络管理工作站报告问题和错误提供了一种方法。

其网络管理主要分为四部分被管理节点(设备)、代理、网络管理工作站、网络管理协议。

SNMP主要部分

被管理节点(设备)网络管理协议

被监控设备

代理

用来跟踪被管理设备状态的特殊软件或固件

网络管理工作站

与在不同的被管理节点中的代理通信,并且显示这些代理状态的中心设备

网络管理协议

被网络管理工作站和代理用来交换信息的协议

代理的概念及所提供的服务

管理代理(agent)是一种特殊的软件(或固件),它包含了关于一个特殊设备及该设备所处环境的信息。

其提供的服务:

网络管理工作站可以从代理中获得相关设备的信息。

网络管理工作站可以修改、增加或者删除代理中的相关表项。

网络管理工作站可以为一个特定的自陷设置阈值。

代理可以向网络管理工作站发送自陷。

MIB概念

MIB被称为管理信息库,一个MIB描述了包含在数据库中的对象或表项。

简单网络管理协议

SNMP请求/响应报文

简单网络管理协议允许网络管理工作站软件与被管理设备中的代理进行通信。

这种通信可以包括来自管理工作站的询问消息、来自代理的应答消息或者来自代理给管理工作站的自陷消息。

SNMPv1实现起来很简单,其包含5个请求/响应原语:

get-request

set-request

get-next-request

get-response

trap

报文格式

IP首部

UDP首部

版本

共同体

PDU类型(0-3)

请求标识

差错状态(0-5)

差错索引

名称

名称

...

PDU类型4

企业

代理地址

Trap类型(0-6)

特定代码

时间戳

名称

...

PDU类型

名称

0

Get-request

1

Get-next-request

2

Get-response

3

Set-request

4

Trap

SNMP开发工具

开发工具的使用

AdventNet所提供的的开发工具包,支持多种平台。

Agent++

SNMP++

MicrosoftVirtualStudio6.0,Windows下c++语言的开发包。

MS自身提供一组称为WinSNMP的API(在MSDN中提供详细文档),而且MS提供基于AgentService的SNMPExtensionAgent开发。

ucd-snm(net-snmp)p是Linux平台下着名的C语言SNMP开发包,公开源码,是最常用的开发Agent的软件包。

辅助工具的使用

AdventNet所提供的对mib开发一系列开发工具包,包括:

MibBrowser

MibEditor

MibCompiler

熟悉SNMP的开发过程

SNMP开发流程

Mib的创建和源码生成

首先第一步是Mib设计,开始Mib设计的时候要确定将被管理的对象纳入管理信息库,最终实现asn.1的文档,在此可以使用Advent

Net所提供的MibEditor来实现。

通过Mib编译器将asn.1的文档编译成c文件和头文件,可以使用MibCompiler编译。

Agent的开发

Agent++支持多种平台,主要有solaris,hpunix,windows等。

使用方法稍有不同,但原理一致,即生成库文件,进行开发应用时使用头文件及库文件即可。

unix下直接进行make,如果有问题对makefile中的一些宏/变量进行调整。

在solaris下基本没有问题。

windows下vc6编译请参考附录

Snmpapp的开发

snmp++支持多种平台,主要有solaris,hpunix,windows等。

使用方法稍有不同,但原理一致,即生成库文件,进行开发应用时使用头文件及库文件即可。

unix下直接进行make,如果有问题对makefile中的一些宏/变量进行调整。

在solaris下基本没有问题。

新版本支持snmpv3,需要用到libdes或其他加解密库。

windows下vc6编译请参考附录

附录:

windows下vc6编译

创建项目,加入所有的源文件和头文件后。

要在PROJECT的SETTING中设置如下项:

1 在C++页,/I项加入AGENT++的INCLUDE和SNMP++的INCLUDE 目录

2、设置成MTd 多线程DEBUG模式。

3、

编译运行。

以上用来编译AGENT++库。

对于AGENT++的例子,要在PROJECT的SETTING中设置如下项:

1、创建WIN32的控制台程序;

2、加入程序代码;

3、加入SNMP++.LIB和AGENT++.LIB;

4、 在C++页,/I项加入AGENT++的INCLUDE和SNMP++的INCLUDE 目录

5、设置成MTd 多线程DEBUG模式。

6、在LINK页,加入Ws2_32.lib

7、加入/nodefaultlib:

"libcmtd.lib"

8、编译运行。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1