当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:随着网络规模的扩大和复杂性的提高,网络安全越来越受到网络管理者的重视,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的网站监控管理系统的开发周期就大大缩短。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭