SNMP网管系统开发.ppt

上传人:文库蛋蛋多 文档编号:2267482 上传时间:2023-02-08 格式:PPT 页数:33 大小:541.50KB
返回 下载 相关 举报
SNMP网管系统开发.ppt_第1页
第1页 / 共33页
SNMP网管系统开发.ppt_第2页
第2页 / 共33页
SNMP网管系统开发.ppt_第3页
第3页 / 共33页
SNMP网管系统开发.ppt_第4页
第4页 / 共33页
SNMP网管系统开发.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《SNMP网管系统开发.ppt》由会员分享,可在线阅读,更多相关《SNMP网管系统开发.ppt(33页珍藏版)》请在三一办公上搜索。

1、1,SNMP网管系统开发,2,Application,Presentation,session,Transport,Network,Data Link,Physics,OSI Model,802.3、802.4、802.5,X.25,FR,SLIP/PPPPSTN/ISDN,PLMN,ATM,Released Line,TCP,UDP,SMTP,FTP,TELNET,DNS,IP ICMP ARP RARP,TCP/IP Protocol suit,SNMP,网络协议模型,3,SNMP 系统结构,Manager,Agent,.,管理工作站,Host,Router,网元(NEs),通信协议,SN

2、MP,Agent,4,SNMP协议实体,Network Interface,SNMP,UDP,IP,SNMP ManagerApplication,Get-Request,GetNext-Request,Set-Request,Get-Response,Trap,Network Interface,SNMP,UDP,IP,SNMP AgentApplication,Get-Request,GetNext-Request,Set-Request,Get-Response,Trap,5,协议实体的功能,用来支持应用实体 和远端对应的实体进行通信 SNMP消息包括 版本号 公共体名 协议数据单元 消

3、息封装和传送,6,SNMP应用协议,Network Access,SNMP,UDP,IP,Manager,管理工作站,网元(NEs),Network Access,SNMP,UDP,IP,Agent,7,UDP和TCP都使用了与应用层接口处的端口(port)与上层的应用进程进行通信。,端口的概念,8,若没有端口,传输层就无法知道数据应当交付给应用层的哪一个进程。端口是用来标识应用层的进程。端口号分为两类。一类是由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口(well-known port),其数值一般为01023,见RFC 1700。例如,FTP用21,T

4、ELNET用23,SMTP用25,DNS用53,HTTP用80,SNMP用161。,端口的概念,9,端口举例,10,Socket插口或套接字,包括IP地址(32 bit)和端口号(16 bit),共48 bit。,11,Linux内核组成,12,内核中网络层次结构,13,Socket类型,TCP套接字是TCP协议的具体实现,实现TCP连接的建立及通信.UDP套接字是UDP协议的具体实现,UDP是非连接的、不可靠的、传递数据报的传输协议。RAW套接字将流经网卡的数据全部捕获,可用于sniffer网络侦听软件,也常用于流量测量系统中。,14,SNMP 通信服务,四种服务Get,Set,GetNex

5、t,Trap五种SNMP消息GetRequest,SetRequest,GetNextRequest,GetResponse,Trap,Manager,Agent(s),15,SNMP消息格式,消息结构版本号公共体名协议数据单元SNMP 消息长度不大于 484 字节.消息格式,Version,Community,SNMP PDU,16,SNMP PDU格式,Trap,17,信息模型,SMI组织、命名及描述被管对象信息。每个被管对象必须有一个名字name,存储类型syntax,及编码encoding。Name即object identifier(OID),是一串数字,用来唯一的识别这个对象syn

6、tax描述对象存储的数据类型,如整型、字节串等encoding 描述与该对象相关的信息如何编码,用于通信过程.SNMP使用BER(Basic Encoding Rules)编码方式.,18,MIB,MIB是被管对象信息的虚拟存储及访问之处,所有对象的描述使用 ASN.1(Abstract Syntax Notation One)语法。,19,两种类型的被管对象,普通类型:sysDescr OBJECT-TYPESYNTAX DisplayString(SIZE(0.255):=system 1OID举例:mib-2.system.1.0列表类型OID举例:,mib-2.interface.if

7、Table.ifEntry.ifDescr.2mib-2.interface.ifTable.ifEntry.ifDescr.6 mib-2.interface.ifTable.ifEntry.ifType.2mib-2.interface.ifTable.ifEntry.ifType.6,20,列表对象,ifIndex ifDescr ifType.1 le0 6.6 llc0 1.7 lo0 24.9 le1 6.,.ifTable.ifEntry.1(1.3.6.1.2.1.2.2.1.1).ifTable.ifEntry.2(1.3.6.1.2.1.2.2.1.2).ifTable.i

8、fEntry.3(1.3.6.1.2.1.2.2.1.3),1.3.6.1.2.1.2.2.1.3.7,1.3.6.1.2.1.2.2.1.2.6,21,列表举例,22,基本编码规则BER,当一个对象的实例需要通信时,需要利用基本编码规则对信息进行编码,然后封装在消息中进行通信。Basic Encoding Rules(BER)-Type,Length,and Value(TLV),23,例子:SNMP Get-Request,snmpget-d 10.144.18.118.1.3.6.1.2.1.1.1.0Transmitted 41 bytes to camry(10.144.18.118

9、)port 161:Initial Timeout:0.80 seconds 0:30 27 02 01 00 04 06 70 75 62 6c 69 63 a0 1a 02 0.public.16:02 18 bc 02 01 00 02 01 00 30 0e 30 0c 06 08 2b.0.0.+32:06 01 02 01 01 01 00 05 00-.0:SNMP MESSAGE(0 x30):39 bytes 2:INTEGER VERSION(0 x2)1 bytes:0(SNMPv1)5:OCTET-STR COMMUNITY(0 x4)6 bytes:public 13

10、:GET-REQUEST-PDU(0 xa0):26 bytes 15:INTEGER REQUEST-ID(0 x2)2 bytes:6332 19:INTEGER ERROR-STATUS(0 x2)1 bytes:noError(0)22:INTEGER ERROR-INDEX(0 x2)1 bytes:0 25:SEQUENCE VARBIND-LIST(0 x30):14 bytes 27:SEQUENCE VARBIND(0 x30):12 bytes 29:OBJ-ID(0 x6)8 bytes:.1.3.6.1.2.1.1.1.0 39:NULL(0 x5)0 bytes,24

11、,例子:SNMP Get-Response,Received 69 bytes from 10.144.18.118 port 161:0:30 43 02 01 00 04 06 70 75 62 6c 69 63 a2 36 02 0C.public.6.16:02 18 bc 02 01 00 02 01 00 30 2a 30 28 06 08 2b.0*0(.+32:06 01 02 01 01 01 00 04 1c 53 75 6e 20 53 4e 4d.Sun SNM 48:50 20 41 67 65 6e 74 2c 20 53 55 4e 57 2c 55 6c P A

12、gent,SUNW,Ul 64:74 72 61 2d 31-tra-1.0:SNMP MESSAGE(0 x30):67 bytes 2:INTEGER VERSION(0 x2)1 bytes:0(SNMPv1)5:OCTET-STR COMMUNITY(0 x4)6 bytes:public 13:RESPONSE-PDU(0 xa2):54 bytes 15:INTEGER REQUEST-ID(0 x2)2 bytes:6332 19:INTEGER ERROR-STATUS(0 x2)1 bytes:noError(0)22:INTEGER ERROR-INDEX(0 x2)1 b

13、ytes:0 25:SEQUENCE VARBIND-LIST(0 x30):42 bytes 27:SEQUENCE VARBIND(0 x30):40 bytes 29:OBJ-ID(0 x6)8 bytes:.1.3.6.1.2.1.1.1.0 39:OCTET-STR(0 x4)28 bytes:Sun SNMP Agent,SUNW,Ultra-1,25,例子:SNMP Trap,Transmitted 64 bytes to 10.144.18.100 port 162:0:30 3e 02 01 00 04 06 70 75 62 6c 69 63 a4 31 06 0.publ

14、ic.1.16:09 2b 06 01 04 01 84 64 01 01 40 04 0a 90 12 74.+.d.t 32:02 01 06 02 03 01 86 9f 43 01 00 30 13 30 11 06.C.0.0.48:04 2b 06 01 01 04 09 54 72 61 70 20 74 65 73 74.+.Trap test 0:SNMP MESSAGE(0 x30):62 bytes 2:INTEGER VERSION(0 x2)1 bytes:0(SNMPv1)5:OCTET-STR COMMUNITY(0 x4)6 bytes:public 13:V1

15、-TRAP-PDU(0 xa4):49 bytes 15:OBJ-ID ENTERPRISE(0 x6)9 bytes:.1.3.6.1.4.1.612.1.1 26:IPADDRESS AGENT-ADDR(0 x40)4 bytes:10.144.18.116 32:INTEGER GENERIC-TRAP(0 x2)1 bytes:6 35:INTEGER SPECIFIC-TRAP(0 x2)3 bytes:99999 40:TIMETICKS TIME-STAMP(0 x43)1 bytes:0(0 x0)43:SEQUENCE VARBIND-LIST(0 x30):19 byte

16、s 45:SEQUENCE VARBIND(0 x30):17 bytes 47:OBJ-ID(0 x6)4 bytes:.1.3.6.1.1 53:OCTET-STR(0 x4)9 bytes:Trap test,26,Get-Next Request操作顺序,ABTE1.11.22.12.23.13.2Z,27,字典顺序(Lexicographic Order),28,例子:get_next_request,Get“Interface Group”of MIB II循环使用“get_next_request”由于我们不知道ifTable中ifIndex的每个值,所以不能直接象数据库查询那样

17、使用关键字,方法是:首先,get 对象ifTable.ifEntry.0的下一个值然后,重复使用“get_next”直到所有子树的内容get完毕.,29,SNMP网管系统开发,SNMP网管系统采用客户机/服务器模式,路由器、交换机、打印机、HUB等处的Agent是系统中的服务器方;而客户机方是Manager角色,往往是单独的一台计算机,轮询并记录Agent所返回的数据。允许一台服务器(Agent)对应多个客户机(Manager)。Agent开发是系统开发工作的核心和重点。,30,Agent开发流程,设计所需的MIB库,或者编辑和更改之前做好的MIB库,保存成一个文件。针对编辑好的MIB库文件,

18、编译生成对应的C+代码。测试Agent开发结果,能够完成MIB库节点的Get/Set操作,接收Trap消息以及MIB库结构的浏览等工作。,31,开发工具,UCD-SNMP/NET-SNMPSNMP+/Agent+WINSNMPAdventNetHP OpenViewIBM NetView,32,总结-1,SNMP是目前事实上的管理标准,网管系统开发的核心是Agent的开发。SNMP本质是一个网络应用层协议,开发时可用标准的Socket接口。SNMP信息模型的核心是MIB的深刻理解,而开发时更是需要用SMI来描述被管对象。,33,总结-2,理解SNMP消息格式中的内容,核心是协议数据单元中的TLV(对象-长度-值)编码,它是网络中应用非常广泛的方法。作为开发人员,使用目前比较稳定的开源或商业工具,可以低成本/高效率/可靠的实现具体的管理应用需求。最后,真正理解SNMP如何工作的系统管理员和程序员实在太少了。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号