第16章-简单网络管理协议课件.pptx
第16章 简单网络管理协议,由于计算机网络发展的趋势是规模不断扩大,复杂性不断增加,网络的异构程度越来越高,因此需要统一的网络管理体系结构和协议对网络进行管理。国际上许多机构和团体建立了一些网络管理标准框架。,OSI很早就提出了网络管理标准的框架,即ISO 7498-4。在OSI网络管理标准中,将网络管理分为系统管理(管理整个OSI系统)层管理(只管理某一个层次)层操作(只对一个层次中管理通信的一个实例进行管理)。在系统管理中,提出了管理的五个功能域(其中前两个功能是最基本的)。,(1)故障管理(Fault Management)对网络中被管对象故障的检测、定位和排除。故障并非一般的差错,而是指网络已无法正常运行或出现了过多的差错。(2)配置管理(Configuration Management)用来定义、识别、初始化、监控网络中的被管对象,改变被管对象的操作特性,报告被管对象状态的变化。(3)计费管理(Accounting Management)记录用户使用网络资源的情况并核收费用,同时也统计网络的利用率。(4)性能管理(Performance Management)以网络性能为准则,保证在使用最少网络资源和具有最小时延的前提下,网络能提供可靠、连续的通信能力。(5)安全管理(Security Management)保证网络不被非法使用。这五个管理功能域简称为FCAPS。,简单网络管理协议SNMP(Simple Network Management Protocol)协议应用最为广泛。SNMPV3包含安全和远程配置。,第16章 简单网络管理协议,16.1 简单网络管理模型16.2 简单网络管理协议16.3 报文格式16.4 管理信息结构(SMI)16.5 管理信息库MIB16.6 MIB组,16.1 简单网络管理模型,SNMP是应用层协议,主要通过一组因特网协议及其所依附的资源提供网络管理服务。它提供了一个基本框架用来实现对鉴别、授权、访问控制以及网络管理政策实施的高层管理。基于TCP/IP的网络管理包含三个组成部分:(1)管理信息库MIB(Management Information Base)管理信息库包含所有代理进程的所有可被查询和修改的参数,它是网络管理系统中的重要组件,由系统内的许多被管对象及其属性组成。这些信息由管理进程和各个代理进程共享。,(2)管理信息结构SMI(Structure of Management Information)管理信息结构是关于MIB的一套公用的结构和表示符号,在RFC 1155中定义。(3)SNMPSNMP是管理进程和代理进程之间的通信协议,在RFC 1157中定义。SNMP还包括数据报交换的格式等。,下图表示SNMP的实现模型。图中,1、2、3、4、5分别表示获得请求get-request、获得下一个请求get-next-request、设置请求set-request、获得响应get-response、陷阱trap等操作。(SNMPv3定义了8个操作),管理站是网络管理员和网络管理系统之间的接口,能将网络管理员的命令转换成对远程网络元素的监视和控制,同时从网上所有被管实体的MIB中提取出信息数据库。作为管理站,它还必须拥有能进行数据分析、故障发现等的管理应用软件。,管理站的管理工作是通过轮询代理来完成的。管理者可以通过SNMP操作直接与管理代理通信,获得即时的设备信息,对网络设备进行远程配置管理或者操作;也可以通过对数据库的访问获得网络设备的历史信息,以决定网络配置变化等操作。SNMP管理代理指的是用于跟踪监测被管理设备状态的特殊软件或硬件。实际上,SNMP的管理任务是移交给管理代理来执行的。代理翻译来自管理站的请求,验证操作的可执行性,通过直接与相应的功能实体通信来执行信息处理任务,同时向管理站返回响应信息。,网络管理由三个要素组成:一个或多个被管理的设备,每个都含有一个代理Agent,此代理随时记录网络设备的各种情况;一个或多个网络管理设备,每个都含有网络管理站NMS,NMS必须具备在因特网上通信的能力;代理进程和NMS之间的协议,用于交换管理信息。网络管理程序再通过SNMP通信协议查询或修改代理所记录的信息。,除了上面所提及的术语外,网络管理通常用到以下基本概念:(1)网络元素(network element):网络中具体的通信设备或逻辑实体,简称网元。(2)对象(object):拥有一定信息特性的资源,属于通信和信息处理范畴的“对象”。(3)被管理对象(managed object):管理协议所管理和控制的网络资源。(4)综合网络管理INM:一体化异构网络管理,即用统一的方法管理由多厂商生产的计算机硬件和软件资源所组成的异构网络。,返回,受SNMP管理的被管理设备可与位于网络某处的SNMP管理设备通信,有两种通信方式:轮询(polling)和中断(interrupt-based)。轮询通常在一定时间间隔内由网络管理设备与被管理的设备进行通信,代理软件不断地收集统计数据,并把这些数据记录到一个MIB中,接受轮询的设备由管理设备询问当前的状态或统计信息。这种通信方式的缺点在于信息的实时性差,尤其是出现错误时的实时性差。轮询间隔时间太长,则关于一些大的灾难事件的通知太慢,如果轮询间隔时间太短,则容易造成网络拥塞。,16.2 简单网络管理协议,在基于中断的SNMP系统中,当被管理的设备出现异常时,主动向管理设备发送消息,在这种方式下,实时性很强。基于中断的设备也存在一些问题,如产生错误或自陷需要系统资源,这将消耗掉系统时钟周期,从而降低系统的工作效率;如果消息数据量较大,包含很多统计数据,组织和传输消息也将导致网络性能下降。图16-2是使用SNMP的典型配置。整个系统必须有一个管理站。在管理站内运行管理进程。在每个被管对象中一定要有代理进程。管理进程和代理进程利用SNMP报文进行通信,SNMP报文使用UDP来传送。,图16-2 SNMP配置,返回,16.3 报文格式,一个 SNMP 报文由三个部分组成:公共 SNMP 首部get/set首部或 trap 首部变量绑定(Variable-bindings)如图16-3所示。,图16-3 SNMPv1报文封装格式,1、公共SNMP首部 共有三个字段:(1)版本,写入版本字段的是版本号减 1。对于 SNMPv1应写入0。(2)共同体(community),共同体就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是 6 个字符“public”。(3)PDU 类型,根据 PDU 的类型,填入04中的一个数字。其对应关系如表16-1所示。,表16-1 PDU类型,SNMPv1定义了5种管理进程和代理进程之间的交互报文:get-request操作:从代理进程处提取一个或多个参数值。get-next-request操作:从代理进程处提取一个或多个参数的下一个参数值。set-request操作:设置代理进程的一个或多个参数值。get-response操作:返回的一个或多个参数值,这个操作是由代理进程发出的。它是前面3种操作的响应操作。trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。,图16-4 SNMP的工作模型,前3个操作由管理进程向代理进程发出,后两个是代理进程发给管理进程的。在代理进程端用熟知端口 161 来接收 get 或 set 报文,在管理进程端用熟知端口 162 来接收 trap 报文。,2、get/set首部或trap首部 这两种首部都各包括若干个字段:(1)对于 get/set 首部请求标识ID(request ID),由管理进程设置的一个整数值。代理进程在发送 get-response 报文时也要返回此请求标识ID。匹配请求与响应。差错状态(error status),由代理进程回答时填入05中的一个数字(表16-2)。差错索引(error index),当出现 noSuchName、badValue、或 readOnly 差错时,由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。,表16-2 差错状态描述,(2)trap 首部企业(enterprise),填入产生 trap 报文的网络设备的对象标识符。此对象标识符肯定是在图16-6 的对象命名树上的 enterprises 结点 1.3.6.1.4.1 下面的一棵子树上。trap 类型,此字段正式的名称是 generic-trap,共分为表16-3所列 7 种(类型 0-6):,当使用上述类型 2、3 和 5 时,在报文后面变量部分的第一个变量应标识相应的接口。特定代码(Specific-code),若trap类型为6,则指明代理自定义的事件,否则为0。时间戳(timestamp),指明自代理进程初始化到trap报告的事件发生所经历的时间。3、变量绑定(Variablebindings)指明一个或多个变量的名和对应的值。在 get 或get-next 请求报文中,变量的值应忽略。,SNMPv3含8类PDU:,SNMP将PDU嵌在报文中发送,SNMPv3报文:,返回,16.4 管理信息结构(SMI),管理信息结构SMI定义了SNMP框架所用信息的组织、组成和标识,SMI是对公共结构和一般类型的描述。名字+类型+编码 MIB由一系列对象组成,对象类型是用抽象语法记法1(abstract syntax notation one,ASN.1)表示的,ASN.1 类似于C 语言中的 struct 结构,SNMP为保持简单性,仅用到其中的一个子集。SNMP中的数据类型包括通用类型和应用类型等。,1.通用类型ASN.1通用类型有20多种,SNMP中常用的有简单类型和构造类型。(1)简单类型INTEGER 整型,常用于表示枚举类型。有些整型变量定义一个特定的范围,例如,UDP和TCP的端口号就从0到65535。OCTER STRING 位组串,表示0或多个8bit字节,每个字节值在0255之间。,NULL 空,代表相关的变量没有值。例如,在get或get-next请求操作中,变量的值就是NULL,因为这些值还有待到代理进程处去取。OBJECT IDENTIFIER 对象标识符,表示对象的名字,用点分十进制表示,反映了它在互联网全局命名树中的位置。(2)构造类型SEQUENCE 序列,用于列表。一个SEQUENCE包括0个或多个元素,每一个元素又是另一个ASN.1数据类型。SEQUENCE OF 是一个向量的定义,用于表格,其所有元素具有相同的类型。,2.应用类型ASN.1应用类型用于特定应用,常见的有:IpAddress:IpAddress是4字节长度的OCTER STRING,以网络号表示的IP地址。每个字节代表IP地址的一个字段。PhysAddress:PhysAddress是OCTER STRING类型,代表物理地址,例如以太网物理地址为6个字节长度。,Counter:Counter是非负的整数,可从0递增到232-1(4294976295),达到最大值后归0。Gauge:Gauge是非负的整数,取值范围为从0到4294976295。达到最大值后锁定,直到复位。例如,MIB中的tcpCurrEstab就是这种类型的变量的一个例子,它代表目前在ESTABLISHED或CLOSE_WAIT状态的TCP连接数。TimeTicks:TimeTicks表示时间计数器,以0.01秒为单位递增,但是不同的变量可以有不同的递增幅度。所以在定义这种类型的变量的时候,必须指定递增幅度。,SMI使用ASN.1标识MIB中的对象。其一,对象标识是一种数据类型,它指明一种“授权”命名的对象。其二,对象标识是一个整数序列,以点(“”)分隔。这些整数构成一个树型结构,类似于DNS。对象标识从树的顶部开始,顶部没有标识,以root表示。对象标识如图16-5所示,对于因特网MIB,用ASN.l记法来表示为:iso(1)org(3)dod(6)internet(1),也可以用一种简单的格式(例如1.3.6.1)来表示。,图16-5 对象标识示意图,SMI中最关键的原则是管理对象的形式化,定义要用ASN.1来描述。SMI分成3部分:模块定义、对象定义和陷阱(自陷)定义。(1)当描述信息模块时要使用模块定义。使用一个ASN.1宏MODULE-IDENTITY来简洁地表达一个信息模块的语义。(2)当描述被管理对象时要使用对象定义。使用一个ASN.1宏OBJECT-TYPE来简洁地表达被管理对象的语法和语义。(3)当描述没有经过请求而主动传送的管理信息时要使用通知定义。使用一个ASN.1宏NOTIFICATION-TYPE来简洁地表达一个通知的语法和语义。,返回,16.5 管理信息库MIB,MIB定义网络管理系统控制的数据对象,是监控网络设备标准变量的集合。网络管理员可以直接或通过管理代理软件来控制这些数据对象,以实现对网络设备的配置和监控。每个被管理的SNMP设备均维护MIB,MIB的每一项包含一些信息:对象类型、语法、访问字段及状态字段等。MIB的项通常由协议规定,并且严格遵守 ASN.1的格式。,对象类型为项的名称,通常为简单的名字。语法是一个值字段,通常为字符串或整型,并不是所有的MIB的项均包含值字段。访问字段用于定义项的访问权限,通常有以下四类:只读、可读/写、只可写和不可访问。状态字段包含指示值,标明MIB项是否为命令的、可选的或作废。命令的表示被管理的设备必须执行该项;可选的表示被管理的设备可以选择执行该项;作废表示不执行。,MIB-1创建于1988年,其表中包含114项,分为两组,支持MIB-1的被管理的设备必须支持所有的适用于该设备的组。MIB-2是MIB-1的扩展,于1990年提出。它包含171项共分为10组。除了扩展了原有的组外,又新增加了组。与MIB-1类似,支持MIB-2的设备必须执行所有适用于该类型的组。除了MIB-1和MIB-2外,还有许多正在测试的MIB,它们包含许多不同的组和项。某些公司开发MIB以供自己使用。,MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置信息)。下图给出了一个网络中所有可能的被管理对象集合的数据结构。,由图可知,对象命名树的顶级对象有三个,即ISO、ITU-T(ccitt)和这两个组织的联合体。在ISO的下面有4个结点,其中的一个(标号3)是被标识的组织。接下一层有一个美国国防部(Department of Defense)的子树(标号6),再下面就是internet(标号1)。在只讨论因特网中的对象时,可只画出internet以下的子树,并在internet结点旁边标注上1.3.6.1即可。,在internet结点下面的第二个结点是mgmt(管理),标号是2。再下面是管理信息库,标号是1,原先的结点名是mib。1991年定义了新的版本MIB-II,故mib结点名现改为mib-2,其标识为1.3.6.1.2.1,或internet(1).2.1,这种标识为对象标识符。,最初的mib将其所管理的信息分为8个类别,见下表。现在的mib-2所包含的信息类别已超过40个。,MIB的定义与具体的网络管理协议无关,这对于厂商和用户都有利。厂商可以在产品(如路由器)中包含SNMP代理软件,并保证在定义新的MIB项目后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理具有不同版本的MIB的多个路由器,当然,一个没有新的MIB项目的路由器不能提供相关项目的信息。,MIB中的对象1.3.6.1.4.1,即enterprises(企业),其所属结点数已超过3000。例如IBM为1.3.6.1.4.1.2,Cisco为1.3.6.1.4.1.9,Novell为1.3.6.1.4.1.23等。世界上任何一个公司、学校只要用电子邮件发往iana-mibisi.edu进行申请即可获得一个结点名。这样各厂家就可以定义自己的产品的被管理对象名,使它能用SNMP进行管理。,返回,16.6 MIB组,1.system组system组提供其所管理系统的总体信息,支持网络层和传输层的应用,一共包含7个简单变量。表16-5列出了system组的变量名称、数据类型和含义。,表中sysDescr、sysContact、sysName和sysLocation用于配置管理,sysObjectID和sysUpTime用于故障管理。,2.interface组interface组提供网络实体的物理层接口信息,由ifNumber和ifTable两个顶级对象组成。IfNumber记录网络设备的所有接口数目。ifTable则包含了关于每个接口包含物理和虚拟接口的信息。下表列出了ifTable包含的对象。,3.ip组 ip组提供了与IP协议有关的信息,用于配置管理、故障管理和性能管理,表16-7显示了所有的简单变量。,表16-7 ip组的简单变量,4.tcp组tcp组包含了与TCP协议相关的实现与操作,由一些系统对象和记录当前TCP连接的表构成。每个TCP连接,都对应于连接表格中的一条记录。每条记录包含5个变量:连接状态、本地IP地址、本地端口号、远端IP地址以及远端端口号。tcp组主要用于配置管理、计费管理、安全管理和性能管理。表16-8表示tcp组中的简单变量。,表16-8 tcp组中的简单变量,5.udp组的结构。,图16-7 UDP组的结构,在该组中,包含udpInDatagrams、udpNoPorts、udpInErrors、udpOutDatagrams 等4个简单变量和一个udpTable。表16-9描述了这4个简单变量。,表16-9 简单变量的含义,表16-10描述了在udpTable中的两个简单变量。,本章要点简单网络管理协议SNMP是应用层协议,主要通过一组因特网协议及其所依附的资源提供网络管理服务。它提供了一个基本框架用来实现对鉴别、授权、访问控制以及网络管理政策实施的高层管理。基于TCP/IP的网络管理由管理信息库(MIB)、管理信息的结构(SMI)、简单网络管理协议(SNMP)三个部分组成。SNMP由三个要素组成:一个或多个被管理的设备;一个或多个网络管理设备;代理进程和NMS之间的协议。受SNMP管理的设备可与位于网络某处的SNMP管理设备通信,两种通信方式是轮询和中断。,SNMP消息报文包含两个部分:SNMP报文首部和协议数据单元PDU。管理信息结构SMI定义了SNMP框架所用信息的组织、组成和标识,SMI是对公共结构和一般类型的描述。SMI分成3部分:模块定义、对象定义和陷阱(自陷)定义。MIB定义网络管理系统控制的数据对象,是监控网络设备标准变量的集合。网络管理员可以直接或通过管理代理软件来控制这些数据对象,以实现对网络设备的配置和监控。,1、有时候读书是一种巧妙地避开思考的方法。23.3.1923.3.19Sunday,March 19,20232、阅读一切好书如同和过去最杰出的人谈话。22:45:1822:45:1822:453/19/2023 10:45:18 PM3、越是没有本领的就越加自命不凡。23.3.1922:45:1822:45Mar-2319-Mar-234、越是无能的人,越喜欢挑剔别人的错儿。22:45:1822:45:1822:45Sunday,March 19,20235、知人者智,自知者明。胜人者有力,自胜者强。23.3.1923.3.1922:45:1822:45:18March 19,20236、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2023年3月19日星期日下午10时45分18秒22:45:1823.3.197、最具挑战性的挑战莫过于提升自我。2023年3月下午10时45分23.3.1922:45March 19,20238、业余生活要有意义,不要越轨。2023年3月19日星期日10时45分18秒22:45:1819 March 20239、一个人即使已登上顶峰,也仍要自强不息。下午10时45分18秒下午10时45分22:45:1823.3.1910、你要做多大的事情,就该承受多大的压力。3/19/2023 10:45:18 PM22:45:182023/3/1911、自己要先看得起自己,别人才会看得起你。3/19/2023 10:45 PM3/19/2023 10:45 PM23.3.1923.3.1912、这一秒不放弃,下一秒就会有希望。19-Mar-2319 March 202323.3.1913、无论才能知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。Sunday,March 19,202319-Mar-2323.3.1914、我只是自己不放过自己而已,现在我不会再逼自己眷恋了。23.3.1922:45:1819 March 202322:45,谢谢大家,