毕业设计论文基于SNMP的通用网络管理平台

上传人:痛*** 文档编号:45470333 上传时间:2021-12-07 格式:DOC 页数:48 大小:2.76MB
返回 下载 相关 举报
毕业设计论文基于SNMP的通用网络管理平台_第1页
第1页 / 共48页
毕业设计论文基于SNMP的通用网络管理平台_第2页
第2页 / 共48页
毕业设计论文基于SNMP的通用网络管理平台_第3页
第3页 / 共48页
点击查看更多>>
资源描述
基于SNMP的通用网络管理平台摘 要:网络管理平台一般由协议通信软件包、MIB编译器、网络管理应用编程接口和图形化的用户界面组成,它是管理器的功能基础。本文介绍了SNMP的概念及框架结构,包括SNMP 、SMI、MIB、报文等内容,还介绍了如何在Windows环境下用VC+6.0制作实现基于SNMP的通用网络管理平台。关键字:简单网络管理协议(SNMP);管理信息库(MIB);网络管理平台Abstract: network management platform for the general agreement by the communications package, MIB compiler, network management application programming interface and graphical user interface component, which is based on managements function. This article introduces the concept of the SNMP and frame structure, including SNMP, SMI, MIB, text, and so on, also gave a briefing on how the Windows environment with VC + +6.0 production of generic SNMP-based network management platform. Keyword: SNMP (SNMP); MIB (MIB); network management platform目 录第一章绪论31.2网络管理的功能3第二章 简单网络管理协议(SNMP)52. 1 SNMP的由来52. 2 Internet的管理控制框架62.3对象实例的识别与提取72.4表格访问82.5 SNMP的定义82.6 简单网络管理协议SNMP122.6.1 SNMP消息122.6.2管理信息库14第三章 SNMP的管理信息库(MIB)173.1 ASN. 1描述文法173.2管理信息库(MIB)及其体系结构193.2.1 MIB库的核心位置203.2.2 MIB库结构21第四章 局域网络管理平台(FNMS)设计方案244. 1软件结构244.3软件系统的主要组成模块264.4各功能模块的基本流程274.4.1查询与老首274.4.2自陷334.4.3网络拓扑结构自动搜索35第五章 关键技术及其实现途径405.1建立Socket连接40总 结46参考文献47致 谢48第一章 绪论 上个世纪中叶,计算机与通讯技术的结合产生了影响人类历史的计算机网络,人类从此进入了以网络为中心的时代。特别是上个世纪后半叶以来,Internet在世界范围内迅速普及,计算机网络逐渐成为人们获取信息、发布信息的重要途径,与此同时,基于计算机网络的应用如金融网络、邮电网络、传感器网络、家庭网络等等不同领域的专业网络的出现,使计算机网络以各种形态结构渗透到人们日常生活的方方面面。随着网络技术与应用模式的迅猛发展,网络的规模日益庞大,结构日趋复杂,特别是“网络被破坏,可使地球瞬间陷入混乱”。因此,网络运行的稳定性、可靠性就显得至关重要,于是网络管理就应运而生。1. 1网络管理的概念 网络管理是控制一个复杂的计算机网络使得它具有最高的效率和生产力的过程,这一过程通常包括数据采集、数据加工、数据分析、提交报告给管理者。通过这样的过程,它提供了一个解决方案,使用户可以最大限度地增加网络的可用时间,提高网络设备的利用率、网络性能、服务质量和安全性,简化异构网络环境下的管理和控制网络运行成本,并且能够提供网络的长期规划。 然而,随着网络的发展,网络管理也必须动态更新。现代网络的应用模式的多样化,使得网络管理的内容也多样化。比如迅速崛起的嵌入式网络,引起了从传统网络管理向嵌入式网络管理的变革。1.2网络管理的功能网络管理涉及网络资源和活动的规划、组织、监视、计费和控制。国家标准化组织ISO定义了网络管理的五大管理功能域Management FunctionalAreas (MFAs),常常用首字母缩写词FCAPS表示,它们是: Fault Management:故障管理, Configuration Management:配置管理, Accounting Management:计费管理, Performance Management:性能管理, Security Management:安全管理。 其中,故障管理就是对网络中的故障进行检测、诊断和恢复,其目的是保证网络能够提供连续、可靠的服务。主要功能包括维护、使用和检查差错日志;接受差错检测的通报并做出反应;在系统范围内跟踪差错,执行诊断测试序列;执行恢复动作以纠正差错。 配置管理是网络管理的起点和基础,它负责对网络全局的状态进行跟踪,了解当前网络资源的应用情况,关键部分是对网络资源即网络对象的定义、存储、定位及操作。因此,网络配置管理功能至少包含识别网络拓扑结构,标识网络中的管理对象;自动修改指定设备的配置;动态维护网络数据库等。 计费管理记录用户使用网络资源的情况并核收费用。计费管理系统的设计目标应使系统具有如下功能:以用户或网络主机使用网络资源的情况为依据,根据管理策略对使用者进行收费。通过收费政策,使网络资源合理使用;通过收集各种访问信息,调整网络结构,提高网络使用效率。 性能管理是以网络性能为准则,负责收集、分析和调整管理对象的状态,其目的是保证在使用最少网络资源和最小延迟的前提下,网络提供可靠、连续的通讯能力。分为性能监测和性能控制两部分。性能监测指工作状态信息的收集和整理,性能控制则指为改善网络设备的性能而采取的动作和措施。 安全性一直是网络的薄弱环节之一,而用户对网络安全的要求又相当高,因此网络安全管理非常重要。网络中主要有以下几大安全问题:网络数据的私有性(保护网络数据不被侵入者非法获取),授权(authorization)(防止侵入者在网络上发送错误信息),访问控制(控制对网络资源的访问)。相应的,网络安全管理应包括对授权机制、访问控制、加密和加密关键字的管理,另外还要维护和检查安全日志。第二章 简单网络管理协议(SNMP)2. 1 SNMP的由来 最初有四个工程师开发了一个协议,他们称它为简单网关监控协议SGMP,用来对通信线路进行管理。SGMP给出了监视网关(OSI第三层路由器)的直接手段。随着网络管理需求的进一步增加,需管理的网络越来越多,对SGMP作了很大修改。逐步发展为简单网络管理协议SNMP (Simple Network Management Protocol)。SNMP使用管理信息结构SMI(Structure of Management Information)、管理信息库MIB (Management Information Base)提供了监控网络元素最小的、但功能强大的工具。 修改以后的管理协议主要在两个方面作了改进: 反映了网络操作中使用SGMP的经验; 加入了符合Internet定义的SMI和MIB结构体系。 改进后的协议就是著名的简单网络管理协议SNMP。SNMP的目标是管理互联网Internet中众多厂家生产的软件硬件,因此SNMP受Internet标准网络管理框架的影响很大:get操作用来提取特定的网络管理信息;get next操作通过遍历活动提供强大的信息提取能力;set操作用来对管理信息进行控制(修改、设置);trap(陷阱)操作来报告重要的事件。SNMP是通过五种通信原语(见表2-1)来进行通信的:2. 2 Internet的管理控制框架 这里先介绍一下SNMP遵从的管理控制(administration)框架。这个框架设定了两个SNMP应用实体之间的身份鉴别和权限检查策略。SNMP定义了管理进由无保留意义的字符串组成。尽管大多数共同体由有意义的ASC11码字符命名,但每个字节允许使用0255的任意字符。另外,一个SNMP应用实体可以加入多个共同体。SNMP应用实体对Internet管理信息库中的管理对象进行操作。一个SNMP应用实体可操作的管理对象子集称为SNMP MIB的可见范围(又称“可见对象”)。SNMP应用实体对可见范围内管理对象的访问仍然还有进一步访问模式限制,如只读、可读写等等。SNMP体系结构中要求对每个共同体都规定其可见范围及其每个对象的访问方式。记录这些定义的文件称为“共同体定义文件”。 Internet的报文总是源自某个应用实体,报文中携带有该应用实体所在的共同体名字。这种报文在SNMP的术语中称为“有身份标志的报文”。共同体名字是在管理进程和管理代理之间交换管理住处报文时使用的。管理信息报文中包括两部分内容:共同体名,加上发送方的一些标识信息(附加信息),用以验证发送方确实是共同体成员;数据,这是两个管理应用实体之间真正需要交换的信息。共同体就是用来实现简单的身份鉴别,接收方仅凭共同体名来判定收发双方是否在一个共同体中,是则收下报文;否则丢弃报文,并将非法访问进行故障报警。接收方在验明发送报文的管理代理或管理进程的身份后要对其访问权限进行检查,访问权限检查涉及多个因素:共同体成员对可见范围内每个对象定义访问模式,只读或可读写,规定可见范围内每个管理对象(类)可进行的操作(包括get ,get next, set, trap),管理信息库(MIB)对每个对象的访问方式进行限制(例如MIB中可规定对哪些对象只能读而不能写等)。 管理代理通过上述预先定义的访问模式和权限来决定共同体中其它成员要求的管理对象访问(操作)是否允许。 共同体概念同样适用于外部代理印roxyagent),只不过外部代理中包含的对象主要是外部设备的内容。 软件中主要使用public共同体。SNMP的体系中使用了大量的名词术语。关系如下图(图2-1):图2.1 SNMP的管理控制关系2.3对象实例的识别与提取 为了提供管理信息库的手段,SNMP在其MIB中采用了树状命名方法对每个管理对象实例命名。每一个对象实例的名字都由对象类名字加上一个后缀构成。对象类的名字是不会互相重复的,因而不同的对象实例之间也少有重名的危险。在共同体的定义中一般要规定共同体可见的管理对象范围,相应地也规定了哪些对象实例是该共同体的“管辖范围”。据此,共同体的定义可以想象为一个多叉树以词典序提供遍历所有管理对象实例的方法,有了这个方法,SNMP可简洁地使用get next操作,顺序地从一个对象找到下一个对象。这种方法对访问表变量尤为有用。 Get next(object-instance)操作返回的结果是一个对象实例标识符及其有关信息,该对象实例在上面“想象”的多叉树中紧排在指定标符的后面。这种方法的好处在于即使不知道管理对象实例的具体名字,管理系统也能逐个地找到它,并提取到它的有关信息。遍历所有管理对象可以从第一个对象实例开始(这个实例必须给出)然后依次使用get next,直至返回一个差错(表示不存在的管理对象实例)结束(完成遍历)。 出于信息是以表格(数据结构)形式存放。在SNMP的概念中,把所有表格都视为子树。其中一张表格(及其名字)是相应子树的根结点,每个实例是根下面的一个开始点,一列中的每行则是该列结点下面的子结点,并且是子树的叶结点。因此,按照前面的子树遍历思路,对表格的遍历是先第一列的所有元素,再第二列的所有元素,如此般,直至最后一个元素,当试图得到最后的一个元素的下一元素时,则返回差错标记。 在SNMP中,get next不仅能提取单个对象实例及其有关信息,它还能使用以多个对象实例作为操作数,找出每个对象实例的下一个实例及其有关信息。2.4表格访问 增加一行,通过SNMP,只用一次set操作就可在一个表格中增加一行。操作中的每个变量都对应于待增加行中的一列元素,包括对象实例标识符,如果一个表格中有8列,则set操作中必须给出8个操作数,分别对应出个列中的该行元素。删除一行,删除一行也可以通过SNMP调用一次set操作先成,并且比增加一行还简单。删除一行只需用set操作将该行中任意一个元素(对象实例)设置成为“非法”即可。 但这个操作有一个例外,地址翻译组对象中有一个特殊的表(地址变换表)该表中未定义一个元素的“非法”条件,因此SNMP中采用的办法是将该表中的地址设置成空串,将空字串(字长为0)视为非法元素。关于删除一行时表中的一行元素是否真的在表中消失,则与每个设备(管理代理)的具体实现有关。这样的结果是,网络管理操作中,Internet的管理站(远行管理进程)可能会从管理代理中取到“非法”数据,即已删除的不再使用的元素(对象实例)的内容。管理进程必须能通过各个数据字段的内容来判断数据的合法性。2.5 SNMP的定义SNMP是一个异步的请求/响应协议,也即SNMP的请求和响应之间没有必定的时间顺序关系。这样SNMP实体可以在发出请求后不等待响应的到来。在本软件中,当网络管理系统向被管对象发请求报文(Get Next Request Get Request)后,网络管理者要连续三次查询有无响应报文的到来,如果没有,那将按对方未开机或未安装SNMP协议处理。由于传输服务存在残留差错,请求或响应的丢失要由发送方负责纠正或克服。 以下是用ASN.1(Abstract Syntax Notation One)定义的SNMP协议,我们可以看到它是符合ASN.1定义的结构及数据类型的:RFC1157-SNMP DEFINITIONS: :=BEGINIMPORTSObject Name, Object Syntax, Network Address, Ip Address, Time TicksFROM RFC1155-SMI一顶层报文Message: :=SEQUENCEVersion此RFC的版本是1INTEGERversion-1(0) ,Community共同体名OCTET STRINGData 如果报文较小可加认证信息ANY protocol data unitsPDUs: :=CHOICE get -requestGet Request-PDU,get-next-requestGetNextRequest-PDU,get-responseGetResponse-PDU,set-requestSetRequest-PDU,trapTrap-PDU PDUs GetRequest-PDU:= 0IMPLICIT PDUGetNextRequest-PDU:= 1IMPLICIT PDUGetResponse-PDU:= 2IMPLICIT PDUSetRequest-PDU:= 3IMPLICIT PDUPDU:= SEQUENCE request-id INTEGER, error-status 一有时值可忽略 INTEGER noError(0), tooBig(1), noSuchName(2), badValue(3), readOnly(4), genErr(5) ,error-index有时值可忽略INTEGERvariable-bindings有时值可忽略VarBindListTrap-PDU:=4 IMPLICIT SEQUENCE Enterprise产生陷阱的对象类型 OBJECT IDENTIFIER,见sys Object ID agent-addr 产生陷阱的对象地址 NetworkAddress, generic-trap陷阱类型INTEGER coldStart(0), warmStart(1), linkDown(2), linkUp(3), authenticationFailure(4) egpNeighborLoss(5), enterpriseSpecific(6) , specific-trap特定代码INTEGER如果generic-trap不是EnterpriseSpecific则该代码取偶数Timestamp子网络实体上次初始化到产生陷阱所经过的时间TimeTicks,variable-bindingsVarBindList variable bindingsVarBind: :=SEQUENCEName ObjectName,value ObjectSyntax VarBindList:=SEQUENCE OF VarBindEND 以上定义具体对RFC的版本(version),共同体名(community),各种pdu类型,以及pdu的结构,trap pdu所代表的错误等都作了较为详细的描述。2.6 简单网络管理协议SNMP 简单网络管理协议SNMP包括三个组成部分: (1)通信的SNMP模型。包括:管理员和代理、SNMP操作、SNMP消息的格式、SNMPV l和SNMPv2协议等。(2)管理信息库MIB。它是设备所维护的全部被管理对象的结构集合,包括对象标识符、扩展的MIB和数据表示法。(3)管理信息结构(Structure of Management Information, SMI)。它是用于指定一个设备维护的管理信息的规则集,这些规则用于命名和定义这些被管理的对象。2.6.1 SNMP消息 SNMP用一种无操作的传输服务在SNMP管理器和代理之间通信。请求和响应是以协议数据单元,或成为PDU的形式传输。PDU是在SNMP通信过程中传输和接受的消息的正式名称。1、请求和响应 (图1-3)解释了管理器和代理之间的通信序列,图中的事件按照从上到下的顺序发生。2、通知 前面提到的模型中,管理器向代理请求信息,而代理响应请求。然而,代理也能主动产生消息,这种消息被称为通知。在SNMPV l中,通知指的是中断:在SNMPv2中,通知是中断或是消息。 (图1-4)解释了包含中断的通信序列。图1-3 SNMP通信过程的行为序列图1-4滞中断的通信过程的行为序列 中断的存在在于处理特殊情况,当管理器或代理检测到特殊情况,都会发送一个中断消息。SNMP指定了几个预定义的中断,开发者也可定义应用程序中断。3. SNMPv1和SNMPv2协议现在比较常用的SNMP两种版本是SNMPV l和基于整体的SNMPv2o SNMPv2在保持同SNMPV l的完全兼容的同时,提供了逐渐完善的安全网络管理方法。SNMPV l规范定义了如下的基本操作:SNMPv2协议在先前的SNMPV l基础上提供了一些新的协议操作,具体包括如下:除了这些增强的操作,SNMPv2还定义了很多新的MIB的机制。2.6.2管理信息库 管理信息库,即MIB库,是表示被管对象的通用概念,它是网管中数据表示方法的重要部分。MIB由一种称作管理信息结构(SMI: Structure of Management Information)33的网络标准语言来定义对象。在Internet网上,最通用的就是国际互连网MIB-II(RFC 1213),它是许多标准的MIB中的一种,目的是定义管理TCP八P网络的通用代理对象。要访问MIB-II对象的值,SNMP管理器向代理发出请求,并描述目标对象的实例,请求信息包括MIB信息,使代理能够识别指定的对象,相应的响应信息里包括同样的标识信息。 针对不同的设备、网络和企业,还可以定义一些专用的扩展MIB,用来支持在标准MTB中没有包J翻勺特定的网络对象,如一些大公司的企业版MIB,还有在我们Cable View网管系统中用到的Cable Modem专用MIB库等。网管应用程序能够像查找一个标准MIB-II对象一样,从扩展的MIB中查找一个对象。所以从使用的角度来看,和标准的MIB是没有什么区别的。.对象标识符(OID: Object Identifier) 对象标识符(OID)是准确标识一个MIB-II对象的数据类型,一个OID包括一串非负整数,这些整数描述了在层次树中找到指定对象的唯一途径。命名树是一种任意宽度和深度的有常规结构的树,它描述了已命名的对象的层次。它的节点是用非负整数标识(并排的分支中每个节点都有唯一的标签)。不同组织有在命名树的子树中指定标签的决定权,它们可以分派下属节点的标签,或者把这种权利授予别的组织。 根节点有3个子树: ccitt(0)这个分支的管理权属于国际电报电话咨询委员会(CCITT) iso(0)这个分支的管理权属于国际标准组织和国际电子委员会(ISO/工EC),就是在这条路径下定义了互连网管理 joint-iso-ccitt(0)这个分支的管理权由CCITT和ISO/IEC共享。图1-5 MIB命名树的顶部 命名树中的每一条路径都终结于一个叶节点。路径中的标签序列(从根节点开始)正是叶节点对象在OID中的命名。 在实际中,OID的命名一般采用点分法,用点分法表示的OID由一系列整数组成,中间的圆点隔开。在M工B-II中OID的前缀是1. 3. 6. 1. 2. 1 a 下面用一个MIB-II中OID的例子来说明。路径名的完整写法是用下面OID中相应整数标识:示例:第三章 SNMP的管理信息库(MIB)3.1 ASN. 1描述文法抽象文法表示方法之一(Abstract Syntax Notation One简称ASN. 1)是一种用于描述结构化客体结构和内容的语言。它定义于IS08824中。ASN. 1类似于高级语言的数据描述部分。它提供若干语言构件,用以定义类型和值。类型对应结构,值对应内容。ASN. 1模块的一般格式如下:DEFINITIONS TagDefault:= 模块标识Begin EXPORTS从其它模块移植过来的部分 INPORTS可以被移植到其它模块的部分 AssignmentList类型分配,值分配,宏定义End 例如在上一章中的SNMP的定义就采用了ASN. 1描述文法。(见本文第2. 5章节) ASN. 1中定义了几种变量类型,MIB用到的ASN. 1规定的类型的一部分(见表3-1)。其中结构型中的序列型SEQUENCE一般指由多个元素组成的有序列表。每个元素一般是ASN. 1规定的类型。SEQUENCE OF类似于SEQUENCE类型,只是它的元素都是同一类型的。当数据的类型不明确时,我们可以用ANY这种含糊的定义方法定义变量的类型,它可以被任意的ASN. 1类型所置换,这样增加了灵活性。表3-1 MIB用到的ASN. 1规定的类型同时MIB自行定义了以下类型(见表3-212)表3-2 MIB自行定义的类型在传送过程中,内容的表示依照基本编码规则BER (Basic Encoding Rules)。BER把用传输的内容分成三部分:类型(T)、长度(L)、值(V),T是MIB变量的类型,L限定了变量所占用的八位位组的数目,V为变量的值。对结构变量来说,BER采用嵌套方式编码。这些类型以及它们所对应的值是由SNMP协议规定的。变量编码类型分为基本类型和结构类型。如果变量是一个单一的简单类型,就采用基本类型编码。否则,如果它是复合的结构类型,那就采用结构类型编码。如图3-1:图3-1 BER的基本编码格式 但是在ASN. 1编码中还有一些特别的地方:长度的表示由于数据的长度有可能大于一个字节所能表示的长度(0255),比如说一个很长的字符串。所以ASN.1以128为界限,规定当数据的长度小于128时,ASN.1采用短形式来表示;大于等于128时,用长形式来表示,如下图所示(图3-2): 短形式一一一数据长度小于128时,长度域的表示方法 长形式一一一数据长度大于等于128时,长度域的表示方法其中K是指表示数据长度的整数需要用K字节来表示图3-2对长度的ASN.1编码 对象标识符的表示至今为止,ASN.1并没有将任何一个大于127的值充当MIB对象的标识符。但是由于表变量访问的特殊性,所以有时候标号可能大于127。所以ASN.1便用一种扩展表示法来存储这个值。每字节中只包含7位数据,最高位为。时表示数字标识符的结束,举例如下(表3-3):表3-3对象标识符的表示3.2管理信息库(MIB)及其体系结构 管理信息库,它存储在被管理对象的存储器中,管理信息库是一个动态刷新的数据库,它包括设备的配置信息,数据通信的统计信息,安全性信息和其它信息。这些信息被动态地送往管理器,形成网络管理系统的数据来源。网络管理器和被管代理通过交换管理信息来获取网络信息,其中网络管理器定期轮询各被管代理,被管代理监听和响应来自网络管理器的网络管理查询和命令。这种信息交换通过一种网络管理协议来实现。信息分别驻留在管理工作站和被管理对象的管理信息库MIB中。任一网络管理域至少都应该有一个网络管理站,驻留在网络管理工作站上的网络管理器负责网络管理的全部监视和控制工作。网络管理器通过与被管代理的信息交互(发送请求/接收响应)来完成管理工作。被管代理与网络管理器之间的信息交互的动作规则和数据格式等由网络管理协议规定。网络管理协议与管理信息库一起协调工作,简化了网络管理的复杂过程。3.2.1 MIB库的核心位置SNMP的管理信息库MIB是所有SNMP支持的变量的集合,SNMP的MIB库规定了网络代理必须包括的管理信息和这些信息的格式、内容、含义。简单网络管理就是通过对MIB各种变量的访问,统计,分析,从而对网络进行管理。对MIB变量的访问是实现网络管理各功能的基础。所以MIB库在SNMP中占有核心位置,如图3-3所示。图3-3 MIB所占的核心位置3.2.2 MIB库结构图3-4 MIB的树性结构 MIB结构类似一种树憋结构的数据库,MIB定义了8个管理信息类别,MIB-II是MIB-I基础上的扩展,增加了SNMP和CMOT两项。MIB结构如图3-4所示。 所以MIB标识符就是以树的深度遍历时经过的节点的序号来定义的。MIB类型有: System 主机或网关信息 Interface 网络接口信息AT 地址转换信息IP 网际协议ICMP 网际控制报文协议TCP 传输控制协议UDP 用户数据报协议EGP 外部网关协议CMOT 公共管理信息与服务协议Transmission 传输媒体协议SNMP 简单网络管理协议MIB对象定义: DEFINITIONS:=BEGIN IMPORTS mgmt, OBJECT-TYPE, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks FROM RFC1155-SMI;mid OBJECT IDENTIFIER:=mgmt 1system OBJECT IDENTIFIER:=mib 1interface OBJECT IDENTIFIER:=mib 2at OBJECT IDENTIFIER:=mib 3ip OBJECT IDENTIFIER:=mib 4icmp OBJECT IDENTIFIER:=mib 5tcp OBJECT IDENTIFIER:=mib 6udp OBJECT IDENTIFIER:=mib 7)egp OBJECT IDENTIFIER:=mib 8cmot OBJECT工DENTIFIER:=mib-2 9transmission OBJECT IDENTIFIER:=mib-2 10snmp OBJECT IDENTIFIER:=mib-2 11 END其中cmot, transmission, sump都是MIB-II中才规定的。MIB对象的定义格式以sysDescr举例说明如下13 OBJECT: sysDescrsystem 1-对象描述符Syntax: OCTET STRING-对象类型Access:read-only.-访问权限Status:mandatory.存在状态 文本描述是说明对象代表的意义。访问方式指可对变量访问的方式,有三种:read-only(只读),write-only(可写),not-accessible(不能访问),代理根据各MIB对象的访问权限决定管理方对它的访问是否合法。存在状态指此变量在SNMP中的地位,有三种:optional(可选择的),obsolete(过时的),mandatory(强制的)。第四章 局域网络管理平台(FNMS)设计方案4. 1软件结构 通过NMS来采集MIB库的数据,网络管理站NMS具有如下的软件结构(图4-1):其中,NMS由三部分组成,第一部分是发出SNMP请求报文,如get, set和get next命令,并处理来自SNMP Agent的响应。第二部分是SNMP Agent的关键部分,主要工作是处理SNMP报文的ASN. 1编解码,这部分程序量最大,且较为复杂。第三部分处理数据报文的收发工作,它调用标准的SOCKET函数来完成,我们可以把它看作是网络管理站中处理收发数据的底层部分。它同上层的SNMP处理模块的接口十分简单,仅仅只是将受到的SNMP原始报文传送到上层,然后接受上层传送来的SNMP请求报文。图4-1网关工作站软件结构图 NMS对SNMP报文处理的主要任务是分析收到的SNMP响应报文并转换成软件容易识别和处理的内部表现形式,然后根据不同的响应作不同的处理,如图4-2所示。在图4-2中,内部形式是指SNMP处理软件容易是别的数据结构,外部形式是指ASN. 1编码后的字节串。从原理上说,SNMP处理模块是比较简单的,当NMS发出的SNMP请求后,它就有单个进程重复等待一个响应报文(或TRAP事件),根据响应报文执行的响应操作并返回结果。若是TRAP事件,NMS无需做出响应。实际上,许多小细节使程序代码复杂化。消息本身对所有的域都采用ASN. 1表示方法,所以不能使用一个固定的结构来描述消息格式。相反,客户机和服务器必须在消息中一步步地分析每一个遇到的域。进一步说,因为每一个值都是由ASN. 1格时表示的,所以我们必须将它们转换成合适的内部形式。图4-2 SNMP报文处理流程(当响应报文中含有多个MIB变量时,重复第4, 5步骤)4. 2网管软件系统的主要功能根据某军用信息系统的要求,该网络管理软件应具有以下五个功可以用首写字母FCAPS(Fault, Configuration, Accounting, Performance, Security)来表示(图4-3):图4-3 FCAPS各个功能具体内容介绍如下: 故障管理(FM): 故障管理检测、定位和排除网络中的故障。当出现错误时,该功能确认故障,找出故障位置并尽可能排除这些故障。 配置管理(CM): 配置管理的功能是掌握和控制互连网络的状态,包括互连网络内各设备的状态,机器连接关系。 帐务管理(AM): 帐务管理的功能是度量各个端用户和应用程序对资源的使用情况。根据帐务管理功能提供了计算一个特定网络或网段运行成本的手段,当然也包括指定预算、验证预算和开列账单功能。 性能管理(PM):性能管理考虑的是网络的利用情况及网络运行的好坏。性能管理是网络管理人员能够监视网络运行的关键参数,如吞吐率、响应时间、网络的一般可用度,并指出网络中哪里的性能可以改善以及如何改善。 安全管理(SM): 安全管理是对网络资源极其重要信息访问的约束和控制,包括验证网络用户的访问权限和优先级、检测和记录未授权用户企图进行的不应有的操作。 这五大功能在SNMP支持下的FCAPS功能域之间的关系6如下(图4-4):图4-4网络管理体系结构 在野战局域网管理平台中,应至少具备故障管理、配置管理、性能管理、安全管理等四大功能。4.3软件系统的主要组成模块(如图4-5 )图4-5软件系统的主要组成模块4.4各功能模块的基本流程4.4.1查询与老首4.4.1.1查询对变量的查询主要是完成SNMP的get操作。由于MIB库本身就是类似树型结构,所以查询界面采用树型结构更形象直观,通过双击数的叶子节点就可查询相应的变量。简单变量由于值为一个简单的类型,所以直接在一个文本框中显示;而表变量是一个类似二维表格的数据,故查询结果以表格的形式在单独的对话框中显示。详见简单变量的访问流程图(图4-6),显示界面(图4-7),复杂变量的访问流程图(图4-8)和显示界面(图4-9)。图4-6简单变量的访问流程图图4-7复杂变量的查询图4-8 MIB变量浏览图4-9 MIB表变量浏览4.4.l.2轮询为了更好地收集网络信息,SNMP管理器定期轮询被管设备,但是由此带来了大量额外的通信量。由于个别表变量内容庞大,故轮询时间的最小值设置的比简单变量要大的多。由于简单变量和复杂变量的结构形式有所不同,所以在轮询时,笔者将简单变量和复杂变量分别轮询。图4-10是一个用米选择查询简单还是复杂变量的对话框。对简单变量轮询时间以秒为单位,对复杂变量以分为单位。并分别以不同的对话框显示轮询结果。图4-10 选择轮询变量类型的对话框对简单变量和复杂变量的轮询显示界面如图4-11,4-12所示。在图4-11中,每次简单变量的轮询结果占表中的一行,轮询间隔是5秒。在图4-12中,新的表变量轮询结果总是覆盖了旧的轮询结果,轮询间隔是1分。图4-11对简单变量轮询的显示图4-12表变量轮询的显示 轮询要消耗大量的带宽,所以有必要对它进行一下分析。假定:一个SNMP管理器轮询被管网络资源的轮询时间等于T;则可被此SNMP管理器管理的资源数: N=T/ 其中,是指执行一次轮询循环时间的最小值。 定义: a=管理器发出轮询请求报文的时间 b=管理器到代理的网络延迟时间c=代理设备接收和内部处理报文时间d=代理设备发出响应报文时间e=代理到管理器的网络延迟时间f=管理器接收返回报文时间则=a+b+c+d+e+f 为简化起见,假定a=c=d=#b=e,所以=4a+2b,即N=T/(4a+2b) o 考虑LAN 假定每一被管设备(managed device)每隔15分钟被轮询一次,内部报文处理时间为50ms。网络延迟时间为1 ms(Ethernet的传输速度10Mbps,即为1K字节数据的延迟时间),所以, N=T/(4a+2b)=(1 S X 60)/(4(0.05)+2(0.001)=4500即在LAN上基于SNMP轮询机制可以最大管理4500个网络设备。 考虑WAN: 根据网络距离的长短,网络延迟时间不同,假定网络延迟500ms 。内部报文处理时间和轮询时间不变,所以. N=T/(4a+2b)=(15 X 60)/(4(0.05)+2(0.5)=750即在WAN上基于SNMP轮询机制可以最大管理750个网络设备。4.4.2自陷 trap-PDU是SNMP应用实体产生的请求报文,它向SNMP协议所指定的NMS上报当前发生的SNMP所规定的事件。一旦接收到trap-PDU,协议实体就向SNMP应用实体解释事件的内容。trap报文是一种特殊的SNMP报文,它有不同于其它四种报文的自身的结构。它被定义在RFC1157中14具体定义见本文2. 5章节SNMP的定义内容。SNMP支持的TRAP类型有: 冷启动 冷启动事件是传送协议实体重新启动自身,由此可能改变其的配置或协议实体的实现。 热启动热启动事件是传送协议实体重新启动自身,但是并没有改变其的配置或协议实体的实现。 链路终止 链路终止表示传送协议实体在记录与代理配置中的一个通信连接上搜索到了一个错误。链路终止类型的trap-PDU列出了受影响的接口的iflndex实例的名字和值,作为它的变量列表的第一个元素。 链路启动 链路启动trap表示传送协议实体在记录与代理配置信息中的一个通信连接重新恢复。链路终止类型的trap-PDU列出了受影响的接口的iflndex实例的名字和值,作为它的变量列表的第一个元素。 访问权限失败访问权限失败trap表示传送协议实体成为某个未正确设置权限的协议报文的目标地址。SUMP协议的实现必须有能力产生这种TRAP,同时必须在实现中借助算法的实现,保证禁止此种TRAP报文的递交。 EGP对象中止 EGP对象中止TRAP表示传送协议实体的对等相邻网关被标识为宕机,从而导致对等关系不复存在。丢失网关egpNeighAddr的名字和值将作为该种trap-PDU变量捆扎表的第一项同时返回。 企业特定 企业特定trap标识传送协议实体检测到一个企业自定义的事件发生。括号中的类型表示各个不同的事件。Trap事件界面显示和流程图如图4-13, 4-14:图4-13 trap事件日志查看图4-14 MIB Trap接收流程图4.4.3网络拓扑结构自动搜索 网络拓扑结构自动搜索和拓扑结构显示采用了一定的路由选择算法和网络拓扑显示算法(具体内容见第5章)。流程图和显示界面如图4-15, 4-16:图4-15拓扑图自动搜索流程图图4-16 拓扑结构显示 以上仅仅是网络和网关的发现,要想了解每一个子网内部的主机,还要对子网进行搜索。由于时间的仓促,在此仅作算法上的讨论。 对子网的搜索包括: 确定网络设备状态 根据子网的地址和子网掩码,算出子网内IP范围,再用Ping功能依次检测各个IP,确定子网内的主机的状态。 确定网络的设备类型网络设备类型可以通过访问设备的MIB得ipForwarding和sysServices变量来确定。SysServices变量表示T该设备可以提供的服务的集合。IpPorwarding变量说明设备是否具有前向转发IP数据包的功能。如有则该值为1,说明该网络设备可以用作网关,否则该值为2。如该设备提供OSI中的m层服务,则sysServices的值为2m-1,各层及其功能对照表(表4-17)如下:表4-17 TCP/IP各层与其功确定网络设备的网络接口在MIB定义的ifTable中有一个变量ifType用来说明网络设备的接口类型,它的类型值和代表的意义可以从下面的ifType的定义看出15ifType OBJECT-TYPE SYNTAX INTEGER other (1), none of the following regular1822(2), hdh1822(3), ddn-x25(4), rfc877-x25(5), ethernet-csmacd(6), iso88023-csmacd(7), iso88024-tokenBus(8), iso88025-tokenRing(9), iso88026-man(10), starLan(11), proteon-lOMbit(12), proteon-80Mbit(13), hyperchannel(14), fddi(15). lapb (16),sdlc (17),dsl(18),一T-1e1 (19),一european equiv. of T-1basicISDN(20),primaryISDN (21),一proprietary serialpropPointToPointSerial(22),ppp (23),softwareLoopback(24),eon(25),一CLNP over IP 11ethernet-3Mbit(26),nsip(27), 一XNS over IPslip(28), 一generic SLIPultra(29), 一ULTRA technologiesds3 (30), 一T-3sip (31), 一SMDSframe-relay(32) ACCESS read-onlySTATUS mandatoryDESCRIPTION The type of interface, distinguished according to the physical/link protocol (s) immediatelybelow the network layer in the protocol stack.”:=ifEntry 3其中ifTvpe表示的典型的接口类型(表4-18)有:表4-18典型的接口类型第五章 关键技术及其实现途径5.1建立Socket连接 为BSD UNIX而开发的套接字接口(socket interface),能存取TCP/IP网络的资源。套接字的概念是允许应用程序使用高层地址或句柄“插到”网络中,请求所需的服务(例如,发送和接收数据)。尽管套接字广泛地和TCP/IP联系在一起,但实际上它是一个通用的接口,可以在一些不同的基本通信协议中使用。事实上,创建套接字地址时的一个参数是网络协议(如:TCP/IP)。一个套接字被建立后,它就与本地IP地址相连系起来。但是,IP地址仅是一个简单指定出入主机的特定路径,而
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!