0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于简单网络管理协议实现性能管理模块的设计

牵手一起梦 来源:现代电子技术 作者:郑文俊,李强,马 2021-06-14 11:46 次阅读

作者:郑文俊,李强,马东堂

目前通信网络结构越来越复杂,通信网络使用的设备也越来越复杂,随着网络的大型化与复杂化,如何有效地进行网络管理日益成为人们普遍关注的问题。ISO定义的网络管理包含五个功能域:配置管理、故障管理、性能管理、安全管理和计费管理,其中性能管理的目标是优化网络性能,提高运行质量。性能管理是测试组成网络各个单元性能的过程,它包括测试网络连接和当前网络段利用率、识别可能发生拥塞域、杜绝高出错率和检测网络传输状态等,帮助用户解决当前网络存在的问题。

目前典型的网络管理标准主要有两大体系:OSI的CMIS(Common Management Information Service,公共管理信息服务)/CMIP(Common Management In-formation Protocol,公共管理信息协议)和IETF的SNMP(Simple Network Management Protocol,简单网络管理协议)。SNMP由于易于实现和广泛的TCP/IP应用基础而获得厂商的支持。而且,由于SNMP不断完善,SNMP中的安全问题也得到了一定程度的解决,使SNMP得到更快的发展。

1 SNMP网络管理模型

SNMP网络管理模型包括四个关键性部件:管理站、管理代理、管理信息库和网络管理协议,如图1所示。

基于简单网络管理协议实现性能管理模块的设计

(1)管理站(Manager)是一个独立的设备或者是一个共享网络中的一员,为管理者和网络管理系统提供接口

(2)管理代理(Agent),一般厂家的网络产品如路由器、交换机等在出厂时都已配置好相关的SNMP管理代理,对于不支持SNMP协议的设备,可以开发委托代理(proxy agent)来支持SNMP协议。管理代理的功能是响应从网管站发出的读取请求(Get)和设置请求(Set),并且给网管站发送事件及告警信息(Trap)。

(3)管理信息库(MIB)存放了该设备上被管对象资源的所有信息,每个被管对象有一个惟一对象的对象标识符(OID)。

(4)SNMP网络管理协议主要具有以下三个功能:取值(Get)使网管站能够从代理处获取相关对象的值;设置值(Set)使网管站能够在代理上设置相关对象的值;告警信息(Trap)使代理能够通知管理站、代理端(Agent)的管理信息库MIB值的重大变化以及其他重要事件发出。

2 性能管理模块的设计

2.1 性能管理模块基本结构

根据上述对SNMP网络管理模型的讨论,设计了一种性能管理模块的基本结构,如图2所示。该性能管理模块主要包括性能数据采集、性能分析和数据管理存储三个部分。其中,数据管理存储主要是针对数据库管理的具体技术,这里主要讨论性能数据采集和性能分析技术及其实现问题。

2.2 性能数据采集

性能数据的采集方式主要有三种:循环定时模式、实时模式和事件驱动模式。

循环定时模式 预先配置好定时时间间隔,由服务器端进行采集,采集的数据存入数据库,也可以根据需要同时发往控制台,用于统计分析的性能参数主要采用该模式进行数据采集。

实时模式 由用户在控制台进行操作,用于采集被管设备的当前性能数据,采集的数据马上送回用户界面,控制台程序在判断其是否超过阈值后,将数据以某种形式实时呈现给用户,本类数据主要用于监测当前性能,一般不存储到数据库,不作为历史数据进行查询。事件驱动模式 通过对关键事件的预定义,Agent在这些事件发生时,向管理者发送Trap报文。事件驱动对监视状态变化不很频繁的对象时用处很大,并且可以在网络设备发生异常情况时,及时向管理者发出报警信息。

2.3 性能分析

性能分析一般分为历史性能分析和实时性能分析。历史性能分析包括对历史信息(如:性能日志及性能报告等)的查询、检索,从数据库提取性能历史数据,进行分析、计算性能指标,再经过统计和整理,以直观的图形显示和表数据来反映性能分析的结果,并生成性能日志,管理员可以设定时间范围,选择该时间段内设备的某种属性信息进行统计,还可以选用各种图形显示方式,直观地查看性能状态。

实时性能分析 提供实时数据采集、分析和可视化的工具(如MIB浏览器),可以对流量、负载、丢包、设备温度、内存利用率、网络延迟等网络设备和线路的性能指标进行实时监控,并可设置数据采集的时间间隔。

3 性能管理模块的编程实现

在性能管理模块的开发过程中,可利用SNMP++类库来实现数据采集模块的开发,SNMP++是由HP公司提供的一个开放的软件包,它能够较好地实现SNMP协议,利用它的成员函数get(),getnext(),get-bulk(),set(),trap()可以编程实现对设备和主机性能数据的采集。SNMP++提供跨平台可移植的API。任何使用SNMP++编写的网络管理应用程序,不需要做任何改变就可以移植到其它平台。SNMP++在Target类中提供了超时和重传机制,直接设置参数就可以实现超时和重传功能。同时SNMP++可以运行在各种不同协议之上,它采用面向对象的设计方法,把WinSNMP的API函数封装成一个个相关的类,大大简化了SNMP网络管理软件开发的复杂性和开发难度。以下给出网络性能管理的部分关键对象(表1)和性能参数的计算公式。大多MIB组都提供性能数据变量。

端口状态ifOperStatus有三种取值,1(up)代表当前接口正处于使用状态;2(down)代表当前接口处于关闭状态;3(test)代表接口正处于测试状态。

端口当前状态保持时间=sysUpTime—if-LastChange

对于一段时间丁内,MIB变量值的变化:△(MIB-variable)=MIB-Value(t1)-MIB-Value(t0)

接口收到的包的总数:TOTAL_INPUT_PACK-ETS=△ifInUcastPkts+△ifInNUcastPkts

发出的包的总数:TOTAL_OUTPUT_PACK-ETS=△ifOutUcastPkts+△ifOutNUcastPkts

输入丢包率=△ifInDiscards/(△ifInUcastPkts+△ifInNUcastPkts)*100%

输出丢包率=△ifOutDiscards/(△ifInUcastPkts+△ifInNUcastPkts)*100%

输入差错率=△ifInErrors/(△ifInUcastPkts+△ifInNUcastPkts)*100%

输出差错率=△ifOutErrors/(△ifOutUcastPkts +△ifOutNUcastPkts)*100%

接口输入流量=ifInOctets*8/sysUpTime

接口输出流量=ifOutOctets*8/sysUpTime

接口利用率=((△ifInOctes+△ifOUtOetets)*8)/(T*ifSpeed)*100%

同样可以计算其他参数,如:

IP吞吐量=(△ipInRecieves+△ipOutRequests+△ipForwDatagrams)/T

UDP吞吐量=(△udpInDatagrams+△udpNoPorts+△udpInErrors+△udpOutDatagrams)/T

下面给出了SNMP++编程的关键步骤(标“*”):

4 结 语

基于目前广泛应用的SNMP设计了网络管理系统中的性能管理模块,采用HP公司提供的SNMP++类库和编程工具Visual C++进行了具体实现,该工具可以作为复杂通信网络管理系统设计和实现的参考。随着网络技术的进一步发展,开放、异构的复杂网络管理系统将成为进一步研究的重点。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据采集
    +关注

    关注

    38

    文章

    5800

    浏览量

    113413
  • 交换机
    +关注

    关注

    20

    文章

    2610

    浏览量

    99065
  • 路由器
    +关注

    关注

    22

    文章

    3690

    浏览量

    113402
收藏 人收藏

    评论

    相关推荐

    网络管理解决方案

    5. 性能管理和报表 为实现上述功能,推荐使用以IBM Tivoli NetView为核心的网络管理系统。NetView通过SN
    发表于 11-13 22:16

    车载Flex Ray网络管理策略的初步研究

    车载Flex Ray网络管理策略的初步研究网络管理的目标是保障网络可靠、有效地运行。在一般的计算机网络
    发表于 11-26 17:11

    SetIP71X模块管理网络协议分析工具V2.2

    SetIP71X模块管理网络协议分析工具V2.2
    发表于 04-13 21:14

    网络管理NMT与特殊协议报文

    网络管理NMT、特殊协议报文、过程数据对象PDO和服务数据对象SDO的报文ID分配
    发表于 08-23 06:11

    基于VxWorks系统的简单网络管理协议实现

    基于VxWorks系统的简单网络管理协议实现
    发表于 03-29 12:28 21次下载

    基于SNMP协议网络管理系统设计

    基于SNMP和Java的网络管理是计算机网络管理的一种方法,本文对SNMP协议进行了深入的剖析,介绍了
    发表于 01-09 14:30 14次下载

    基于VxWorks系统的简单网络管理协议实现

    描述了基于VxWorks系统的简单网络管理协议实现。培出一个管理模型,介绍了
    发表于 01-11 09:21 37次下载

    网络管理协议的研究与应用

    通过对简单网络管理协议(SNMP)的通讯原理、消息结构及抽象语法表示(ASN.1)、BER编码的分析,并对RFC1213管理信息库(MIB-
    发表于 12-27 15:45 23次下载

    什么是简单网络管理协议(SNMP)

    什么是简单网络管理协议(SNMP) SNMP(Simple Network Management Protocol,简单
    发表于 03-20 15:13 2352次阅读

    网络管理/网络管理协议

    网络管理/网络管理协议 网络管理,是指
    发表于 04-03 16:12 745次阅读

    TCPIP网络协议-简单网络管理协议

    网络学习教程之TCP、IP网络协议的学习课件
    发表于 07-01 16:19 0次下载

    管理网络的设计与实现

    管理网络实现 尽管说数不清的专业人员都做过项目管理,但信息技术足以挑战所谓成功的配置更改。比如,尽管建筑师必须在其项目计划中考虑诸如获取生产许可等事宜,网络管理员有必要考虑多得多的复杂
    发表于 11-24 09:31 5次下载

    简单网络管理协议(SNMP)的研究与应用

    简单网络管理协议SNMP(Simple Network Management Protocol)是由Internet工程任务组织IETF (Internet Engineer-ing
    的头像 发表于 04-05 15:23 3248次阅读
    <b class='flag-5'>简单</b><b class='flag-5'>网络</b><b class='flag-5'>管理</b><b class='flag-5'>协议</b>(SNMP)的研究与应用

    AUTOSAR CAN网络管理协议

    AUTOSAR_SWS_CANNetworkManagement AUTOSAR CAN网络管理协议,4.4.0版本
    发表于 08-01 11:09 16次下载

    Linux网络协议栈的实现

    请求并与底层的网络硬件进行交互。本文将深入探讨 Linux 网络协议栈的架构与实现,涵盖数据包处理流程、关键模块
    的头像 发表于 09-10 09:51 232次阅读
    Linux<b class='flag-5'>网络</b><b class='flag-5'>协议</b>栈的<b class='flag-5'>实现</b>