ipRouteEntry(1)
ipRouteTable (ip 21)
4-5 为了禁止地址为(123.234.245.156)的代理向管理站发送报告
authentication-failure的 trap,管理站应怎样进行操作?请对操作过程进行简要描 述。
答:首先在管理站找到地址为 123.234.245.156的代理中定义的 Community,建 立起与该代理的通信,通过set 操作将代理中产生的名为authentication-failure 的 trap设置为不报告。
4-6 某 Manager在发出 get-request 请求后,收到了如题表4.1 所示的应答数据: 1)请构造 Manager 发出的 get-request PDU; 2)请构造 Agent 返回的 get-response PDU。
Object Value Request ID 50
udpInDatagrams 500 000 udpNoPorts 1 000 udpInErrors 100
udpOutDatagrams 400 000
答: 1)GetRequest(udpInDatagrams.0, udpNoPorts.0, udpInErrors.0, udpOutDatagrams.0) 编码:
30 50 SEQUENCE (0x30) 80 bytes
02 01 00 INTEGER VERSION (0x2) 1 byte : 0
04 06 70 75 62 6c 69 63 OCTET STRING COMMUNITY (0x4) 6 bytes : ?public? a0 43 GET-REQUEST-PDU (0xa0) 67 bytes
02 01 32 INTEGER REQUEST-ID (0x2) 1 bytes : 50 02 01 00 INTEGER ERROR-STATUS (0x2) 1 byte : noError 02 01 00 INTEGER ERROR-INDEX (0x2) 1 byte : 0 30 30 SEQUENCE OF (0x30) 48 bytes 30 0c SEQUENCE (0x30) 12 bytes
06 08 2b 06 01 02 01 07 01 00 OBJECT ID (0x6) 8 bytes : 1.3.6.1.2.1.7.1.0 05 00 NULL VALUE (0x5) 0 byte 30 0c SEQUENCE (0x30) 12 bytes
06 08 2b 06 01 02 01 07 02 00 OBJECT ID (0x6) 8 bytes : 1.3.6.1.2.1.7.2.0 05 00 NULL VALUE (0x5) 0 byte
30 0c SEQUENCE (0x30) 12 bytes
06 08 2b 06 01 02 01 07 03 00 OBJECT ID (0x6) 8 bytes : 1.3.6.1.2.1.7.3.0 05 00 NULL VALUE (0x5) 0 byte 30 0c SEQUENCE (0x30) 12 bytes
06 08 2b 06 01 02 01 07 04 00 OBJECT ID (0x6) 8 bytes : 1.3.6.1.2.1.7.4.0
05 00 NULL VALUE (0x5) 0 byte
最后得到的用十六进制表示的编码如下所示:
30 51 02 01 00 04 06 70 75 62 6c 69 63 a0 44 02 02 73 00 02 01 00 02 01 00 30 30 30 0c 06 08 2b 06
01 02 01 07 01 00 05 00 30 0c 06 08 2b 06 01 02 01 07 02 00 05 00 30 0c 06 08 2b 06 01 02 01 07 03
00 05 00 30 0c 06 08 2b 06 01 02 01 07 04 00 05 00
这就是作为 UDP 用户数据报的数据部分的一个完整的 SNMP 报文。
2)GetResponse((udpInDatagrams.0=500000),(udpNoPorts.0=1000),(udpInErrors.0=100),(udpOut Datagrams.0=400000)) 编码:
30 59 SEQUENCE (0x30) 89 bytes
02 01 00 INTEGER VERSION (0x2) 1 byte : 0
04 06 70 75 62 6c 69 63 OCTET STRING COMMUNITY (0x4) 6 bytes : ?public? a2 4C GET-RESPONSE-PDU (0xa2) 76 bytes
02 01 32 INTEGER REQUEST-ID (0x2) 1 bytes : 50 02 01 00 INTEGER ERROR-STATUS (0x2) 1 byte : noError 02 01 00 INTEGER ERROR-INDEX (0x2) 1 byte : 0 30 41 SEQUENCE OF (0x30) 65 bytes
30 0f SEQUENCE (0x30) 15 bytes
06 08 2b 06 01 02 01 07 01 00 OBJECT ID (0x6) 8 bytes : 1.3.6.1.2.1.7.1.0 02 03 07 A1 20 INTEGER (0x2) 3 byte : 500000 30 0e SEQUENCE (0x30) 14 bytes
06 08 2b 06 01 02 01 07 02 00 OBJECT ID (0x6) 8 bytes : 1.3.6.1.2.1.7.2.0 02 02 03 E8 INTEGER (0x2) 2 byte : 1000
30 0d SEQUENCE (0x30) 13 bytes
06 08 2b 06 01 02 01 07 03 00 OBJECT ID (0x6) 8 bytes : 1.3.6.1.2.1.7.3.0 02 01 64 INTEGER (0x2) 1 byte : 100
30 0f SEQUENCE (0x30) 15 bytes 06 08 2b 06 01 02 01 07 04 00 OBJECT ID (0x6) 8 bytes : 1.3.6.1.2.1.7.4.0
02 03 06 1A 80 INTEGER (0x2) 3 byte : 400000
第五章 SNMP模型的发展 思考题
5-1 SNMP v2 对 SNMP v1有哪些主要改进?
答:1)支持分布式管理;2)改进了管理信息结构;3)增强了管理信息通信协 议的能力。
5-2 请简述 SNMP v2 的网络管理框架。 答: 管理应用 MIB
SNMPv2 管理者 MIB SNMPv2
管理者/代理者 MIB SNMPv2
管理者/代理者 MIB
SNMPv2 代理者 MIB
SNMPv2 代理者 MIB
SNMPv2 代理者 管理服务器 中间管理者
代理者
5-3 与 SMI v1 相比 SMI v2 的 OBJECT-TYPE MACRO有何改进和扩充? 答:增加了 UnitsPart 字句(可选部分,文本描述)。扩充了数据类型。将ACCESS 子句改进为 MAX-ACCESS。
5-4 请分别描述 GetNextRequest 和GetBulkRequest 两个 PDU的功能。
答:GetNextRequest:提取变量绑定字段列出的对象实例的“下一个”对象实例 的对象值,可仅返回部分的值。
GetBulkRequest:允许 SNMPv2管理者请求得到在给定的条件下尽可能大的应答。 GetBulkRequest 操作利用与GetNextRequest相同的选择原则,即总是顺序选择下 一个对象。不同的是,利用 GetBulkRequest,可以选择多个后继对象。 5-5 请描述 SNMP v3 提出的基于引擎和应用概念的 SNMP 体系结构。
答:SNMP 实体是体系结构的一个实现。如图所示,每个 SNMP 实体都包含一 个 SNMP 引擎、一个或多个应用。 Dispatcher Message Processing Subsystem Security Subsystem Access Control Subsystem
SNMP engine (identified by snmpEngineID) Command Generator Notification Receiver Proxy
Forwarder Command Responder Notification
Originator Other
Application(s) SNMP entity
SNMP引擎为发送和接收消息、认证和加密消息、控制对被管对象的访问提供服务。 SNMP引擎与包含它的SNMP实体之间存在一对一的联系。引擎包括中包括 ? 分发器(Dispatcher), ? 消息处理子系统(Message Processing Subsystem), ? 安全子系统(Security Subsystem),
? 访问控制子系统(Access Control Subsystem)。
在一个管理域中,每个引擎都有一个唯一的和明确的标识符snmpEngingID。由于 引擎和实体之间一一对应,因此snmpEngingID也能在管理域中唯一地、明确地标 识实体。但是,在不同的管理域中,SNMP的实体可能会有相同的snmpEngineID。 一个引擎中只有一个分发器,但能够同时支持多个版本的SNMP消息。它的功能包 括:
? 向网络发送或从网络接收SNMP消息, ? 确定SNMP消息的版本,与相应的消息处理模型相互作用, ? 为SNMP应用提供抽象接口,用以向应用传递PDU, ? 为SNMP应用提供抽象接口,用以允许它们向远程SNMP实体发送PDU。 SNMP应用分为以下几种类型:
? 监测和操纵管理数据的命令产生者; ? 对管理数据提供访问的命令接收者; ? 发出异步消息的通报产生者; ? 处理异步消息的通报接收者;
? 在实体之间转发消息的代管转发者。
SNMP应用与SNMP引擎之间形成应用与服务的关系,即SNMP应用是SNMP引擎的应 用,SNMP引擎向SNMP应用提供服务。
5-6 什么是Context?相同的被管对象(实例)能否处于一个 Context之中? 答:Context 指的是管理环境。
不同的环境中可存在相同的被管对象,但相同的被管对象(实例)不能处于一个 Context 之中。
5-7 请描述 SNMP v3 中的分发器,消息处理子系统,安全子系统,访问控制子 系统的功能。
答:分发器的功能包括: ? 向网络发送或从网络接收SNMP消息,
? 确定SNMP消息的版本,与相应的消息处理模型相互作用,
? 为SNMP应用提供抽象接口,用以向应用传递PDU, ? 为SNMP应用提供抽象接口,用以允许它们向远程SNMP实体发送PDU。 消息处理子系统:负责准备要发送的消息和从收到的消息中抽取数据。 安全子系统:提供诸如消息的认证和隐私的安全服务。
访问控制子系统:通过一个或多个访问控制模型提供认证服务。
5-8 SNMP v3将应用分成哪几种类型?与传统的Manager和Agent有什么关系? 答:SNMP v3应用分为以下几种类型: