跳到主要内容

2. 文档概述

2. 文档概述​

SNMP 第 3 版文档被组织为若干文档. 本节概述这些文档及其关系.

2.1. 文档路线图​

SNMP 第 3 版文档包括以下文档:

  1. 架构: 本文档 (RFC 3411) 描述 SNMP 管理框架的总体架构.

  2. 消息处理和分派: RFC 3412 描述 Message Processing Subsystem 和 Dispatcher.

  3. 基于用户的安全模型: RFC 3414 描述 SNMPv3 的 User-based Security Model (USM).

  4. 基于视图的访问控制模型: RFC 3415 描述 SNMPv3 的 View-based Access Control Model (VACM).

  5. 协议操作: RFC 3416 描述 SNMPv2 的协议操作.

  6. 传输映射: RFC 3417 描述 SNMP over UDP 以及其他传输上的传输映射.

  7. 管理信息库: RFC 3418 描述 SNMPv2 的 Management Information Base (MIB).

  8. 共存和过渡: RFC 3584 描述 SNMPv1, SNMPv2c 和 SNMPv3 之间的共存.

2.2. 适用性声明​

SNMPv3 框架旨在适用于广泛的网络管理场景. 它尤其适合:

  • 管理包含数千台设备的大型网络
  • 管理关注安全性的网络
  • 管理需要远程配置的网络
  • 管理需要多个管理系统共存的网络

该框架被设计为可扩展, 允许随着需求演进添加新功能.

2.3. 共存和过渡​

SNMPv3 框架旨在允许与 SNMPv1 和 SNMPv2c 共存. 这使网络能够从旧版本 SNMP 逐步过渡到 SNMPv3.

共存策略包括:

  1. 代理机制: SNMPv3 实体可以充当代理, 在不同版本的 SNMP 之间进行转换.

  2. 双栈实现: SNMP 实体可以同时支持多个版本的 SNMP.

  3. 转换机制: 消息可以从一个 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 定义了几类协议操作:

  1. Get: 取回一个或多个被管理对象的值
  2. GetNext: 取回按字典序排列的下一个被管理对象的值
  3. GetBulk: 高效取回多个被管理对象的值
  4. Set: 修改一个或多个被管理对象的值
  5. Trap: 从代理发送到管理器的异步通知
  6. InformRequest: 需要确认的异步通知

RFC 3416 详细描述这些协议操作. 它定义每种操作类型的 PDU 格式和处理规则.

2.9. 应用程序​

SNMP 应用程序使用 SNMP 引擎的服务来执行管理功能. 该架构定义了几类应用程序:

  1. Command Generator: 发起 Get, GetNext, GetBulk 和 Set 操作
  2. Command Responder: 响应 Get, GetNext, GetBulk 和 Set 操作
  3. Notification Originator: 发起 Trap 和 InformRequest 操作
  4. Notification Receiver: 接收 Trap 和 InformRequest 操作
  5. Proxy Forwarder: 在 SNMP 实体之间转发消息

应用程序可以组合在单个 SNMP 实体中. 例如, 典型的 SNMP 代理同时包含 Command Responder 和 Notification Originator.

2.10. 管理信息结构​

Structure of Management Information (SMI) 定义被管理对象如何定义和组织. SMI 包括:

  1. 对象定义: 定义被管理对象的语法
  2. 命名: 被管理对象的层次化命名方案 (Object Identifiers)
  3. 数据类型: 可使用的基本数据类型和构造数据类型

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 实体而定义:

  1. SNMP-FRAMEWORK-MIB (RFC 3411): 定义 SNMP 引擎的对象
  2. SNMP-MPD-MIB (RFC 3412): 定义消息处理的对象
  3. SNMP-USER-BASED-SM-MIB (RFC 3414): 定义 User-based Security Model 的对象
  4. SNMP-VIEW-BASED-ACM-MIB (RFC 3415): 定义 View-based Access Control Model 的对象
  5. SNMP-COMMUNITY-MIB (RFC 3584): 定义基于社区的安全的对象
  6. SNMP-TARGET-MIB (RFC 3413): 定义配置通知目标的对象
  7. SNMP-NOTIFICATION-MIB (RFC 3413): 定义过滤通知的对象
  8. 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 框架.