SNMPv3原理-SNMPv3协议框架

2023-05-16

1、 SNMPv3的体系结构

SNMPv3定义了新的体系结构,并在其中包含了对SNMPv1和SNMPv2c的兼容,即这个新的体系结构也适用于SNMPv1及SNMPv2c,弥补了SNMP没有完整体系结构的缺点。

在SNMPv3中,管理进程与代理统称为SNMP实体(entity)。SNMP实体由SNMP协议引擎(engine)和应用程序(application)组成。SNMP实体包含一系列模块,模块之间相互作用来提供服务。

1、SNMP协议引擎

SNMP协议引擎负责执行SNMP协议操作,为各类SNMP应用程序提供服务。每个SNMP协议引擎由一个SNMP协议引擎ID来标识。在整体上执行两种功能:

1)从SNMP应用中接收流出的PDU执行必要的处理,包括插入鉴别代码和加密,然后把PDU封装到用于传输的消息中去。

2)从传输层接收流进的PDU,执行必要的处理,包括鉴别和解密,然后从消息取出PDU,并把PDU传送到适当的SNMP应用中去。

2、SNMP协议引擎包括如下模块

(1)调度器

调度器是同应用程序及消息处理模型进行交互,负责SNMP消息的分发、传输和接收。每个SNMPv3协议引擎含有一个调度器,它可以对多种版本的SNMP消息提供支持。其主要功能如下:

---- 接收和发送SNMP消息;

---- 根据消息的版本号,将其交给相应的消息处理模型处理;

---- 从消息中得到SNMP PDU,传给应用程序;

---- 从应用程序接收需发送的SNMP PDU。

(2)消息处理子系统

消息处理子系统由一个或多个消息处理模型组成,主要负责完成以下功能:

---- 准备要发送的消息;

---- 从接收到的消息中提取数据。

消息处理子系统包括SNMPv1、SNMPv2c、SNMPv3等消息处理模型,分别处理不同版本的消息。消息处理模型定义了特定版本的SNMP消息的格式,以及如何对该版本的SNMP消息进行解析、从中提取数据和如何构造该版本的SNMP消息。

(3)安全子系统

安全子系统提供SNMP消息的认证和加密服务。它可以包含多个安全模型,标准协议使用的安全模型为RFC3414定义的基于用户的安全模型(USM)。用户也可以定义自己的安全模型。

安全模型要指出它所防范的安全威胁、服务的目标和为提供安全服务所采用的安全协议。安全协议的内容包括一系列安全机制和为实现安全服务所定义的MIB对象等。

(4)访问控制子系统

访问控制子系统通过一个或多个访问控制模型提供确认对被管理对象的访问是否合法的服务。SNMPv3默认的访问控制模型为RFC3415所描述的基于视图的访问控制模型(VACM)。

访问控制模型还可以定义访问控制处理过程中使用的MIB模块,以实现对访问控制策略的远程配置。

3、应用程序

SNMP应用程序利用SNMP协议引擎提供的服务完成特定的网络管理任务。不同SNMP实体的应用程序相互间通过SNMP消息进行通信。应用程序主要包括以下几类:

(1)命令产生器:产生SNMP请求消息,并处理对这些请求的响应。

(2)命令响应器:提供对SNMP请求消息的应答。

(3)通知产生器:产生和发送异步的通知消息。

(4)通知接收器:接收并处理异步的通知消息。当通知消息需要确认时,通知接收器应用程序还需生成相应的应答消息。

(5)委托转发器:用于在网管实体之间转发网管消息。

2、SNMPv3协议操作

SNMPv3协议

SNMP目前有v1、v2c、v3三个版本

报头由下列部分组成:

---- msgVersion:表示消息的版本号,在SNMPv3中它的值是3

---- msgID:消息标识符,用来标识PDU。取值范围是0~2^31-1

---- msgMaxSize:表示消息发送器支持的最大消息尺寸,取值范围是484~2^31-1

---- msgFlags:包含若干标志的8位位组字符串,有3个特征位:reportableFlag、privFlag、authFlag。

如果reportable = 1,那么在能够导致Report PDU生成的情况下,消息接收方必须向发送方发送Report PDU;

当reportable = 0时,消息接收方则不必发送ReportPDU;

只有在消息的PDU部分不能被解码时(例如由于密钥错误而解密失败)才会用到。

后两个标志priFlag和authFlag被发送发用来指示消息的安全级别:

如果privFlag = 1,则应用了加密,

如果authFlag = 1, 则应用了鉴别。

除了privFlag = 1,authFlag = 0的情况外,其它任意组合都是可以接受的,也就是说没有鉴别的加密是无意义的。

---- msgSecurityModel:消息安全模型,用于标识发送方用于生成该消息的安全模型,发送方和接收方必须采用相同的安全模型。

---- msgSecurityParamters:安全参数,由发送方的安全子系统生成的安全参数,例如用户名、消息鉴别码(MAC)、加密参数等,用于保护消息传输的安全,并由接收方安全子系统来对消息进行解密和鉴别等安全处理。

---- contextEngineID:唯一识别SNMP实体的标识符。对于流入消息,该字段用于确定将PDU递交给哪个应用进行处理;对于流出消息,该值由上层应用提供,并代表那个应用程序。

---- contextName:携带的管理对象所在的上下文的名称。

---- PDU:带有对象绑定列表的PDU。

其中最后三个字段(contextEngineID、contextName 和 PDU)合起来称为scoped PDU。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SNMPv3原理-SNMPv3协议框架 的相关文章

  • 图像配准代码(包含matlab/opencv C++)

    1 论文链接 https ieeexplore ieee org abstract document 7769090 2 gitHub源代码链接 https github com wenzelian Image Registration
  • SLAM-ch3-实践Eigen

    1 eigenMatrix cpp include lt iostream gt include lt ctime gt include lt eigen3 Eigen Core gt include lt eigen3 Eigen Den
  • ubuntu中使用VsCode+Eigen创建Eiegn应用程序

    Visual studio code是微软发布的一个运行于 Mac OS X Windows和 Linux 之上的 xff0c 针对于编写现代 Web 和云应用的跨平台源代码编辑器 1 VsCode安装 VScode官网下载 deb文件 网
  • ubuntu+VsCode+Cmake+eigen 开发eigen应用

    以下内容参见官方文档 xff1a https code visualstudio com docs cpp cmake linux 1 安装Cmake工具 点击左侧的Extensions 搜索Cmake tools 这里已经安装 2 安装C
  • 树莓派 Ubuntu mate 18.04 下开启vncserver

    1 安装 vncserver sudo apt get y install vnc4server 2 启动 vncserver xff08 首次启动需要设置密码 xff09 vncserver Ubuntu mate里面是 mate des
  • 树莓派 Ubuntu mate 18.04 修改为清华源

    1 备份源 cp etc apt sources list etc apt sources list bck 2 root身份打开 etc apt sources list 将每个 http ports ubuntu com 都替换为 ht
  • 动手学深度深度学习-pycharm中配置mxnet开发环境

    1 文件准备 1 下载包含本书全部代码的压缩包 我们可以在浏览器的地址栏中输https zh d2l ai d2l zh 1 0 zip 下载后解压 2 由于近来 2019 05 05 国内conda源被迫关闭 xff0c 因此通过cond
  • dbm和db的关系与区别

    db是无量纲单位 xff0c 它表示两个信号之间的幅度差 dbm是有量纲单位 xff0c 它表示以1毫瓦为基准时的计量单位 1 dbm dbm是一个考征功率绝对值的值 xff0c 计算公式为 xff1a 10lg10 xff08 P 1mw
  • linux.和stm32驱动的区别

    linux下的驱动和stm32驱动的区别 xff1f stm32的驱动分为2部分 xff0c 初始化和发送接收数据 xff0c 这个理论概括了spi xff0c iic xff0c uart xff0c sdio xff0c usb 在li
  • SUMO入门(四) - 需求建模 车辆和路线的定义

    SUMO入门 四 需求建模 车辆和路线的定义 Demand Introduction to demand modelling in SUMO 在生成网络之后 xff0c 可以使用SUMO GUI来查看它 xff0c 但是没有汽车可以行驶 人
  • 图像处理特征可视化方法总结(特征图、卷积核、类可视化CAM)(附代码)

    一 前言 众所周知 xff0c 深度学习是一个 34 黑盒 34 系统 它通过 end to end 的方式来工作 xff0c 输入数据例如RGB图像 xff0c 输出目标例如类别标签 回归值等 xff0c 中间过程不可得知 如何才能打开
  • deian10 安装aptitude

    debian10系统不会默认安装aptitude xff0c 导致需要处理大量依赖关系的软件安装变得很麻烦 常规的apt源可以安装aptitude xff0c 但是需要手动处理大量的依赖包安装 可以通过如下apt源使用apt get来安装a
  • DJI OSDK开发笔记(N3飞控)(1)——开发工作流程

    DJI OSDK开发笔记 xff08 N3飞控 xff09 xff08 1 xff09 开发工作流程 API层次结构硬件设置一般设置数据串口 连接器引脚排列连接到记载计算机 软件环境设置所有平台下载SDK和所需工具更新固件启用OSDK AP
  • Windows Vista 交互式服务编程

    Windows Vista 对快速用户切换 xff0c 用户账户权限 xff0c 以及服务程序所运行的会话空间都作了很大的改动 xff0c 致使一些原本可以工作的程序不再能够正常工作了 xff0c 我们不得不进行一些改进以跟上 Vista
  • Windows2000 服务器端应用程序开发设计指南-信任成员的管理

    Microsoft的开发者已经完成Microsoft Windows 2000安全性特色的设计工作 xff0c 这些安全性特色比大多数人所习惯的环境更复杂且更有弹性 事实上 xff0c 若加上适当的管理和软件开发 xff0c Windows
  • NoDriveTypeAutoRun键值的作用

    常见的Autorun inf文件格式大致如下 xff1a AutoRun 表示AutoRun部分开始 xff0c 必须输入 icon 61 C ixigua ico 指定给C盘一个个性化的盘符图标C ico open 61 C ixigua
  • Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取 .

    为什么要写这篇文章 1 因为最近在学习 软件调试 这本书 xff0c 看到书中的某个调试历程中讲了Windows 的系统调用的实现机制 xff0c 其中讲到了从Ring3 跳转到Ring0 之后直接进入了KiFastCallEntry 这个
  • ubuntu rc.local不能正常运行

    查了下rc local有时不能正常运行的原因 xff1a Ubuntu默认将 bin sh链接到 bin dash xff0c 而 etc rc local脚本中用的正是 bin sh xff0c 导致出错 将默认的shell改成bash的
  • 关于建设symbol store的建议

    xfeff xfeff 一 symbol store的需求分析 xff1a 1 我们现在的调试环境严重依赖开发人员自己使用的开发环境 xff0c 缺点在于其他人要进行调试要么搭建一个同样的环境 xff0c 严重地占去大家不必要花费的工作时间
  • 进程防结束之PS_CROSS_THREAD_FLAGS_SYSTEM

    有人投到黑防去了 xff0c 不过黑防不厚道 xff0c 竟然没给完整的代码 xff0c 自己整理一份备用吧 xff0c 驱网 DebugMan 邪八的那群人直接飘过吧 这种方法的关键在于给线程的ETHREAD CrossThreadFla

随机推荐

  • CNN实现入侵检测(kdd99)

    文章目录 1 实验说明2 实验过程2 1 数据预处理2 1 1 导入数据2 1 2 one hot编码2 1 3 归一化2 1 4 标签编码 2 2 数据加载2 3 搭建模型2 4 模型训练 3 实验结果4 完整代码 1 实验说明 CNN模
  • All about VDIs

    This tutorial is an experiment to see if forum users find it useful to have a single collected reference for some common
  • PUTTY无法远程连接服务器故障解决

    对于一个刚刚了解putty工具的新手来说 xff0c 在putty工具使用中有时出现了问题而无法解决 今天就来介绍怎么解决putty无法远程连接服务器的故障 用putty远程连接服务器时 提示错误 server unexpectedlycl
  • 驱动中获取进程名的正确方法

    这是个古老的话题 xff0c 没有技术含量 xff0c 只不过看到网上很多驱动代码在获取进程名时总喜欢去读偏移 EPROCESS ImageFileName xff0c 感觉比较误导新人 这个方法其实很不科学 xff0c 硬编码偏移带来的兼
  • C语言写二进制数据到mysql的Blob字段

    引子 由于调试需要 xff0c 需直接往数据库里写入二进制数据 本来这些数据是由上层软件来写的 xff0c 用的是 C 为了熟悉 C 语言的数据库操作 xff0c 还是决定用 C 来写这段调试代码 概况 xff1a 表名 xff1a Tas
  • 编译器 链接 选项解释:link incrementally的作用

    What is ILT xff08 Incremental Link Table 这两天研究了一下DLL的import export原理 xff0c 看了一些资料 xff0c 无意中发现网上有一篇文章存在错误 xff0c 而这篇文章流传还甚
  • 关于涉密信息系统分级保护的几个问题

    2003年9月7日 xff0c 中共中央办公厅 国务院办公厅转发了 国家信息化领导小组关于加强国家信息安全保障工作的意见 xff0c 其中明确提出了开展信息安全等级保护的任务 xff0c 并指出涉及国家秘密的信息系统 xff08 以下简称涉
  • Launch your application in Vista under the local system account without the UAC popup

    This article describes how to launch an application from session 0 to session 1 under the local system account using a s
  • UTF8ToAnsi 和 AnsiToUTF8

    std string UTF8ToAnsi const std string amp strIn std string amp strOut WCHAR strSrc 61 NULL TCHAR szRes 61 NULL int i 61
  • TCP/IP 配置参数

    TCP IP 配置参数 Windows 2000 TCP IP 协议组件实现从注册表中获取全部配置数据 配置信息 是由安装程序写到注册表中的 一些信息也可以由动态主机配置协议 DHCP 客户 服务提供 xff08 如启用 xff09 本附录
  • ExpLookupHandleTableEntry

    wrk1 2中 ExpLookupHandleTableEntry的内部流程 1 取 Handle EXHANDLE类型 值为tHandle 并将TagBit 低两位 置0 2 取 HandleTable gt NextHandleNeed
  • C++完美转发

    1 std forawrd std forward lt T gt arg 可以实现完美转发 xff0c 即如果 arg 是一个右值引用 xff0c 则转发之后结果仍是右值引用 xff1b 反之 xff0c 如果 arg 是一个左值引用 x
  • win7 usb u盘打不开,设备管理器提示:该设备无法启动。 (代码 10)

    解决 xff1a 禁用改设备 gt 卸载 gt 重新插入u盘
  • linux netlink机制介绍与实例

    开发和维护内核是一件很繁杂的工作 xff0c 因此 xff0c 只有那些最重要或者与系统性能息息相关的代码才将其安排在内核中 其它程序 xff0c 比如GUI xff0c 管理以及控制部分的代码 xff0c 一般都会作为用户态程序 在 li
  • error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项的原因及解决方案

    值 0 不匹配值 2 xff0c Debug使用了Release下的库文件 值 2 不匹配值 0 xff0c Release使用了Debug下的库文件 对于上述两种情况 xff0c 只需要在预处理定义中设定其值使其符合要调用的程序即可 VS
  • SNMP协议详解<二>

    上一篇文章讲解了SNMP的基本架构 xff0c 本篇文章将重点分析SNMP报文 xff0c 并对不同版本 xff08 SNMPv1 v2c v3 xff09 进行区别 xff01 四 SNMP协议数据单元 在SNMP管理中 xff0c 管理
  • SNMP协议详解<三>

    在上篇文章中 xff0c 说到了SNMPv3主要在安全性方面进行了增强 xff0c 采用USM xff08 基于用户的安全模型 xff09 和VACM xff08 基于视图的访问控制模型 xff09 技术 下面我们就主要讲解SNMPv3的报
  • SNMPv3的加密和认证过程

    前面的一些文章详细讲解了SNMPv3的报文内容 xff0c 下面主要的内容就是SNMPv3的加密和认证过程 xff01 USM的定义为实现以下功能 xff1a 鉴别 数据加密 密钥管理 时钟同步化 避免延时和重播攻击 1 UsmSecuri
  • H3C SNMPv3 配置

    1 xff09 H3C SNMPv3 配置 html view plain copy print snmp agent mib view included MIB 2 mib 2 snmp agent mib view included M
  • SNMPv3原理-SNMPv3协议框架

    1 SNMPv3的体系结构 SNMPv3定义了新的体系结构 xff0c 并在其中包含了对SNMPv1和SNMPv2c的兼容 xff0c 即这个新的体系结构也适用于SNMPv1及SNMPv2c xff0c 弥补了SNMP没有完整体系结构的缺点