基于Java与SNMP实现的网络设备MIB信息采集

1 章 网络管理概述

在网络化的进程中,网络管理在系统中起着越来越重要的作用。从计算机网络到电信网络、从广播电视网络到其他星星色色各自领域的网络,网络管理无处不在,随着网络规模的日益扩大,相应的网络管理技术也日趋成熟规范,功能更强大。准确而言,网络管理系统应该包括被管理端和它们的通信链路:管理端实现对网络设备的集中管理以及管理的级连;被管理端作为伺服进程响应管理端、监控网元设备、生成报告等;通信链路规定了管理端与被管理端的对话规则。总之,计算机技术和通信技术的融合、领域网络的飞速发展,使得网络管理技术越来越规范,网络管理系统的作用也越来越大,在整个系统中已称为必不可少的重要组成部分。

作为引言,首先在此简单的介绍一下有关网络管理的基础知识。

1.1 网络体系结构

既然是对网络的管理系统,那就先置身于网络中,了解一下网络的体系结构。网络体系结构通常包括:网络功能构件的定义及相互关系描述和网络与用户之间的接口定义。从功能抽象的角度常以子系统(也成网络内部的层)来作为描述网络功能构件的基础,这种方式的典型代表是ISO的七层开放系统互联参考模型(OSI/RM)。OSI/RM对网络体系结构做了全面的定义,将进行交换信息的“源系统”和“目标系统”分为七个子系统,即七层,各层功能如下:

􀂾 物理层:涉及在物理信道上传输原始比特,处理与物理传输介质有关的机械的、电气的和过程的接口,提供可靠的比特传输功能。

􀂾 数据链路层:分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。MAC解决广播型网络中多用户竞争信道使用权的问题;LLC的主要任务是将有噪声的物理信道变成无传输差错的通信信道,提供数据成帧、差错控制、流量控制和链路控制等功能。一言概之:在物理链路上提供可靠的数据传输功能。

􀂾 网络层:负责将数据从物理链接的一端传到另一端,即所谓点到点通信。主要功能是寻径,以及与之相关的流量控制和拥塞控制等。

􀂾 传输层:主要目的在于弥补网络层服务与用户需求之间的差距。传输层通过向上提供一个标准、通用的界面,使上层与通信子网(下三层)的细节相隔离。传输层的主要任务是提供进程间通信机制和保证数据传输的可靠性。

􀂾 会话层:主要针对远程终端访问。主要任务包括会话管理、传输同步以及活动管理等。

􀂾 表示层:主要功能是信息转换,包括信息压缩、加密、与标准格式的转换(以及上述操作的逆操作)等。

􀂾 应用层:提供最常用且通用的应用程序,包括电子邮件和文件传输等。

与来自标准化组织的ISO/RM不同,TCP/IP不是作为标准人为定制的,而是产生于互联网研究和应用实践中。虽然概念的理解上两者具有着相辅性,但是内部细节的差别还是很大的。TCP/IP模型由四层组成,具体如下:

􀂾 网络接口层:这是TCP/IP的最底层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。网络接口有两种类型:第一种是设备驱动程序(如局域网的网络接口);第二种是含自身数据链路协议的复杂子系统(如X.25中的网络接口)。

􀂾 网间网层(IP):负责相邻计算机之间的通信。其功能包括三方面:一、处理来自传输层的分组发送请求;收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入数据报:首先检查其合法性,然后进行寻径一假如该数据报到达信宿地(本机),则去掉报头,将剩下部分(传输层分组)交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。三、处理ICMP报文,处理路径、流控、拥塞等问题。

􀂾 传输层:提供应用程序间(即端到端)的通信,其功能包括:格式化信息流、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送;另外每个分组均附带校验和,接收端以此验证分组的正确性。

􀂾 应用层:向用户提供一组常用的应用程序,如文件传输访问、电子邮件等。严格说来,TCP/IP协议只包含下三层(不含硬件),应用程序不能算TCP/IP的一部分。就上面提到的常用应用程序,TCP/IP制定了相应的协议标准,所以也把他们作为

TCP/IP的内容。事实上,用户完全可以在网间网上建立自己的专门应用程序,这些专用引用程序要用到TCP/IP,但不属于TCP/IP。

ISO OSI/RM作为国际标准而制定,因此不得不考虑各种各样的情况,造成大而全、效率低,TCP/IP经过了20多年的实践检验,获得了巨大的成功,成为了事实上的网络协议标准。这两种协议是当今网络协议中最为典型和普遍的,至于两者的详细内容和比较已经有很多介绍,在此就不再遨述。

1.2 网络管理功能

国际化标准组织(ISO)定义了网络管理的五个功能域:故障管理(Fault)、配置管理(Configuration)、计费管理(Account)、性能管理(Performance)、安全管理(Security)。

如果在网络管理系统中需要到某个功能的话,均可以映射到FCAPS的五个功能领域中。FCAPS一斑看着是网络管理功能最高层的命令集,在具体的功能实现中,可以根据需求进行取舍。

􀂾 故障管理:检测、定位和排除网络硬件和软件中的故障,增强网络的可靠性。故障管理监视物理网络设备,对检测到的故障进行隔离、纠正和修复,确保其正常运行。

􀂾 配置管理:掌握和控制物理网络的状态,包括网络内各设备的状态及其连接关系,增强对网络配置的控制。它包含三个方面的内容:获得关于当前网络配置的信息,提供远程修改设备配置的手段,储存数据、维护一个最新的设备清单并根据数据 产生报告。

􀂾 计费管理:度量各个端用户和应用程序对网络资源的使用情况,为网络资源的合理分配和运行维护提供基础。

􀂾 性能管理:测量的项目可能有:整体吞吐量、利用率、错误率或响应时间等。

􀂾 安全管理:是对网络资源敏感信息访问的约束和控制,包括验证网络用户的访问权限和优先级、检测和记录未受权用户企图进行的不应有的操作。

FCAPS是在OSI网络管理体系结构中定义的,然而它也为研究其他网络管理体系如SNMP的功能给出了清晰的模型,因此了解FCAPS对掌握网络管理系统是有益的。

1.3 网络管理参考模型

在网络管理中,一般采用Manager/Agent的管理模型,

Manager与Agent在对等层上用网络管理协议进行通信。Manager负责发出管理操作指令,并接收来自Agent的信息;Agent直接管理被管理设备,响应Manager的指令操作,或产生报告通知Manager,一个Manager可以和多个Agent进行信息交换,而一个Agent也可以接收来自多个Manager的管理操作。一个实体既可以充当Manager,又可充当Agent,从而实现网络的级联管理。在异质网络管理系统中,Manager可以通过“转换Agent”实现管理多种类型的设备,“转换Agent”负责不同通信语言的转换。 Manager 协议栈和设备驱动程序 Agent 协议栈和设备驱动程序 物理网络 网络管理协议

在具体的实现中,例如SNMP网络管理体系,它的信息交换模型采用Manager/Agent模式,Manager负责被管设备的集中管理,Agent响应Manager的各项访问操作,它们之间采用SNMP协议进行通信,SNMP协议是基于TCP/IP网络实现的。

1.4 几种标准网络管理协议

在网络管理系统中,如果Manager与Agent之间的通信方式各不相同,将会大大的影响到网络管理系统的通用性,影响到异种设备的互联,因此需要制定Manager和Agent之间通信的标准,即网络管理协议。

从不同的网络协议角度出发标准化组织开发了两种典型的截然不同的网路管理技术:SNMP(Simple Network Management Protocol)和CMIS/CMIP(Common Management Information Services/Common Management Information Protocol)。它们的结果就像各自采用的网络基础的命运一样:前者力求简单,采用TCP/IP协议栈作为其传输基础,结果被广泛采用;CMIS/CMIP力求全面,以OSI/RM作为传输基础,力求提供一个完整的网络管理方案必须的所有功能,具备有参考意义,然而依赖于整个OSI/RM的实现,结果没有被广泛采用。

1.4.1 CMIP网络管理协议

对SNMP下一章将详细介绍,这儿简略介绍一下CMIP。

CMIP协议是在OSI制订的网络管理框架中提出的网络管理协议。与其说它是一个网络管 理协议,不如说它是一个网络管理体系。这个体系包含以下组成部分:一套用于描述协议的 模型,一组用于描述被管对象的注册、标识和定义的管理信息结构,被管对象的详细说明以 及用于远程管理的原语和服务。CMIP与SNMP一样,也是由被管代理和管理者、管理协议与管 理信息库组成。在CMIP中,被管代理和管理者没有明确的指定,任何一个网络设备既可以是 被管代理,也可以是管理者。

CMIP管理模型可以用三种模型进行描述:组织模型用于描述管理任务如何分配;功能模 型描述了各种网络管理功能和它们之间的关系;信息模型提供了描述被管对象和相关管理信 息的准则。从组织模型来说,所有CMIP的管理者和被管代理者存在于一个或多个域中,域是 网络管理的基本单元。从功能模型来说,CMIP主要实现失效管理、配置管理、性能管第 11 页

理、记 帐管理和安全性管理。每种管理均由一个特殊管理功能领域(SMFA,Special Management F unctional Area)负责完成。从信息模型来说,CMIP的MIB库是面向对象的数据存储结构,每 一个功能领域以对象为MIB库的存储单元。

CMIP是一个完全独立于下层平台的应用层协议,它的五个特殊管理功能领域由多个系统 管理功能(SMF)加以支持。相对来说,CMIP是一个相当复杂和详细的网络管理协议。它的设 计宗旨与SNMP相同,但用于监视网络的协议数据报文要相对多一些。CMIP共定义了11类PDU 。在CMIP中,变量以非常复杂和高级的对象形式出现,每一个变量包含变量属性、变量行为 和通知。CMIP中的变量体现了CMIP MIB库的特征,并且这种特征表现了CMIP的管理思想,即 基于事件而不是基于轮询。每个代理独立完成一定的管理工作。

CMIP的优点在于:

􀂾 其每个变量不仅传递信息,而且还完成一定的网络管理任务。这是CMIP协议的最大 特点,在SNMP中是不可能的。这样可减少管理者的负担并减少网络负载。

􀂾 完全安全性。它拥有验证、访问控制和安全日志等一整套安全管理方法。

CMIP的缺点也同样明显:

􀂾 它是一个大而全的协议,所以使用时,其资源占用量是SNMP的数十倍。它对硬件设备 的要求比人们所能提供的要高得多。

􀂾 由于它在网络代理上要运行相当数量的进程,所以大大增加了网络代理的负担。

􀂾 它的MIB库过分复杂,难于实现。迄今为止,还没有任何一个符合CMIP的网络管理系统 。

1.4.2 SNMP与CMIP管理协议的比较

可以从许多不同方面对SNMP和CMIP进行比较。对网络管理研究人员来说,它们之间的指导思想就有明显的差别;对管理人员和实用主义而言,其差别主要在于针对特定的平台和资源管理所需要的框架提供什么样的管理能力;对从事面向对象技术研究和开发的人来说,CMIP是一个完全面向对象的模型,采用分布式等级制的对象结构,而SNMP则是一个平常静态的模型;从采用传输方式而言,SNMP采用无连接、不保证可靠的UDP传输服务,而CMIP采用OSI/RM中面向连接、可靠的传输服务。 第 12 页

第 2 章 简单网络管理协议SNMP概述

2.1 SNMP的发展

简单网络管理协议(SNMP)是目前TCP/IP网络中应用最为广泛的网络管理协议。1990年5月,RFC 1157定义了SNMP(simple network management protocol)的第一个版本SNMPv1。RFC 1157和另一个关于管理信息的文件RFC 1155一起,提供了一种监控和管理计算机网络的系统方法。因此,SNMP得到了广泛应用,并成为网络管理的事实上的标准。

SNMP在90年代初得到了迅猛发展,同时也暴露出了明显的不足,如,难以实现大量的数据传输,缺少身份验证(Authentication)和加密(Privacy)机制。因此,1993年发布了SNMPv2,具有以下特点:

􀂾 支持分布式网络管理

􀂾 扩展了数据类型

􀂾 可以实现大量数据的同时传输,提高了效率和性能

􀂾 丰富了故障处理能力

􀂾 增加了集合处理功能

􀂾 加强了数据定义语言

但是,SNMPv2并没有完全实现预期的目标,尤其是安全性能没有得到提高,如:身份验证(如用户初始接入时的身份验证、信息完整性的分析、重复操作的预防)、加密、授权和访问控制、适当的远程安全配置和管理能力等都没有实现。1996年发布的SNMPv2c是 SNMPv2的修改版本,功能增强了,但是安全性能仍没有得到改善,继续使用SNMPv1的基于明文密钥的身份验证方式。IETF SNMPv3工作组于1998年元月提出了互联网建议RFC 2271-2275,正式形成SNMPv3。这一系列文件定义了包含SNMPv1、SNMPv2所有功能在内的体系框架和包含验证服务和加密服务在内的全新的安全机制,同时还规定了一套专门的网络安全和访问控制规则。可以说,SNMPv3是在SNMPv2基础之上增加了安全和管理机制。

SNMP最重要的是指导思想就是要尽可能简单,以便缩短研制周期。SNMP的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。在网络正常工作时,SNMP可实现统计、配置和测试等功能。当网络出故障时,可实现各种差错检测和恢复功能。虽然SNMP

是在TCP/IP基础上的网络管理协议,但也可扩展到其他类型的网络设备上。

后续实现步骤就不细说了,有需要的可评论或者私聊,源代码在个人主页公开

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值