2. 文档概述
2. 文档概述
SNMP 第 3 版文档被组织为若干文档. 本节概述这些文档及其关系.
2.1. 文档路线图
SNMP 第 3 版文档包括以下文档:
-
架构: 本文档 (RFC 3411) 描述 SNMP 管理框架的总体架构.
-
消息处理和分派: RFC 3412 描述 Message Processing Subsystem 和 Dispatcher.
-
基于用户的安全模型: RFC 3414 描述 SNMPv3 的 User-based Security Model (USM).
-
基于视图的访问控制模型: RFC 3415 描述 SNMPv3 的 View-based Access Control Model (VACM).
-
协议操作: RFC 3416 描述 SNMPv2 的协议操作.
-
传输映射: RFC 3417 描述 SNMP over UDP 以及其他传输上的传输映射.
-
管理信息库: RFC 3418 描述 SNMPv2 的 Management Information Base (MIB).
-
共存和过渡: RFC 3584 描述 SNMPv1, SNMPv2c 和 SNMPv3 之间的共存.
2.2. 适用性声明
SNMPv3 框架旨在适用于广泛的网络管理场景. 它尤其适合:
- 管理包含数千台设备的大型网络
- 管理关注安全性的网络
- 管理需要远程配置的网络
- 管理需要多个管理系统共存的网络
该框架被设计为可扩展, 允许随着需求演进添加新功能.
2.3. 共存和过渡
SNMPv3 框架旨在允许与 SNMPv1 和 SNMPv2c 共存. 这使网络能够从旧版本 SNMP 逐步过渡到 SNMPv3.
共存策略包括:
-
代理机制: SNMPv3 实体可以充当代理, 在不同版本的 SNMP 之间进行转换.
-
双栈实现: SNMP 实体可以同时支持多个版本的 SNMP.
-
转换机制: 消息可以从一个 SNMP 版本转换为另一个版本.
共存和过渡策略的细节在 RFC 3584 中描述.
2.4. 传输映射
SNMP 消息可以通过多种网络协议传输. 最常见的传输是 UDP (User Datagram Protocol). 其他传输包括 TCP, IPX 和 AppleTalk.
RFC 3417 定义了 SNMP 的标准传输映射. 它描述 SNMP 消息如何被格式化以便通过不同传输发送, 以及地址如何表示.
2.5. 消息处理
Message Processing Subsystem 负责准备待发送消息, 并从接收到的消息中提取数据. 无论使用何种消息格式, 它都向 Dispatcher 提供一致的接口.
RFC 3412 详细描述 Message Processing Subsystem. 它定义 Message Processing Models 必须实现的抽象服务接口.
2.6. 安全
安全是 SNMPv3 框架的关键组成部分. Security Subsystem 为 SNMP 消息提供认证, 隐私保护和时效性检查.
User-based Security Model (USM) 是为 SNMPv3 定义的主要安全模型. 它提供:
- 认证: 使用 HMAC-MD5-96 或 HMAC-SHA-96 认证协议
- 隐私保护: 使用 CBC-DES 或 CBC-AES 加密协议
- 时效性: 使用基于时间的消息验证来防止重放攻击
RFC 3414 详细描述 User-based Security Model.
该架构允许未来定义其他安全模型.
2.7. 访问控制
Access Control Subsystem 根据用户身份和正在访问的被管理对象, 判定是否允许某个特定 SNMP 操作.
View-based Access Control Model (VACM) 是为 SNMPv3 定义的主要访问控制模型. 它提供:
- 基于组的访问控制: 用户被分配到组, 访问权限被分配给组
- 基于上下文的访问控制: 访问权限可以根据 SNMP 上下文而变化
- 基于视图的访问控制: 访问权限以 MIB 视图来定义, MIB 视图指定哪些对象可以被访问
RFC 3415 详细描述 View-based Access Control Model.
该架构允许未来定义其他访问控制模型.
2.8. 协议操作
SNMP 定义了几类协议操作:
- Get: 取回一个或多个被管理对象的值
- GetNext: 取回按字典序排列的下一个被管理对象的值
- GetBulk: 高效取回多个被管理对象的值
- Set: 修改一个或多个被管理对象的值
- Trap: 从代理发送到管理器的异步通知
- InformRequest: 需要确认的异步通知
RFC 3416 详细描述这些协议操作. 它定义每种操作类型的 PDU 格式和处理规则.
2.9. 应用程序
SNMP 应用程序使用 SNMP 引擎的服务来执行管理功能. 该架构定义了几类应用程序:
- Command Generator: 发起 Get, GetNext, GetBulk 和 Set 操作
- Command Responder: 响应 Get, GetNext, GetBulk 和 Set 操作
- Notification Originator: 发起 Trap 和 InformRequest 操作
- Notification Receiver: 接收 Trap 和 InformRequest 操作
- Proxy Forwarder: 在 SNMP 实体之间转发消息
应用程序可以组合在单个 SNMP 实体中. 例如, 典型的 SNMP 代理同时包含 Command Responder 和 Notification Originator.
2.10. 管理信息结构
Structure of Management Information (SMI) 定义被管理对象如何定义和组织. SMI 包括:
- 对象定义: 定义被管理对象的语法
- 命名: 被管理对象的层次化命名方案 (Object Identifiers)
- 数据类型: 可使用的基本数据类型和构造数据类型
SNMPv2 的 SMI 定义于 RFC 2578, RFC 2579 和 RFC 2580.
2.11. 文本约定
Textual Conventions 是一种基于现有数据类型定义新数据类型的机制. 它们提供一种方式, 用于为数据类型赋予语义含义并指定显示格式.
RFC 2579 定义了创建 Textual Conventions 的机制.
2.12. 一致性声明
Conformance Statements 定义实现 MIB 模块的需求. 它们指定哪些对象必须实现, 哪些对象是可选的, 以及任何实现约束.
RFC 2580 定义了创建 Conformance Statements 的机制.
2.13. 管理信息库模块
Management Information Base (MIB) 模块是一组相关的被管理对象定义. MIB 模块使用 SMI 语法定义.
MIB 模块可以从其他 MIB 模块导入定义, 从而支持模块化设计和复用.
2.13.1. SNMP 支撑 MIB (SNMP Instrumentation MIBs)
有几个 MIB 模块专门为管理 SNMP 实体而定义:
- SNMP-FRAMEWORK-MIB (RFC 3411): 定义 SNMP 引擎的对象
- SNMP-MPD-MIB (RFC 3412): 定义消息处理的对象
- SNMP-USER-BASED-SM-MIB (RFC 3414): 定义 User-based Security Model 的对象
- SNMP-VIEW-BASED-ACM-MIB (RFC 3415): 定义 View-based Access Control Model 的对象
- SNMP-COMMUNITY-MIB (RFC 3584): 定义基于社区的安全的对象
- SNMP-TARGET-MIB (RFC 3413): 定义配置通知目标的对象
- SNMP-NOTIFICATION-MIB (RFC 3413): 定义过滤通知的对象
- SNMP-PROXY-MIB (RFC 3413): 定义配置代理行为的对象
2.14. SNMP 框架文档
以下文档定义 SNMPv3 框架:
- RFC 3410: Internet 标准管理框架简介和适用性声明
- RFC 3411: 用于描述 SNMP 管理框架的架构 (本文档)
- RFC 3412: Simple Network Management Protocol (SNMP) 的消息处理和分派
- RFC 3413: Simple Network Management Protocol (SNMP) 应用程序
- RFC 3414: Simple Network Management Protocol version 3 (SNMPv3) 的 User-based Security Model (USM)
- RFC 3415: Simple Network Management Protocol (SNMP) 的 View-based Access Control Model (VACM)
- RFC 3416: Simple Network Management Protocol (SNMP) 的第 2 版协议操作
- RFC 3417: Simple Network Management Protocol (SNMP) 的传输映射
- RFC 3418: Simple Network Management Protocol (SNMP) 的 Management Information Base (MIB)
这些文档共同定义完整的 SNMPv3 框架.