从如下几个方面说明:
1>基于TCP/IP的网络管理包含两个部分:网络管理站(也叫管理进程,manager)和被管的网络单元(也叫被管设备)。被管设备种类繁多,例如:路由器、X终端、终端服务器和打印机等。这些被管设备的共同点就是都运行TCP/IP协议。被管设备端和管理相关的软件叫做代理程序(agent)或代理进程。管理站可以显示所有被管设备的状态(例如连接是否掉线、各种连接上的流量状况等)
2>管理进程和代理进程之间的通信可以有两种方式。一种是管理进程向代理进程发出请求,询问一个具体的参数值;另外一种方式是代理进程主动向管理进程报告有某些重要的事件发生。当然,管理进程除了可以向代理进程询问某些参数值以外,它还可以按要求改变代理进程的参数值。
3>基于TCP/IP的网络管理包含3个组成部分:
a.一个管理信息库MIB(Management Information Base)。管理信息库包含所有代理进程的所有可被查询和修改的参数。
b.关于MIB的一套公用的结构和表示符号。叫做管理信息结构SMI(Structure of Management Information)。
c.管理进程和代理进程之间的通信协议,叫做简单网络管理协议SNMP(Simple Network Management Protocol)。尽管可以在运输层采用各种各样的协议,但是在SNMP中,用得最多的协议还是UDP。
下面对这三个组成部分的前两个分别进行详细说明:
●管理信息结构SMI
包含以下数据类型:
INTEGER
OCTERSTRING 0或多个8bit字节,每个字节值在0~255之间
DISPLAYSTRING 0或多个8bit字节,但是每个字节必须是ASCII码
OBJECT IDENTIFIER 对象标识符,它指明一种"授权"命名的对象。"授权"的意思就是这些标识不是随便分配的,它是由一些权威机构进行管理和分配的是一个整数序列。这种数据类型是以点(".")分隔的整数构成一个树型结构,类似于DNS或Unix的文件系统
NULL 代表相关的变量没有值
IPADDRESS 4字节长度的OCTERSTRING,以网络序表示的IP地址
PHYSADDRESS OCTERSTRING类型,代表物理地址
COUNTER 非负的整数,可从0递增到232-1(4294976295)。达到最大值后归0
GAUGE 非负的整数,取值范围为从0到4294976295(或增或减)。达到最大值后锁定,直到复位
TIMETICKS 时间计数器,以0.01秒为单位递增,但是不同的变量可以有不同的递增幅度。所以在定义这种类型的变量的时候,必须指定递增幅度
SEQUENCE 这一数据类型与C程序设计语言中的"structure"类似
SEQUENCE OF 这是一个向量的定义,其所有元素具有相同的类型
注:在SNMP中用到对象标识符数据类型,所有的MIB变量都从1.3.6.1.2.1这个标识开始
iso.org.dod.internet.private.enterprises(1.3.6.1.4.1)这个标识是给厂家自定义而预留的
●管理信息库MIB
所谓管理信息库,就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合。MIB被划分为若干个组,如system、interfaces、at(地址转换)和ip组等
4>关于管理进程和代理进程之间的交互信息,SNMP定义了5种报文:
1)get-request操作:从代理进程处提取一个或多个参数值。
2)get-next-request操作:从代理进程处提取一个或多个参数的下一个参数值。
3)set-request操作:设置代理进程的一个或多个参数值。
4)get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的。它是前面3中操作的响应操作。
5)trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
注:前3个操作是由管理进程向代理进程发出的。后面两个是代理进程发给管理进程的。
前4种操作是简单的请求-应答方式(也就是管理进程发出请求,代理进程应答响应),而且在SNMP中往往使用UDP协议,所以可能发生管理进程和代理进程之间数据报丢失的情况。因此一定要有超时和重传机制。
5>AgentX协议
为了解决SNMP协议中Agent的可扩展性,IETF早期提出了SMUX(SNMP多重协议),后来发现存在缺陷。在1998年IETF提出了AgentX(Agent Extensibility)协议标准。AgentX是包含一个主代理和多个子代理进程的一种体系结构,多个子代理进程可以驻留在同一个设备或者相互连接的不同设备中。它们之间通过标准接口进行通信。主代理进程处理SNMP协议,每个子代理进程负责一个特定的MIB视图。当主代理进程在运行并负责与网络管理站通信时,单一的子代理进程API实现子代理进程的动态注册与注销。可扩展代理的优点在于,它能够在网络设备运行时动态增加和删除MIB实例。AgentX协议允许多个子代理来负责处理MIB信息,该过程对于SNMP管理应用程序是透明的。AgentX协议为代理的扩展提供了一个标准的解决方法,使得各子代理将它们的职责信息通告给主代理。每个符合AgentX的子代理运行在各自的进程空间里,因此比采用单个完整的SNMP代理具有更好的稳定性。另外,通过AgentX协议能够访问它们的内部状态,进而管理站随后也能通过SNMP访问到它们。随着服务器进程和应用程序处理的日益复杂,最后一点尤其重要。通过AgentX技术,我们可以利用标准的SNMP管理工具来管理大型软件系统。
《附录》:
agentx协议格式:
AgentX PDU Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.version | h.type | h.flags | <reserved> |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.sessionID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.transactionID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.packetID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| h.payload_length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
如下为对应的实际数据包
0: 0101 0000 0000 0000 0000 0000 012d 4865 .............-He
16: 3c00 0000 0000 0000 0504 0000 0100 0000 <...............
32: 881f 0000 0300 0000 0200 0000 0300 0000 ?..............
48: 1900 0000 4e65 742d 534e 4d50 2041 6765 ....Net-SNMP Age
64: 6e74 5820 7375 622d 6167 656e 7400 0000 ntX sub-agent...
01--h.version
01--h.type
3c--h.payload_length
h.type
The PDU type; one of the following values:
agentx-Open-PDU (1),
agentx-Close-PDU (2),
agentx-Register-PDU (3),
agentx-Unregister-PDU (4),
agentx-Get-PDU (5),
agentx-GetNext-PDU (6),
agentx-GetBulk-PDU (7),
agentx-TestSet-PDU (8),
agentx-CommitSet-PDU (9),
agentx-UndoSet-PDU (10),
agentx-CleanupSet-PDU (11),
agentx-Notify-PDU (12),
agentx-Ping-PDU (13),
agentx-IndexAllocate-PDU (14),
agentx-IndexDeallocate-PDU (15),
agentx-AddAgentCaps-PDU (16),
agentx-RemoveAgentCaps-PDU (17),
agentx-Response-PDU (18)
关于agentx协议的具体格式和说明可以查rfc2257文档
TrapV1数据包说明如下(包体数据为十进制,我已经按照包中内容的类型进行了分行注释,一般48为包中数据的分隔符):
48 130 1 0 2(version标识) 1(length) 0(version) 4(community标识) 0
164 129 248 6 6 (length)
43 6 1 4 1 42 (enterprise)
64 4 192 168 30 93 (AGENT Address)
2 1 0 (genericTrap) 2 1 0 (specificTrap)
67 2 3 200 (timestamp)
48 129 221 (length)
48 129 199 (本行总长度) 6(oid标识) 7 42 3 4 5 6 1 0 4(value标识) 129 187(length) 200 213 214 190 184 230 190 175 124 200 213 214 190 184 230 190 175 124 200 213 214 190 184 230 190 175 124 200 213 214 190 184 230 190 175 123 200 213 214 190 184 230 190 175 125 200 213 214 190 184 230 190 175 124 200 213 214 190 184 230 190 175 45 200 213 214 190 184 230 190 175 43 200 213 214 190 184 230 190 175 58 200 213 214 190 184 230 190 175 40 200 213 214 190 184 230 190 175 41 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175 200 213 214 190 184 230 190 175
48 17 (本行总长度) 6(oid标识) 9 43 6 1 6 3 18 1 3 0 64 4 192 168 30 93
对应的告警内容(只有1个字段的告警内容):
OID: 1.2.3.4.5.6.1.0 Value: 日志告警|日志告警|日志告警|日志告警{日志告警}日志告警|日志告警-日志告警+日志告警:日志告警(日志告警)日志告警日志告警日志告警日志告警日志告警日志告警日志告警日志告警日志告警日志告警日志告警
TrapV2数据包说明如下(包体数据为十进制,我已经按照包中内容的类型进行了分行注释,一般48为包中数据的分隔符):
48(trap包分隔标识) 130 1 67(length) 2(version标识) 1(length) 1(version) 4 6 112 117 98 108 105 99(public/private)
167 130 1 52(length)
2 1 0(requestID) 2 1 0(errorStatus) 2 1 0(errorIndex)
48 130 1 39 (length)
48 16(本行总长度) 6(oid标识) 8(length) 43 6 1 2 1 1 3 0 67 4(value标识) 23 221 23 13
48 25(本行总长度) 6(oid标识) 10(length) 43 6 1 6 3 1 1 4 1 0 6(oid标识) 11(length) 43 6 1 4 1 196 17 1 1 0 0
48 16(本行总长度) 6(oid标识)11 43 6 1 4 1 195 20 2 8 3 1 4(value标识) 1(length) 50
48 17 6 11 43 6 1 4 1 195 20 2 8 3 2 4 2 65 50
48 17 6 11 43 6 1 4 1 195 20 2 8 3 3 4 2 75 49
48 20 6 11 43 6 1 4 1 195 20 2 8 3 4 4 5 50 56 56 54 54
48 16 6 11 43 6 1 4 1 195 20 2 8 3 5 4 1 51
48 16 6 11 43 6 1 4 1 195 20 2 8 3 6 4 1 49
48 29 6 11 43 6 1 4 1 195 20 2 8 3 7 4 14 50 48 48 55 48 55 48 57 49 52 53 51 50 49
48 16 6 11 43 6 1 4 1 195 20 2 8 3 8 4 1 54
48 85 6 11 43 6 1 4 1 195 20 2 8 3 9 4 70 97 103 101 110 116 32 124 73 50 124 32 40 105 100 120 32 124 48 124 41 99 97 110 39 116 32 99 111 110 110 101 99 116 32 107 101 114 110 101 108 32 124 75 49 124 44 101 114 114 111 114 61 124 48 124 44 108 105 110 107 32 116 121 112 101 32 124 50 124 33
对应的告警内容(11个字段的告警内容):
OID:1.3.6.1.2.1.1.3.0 Value:46 days, 8:07:33.25
OID:1.3.6.1.6.3.1.1.4.1.0 Value:OID:1.3.6.1.4.1.8721.1.1.0.0
OID:1.3.6.1.4.1.8596.2.8.3.1 Value:2
OID:1.3.6.1.4.1.8596.2.8.3.2 Value:A2
OID:1.3.6.1.4.1.8596.2.8.3.3 Value:K1
OID:1.3.6.1.4.1.8596.2.8.3.4 Value:28866
OID:1.3.6.1.4.1.8596.2.8.3.5 Value:3
OID:1.3.6.1.4.1.8596.2.8.3.6 Value:1
OID:1.3.6.1.4.1.8596.2.8.3.7 Value:20070709145321
OID:1.3.6.1.4.1.8596.2.8.3.8 Value:6
OID:1.3.6.1.4.1.8596.2.8.3.9 Value:agent |I2| (idx |0|)can't connect kernel |K1|,error=|0|,link type |2|!
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1055152
相关推荐
#### 一、SNMP协议概述 ##### 1.1 什么是SNMP? 简单网络管理协议(SNMP:Simple Network Management Protocol)是一种由互联网工程任务组(IETF:Internet Engineering Task Force)定义的网络管理协议。它的设计...
基于SNMP和Java的网络拓扑发现方法的核心在于通过SNMP协议从网络设备上获取上述提到的关键信息表,并利用Java编程语言的强大功能进行数据处理和拓扑图的绘制。具体步骤如下: 1. **SNMP数据采集**:使用SNMP协议从...
在本书《Visual C++开发基于SNMP的网络管理软件(第2版)》中,涵盖了使用Visual C++开发网络管理软件的基础知识、SNMP协议的深入分析,以及SNMP管理信息库(MIB)的结构和应用。以下是对书籍内容的知识点整理。 1. ...
### 网络协议工具——深入理解SNMP协议与网络管理 #### 一、引言 随着网络技术的发展,网络管理变得越来越重要。简单网络管理协议(Simple Network Management Protocol, SNMP)作为一种广泛应用在网络管理领域的标准...
SNMP trap 是SNMP协议中的一个重要功能,用于设备向管理站发送异步通知,报告设备上的异常事件。以下是关于SNMP trap配置与使用的详细解释: 一、SNMP trap的用途 SNMP trap提供了从被管理设备(代理进程)到管理站...
MIBWalk是基于SNMP协议的一个入门级程序,用于在网络中遍历和查询MIB(Management Information Base)信息,相当于在SNMP环境中执行“walk”操作,即获取MIB树中的所有对象。 实验目的是通过编译运行MIBWalk源代码...
通过这个项目,学生可以学习到如何利用Java编程实现SNMP协议,了解网络设备的MIB信息结构,掌握如何获取和解析这些信息,同时也能接触到网络管理领域的前沿知识,如多宿主技术的成本和性能优化。此外,撰写毕业论文...
本文主要探讨了基于路由器的计费系统的开发方法,利用SNMP协议收集网络数据流量,设计出计费系统的体系结构和流程。 **简单网络管理协议SNMP** SNMP(Simple Network Management Protocol)是一种基于TCP/IP的网络...
考生需掌握TCP/IP协议簇中关键协议的功能和区别,理解SNMP协议的工作机制以及不同版本间的变化,熟悉PDU类型及其实现的管理任务,并了解MIB和ASN.1的作用。这些知识点对于通过计算机网络管理的自考科目至关重要。...
4. **性能监控**:通过SNMP协议实现设备的性能监控,包括CPU利用率、内存利用率、磁盘利用率等关键指标。 5. **数据分析**:提供了一段时间以来的网络设备运行分析图,帮助用户深入了解网络状况。 6. **兼容性与扩展...
SNMP协议,MIB数据库里,OID所能获取的数据,例如: 对象名:ifMtu(2) OID:ifEntry.4 对象类型:Integer 访问模式:只读 描述:接口的最大传输单元。用来表示接口上可以发送或接受的最大帧 整理一下,方便新手熟悉...
* `lacp enable`:启用 lacp 协议。 * `int aggregate1.301`:在聚合端口上创建子端口。 * `int eth0/0`:在配置模式下,进入接口配置子项。 * `aggregate aggregate1`:将 eth0/0 添加到聚合端口 1 中。 这些命令...
在应用层,书中提到了Telnet、FTP、SMTP、SNMP等协议。Telnet用于远程登录,FTP用于文件传输,SMTP用于电子邮件传输,而SNMP用于网络管理。这些协议都是构建在TCP/IP基础上的,使得网络中的计算机可以进行各种复杂的...
SNMP(Simple Network Management Protocol)是一种常用的网络管理协议,用于监控和管理网络设备。以下是 Windows Server 2012 中 SNMP 配置的详细步骤: 步骤 1:开启 SNMP 服务 在 Windows Server 2012 中,SNMP...
理解evntwin.exe的功能和SNMP协议的原理,对于维护和优化Windows XP网络环境至关重要。在实际操作中,如果遇到与evntwin.exe或SNMP相关的故障,可以通过检查系统日志、调整SNMP服务配置,甚至更新相关驱动程序来解决...
14. 在因特网中,SNMP使用的传输层协议是UDP -,表明SNMP协议在因特网中的应用和传输层协议。 15. 当信息从信源向信宿流动时可能会受到攻击。其中中断攻击是破坏系统资源,这是对网络可用性的攻击。这意味着网络...
在网络管理方面,考生需了解SNMP(简单网络管理协议)、网络故障排查方法以及网络监控工具的使用。最后,网络安全是不容忽视的一环,包括防火墙、入侵检测系统、SSL/TLS协议、密码学原理等知识点。 利用这份分类...
利用通信线路连接不同地理位置的计算机系统实现资源共享、网络拓扑结构、...SNMP协议的安全性和管理机制、数字签名的实现方法、口令安全策略、电子商务应用系统的构成、涉密网与非涉密网的物理隔离、蓝牙技术在短距离...