标签:
UDP协议, 减轻网络负荷.
NMS发送包后的超时时间和重传次数可以设定.
对于Agent发给NMS的Trap消息, NMS不发送确认消息.
SNMP使用161端口收发请求, 使用162端口接受被管理设备的traps.
任何实现SNMP协议的设备必须缺省使用这俩接口.
但是有的设备供应商允许你在agent的配置中改变缺省端口.
SNMPv1和 SNMPv2使用communities的概念来在manager和Agent之间建立信任.
一个agent可以被配置三个community name: read-only, read-write, 以及trap.
community name本质上就是 password, community string和你登录计算机的密码没有区别。
三个community strings控制着不同的行为。只读community 允许你读取数据但是不允许修改。
例如,允许你读取路由器发送的包数但是不允许你重置该数值。
trap community string允许你接受traps(异步通知消息)。
多数厂商出售的设备带有缺省的community字符串,
通常是公开的read-only community string 和私有的 read-write community string.
在设备接入网络前更改缺省community字符串非常重要。
当启动SNMP agent时,你可能想配置它的 trap 目的地址。
SNMP community strings是以明文传输。
提高安全性的一种手段是利用防火墙来限制使用协议端口的源地址和目的地址。
还有就是使用VPN接入设备,经常变更community strings。
我们一直使用management information来表示具有SNMP接口的设备的操作参数。
Structure of Management Information (SMI)有两个版本:
(SMIv1, RFC 1155)
(SMIv2, RFC 2578) providesenhancements for SNMPv2.
一个被管理对象的定义可以分为三个属性:
* 名称:object identifier (OID),唯一标示该对象。
名称通常以两种形式:数字和“人类可读的”。不管哪种,名称都很长,而且不不方便。
* 类型和语法:
数据类型定义使用Abstract Syntax Notation One (ASN.1)的子集,
ASN.1 是用来约定在SNMP的上下文中,managers 和agent之间是如何表示和传输的数据的。
ASN.1的notation 机器无关。
* Encoding
A single instance of a managed object is encoded into a string of octets using
the Basic Encoding Rules (BER). BER defines how the objects are encoded and
decoded so that they can be transmitted over a transport medium such as
Ethernet.
------
命名OID:
1(iso).3(org).6(dod).1(internet).2(mgmt).1(mib-2)
iso.org.dod.internet.private.enterprises.cisco, or 1.3.6.1.4.1.9.
1(iso).3(org).6(dod).1(internet). 4(private).enterprises(1).cisco(9),
定义OID:
数据类型:
* NULL: Not currently used in SNMP.
* SEQUENCE: Defines lists that contain zero or more other ASN.1 datatypes.
* SEQUENCE OF Defines a managed object that is made up of a SEQUENCE of ASN.1 types.
* IpAddress Represents a 32-bit IPv4 address. Neither SMIv1 nor SMIv2 discusses 128-bit IPv6 addresses.
* NetworkAddress Same as the IpAddress type, but can represent different network address types.
* Gauge A 32-bit number with minimum value 0 and maximum value 232 - 1 (4,294,967,295). Unlike a
* Counter, a Gauge can increase and decrease at will, but it can never exceed its maximum
value. The interface speed on a router is measured with a Gauge.
* TimeTicks A 32-bit number with minimum value 0 and maximum value 232 - 1 (4,294,967,295). TimeTicks
measures time in hundredths of a second. Uptime on a device is measured using this datatype.
* Opaque Allows any other ASN.1 encoding to be stuffed into an OCTET STRING.
MIB is a logical grouping of managed objects as they pertain to a specific management
task, vendor, etc.
标签:
原文地址:http://my.oschina.net/cppblog/blog/387144