学习笔记——网络管理与运维——SNMP(SNMP架构)

三、SNMP架构

1、SNMP结构概述

SNMP被设计为工作在TCP/IP协议族上,基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。所有支持SNMP协议的设备都提供SNMP这个统一界面,使得管理员可以使用统一的操作进行管理,而不必理会设备是什么类型、是哪个厂家生产的。(如下左图)

                 

2、SNMP支持的网管操作

  对于网络管理,我们面对的数据是设备的配置、参数、状态等信息,面对的操作是读取和设置;同时,因为网络设备众多,为了能及时得到设备的重要状态,还要求设备能主动地汇报重要状态,这就是报警功能。(如上右图)

SNMP协议之所以易于使用,这是因为它对外提供了三种用于控制MIB对象的基本操作命令。它们是:Get、Set和Trap。

Get:读取网络设备的状态信息。管理站读取代理者处对象的值。它是SNMP协议中使用率最高的一个命令,因为该命令是从网络设备中获得管理信息的基本方式。

Set:远程配置设备参数。管理站设置代理者处对象的值。它是一个特权命令,可以通过它来改动设备的配置或控制设备的运转状态。它可以设置设备的名称,关掉一个端口或清除一个地址解析表中的项等。

Trap:管理站及时获取设备的重要信息。代理者主动向管理站通报重要事件。它的功能就是在网络管理系统没有明确要求的前提下,由管理代理通知网络管理系统有一些特别的情况或问题发生了。如果发生意外情况,客户会向服务器的162端口发送一个消息,告知服务器指定的变量值发生了变化。通常由服务器请求而获得的数据由服务器的161端口接收。

Trap消息可以用来通知管理站线路的故障、连接的终端和恢复、认证失败等消息。管理站可相应的作出处理。

SNMP操作

SNMP Manger和SNMP Agent间的交互主要有三种类型:

1)SNMP Get:主要是检索设备的信息,Get一种有三种类型:

GET - 从SNMP agent获取固定的对象。

GETNEXT - 检索当前对象的后一个对象,由于MIB本身层级的树形结构,存在后继。

GETBULK - 获取一组固定的对象。

2)SNMP SET:主要是修改MIB中的对象,进而修改设备的配置。

3)SBMP Notifications:是SNMP的主要特性,之前的GET和SET是属于拉的操作,而SNMP正好相反,类似于推的操作,可以由agent发起,将一些信息push到SNMP Manager上。类似于Web Socket. 主要用于通知如认证失败,重启,断开连接等事件

Notifications主要有两种形式:Traps和Informs. 两者间的不同主要在于可靠性,agent在产生Informs给Manager后,如果发送失败,会重新发送。Manager收到后,需要回复确认给agent。

                  

而Traps不同,无论消息发送是否成功,Manager都不需要回复。

3、SNMP管理模型

NMS作为整个网络的网管中心,对设备进行管理。每个被管理设备中都包含驻留在设备上的Agent进程、MIB和多个被管对象。NMS通过与运行在被管理设备上的Agent交互,由Agent通过对设备端的MIB的操作,完成NMS的指令。

SNMP系统包括:网络管理系统NMS(Network Management Station)、代理进程Agent、被管对象Management object和管理信息库MIB(Management Information Base)四部分组成。如下所示:

     

查询/修改操作:

· NMS作为管理者,向代理进程发送SNMP请求报文。

· 代理进程通过设备端的MIB找到所要查询或修改的信息,向NMS发送SNMP响应报文。

告警操作:

设备端的模块由于达到模块定义的告警触发条件,通过代理进程向NMS发送消息,告知设备侧出现的情况,这样便于网络管理人员及时对网络中出现的情况进行处理。

1)NMS 网络管理进程

NMS在网络中扮演管理者角色,是一个采用SNMP协议对网络设备进行管理/监视的系统,运行在NMS服务器上。NMS可以向设备上的Agent发出请求,查询或修改一个或多个具体的参数值。NMS可以接收设备上的Agent主动发送的Trap信息,以获知被管理设备当前的状态

2)Agent 代理进程

Agent是被管理设备中的一个代理进程,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。

Agent接收到NMS的请求信息后,通过MIB表完成相应指令后,并把操作结果响应给NMS。当设备发生故障或者其它事件时,设备会通过Agent主动发送信息给NMS,向NMS报告设备当前的状态变化。

3)Managed object 被管理对象

每一个设备可能包含多个被管理对象,被管理对象可以是设备中的某个硬件(如一块接口板),也可以是在硬件、软件(如路由选择协议)上配置的参数集合。

4)MIB数据库

MIB是一个数据库,指明了被管理设备所维护的变量(即能够被Agent查询和设置的信息)。MIB在数据库中定义了被管理设备的一系列属性:对象的名称、对象的状态、对象的访问权限和对象的数据类型等。

通过MIB,可以完成以下功能:Agent通过查询MIB,可以获知设备当前的状态信息。Agent通过修改MIB,可以设置设备的状态参数。

4、SNMP的实现结构

在具体实现上,SNMP为管理员提供了一个网管平台(NMS,管理站)负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP代理(Agent)),代理实现设备与管理站的SNMP通信。如下图,

管理站与代理端通过MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现了相应的MIB对象,使得双方可以识别对方的数据,实现通信。管理站向代理申请MIB中定义的数据,代理识别后,将管理设备提供的相关状态或参数等数据转换为MIB定义的格式,应答给管理站,完成一次管理操作。

已有的设备,只要新加一个SNMP模块就可以实现网络支持。旧的带扩展槽的设备,只要插入SNMP模块插卡即可支持网络管理。网络上的许多设备,路由器、交换机等,都可以通过添加一个SNMP网管模块而增加网管功能。服务器可以通过运行一个网管进程实现。其他服务级的产品也可以通过网管模块实现网络管理,如Oracle、WebLogic都有SNMP进程,运行后就可以通过管理站对这些系统级服务进行管理。

5、SNMP定义角色

根据管理者和被管理的设备在网络管理操作中的不同职责,SNMP定义了3种角色。(如下左图)

               

1)网络管理系统(管理站、NMS)是系统的控制台,向管理员提供界面以获取与改变设备的配置、信息、状态、操作等信息。管理站与Agent进行通信,执行相应的Set和Get操作,并接收代理发过来的警报(Trap)。

2)代理:Agent是网络管理的代理人,负责管理站和设备SNMP操作的传递。介于管理站和设备之间,与管理站通信并相应管理站的请求,从设备获取相应的数据,或对设备进行相应的设置,来响应管理站的请求。代理也需要具有根据设备的相应状态使用MIB中定义的Trap向管理站发送报告的能力。

3)代理服务器:Proxy是一种特殊的代理,在不能直接使用SNMP协议的地方,如:异种网络、不同版本的SNMP代理等情况,Proxy代替相关设备向管理站提供一种外观,为设备代理SNMP协议的实现。Proxy做了异种网络或不同版本代理和相应SNMP数据请求的转换工作。(如上右图)

在基于SNMP进行管理的网络中,NMS是整个网络的网管中心,在它之上运行管理进程。每个被管理设备需要运行代理(Agent)进程。管理进程和代理进程利用SNMP报文进行通信。

· NMS是一个采用SNMP协议对网络设备进行管理/监控的系统,运行在NMS服务器上。

· 被管理设备是网络中接受NMS管理的设备。

· 代理进程运行于被管理设备上,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。

NMS通常是一个独立的设备,运行网络管理应用程序。网络管理应用程序至少能够提供一个人机交互界面,网络管理员通过人机交互界面完成绝大多数网络管理工作。比较常见的人机交互方式为通过Web页面进行交互,即网络管理员通过带显示器的终端,通过HTTP/HTTPS访问NMS提供的Web页面。


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人网站制作 Part 25 添加实时聊天功能 | Web开发项目添加页面缓存

文章目录 👩‍💻 基础Web开发练手项目系列:个人网站制作🚀 添加实时聊天功能🔨使用聊天服务🔧步骤 1: 选择聊天服务🔧步骤 2: 安装Socket.io🔧步骤 3: 创建Socket.io服务器 &#x1…

GStreamer 源码编译,在 Clion 下搭建调试环境

前言 最近在学习 GStreamer,官方提供了一些教程,本人希望能够断点调试,以便学习代码逻辑。本文记录如何在 Clion 搭建 GStreamer 源码编译、调试环境 步骤 下载源码 git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.gitCl…

【漏洞复现】英飞达医学影像存档与通信系统 Upload.asmx 任意文件上传漏洞

0x01 产品简介 英飞达 医学影像存档与通信系统 Picture Archiving and Communication System,它是应用在医院影像科室的系统,主要的任务就是把日常产生的各种医学影像(包括核磁,CT,超声,各种X光机,各种红外…

适配不同数据库厂商方案

背景 在对国产化数据有要求的时候,我们会做对 达梦、海量等数据库的配置。 有些SQL 以前没有写成标准SQL; 那么适配的时候怎么办呢?改成标准SQL。 如果不好改呢?比如SQL比较复杂等,需要判断 当前是哪个厂商的数据库…

2024全球边缘计算大会参会企业名单(首批)

6月22日,第九届全球边缘计算大会将在深圳南山区科兴科学园举办,本次大会由边缘计算社区主办,并得到了EMQ、研华科技、网宿科技等单位的大力支持!大会邀请了20重磅嘉宾,聚焦边缘计算前沿技术方向和热点趋势。 以下为首批…

HO-VMD-TCN:西储大学轴承故障诊断全流程详解

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 原理详解 1.数据预处理 2.特征提取 3.故障…

DomoAI让你轻松变身视频达人!支持20s完整视频生成!

账号注册 官网:https://www.domoai.app/zh-Hant/library 功能 支持不同风格的视频类型,支持图片转视频,支持文字转图片,支持静态图片变为动态。 可以切换语言为中文 风格转换 选择不同风格的 支持生成20s,目前接触…

数据预处理 #数据挖掘 #python

数据分析中的预处理步骤是数据分析流程中的重要环节,它的目的是清洗、转换和整理原始数据,以便后续的分析能够准确、有效。预处理通常包括以下几个关键步骤: 数据收集:确定数据来源,可能是数据库、文件、API或网络抓取…

Zabbix Centos8 安装笔记

Zabbix 安装笔记 安装环境 Centos 8 正常发行版 安装版本 Zabbix 7 (LTS) 安装步骤 1、关闭防火墙 systemctl stop firewalld && systemctl disable firewalld && setenforce 0 && sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/c…

【C#】开发过程中记录问题

1.DateTimePicker控件获取时间 拖动控件,设置属性format为custom格式。例如我想获得20240101这种类型的string类型的数据: string DateTime DateTimePicker.Value.ToString("yyyyMMdd");2.ComboBox下拉列表控件 默认为DropDown,…

【Apache Doris】周FAQ集锦:第 6 期

【Apache Doris】周FAQ集锦:第 6 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和…

聚焦新版综合编程能力面试考查汇总

目录 一、业务性编程和广度能力考查 (一)基本定义 (二)必要性分析 二、高频考查样题(编程扩展问法) 考题1: 用java 代码实现一个死锁用例,说说怎么解决死锁问题?(高…

大模型应用:LangChain-Golang核心模块使用

1.简介 LangChain是一个开源的框架,它提供了构建基于大模型的AI应用所需的模块和工具。它可以帮助开发者轻松地与大型语言模型(LLM)集成,实现文本生成、问答、翻译、对话等任务。LangChain的出现大大降低了AI应用开发的门槛,使得任何人都可以…

2_2、MFC对话框应用

对话框应用 模态与非模态对话框模态对话框弹出模态对话框创建模态对话框 非模态对话框 属性页对话框向导对话框一般属性页对话框 消息对话框函数原型函数返回值调用 文件对话框字体对话框获取字体对话框中所选字体选取字体样式并显示在编辑框中 颜色对话框获取取颜色对话框中所…

word空白页删除不了怎么办?

上方菜单栏点击“视图”,下方点击“大纲视图”。找到文档分页符的位置。将光标放在要删除的分节符前,按下键盘上的“Delet”键删除分页符。

L52--- 144. 二叉树的后序遍历(深搜)---Java版

1.题目描述 2.思路 (1)二叉树后序遍历:左右根 (2)根节点的压入: 根节点首先被压入stack中,然后被弹出并压入output中。 遍历过程: stack用于存储需要遍历的节点。 output用于反转遍历顺序。 入栈顺序: 左子节点先入栈,右子节点后入栈。这…

基于C#开发web网页管理系统模板流程-总集篇

第一篇 基于C#开发web网页管理系统模板流程-登录界面和主界面_c#的网页编程-CSDN博客 第二篇 基于C#开发web网页管理系统模板流程-主界面管理员录入和编辑功能完善_c#网页设计-CSDN博客 第三篇 基于C#开发web网页管理系统模板流程-主界面管理员入库和出库功能完善_c#web程序设计…

目标检测数据集 - PCB板表面缺陷检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍:PCB 板表面缺陷检测数据集,真实采集高质量 PCB 板表面含缺陷图片数据,数据集含多款不同 PCB 板高清表面图片数据,包括俯拍正拍、旋转拍摄姿态。数据标注标签包括 missing_hole、mouse_bite、open_circuit、short、spur…

【Python推导式秘籍】:一行代码的艺术,高效数据处理之道

文章目录 🚋Python推导式🚀一、列表推导式🌈1. 了解推导式❤️2. 实践💥3. 总结 🚀二、字典推导式🌈1. 了解字典推导式❤️2. 实践💥3. 总结 🚀三、集合推导式🌈1. 了解集…

AI实践与学习5-AI解题场景RAG应用预研demo

背景 AI解题场景现状,教研测评文档:xxx 解题正确率仍需进一步提高,提示词优化方案基本无力o目前配置的易错题CoT示例支持的长度有限,后续题量大的时候配置具有局限性。某些英语翻译题型BAD CASE反映大模型的输出格式不太符合要求…