前言
继续水文,复习一遍网络管理,只求不挂!
以下均按老师画的重点整理
网络管理的定义
网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能、服务质量等。另外,当网络出现故障时能及时报告和处理,并协调、保持网络系统的高效运行等
目前已经形成的网络管理标准
1.OSI系统管理模型(CMIP/CMIS)
2.ITU电信管理网
3.IEFE网络管理标准
OSI 定义的网络管理 5 大功能域
1.配置管理:负责网络的建立、业务的展开以及配置数据的维护
2.故障管理:保证网络资源的无障碍无错误的运营状态
3.安全管理:采用信息安全措施保护网络中的系统、数据以及业务
4.性能管理:保证有效运营网络和提供约定的服务质量
5.计费管理:确定网络业务和资源的使用费用,计算成本
简述 SNMP 模型的基本体系结构
1.管理站
一般由专用设备构成,配置Manager实体和一组管理应用程序,提供网络的故障、配置、计费、 性能、安全(FCAPS)等管理功能,从而形成网络管理系统(NMS)
2.代理者
装备了SNMP的平台,如主机、网桥、路由器及集线器均可作为代理者工作。
代理者对来自管理站的信息请求和动作请求进 行应答,并随机地为管理站报告一些重要的意外事件。
3.管理信息库MIB
MIB作为设在代理者处的管理站访问点的集合,管理站通过读取MIB中对象的值来进行网络监控。
4.网络管理协议SNMP
管理站采用轮询的方式, SNMP管理进程定时向被管理设备周期性地发送探询信息,对各个代理中的管理信息进行访问
SNMP为什么使用 UDP 传输数据,对应的端口是如何定义的?
SNMP信息的交换本身是一个不可靠的数据服务并且每一个信息本身就是一个独立的传输过程。
同时还应该尽量减少SNMP代理的复杂程度因此规定了SNMP使用UDP协议。
SNMP使用UDP报文而不是TCP报文,这是由SNMP本身要实现的功能以及UDP和TCP本身具有的特性决定的。
Agent使用161端口接受来自Manager的get和set消息
Manager使用162端口接受来自Agent的Trap
SNMPv1 规定了哪些协议 PDU?每个协议 PDU 的操作过程和特点?
SNMPv2 规定了哪些协议 PDU?每个协议 PDU 的操作过程和特点是什么?
与 SNMPv1 相比,SNMPv2 的协议操作有哪些变化?
1.GetRquest:
SNMPv1是原子性的,只要有一个变量检索不到,就不返回任何值
SNMPv2是非原子性的,允许部分响应
2.GetNextRequest:改变了响应的原子性
3.GetBulkRequest:用最少的交换次数检索大量的管理信息
4.SetRequest:
处理响应的方式不同,SNMPv2先检查操作的合法性,再进行更新变量。
如果至少有一个合法性检查未通过,则不进行下一阶段的更新
5.Trap:SNMPv2采用与Get等操作相同的PDU格式
6.InformRequest:是管理站发给管理站的消息,与Trap的不同为消息是需要应答的
关于使用
相比于 SNMPv2,SNMPv3 做了哪些方面的改进?
1.将各个版本的snmp标准集成到了一起,SNMPv1、v2、v3实体互通
2.解决了安全问题:安全模型、访问控制
什么是 SNMPv3 实体引擎?包括哪几部分?
SNMPv3 的时限模块的作用是什么?SNMPv3 协议中权威引擎和非权威引擎的时限检查过程是什么?
作用:提供防止消息重播,延迟和转向的功能
RMON工作流程
1.监视器观察LAN上出现的每个分组,并进行统计和总结,给管理人员提供重要的管理信息
2.监视器存储部分分组,供以后分析使用
3.监视器根据分组类型进行过滤并捕获特殊的分组
通常每个子网配置一个监视器与中央管理站通信,因此也称其为远程监视器
监视器可以是一个独立设备,也可以是运行监视器软件的工作站或服务器等
RMON监视器/探测器:实现RMON管理信息库
探测器进程:提供与RMON有关的功能
探测器进程能够读写本地的RMON数据库,并响应管理站的查询请求,所以RMON探测器也称为RMON代理
USM 的三个模块和四种服务分别是什么?
3个模块:
1.认证
2.保密/私密
3.时限/时序
4个安全服务
1.数据完整性
2.数据源认证
3.数据保密
4.消息时限
VACM 的抽象服务接口 isAccessAllowed?
什么是 SDN?SDN 有哪些技术特点?SDN 的体系结构?
软件定义网络,是一种新型的网络创新架构,是网络虚拟化的一种实现方式,将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。
1.网络协议集中处理:提高复杂协议的运算效率和收敛速度
2.控制的集中化,提高资源的利用效率
3.简化了运维管理的工作量,大幅节约运维费用
4.SDN可编程性扩大了传统差异化服务的程度和灵活性
5.业务定制的软件化有利于新业务的测试与快速部署
6.控制与转发分离,实施控制策略软件化,利于网络的智能化、自动化和硬件的标准化
分为基础设施层、控制层、应用层
基础设施层:负责流表的数据处理、转发和状态收集
控制层:负责处理数据平面资源的编排、维护网络拓扑、状态信息
应用层:包括各种不同的业务和应用
BER 编码
以TLV方法进行编码,分为3段:
T标记、L长度、V值
标记
universal
1:bool
2:integer
3:bit string
4:octet string
5:null
6:object identifier
16:sequence
16:sequence-of
无标记:choice
无标记:ANY
tag组成:
2bit:标签类
00 universal
01 application
10 context specific
11 private
1bit:
0 简单类型
1 构造类型
5bit:
标签
tag标签值小于30时:仅在一个八位组中编码
tag标签值大于30时:标签值5位全部置1
每个后继八位组,左边第一位表示是否为最后一个八位组,1表示不是,0表示是
例如标签值91513(10110010101111001)
改写为:
xxx11111 10000101 11001010 01111001
再例如标签值6(110)
写为
xxx00110
长度
当长度小于127时:0xxx xxxx即可
当长度大于127时:
第一个八位组:1+后继八位组个数
例如:255
1000 0001 1111 11111
再如:256
1000 0010 0000 00001 0000 0000
又如:5
0000 0101
常见编码
BOOLEAN编码
tag:0000 0001(见标记中的universal)
length:0000 0001
vaule:
true: 1111 1111
false: 0000 0000
即
true: 01 01 ff
false: 01 01 00
字符串类型的编码
tag:0000 0100
length:后继八位组的个数
vaule:字符串的ascii码
例如:public
tag:04(见标记中的universal)
length:06
vaule:70 75 62 6c 69 63
最终答案:
04 06 70 75 62 6c 69 63
比特串类型的编码
在bit串前增加一个八位组,取值0~7,表名最后补位的个数。补0/1由发送方决定
例如:1011011101011
1011 0111 0101 1
故最后需要补3位
1011 0111 0101 1xxx
假设补0(也可补1,由发送方决定)
1011 0111 0101 1000
计数八位组:0000 0011
tag:0000 0011(见标记中的universal)
length:后继八位组个数
最终答案
03 03 03 B7 58
再如:10101
补位后
1010 1000
计数八位组
0000 0011
最终答案
03 02 03 A8
十六进制字节串类型的编码
tag:04
length:后继八位组个数
例如:
0A1B
答案:
04 02 0A 1B
再如:
01 23 45 67 89 ab cd ef
答案
04 08 01 23 45 67 89 ab cd ef
又如:ACE
答案:
04 02 AC E0
INTEGER类型的编码
若value中的最高位为1,则需在前面补全一个全0的八位组
对于负数,value的最高位为1
tag:02
length:后继八位组的个数
对于正数
例如:64
64的二进制为:
0100 0000
故此答案为:
02 01 40
再如:128
二进制为:
1000 0000
故此答案为
02 02 00 80
对于负数
绝对值二进制+按位取反+末位加1即可
例如:
-64
绝对值的二进制为
0100 0000
按位取反
1011 1111
末位加1
1100 0000
所以答案为
02 01 C0
再如:-257
二进制为:0000000100000001
按位取反
1111 1110 1111 1110
末位加一
1111 1110 1111 1111
答案为
02 02 FE FF
快捷运算方法
对于大数,强行取余倒叙排列计算2进制肯定太慢了,这里选择拆分成256(256的幂数)的因子形式
例如:
49468=193256+60
我们知道
193为1100 0001即C1
256为1 0000 0000即100
60为0011 1100即3C
故此可以写成
`C1100+3C因此编码直接可以写为 C1 3C 又因为最高位为1,而该数是正数,所以补一个全0的八位组 最终答案: 02 03 00 C1 3C 再如负大数:-49769 由于256^2=6553620 但是负数最高位需要为1,作为标志位 因此256^2最大只能表示-32768 故此选择256^3,最大可表示-8388608 然后我们可以将256^3-49769 得到16727447 即
255256^2+61256+151`
得到编码
255 61 151
即
FF 3D 97
故此答案为
02 03 FF 3D 97
解码
解码也很容易
先去除tag和length
首先看最高位是否为1
若为1即为负数
否则为正数
例如:02 02 96 46
我们计算出96 46为38470
由于其最高位为1
所以我们用它去减2^16,即可得到结果-27066
对象标识符编码
tag:06
首两个id:X40+Y
如果有大于127的项,需要进行拆分
即最后一个字节的最高位为0,其余字节最高位为1
例如:810 = 11 0010 1010
即从后往前,8个一组
由于要补1或0,所以7个一组
1000 0110 0010 1010
所以答案为:86 2A
例如题目为:
1 3 6 1 810 1
首先将1,2项合并为
`140+3=43`
即
0010 1011
即
2B
所以为
2B 6 1 810 1
然后将超过127的部分拆分
即
2B 06 01 86 2A 01
最终结果为
06 06 2B 06 01 86 2A 01
空值类型编码
05 00
就这么多
sequence组合类型的编码
tag:30
length:后继八位组个数
value:每个类型按之前的排即可(tag+length+vaule)
set集合类型的编码
tag:31
length:后继八位组个数
BER的不足
带来了大量的冗余,增加了通信量的开销
主要出现在TLV三个字段的每个部分
增加了约50%的数据
SMI的编码规则-BER
类别
1.通用类 00
2.应用类 00
3.上下文类 10
4.专用类 11SMI的数据类型两大分类
1.简单类型
1.1 integer
类别 00
格式 0
编号 00010
tag: 0x02
1.2 octet string
类别 00
格式 0
编号 00100
tag: 0x04
1.3 object identifier
类别 00
格式 0
编号 00110
tag: 0x06
1.4 null
类别 00
格式 0
编号 00101
tag: 0x05
1.5 sequence and sequence of
类别 00
格式 1
编号 10000
tag: 0x30
1.6 ipaddress
类别 01
格式 0
编号 00000
tag: 0x40
1.7 counter
类别 01
格式 0
编号 00001
tag: 0x41
1.8 gauge
类别 01
格式 0
编号 00010
tag: 0x42
1.9 timeticks
类别 01
格式 0
编号 00011
tag: 0x43
1.10 opaque
类别 01
格式 0
编号 00100
tag: 0x44
2.结构化类型
1.sequence
2.sequence ofd