


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SNMP协议在网络管理中的应用摘要:论文首先分析了SNMP协议的概念,以及其重要的组成部分MIB,然后设计开发了基于SNMP的网络管理软件。给出了主要的程序框架,应用SNMP进行网络管理可以为我们综合应用、管理网络带来很大的方便,本文有着较强的实际应用价值。关键词:SNMP协议;网络管理;计算机;软件开发;网络协议引言随着计算机和通信技术的飞速发展,网络管理技术已成为重要的前言技术。比如网络流量检测主要为对网络数据进行连续的采集,获得网络流量数据后对其进行统计和计算,从而得到网络及其主要成分的性能指标。通过数据分析获得性能的变化趋势,分析制约网络性能的瓶颈问题。一般对公用交换网,网络管理通常指
2、实时网络监控,以便在不利的条件下(如过载、故障)使网络的性能仍能达到最佳。另一方面狭义的网络管理仅仅指网络的通信量管理,而广义的网络管理指网络的系统管理。网络管理功能可概括为OAMP,即网络的运行(Operation)、处理(Administration)、维护(Maintenance)、服务提供(Provisioning)等所需要的各种活动。有时也考虑前三种,即把网络管理功能归结为OAM。1SNMP协议的基本概念简单网络管理协议(SNMP)是目前TCP/IP网络中应用最为广泛的网络管理协议。1990年5月,RFC 1157定义了SNMP(simple network management p
3、rotocol)的第一个版本SNMPv1。RFC 1157和另一个关于管理信息的文件RFC 1155一起,提供了一种监控和管理计算机网络的系统方法。因此,SNMP得到了广泛应用,并成为网络管理的事实上的标准。SNMP是NMS和代理之间的异步请求和响应协议。NMS能够发出三个含有不同协议数据单元(PDU)报文。这三个PDU是提取请求Getrequest-PDU,提取下一个请求GetNextRequest-PDU和设置请求SetRequest-PDU报文。代理只能发出两个不同的报文:一个是对来自NMS请求作出应答的GetRequest-PDU报文,另一个陷阱Trop-PDU报文,是代理发现预定义异
4、常事件发生时主动发出的。利用SNMP协议,对网络设备状态的监视主要通过查询代理MIB中相应对象的值来完成。代理也会发出一些陷阱来引导NMS的查询以及及时查询。2SNMP的管理信息库MIB管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。图1是管理信息库的一部分,它又称为对象命名(object naming tree)。图1 管理信息库的对象命名举例应当指出,MIB的定义与具体的网络管理协议无关,这对于厂商和用户都有利。厂商
5、可以在产品(如路由器)中包含SNMP代理软件,并保证在定义新的MIB项目后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理具有不同版本的MIB的多个路由器。当然,一个没有新的MIB项目的路由器不能提供这些项目的信息。本文的SNMP通过客户/服务器的方式来实现的。3SNMP协议在网络管理中的实现3.1SNMP服务器SNMP服务器由单一的进程组成,不断接受请求报文,执行指定的操作,并返回一个响应。比较流行的操作系统中都提供SNMP代理服务,其过程snmpd就是实现SNMP服务器的主要算法。其工作流程如下:Snmpd首先打开一个SNMP使用的UDP端口,无限循环调用read等待下一个报文;当
6、一个SNMP报文到达时,调用snparse分析该报文,转换为内部格式,保存到请求描述块中;提取首部中的字段,通过调用sna2b,snmpd从报文中提取对象标识符序列,并把它们转换到一个链表中;链表中的每个结点对应于一个绑定,这些结点被定义为文件snmp.h中的snbentry结构。在转换时,sna2b把每个ASN.1对象标识符转换成内部表示形式;如果报文和变量名序列都已成功转换为内部格式,snmpd调用snrslv解决报文提出的请求,包括为链表中每个对象标识符执行指定的get,set 或get-next等操作;snmpd调用mksnmp生成响应报文,用write向客户机发送回答报文;服务器发送
7、一个响应报文后,调用snfreeb1释放变量名链表,并返问到主循环的头部,继续等待下一个输入报文。如果因出现差错而无法完成上述工作,则服务器生成一个差错回答报文,含有差错类型码(Error Type Code)和差错索引(Error Index)。差错类型码给出差错发生的原因,差错索引指出导致差错的变量名。这涉及到的SNMP报文分析、链表中ASN.1名字的转换、请求的解析、SNMP操作的解释和执行以及表格的间接寻址等。3.2SNMP客户机端SNMP客户机必须生成和向服务器发送请求报文,等待服务器的响应,并验证响应是否与请求相对应。执行客户机功能的过程snclient,以请求描述块的地址为入口参
8、数,块中包含了报文的内容,包括需要完成的操作和一张操作执行对象的绑定表。流程如下:首先snclient调用mksnmp生成以ASN.1格式表示的报文;调用open打开一个用于发送数据报的描述块,并调用write 发送上面所生成的报文;在定时模式下,进行read操作,接收响应;如果snclient接收到响应,它调用snparse将响应转换为内部格式;然后将响应中的标识字段与请求中的标识符字段相比较,验证该报文是对客户机刚才发送的请求的响应;正常时snclient调用sna2b将每个对象标识符从ASN.1表示形式转换为内部格式。由于UDP是不可靠的,因而SNMP客户机必须实现自己的超时和重传策略。
9、3.3主要的实现代码代理程序的生成过程,就是在如下的程序框架里添加扩展代理程序的过程。下面给出了程序的总体框架:/包含头文件u_short port;Mib *mib;RequestList *reqList;boolean run = TRUE;static void sig(int signo) /各种信号的回调处理函数?void init_signals() /初始化多线程的信号回调函数?void init(Mib &mib) /初始化用到的MIB组,和用户自定义的MIB/添加系统组MIB支持mib.add(new sysGroup(“AGENT+v3.4 Agent”, “1.
10、3.6.1.4.1.4976”, 10);/添加SNMP组MIB支持mib.add(new snmpGroup();int main(int argc, char *argv) if (argc 1) /从第一个参数读取端口号port = atoi(argv【1】);elseport = 4700; /默认为4700端口?int status;Snmpx snmp(status, port); /创建Snmpx对象,处理所有的SNMP事务?mib = new Mib(); /创建新的MIB对象reqList = new RequestList(); /创建新的请求处理列表mib-set_req
11、uest_list(reqList);/注册RequestList对象到MIB对象中以处理请求init_signals(); /初始化多线程init(*mib); /添加受支持的MIB组到MIB对象中mib-init(); /初始环MIB对象的内部数据reqList-set_snmp(&snmp); /设置请求处理列表的SNMP对象Request *req; /从管理段获得的请求对象指针while (run) /进入请求处理循环delete mib; /删除MIB对象return 0; /没有错误发生,返回 0在上述的主体程序框架中,加入代理代码。主要是在主程序的init函数中需要添加
12、:mib.add(new netInfoModule();/添加对netInfoModule的支持mib.add(new loginTime(oidloginTime);/添加对被管对象loginTime的支持在主程序前添加对netInfoModule.h的包含,然后将所有的C+源文件同时编译,就得到代理的可执行程序。4总结图2 网络管理界面系统运行界面之一如图2所示(限于篇幅无法给出所有的界面).利用本系统所提供的方法,管理者可以监控网络设备和连接的使用情况。收集到的数据能帮助管理者判定使用趋势和分离出性能问题,甚至可能在它们对网络性能产生有害影响之前就予以解决。然而,本系统设计仓促,难免存在一些不足之处,请各位老师不吝
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学术论文集编辑企业制定与实施新质生产力项目商业计划书
- 化纤原料工程设计在线平台企业制定与实施新质生产力项目商业计划书
- 学术论文指导服务行业深度调研及发展项目商业计划书
- 智能建筑材料企业制定与实施新质生产力项目商业计划书
- 电解质补给剂行业跨境出海项目商业计划书
- 宗教信仰舞蹈保护AI应用企业制定与实施新质生产力项目商业计划书
- 茶叶电商平台入驻与合作合同
- 财务人员职业发展与晋升合同
- 茶叶电商培训与运营支持合同
- 电力工程项目危险源识别与管理措施
- 高中生物教材易错易混概念辨析(新人教版2019)
- 《创新创意设计》课件
- 初高中物理衔接讲座(初高中物理对比)
- 宠物酒店商业计划书创新创业计划书2024年
- 2024年徐州市小学六年级毕业抽测语文模拟试卷
- 《电力建设安全工作规程 第2部分:电力线路》
- 模板工程风险辨识及防范措施
- 房建工程监理大纲范本(内容全面)
- 300立方米柴油储罐设计
- 2024年湖北新华书店有限公司招聘笔试参考题库含答案解析
- 社区警务培训课件
评论
0/150
提交评论