winsnmp 编程学习

WinSNMP提供了一套函数封装了SNMP协议,包括消息重传和超时机制。MIB是一个数据库,存储网络设备的控制和状态信息,以对象标识符的分级树结构表示。SMI定义了对象的属性,包括名字、语法和编码,并定义了Integer、octet string、OBJECT IDENTIFIER等数据类型。应用类型如IpAddress、counter和time ticks用于特定管理目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WinSNMP以函数的形式封装了SNMP协议的各部分(在VC++6.0开发环境中体现为wsnmp32.dllwsnmp32.libwinsnmp.h),且针对SNMP是使用UDP的特点而设置了消息重传、超时机制等。

A:MIB

MIB是一个存放被管网络设备控制和状态信息的数据库,它定义了主机或网络设备必须保存的数据项和允许对每个数据项进行的操作.

MIB类别 包含的相关信息

system 主机或路由器的操作系统

interfaces 各个网络接口

addr.trans. 地址转换(例如,ARP映射)

ip Internet协议软件

icmp Internet控制报文协议软件

tcp 传输控制协议软件

udp 用户数据报软件

egp 外部网关协议软件

MIB变量使用的名字取自ISOITU管理的对象标识符(object identifier)名字空间。它是一种分级树的结构。如图2.2第一级有三个节点:ccittisoiso-ccitt。低级的对象ID分别由相关组织分配。一个特定对象的标识符可通过由根到该对象的路径获得。

Eg: 1.3.6.1.2.1.4.3.0 变量名称如下:

  Iso.identified-organazation.dod.internet.managment.mib.ip4.ipInReceives



SMI定义了SNMP框架所用信息的组织、

组成和标识,它还为描述MIB对象和描述协议怎样交换信息奠定了基础。

按照SMI定义的SNMP管理对象都具有3个属性:名字、语法和编码。名字即对象标识符,唯一标识一个MIB对象;语法定义了对象的数据结构,用抽象语法记法1ASN.1)来定义;编码描述了一个管理对象的相关信息如何被格式化为适合网络传送的数据段。

下面我们主要介绍一下SMI的数据类型。SMI的数据类型主要由三种:

  • 简单类型(simple

  • 简单结构类型(simple-constructed

  • 应用类型(application-wide

简单数据类型通常被称为非聚合类型,在SNMP子集中有4种简单数据类型:

Integer: 整型是-2,147,483,648~2,147,483,647的有符号整数;
  ◇octet string: 字符串是0~65535个字节的有序序列;
  ◇OBJECT IDENTIFIER: 来自按照ASN.1

则分配的对象标识符集;

  • NULL:占位符。目前还未在SNMP中使用。

  • 简单结构类型指列表和表格,常被称作聚合类型。在SNMP子集中主要使用两种结构类型:

SEQUENCE

用于列表。这一数据类型与大多数程序设计语言中的“structure”类似。一个SEQUENCE包括0个或更多元素,每一个元素又是另一个ASN.1数据类型。

  • SEQUENCE OF type 用于表格。这一数据类型与大多数程序设计语言中的“array”类似。一个表格包括0个或更多元素,每一个元素又是另一个ASN.1数据类型。

应用数据类型采用隐式定义,是引用SNMP的简单数据类型来定义的。主要有6种:

IpAddress: 以网络序表示的IP地址。因为它是一个32位的值,所以定义为4个字节;

network address:网络地址,表示从一个特定协议族中选定的网络地址, SNMPv1仅支持32IP地址;所以与IpAddress等效;
  ◇ counter:计数器是一个非负的整数,它递增至最大值,而后回零。SNMPv1中定义的计数器是32位的,即最大值为4294967295
  ◇ Gauge :也是一个非负整数,
它可以递增或递减,但达到最大值时保持在最大值,最大值为232-1
  ◇ time ticks:是一个时间单位,表示以0.01秒为单位计算的时间;
  ◇ opaque:表示用于传递任意信息串的任意编码格式,它与SMI使用的严格数据输入格式不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值