微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于.NET技术实现的SNMP通信

基于.NET技术实现的SNMP通信

时间:03-01 来源:3721RD 点击:

象,成为对象标识符。它是一个由圆点分隔的整数序列,这些对象标识符按照类似DNS域名系统的树状结构来排列的,一个对象标识符(OID)唯一标识一个MIB对象。另外,MIB还要严格遵守ASN.1(Abstract Syntax Notation One,抽象语法标记)的语法格式,ASN.1提供了一套正规格式用来描述对象结构,而且不管对象数据的具体指代。

本文中最常用到的几个数据的规范如表1所示。

表1 ASN.1规范下的数据定义

2.2 SNMP通信的关键函数

SNMP规定使用用户数据报协议(UDP)作为第4层传输协议,在数据传输过程中,网络一步步把UDP数据封装成SNMP报文的形式来保障管理站和管理代理之间的数据顺利交互,而UDP使用的是无连接服务,所以SNMP无需在管理站和管理代理之间保持连接,但可能发生数据报丢失的情况,因此一定要有超时和重传机制。主要实现的几个函数如下:

.NET使用以上几个函数完成基本的SNMP通信,首先,用RequestAsync函数建立SNMP请求,然后用sendToBegin函数发送此SNMP请求,同时管理代理端有监听函数,收到SNMP请求后会做出响应并给管理站返回需要的信息,此时,管理站用ReceiveBegin函数接受返回来的信息。在此通信过程中有可能发生数据丢失,RetryAsyncRequest和Request函数就是为此而设计的重传请求函数和重传协议函数。

3 .NET技术实现

把UDP的Socket通信封装好之后,运用。NET技术进行具体的SNMP控制,下面以Get-Request操作和Set-Request操作为例子来演示。NET技术编程的快速、便捷。

在主程序中执行了这两段代码,都返回了开发者想要的结果。最重要的是,使用。NEET技术封装了SNMP底层通信的编程,使整个程序看起来简单易懂。

4 结束语

随着网络规模和复杂性的发展,一个功能健全的安全监控管理软件自然成为网络管理者的最大愿望NET的开发语言之一C#的主要特点就是简单易用。由于C#把对编程中的很多部分都对象化,编程人员不需要了解函数的具体实现,在使用的时候,着重注意函数的参数类型和个数以及对象与函数之间的对应关系,就可以很方便地实现各种参数的传输、修改等等。如此一来,整个基于SNMP的网站监控管理系统的开发周期就大大缩短。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top