snmp协议范文
时间:2023-04-07 07:44:26
导语:如何才能写好一篇snmp协议,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
【关键词】snmp;SNMP命令;SNMP报文;网络设备管理
1 概述
在社会经济高速发展的推动下,计算机和互联网技术越来越多地被应用到各行各业以及人们的日常生活当中。随着互联网的规模越来越大,对网络设备有效管理,以发挥网络最大效益的问题日益被人们重视。基于SNMP的网络管理系统逐渐被人们所认识,它保证了网络设备可靠、稳定、高效、经济、安全地运行,提高了网络管理水平和服务质量,降低了运行成本,在网络系统管理中具有很大的优势,成为了目前世界上最流行的网络设备管理解决方案。上世纪80年代初,Internet体系结构委员会根据国际互联网工程任务小组(IETF)制定网络管理协议标准,突出了简单网络管理协议的第一个版本,即SNMPv1。随后,SNMP迅猛发展,根据实际需求又相继了多个版本。由于现在绝大多数网络设备都支持SNMP,所以基于SNMP的网络设备管理系统很容易远程管理这些网络设备,来监听网络状态,修改网络设备配置以及报警网络严重事件。
2 SNMP
SNMP(Simple Network Management Protocol)属于应用层的协议,它采用了特殊形式的Client/Server模型,即/管理站模型,通过管理站与SNMP之间的信息交互,来对网络进行管理。SNMP管理站会对每个SNMP发出关于MIB定义信息的查询消息,SNMP回应SNMP管理站命令,来反馈安装此SNMP的网络设备的状态。二者之间的交互信息,是包含了SNMP报头和协议数据单元PDU两部分的SNMP报文。
PDU含有SNMP的传输命令,代表着不同的数据信息。
SNMP报文的PDU一般分为两种,一种是包含get和set命令的PDU,一种是包含trap命令的PDU。SNMP报文格式如表1. 和表2
表1 SNMP不含trap命令的报文格式
公共SNMP首部 get/set首部 变量绑定
版本号 公共体 PDU类
型(0~3) 请求标
识符 差错状态
(0~5) 差错
索引 名 值 名 …
表2 SNMP含Trap命令的报文格式
PDU
类型(4) trap首部 变量绑定
企业 的
IP地址 trap类型
(0~6) 特定
代码 时间戳 名 值 …
在get/set首部中含有请求标识符,它是由管理站进程设置的一个整数值,用来识别对应的响应报文,管理站就可以根据请求标识符分辨出相应的响应报文。在get/set首部中差错状态则是由响应中显示的数字,不同的数字代表不同的错误类型。
3 SNMP管理网络设备
由SNMP基本模式可知,网络管理系统至少要有管理站和,而是安装在被管理的网络设备上。通常的基于SNMP的网络管理系统包含四个部分:SNMP管理站、SNMP设备、用于SNMP管理站以及服务器之间传输信息的网络协议、MIB库(Management Information Base,管理信息库)。
SNMP管理站是SNMP网络设备管理系统中的管理站,通过SNMP对网络设备进行监视和管理;SNMP是安装在被管理的网络设备中的软件,它通过收集被管理设备的信息,在SNMP管理站发出请求时或者被管理设备发生事件时,向SNMP管理站发送被管理网络设备信息;MIB库是保存被管理的网络设备管理信息的数据信息库,和相关的SNMP一起存放在被管理的网络设备中。
当SNMP管理站向被管理的网络设备发送含有get命令的SNMP报文,请求读取MIB库变量时,SNMP会接收SNMP报文,经过处理得到相应消息,按照命令对被管理设备进行操作,读取变量信息,同样以含有getresponse命令的SNMP报文形式回复SNMP管理站,从而SNMP管理站获取被管理网络设备的信息,如果需要,管理站会继续发送getnextrequest消息报文来获取接下来的MIB信息。此时,管理站就会获取当前被管理网络设备的状态。如果该网络设备处在异常状态,SNMP管理站会根据既定的规则方案,向SNMP发送set命令,接收到管理站发送的set命令后,按照管理站要求,修改MIB库信息变量,进而改变被管理网络设备的配置,使被管理的网络设备处在管理站要求的配置状态下。
当被管理设备发生某些事件时,SNMP进程会主动给SNMP管理者发送trap命令的SNMP报文,告知SNMP管理站当前网络设备的状态。管理站发送getrequest命令来确认当前网络设备的状态。如果配置状态存在异常,管理站进而发送set命令,将网络设备的配置进行修改,使其正常工作。
当前基于SNMP的网络设备管理软件系统有很多,包括MRTG,PRTG,Solarwinds,What’s up gold,HP的NNM等等,在互联网规模日益发展的今天,选择一款合适网络设备管理软件,抑或是依照上述工作流程开发相应的管理软件,在提高网络设备管理效率、增强网络设备稳定度等等方面都有很高的实际意义,当然,这些还有待我们学习提高。
参考文献:
[1]马睿,刘源,秦前清.基于SNMP协议的网络管理系统的设计[J].微机发展.2004(03)
[2]William Stallings, SNMP, SNMPv2, SNMPv3, and RMON 1 and 2[M].Pearson Education,2002
[3]杨玉春,王烨兴.基于SNMP协议的网络管理安全机制研究[J].中国科技信息.2009(04)
篇2
关键字:流量监控; SNMP(简单网络管理协议); MIB(管理信息库); WBM (基于Web的网络管理)
中图分类号:TP393.18 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.033
本文著录格式:[1]赵亮.基于SNMP协议的网络流量监控管理系统的研究[J].软件,2013.34(8):106-107
0 引言
在校园网或者一些企业内网的复杂环境中,网络面临的攻击主要是来自于计算机病毒,网内主机的攻击以及由于网络负荷过重而造成的网络的瘫痪。因此,对于全网进行24小时的监控和流量统计对于整个网络的安全和网络设备的稳定意义巨大。本文主要针对基于SNMP协议的网络流量监控管理系统进行了分析。
1 流量监控系统的分析设计与实现
1.1 分析设计
1.1.1 网络
网络流量的分类,主要是为了将那些复杂的流量类型进行分类,以此便于监控和管理。通常来说可以分为两类:①源节点到一个或多个目的节点之间的基于IP层的网络端到端的流量, IP层的每一设备都可以作为源和目的结点,如路由器、交换机、服务器和工作站,这种类别流量是从实际网络中所测量的流量数据,通常可以用来与网络最大负载能力比较以表现当前网络链路的繁忙状况;②发生在节点间的应用层业务流量,包括Http、P2P、Ftp、Email、Print、视频等多种不同的业务,每种业务都可由其相应的属性参数来描述,如对于Http业务,可通过属性组: { page rate(pages/hour)} page size(objects/page), average objectsize (bytes/ob来表示.通过将上述这些参数组合后,形成量信息。第一种类别流量收集IP层及以下各能参数,第二种类别主要收集应用层的性能。但是在一个完整的流中,两种类别流量的收集都很重要.
1.1.2 网络流量测量方法与选择
当前,比较常见的网络流量测量的方式有两种: (1)网络侦听指的专用计算机在网络中侦听,比如有一种“嗅控器”的Sniffer工具。 (2)直接从网络对象中获得流量.通SNMP协议,利用它提供的基本功能中的Gquest和Get-NextReq遍历整个MIB数据库所需要的信息。
通常来说校园网或者企业网的用户量是比较大的,因此,我们为了降低成本的同时,保证系统的灵活定和可扩展性,可以选择直接读取MIB对象的流方式来实现。并且由于SNMP的方案保证测量系统的通用性和可重用性.在其系统中了SNMP来采集数据。
1.2 网路监控系统的具体实现
根据实际需求,监控系统的功能模块可以分为数据采集与存储、故障处理模块、用户查询与交互。
1.2.1 数据采集与存储
在开发流量监控管理系统时,采用Linux AS4.0作为操作系统平台,用C语言编程实现,通过ucd-snmp软件包实现对网络设备MIB信息的获取。UCD-SNMP软件包括多个SNMP工具:可扩展、SNMP库、查询或设置SNMP消息、产生和处理SNMP陷阱的工具、使用SNMP的netstat命令、Tk/Perl管理系统库浏览器。在ucd-snmp软件包安装完成后,在shell下面使用/usr/local/snmp/sbin/snmpd,或直接加在/etc/rc. d/rc. local当中,在开机后自动启动。在对网内的流量状况进行判断的时候,经常需要进行数据的对比,这就需要大量的数据。通常这些数据会存储分为两种:一种是基于文件,另一种基于数据库。
1.2.2 故障处理模块
在对数据进行采集和存储之后,会对数据库中的阈值进行对比,在对比的过程中如果发现了异常,就会给故障处理模块进行处理。这个模块启动警告并创建包含响应SET请求的SNMP Agen,tSET值为start或stop,使得SNMP Agent对服务启动或关闭。
1.2.3 Web服务器提供用户查询与交互模块
网络管理信息的数据由SNMP从MIB库中收集到,经过网络管理系统应用程序的过滤、分析、加工处理后,存储于Web服务器的数据库中。管理员通过Web技术可从浏览器本地或远程访问流量监控系统,WBM技术与传统的网络及设备管理系统相比,在分布性、用户界面等方面都有独到的优势。动态网页PHP的函数集中提供了使用SNMP协议的网管函数的接口: snmp_get_quick_print、snmp_set_quick_print、snmpget、sm~realwalk、snmp-walk等,因此使用PHP来实现轮询操作,通过PHP提供的网管函数库与数据采集模块的Agent交互获得流量监控的数据。使用PHP语言和Ajax技术创建Web管理页面,通过标准的接口,可将用户的HTTP格式的请求转换成SNMP协议的格式,或将SNMP协议数据单元转换成HTTP格式显户的浏览器界面。
2结束语
伴随着计算机网络技术的广泛应用,各个高校和大型企业基本上都形成了自己的内网,随之网络安全的问题就摆在了我们的面前。使用支持SNMP协议的网络流量监控,对具体的数据进行分析,能够发现并阻挡可能出现的网络攻击现象,这对于网络的安全具有重要的意义。
参考文献
[1] 孙桂萍. 基于SNMP协议的网络拓扑结构的自动搜索的研究[J]. 硅谷. 2008(23)
[2] 甘井中,王达光,苏建烨. 基于SNMP的网络数据采集模块[J]. 玉林师范学院学报. 2008(05)
篇3
【关键词】LMP;链路管理协议;流量工程
1.引言
自动交换光网络(ASON)是新一代信息网发展的重要方向。人们要求光网络能够快速、高质量的为用户提供各种带宽服务与应用,满足正在悄然兴起的“波长批发”、“波长出租”及“光VPN”等各种业务的需求;要求光网络能够进行实时的流量工程控制,根据数据业务的需求,实时、动态的调整网络的逻辑拓扑结构以避免拥塞,实现资源的最佳配置;要求光网络具有更加完善的保护和恢复功能;要求光网络设备具有更强的互操作性和网络可扩展性,等等。这些功能要求的实质是要赋予现有光网络以更多的智能,使其发展成为一个自动交换的光网络。ITU-T(国际电信同盟)提出了ASON体系结构,它是一个控制平面的功能体系结构,能够在光网络内建立交换路径。
在ASON控制面设计中存在很多问题远未解决。这些问题主要集中在下面几个方面:1)结构和整体需求问题分析;2)呼叫和连接管理问题;3)自动发现和链路管理问题;4)DCN网络方面的问题。
2.背景知识
2.1 自动交换光网络(ASON)
ASON:Automatic Switched Optical Network,自动交换光网络。这一概念的提出,是光传送网的一大突破,它将交换功能引入了光层。ASON是一个智能化的光网络,它采用客户/服务器(Client/Server)的体系结构,具有定义明确的接口,让客户端(IP路由器、ATM交换机)可以从光网络(服务器)请求服务。目前,ASON的体系结构及其一般的自动交换传输网ASTN(Automatic Switched Transport Networks)是ITU等国际标准化组织的一个研究热点。
2.2 用户网络接口(UNI)
自动交换传输网的出现使交互式程序的开发成为必然,该程序使连接到传输网上的客户之间可以建立动态的连接和进行相互查询.这种程序的开发需要对客户间物理接口、传输网、传输网提供的服务、调用服务的信令协议、传递信令消息的机制以及辅助信令的自动发现程序进行定义。以上这些定义构成了用户网络接口(UNI),即位于用户设备和传输网之间的服务控制接口。
OIF采用了ASON的重叠模型,定义了一个客户与光网络之间的标准信令接口(即OIF UNI 1.0,简称O-UNI),以实现动态建链请求,它使客户能使用与GMPLS兼容的信令过程动态建立光连接,这将大大缩短建链时间。除了信令,O-UNI还包括两个其它功能用于简化复杂网络的管理。第一个是邻居发现机制,允许光纤链接两端的设备能够互相识别,邻居发现能使管理系统自动建立互连映射。第二个是服务发现机制,它使客户能确定光网络提供的服务,服务发现能使客户自动发现和利用新的光网络服务。O-UNI使客户能够使用信令过程在短时间内跨多厂商网络建立连接,这不仅缩短了供应时间,而且减少了运营商的操作费用。OIF UNI可以满足动态流量工程,例如路由器可以基于流量级别建立额外的连接。
3.LMP协议提出的背景
4.LMP协议的内容
LMP协议包括控制通道管理、链路所有权关联、连接性验证、故障管理四个组成部分。其中控制通道管理和链路所有权关联是LMP的两个核心功能,另外两个功能是可选的。
4.1 控制通道管理
链路管理协议(LMP)的控制通道管理主要功能如下:
(1)建立控制通道
在获取了对端节点的IP地址之后,可以通过手工配置或者依靠自动发现两种方式建立控制通道。如果采用带内传输信令的话,控制通道必须在特定的数据链路上作明确的配置。控制通道的每个方向被分给一个32Bits非零整数的控制通道识别符(CCId)以示区别。
(2)维护控制通道
在无其他方式检测LMP链路连通性的情况下,需要用hello包在每个控制通道上单独传输来维护连通性;LMP在两个节点间运行,至少需要两点间有一条双向控制通道被激活。控制通道可以采用多种方式实现,既可以采用带内也可以采用带外传输,但控制通道一定独立于数据链路存在,这样控制通道的异常就不会影响到数据链路。
4.2 链路所有权关联
链路所有权关联应该在链路状态为UP状态前或者为UP状态下使用,不可以在验证过程中使用。链路所有权关联的主要功能是用于聚合多个数据交换链路为一个链路束,即TE链路,并且交换、关联或者改变TE链路参数,包括允许在链路束中加入链路,改变链路的保护机制,改变端口标识或者改变束内成分标示,这种机制通过交换链路摘要信息来支持,如图2所示。
4.3 连接性验证
连接性验证的主要功能包括:1)验证数据链路的物理连通性(测试消息是LMP在数据链路上传输的唯一一种消息,在链路验证期间,hello消息继续被在控制通道上交换);2)在本地和远端的数据链路端口id间做映射;3)在本地和远端的TE链路端口id间做映射。
4.4 故障定位
故障定位的主要功能是通过快速通知一个TE链路中的一个或多个数据通道的状态来管理故障,这对于网络运行来讲是十分重要的,包括故障检测、定位、通知功能。
(1)故障检测:应该在最靠近故障的层被处理;对于光网络而言,应该是物理层完成故障检测的工作。
(2)故障定位:如果数据链路在两个PXCs间失败,下游节点的能量监测系统能检测到LOL(光损),并指出失败发生。为了避免因同一个失败原因导致多个告警,LMP通过ChannelStatus提供失败通知。这个消息可以用于表示单一的数据通道失败、多个数据通道失败、或者整个TE链路失败。当收到失败通知时,失败需要在本地作关联,从而发现对应的LSP在本地是否有失败。一旦失败被关联,上游节点应该发送ChannelStatus给下游节点,表明通道故障或者正常。如果下游节点没有收到ChannelStatus消息,它应该发送ChannelStatusRequest消息询问通道状况。一旦故障被定位,需要用信令协议来初始化保护/恢复的范围和路径。
5.LMP协议在应用中存在的问题
5.1 控制平面重启
ASON网络的控制平面就其实质而言,是一个IP网络。也就是说ASON控制平面是一个能实现对下层传送网进行控制的IP网。以下几种情况会导致节点间控制平面失败:单个节点失效(如断电,系统崩溃);一对邻接点全部失效;邻接点间线路中断;邻接点间控制通道全部失效(节点和节点间线路正常)。相对于LMP协议而言,控制平面的失败,可能会导致节点LMP状态信息的丢失,如远端节点的数据链路信息、TE链路信息、链路匹配信息等等。
控制平面失败之后,第一条控制通道被激活则触发了控制平面重启。由于ASON中控制平面同数据平面相互分离,所以二者互不影响。在控制平面重启之后,应该同步邻接点间LMP协议的状态信息,使数据链路的状态保持一致。但前提是在重启的过程中,本地数据链路的接口编号(Interface_Id)保持不变。
控制平面失败的原因不同,对节点LMP协议状态产生的影响就不同,所以控制平面重启后,应该根据失败的原因和LMP协议当前的状态进行分类,并按照相应的操作流程,对系统进行恢复。分类的目的是尽可能减少不必要的操作,减少系统恢复时间,使控制平面失败对系统造成的不利影响降到最低。
控制平面重启后,控制通道必须按照协议规定的流程进行协商,重新建立。
5.1.1 单个节点失效
如果控制平面失败是单个节点失效的结果,该节点上的所有状态信息将全部丢失,那么在该节点有可用的控制通道(UP)之前,所有该节点发出的消息都应把消息中的“LMP Restart”标志位置位,向远端节点通告本节点正在重启。两个节点间的控制通道激活之后,远端节点应首先针对本节点每条TE链路发送LinkSummary消息,消息中包含本地和远端TE链路的匹配关系,以及相应的数据链路参数。该消息中所有参数都是非协商的。重启的节点接收到LinkSummary消息后,接受消息中的全部参数保存在本地,并返回LinkSummaryAck消息,同时发送ChannelStatusRequest消息(针对TE链路),对链路进行检测。最后对所有未分配的数据链路进行连接性验证。
5.1.2 邻接点全部失效
如果控制平面失败的原因是邻接点全部失效,那么则应按照协议的规定,重新进行控制通道协商,链路验证,链路所有权关联等一系列规定操作。
5.1.3 控制通道失效
如果是控制通道丢失造成的控制平面失败,则在控制平面重启后,节点应首先检测本地的LMP协议状态,如果本地保存的数据表明在控制平面失败前,邻接点之间已经完成了链路属性关联,和连接性验证,那么就不需要再进行相同的操作。如果本地数据不完整则应该按照当前的LMP协议状态进行连接性验证,链路所有权关联等相应操作。
5.2 消息标志
LMP消息的公共头中包括一个标志位:flags,该标志位用来标明LMP协议的一些特殊状态,目前有两个标志值ControlChannel-Down、LMP Restart。ControlChannelDown表明传送该消息的控制通道已经失效。LMP Restart表明节点正在重启。协议中要求所有LMP的组成部分都应对标志位进行处理,但实际应用中表明只需在控制通道模块中对消息进行相应的处理,并根据具体情况通知有关的模块,然后即可将消息的标志位复原。其他模块接收到的所有消息的标志位都处于正常状态,不必进行处理。这种处理方式是通过控制通道切换机制实现的。
5.3 主控制通道选择机制
LMP协议规定除TEST消息外的所有LMP消息以及信令和路由信息都通过控制通道传输,而一对LMP邻接点间可能存在着多条激活(UP)的控制通道,所以必须在系统中标识哪一条(或几条)控制通道用来进行传输,即确定系统的主控制通道。主控制通道的选择方法有两种:(1)通过图形界面由用户选择;(2)由LMP的邻居管理组件选择:首先根据控制通道的优先级别选择,级别最高的选为主控制通道,如果两条控制通道的优先级别相同,则按照控制通道的接口编号选择,标号最小的选为主控制通道。当邻接点间的任意一条控制通道从UP状态变为其他状态,或从其他状态变为UP状态时,都应重新进行主控制通道的选择。
5.4 控制通道的角色问题
在LMP协议的控制通道协商过程中,当一条控制通道被唤醒之后,就可以主动的发送Config消息发起控制通道参数协商,也可以被动的等待接收邻居节点的Config消息。对应Config消息的发送和接收,存在着主动和被动的角色问题。由于网络中各个节点是单独配置的,彼此独立,如果一对邻接点都被配置成被动角色,即在协商过程中都被动的等待接收消息,那么协商过程将无法完成,使系统瘫痪。为了避免这种情况的发生,将所有的节点的角色都配置为主动,即所有的节点在控制通道被唤醒之后,就开始主动发送Config消息,进行控制通道参数协商。这时又会产生节点竞争的问题,即一个节点在发送Config消息的同时又收到了邻居节点发送来的Config消息,此时采用根据节点ID决定该节点角色的方法,即节点ID大的为主动角色,继续发送Config消息,丢弃接收到的消息,节点ID小的则转为被动角色,停止发送Config消息,对收到的Config消息进行处理,完成控制通道协商过程。
6.结论
LMP协议是IEFT制定的一项协议标准,通过将LMP协议应用在ASON中,可以实现UNI的邻居发现、服务发现、控制通道管理、链路属性关联等功能,随着LMP协议的逐渐发展,功能逐渐完善,其在网络中的应用前景极其广阔,有利于网络智能化水平的迅速提高。
参考文献
[1]IETF Draft,work in progress,Link Management Protocol(LMP).
[2]G.8080(2001),Architecture for the Automatically Switched Optical Network(ASON).
[3]G.807(2001),Requirements for the Automatic Switched Transport Network(ASTN).
篇4
关键词:SNMP;网络管理系统;设计
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2012) 05-0000-02
随着经济的发展,人们生活水平的提高,人们对计算机网络管理要求也越来越高。在能满足其基本功能需求的同时,还有满足其高效、快捷的需要。为了更好的满足人们的需求,就应该对计算机网络化管理系统进行相应的调整,使其功能结构更加完善、效率更高、更快捷方便,以满足现代化发展的需求。SNMP的出现,以其简单的优势在网络管理系统中得到了广泛的应用,为现代化的发展带来了方便。如何将SNMP更好的应用在网络化管理系统中,已经成为相关产业值得思索的事情。
一、对SNMP概念及SNMP网络管理系统进行分析
(一)对SNMP概念进行分析
所谓的SNMP就是简单的网络管理数据协议。这种数据协议最大的特点就是尽可能的简单,正因为如此,其也是目前比较常用的环境管理协议。研究这种管理协议是为了更好的解决Internet上的路由器管理问题。SNMP的出现,不仅为网络设备提供了一种用计算机进行运行的网络管理软件,也为其提供了一种能够用网络上的设备对相应信息进行收集管理方法,同时也为网络工作站报告问题或是错误问题提供了新的方法。
(二)对SNMP网络管理系统构成进行分析
SNMP网络管理系统是由网络管理协议体系结构和基本的网络管理结构构成的。网络管理协议体系结构事实上就是一种基于模块化的体系结构,其作为信息协议,是由管理信息结构SMI、管理信息定义(MIB)、协议操作定义和安全管组成的。而基本的网络管理结构主要是由多个被管理节点、管理站、管理协议和管理信息组成的。多个被管理节点中的每个节点都有一个SNMP实体,这种实体的主要任务是对本地的MIB管理信息进行相应的维护,并在管理信息基础上提供远程访问,其也可以称作是;在基本网络管理结构中,必须有一个带有管理应用程序的SNMP实体;在基本网络结构中,网络管理协议就是用于SNMP实体间传输的信息。本文主要对网络管理协议进行分析。
1.管理信息结构SMI
SNMP的通用框架是由SMI定义和MIB构造的,同时SMI作为SNMP比较重要的一部分,根据相应的规定也可以作为数据类型在MIB中使用,能够解释MIB的命名或是如何表示。SMI的主要目标是为了更好的追求MIB的简单性和可扩充性,但是其对创建、检索并不支持。从中可以看出,SMI只能对简单的数据类型进行存储,也就是标量或测量的二维矩阵。通常可以看到的只是SNMP提取相应的标量,在标量中能看到表中的相关条目。管理工作站作用的发挥是通过管理信息库访问相应的管理对象实现的,而管理数据库中的对象是用抽象语法来表示相应定义的。在管理中,每个对象的类型都有与之相对的名称、语法、编码方式,可以用OID来表示。对象类型则是用相应的语法来来描述所对应对象类型抽象数据结构的;对象类型的编码一般是对象实例用语法表示的方式,但是这种编码在网上只能用于传播。从对象和SMI标准来看,已经指明了MIB变量使用抽象语法记法1定义的必要性。这里的抽象语法定义1是人们用来阅读的文档的使用的记忆法,也可以是同一信息在通信协议中使用的紧凑编码表示。这就使得抽象语法1不存在可能的二义性。例如,设计者使用抽象语法1进行相应设计的时候,不能将其简单的说成整数值变量,而应该说其变量的准确格式和整数值取值范围。
2.管理信息库MIB
管理信息库作为网络管系统的基础,其被管理的每个资源是用管理对象来表示的,而管理信息库MIB是由这些对象组成的结构化对象集合。因此,被SNMP管理的对象只能是MIB中的相应对象。如,在路由器中,要想保证路由器网络接口状态、入分组、出分组的流量及丢弃的分组或是有差错的报文统计信息的稳定性,就要发挥MIB的作用。MIB作为网络系统的重要组成部分,存在于网络数据包中,能够反映路由器设备中被管理的信息资源,在此基础上利用网络实体对这些实体进行相应的访问并管理路由器设备。但是这里值得注意的是在这之前必须解决相应对象的识别问题。只有这样,在调制路由器的时候,才能保证字符数、波特率和接受的呼叫等统计信息准确性,以保证路由器正常运行。
3.SNMP协议
SNMP作为SNMP重要组成部分,其特点是简单易用,能将系统的负载降至最低限度。其优势是没有较多命令,只有存储数据到变量集、由变量集中取数据两种协议。SNMP的相关操作都就是从这两种协议衍生出来的,也正是因为有这两种协议,才能保证SNMP开发顺利进行,才能成为网络管理事实上的标准。SNMP协议对Manage和Agent之间的通信方式、SNMP报文的格式与定义、每个报文的处理方式等有明确的规定,并对正确的定义网络管理操作是有一定意义的。毕竟协议构造是协议实现比较重要的环节,其能以报文的形式实现管理者和者之间的信息交换。管理者和者相关数据的识别就是通过这种报文形式实现的。管理者协议报文通常有两部分组成,一种是管理者通过API/GUI向方发出不同报文数据,并对这些数据进行字节编码,并对其进行备份发送;另一种就是将接收到的字节用具有实际意义的报文进行分析,使管理者用户获得更多自己需要的信息。只有将管理协议报告报文构造好后,才能将相应的报文发送到目标被管设备,或是接收被管设备以等待相应报文的回应,正常情况下报文是以UDP形式传输的,也可以用相应的传输层协议进行传输。
二、对网络管理系统设计进行分析
就目前来看,SNMP在Windows系列产品应用的比较多。因此,在对网络管理系统设计进行分析的时候,本文选取了以基于SNMPWindows系统设计进行分析。Windows系列产品的用户是一般都是普通的用户,这使得这种管理系统成为目前网络化管理系统中应用的比较广泛的系统。这就使得其在设计的过程中,尽量设计简捷的界面和简单的操作,以满足大部分用户的需求。SNMP符合这一需求,基于SNMPWindows系统对C语言也比较支持,其出现为网络化管理带来了生机。在系统具体设计中,应该先为用户设置一个单文档界面,并确保有必要的配置、操作、查看、工具、系统设置及相应的帮助功能。在设计的时候可以将窗体分成左右两个部分,左面的设备可以用来显示网内相应的可管理设备,右面的图可以用来相识网络拓补图。系统登陆之后,就会进行系统配置,在此基础上进行相应操作,就会进行走动拓扑选择,并显示网络中的各个节点被存储的信息,之后系统会将相应的节点写入数据库中;数据查看就是利用数据库中信息完成相应的历史警告,并显示相应历史警告,使历史告警得到有效的管理;工具就是利用MIB浏览器或是Telnet对相应的工具进行操作;系统设置就是对系统的用户进行管理、轮训时间设置、超时重传设置或是其他方面进行相应的设置。有了这种设置,在拓扑图中只要点击某一点就可以对其流量进行相应的监视。Windows使用的就是SNMP++软件包,在此基础上增加Libdes可以将其作为一种C语言源程序,对SNMPv3的数据进行加密,以便更好的实现其功能。同时用SNMP++也能为Windows系统提供阻塞模式和非阻塞模式网络请求,这两种请求模式的使用,可以根据网络的具体状况进行选择。在网络延迟的情况下,就应该用非阻塞模式。要知道通常情况下,管理工作站和工作站是在同一个工作局域中的,选择阻塞模式能使其效果更佳。此外,使用SNMP++也能较好的实现Trap的发送和接收功能,同时也能对UDP端口进行相应的调整。就目前来看,161、162端口在Windows系统中使用的比较多。
三、结束语
随着网络化规模的不断扩大,计算机系统的集中化程度和复杂程度越来越高,网络设备以及服务数量也在不断的增加,网络化管理变得越来越重要。在这种情况下,就应该加大对网络化管理系统研究力度,以便更好的进行网络管理。SNMP凭借着其独特的优势在网络管理系统中广泛应用。SNMP网络管理系统不仅能提高网络管理效率,同时也能为人们提供给更多的服务。要想使SNMP更好的对网络管理系统更好的服务,就应该对SNMP系统进行分析,以便设计出更能满足现代化需求的网络化管理系统。
参考文献:
[1]胡冠宇,陈满林,王维.SNMP网络管理安全性研究与应用[J].哈尔滨 师范大学自然科学学报,2010,(03)
[2]王金宝.基于SNMP协议的网络管理系统的研究与实现[J].计算机与 信息技术,2009,(09)
[3]曹勇.基于SNMP网络管理技术应用[J].科技信息(科学教研),2008,(10)
[4]蒲天银.基于SNMP网络管理的研究与应用[J].煤炭技术,2011, (02)
[5]余鑫.SNMP协议在AGENT软件平台中的研究与实现[D].电子科技大 学,2008
[6]李雄伟.基于SNMP的网络故障监测技术研究[D].长安大学,2008
[7]阮宁君.基于SNMP及串口通信的网络监控与报警系统[J].长江大学学报(自然科学版)理工卷,2008,(01)
[8]耿庆田,赵宏伟,于繁华.基于SNMP的网络流量数据采集研究与实现[J].长春师范学院学报,2007,(06)
[9]万晨妍.于ARM的嵌入式系统及SNMP的设计与实现[D].浙江大学,2003
篇5
关键词:计算机网络管理;目标导向;网络管理员;程序员
中图分类号:G642 文献标识码:B
1“计算机网络管理”课程的教学目标
在我校,计算机网络技术已经成为计算机相关专业的必修课和全校选修的课程;计算机网络管理也成为计算机科学与技术专业和信息安全专业的选修课,随着计算机网络和网络技术的进一步普及,计算机网络管理课程也会逐步成为非计算机专业的课程。对于计算机及相关专业来说,计算机网络管理课程的目标如下。
(1) 培养计算机网络的管理员:按照网络管理员的国家标准,网络管理员的工作共涉及7个领域[1]:网络基础设施管理、网络操作系统管理、网络应用系统管理、网络用户管理、网络安全保密管理、信息存储备份管理和网络机房管理。培养计算机网络的管理员,就是要从七个领域中选择一些重点知识讲授给学生,特别是使得学生从实用性的角度掌握一些重要的计算机网络的知识;使得学生了解一些局域网和广域网的常见故障和应对措施;使得学生掌握一些常用的网络管理工具,能够利用这些工具完成对网络的日常管理。
(2) 培养计算机网络管理系统开发的程序员:计算机网络管理系统开发的程序员需要具备两个最基本的素质,首先必须对网络协议,特别是网络管理协议(如CMIP协议,尤其是SNMP协议)做到非常熟悉的程度;其次必须具备较高水平的计算机软件的设计和开发能力,熟悉计算机软件的体系结构和常用的设计模式。
2目标导向型教学实践
围绕计算机网络管理课程的两个目标,我们开展了目标导向型的教学实践。在教学环节,我们精心挑选了教材和教学内容,选用了多种教学方法和教学手段;在实践环节,以两个目标为导向,精心选择了重要的网络管理工具,并组织学生设计开发一个简单的网络管理程序;在考核环节,围绕两个目标选择了重点考核的内容。
2.1教学环节
首先需要做好教材的选取工作。目前,在市面上提供的计算机网络管理的教材都不是很理想,我们参考了四本计算机网络管理方面的教材[2-5],教材[2]从广义网络管理的角度组织内容,但是内容比较空泛,能够使得学生对于计算机网络管理有一个大致的了解,却不能起到培养计算机网络管理员和计算机网络管理软件程序员的作用;教材[3]从狭义网络管理的角度组织内容,比较详细地介绍了网络管理协议CMIP和SNMP,对网络管理软件的开发也有一定程度地介绍;教材[4]是一本详细介绍了最为流行的网络管理协议SNMP的教材;教材[5]选择了许多网络管理工具,并对这些网络管理工具进行分门别类。可以看到,以上四本教材都不能直接满足课程的两个目标,因此,在课程教学中综合采用了以上四本教材:
(1) 在教学内容的组织方式和计算机网络管理的常识性介绍方面,选择了教材[2];
(2) 在网络管理工具的讲授上,选择了教材[5];
(3) 在网络管理协议和网络管理软件开发方面,采用了教材[3]和教材[4],并自己补充了一些内容,如SNMP4J的分析等。
通过对四本教材的内容进行筛选,并补充一些教材上没有涉及到的内容,围绕两个教学目标,教学内容组织为以下几个部分。
(1) 计算机网络概述:从实用性角度重新对计算机网络中的重要内容进行了梳理,包括局域网和广域网常见的网络拓扑结构、局域网技术、TCP/IP层次结构及其协议族等内容;
(2) 网络管理概述:主要内容包括网络管理的基本概念、网络管理的基本功能、网络管理的发展以及网络管理的基础理论与技术;
(3) 网络管理的体系结构:主要内容包括网络管理的基本模型、网络管理的基本模式以及网络管理协议等;
(4) IP地址分配以及常见的IP地址管理工具和IP链路测试工具:主要内容包括IP地址的分配与域名管理、常见的IP地址管理工具以及常见的IP链路测试工具;
(5) 简单网络管理协议SNMP:该部分是网络管理课程的重点讲解的内容,主要内容包括SNMP基础知识、SNMP v1、SNMP v2以及SNMP v3;在SNMP基础知识中,主要讲解SNMP概述、在Windows操作系统中搭建SNMP的学习环境、抽象标记语言ASN.1、基本编码规则BER以及SNMP4J中ASN.1和BER的实现;在SNMP v1中,主要讲解管理信息结构SMI、管理信息库MIB、SNMP的基本操作以及SNMP4J对SNMP v1的支持分析;在SNMP v2中,主要讲解SNMP v2概述、SNMP v2 SMI、SNMP v2 MIB、SNMP v2协议以及SNMP4J对SNMP v2的支持分析;在SNMP v3中,主要讲解SNMP v3概述、SNMP v3体系框架、用户安全管理以及SNMP4J对SNMP v3的支持分析;
(6) 网络管理工具OpenView:重点介绍如何利用网络管理工具OpenView对网络进行管理。
在课堂教学过程中,采用了理论联系实际、程序演示和代码分析等多种教学方法,以及多媒体演示、网络管理工具演示等多种教学手段。
为更加深入地讲解网络管理协议和网络管理软件的知识,达到培养网络管理软件开发程序员的目标,在讲解SNMP协议的时候,采用了SNMP4J这一开放源码的Java程序包,配合SNMP的理论知识的讲解过程,在课堂上深入分析了SNMP4J的源代码,加深了学生对于SNMP抽象知识的理解,同时也使学生掌握了网络管理软件的开发流程和开发方法。图1为在Eclipse中建立的SNMP4J工程。
为了达到培养计算机网络管理员的目标,不仅讲解了网络管理的一些理论知识,还穿插了大量的网络管理工具的演示。图2为IP地址管理工具IPMaster的界面。
2.2实践环节
在实践环节,为达到培养网络管理软件程序员的目标,安排学生基于SNMP4J设计并实现一个MIB Browser。为了能够顺利指导学生完成实验内容,作者实现了MIB Browser的原型系统,如图3所示。
为达到培养计算机网络管理员的目标,安排学生利用OpenView进行网络管理的实验。
2.3考核环节
以两个教学目标为导向,在考核的内容上增加了对于实际网络管理知识和网络管理软件设计开发知识的考核;在考核方式上采用了考教分离的方式;在考核的组成部分加大了实践环节成绩和平时成绩的比重。
3结束语
通过为计算机网络管理课程设置两个教学目标,推行目标导向型的教学实践,收到了较好的效果,学生的实际动手能力和网络应用能力得到大幅度提升,普遍反映课程目标明确,实用性较好。
参考文献:
[1] 郭锡泉,王伟. 网络管理员的职责与风险分析[J]. 计算机教育,2006,(9):56-58.
[2] 杨云江. 计算机网络管理技术[M]. 北京:清华大学出版社.
[3] 杨家海. 网络管理原理与实现技术[M]. 北京:清华大学出版社.
篇6
1 理解SNMP
SNMP(Simple Network Management Protocol,简单网络管理协议)是一种简单的专门设计用来管理网络节点的一种标准应用层协议。它对外提供了三种基本操作命令(set、get、trap)用于控制网络设备的管理信息库(MIB,Management Information Base)。MIB描述SNMP管理的信息集合,其中每个管理信息元素称为一个对象。使用对象标识符OID(Object Identifier)来表示。OID沿着MIB树结构,从根至对象所在位置,由沿途所经过的树枝的名字或编号以点分隔后连接形成的。MIB提供数字化OID到可读文本的映射。OID与MIB文本描述可用snmptranslate命令来转换。查询MIB信息时,注意对象与实例的区别。
一个完整的SNMP管理模型包括四个基本元素,即管理者(Manager)、(Agent)、管理信息库(MIB)以及管理协议SNMP。每一个支持SNMP的网络设备中都包含一个,此随时将网络设备的各种情况记录至管理信息库(MIB)中,网络管理程序可通过SNMP通讯协议查询或修改所记录的信息,从而达到监控网络设备的目的。
2 开启SNMP
开启SNMP主要配置设置团体字符串、访问权限及使用的SNMP版本。
Cisco交换机用snmp-server community配置命令开启SNMP Agent。开启时要指定SNMP团体字符串(Community String)。团体字符串就像密码一样来限定访问交换机上的SNMP。SNMP允许交换机在发生特定事件时主动通过SNMP发送通知给指定SNMP管理器。用snmp-server enable traps XXX来指定交换机上当XXX事件发生时,交换机主动向snmp-server host命令指定的SNMP管理者发送SNMP通告。
防火墙以Juniper SSG-550为例,进入Configuration>Report Settings> SNMP菜单进行相关设置。
SNMP设置完成后,在Linux上用snmpwalk 172.16.240.252-c public-v 2c验证开启是否成功(172.16.240.252是开启SNMP设备IP地址)。如果有数据输出,说明SNMP配置成功。
3 监控软件搭建
3.1 Nagios搭建环境
Nagios提供Web页面来监视对象状态,警告提示与日志,所以Nagios应部署在LAMP(Linux+Apache+Mysql+PHP)环境下。因使用SNMP协议监控交换机,需先安装net-snmp及net-snmp-utils包.,这样编译安装Nagios插件包时才会在libexe目录下生成check_snmp插件。
3.2 Nagios监控原理
Nagios会周期性调用插件去检测服务状态,所有插件返回的状态信息都进入队列,通过Web页面显示出来。
check_snmp插件通过-o选项指定需监控的OID参数,返回设备指定MIB实例对象的值与选项-w,-c指定的阀值进行比较来判断返回4种状态信息。如check_snmp 172.16.240.252-P 2c-C public-o 1.3.6.1.4.1.9.2.1.56.0-c 80%-w 40%监控Cisco交换机CPU使用率。当监控值小于40%时返回OK(状态正常、蓝色),在40%至80%时返回WARNING(一般异常、黄色),当超过80%时返回CRITICAL(危险预警、红色),当命令执行失败,返回UNKNOWN(不可知状态、灰色)。但遇到一些无法指定阀值的情况,如端口状态,只有UP与DOWN两种情况,用check_snmp查询端口状态时,无论它是UP或DOWN,都返回SNMP OK,它仅说明命令操作成功。此时则需要附加选项(如-r选项)来改变其返回值达到警示功能(用户可在Linux用echo $?来查询命令返回值)。
端口流量不能简单的用check_snmp插件来监视,因为MIB中保存的是端口流量累计值(count数据类型)。此时需第三方软件参与扩展,check_mrtgtraf插件可对端口流量指定阀值进行预警。它需要MRTG(Multi Router Traffic Grapher)网络流量绘制软件所提取的数据文件作为参数,用户可以让MTRG定期自动执行得到端口流量数据文件,而后把mtrg生成的log文件作为参数传入check_mrtgtraf插件中得到期望的预警效果。
3.3 Nagios的报警机制
Nagios的亮点是它的一流的报警功能。它不仅提供了基于浏览器的Web界面,方便管理人员在日常运维工作中查看系统的运行状况及异常现象。也可在运维人员节假日中,在系统或服务状态异常时通过邮件或短信报警。
篇7
关键词:SNMP;有线电视;网络管理
1SNMP简单网络管理协议基本概述
SNMP是应用层协议,所以各种网络设备和即使安装了不同操作系统的主机之间都可以通过SNMP进行通信。为了实现异种系统之间的通信,SNMP通过自己的“抽象语法”定义了通信双方交互数据的标准格式。在当前有线电视网络管理系统当中,SNMP协议的体系结构一般由三部分构成。
1.1SMI管理信息结构
管理信息结构SMI的主要由三部分组成:一是管理信息库中的被管对象分配了对象标识符的空间;二是实现了宏OBJECT-TYPE的定义,使用宏OBJECT-TYPE可以定义管理信息库中的被管对象;三是为了简单性,规定了只能使用哪些ASN.1的数据类型定义管理信息库中的被管对象。
1.2MIB管理信息库
“管理信息”,是指网管框架中被管对象的集合。MIB是SNMP管理体系中最重要的元素,MIB使用树形结构表示所有被管信息,每个被管设备信息都对应着MIB树中的一个节点,有且只有一个对象标识符对其进行标识。
1.3SNMP简单网络管理协议
SNMP是一种通信协议,解决管理工作站站和之间交互信息的格式以及信息交互的时序问题。在SNMP中定义了5种PDU,分别是GetRequestPDU,用于管理工作站向发起查询请求时使用;GetNextRequestPDU,用于管理工作站向查询MIB中的一个表或者MIB中连续的对象时使用;SetRequestPDU,用于管理工作站向发起设置请求设置一个或者多个对象实例时使用;GetResponsePDU,用于对来自管理工作站的三种查询请求进行响应;TrapPDU,用于当网络中的被管对象发生重大网络事件时,主动将该事件信息发送到管理工作站。
2基于SNMP的有线电视网络管理系统设计
有线电视网络管理模型中包括了管理站、有线电视控制部件和网管。对于支SNMP协议的有线电视设备,接入网络后,可以直接通过管理站对其进行管理;对于不支持SNMP协议的有线电视设备通过以内嵌形式或者外挂形式安装在有线电视设备上的控制部件,能够直接获取有线电视设备内所有的状态及告警信息并能根据请求反馈给网管。
2.1网络管理系统设计
根据WebGIS的技术特点将网络管理系统设计为B/S结构,即浏览器和服务器结构,用户接入Internet后可以通过浏览器以浏览网页的方式登录到网络管理系统中,不需要再额外安装本地客户端。这样做的好处是能使系统具有灵活的操作性,同时系统相对容易实现,成本也比较低。采用层次结构设计方法将网络管理系统结构划分为呈现层、服务层、接口层三个单向依赖的层次,即每一层都提供一组功能且这些功能只依赖该层内的功能。呈现层为用户提供了系统界面和数据视图;接口层负责根据用户请求构造准备发送的SNMP消息,或从接收的SNMP消息中获取PDU数据;设备层包含了不支持SNMP协议需通过网管进行管理的有线电视设备和自身已经集成网管支持SNMP协议的有线电视设备。
2.2呈现层设计
呈现层面通过不同的系统界面视图为用户提供了操作网络管理系统的入口,包含GIS模块和用户界面模块,可以为不同权限的用户提供不同的视图。
2.2.1GIS模块
随着网络的飞速发展和B/S架构的种种优势,传统的基于C/S架构的GIS系统已经逐渐被市场所淘汰。因此,基于互联网技术的WebGIS技术逐渐成为GIS发展的主流。GIS模块包括电子地图应该具备的基本功能如地图的缩放、平移、鹰眼、坐标定位、测距和添加标记等功能,这些功能的实现为在地图上对有线电视资源进行网络管理提供了功能基础。缩放、平移功能可以实现用户使用地图浏览有线电视网络资源;鹰眼可以使用户在使用地图浏览不同区域间的有线电视资源时进行区域间的快速切换;坐标定位可以实现在地图上定位有线电视资源所在位置;测距可以实现在地图上测定有线电视资源之间现实中的实际距离;添加标记可以将有线电视资源添加到地图上。
2.2.2用户界面
用户界面是网络管理系统与用户之间进行人机交互和信息交换的媒介,它将系统内部的数据信息通过整合后直观的传递给用户。系统的用户界面采用多窗口设计,具有显示直接、保持简洁、操作简便等优点,实现了系统管理界面、日志管理界面、用户管理界面、查询统计界面、故障管理界面。
2.3服务层设计
服务层位于呈现层和接口层之间,在网管系统中起到了承上启下的作用,主要负责系统的业务逻辑实现。服务层由网管功能模块实现,网管功能模块主要负责完成具体的网络管理功能,接收来自呈现层的用户管理请求通过调用接口层的协议转换模块将请求经过转换发送到被管设备,完成对被管设备的具体操作。网络功能模块包含配置管理子模块、性能管理子模块、安全管理子模块、网络拓扑发现子模块、故障管理子模块和数据管理子模块。
3基于SNMP的有线电视网络管理系统实现
3.1协议转换模块实现
协议转换模块主要根据用户请求构造要发送的SNMP消息,或从接收的SNMP消息中获取PDU数据,为网络管理系统和被管设备之间的数据交互提供基础。首先,用户操作产生用户请求,将操作参数加入用户请求中发送到协议转换模块。协议转换模块调用消息调度器sendPdu(),消息调度器根据SNMP版本,选择调用合适的消息处理模型中的prepareOutgoingMessage(),根据参数确定的安全模型,在调用安全模型提供的generateRequestMsg()进行安全处理后,逐级返回给消息调度器,最后由消息调度器发送到被管设备。其次,当协议转换模块接收到来自被管设备的消息后,根据SNMP版本,消息调度器调用合适的消息处理模型的prepareDataElement(),通过调用安全模型提供的processIncomingMsg(),进行安全处理后,返回给消息调度器。消息调度器通过processPdu()对PDU的具体内容进行处理,提取出有消息中的数据信息,发送给用户。
3.2GIS事件驱动模块
在GIS模块中,有两类事件触发源:一类是地图界面中的元素产生的事件,另一类不是地图界面中的元素产生的事件。当一个事件产生后,会产生一个事件对象,事件对象会从根节点自上而下的扫描显示组件,根据产生事件的类型,逐个检查每个显示组件是否设置相应的事件监听器,直到找到了相对应的事件监听器为止。例如,如果改变Panel容器下TextInput组件的大小,触发了TextInput的resize事件,则会从根节点(Application)开始,接着检查Panel容器,直到目标对象定位到TextInput组件为止。
3.3安全管理功能实现
当有线电视网络系统采用SNMP协议的验证机制时应该保证通信的安全。SNMP协议的验证机制在协议转换模块中实现。采用用户权限安全策略通过系统用户角色的定制、用户角色权限定制赋予不同用户不同的权限和视图,确保只有授权的用户才可以访问受限的网络资源。有线电视网络管理系统的用户权限安全策略为系统管理员可以根据实际需要为不同的系使用者创建其在系统中的角色,并可以为不同角色定制系统功能使用权限,还可以将用户划分为不同的用户组。此外,不同的用户组也可以定制不同的系统功能使用权限,还可以根据不同部门划分不同权限。
4结语
通过对SNMP技术下网络电视管理系统的研究,保证了通信的完整性、安全性,防止通信数据被不法分子非法盗用、篡改;能够处理有线电视资源的空间数据信息,为有线电视运营商和有线电视用户提供一个可兼容多种有线电视设备、安全可靠、经济实惠、高服务质量的有线电视网络。
参考文献:
[1]蒲天银.基于SNMP网络管理的研究与应用[J].煤炭技术,2011(2).
[2]高伟.利用SNMP对网络管理系统的分析与设计[J].计算机光盘软件与应用,2012(5).
篇8
关键词:地址盗用;MIB;SNMP
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2605-03
Reseach on IP Address embezzlement
LI Yuan1,HOU Song-li2
(work Information Center, Henan University, Kaifeng 475001, China;puter Center of Henan University,Kaifeng 475001, China)
Abstract: The paper discusses that through instantly look up the MIB library information of network equipments,we can quickly ascertain the network port which a user who steal an ip address use.It defines the fast locating――verifying model,at last , combine with the SNMP++ programming,the paper gives a specific implementing method.
Key words:address embezzlement;MIB;SNMP
1 引言
随着网络的不断发展,网络规模日益扩大,用户对网络安全及稳定性方面的要求也日益提高。在日常的网络管理中,IP地址的盗用一直是网络管理员比较棘手的问题。
IP地址盗用就是盗用者将本机的IP地址修改为本子网内的另外一个合法用户的IP地址或未分配的IP地址,然后利用该IP地址去访问网络,从而影响合法用户的网络的正常使用。
网络管理部门在规划的网段中,为合法注册用户分配了相应的网络IP地址资源,以保证通信数据的正常传输。以这种方式接入的用户,静态的IP地址是必不可少的配置项目之一,它享有“网络通信身份证”的特权。网络管理员在配置IP地址资源时,对其正确性有特殊的要求,主要表现在以下两个方面:分配的地址应在规划的子网网段范围内;分配的IP地址对任何联网的主机必须是惟一的,即无二义性。然而,IP地址作为接入网络主机的唯一标识、网络管理的重要信息元素,却只是对网络设备、主机有意义,对网络管理部门来讲,并不能从IP地址上识别主机或用户,从而为网络管理带来了障碍。
如果用户在配置TCP/IP或修改TCP/IP配置时,使用的不是网络管理部门分配的IP地址,就形成了IP地址盗用。具体表现为三种方式:
1) 静态修改IP地址
由于IP地址是一个逻辑地址,是一个需要用户设置的值,因此无法限制用户对于IP地址的静态修改,除非使用DHCP服务器分配IP地址,但又会带来其它管理问题。
2) 同时修改IP-MAC地址
MAC地址是设备的硬件地址,对于我们常用的以太网来说,即俗称的计算机网卡地址。每一个网卡的MAC地址在所有以太网设备中必须是唯一的,它由IEEE分配,是在设备出厂时固化在网卡上的,但由于网卡的驱动程序在收发数据包时为了加快处理速度并非每次处理数据帧时都从网卡的ROM中读MAC地址,而是将MAC地址放入缓存中,需要的时候直接从缓存中读取,这种工作机制就造成了用户可以通过专用软件甚至操作系统修改网卡的MAC地址进而达到欺骗上层网络软件的目的。
3) 伪造IP地址
利用编制好的IP欺骗工具,绕过上层网络软件收发数据包。
2 问题分析
目前防止IP地址盗用比较常用的方法是定期扫描网络中各路由器的ARP(address resolution protocol)表,获得当前正在使用的IP地址以及IP-MAC对照关系,与合法的IP地址表,IP-MAC表对照,如果不一致则有非法访问行为发生。另外,从用户的故障报告(盗用正在使用的IP地址会出现MAC地址冲突的提示)也可以发现IP地址的盗用行为。在此基础上,常用的防范机制有:IP- MAC捆绑技术、服务器技术、IP-MAC-USER认证授权以及透明网关技术等。但这些机制都有一定的缺点:如IP-MAC捆绑技术无法防范对修改IP-MAC的盗用行为;服务器技术不适合大规模企业网络的使用;透明网关不能控制来自内部的地址盗用,更重要的是上述机制事实上仅仅是造成了盗用者无法访问三层设备以上的外部资源,由于IP地址盗用者仍然具有该网段内完全活动的自由,因此一方面这种行为会干扰合法用户的使用:另一方面可能被某些有不良企图用户用来攻击该网段内的其他机器和网络设备。如果侦测到服务器的存在,盗用者还可以通过种种手段获得网外资源。所以,亟待解决的问题是如何快速定位盗用者所在的用户端口并快速实现阻断。
一般情况下,在进行网络综合布线的同时,施工单位会获得网络设备端口与具体物理位置(用户)的对应关系,如果能把IP地址对应的端口找到,就可以通过查找该端口所在物理位置确定用户所在。而网络设备的MIB库中就记录了数据包的IP地址和MAC信息,为查找端口提供了基础。
网络从上至下可分为核心层、汇聚层和接入层,位于不同层次的网络设备中存储着不同的MIB库,对应相应的IP―MAC地址和相应的物理端口,可以通过网络设备的逐层分析,定位目标IP所处的网络端口位置。要从位于不同层次的网络设备中提取到相应的ARP的信息,就要进行基于网络的SNMP(简单网络管理协议)分析。SNMP协议目前最常用的有两个版本,通常称之为v1和v2。一般情况下v2向下兼容v1版。
SNMP标准主要由三部分组成:简单网络管理协议(SNMP);管理信息结构(Structure of Management Information,简称SMI,RFC1155标准)和管理信息库(MIB,RFC1156、RFC1158标准)。管理信息结构(SMI)和管理信息库(MIB)两个协议是关于管理信息的标准,它们规定了被管理网络对象的定义格式、MIB库中都包含哪些对象以及怎样访问这些对象等等。SMI协议规定了定义和标识MIB变量的一组原则。它规定所有的MIB变量必须用ASN.1(即抽象语法表示法I,它是一种描述数据结构的通用方法。
SNMP MIB管理信息库的存储方式是一种目录树的结构,而且它总是开始于:iso. Org. Dod翻译成数字就是1.3.6,这就是我们所说的MIB(Management Information Base,管理信息库)的格式,而关于物理地址的MIB就是:iso. Org. Dod. Internet. Mgmt. Mib. At. AtTable. AtEnty. AtPhysAddress(1.3.6.1.2.1.3.1.1.2)。
每个MIB变量都有一个名称用来标识。在SMI中,这个名称以对象标识符(Object Identifier)来表示。对象标识符相互关联,共同构成一个分层结构。在这个分层结构里,一个对象的标识符是由从根出发到对象所在节点的途中所经过的一个数字标号序列组成。如图1中,Internet的对象标识符就是1.3.6.1,对象标识符的命名由专门的机构负责。
在Internet节点下的mgmt节点,专门为管理信息库分配了一个子树,名为mib(1)。所有的MIB变量都在mib节点下,因此它们的名称(对象标识符)都以.dod.internet.mgmt.mib开始,数字表示是1.3.6.1.2.1。MIB变量的命名实际上是引用了ISO的对象标识(OIDObject Identfier)名字空间管理,表示法分为整数标识法和字符标识法两种,前者适合软件实现,后者便于理解。
图1 SNMP树形表格示意图
图2 SNMP体系结构
3 定位模型
路由器中的路由表MIB中存有网络中工作站IP地址与MAC地址的对应表。在CISCO路由器的路由表中,这种信息一般放在树型结构的{1.3.6.1.2.1.3.1.1.2.0.0.1.47}位置中,比如:一个IP地址为10.169.169.2的机器,它的MAC地址就存放在MIB表中{1.3.6.1.2.1.3.1.1.2.0.0.1.47}+{10.169.169.2}的这个位置上,知道了这个表结构后,我们就可以通过编写CGI程序来调用SNMP,读取MIB管理信息表中的MAC地址。
我们调用简单网络管理协议SNMP从设备的MIB库中获取有用信息,SNMP体系结构如图2所示。SNMP协议是运行在UDP(用户数据报协议)之上的应用层协议。SNMP系统一部分由Agent(分布式)软件组成,它运行在服务器、路由器等被管理的对象上。每一个Agent都有一个MIB(Management Information base 管理对象信息库)及一些与具体设备有关的变量。SNMP系统的另一关键部分是网络管理站(NMS Network Management Station),它具有全部被管对象的主数据库。
Agent在网管系统结构的位置相当于管理器和被管设备之间的网关和协议转换器。Agent的功能需求的范围应该为:
1) 协议转换:实现SNMP协议和被管设备之间的协议互相转换
2) 转发请求:包括向被管设备转发查询,设置请求;向Manager转发设备产生的告警信息
3) 通过MIB库维护被管设备的信息结构
4) 对Manager提供一个统一的网管接口,无论被管设备有多复杂,对Manager来说只需要和Agent交互就可以获得所有被管设备的网管信息
5) 不需要牵涉诸如轮巡,告警策略等网管业务逻辑。也不参与被管设备本身对网管数据的处理流程。这些由被管设备的网管业务逻辑层自行处理。
6) 不需要对数据进行统计分析
7) 不需要保存历史或实时网管数据
SNMP以GET-SET方式替代了复杂的命令集。SNMP协议现在有3个版本。其中SNMPv1定义了5种用于管理进程和Agent之间交换信息的报文格式:
get-request 从agent上读取数值
set-request 对agent上的变量进行设置
get-next-request 从agent上读取当前所读参数的下一个参数值,用于表的遍历
get-reponse agent对前面三个操作的响应,返回参数值
trap agent主动向 Manager发送的报文,通知事件的发生。
我们可以利用上述五种报文从MIB库中获取相关信息,从而有针对性的设置参数。从上可以获取公开源代码的SNMP开发工具SNMP++v3.2,使用该软件包可以获取MIB信息并实现对目标端口的控制。
MIB表是通过行和列来描述的。其中列表头是各个表项的原始Oid,而行表头则是index。这样以来一个Oid和一个index就唯一地确定了表中的一项。比如在接口表中,ifDescr(Oid为1.3.6.1.2.1.2.2.1.2)为一列,而具体对于某一个接口则为一行。这样,某一具体表项的Oid就表示为:列Oid+index的形式。按照RFC1213描述,最基本的方法是通过index来获取某一表项。但事实上,index本身也是一个表项,再加之有些表需要多个index,并且各种index的数据类型不同,比如要手工处理ip地址类型的index就比较困难,所以这种方法具有很难的操作性。因此,在实际编程时,可以采取如下方法:
从Snmp中对于get报文的描述可知,如果get-ext的参数为一个表中某一列的表头Oid,比如前面的ifDescr(1.3.6.1.2.1.2.2.1.2),则得到的值为该列第一行元素值,并可得到该值的Oid。再对取得的Oid使用GetNext就可获得该列第二行的值。如此下去,如果到了该列的最后一行,那么用GetNext将得到下一列的第一行。如果到了该表的最后一个元素,那么用GetNext将得到按MIB树所得的下一个元素值。显然,在越界的情况下,其Oid的前部分已不同于本列表头的Oid,所以,可以通过得到的Oid值来判断是否越界。
获取了MIB信息,我们定义“验证――定位模型”如下:
1) 从核心设备上根据IP-ARP表确定MAC地址。主要读取表ipNetToMediaTable中的两项:ipNetToMediaNetAddress(存放IP地址信息)和ipNetToMediaPhysAddress(存放MAC地址信息)。利用snmp_get_net()遍历表ipNetToMedia NetAddress获取指定的IP的索引值x,使用snmp+get(x)命令报文获取指定IP对应的MAC地址;
2) 确定MAC地址对应的汇聚层设备。根据获取的MAC地址,利用snmp_get()读取表dot1dTpFdbPort,获得MAC对应的端口号p,查找存储拓扑结构信息的MIB,确定核心设备上端口p所连接的汇聚层设备;
3) 在汇聚层设备上重复1、2两个步骤,进而确定接入层是哪个设备;
4) 在接入层设备根据MAC地址确定目标主机所连接的端口;
5) 发送snmp_set( )至接入层设备的MIB库中的表项mib-2.interfaces.ifTable.ifEntry.ifOperStatus将其值设为“2”(关闭)
至此,我们实现了对目标主机的快速定位、验证和阻断。
4 结束语
由于上述涉及到的MIB表项均属于由IEEE的标准MIB库,所以目前网络中绝大多数支持SNMP的设备均可方便采用该方式实现对地址盗用主机的快速定位和阻断,而与设备的型号、种类无关,大大减轻了网络管理员的工作量。
通过对网络设备MIB信息的采集和分析,利用SNMP编程接口可以开发各种网络管理程序,实现网络设备信息的自动采集和对设备的管理,缩短了网络排障时间,提高了网络系统运行的稳定性、安全性及可靠性。
参考文献:
[1] IETF RFC1213./rfc/.
篇9
关键词:MRTG;Windows系统 ;SNMP协议;监控
1、引言
MRTG(Multi Router Traffic Grapher,MRTG)是一个利用SNMP实时监控网络链路流量负载的工具软件。SNMP协议的制订为通过互联网测量相关性能点提供了有力支持。MRTG就是基于SNMP的典型性能统计、分析的工具之一。其最大的优点就是耗用的系统资源小,不但可以非常直观地显示性能点当前及历史负载,并且可以从所有运行SNMP协议的设备上(包括服务器、路由器、交换机等)抓取到相关信息,自动生成包含PNG格式的图形,并将其负载信息以包含PNG格式图形的HTML文档的方式显示给用户。
2、 MRTG的工作原理
MRTG是一个简单的网络软件,它是利用SNMP协议,去侦测指定的运行有SNMP协议的设备。通过每隔几分钟采样并统计其设备负载或流量信息的方式,将其统计结果绘成含PNG格式统计图,以HTML格式展现出来,以便用户能很容易地从统计图上观察出系统实际负载或流量信息。
3、 MRTG的配置安装
3.1 windows系统安装SNMP协议
为了监控windows系统资源及其服务,需要先设置相关参数。这些设备可能是路由器、交换机、甚至于一台安装了Windows 2003的电脑,只要是支持SNMP的traps都可以作为被监控的对象。
1) Windows 2003服务器的设置
Windows 2003 Server中包含了SNMP网络管理协议,如果要通过MRTG来监控一台Windows 2003服务器的相关信息,就需要启用该Windows 2003 Server的SNMP协议。在Windows 2003 Server的控制面板中,选择“添加/删除程序”,点击“添加/删除Windows组件”,选中“管理和监视工具”,选中“简单网络管理协议”,点击下方的详细信息,见图1:
图1 管理和监视工具的选择
然后,在弹出页面勾选WMI SNMP提供程序和简单网络管理协议(SNMP)后单击确定,见图2:
图2 简单网络管理协议的选择
最后在windows组件向导窗口点击“下一步”进行安装。打开控制面板“管理工具“服务,选择SNMP服务,双击进入其属性对话框,点击安全选项卡,就可以编辑团体名称,团体名默认为public。
2) Windows 2003上安装Perl
Perl的安装相对比较简单。首先要到Perl的官方网站下载Win32平台下的安装包,当前最新的版本是ActivePerl-5.12.3.1204-MSWin32-x86-294330.msi。安装完成后需重新启动系统方可让Perl生效。官网下载链接:activestate.com/activeperl/downloads。
4、 MRTG程序的安装
MRTG程序的安装步骤如下:
1)首先到MRTG的官方网站下载最新的Win32平台下的安装包,并且解压到本地某个目录,如解压到本地目录如下为:C: mrtg-2.17bin
2)运行Cmd进入到Dos窗口
3)使用cd C: mrtg-2.17bin,执行Perl mrtg,验证Mrtg是否正确
4)执行命令: perl cfgmaker public@10.10.10.1 –global “WorkDIr: c:wwwmrtg” –output mrtg.cfg,此命令会建立一个初始的Mrtg脚本。(Publiche和Ip使用的是您需要获得SNMP数据的设备的community 和它的IP地址;WorkDir: ‘c:wwwmrtg’ 使用的是正确安装MRTG后,需要使用到的WEB目录,要根据实际情况更改;output mrtg.cfg 则是输出后的配置文件名称)
5)在mrtg.cfg配置文件中,添加RunAsDaemon:yes,使mrtg每间隔5分钟进行统计一次
6)执行命令:start /D C: mrtg-2.17bin wperl mrtg –logging=eventlog mrtg.cfg,启动mrtg进行系统负载或流量统计,并且以后台方式运行。
5、 GetIF程序的安装
GetIf安装和Perl类似。在官方下载最新版本然后安装后即可正常使用。考虑到我们是对windows2003系统负载和流量进行监控,我们首先需下载windows系统对应的Mib文件,然后把下载的mib放到安装目录下的mib目录下面并且删除此目录下的.index,然后点击运行getif即可。
6、 实例分析
运行Getif程序,在首页的host name栏输入要监控的windows2003服务器IP地址,点击 start,如果信息提示栏显示SysInfo variables OK,代表被监控windows2003服务器通信正常。然后切换MBrowser选择需要监控的相关资源负载。下面以监控CPU、dist、TCP链接三个负载点作为例子。通过运行Getif程序我们得到的mib为:
CPU负载:.1.3.6.1.2.1.25.3.3.1.2
运行进程个数:.1.3.6.1.2.1.25.1.6
TCP连接数:.1.3.6.1.2.1.6.9
进入mrtg安装目录下的bin目录,找到mrtg.cfg,用记事本打开进行编辑,把对应CPU、TCP链接个数、Tcp当前连接数的mib值添加到mrtg.cfg中。另外在配置mrtg.Cfg文件时,请参考DOC目录下的mrtg-nt-guide.Txt指南,以减少首次配置产生的失败。
7、 结束语
对Windows服务器进行日常性能监控是运维人员每天都必须完成的工作。通过在windows服务器上安装、配置MRTG,运维人员可以及时、直观的了解关注性能的当前状态,做到对异常情况的及时处理。同时也可以通过对各个组件的运行趋势进行分析,及时处理各种资源不足的情况,以做到有效监控和配置资源。 总之,MRTG是一个非常有用并且高效的系统负载、流量的监控工具,通过这种监控能让运维人员从繁杂、重复的工作中走出来,从而更好的提高工作效率。
参考文献:
[1]胡谷雨.《简单网络管理协议教程》第2版 ,电子工业出版社 ,1999
[2]王斌 程明.《基于SNMP协议的网络流量侦测系统设计及实现》,天津理工大学学报 ,2005
篇10
论文关键词:网络拓扑发现
1、网络拓扑发现的重要性
网络的拓扑是指网络中各个节点在物理上或逻辑上的布局,称为网络的物理拓扑或逻辑拓扑,相应地包含了网络节点之间物理的或逻辑的关联关系,包括互连设备(如路由器、网关、网桥、交换机等)、主机和子网。
掌握被管网络准确的且及时更新的拓扑信息是网管系统实现性能评估、事件综合分析、故障定位、资源管理等一系列功能的基础。例如,网络中单一故障可能导致相关的大量设备都产生报警信号而形成报警风暴。这时,对于故障原发节点的准确定位显然离不开关于网络布局和节点连接关系的信息。精确而完整的网络拓扑图有助于分析设备和链路失效的影响,提高网络管理的效率。网络管理员可以通过拓扑图了脚整个网络结构;唯有得到正确的网络拓扑,方能对网络进行合理的管理。
在网络发展的早期,网络管理员手工地承担了网络拓扑图建立和维护的工作,而在网络结构日趋发杂易变,网络管理要求愈加深入全面的今天,由网管系统自动发现网络拓扑并及时维护变化是十分必要的。
2、网络层拓扑发现的常用工具和算法
网络拓扑发现分为网络层和链路层两级发现,网络层拓扑发现是通过查询指定区域缺省网关的路由表,找出一定范围内的路由器与子网拓扑结构图。网络拓扑图自动搜素实际是一个图的遍历过程。网关和子网可以认为是网络拓扑结构图中的节点,其中网关节点是与子网和其他网关节点相邻的节点,而子网节点可以认为是与网关节点相邻的,至少与它的缺省网关相邻。
网络拓扑发现算法的原理是:通过使用Internet的标准协议比如ICMP、SNMP、RIP等得到协议有关的数据,再使用一定的算法从中获得网络拓扑的信息。
常用的拓扑发现工具的比较:
1.Ping:利用ICMPechoreply消息来检测主机是否可达,当向大量待定IP地址发出Ping报文时效率很低。
2.广播Ping:对查找一个子网中所有的主机非常有效,但并不是所有网络都支持广播Ping。
3.traceroute:利用ICMPtimeexceed和portunreachable消息以及IP协议中TTL字段来发现到目的主机的路由信息,它通过探测点和目的节点间不断发送TTLs一次递增的多个分组来实现路由发现的。但是一些ISP通过一定策略不响应traceroute,隐瞒内部结构,其次,traceroute需要较长的路径。
4.DNS区域传输:DNS是一种用于TCP/IP应用程序的分布式数据库,每个站点都保留自己的域名服务器,其中保存着主机名字和IP地址的映射。该方法可以以较小的开销快速的发现许多节点,适于用作其他算法的起始点,但是数据库中存放的信息可能不一致。
5.SNMP:假设域中所有主机都运行SNMP,首先获得起始主机的缺省路由器,然后通过发出SNMP请求报文来访问该路由表和ARP表,分别得到与之相邻的路由器和主机,接着算法循环遍历所有路由器和主机知道遇到一个指定域之外的主机为止。优点是速度非常快,缺点是无法检测到没有运行SNMP的主机和路由器。
目前网络层拓扑发现主要有两个算法:
1.基于通用协议的网络层拓扑发现算法:从临时地址集出发,逐一探测其中每个IP的存活状态,对那些存活的设备,将其加入结果集后探测路由,并通过猜测等手段获知更多的IP加入临时地址集中,然后重复上述步骤。
随着网络的逐渐增大,ICMP协议已不能满足网管的需要,SNMP的隆重出世也极大的促进了网络拓扑技术的发展。
2.通过SNMP获取路由器中的路由表,采用广度优先遍历算法。
算法具体过程如下:
3、改进后的网络层拓扑发现算法
虽然大多数网络设备是支持SNMP协议的,但不排除个别设备不支持该协议或未开启SNMP网管功能的可能性。基于这个问题,需要有一个算法可以集上述两种基本算法的优点,既简单高效又有较强的通用性。
算法流程:
4、小结
目前,管理域内的自动拓扑发现算法大多基于SNMP协议。但是,由于种种
原因,网络中并不是所有的设备都支持SNMP协议,而且存在获得管理权限的问
题。另一方面,采用基于通用协议ICMP的traceroute工具来发现拓扑是一种通用
性更强的方法,但算法比较复杂,发现所需时间长。因此本文提出了一种改进的
管理域内网络层拓扑自动发现算法,采用将基于SNMP的算法和基于通用协议的
算法相结合的方法,使得改进算法既具有了快速高效性,又具有了较强的通用性。
参考文献