论文部分内容阅读
摘要:目前通信网络结构越来越复杂,通信网络使用的设备也越来越复杂,随着网络的大型化与复杂化,如何有效地进行网络管理日益成为人们普遍关注的问题。基于TCP/IP模型的SNMP由于其先进的管理思想和简单、实用和易扩展的特点,成为网络管理领域名副其实的标准协议。现代化的综合网络环境具有规模大、结构复杂、系统多区域、设备多样化等特点,很多系统在设计初期并未考虑未来系统区域级的扩展及管理中心可切换问题,随之带来全系统网络管理及监控的难题。
關键词:SNMP;多线程;通信网络;网络管理
引言
随着IP和IT技术的发展,网络变得越来越复杂,网络设备种类繁多,且同种设备也存在不同版本,各种协议、设备、版本在网络中的混合使用,给设备间的相互操作带来了障碍,同时也增加了设备维护的难度和成本。ISO定义的网络管理包含五个功能域:配置管理、故障管理、性能管理、安全管理和计费管理,其中性能管理的目标是优化网络性能,提高运行质量。性能管理是测试组成网络各个单元性能的过程,它包括测试网络连接和当前网络段利用率、识别可能发生拥塞域、杜绝高出错率和检测网络传输状态等,帮助用户解决当前网络存在的问题。
1SNMP网络管理模型
SNMP网络管理模型包括四个关键性部件:管理站、管理代理、管理信息库和网络管理协议。(1)管理站(Manager)是一个独立的设备或者是一个共享网络中的一员,为管理者和网络管理系统提供接口。(2)管理代理(Agent),一般厂家的网络产品如路由器、交换机等在出厂时都已配置好相关的SNMP管理代理,对于不支持SNMP协议的设备,可以开发委托代理(proxyagent)来支持SNMP协议。管理代理的功能是响应从网管站发出的读取请求(Get)和设置请求(Set),并且给网管站发送事件及告警信息(Trap)。(3)管理信息库(MIB)存放了该设备上被管对象资源的所有信息,每个被管对象有一个惟一对象的对象标识符(OID)。(4)SNMP网络管理协议主要具有以下三个功能:取值(Get)使网管站能够从代理处获取相关对象的值;设置值(Set)使网管站能够在代理上设置相关对象的值;告警信息(Trap)使代理能够通知管理站、代理端(Agent)的管理信息库MIB值的重大变化以及其他重要事件发出。
2管理模式的选择
网络的管理模型通常来说可以分为集中式管理、分层式管理和分布式管理三种。模型采用分层式与集中式并存的混合管理架构,管理软件同时支持两种模式。在集中管理方式下,中心服务器与每一个域中心和终端通信。分层管理方式,中心服务器上运行综合管理软件,负责对全网设备的查询、配置、网络监控等,并设置中心数据库存储所有设备信息。相比于单纯的集中式管理,这种模式可以分散中心网管的负担,扩大网络设备的规模。区域以域网管中心为基准划分,每个域内设置域网管,负责本区域内终端设备信息列表维护、收集区域内设备状态,中心网管轮询区域网管以获得各区域设备状态及参数。混合式网络管理系统打破了集中式网管及分层网管的管理限制,实现了网元层与网络层管理的结合,提升了网管系统的管理能力,同时增加了网管系统的灵活性。
3通信网管系统的设计
3.1系统软件框架设计
软件架构设计:根据本系统管理模式的特殊性,结合系统软件易于维护、可扩展及管理需求,本系统软件架构采用中心网管系统和区域网管系统无差别化的设计。中心网管与区域网管设计具有相同的软件架构,系统间以特殊的逻辑识别符设定等级。中心网管与区域网管在启动时根据设计的握手规则,加载中心网管与区域网管各自的逻辑功能。由于系统中存在大量的网元设备,为增强系统并发执行的能力,提高系统吞吐量,网管软件主体设计为多线程架构。主线程功能设计包括:GUI显示、用户操作响应、用户任务分发以及数据库操作等。其中,GUI显示部分主要包括设备状态、链路状态、网络拓扑关系、区域设备状态、告警信息及日志信息等。子线程分为两类,一类为网元子线程,一类为域网管子线程。中心网管启动时,加载配置后生成若干网管子线程和域内网管子线程;区域网管启动时,生成若干网元子线程。网元子线程与网元设备一一对应,周期性采集设备状态及关键参数,并以共享内存的方式将参数传递给主线程完成主界面上设备基本状态的更新。每个网管子线程对应一个区域网管,域网管子线程具有周期性采集区域设备状态及关键参数的功能,并以共享内存的形式传递给主线程,以完成中心网管中区域设备状态的更新。网管子线程通过访问区域网管中的网管代理模块完成以上功能。
3.2性能分析
性能分析一般分为历史性能分析和实时性能分析。历史性能分析 包括对历史信息(如:性能日志及性能报告等)的查询、检索,从数据库提取性能历史数据,进行分析、计算性能指标,再经过统计和整理,以直观的图形显示和表数据来反映性能分析的结果,并生成性能日志,管理员可以设定时间范围,选择该时间段内设备的某种属性信息进行统计,还可以选用各种图形显示方式,直观地查看性能状态。实时性能分析 提供实时数据采集、分析和可视化的工具(如MIB浏览器),可以对流量、负载、丢包、设备温度、内存利用率、网络延迟等网络设备和线路的性能指标进行实时监控,并可设置数据采集的时间间隔。
4网管代理模块的实现
Net-SNMP功能强大,接口众多,其完善的开发工具和调试方法有助于用户快速实现需求和原型。基于Net-SNMP开发了代理模块,分别使用mib2c.scalar.conf、mib2c.iterate_access.conf、mib2c.notify.conf模型框架完成标量、表格和Trap的代码生成,修改各模块的迭代器、注册、回调等方法,并添加获取共享数据的实现方法,完成模块功能的修改。将修改后的源文件以模块的方式配置到Net-SNMP中,生成snmpd和snmptrap进程。
结语
随着网络的发展和不断成熟,基于SNMP的网络管理系统会越来越广泛的应用于各行各业。本文首先分析了SNMP协议的原理及,重点介绍了软件的设计及实现方法,最后编程实现了系统的设计功能。基于SNMP的网络管理模式是目前计算机网络管理技术发展的必然趋势,关于代理的重构技术及通用性研究将成为重要的发展方向。
参考文献
[1]谢希仁,计算机网络[M].大连:大连理工出版社,2004:294-296.
[2]易流平,仇洪川.层次化网络优化算法设计与实现[J].指挥信息系统与技术,2017(1):91-97.
[3]RFC1157,ASimpleNetworkManagementProtocol[S].1990
[4]IETFRFC2271-1998.AnarchitecturefordescribingSNMPmanagementframeworks.
[5]ManagementInformationBaseforNetworkManagementofTCP/IP-basedinternet:MIB-II.RFC1213.
[6]IETFRFC2273-1998.SNMPv3applications[S].
[7]武孟军,任相臣等.VisualC++开发基于SNMP的网络管理软件[M].北京:人民邮电出版社,2007.
關键词:SNMP;多线程;通信网络;网络管理
引言
随着IP和IT技术的发展,网络变得越来越复杂,网络设备种类繁多,且同种设备也存在不同版本,各种协议、设备、版本在网络中的混合使用,给设备间的相互操作带来了障碍,同时也增加了设备维护的难度和成本。ISO定义的网络管理包含五个功能域:配置管理、故障管理、性能管理、安全管理和计费管理,其中性能管理的目标是优化网络性能,提高运行质量。性能管理是测试组成网络各个单元性能的过程,它包括测试网络连接和当前网络段利用率、识别可能发生拥塞域、杜绝高出错率和检测网络传输状态等,帮助用户解决当前网络存在的问题。
1SNMP网络管理模型
SNMP网络管理模型包括四个关键性部件:管理站、管理代理、管理信息库和网络管理协议。(1)管理站(Manager)是一个独立的设备或者是一个共享网络中的一员,为管理者和网络管理系统提供接口。(2)管理代理(Agent),一般厂家的网络产品如路由器、交换机等在出厂时都已配置好相关的SNMP管理代理,对于不支持SNMP协议的设备,可以开发委托代理(proxyagent)来支持SNMP协议。管理代理的功能是响应从网管站发出的读取请求(Get)和设置请求(Set),并且给网管站发送事件及告警信息(Trap)。(3)管理信息库(MIB)存放了该设备上被管对象资源的所有信息,每个被管对象有一个惟一对象的对象标识符(OID)。(4)SNMP网络管理协议主要具有以下三个功能:取值(Get)使网管站能够从代理处获取相关对象的值;设置值(Set)使网管站能够在代理上设置相关对象的值;告警信息(Trap)使代理能够通知管理站、代理端(Agent)的管理信息库MIB值的重大变化以及其他重要事件发出。
2管理模式的选择
网络的管理模型通常来说可以分为集中式管理、分层式管理和分布式管理三种。模型采用分层式与集中式并存的混合管理架构,管理软件同时支持两种模式。在集中管理方式下,中心服务器与每一个域中心和终端通信。分层管理方式,中心服务器上运行综合管理软件,负责对全网设备的查询、配置、网络监控等,并设置中心数据库存储所有设备信息。相比于单纯的集中式管理,这种模式可以分散中心网管的负担,扩大网络设备的规模。区域以域网管中心为基准划分,每个域内设置域网管,负责本区域内终端设备信息列表维护、收集区域内设备状态,中心网管轮询区域网管以获得各区域设备状态及参数。混合式网络管理系统打破了集中式网管及分层网管的管理限制,实现了网元层与网络层管理的结合,提升了网管系统的管理能力,同时增加了网管系统的灵活性。
3通信网管系统的设计
3.1系统软件框架设计
软件架构设计:根据本系统管理模式的特殊性,结合系统软件易于维护、可扩展及管理需求,本系统软件架构采用中心网管系统和区域网管系统无差别化的设计。中心网管与区域网管设计具有相同的软件架构,系统间以特殊的逻辑识别符设定等级。中心网管与区域网管在启动时根据设计的握手规则,加载中心网管与区域网管各自的逻辑功能。由于系统中存在大量的网元设备,为增强系统并发执行的能力,提高系统吞吐量,网管软件主体设计为多线程架构。主线程功能设计包括:GUI显示、用户操作响应、用户任务分发以及数据库操作等。其中,GUI显示部分主要包括设备状态、链路状态、网络拓扑关系、区域设备状态、告警信息及日志信息等。子线程分为两类,一类为网元子线程,一类为域网管子线程。中心网管启动时,加载配置后生成若干网管子线程和域内网管子线程;区域网管启动时,生成若干网元子线程。网元子线程与网元设备一一对应,周期性采集设备状态及关键参数,并以共享内存的方式将参数传递给主线程完成主界面上设备基本状态的更新。每个网管子线程对应一个区域网管,域网管子线程具有周期性采集区域设备状态及关键参数的功能,并以共享内存的形式传递给主线程,以完成中心网管中区域设备状态的更新。网管子线程通过访问区域网管中的网管代理模块完成以上功能。
3.2性能分析
性能分析一般分为历史性能分析和实时性能分析。历史性能分析 包括对历史信息(如:性能日志及性能报告等)的查询、检索,从数据库提取性能历史数据,进行分析、计算性能指标,再经过统计和整理,以直观的图形显示和表数据来反映性能分析的结果,并生成性能日志,管理员可以设定时间范围,选择该时间段内设备的某种属性信息进行统计,还可以选用各种图形显示方式,直观地查看性能状态。实时性能分析 提供实时数据采集、分析和可视化的工具(如MIB浏览器),可以对流量、负载、丢包、设备温度、内存利用率、网络延迟等网络设备和线路的性能指标进行实时监控,并可设置数据采集的时间间隔。
4网管代理模块的实现
Net-SNMP功能强大,接口众多,其完善的开发工具和调试方法有助于用户快速实现需求和原型。基于Net-SNMP开发了代理模块,分别使用mib2c.scalar.conf、mib2c.iterate_access.conf、mib2c.notify.conf模型框架完成标量、表格和Trap的代码生成,修改各模块的迭代器、注册、回调等方法,并添加获取共享数据的实现方法,完成模块功能的修改。将修改后的源文件以模块的方式配置到Net-SNMP中,生成snmpd和snmptrap进程。
结语
随着网络的发展和不断成熟,基于SNMP的网络管理系统会越来越广泛的应用于各行各业。本文首先分析了SNMP协议的原理及,重点介绍了软件的设计及实现方法,最后编程实现了系统的设计功能。基于SNMP的网络管理模式是目前计算机网络管理技术发展的必然趋势,关于代理的重构技术及通用性研究将成为重要的发展方向。
参考文献
[1]谢希仁,计算机网络[M].大连:大连理工出版社,2004:294-296.
[2]易流平,仇洪川.层次化网络优化算法设计与实现[J].指挥信息系统与技术,2017(1):91-97.
[3]RFC1157,ASimpleNetworkManagementProtocol[S].1990
[4]IETFRFC2271-1998.AnarchitecturefordescribingSNMPmanagementframeworks.
[5]ManagementInformationBaseforNetworkManagementofTCP/IP-basedinternet:MIB-II.RFC1213.
[6]IETFRFC2273-1998.SNMPv3applications[S].
[7]武孟军,任相臣等.VisualC++开发基于SNMP的网络管理软件[M].北京:人民邮电出版社,2007.