网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 证券投资论文
  • 金融研究论文
  • 期货市场论文
  • 债务市场论文
  • 银行管理论文
  • 公司研究论文
  • 保险学论文证
  • 您的位置:写论文网 > 证券金融 > 公司研究论文 > 统一网管能力_基于SNMP的统一... 正文 2019-12-27 07:25:12

    统一网管能力_基于SNMP的统一网管框架的设计与实现

    相关热词搜索:

    基于SNMP的统一网管框架的设计与实现

    基于SNMP的统一网管框架的设计与实现 摘要:本文在分析目前网络管理现状的前提下,采用面向对象技术,设计 并实现了一个统一网管系统,并分析了系统的组成结构、功能特点及部分技术实 现。最后分析了其不足,对网管系统的发展方向做了探讨。

    关键词:电信管理网 简单网络管理协议 网管系统 1 网络管理的发展与现状 伴随Internet时代的到来,网络技术的迅猛发展,越来越多的、政府、学校、 个人等都融入互联网当中,网络已经与人们的学习、工作及生活密不可分。而作 为整个互联网的基础,电信网稳定、高效、准确的运行就显得极为重要。要做到 这一点,除了要依靠网络设备本身和网络架构的可靠性之外,还必须依靠一套有 效的网络管理手段来监测和管理整个网络,而传统的单层网络管理模式已经无法 适应现代网络管理的需求。为了有效合理地管理现代网络,国际电信联盟电信标 准化部门(ITU-T)于1988年,参考OSI系统管理框架提出了具有标准协议、接 口和体系结构的管理网络--电信管理网(Telecommunication Management Net, TMN),作为管理现代电信网的基础。考虑将提供业务的电信网及其管理功能 进行分离,使管理功能从电信网中独立出来单独组成一个网,即TMN。TMN制 定了一系列的标准和管理功能,包括被管网元和网络管理系统之间的接口均被标 准化了。只要被管网元和网络管理系统之间遵循TMN标准,完成一定的管理功 能,就能够实现不同厂商的不同设备以及不同网络管理系统之间的互连互通操作。

    TMN体系结构按照不同的管理需求将整个电信网管理功能从低到高分作5层:网 元层(NEL)、网元管理层(EML)、网络管理层(NML)、业务管理层(SML)、 事务管理层(BML)。

    目前,由于实际技术水平和应用条件的限制,网络管理主要集中在网元管 理层和网络管理层,真正业务级的管理还只停留在理论研究阶段。网元管理层直 接管理物理网络,是整个管理系统的基础。对电信网络运营商来说,随着通信业 务量需求的成倍增长,网络规模的日益膨胀,网元设备的种类和数量不断增加, 各个网元都有自己的管理系统,这给网络的管理维护带来了很多困难。为了提高 网络管理的效率,很有必要对各网元进行集中管理,实现在一个统一的平台上管 理各种设备。为了适应网络管理系统可扩展性的要求,我们将设计模式的思想融 入网络管理框架设计中, 保证该框架具有良好的灵活性和可扩展性。2 网络管理协议 当前最典型的网络管理协议有基于OSI七层模型的公共管理信息协议 (CMIP)和基于TCP/IP的简单网络管理协议(SNMP)。OSI/CMIP系统管理模 型是目前理论上最完备的网络管理模型,是其他网络管理模型的基本参考。但由 于该模型比较复杂,实现代价高,因此并没有得到广泛的应用。相反,当初只是 为了管理TCP/IP网络的SNMP却得到了迅速的发展和广泛应用。SNMP网络管理 模型的突出特点是简单、易于实现,因而得到了厂商的支持。特别是在Internet 上的成功应用,使得它的重要性越来越突出,已经成为事实上的工业标准。

    SNMP 主要包括SMI (管理信息结构) 、MIB (管理信息库)和SNMP协议几 部分。SMI 给出了管理对象定义的一般框架。MIB是设备所维护的全部被管理 对象的结构集合。SNMP协议包括SNMP操作、SNMP信息的格式以及如何在应 用程序和设备间交换消息。SNMP采用代理/ 管理站模型进行网络管理。

    3 基于SNMP的统一网管框架设计 3.1 总体结构设计 统一网管平台提供一个高分布性,高扩展性的架构来保证应用的开发者可 以用不同的方法来布置他们的网元管理系统。从横向分层的角度来看,平台可以 分为支撑层(Support Layer)、框架层(Framework Layer)和应用层(Application Layer)。

    统一网管平台从软件结构上讲仍是C/S结构,包括网管服务器和网管终端 两大部分,通过网管服务器的级联构成多级网管,实现多级网管的无缝集成。其 中框架层和支撑层位于服务器端,应用层位于客户端。

    结构示意图 " hspace=12 src="http://tp.yiaedu.com/showimg.php?url=/neteaseivp/resource/p 3.2 支撑层的设计 支撑层作为系统支撑平台为应用提供系统级的服务,包括消息服务、数据 库访问和SNMP接口。支撑层是整个统一网管平台的基础。

    3.2.1 消息服务 消息服务为系统中所有模块的交互提供支持,实现消息的路由转发,根据消息类型,转发到相应的处理模块。消息的格式如下所示:
    版本号 消息头 消息数据 消息头的定义如下:
    typedef struct msg { void *mlink;
    //指向结构的指针,形成消息链表 PID sender_pid;
    //发送进程标识 PID receiver_pid;
    //接收进程标识 BYTE msg_type;
    //消息类型(2或3,表示同步或异步进程消息) WORD event_type;
    //事件类型 WORD msg_length;
    //消息长度,不包括头 }MSG_HEAD;
    我们的系统使用的是非阻塞的异步消息机制,系统维护一个消息队列,这 个消息队列用来存放系统各个模块产生的消息。程序中有一小段程序代码,叫做 消息循环,用来从队列中取出消息,并且将它们发送给相应的消息处理程序。代 码片断如下:
    while (GetNmMessage (msg, NULL, 0, 0)) { TranslateNmMessage (msg);
    DispatchNmMessage (msg);} 3.2.2 数据库访问 数据库访问模块提供所有访问数据库的接口调用,并维护数据库连接池, 其他模块只需向其申请数据库连接即可。

    3.2.3 SNMP接口 网管系统与网元的交互是基于SNMP协议的,在SNMP协议栈的实现中, 我们采用了被广泛使用的CMU(Carnegie Mellon University)开发的开放源代码 CMU-SNMP软件包,该软件包对SNMPv2c做了很好的实现。但是对于上层的开 发人员来说,调用起来不是很方便。例如,一次SNMP操作,就要先后调用以下 这些函数:
    char * winsock_startup(void);
    void snmp_synch_setup(struct snmp_session *Session);
    struct snmp_session *snmp_open(struct snmp_session *session);
    struct snmp_pdu *snmp_pdu_create(int command);
    int snmp_synch_response(struct snmp_session *Session,struct snmp_pdu *PDU,struct snmp_pdu **ResponsePDUP);
    int snmp_close(struct snmp_session *session);
    为了方便业务开发人员,我们对该协议栈进行了简单封装。将CMU格式 的SNMP消息结构转换为本网管平台内部使用的数据结构,并提供一系列便于使 用的SNMP原子命令接口和其它辅助功能接口,为其上层应用和Trap监听进程提 供统一的支持。

    通常,通过SNMP协议向SNMP代理发送请求,是通过使用MIB中定义的 对象标识符(OID)来标识的。OID是用句点隔开的一组整数,使用起来很不方 便,我们可以通过MIB树中叶子的名称来访问和设置MIB树中的数据,而不是通 过枯燥的数字,方便开发人员进行开发。

    以RFC1213定义的MIB-Ⅱ中 的.iso.org.dod.internet.mgmt.mib-2.system.sysName为例,其定义如下:sysName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "An administratively-assigned name for this managed node. By convention, this is the node"s fully-qualified domain name. If the name is unknown, the value is the zero-length string." ::= { system 5 } 如果我们要查询系统的名称,我们在发送GetRequest命令时需要使用 1.3.6.1.2.1.1.5.0去向SNMP代理检索它,这一长串的OID字符串在程序中的可读性 很差。我们采取的措施是建立一个Hash表,在SNMP模块初始化的时候先对程序 所使用的MIB进行 ULONG MakeHash(char* str, ULONG len) { ULONG n;
    n = 0;
    #define HASHC n = *str++ + 65587 * n if (len 0) { int loop;
    loop = (len + 8 - 1) 3;
    switch (len (8 - 1)) { case 0:do { HASHC;
    case 7: HASHC;
    case 6: HASHC;
    case 5: HASHC;
    case 4: HASHC;
    case 3: HASHC;
    case 2: HASHC;
    case 1: HASHC;
    } while (--loop);
    } } return n;
    } 另外,由于我们使用的CMU的SNMP协议栈是非线程安全的,而我们的上 层应用是基于多线程的,因此,我们在对其进行封装的过程中一个重要的任务就 是使其线程安全,目前我们采取的方法是采用事件机制,每个SNMP原子命令执 行前,都调用系统的同步机制函数等待一个事件对象mm_hSnmpEvent的触发。

    3.3 框架层和应用层 针对网管系统这个特定的应用领域,我们抽取出一些公共的软件框架,这 些程序框架统称为框架层。所有具体的管理应用都应该基于这个框架层提供的全 部或者部分框架来开发。在具体的应用中,我们通过框架导出的API进行二次开 发,如图1所示。框架层分为公共服务功能、公共应用功能、工作站功能和网元 中介功能四个部分。公共服务功能提供网管系统所公有的,和具体网元无关的服 务功能,如安全、日志等。和网元相关的管理功能,如告警、性能、配置等,抽 取其中的公共部分称为公共应用功能。工作站功能实现客户端GUI的展现功能,并提供图形控件。网元中介功能实现网管系统和网元之间的接口转换和适配功能。

    应用层就是在平台框架层的基础上,提供具体的管理应用功能,如配置管 理、性能管理、故障管理、安全管理等。这些功能都是可以拆卸的,应用在使用 统一网络管理平台的时候,可以根据自己的具体需要来选择需要装载那些管理功 能。

    4 结束语 本文介绍了针对网元层的基于SNMP的网络管理框架,该框架是在 Windows平台上利用Visual C++开发出来的,实现了在一个统一平台上对各种网 元进行管理,具有良好的灵活性和可扩展性。通过对各网元进行集中管理,极大 地提高了网络管理的效率。但是本系统依赖于Windows平台,在移植性上尚存诸 多不足。目前,Java平台在移植性上做得比较成功,但是对于电信级的网管平台 来说,其性能并不能满足要求,与此同时,CORBA应用日益成熟,C++领域高 性能的分布式网络框架ACE的异军突起,为我们提供了跨平台的最好选择。我们 可以用Java开发客户端GUI,用ACE框架来实现服务器端的网管功能,用CORBA 实现客户端与服务器端的通信,从而真正实现高性能,可移植的网络管理框架。

    参考文献 [1] Mani Subramanian. 网络管理-原理与实践(影印版). 北京:高等教 育出版社,2001 [2] 郭军. 网络管理[M]. 北京:北京邮电大学出版社,2001 [3] 贤道,安常青. 网络管理协议及应用开发[M]. 北京:清华大学出版社, 1998 [4] Douglas Mauro ,Kevin Schmidt. Essential SNMP[M] .O′ReillyAssociates ,2001 [5] RFC1157. A Simple Network Management Protocol[S] Design and Implementation of the Uniform Network Management System Based on SNMP (Computer Center of East China N Abstract: After the brief introduction of network management, this paper designs and implements the uniform network management system based onobject-oriented technology. Key Words: TMN;
    SNMP;
    NMS

    • 范文大全
    • 教案
    • 优秀作文
    • 教师范文
    • 综合阅读
    • 读后感
    • 说说
    统一网管能力_基于SNMP的统一网管框架的设计与实现》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.