当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:随着网络规模的扩大和复杂性的提高,网络安全越来越受到网络管理者的重视,SNMP以设计简单为最大优势,得到了广大厂商的支持和应用。基于开发一个功能健全的网络监控系统为目的,利用.NET技术支持下的SNMP-Sh

摘要:随着网络规模的扩大和复杂性的提高,网络安全越来越受到网络管理者的重视,SNMP以设计简单为最大优势,得到了广大厂商的支持和应用。基于开发一个功能健全的网络监控系统为目的,利用.NET技术支持下的SNMP-SharpNet开发包提供的接口不断进行实验研究,最终从SNMP请求的建立、发送和接受以及SNMP请求的超时和重传都实现了函数封装,同时实现了管理站和管理代理之间的SNMP通信,为监控系统后续功能的开发奠定了良好基础。
关键词:SNMP;.NET技术;SNMPSharpNet开发包;SNMP通信

    随着计算机网络技术的飞速发展,通信网络结构越来越复杂,通信网络使用的设备也越来越复杂,由于网络的大型化和复杂化,如何有效地进行网络管理日益成为们普遍关注的问题。网络管理的目标是最大限度地增加网络的可用时间,提高网络设备的利用率、网络性能、服务质量和安全性,简化多厂商混合网络环境下的管理和控制网络运行成本,提供网络的长期规划。
    SNMP(Simple Network Management Protocol,简单网络管理协议)易于实现和广泛的TCP/IP应用基础,可以在多厂商混合网络环境下,通过提供单一的网络操作控制环境来管理所有子网和被管理设备,以集中的、统一的方式远程控制网络,以排除故障和重新配置网络设备而获得厂商的支持。
    然而,实现SNMP编程常见方法是使用网络管理应用SNMP的API,大多数API都提供了一个很大的函数库,比如WinsNMP。由于.NET有丰富的、可复用的标准类库,采用.NET开发越来越受到开发人员的青睐。为了简化SNMP网络管理系统的开发复杂度、开发出高效易扩展的代码,采用把复杂的WinSNMP的API函数封装成一个个相关的.NET类,从而简化了SNMP网络管理软件开发的复杂性。用于它把SNMP编程中的核心部分都面向对象化封装起来,因此开发人员不必了解SNMP底层机制,只要了解.NET的编程知识和SNMP编程的流程,就可以快速开发出高效的SNMP程序。

1 SNMP概述
    SNMP(Simple Network Management Protocol,简单网络管理协议)首先是有IETF的研究小组为了解决Internet上的路由器的管理问题而提出的。1989年SNMPv1发行时,虽然能显示出管理大部分Internet设备的强大能力,但是也暴露出明显不足:给网络带来沉重负担、网络中数据的安全性差。1993年IETF发布了新的SNMP v2,然后再增加了安全机制的同时,也增加了实施的复杂性。随着网络安全重要性的发展,SNMPv3诞生了,其体系结构不仅体现了模块化的设计思想,还能简单地实现功麓模块的增加和修改。从总体上说,SNMP的设计原则是简单性和可扩展性。简单性是通过信息类型限制、请求响应或协议而实现的;可扩展性是通过将管理信息模型与协议、被管理对象的详细规定(MIB)分离而实现的。
1.1 SNMP通信模型
    SNMP通信管理模型采用的是管理站/管理代理模型,共有4个组成部分:管理站、管理代理、管理信息库和网络管理协议,如图1所示。


    它们之间的关系是:管理站通过与管理代理发送/接受/响应SNMP请求来完成对管理代理的监控管理工作、所有管理设备的信息都被储存在管理代理实体的管理信息库中、管理站和管理代理之间交互的数据格式和规则都由SNMP来规范。每个部分的具体介绍如下:
    1)管理站  一个单独的设备或者是共享网络中的一员,为管理站和网络管理系统提供接口。
    2)管理代理  一般的网络终端如路由器、交换机等在设备出厂时都已经配置好相关的SNMP管理代理,对于不支持SNMP协议的设备,如果网络终端是主机的话,可以在“控制面板”的“添加/删除程序”的“添加/删除windows组件”。安装“简单网络管理协议”。
    3)管理信息库(MIB)  存放了网络设备上被管对象资源的所有信息,每个被管对象有一个惟一对象的对象标识符(OID)。管理信息库本身就是一个定义如何把对象标识符组合成逻辑相关的集合。
    4)网络管理协议(SNMP)  主要有以下3个功能:取值(Get)使网管站能读取代理处对象的值;设置值(Set)使网管站能设置管理代理处对象的值;告警信息(Trap)使管理代理能够向管理站通报重要事件。
1.2 SNMP协议数据单元
    在SNMP中,信息按照SNMP报文格式在管理站和管理代理之间进行交换,一共有Get-Request操作、Get-Next-Request操作、Set-Request操作、Get-Response操作、Trap操作一共5种报文类型。如图2所示。


    前面3个操作是由管理站向管理代理发出的,后面2个操作是管理代理发给管理站的。这里值得注意的一点是,在管理代理一端使用熟知端口161来接受get或set报文,而在管理站一端是用熟知端口162来接受trap报文。

2 SNMP通信的关键
2.1 数据类型的规范定义
    在基于SNMP通信的监控系统中,每个被管理设备都维护一个包含统计信息及其他数据的数据库,被称作管理信息库(Management Infor-mation Base,MIB)。每个MIB的每项都包含一个信息:对象类型、语法、访问及状态等。MIB中的各项内容由管理信息结构(Structure of Management Information,SMI)来定义,SMI为MIB提供了一个通用框架,同时规定了在MIB中使用时的数据类型,即如何表示和命名MIB对象。一个对象类型的命名明确代表一个对象,成为对象标识符。它是一个由圆点分隔的整数序列,这些对象标识符按照类似DNS域名系统的树状结构来排列的,一个对象标识符(OID)唯一标识一个MIB对象。另外,MIB还要严格遵守ASN.1(Abstract Syntax Notation One,抽象语法标记)的语法格式,ASN.1提供了一套正规格式用来描述对象结构,而且不管对象数据的具体指代。
    本文中最常用到的几个数据的规范如表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的网站监控管理系统的开发周期就大大缩短。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能

武汉2024年5月15日 /美通社/ -- 北京时间4月26日-5月4日,2024 VEX 机器人世界锦标赛于美国得克萨斯州达拉斯市举办。本届 VEX 世锦赛为期九天,设有 VIQRC 小学组/初中组、V5RC 初中组/...

关键字: 机器人 BSP RC POWERED

上海2024年5月15日 /美通社/ -- 由生成式人工智能(AI)驱动的临床阶段生物医药科技公司英矽智能宣布,与复星医药(600196.SH;02196.HK)合作开发的潜在"全球首创"候选药物IS...

关键字: ISM BSP PC 人工智能

上海2024年5月13日 /美通社/ -- 5月8日,浦东新区国资委组织陆家嘴集团等9家区属企业与立邦中国召开合作交流会,旨在贯彻落实浦东新区区委、区政府工作要求,进一步放大进博会溢出带动效应,持续扩大区属企业与进博会重...

关键字: BSP 数字化 自动化立体仓库 智慧园区

上海2024年5月13日 /美通社/ -- 在数字化时代,高效的税务管理和ERP系统成为企业发展的关键。为了满足这一需求商应信息科技与Exact Software 易科软件就金四全电票税系统与ERP系统集成及商务合作建立...

关键字: AC 软件 BSP 数字化

北京2024年5月13日 /美通社/ -- 5月11日,鲲鹏昇腾开发者大会2024期间,华为举办"昇思AI框架及大模型技术论坛",软通动力数字基础设施与集成事业部总经理谢睿受邀出席、软通动力...

关键字: AI 模型 BSP 精度
关闭
关闭