




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机网络管理论文:简单网络管理协议的研究与应用摘要:通过对简单网络管理协议(SNMP)的通讯原理、消息结构及抽象语法表示(ASN.1)、BER编码的分析,并对RFC1213管理信息库(MIB-II)和用户数据报协议(UDP)的分析研究,利用Windows SNMP提供的服务,使用C+Builder面向对象开发工具进行编程,实现SNMP协议包的构造和协议包的解析,提供网络设备管理的简便方式,从而保证网络设备稳定运行。关键词:网络管理;简单网络管理协议(SNMP);ASN.1;BER编码;RFC1213;用户数据报协议(UDP)1引言简单网络管理协议SNMP(Simple Network ManagementProtocol)1是由Internet工程任务组织IETF(Internet Engineer-ing Task Force)2研究小组为解决Internet上的路由器管理问题而提出的。SNMP是一系列协议组和规范,可提供一种从网络设备中收集网络管理信息的方法。SNMP也为设备向网络管理工作站报告问题和错误提供方法。2 SNMP体系结构简介2.1 SNMP消息类型SNMP消息类型提供请求与响应的交互形式3,其中:(1)Get Request:管理站用来检索代理管理信息库中的标量对象值;(2)GetNext Request:管理站用来检索代理管理信息库中的当前标量对象的下一个对象值;(3)Set Request:管理站用来设置代理管理信息库中的标量对象值;(4)Response:代理用于发送管理站对代理的请求;(5)Trap:代理用于向管理站报告管理对象的状态变化。2.2 SNMP PDU协议数据单元结构图3为SNMP报文格式。SNMP PDU协议数据单元结构描述如下:RFC1157-SNMP DEFINATIONS:=BEGINIMPORTObjectName,objectSynax,NetworkAddress,IpAddress,TimeT-icks FROM RFC1155-SMI;Message:=SEQUECEversion INTEGERversion-1(0);/版本号community OCTET STRING;/团体字data ANY;/SNMP PDUANY:=CHOICE/SNMP PDUget-request GetRequest-PDU; get-next-request GetNextRequest-PDU;get-response GetResponse-PDU;set-request SetRequest-PDU;trap Trap-PDU;GetRequest-PDU:=0IMPLICIT PDU;/A0GetNextRequest-PDU:=1IMPLICIT PDU;/A1GetResponse-PDU:=2IMPLICIT PDU;/A2SetRequest-PDU:=3IMPLICIT PDU;/A3PDU:=SEQUENCErequest-id INTEGER;/请求标识02 01 xxerror-status INTEGER;/错误状态02 01 xxnoError(0),tooBig(1),noSuchName(2),badValue(3),readOnly(4),genError(5);error-Index INTEGER;/错误索引02 01 xxvariable-binding VarBinList;VarBinList:=SEQUENCE OF VarBin;VarBin:=SEQUENCEname ObjectName,value ObjectSyn-tax;2.3 ANS.1和BER抽象语法表示(ANS.1)是一种形式语言,可提供统一的网络数据表示,用于定义应用数据的抽象语法和应用层协议数据单元结构。在OSI和SNMP的管理信息库都是用其定义的。基本编码规则(BER)用ANS.1定义的应用数据在传输过程中要按照一定的规则转换成比特串。给出了SNMP消息的BER编码实例(对代理202.117.49.61的Get请求)。对SNMP消息的BER编码描述:/-SNMP消息-30 26 Sequence类型,长度38Byte2 1 0版本号:04 6 70 75 62 6c 69 63团体字:OCT String类型,publica0 19请求标识:GetRequest,长度25Byte2 1 0错误标识2 1 0错误状态2 1 0错误索引30 e Sequence类型,长度14Byte30 c Sequence类型,长度12Byte6 8 2b 6 1 2 1 1 4 0请求对象OID:OCT String类型,1.3.6.1.2.1.1.4.05 0空值2.4 RFC1213管理信息库MIBRFC1213定义MIB-2管理对象的核心集合4,这些对象在任何SNMP系统必须实现。管理信息结构说明了定义和构造MIB的总体框架,以及数据类型的表示和命名方法。SMI只允许存储标量对象和矢量对象(表对象),不支持复杂的数据结构。其提供标准化技术表示管理信息如下:(1)SNMP所有的管理对象组织成分层结构;(2)提供结构化的信息组织技术;(3)提供命名机制。树中的叶子结点都有一个分层的编号。叶子结点代表实际的管理对象,从树根到树叶的编号串联起来,用圆点隔开,形成管理对象标识符。2.5 UDP协议用户数据报协议UDP(User Data Protocol)5是一个面向无连接的协议,其传输效率较高。协议格式如表1所示。在SNMP代理中,常用161作为SNMP消息接收;162为AgentSNMP消息响应。UDP协议格式3 SNMP编程与测试环境SNMP要求的编程环境有:Java;C/C+;Borland C+Builder6。该程序选用Borland C+Builder6编程环境。而SNMP的测试环境要求:(1)Windows SNMP服务:Windows NT/Win-dows 2000/Windows XP的网络监视服务提供SNMP代理,端口:161;(2)AdventNet SNMP服务:AdventNet公司的SNMP代理,端口可自己设定;(3)AdventNet SNMP MIB Browse:AdventNet公司的SNMP动作测试工具;(4)Sniff软件是一个很好的网上抓包程序,用来分析发送和接收的SNMP消息。4 SNMP编程实现4.1 SNMP消息分析通过对SNMP协议的理解在C+Builder中将其定义为以下结构体类型;分别完成对消息的构造和解析6。(1)消息结构的结构体struct Message/消息结构图4 SNMP消息的BER编码举例源端口目标端口段长检验和SNMP报文格式-99-int len;/消息长度Ver Version;/版本号Octl OctString;/团体字PDUs pdu;/SNMP-PDUSNMPMessage;struct Ver/版本号int Len;/长度int VerValue;/版本值;struct Octl/团体字int Len;/长度char OctChar100;/团体字值;struct PDUsint Len;/长度int PduType;/PDU类型ReqID PduRID;/请求标识ReqStatus PduRStatus;/请求状态ReqIndex PduRIndex;/请求索引PDUVarBL VarBinList;/变量绑定表;struct ReqID/请求标识int Len;int Value;struct ReqStatus/请求状态int Len;int Value;(2)请求索引的结构体struct ReqIndex/请求索引int Len;int Value;struct PDUVarBL/变量绑定表int Len;/长度int BindArray;/得到PDU组数VarBindVarBind1100;/绑定变量;struct VarBindint Len;/长度OIDType OID;/变量OID类型OIDValue Value1;/变量OID值;struct OIDType/变量OID类型int Len;int Value100;struct OIDValue/变量OID值int Len;int TypeIndex;Union valvalulong ValueInt;char ValueChar100;int ValueIP10;char*ValuePoint;OIDType ValueOID;Long ValueCount;4.2 SNMP消息构造根据用户设置的Agent的IP、端口号、执行的请求和对象的OID;按BER编码来构造消息,设置SNMPMessage消息并存入Result数组中,以备发送。SNMP消息构造程序代码如下:/-计算SNMP消息长度-/-设置常规项-/+编码VarBindLis+/-编码SNMP消息-/+输出Memo1+4.3 SNMP消息发送与接收使用C+Builder提供的TNMUDP控件完成对SNMP消息的发送和接收,并存入Data1数组中,以备解析。以下为部分程序代码:/-消息的发送与接收(基于UDP)-void TForm1:sendrev()/-void_fastcall TForm1:NMUDP1DataReceived(TCompo-nent*Sender,int NumberBytes,AnsiString FromIP,int Port)4.4 SNMP消息解析将UDP接收到的消息存入data1数组中,与消息的解析相反;将其每一部分添入所定义的SNMPMessage结构中,以备解析显示调用。以下为部分程序代码:/-PDU的解析过程-void TForm1:decodepdu()/TODO:Add your source code here/长度/请求标志等参数/-VarBindlist的解析-/-解析OID-(展性、可复用性、可维护性,并给出一个具体应用实例实现DAO设计模式。参考文献:1Erich Gamma.设计模式:可复用面向对象软件的基础M.李英军,蔡敏,刘建中,译.北京:机械工业出版社,2007.2Jeffrey Richter.框架设计M.周靖,张杰良,译.北京:清华大学出版社,2006.3陆明,张广泉.面向复用软件开发方法的比较与分析J.苏州大学学报(工科版),2006,26(2):11-15.4William Crawford,Jonathan Kapla.J2EE设计模式M.刘绍华,毛天露,译.北京:中国电力出版社,2005.5龙浩,黄明和.分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省成都市金牛区外国语学校2026届化学高一第一学期期中考试模拟试题含解析
- 2026届广东省阳江市高三上化学期中学业质量监测试题含解析
- 城市地下空间综合开发利用项目2025年区域经济贡献分析报告
- 金科医疗2023可持续发展报告:NGO监督与学术研究的企业社会责任实践
- 2025年教育行业质量评估与认证体系在课程资源开发中的应用报告
- 物流装卸外包合同(标准版)
- 排水管网土壤沉降监测方案
- 正规供销合同(标准版)
- 房产用人合同(标准版)
- 买房没给合同(标准版)
- 电工与电子技术基础(第三版)技工院校计算机类专业全套教学课件
- 原子城纪念馆
- 室内消火栓使用培训课件
- 抖音违规考试试卷
- 2015-2023年注册会计师考试《会计》真题合集(含答案及解析)共10套
- 2024年创业计划书篮球馆
- 内分泌科对患者糖尿病足预防知识不知晓原因分析品管圈鱼骨图
- 幼儿园卫生保健新生家长会课件
- 劳务合同通用模板电子下载
- 图书供货项目实施方案
- 护理礼仪与人际沟通第3版第三章护士服饰礼仪
评论
0/150
提交评论