摘要
- 网络管理概述
- 网络管理的体系结构与模式
- 网络管理的功能
- 简单网络管理协议(SNMP)
一、网络管理概述
网络管理是什么?
网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能、服务质量等。另外,当网络出现故障时能及时报告和处理,并协调、保持网络系统的高效运行等。网络管理常简称为网管。网络管理的目的是什么?
根本目的是最大限度地满足网络管理者和网络用户对计算机网络的有效性、可靠性、开放性、综合性、安全性和经济性的要求。
1)有效性:网络要能准确而及时地传递信息,为用户提供服务。
2)可靠性:网络要保证能持续稳定地运行,对各种故障、自然灾害、外部攻击的抵御能力和一定的自愈能力。
3)开放性:网络要能兼容各个厂商的不同类型的设备。
4)综合性:网络能提供各种不同的综合业务功能,如网络监测、远程控制等业务。
5)安全性:对网络中信息进行保护,防止黑客入侵,也要避免误操作造成网络瘫痪。
6)经济性:尽量减少运行费用。
二、网络管理的体系结构与模式
2.1 网络管理的结构
一个完整的网络管理系统包括4部分:网络管理站、管理代理、网络管理协议和管理信息库 。
1. 网络管理站(Network Manager)
也叫管理进程,是一个逻辑概念,通常由软件实现,它负责发出管理操作的指令,被管设备中的管理代理对这些指令进行响应;网络管理站也可以接收被管理设备发出的警告。
2. 管理代理(Managed Agent)
具有两个基本功能:一是从管理信息库 MIB 中读取各种变量值;二是在 MIB 中修改各种变量值。对应于网络监测和网络控制。
管理代理位于被管理的设备内部,负责把来自管理站的命令或信息请求转换为本设备特有指令,完成管理站的指示或返回它所在设备的信息。另外,管理代理也可以把自身系统中发生的事件主动报告给管理站。
3. 网络管理协议(Network Management Protocol)
用于管理站和管理代理之间完成信息交换的通信规约。管理站通过管理协议从管理代理那里获取所需的信息或向管理代理发送命令;管理代理也可以通过管理协议主动报告紧急情况。网络管理协议的主要任务是定义管理站和代理间的通信方法、规定管理信息库的存储结构、信息库中关键词的含义,以及各种事件处理方法。
目前,应用最方法的网络管理协议是基于TCP/IP模型的简单网络管理协议(Simple Network Management Protocol,SNMP) 。
4. 管理信息库(Manage Information Base)
用于存放与被管对象有关的网络信息。被管对象是网络资源的抽象表示,一个资源可以表示为一个或多个被管对象。MIB中的对象按层次进行分类和命名,整体表示为一种树形结构,称为对象命名树。
2.2 网络管理的模式
网络管理模式分为:集中式管理、分布式管理和混合式管理3种。
1. 集中式网络管理
由一个网络管理站对整个网络的管理负责。如下图所示。
集中式的优缺点:
优点:集中管理、结构简单、低价格、易维护。
缺点:容易产生拥塞、不灵活、不可靠。
2. 分布式网络管理
分布式有多个管理站,每个负责管理一个域。如下图所示。
分布式的特点是有很好的扩展性,降低了管理的复杂性。
3. 混合管理模式
集中管理与分布管理相结合。
三、网络管理的功能
包括5个方面的功能:故障管理、配置管理、安全管理、性能管理和计费管理。
1. 故障管理(Fault Management)
故障管理是为了尽快发现故障,找出故障的原因,以便及时采取补救措施,即对计算机网络中的问题或故障进行定位的过程。它包含故障检测和报警功能、故障预测功能,及故障诊断和定位功能3个模块。
2. 配置管理(Configuration Management)
配置管理用于实现网络设备的配置和管理,主要包括设备初始化、维护和关闭网络设备或子系统等操作。
3. 安全管理(Security Management)
目的是确保网络资源不被非法使用,防止网络资源由于入侵者攻击而遭到破坏。
4. 性能管理(Performance Management)
用于持续地测评网络运行中的主要性能指标,如流量、负载、丢包、温度、内存和延迟等。
5. 计费管理(Accounting Management)
根据网络管理部门指定的计费策略,按用户对网络资源的使用情况收取费用。
四、简单网络管理协议(SNMP)
SNMP 工作在 TCP/IP 参考模型的应用层,是一种面向无连接的协议,其功能是使网络设备之间能方便地交换管理信息,从而使网络管理员了解网络运行情况,以及进行网络行为的控制和管理。
4.1 SNMP 的工作原理
SNMP 包括 SNMP 协议、管理信息数据库 MIB 和管理信息结构 SMI 3 部分。
SNMP 协议 规定了管理站和代理间交换网络管理信息的报文格式,报文中包含了代理中的对象及其状态;
MIB 是被管对象的集合;
SMI 定义了SNMP所用信息的组织、组成和标识,规定了MIB中被管对象的数据类型及其表示和命名方法。
SNMP采用管理站——管理代理模型,如下图所示。
管理代理是某种网络设备,如交换机、路由器等,其中设置有保存各种网络和设备信息的管理信息库MIB,在管理站和管理代理上分别运行SNMP进行通信,将MIB中的管理信息传递给管理站,从而实现网络管理的功能。
SNMP管理站和管理代理之间的操作包括3种类型。
1)Get:管理站读取管理代理处对象的值。
2)Set:管理站设置管理代理处处对象的值。
3)Trap:管理代理向管理站通报重要事件。
4.2 管理信息结构 SMI
SMI 有3个作用:
1. 规定了被管对象的命名法则
SMI规定,所有被管对象都必须处于如下图所示的对象命名树上。
树的每一层上的对象结点都对应一个在该层唯一的标号。对象命名树的根结点没有名字,根节点下面一层共有3个结点,都是世界著名的标准化组织,分别是:ccitt(0)、iso(1)和joint-iso-ccitt(2),其标号分别是0、1和2.以这3个结点为根的子树,包含了所有的网络被管对象。
树中的每个结点都有一个分层的编号。叶子结点代表实际的被管对象,从树根到树叶的编号串联起来,用圆点隔开,就形成了被管对象的 全局标识 object identification(OID)。对象有两种标识方法:数字形式和名字形式。 例如,mgmt的标识符是1.3.6.1.2,或者写为{iso.org.dod.internet.mgmt}。
2. 规定了被管对象的数据类型
SMI把被管对象的数据类型分为两大类:简单类型和结构化类型。简单类型直接使用ASN.1中定义的类型,SMI简单类型有以下几个:
1)INTEGET 类型:大小为4B,表示~之间的整数。
2)Unsigned32 类型:大小为4B,表示0~之间的无符号数。
3)OCTET STRING 类型:大小可变,表示不超过65535B长的字符串。
4)OBJECT IDENTIFIER 类型:大小可变,表示对象标识符。
5)IPAddress 类型:大小为4B,表示由4个整数组成的IP地址。
结构化类型有两种:
sequence 和 sequence of。
3. 规定了被管对象数据的编码方法
SMI使用ASN.1制定的基本编码规则(Basic Encoding Rule,BER)对被管对象数据进行编码,编码后的被管对象数据就可以在网络中进行传输。BER把所有的数据元素都表示为由T、L和V这3个字段组成的序列,T字段定义数据类型,L字段定义V字段的长度,V字段定义数据取值,其编码格式如下图所示。
其中T字段又分为3段,分别如下。
1)类别段:占2bit,表示数据元素的类别,00表示ANS.1定义的类型,01表示SMI定义的类型,10表示上下文所定义的类型,11保留为特定厂商定义的类型。
2)格式段:占1bit,用于指出数据类型的种类,0表示简单数据类型,1表示结构化数据类型。
3)编号段:占5bit,用来标识不同的数据类型。编号范围一般为0~30。当编号大于30时,T字段就要扩展为多个字节。
几种数据类型的T字段编码:
数据类型 | 类别 | 格式 | 编号 | T字段(二进制) | T字段(十六进制) |
---|---|---|---|---|---|
INTEGER | 00 | 0 | 00010 | 00000010 | 02 |
OCTET STRING | 00 | 0 | 00100 | 00000100 | 04 |
OBJECT IDENTIFIER | 00 | 0 | 00110 | 00000110 | 06 |
IPAddress | 01 | 0 | 00000 | 01000000 | 40 |
L字段是可变长字段,用来表示数据值字段V的长度。当L字段为单字节时,其最高位为0,后面的7位定义了V字段的长度;当L字段为多个字节时,其最高位为1,后面的7位表示后续字节的长度,而用后续字节来定义V字段的长度。其格式如下图所示。
V字段也是可变长字段,用于定义数据元素的值。
比如,对于网络中的某个IP地址10.1.2.3,在SMI中的数据类型为IPAddress,属于简单类型,其T字段编码为01000000(十六进制表示为40);IPAddress类型占4个字节,所以L字段的值为00000100(十六进制表示为04);具体IP地址为10.1.2.3,所以V的取值为0A 01 02 03(十六进制)。因此IP地址10.1.2.3 的BER编码为40 04 0A 01 02 03。
4.3 管理信息库 MIB
管理信息库MIB就是包含有关被管理资源及元素信息的数据库。
管理信息库保存和维护着可供管理程序读写的控制和状态信息。管理程序通过对 MIB 中信息的值进行读取和重置实现对网络的管理。只有 MIB 中的对象才能被SNMP协议所管理。
MIB 中包含的对象也位于对象命名树中,具体位于mib-2(1)结点下,mib-2是 MIB 的第二版,于1990年5月发布。mib-2结点下有11个子结点,表示11个被管理对象组,各对象组名称及含义如下表所示。
功能组 | 对象标识符 | 主要描述 |
---|---|---|
system | mib-2.1 | 关于系统的总体信息,如系统说明和管理信息 |
interface | mib-2.2 | 关于系统到子网的各个接口的信息 |
address translation(at) | mib-2.3 | 关于IP地址与物理地址的转换 |
ip | mib-2.4 | 关于IP的信息 |
icmp | mib-2.5 | 关于ICMP的信息 |
tcp | mib-2.6 | 关于TCP的信息 |
udp | mib-2.7 | 关于UDP的信息 |
egp | mib-2.8 | 关于EGP的信息 |
cmot | mib-2.9 | 关于CMOT的协议保留 |
transmission | mib-2.10 | 关于传输介质的管理信息,为传输信息保留 |
snmp | mib-2.11 | 关于SNMP的信息 |
上表中对象标识符mib-2在命名树中表示为1.3.6.1.2.1,例如system,表中为mib-2.1,则表示为1.3.6.1.2.1.1。和system有关的对象标识符的前缀都是1.3.6.1.2.1.1。
4.4 SNMP 协议报文
SNMP通过交换 SNMP 报文来传递管理信息。每个报文都是完整和独立的,使用UDP数据报进行传送。一个 SNMP 报文由版本号、首部、安全参数和 SNMP 报文数据4部分组成,其格式如下图所示。
版本: SNMP v1 时,该字段为0,SNMP v2时,该字段为1。
首部: 包含报文标识、最大报文长度和报文标志3个子字段。
安全参数: 用来在需要对报文进行鉴别时产生报文摘要MD。
加密字段: 在数据需要加密传输时使用。
PDU 类型: 用于说明SNMP数据报文的类型。有8种类型,如下表
类型名称 | PDU 取值 | 说明 |
---|---|---|
GetRequest | 0 | 管理站从管理代理中提取一个或多个参数值 |
GetNextRequest | 1 | 管理站从代理中提取紧跟当前参数的下一个参数值 |
Response | 2 | 管理代理向管理站或管理站向管理站发送对请求的响应 |
SetRequest | 3 | 设置管理代理中的一个或多个参数值 |
GetBulkRequest | 5 | 管理站从管理代理中读取大块数据值 |
InformRequest | 6 | 管理站从另一远程管理站读取该管理站控制的管理代理中的变量值 |
SNMPv2Trap | 7 | 管理代理向管理站报告管理代理中发送的异常事件 |
Report | 8 | 在管理站之间报告某些类型的差错,目前尚未使用 |
请求 ID: 是由管理站设置的一个4B整数。管理代理在发送响应报文时也要返回此请求标识符。管理进程可同时向多个管理代理发出请求报文,这些报文使用UDP传送,到达顺序不确定,设置请求ID可使管理站能够识别返回的响应报文对应的是哪一个请求报文。
差错状态: 用于向管理站报告发生错误的类型。该字段为0~18中的一个数字,常见的差错状态如下表所示。
差错状态 | 名字 | 说明 |
---|---|---|
0 | noError | 一切正常 |
1 | tooBig | 代理无法将回答装入到一个SNMP报文中 |
2 | noSuchName | 操作指明了一个不存在的变量 |
3 | badValue | 一个set操作指明了一个无效值或无效语法 |
4 | readOnly | 管理进程试图修改一个只读变量 |
5 | genErr | 某些其他的差错 |
差错索引: 用于响应报文中,与差错状态字段配合使用。当出现noSuchName、badValue或readOnly的差错时,该字段指明了有差错的变量在变量列表中的偏移。
变量绑定: 用于指明一个或多个变量的名和对应的值。在请求报文中,变量的值应忽略(类型是NULL)。
总结
网络管理的概念及目标
网络管理的体系结构:管理站、管理代理、管理协议和管理信息库
网络管理的5种功能:故障管理、配置管理、安全管理、性能管理和计费管理
SNMP的组成和基本原理,MIB树形结构及SNMP报文结构