当前位置: 首页 > news >正文

SNMP 简单网络管理协议、网络管理

目录

1 网络管理

1.1 网络管理的五大功能

1.2 网络管理的一般模型

1.3 网络管理模型中的主要构件

1.4 被管对象 (Managed Object)

1.5 代理 (agent)

1.6 网络管理协议

1.6.1 简单网络管理协议 SNMP

1.6.2 SNMP 的指导思想

1.6.3 SNMP 的管理站和委托代理

1.6.4 SNMP 网络管理组成

管理信息结构 SMI

SMI 的功能

管理信息库 MIB

1.6.5 SNMP 的协议数据单元和报文

SNMP 的探询操作

SNMP 使用无连接的 UDP

SNMP 的报文格式


1 网络管理

·网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。

·网络管理常简称为网管

1.1 网络管理的五大功能

·故障管理:故障检测、隔离和纠正。

·配置管理:初始化网络、并配置网络。

·计费管理:记录网络资源的使用。

·性能管理:估价系统资源的运行状况及通信效率等。

·网络安全管理:对授权机制、访问控制、加密和加密关键字的管理。

1.2 网络管理的一般模型

1.3 网络管理模型中的主要构件

·管理站也常称为网络运行中心 NOC (Network Operations Center),是网络管理系统的核心。

·管理程序是管理站中的关键构件,在运行时就成为管理进程

·管理站(硬件)或管理程序(软件)都可称为管理者(manager)。Manager 不是指人,而是指机器或软件。

·网络管理员 (administrator) 指的是负责网络管理的人员。

·大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。

1.4 被管对象 (Managed Object)

·网络的每一个被管设备(包括设备中的软件)中可能有多个被管对象

·被管设备有时可称为网络元素网元

·在被管设备中也会有一些不能被管的对象。

1.5 代理 (agent)

·在每一个被管设备中都要运行一个程序,以便和管理站中的管理程序进行通信。

·这些运行着的程序叫做网络管理代理程序,或简称为代理

·代理程序在管理程序的命令和控制下在被管设备上采取本地的行动。

1.6 网络管理协议

·网络管理协议简称为网管协议

·网络管理协议是管理程序和代理程序之间进行通信的规则。

·网络管理员利用网络管理协议,通过管理站对网络中的被管设备进行管理。

注意:网管协议本身不管理网络。

1.6.1 简单网络管理协议 SNMP

·简单网络管理协议 SNMP (Simple Network Management Protocol) 中的管理程序和代理程序按客户服务器方式工作。

·管理程序运行 SNMP 客户程序,向某个代理程序发出请求 (或命令)。

·代理程序运行 SNMP 服务器程序,返回响应 (或执行某个动作)。

·在网管系统中,往往是一个(或少数几个)客户程序与很多的服务器程序进行交互。

网络管理的基本原理

若要管理某个对象,就必然会给该对象添加一些软件或硬件,但这种“添加”必须对原有对象的影响尽量小些

1.6.2 SNMP 的指导思想

·最重要的指导思想:尽可能简单

·基本功能:

        1.监视网络性能

        2.检测分析网络差错

        3.配置网络设备等。

·在网络正常工作时,SNMP 可实现统计、配置、和测试等功能。当网络出故障时,可实现各种差错检测和恢复功能。

·虽然 SNMP 是在 TCP/IP 基础上的网络管理协议,但也可扩展到其他类型的网络设备上。 

1.6.3 SNMP 的管理站和委托代理

·整个系统必须有一个管理站

·管理进程和代理进程利用 SNMP 报文进行通信,而 SNMP 报文又使用 UDP 来传送。

·若网络元素使用的不是 SNMP 而是另一种网络管理协议,SNMP 协议就无法控制该网络元素。这时可使用委托代理 (proxy agent)。委托代理能提供如协议转换和过滤操作等功能对被管对象进行管理。

1.6.4 SNMP 网络管理组成

·SNMP 的网络管理由三个部分组成:

        ·SNMP 本身

        ·管理信息结构 SMI (Structure of Management Information)

        ·管理信息库 MIB (Management Information Base)。

·SNMP 定义了管理站和代理之间所交换的分组格式

·所交换的分组包含各代理中的对象(变量)名及其状态()。

·SNMP 负责读取和改变这些数值。

管理信息结构 SMI

·SMI 定义了命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的规则,以确保网络管理数据的语法和语义的无二义性

·但从 SMI 的名称并不能看出它的功能。

·SMI 并不定义一个实体应管理的对象数目,也不定义被管对象名以及对象名及其值之间的关联。

SMI 的功能

        1.被管对象应怎样命名;

        2.用来存储被管对象的数据类型有哪些种;

        2.在网络上传送的管理数据应如何编码。

(1)SMI 规定:所有被管对象必须在命名树上

(2)SMI 使用 ASN.1

·SMI 标准指明:所有的 MIB 变量必须使用抽象语法记法 1 (ASN.1) 来定义。

·SMI 既是 ASN.1 的子集,又是 ASN.1 的超集。

·ASN.1 的记法很严格,使得数据的含义不存在任何可能的二义性

(3)SMI 数据类型

SMI 把数据类型分为两大类

        1.简单类型  2.结构化类型

(4)SMI 使用 ASN.1 制定的 BER 进行数据的编码

·ISO 在制订 ASN.1 语言的同时也为它定义了一种标准的编码方案,即基本编码规则 BER (Basic Encoding Rule)。

·BER 指明了每种数据类型中每个数据的值的表示。 

·发送端用 BER 编码,可将用 ASN.1 所表述的报文转换成唯一的比特序列。

·接收端用 BER 进行解码,得到该比特序列所表示的 ASN.1 报文。

ASN.1 部分数据类型

用 TLV 方法进行编码

·TLV 中的 T 字段定义数据的类型

数据类型

类别

格式

编号

字段(二进制)

字段(十六进制)

INTEGER

00

0

00010

00000010

02

OCTET STRING

00

0

00100

00000100

04

OBJECT IDENTIFIER

00

0

00110

00000110

06

NULL

00

0

00101

00000101

05

Sequence, sequence of

00

1

10000

00110000

30

IPAddress

01

0

00000

01000000

40

Counter

01

0

00001

01000001

41

Gauge

01

0

00010

01000010

42

TimeTicks 

01

0

00011

01000011

43

Opaque

01

0

00100

01000100 

44

·TLV 中的 L 字段定义 V 字段的长度

TLV 中的 V 字段定义数据的值

例如,INTEGER 15,其 T 字段是 02, INTEGER 类型要用 4 字节编码。最后得出 TLV 编码为 02 04 00 00 00 0F。

例如,IPAddress = 192.1.2.3,其 T 字段是 40,V 字段需要 4 字节表示,因此得出 TLV 编码是 40 04 C0 01 02 03。

·TLV 中的 V 字段可嵌套其他数据元素的 TLV 字段

管理信息库 MIB

·MIB 在被管理的实体中创建了命名对象,并规定了其类型。

·管理程序使用 MIB 中的信息,对网络进行管理。

·被管对象必须维持可供管理程序读写的若干控制和状态信息。这些信息总称为管理信息库 MIB (Management Information Base) 。

·管理程序使用 MIB 中这些信息的对网络进行管理(如读取或重新设置这些值)。

·只有在 MIB 中的对象才是 SNMP 所能够管理的

SMI 规定:所有被管对象必须在命名树上

节点 mib-2 所包含的信息类别举例

MIB 变量的例子

1.6.5 SNMP 的协议数据单元和报文

·SNMP 的操作只有两种基本的管理功能:

        “读”操作,用 get 报文来检测各被管对象的状况;

        “写”操作,用 set 报文来改变各被管对象的状况。

·SNMP 的这些功能通过探询操作来实现。

SNMP 的探询操作

·SNMP 管理进程定时向被管理设备周期性地发送探询信息。

·好处:

        1.可使系统相对简单。

        2.能限制通过网络所产生的管理信息的通信量。

·缺点:

        1.不够灵活,而且所能管理的设备数目不能太多。

        2.开销也较大。

陷阱 (trap)

·SNMP 允许不经过询问就能发送某些信息。这种信息称为陷阱,表示它能够捕捉“事件”。

·当被管对象的代理检测到有事件发生时,就检查其门限值。代理只向管理进程报告达到某些门限值的事件(即过滤)。

·过滤的好处: 仅在严重事件发生时才发送陷阱; 陷阱信息很简单且所需字节数很少。

SNMP 是有效的网络管理协议

·使用探询(至少是周期性地)以维持对网络资源的实时监视。

·同时也采用陷阱机制报告特殊事件,使得 SNMP 成为一种有效的网络管理协议。

SNMP 使用无连接的 UDP

·运行代理程序服务器端用 UDP 熟知端口 161 接收 get 或 set 报文,发送响应报文。与熟知端口通信的客户端使用临时端口

·运行管理程序客户端则使用 UDP 熟知端口 162 来接收来自各代理的 trap 报文。

SNMPv1 定义的协议数据单元 (PDU) 类型

SNMP 的报文格式

Get-request 报文 ASN.1 定义

Get-request 报文的 BER 编码

Get-request 报文的十六进制编码

欢迎一起学习~ 

相关文章:

SNMP 简单网络管理协议、网络管理

目录 1 网络管理 1.1 网络管理的五大功能 1.2 网络管理的一般模型 1.3 网络管理模型中的主要构件 1.4 被管对象 (Managed Object) 1.5 代理 (agent) 1.6 网络管理协议 1.6.1 简单网络管理协议 SNMP 1.6.2 SNMP 的指导思想 1.6.3 SNMP 的管理站和委托代理 1.6.4 SNMP…...

计算机设计大赛 深度学习YOLOv5车辆颜色识别检测 - python opencv

文章目录 1 前言2 实现效果3 CNN卷积神经网络4 Yolov56 数据集处理及模型训练5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLOv5车辆颜色识别检测 ** 该项目较为新颖,适合作为竞赛课题方向&#xff0…...

OpenCV-36 多边形逼近与凸包

目录 一、多边形的逼近 二、凸包 一、多边形的逼近 findContours后的轮廓信息countours可能过于复杂不平滑,可以用approxPolyDP函数对该多边形曲线做适当近似,这就是轮廓的多边形逼近。 apporxPolyDP就是以多边形去逼近轮廓,采用的是Doug…...

transformer中的QKV是如何得到的?

多头自注意力机制:...

console.log导致内存泄露 打包时自动去掉console.log方法

webpack通过工具:terser 使用前需要先安装一下 vue.config.js const { defineConfig } require(vue/cli-servise); module.exports defineConfig({transpileDependencies:true,terser:{terserOptions:{compress:{drop_console:true,drop_debugger:true,},},},}…...

《合成孔径雷达成像算法与实现》FIgure6.20

% rho_r c/(2*Fr)而不是rho_r c/(2*Bw) % Hsrcf exp函数里忘记乘pi了 clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; …...

Spring Boot 笔记 015 创建接口_更新文章分类

1.1.1 实体类id增加NotNull注释,并做分组校验 1.1.1.1 定义分组 1.1.1.2 实体类中指定校验项属于哪个分组 如果说某个校验项没有指定分组,默认属于Default分组 分组之间可以继承, A extends B 那么A中拥有B中所有的校验项package com.geji.pojo;import com.faste…...

【Java基础题型】判断是否是回文数

需求:如果给你一个正数x。 如果x是一个回文整数,打印true,否则,返回false 解释: 回文数是指正序(从左到右)和从倒序(从右到左)都是一样的整数数字。 eg.121是回文数,123不是,2112是回文数&…...

Linux paste命令教程:并行合并文件的利器(附案例详解和注意事项)

Linux paste命令介绍 paste 是一个在 Unix 或 Linux 操作系统中非常有用的命令。它用于通过在标准输出中输出由每个指定文件的行组成的行,以制表符为分隔符,来水平(并行)合并文件。 Linux paste命令适用的Linux版本 paste 命令…...

用163邮箱或者outlook接收国科大邮箱的邮件

使用如图下路径,创建一个新的密码,用于在163大师邮箱或者outlook登录即可 如果不行,则需要手动配置邮箱服务器 参考网址:中国科学院邮件系统帮助中心...

VitePress-15- 配置- description 的作用详解

作用描述 1、descriptioin 是站点的描述&#xff0c; 会被解析为 html 页面的 <meta name"description" content "xxx"> 标签 。2、description 本身就是 <meta> 标签的一种&#xff0c;不会在页面上展示出来&#xff0c; 仅仅是作为页面的一…...

寒假学习记录17:包管理器(包管理工具)

概念 包&#xff08;package&#xff09; 包含元数据的库&#xff0c;这些元数据包括&#xff1a;名称&#xff0c;描述&#xff0c;git主页&#xff0c;许可证协议&#xff0c;作者&#xff0c;依赖..... 库&#xff08;library&#xff0c;简称lib&#xff09; 以一个或多个模…...

【AIGC】Stable Diffusion的常见错误

Stable Diffusion 在使用过程中可能会遇到各种各样的错误。以下是一些常见的错误以及可能的解决方案&#xff1a; 模型加载错误&#xff1a;可能出现模型文件损坏或缺失的情况。解决方案包括重新下载模型文件&#xff0c;确保文件完整并放置在正确的位置。 依赖项错误&#x…...

线段树解决-----P1161 开灯 P1047 [NOIP2005 普及组] 校门外的树 python解法

# [NOIP2005 普及组] 校门外的树 ## 题目描述 某校大门外长度为 l 的马路上有一排树&#xff0c;每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴&#xff0c;马路的一端在数轴 0 的位置&#xff0c;另一端在 l的位置&#xff1b;数轴上的每个整数点&#xf…...

学习总结16

# 【模板】最小生成树 ## 题目描述 如题&#xff0c;给出一个无向图&#xff0c;求出最小生成树&#xff0c;如果该图不连通&#xff0c;则输出 orz。 ## 输入格式 第一行包含两个整数 N,M&#xff0c;表示该图共有 N 个结点和 M 条无向边。 接下来 M 行每行包含三个整数 …...

问题:从完整的问题解决过程来看,( )是首要环节。A.理解问题 B.提出假设C.发现问题 D.检验假设 #学习方法#学习方法

问题&#xff1a;从完整的问题解决过程来看&#xff0c;&#xff08; &#xff09;是首要环节。A&#xff0e;理解问题 B&#xff0e;提出假设C&#xff0e;发现问题 D&#xff0e;检验假设 A.理解问题 B.提出假设 C&#xff0e;发现问题 参考答案如图所示...

服务器感染了.mallox勒索病毒,如何确保数据文件完整恢复?

导言&#xff1a; 在当今数字化的世界中&#xff0c;恶意软件已成为企业和个人数据安全的一大威胁&#xff0c;其中.mallox勒索病毒是最为恶劣的之一。本文91数据恢复将介绍.mallox勒索病毒的特点&#xff0c;以及如何恢复被其加密的数据文件以及预防措施。 如果您正在经历勒索…...

Android java基础_多态性

一.Android Java基础_多态性 向上转换:只能定义被子类覆写的方法&#xff0c;不能调用在子类中定义的方法。 class Father {private int money; public int getMoney() {return money; }public void setMoney(int money) {this.money money; }public void printInfo() {Syst…...

面试前的准备

目录&#xff1a; 面试前的准备Java程序员校招与社招的区别校招与社招的区别&#xff1a;Java程序员投递简的正确方式投递简历时的误区简历投递时间Java程序员如何应对面试邀约Java程序员如何对公司做背调面试前的技术准备 面试前的准备 Java程序员校招与社招的区别 校招和社招…...

前端架构: 本地调试脚手架的2种方式

一、 调试简单的脚手架方式 假定脚手架名称是 xxx 1 &#xff09;方式1 在xxx脚手架项目目录的上一级&#xff0c;执行 npm i -g xxx这时候&#xff0c;就可以本地调试脚手架&#xff0c;在前文中已经说明软链的作用参考&#xff1a;https://blog.csdn.net/Tyro_java/article…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...