版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六讲新型网络管理模型第一页,共一百五十一页,编辑于2023年,星期五主要内容基于移动代理的网络管理
基于WEB的网络管理
基于CORBA的网络管理基于XML的网络管理基于主动网的网络管理
第二页,共一百五十一页,编辑于2023年,星期五新型网络管理模型目前的主流网络管理模型:基于OSI的CMIP模型基于TCP/IP的SNMP模型管理模式:管理者的任务:发布管理信息获取命令;对获取的信息进行分析和判断;根据分析和判断结果发布控制命令。第三页,共一百五十一页,编辑于2023年,星期五新型网络管理模型主流网络管理模型的主要问题:大量的管理信息在网络上传递,增加了网络的负荷;管理信息的上下传递需要时间,限制了网络管理的实时性。第四页,共一百五十一页,编辑于2023年,星期五新型网络管理模型新型管理模型:目标:采用分布式管理模式提高管理的实时性提出的模型基于CORBA的网络管理基于WEB的网络管理基于移动代理的网络管理基于主动网概念的网络管理基于XML的网络管理第五页,共一百五十一页,编辑于2023年,星期五基于CORBA的网络管理CORBA的基本概念CORBA的体系结构CORBA的服务基于CORBA的网络管理第六页,共一百五十一页,编辑于2023年,星期五CORBA的基本概念CORBA(CommonObjectRequestBrokerArchitecture):中文意思是公共对象请求代理体系结构,是OMG(ObjectManagementGroup)为解决分布式处理环境下硬件和软件系统的互联互通而提出的一种解决方案。CORBA提供了一种异构平台下的语言无关的对象互操作模型第七页,共一百五十一页,编辑于2023年,星期五CORBA简介—特点CORBA是一个规范而不是实现CORBA提供了一个允许在分布式和异构型环境中应用程序之间进行互操作的框架目前最新版本为CORBA3.0具体的产品实现有:IONAOrbix、BORLANDVisiBroker、JacORB、中和威InterBus等完全开放的、可扩展的由工业需要驱动,并非某个厂商跨平台、语言以及厂商之间的互操作性CORBA产品和服务可以“即插即用”面向对象的体系结构基于ORB的分布式软件总线强大的集成能力。解决了异构环境下的系统互连,适用于将不同的系统集成在一起CORBA的基本概念第八页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—调用模型ORB:CORBA的核心第九页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—工作原理ORB:CORBA的核心JavaMainProgramObjectAObjectAObjectAA机B机
网络计算环境A的代理对象适配器ORB第十页,共一百五十一页,编辑于2023年,星期五CORBA体系结构ORB:CORBA的核心ClientObjectImplementationObjectRequestBrokerIDLStubsDynamicInvocationORBInterfaceStaticIDLSkeletonDynamicSkeletonObjectAdaptor第十一页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—相关概念(ORB)它作为一个“软件总线”来连接网络上的不同对象,提供对象的定位和方法调用,它是CORBA实现的关键。接收客户发出的处理请求,并为客户在分布环境中找到实施对象,令实施对象接收请求,向实施对象传送请求的数据,通过实施对象的实现方法进行处理,并将处理结果返回给客户。第十二页,共一百五十一页,编辑于2023年,星期五对象请求代理ORB负责对象在分布环境中透明地收发请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间互操作的基础。ORB是一个中间件,他在对象间建立客户-服务器的关系。通过ORB,一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是通过一个网络访问。ORB截获调用然后负责找到一个对象实现这个请求,传递参数和方法,最后返回结果。客户不用知道对象在哪里,是什么语言实现的,他的操作系统以及其他和对象接口无关的东西。第十三页,共一百五十一页,编辑于2023年,星期五ORB的功能CORBAORB最显见的功能,是对你的应用程序或是其它ORB的请求予以响应。在CORBA应用程序运行期间,ORB可能被请做许多不同的事情,包括:(1)查找并调用远程计算机上的对象(2)负责不同编程语言之间的参数转换(如C++到Java)(3)可超越本机界限的安全管理(4)为其它的ORB收集并发布本地对象的metadata(元数据)第十四页,共一百五十一页,编辑于2023年,星期五ORB的功能(5)用下载的代码(stub)中描述的静态方法调用去激活远程对象中的方法(6)用动态方法调用激活远程对象(7)自动激活一个当前没有装入内存运行的对象。(8)将回调方法导引向其管理之下的本地对象(9)实现细节对软件开发者的透明性,是ORB的一个杰出的特性。用户只须在代码中提供相应的hooks,用于初始化ORB并向ORB登记该应用程序,就可以将该应用程序和大量分布式对象建立联系。第十五页,共一百五十一页,编辑于2023年,星期五CORBA中两种不同的调用方式CORBA允许用户以两种不同的方式提出对象请求:
1)静态调用:
通过给定接口的存根,在编译了对象代码后,进入客户端的程序。因此,静态调用必须在编译时就知道对象及其类型。
2)动态调用:
通过ORB的动态调用接口DII,在运行时生成访问对象的代码。
不管客户以哪一种形式提出请求,ORB的任务是:找出所要对象的位置,激活该对象,向对象传递此请求。对象执行所请求的服务后,把输出值返回给ORB,然后再由ORB返回给客户。
第十六页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—相关概念(IDL)IDL:InterfaceDefinitionLanguage(接口定义语言)IDL是一种描述性语言而不是程序设计语言它只描述接口和相关的数据类型,不描述实现,类似于Java中的IterfaceIDL独立于具体编程语言,应用时由IDL编译器来实现从IDL语言到具体编程语言的映射:如JAVA、C、C++、Cobol等IDL语法是类C++的设计IDL的过程也是设计对象模型的过程IDL使CORBA做到了语言无关第十七页,共一百五十一页,编辑于2023年,星期五客户只是使用CORBA对象的接口来调用对象的方法,CORBA对象的接口则使用IDL语言来定义。对象的接口定义了对象的类型,对象的方法和引用参数以及对象方法可能返回的异常结果。IDL编译器将把CORBA对象的定义转换成特定的编程语言。IDL还对每个对象生成相应的stub文件(类)和skeleton文件(类),通过它们实现应用系统同ORB的连接。CORBA体系结构—相关概念(IDL)第十八页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—相关概念(Stub和Skeleton)Stub(客户桩或存根):位于客户端,由IDL编译器编译IDL文件生成,其功能类似一个客户代理,提供了为客户有效创建对象并发送请求的机制Skeleton(服务框架):位于服务器端,由IDL编译器编译IDL文件生成。提供了将请求发送给服务器对象的机制,以及对象寻址的部分功能第十九页,共一百五十一页,编辑于2023年,星期五OA(Object
Adapter)对象适配器:用于构造对象实现与ORB之间的接口。CORBA支持的实施对象具有不同的对象语义,即不同的实例数据和操作函数的代码。OA的作用是使实施对象的实施与ORB和客户的如何驱动无关。客户仅需要知道实施对象的逻辑结构以及外在的行为。它给框架发送方法,调用并且支持服务器对象的生命周期(如:对象的创建和删除)。
CORBA体系结构—相关概念(OA)第二十页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—相关概念(GIOP和IIOP)GIOP:GeneralInter-ORBProtocol(通用ORB间的协议),它定义了不同ORB之间的通信接口IIOP:InternetInter-ORBProtocol(互联网ORB间的协议)。IIOP把GIOP消息数据映射为TCP/IP连接行为和输入/输出流进行读/写GIOP是一种通用协议,不能直接使用,在不同的网络上需要有不同的实现。IIOP就是GIOP在Internet上的具体实现,它基于TCP/IP协议第二十一页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—相关概念(GIOP和IIOP)
客户端和服务器之间通过ORB交互不同的ORB之间则通过IIOP进行通信互联第二十二页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—相关概念(接口公用库,动态调用接口DII)接口公用库
接口公用库持久地存储IDL的接口说明,借助于接口公用库,可以实现对象继承性层次结构的导航,并且提供了有关对象支持的所有操作的描述。ORB可以利用接口公用库检查运行时的操作参数类型,但接口公用库的基本功能是提供类型信息,为动态调用接口发送请求提供信息支持。第二十三页,共一百五十一页,编辑于2023年,星期五动态调用接口
把IDL说明编译成面向对象程序设计语言的实代码后,客户可以调用已知对象的操作。在某些应用中,用户并不了解应用接口编译信息,但也要求调用对象的操作,这时就要动态调用接口来调用对象的操作了CORBA体系结构—相关概念(接口公用库,动态调用接口DII)第二十四页,共一百五十一页,编辑于2023年,星期五CORBA体系结构—相关概念(IOR)IOR:互操作对象引用(InteroperableObjectReference)。IOR中包含了对象的网络地址信息(IP,Port)、相应的对象适配器(OA)信息以及对象的唯一标识(ObjectId)IOR是分布环境中对一个CORBA对象进行访问的唯一标识对于独立提供服务的CORBA对象(或初始接入对象),通过以下常用方式获取其IOR:从IOR文件读取通过NamingService的名字解析通过TradingService的特性查询bind操作方式,与平台相关,不能在不同平台间互操作对于中间或过渡性的CORBA对象,一般接口规范中都提供相关的操作可以得到其IOR第二十五页,共一百五十一页,编辑于2023年,星期五CORBA对象的客户使用“对象引用”来请求“对象方法”。如果服务端不在本地(不在同一机器的同一应用系统中或不在同一机器中),则“对象引用”指向stub功能,stub利用ORB机制将请求带到服务端的对象。stub通过ORB来确定运行对象的服务端的机器,并请求该机器的ORB连接到对象的服务端去。stub同ORB建立连接后,向该机的skeleton发送“对象引用”及相关参数,再由skeleton功能连接到目标对象的“对象实现”上。skeleton将请求和参数转换成规定格式然后调用该对象。最后,“对象实现”的结果沿着来的路径传送回客户请求端。CORBA体系结构——对象请求和实现过程第二十六页,共一百五十一页,编辑于2023年,星期五在这个操作过程中,客户并不知道CORBA对象的位置、它的实现细节,也不必知道所使用的ORB是什么。在ORB之间通过建立在TCP/IP标准之上的IIOP-InternetInterORBProtocol进行通信联系,相互传送信息。客户只是使用CORBA对象的接口来调用对象的方法,CORBA对象的接口则使用IDL语言来定义。对象的接口定义了对象的类型,对象的方法和引用参数以及对象方法可能返回的异常结果。IDL编译器将把CORBA对象的定义转换成特定的编程语言。IDL还对每个对象生成相应的stub文件(类)和skeleton文件(类),通过它们实现应用系统同ORB的连接。CORBA体系结构——对象请求和实现过程第二十七页,共一百五十一页,编辑于2023年,星期五CORBA服务在CORBA体系结构中,软件服务由模式描述,而由服务者实现。服务者是特殊的软件,它向某个查找服务(lookupservice)注册自己,因此其他的CORBA软件可以定位并访问它的服务。第二十八页,共一百五十一页,编辑于2023年,星期五CORBA服务——COSSOMG定义了一系列标准的CORBA服务实现规范,称为COSS(公共对象服务规范),以简化应用的开发过程,并保证不同产品之间的互通性在COSS中定义的服务主要有:名字服务 定位分布对象事件服务 解耦合对象之间的通信通告服务 针对电信领域事务处理服务保证分布式事务的原子性和持久性安全服务保证消息的完整性、机密性及提供身份认证、访问控制等第二十九页,共一百五十一页,编辑于2023年,星期五COSS服务简介—名字服务名字服务产生的背景ClientServerNamingService1、将对象的逻辑名和引用注册到名字服务器上2、通过事先约定的对象逻辑名取得对象引用3、透明访问直接访问位置变化?第三十页,共一百五十一页,编辑于2023年,星期五ServerAServerBCORBANameService注册服务者注册服务者用名称服务进行客户注册CORBA服务第三十一页,共一百五十一页,编辑于2023年,星期五CORBA客户客户端不需要向名称服务器注册。它们使用名称服务器来查找其他服务。过程如下图:SereverAClientCORBANameService注册服务者查找服务远程引用IIOP第三十二页,共一百五十一页,编辑于2023年,星期五COSS服务简介—名字服务名字服务的特点将每个CORBA对象的对象引用都赋予一个名字,通过名字可以得到相应的IOR采用逻辑名经名字服务间接地访问服务方对象。功能上类似于DNS当服务方的对象在分布式计算环境中的位置“迁移”变化时,客户方不受影响简化了对象引用的管理,提供了编程时的位置透明性第三十三页,共一百五十一页,编辑于2023年,星期五COSS服务简介—名字服务对逻辑名的管理采用类似于目录和文件的形式目录对应于上下文对象文件对应于名字绑定对象每个对象的名字都由如下的结构所组成:Name由NameComponent的序列所组成每个NameComponent分为两部分,类型均为字符串:id:一般作为主要标识kind:一般作为辅助标识,可以为空NameComponent中只有id和kind都一致,才表示匹配第三十四页,共一百五十一页,编辑于2023年,星期五COSS服务简介—名字服务C:MydocInspurCORBA.doc逻辑名名字部件1名字部件2名字部件3名字部件4简单名名字上下文1名字上下文2名字上下文3名字部件ID 值。如:Huawei,V1.0等Kind 描述信息。如:Vendor,Version等第三十五页,共一百五十一页,编辑于2023年,星期五COSS服务简介—名字服务中国
教育
工业
农业
清华大学
北京大学
李教授
张教授
王教授
名字上下文逻辑名(服务对象)层次化命名图,类似树文件系统\中国\教育\北京大学\王教授第三十六页,共一百五十一页,编辑于2023年,星期五COSS服务简介—事件服务事件服务产生的背景分布式环境下,产生事件的实体和处理事件的实体通常情况下是分离的,这种分离是分布式系统开放性的必然要求。这种分离就要求事件的捕获和事件的处理也分离开来我们希望当自己所关心的信息源有内容更新事件发生时,就通知信息获取者,甚至将更新的信息“推”到信息获取者面前第三十七页,共一百五十一页,编辑于2023年,星期五COSS服务简介—事件服务事件服务的特点提出了事件的提供者和消费者,使事件的转发在两者之间透明,减少了耦合用事件通道来解决通知的分发支持Pull和Push两种工作模式支持分布环境,具有良好扩展性主要提供异步事件的分发和灵活配置第三十八页,共一百五十一页,编辑于2023年,星期五COSS服务简介—事件服务事件服务基本概念基本的对象是:Supplier 提供者: 产生事件Consumer 消费者: 处理事件两种模式,PUSH模式和PULL模式:在PUSH模式中,提供者可以在事件发生时主动将事件通知给消费者;在PULL模式中,则由消费者主动向提供者请求事件数据并处理事件仅提供一对一的通讯方式,无法实现事件分发,引入事件通道第三十九页,共一百五十一页,编辑于2023年,星期五COSS服务简介—事件服务事件通道事件通道是一个处于事件提供者和事件使用者之间的“粘合”对象,驻留在ORB上从功能上看,它既是一个事件的提供者又是一个事件的使用者。事件通道允许多个事件提供者与多个事件使用者在相互不了解的情况下,以异步方式进行通信它能够同时支持经典的“推”模型、“拉”模型、混合“推/拉”模型及混合“拉/推”模型这四种事件传递模型第四十页,共一百五十一页,编辑于2023年,星期五COSS服务简介—事件服务工作模式第四十一页,共一百五十一页,编辑于2023年,星期五COSS服务简介—事件服务事件通道的特点使提供者和消费者彼此独立,各自都不关心对方的存在使任意类型的提供者提供的事件能被任意类型的消费者消费到保持提供者和消费者的灵活性,即支持PUSH和PULL以及混合通讯统一的事件表达。在事件服务中,事件统一采用any类型表示使提供者和消费者可以自由加入或退出支持多对多通讯第四十二页,共一百五十一页,编辑于2023年,星期五COSS服务简介—通知服务NS由ES演化而来,其主要区别在于:NS的数据类型是事先定义好的,采用一种大家公认的结构化格式进行传送(对于所有具体的数据值仍以any进行传送);通知的格式提供了过滤的功能,用户可以通过对和自己相关的过滤器的过滤条件进行设置,以获取自己感兴趣的通知;另外NS中提供了一定的QoS功能,以保证可靠性、优先级等;其它的方式与EventChannel的实现是类似的;对于类型化的NS,每种通知将对应不同的操作第四十三页,共一百五十一页,编辑于2023年,星期五COSS服务简介—通知服务工作模式第四十四页,共一百五十一页,编辑于2023年,星期五COSS服务简介—通知服务结构化事件的格式第四十五页,共一百五十一页,编辑于2023年,星期五CORBA应用开发—开发步骤客户程序服务程序客户应用对象实现服务器应用C++,Java编译器OrbLibIDL接口文件IDLStubIDL编译器(C++,Java)IDL编译器(C++,Java)SkeletonC++,Java编译器OrbLibCLIENT开发步骤1)获得IDL文件。2)用IDLcomplier将IDL文件编译生成ClientStub代码。3)编写Client,进行对象调用。4)编译生成CLIENT程序。SERVER开发步骤1)定义/获得IDL文件。2)用IDLcomplier将IDL文件编译成ServerSkeleton代码。3)编写IDL中定义的各个对象Server方的实现(Implementation)代码。4)编写Server,对处理流程进行处理。5)编译生成SERVER运行程序。第四十六页,共一百五十一页,编辑于2023年,星期五基于CORBA的网络管理CORBA提供了统一的资源命名、事件处理和服务交换等机制,这些机制很适合于管理本地以及广域网络。CORBA完全符合现代网络管理远程监控、逻辑管理的基本框架,具有固有的面向对象的技术特征。第四十七页,共一百五十一页,编辑于2023年,星期五基于CORBA的网络管理基于CORBA的网络管理模型可以实现高度的分布式处理;不依赖被管对象实现、主机操作系统和编程语言的通用管理操作接口;提供的功能比SNMP强大,比CMIP简单;支持C++、Java等多种被广泛应用的编程语言,易于被开发人员接受。第四十八页,共一百五十一页,编辑于2023年,星期五基于CORBA的网络管理CORBA在网络管理系统的不同用法:利用CORBA客户实现管理系统;利用CORBA定义被管对象;单独利用CORBA实现一个完整的网络管理系统。第四十九页,共一百五十一页,编辑于2023年,星期五基于CORBA的网络管理为了发挥现有网络管理模型在管理信息定义以及管理信息通信协议方面的优势,一般采用第一种用法:利用CORBA实现管理系统,使其获得分布式和编程简单的特性,而被管系统仍采用现有的模型实现。
第五十页,共一百五十一页,编辑于2023年,星期五基于CORBA的网络管理基于CORBA的网络管理要解决的主要问题:如何利用CORBA客户来实现管理应用程序;如何访问被管资源。研究热点:CORBA与现有网管协议互通的网关,以支持CORBA客户对现有管理信息模型中的被管对象进行管理操作。
SNMP/CORBA网关CMIP/CORBA网关
第五十一页,共一百五十一页,编辑于2023年,星期五基于SNMP/CORBA网关的模型网络管理者:CORBA的客户,以IDL的形式给出对被管对象的描述,接收IDL形式的操作结果;代管(proxy):通过SNMP与外界交换管理信息;SNMP/CORBA网关:在CORBA客户与SNMP代管之间进行信息形式转换。第五十二页,共一百五十一页,编辑于2023年,星期五基于SNMP/CORBA网关的模型SNMP/CORBA网关将SNMP操作转换为CORBA请求和响应通过IDL将SNMP对象自动映射成CORBA对象接收被管设备发送的Trap和通知网管系统(CORBA客户)CORBASNMP/CORBA网关(CORBA服务器SNMPManager)被管设备SNMP第五十三页,共一百五十一页,编辑于2023年,星期五基于SNMP/CORBA网关的模型为了使SNMP/CORBA网关支持一个现有的MIB,必须装载一个可以访问该MIB的CORBA服务程序。SNMP/CORBA网关模型的优点:用户可以不熟悉SNMP协议;SNMPMIB被作为独立的CORBA服务实现,要支持新的MIB,只需增加新的服务即可。第五十四页,共一百五十一页,编辑于2023年,星期五基于CMIP/CORBA网关的模型网络管理者:CORBA的客户,以IDL的形式给出对被管对象的描述,接收IDL形式的操作结果;CMIP代管:通过CMIP与外界交换管理信息;CMIP/CORBA网关:提供了一个CMIP/CMIS与CORBA之间的桥梁,使得基于CORBA的管理应用程序可以访问CMIP代管。它提供了标准的管理API,用于通过CMIP代管实现对被管对象的管理。第五十五页,共一百五十一页,编辑于2023年,星期五基于CMIP/CORBA网关的模型CMIP/CORBA网关类似SNMP/CORBA网关,用于CORBA客户访问CMIP被管对象支持动态地增加新的被管对象类和CMIPAgent网管系统(CORBA客户)CORBACMIP/CORBA网关(CORBA服务器CMIPManager)被管设备CMIPCMIP/CORBA网关(CORBA服务器CMIPManager)CMIP第五十六页,共一百五十一页,编辑于2023年,星期五CORBA与TMN的结合OMG提出了基于CORBA的电信网络管理框架,但目前尚未形成完整的标准。从实用的角度来看,CORBA与TMN的结合应采用能够发挥各自优势的方案。即采用基于CORBA实现分布式的灵活的运营系统(OS),基于Q3接口实现管理信息描述和通信的方案。第五十七页,共一百五十一页,编辑于2023年,星期五基于WEB的网络管理基本概念两种实现方案第五十八页,共一百五十一页,编辑于2023年,星期五基本概念WBM(Web-BasedManagement)模型的产生背景随着专用WorldWideWeb,用户通过Web浏览器可以在任何地点的任何网络平台上与Web服务器通信。为使网络管理更有分布性和实时性,操作更方便、能力更强,人们开始将Web技术与现有网管技术结合,由此产生WBM。第五十九页,共一百五十一页,编辑于2023年,星期五基本概念WBM网络管理的主要优点:地理上和系统上的可移动性:网络管理员通过Web浏览器可从Intranet的任何一台工作站上访问网络管理信息;一个平台上实现的管理系统可以从任何一台装有Web浏览器的工作站上访问,工作站软硬件系统不受限制。第六十页,共一百五十一页,编辑于2023年,星期五基本概念统一的管理程序界面—Web浏览器界面。WBM应用程序的平台独立性:独立于操作系统、体系结构和网络协议。互操作性:管理员可以通过浏览器在不同的管理系统之间切换。第六十一页,共一百五十一页,编辑于2023年,星期五两种实现方案基于代管的方案嵌入式方案第六十二页,共一百五十一页,编辑于2023年,星期五基于代管的方案在现有的网管平台上叠加一个Web服务器,作为浏览器与网管平台之间的代管管理员通过浏览器向Web服务器发送HTTP请求;Web服务器通过CGI调用相应的WBM应用;WBM应用把管理信息转换为HTML并返回给Web服务器;Web服务器响应浏览器的HTTP请求。WBM管理应用通过API从网管平台获取管理信息并存入数据库HTTPAPICMIP/SNMPHTTP请求CGIHTMLHTTP响应浏览器Web服务器WBM管理应用WBM管理应用数据库网管平台API接口网管平台数据库被管设备管理信息第六十三页,共一百五十一页,编辑于2023年,星期五基于代管的方案优点:是在保留现有网络管理系统的特征的前提下,提供灵活操作网络管理系统的方案。代管与被管设备之间的通信沿用SNMP和CMIP。第六十四页,共一百五十一页,编辑于2023年,星期五嵌入式方案将Web能力嵌入到被管设备之中;每个被管设备都有自己的Web地址;管理员可以通过浏览器和HTTP协议直接访问和管理被管设备。第六十五页,共一百五十一页,编辑于2023年,星期五嵌入式方案第六十六页,共一百五十一页,编辑于2023年,星期五嵌入式方案的特点:管理系统完全采用Web技术通信协议采用HTTP协议;管理信息库利用HTML语言描述;网络的拓扑算法采用高效的Web搜索、查询点索引技术;网络管理层次和域的组织采用虚拟形式,不受限于地理位置等因素。
嵌入式方案第六十七页,共一百五十一页,编辑于2023年,星期五两种方案的应用代管方案适合对大型的机构或企业进行全面的监测和管理,并充分管理系统中的SNMP设备嵌入式方案具有界面和设备配置方法的优势,适合于小规模的环境第六十八页,共一百五十一页,编辑于2023年,星期五关键技术HTML:描述WWW页面的语言,可以构建页面的显示和播放信息,提供对其他页面的超级链接,图形和动态元素(如Javaapplet)也可以嵌到HTML页面中。CGI:为WBM应用程序提供访问MIB,格式化HTML页面的能力。第六十九页,共一百五十一页,编辑于2023年,星期五关键技术Java:解释性程序语言、易于移植,Java解释器JVM可以应用于各种处理器环境中,且可绑定在Web浏览器上,使浏览器能够执行Java代码。Javaapplets:一套专用于Web的程序。能在浏览器的本地机上运行;具有浏览器强制安全机制,可以对本地系统资源和网络资源的访问进行安全控制;能实现WBM中的动态数据处理:方便地显示网络运行的画面、集线器机架等图片,实时表示获得的更新信息。第七十页,共一百五十一页,编辑于2023年,星期五WBM的安全性防止非法用户访问WBM由Web设备访问控制能力保证防止管理员的操作数据被侦听或篡改对浏览器和服务器之间的数据传输进行加密Javaapplets的安全问题需要对代码进行保护,防止对字符串和数据进行篡改。第七十一页,共一百五十一页,编辑于2023年,星期五WBM的标准WBEM(Web-BasedEnterpriseManagement)JMX(JavaManagementExtensions)第七十二页,共一百五十一页,编辑于2023年,星期五WBM的一般结构WBEM和JMX改变了传统的Manager-Agent两层体系结构,采用Web浏览器+应用层+被管资源的3层体系结构。第七十三页,共一百五十一页,编辑于2023年,星期五基于主动网的网络管理主动网络简介主动网络体系结构主动网络通信机制基于主动网的网络管理第七十四页,共一百五十一页,编辑于2023年,星期五主动网络简介 主动网络的研究背景 主动网络的基本概念 主动网络的基本原理 第七十五页,共一百五十一页,编辑于2023年,星期五基于TCP/IP协议的Internet遵循“端到端的原则”,也就是说,Internet的网络层只提供不可靠的传输服务,而应用要求的可靠性和安全性等由端系统自己来实现。随着网络规模日益扩大,一些局限性凸现出来:
1、网络规模变得大而复杂,使得网络管理、资源配置、故障定位变得困难; 2、新的网络应用出现,就需要新的协议和服务支持,而网络中的传输节点功能相对固定,导致协议和服务的推出始终无法跟上应用需求的步伐等等。在这种背景下,人们需要研究具有自适应、动态和智能化特性的网络----主动网络(ActiveNetwork)主动网络的研究背景第七十六页,共一百五十一页,编辑于2023年,星期五主动网络的基本概念AN有两个含义:一是被称为ANN的网络中间节点(如路由器、交换机),不仅完成存储转发等网络级的功能,而且可以对包含数据和代码的所谓主动包和普通包进行计算;具有计算能力的网络节点从网络设备接收数据包后执行相应的程序,对该数据包进行处理(如路由选择、数据合并、数据解包等),然后将数据包发送给其他网络节点。二是用户根据网络应用和服务的要求可以对网络进行编程以完成这些计算。第七十七页,共一百五十一页,编辑于2023年,星期五主动网络的基本概念对于用户来说,AN可以动态地改变服务,并按照特殊的应用对服务进行优化;对于业务供应商来说,可以根据用户的需求动态地引入新的协议,与此同时对原有系统的协议没有任何影响;对于研究人员来说,动态可编程的网络提供一个平台,用以在现有网络上实现新的网络服务而不中断正常的网络服务第七十八页,共一百五十一页,编辑于2023年,星期五主动网络的基本原理网络节点不仅具有分组路由的处理能力而且能对分组的内容进行计算处理,使分组在传送过程中可以被修改、存储或重定向。AN的基本思想是将程序嵌入数据包,使程序随数据包一起在网络上传输;网络的中间节点运行数据包中的程序,利用中间节点的计算能力,对数据包中的数据进行一定地处理;然后根据用户定制的要求,决定数据包转发方向或返回的数据包类型及其数据,从而将传统网络中“存储一转发”的处理模式改变为“存储一计算一转发”的处理模式。第七十九页,共一百五十一页,编辑于2023年,星期五主动网络的基本原理AN使用一种可移动的程序代码替换现在的IP报头,网络的中间节点提供一个运行环境解释并执行数据包中携带的程序或利用其携带的参数执行已在节点上的程序。每个用户、每个包都可将特定的协议注入协议栈,由此决定对数据包的具体操作处理。AN中包含许多连接网络的节点,这些网络节点并不一定都是ANN。第八十页,共一百五十一页,编辑于2023年,星期五信包在同时包含主动路由器和传统路由器的网络中传输的情况。信包在包含主动路由器和传统路由器网络中的传输情况主动网络的基本原理第八十一页,共一百五十一页,编辑于2023年,星期五主动网络的体系结构 主动网络的构成 主动节点的体系结构 主动节点中的数据包处理 主动节点处理流程 第八十二页,共一百五十一页,编辑于2023年,星期五主动网络的构成主动网络由连接在一起的主动节点构成,这些节点具有IP路由器的基本功能和特殊的主动性,即能够分解主动包,并为主动程序提供运行环境。主动包可携带用户定制的程序代码或指定的代码标识符。第八十三页,共一百五十一页,编辑于2023年,星期五典型的主动网络体系结构主动网络的构成第八十四页,共一百五十一页,编辑于2023年,星期五主动节点的体系结构主动节点的体系结构NOS第八十五页,共一百五十一页,编辑于2023年,星期五主动节点中的数据包处理在发送和接收主动包之前,执行环境首先请求结点操作系统创建通道。结点操作系统可以利用各种网络技术来实现这些通道,即可以使用底层网络链路,如Ethernet和ATM,也可以使用高层网络协议,如TCP、UDP和IP等。执行环境通过这些通道发送和接收主动包。第八十六页,共一百五十一页,编辑于2023年,星期五通过主动节点的报文流主动节点中的数据包处理第八十七页,共一百五十一页,编辑于2023年,星期五主动节点处理流程建立在数据链路层之上,负责接收/发送信包负责判别主动信包与非主动信包主动信包的身份认证、合法性检测、数据完整性检测,临时加载的AA/EE的安全性检测当发现解释主动信包的EE在本节点不存在时,通过该模块请求从代码服务器中加载当发现主动信包所指示的AC在本节点不存在时,通过该模块请求从代码服务器中下载EE调用相应的AA对信包加以处理第八十八页,共一百五十一页,编辑于2023年,星期五基于主动网的网络管理传统网络的“被动”性在终端系统之间传递信息,不关心信息的内容;完成信息传递进行的处理仅限于对“分组头信息”进行解释,或执行电路的信令协议。主要目的是选择路由、控制拥塞和保证服务质量QoS;由于这些处理是在用户提出通信请求之后进行的,因此网络是“被动”发挥作用的。现有网络管理模型(如CMIP、SNMP),代理根据管理者的操作命令被动地工作。第八十九页,共一百五十一页,编辑于2023年,星期五主动网技术为让网络的功能成分主动地发挥作用,必须允许用户和各交换节点将自己订制的程序注入网络,在网络中主动寻找发挥作用的场所。为了能够执行用户注入的程序,要求交换节点具有对流经的数据内容进行检查和执行其中所包含的代码的能力。
基于主动网的网络管理第九十页,共一百五十一页,编辑于2023年,星期五根据网络的运行情况,动态地移动网络管理中心,使其更接近网络的心脏部位,以减小网络管理的时延,降低传递管理信息的业务量。设计具有特定功能的主动网分组,在分组中插入特定代码,使其成为网络管理的“巡逻兵”,在网络节点之间移动,监视网络中的异常情况。让主动网分组携带处理故障的程序代码,一旦遇到特定的故障,便可及时调整故障节点状态,而不必等待管理中心的处理。基于主动网的网络管理第九十一页,共一百五十一页,编辑于2023年,星期五委派管理(MbD)模型MbD(ManagementbyDelegation):通过将管理代码发送到被管节点,将管理功能动态地分配到各被管设备,并在本地执行。委派代理(DelegationAgent):一段允许从网络管理中心实时发送给配置在远程被管设备中的MbD多线程环境的网络管理程序代码。可用可编译或可解释的任何高级语言编写;MbD多线程环境将其接受为一个线程;独立于网管中心完成本地监视、分析与控制的管理任务。第九十二页,共一百五十一页,编辑于2023年,星期五委派管理(MbD)模型委派协议(DelegationProtocol):支持委派代理向MbD多线程实时环境提交程序代码;支持委派代理线程在MbD多线程环境中动态执行、修改和扩展过程。两种工作方式:1、通过SNMP协议,从SNMP代理上收集设备的数据信息,用于监控、分析;2、MbD管理者动态地向MbD服务器发送委派代理代码,委派代理在MbD服务器上实例化后,监控、分析和控制设备,完成自我管理的功能。第九十三页,共一百五十一页,编辑于2023年,星期五MbD模型结构第九十四页,共一百五十一页,编辑于2023年,星期五移动代理(MobileAgent)模型MobileAgent:能够自行决定并能在网络的各个节点之间移动,代表其他实体进行工作的一种软件实体。一种网络计算,它能够自行选择运行地点和时机,根据具体情况中断自身的执行,移动到另一设备上恢复运行,并及时将有关结果返回。移动的目的是使程序的执行尽可能靠近数据源,降低网络的通信开销,平衡负载,提高完成任务的时效。第九十五页,共一百五十一页,编辑于2023年,星期五移动代理(MobileAgent)模型基于MobileAgent系统的生存、计算、安全、通信和迁移机制:生存机制:MobileAgent的产生、销毁、启动、挂起、停止等方式和方法;计算机制:MobileAgent及其运行环境所具备的计算推理能力,包括数据操作和线程控制原语;安全机制:规定MobileAgent访问网络资源的方式;通信机制:定义MobileAgent与其他实体,以及移动代理之间的通信方式;迁移机制:组成MobileAgent的代码及其执行中间状态在不同地点间移动的方法。第九十六页,共一百五十一页,编辑于2023年,星期五基于MobileAgent网络管理模型的实现CoD(CodeonDemand)模型:在网络管理系统中,分布式地设计一些代码服务器,在网络管理设备上提供虚拟实时支撑环境,移动代码受其支持与控制。REV(RemoteEvaluation)模型:完成特定功能的代码模块根据需要移动到被管设备处,实现网络管理应用,并允许动态地配置与扩充这些移动代码模块。不同的代码模块可以组合成新的代码功能模块,到达被管设备后,这些功能和组合功能才能发挥作用。AgentHosting模型:在每个被管设备的附近建立一个虚“AgentHosting”虚拟机环境。虚拟机中有完成各种功能的Agent,这些Agent与被管设备可采用客户机—服务器的通信方式,并可以由SNMP或CMIP协议支持。移动代理(MobileAgent)模型第九十七页,共一百五十一页,编辑于2023年,星期五基于XML的网络管理XML简介NETCONF第九十八页,共一百五十一页,编辑于2023年,星期五XML简介XML的起源和目的它是一种用来创建标记的标记语言。1996年,万维网协会(或者叫W3C,)开始设计一种可扩展的标记语言,1998年2月,XML1.0成为了W3C的推荐标准。这种XML语言继承了SGML(StandardGeneralizedMarkupLanguage)的规范,是一个子集。XML将SGML的灵活性和强大功能与已经被广泛采用的HTML结合起来,简化了计算机对文档和数据交换的处理,使得现有的协议和软件更为协调,从而简化了数据的处理和传输。第九十九页,共一百五十一页,编辑于2023年,星期五XML简介使用XML标记语言可以做到数据或数据结构在任何编程语言环境下的共享。例如我们在某个计算机平台上用某种编程语言编写了一些数据或数据结构,然后用XML标记语言进行处理,那样的话,其他人就可以在其他的计算机平台上来访问这些数据或数据结构,甚至可以用其他的编程语言来操作这些数据或数据结构了。这就是XML标记语言作为一种数据交换语言存在的价值。第一百页,共一百五十一页,编辑于2023年,星期五XML和HTML的区别XML和HTML都是用于操作数据或数据结构,在结构上大致是相同的,但它们在本质上却存在着明显的区别:语法要求不同标记不同作用不同在HTML中不区分大小写,在XML中对大小写要求非常严格。HTML使用固有的标记,而XML没有固有标记。HTML用于显示页面,而XML用于描述页面内容的数据或数据的结构。HTML把数据和显示合在一起,在页面中把这些数据显示出来,而XML则将数据和显示分开。第一百零一页,共一百五十一页,编辑于2023年,星期五<UL><LI>张三</LI><UL><LI>用户ID:001</LI><LI>公司:A公司</LI><LI>EMAIL:zhang@aaa.com</LI><LI>电话:(010)62345678</LI><LI>地址:五街1234号</LI><U>城市:北京市</LI><LI>省份:北京</LI></UL>HTMLXML和HTML的区别<LI>李四</LI><UL><U>用户ID:002</LI><LI>公司:B公司</LI><LI>EMAIL:li@bbb.org</LI><LI>电话:(021)87654321</LI><LI>地址:南京路9876号</LI><LI>城市:上海市</LI><LI>省份:上海<LI></UL></UL>无序列表标签定义列表项目标签第一百零二页,共一百五十一页,编辑于2023年,星期五<联系人列表><联系人><姓名>张三</姓名><ID>001</ID><公司>A公司</公司><EMAIL>zhang@aaa.com</EMAIL><电话>(010)62345678</电话><地址><街道>五街1234号</街道><城市>北京市</城市><省份>北京</省份></地址></联系人><联系人><姓名>李四</姓名><ID>002</ID><公司>B公司</公司><EMAIL>1i@bbb.org</EMAIL><电话>(021)87654321</电话><地址><街道>南京路9876号</街道><城市>上海市</城市><省份>上海</省份></地址></联系人></联系人列表>XMLXML和HTML的区别第一百零三页,共一百五十一页,编辑于2023年,星期五XML最大的优势在于它能对各种编程语言编写的数据进行管理,使得在任何平台下都能通过解析器来读取XML数据。它的优势可归纳为以下几点:数据的搜索数据的显示数据的交换在XML中可以提取文档中任何位置的数据,XML将数据的结构和数据的显示形式分开,根据需要使数据呈现出多种显示方式。如HTML、PDF等格式。XML标记语言的语法非常简单,可以通过解析器在任何机器上解读。并可以在各种计算机平台上使用。逐渐成为一种数据交换的语言。XML的优势第一百零四页,共一百五十一页,编辑于2023年,星期五XML的基本语法XML的语法规则
XML的语法规则既简单又严格,非常容易学习,在使用过程中只需认真仔细,没有多大困难。一般XML的语法规则大致可归纳为以下几点:
正确的嵌套包含
结束标记不可忽略
区分大小写
在HTML中某个标记有起始标记,却可以没有结束标记,但在XML文档中却不可以。在XML中严格区分大小写,主要表现在开始标记和结束标记的大小写必须相同。还包括文档的声明部分和文档类型定义部分的大小写区分。第一百零五页,共一百五十一页,编辑于2023年,星期五XML文档的逻辑结构一个XMl文档最基本的构成是:XMl声明处理指令(可选)XML元素注释(可选)<?xmlversion="1.0"encoding="UTF-8"?><?xml:stylesheettype="text/xsl" href="stu.xsl"?> <!--班级中学生的信息--> <class> <student> <name>Jone</name> <age>20</age> </student> </class>XML的基本语法第一百零六页,共一百五十一页,编辑于2023年,星期五
属性 属性是用来修饰某个元素的,如: <root> <aattribute="aa">thisistest</a> </root>属性名
属性值
关于元素的属性需注意如下几个问题:属性的值必须用引号括起来,如:
attribute1=“aa”或attribute3=‘aa'
;元素的属性以名和值成对出现;用来修饰同一个元素的属性的属性名不能相同
;属性值不能包含“&”、“’”、“<”等字符。
第一百零七页,共一百五十一页,编辑于2023年,星期五CDATA节通过CDATA节可以通知分析器,在CDATA节包含的字符中没有标记。这样,如果文档包含可能会出现的标记字符,但我们又不是把它当作标记来使用,而只是属于文本字符,那么使用CDATA节来创建这样的文档就容易得多。CDATA节主要用于脚本语言内容、示例XML文档内容和HTML内容。在“<![CDATA[”和“]]>”之间不能再加入CDATA节或“]]>”第一百零八页,共一百五十一页,编辑于2023年,星期五<?xmlversion="1.0"encoding="gb2312"?> <程序> <title>test</title> <内容>
<![CDATA[ if(20<10){ return"你好"; }else{ return"hello"; } ]]> </内容> </程序>CDATA节第一百零九页,共一百五十一页,编辑于2023年,星期五<![CDATA[<联系人><姓名>张三</姓名><EMAIL>zhang@aaa.com</EMAIL></联系人>]]>CDATA节第一百一十页,共一百五十一页,编辑于2023年,星期五DTD简介DTD(文档类型定义)可以定义合法的XML文档结构,它使用一系列合法元素来定义文档的结构。DTD分为内部DTD和外部DTD,所谓内部DTD是指该DTD在某个文档的内部,只被该文档使用。外部DTD是指该DTD不在文档内部,可以被其他所有的文档来共享。DTD文档与XML文档实例的关系可以看成是类和对象的关系。第一百一十一页,共一百五十一页,编辑于2023年,星期五DTD简介每一个XML文档都可携带一个DTD,用来对该文档格式进行描述,测试该文档是否为有效的XML文档。对于XML文档而言,虽然DTD不是必须的,但它为文档的编制带来了方便。加强了文档标记内参数的一致性,使XML语法分析器能够确认文档。如果不使用DTD来对XML文档进行定义,那么XML语法分析器将无法对该文档进行确认。第一百一十二页,共一百五十一页,编辑于2023年,星期五DTD中元素的定义<!DOCTYPEroot[ <!ELEMENTroot(name)> <!ELEMENTname(#PCDATA)>]><root> <name>张三</name></root>根元素声明子元素第一百一十三页,共一百五十一页,编辑于2023年,星期五元素的定义——根元素的声明
DOCTYPE是“documenttype”(文档类型)的简写,DOCTYPE声明必须放在文档最顶部,在所有代码和标识之上DOCTYPE声明是必不可少的关键组成部分。DTD语法要求DOCTYPE必须要大写DOCTYPE和元素之间必须要有空格隔开。如在以上代码中DOCTYPE和根元素root之间要有空格隔开。第一百一十四页,共一百五十一页,编辑于2023年,星期五元素类型——子元素的定义<!ELEMENT元素名元素类型>ELEMENT是关键字,后面跟元素名和元素类型,中间用空格分开。元素类型一般分为以下几种:EMPTY
#PCDATA
ANY
关键字和符号的综合
只包含子元素
使用符号
其它非关键字类型第一百一十五页,共一百五十一页,编辑于2023年,星期五EMPTY和#PCDATA 属于EMPTY类型的元素没有字符串值,即该元素不包含任何内容,但可以有一个或多个属性。如下:<!DOCTYPEroot[ <!ELEMENTroot(havewife)> <!ELEMENThavewifeEMPTY>]><root> <havewife></havewife></root>#PCDATA表示该元素可以包含经过XML解析器解析过的文本数据。如下:
<!DOCTYPEroot[ <!ELEMENTroot(name)> <!ELEMENTname(#PCDATA)>]><root> <name>张三</name></root>第一百一十六页,共一百五十一页,编辑于2023年,星期五ANY类型 ANY类型表示可以包含多个子元素且不受限制,也可包含字符串数据。但ANY一般用在对根元素的声明中。如下:<!DOCTYPEroot[ <!ELEMENTrootANY> <!ELEMENTname(#PCDATA)> <!ELEMENTemail(#PCDATA)>]><root> <name>张三</name> <email>zhangsan@</email> <email>zhangsan@163.com</email></root>第一百一十七页,共一百五十一页,编辑于2023年,星期五其它非关键字类型只包含子元素 将某个元素定义为只包含子元素,没有字符串数据。如下:
<!ELEMENTname(smallname,secondname)>
使用符号
一般可使用的符号分为以下几种:
问号(?),表示该元素可以出现一次或不出现。加号(+),表示该元素可以出现一次或多次。
星号(*),表示该元素可以出现一次、多次或不出现。
或(|),表示两个元素中只出现一个,且必须出现一个。
逗号(,),定义各元素间的顺序。
第一百一十八页,共一百五十一页,编辑于2023年,星期五属性的定义<!ATTLIST元素名属性名类型属性特征>ATTLIST是关键字;元素名是指该属性所属的元素的名称;属性名是该属性的标识;类型是表示该属性属于何种类型;属性特征是对该属性的约束,比如设置是否每个元素实例都必须有该属性等控制。如下:<!DOCTYPEproducts[ <!ELEMENTproducts(product+)> <!ELEMENTproduct(#PCDATA)> <!ATTLISTproduct编号CDATA#IMPLIED>]><products> <product编号="A-FSd">aaa</product> <product>bbb</product></products>“product”是元素名,“编号”是属性名,“CDATA”是属性类型,“#IMPLIED”是属性的特征。
第一百一十九页,共一百五十一页,编辑于2023年,星期五属性的类型NMTOKENS属性类型
CDATA属性类型
NMTOKEN属性类型
IDREF属性类型
IDREFS属性类型
Enumerated(枚举型)属性类型
NOTATION属性类型
ENTITY属性类型
ENTITIES属性类型
Enumerated不是关键字
ID属性类型
第一百二十页,共一百五十一页,编辑于2023年,星期五属性的特征#REQUIRED:表示该属性必须有。
#IMPLIED:表示该属性可以有也可以没有。
#FIXED:表示该属性的属性值固定。
第一百二十一页,共一百五十一页,编辑于2023年,星期五 <?xmlversion="1.0"encoding="gb2312"?> <!DOCTYPEpeople[ <!ELEMENTpeople(person+)> <!ELEMENTperson(#PCDATA)> <!ATTLISTperson性别(男|女)#IMPLIED> <!ATTLISTperson姓名CDATA#REQUIRED> <!ATTLISTperson应聘职位CDATA"经理"> <!ATTLISTperson学历CDATA#FIXED"大学"> ]> <!--"应聘职位"可以自己定义,但“学历”的值必须是 “大学”,“姓名”必须有, “性别”属性可有可无。 --> <people> <person性别="男"学历="大学"应聘职位="经理"姓名="lily"> </person> <person学历="大学"应聘职位="业务员"姓名="Quty"> </person> </people>“学历”的值必须是“大学”
“应聘职位”的值可以自己定义
“性别”属性可有可无
属性的定义的例子第一百二十二页,共一百五十一页,编辑于2023年,星期五内部DTD和外部DTD的使用内部DTD是指该DTD在某个文档的内部,只被该文档使用外部DTD是指该DTD不在文档内部,可以被其他所有的文档来共享使用外部DTD可以把DTD文件从XML文档中分离出来。第一百二十三页,共一百五十一页,编辑于2023年,星期五内部DTD和外部DTD的使用使用外部DTD可以把DTD文件从XML文档中分离出来。在文档中对外部DTD的引用一般格式如下:<!DOCTYPE元素名SYSTEM文件名>或 <!DOCTYPE元素名PUBLIC文件名>其中“DOCTYPE”和“SYSTEM”、“PUBLIC”为关键字,“元素名”一般为根元素的名称,“文件名”为该文档将要使用的外部DTD的文件名第一百二十四页,共一百五十一页,编辑于2023年,星期五例子note.dtd<!ELEMENTnote(to,from,heading,body)><!ELEMENTto(#PCDATA)> <!ELEMENTfrom(#PCDATA)> <!ELEMENTheading(#PCDATA)><!ELEMENTbody(#PCDATA)>内部DTD和外部DTD的使用第一百二十五页,共一百五十一页,编辑于2023年,星期五对note.dtd的引用<?xmlversion="1.0"?> <!DOCTYPEnoteSYSTEM"/dtd/note.dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don'tforgetmethisweekend!</body> </note>内部DTD和外部DTD的使用第一百二十六页,共一百五十一页,编辑于2023年,星期五DTD的缺陷利用DTD验证有效性的解析器,就能够立即对文档的完整性进行可靠的检查。DTD虽然比较实用,但DTD也有不少的缺陷。如下:DTD的结构化不够完善,不利于重用。
DTD本身并不是XML文档DTD是基于正则表达式的,描述能力有限。DTD语法有限,无法对XML文档的结构作出更细致的语义限制。DTD没有数据类型限制,无法在应用程序中使用。所谓正则表达式就是指由多个字符等组成的字符串
第一百二十七页,共一百五十一页,编辑于2023年,星期五Schema概述Schema通常是一组为了描述某一类XML文档而定义好的一套规则。XMLSchema与DTD一样,也是对某一类XML文档进行约束并确定其结构XMLSchema最初是由微软提出并使用,后来在W3C的专家们充分讨论和论证的基础上,于1999年2月15日,W3C发布了一个需求定义,说明了新定义的Schema必须符合的要求。1999年5月6日,W3C完成并发布了Schema的定义。最终被确定成为一个标准第一百二十八页,共一百五十一页,编辑于2023年,星期五Schema的优势XMLSchema文件使用XML语法,在其设计目的方面与DTD类似,但是在功能方面,XMLSchema比DTD更完善,并且更容易扩展。相比DTD主要优势有以下几点:一个XMLSchema文件同时也是一个XML文档,Schema定义了多种数据类型。在XMLSchema文件中可以像在其他编程语言那样来定义数据类型,如整型、字符型、浮点型、布尔型、日期型等。第一百二十九页,共一百五十一页,编辑于2023年,星期五Schema的建立一个有效的Schema文件的结构如下:<?xmlversion="1.0"encoding="UTF-8"?> <xs:schema
xmlns:xs="/2001/XMLSchema"
elementFormDefault="qualified"attributeFormDefault="unqualified"> <!--这里编写内容--> </xs:schema>第一百三十页,共一百五十一页,编辑于2023年,星期五Schema类型元素 Schema类型的元素是Schema文件的根元素,每个Schema文件必须包含Schema类型的元素。Schema类型元素的属性有以下几种:elementFormDefaultxmlnstargetNamespaceattributeFormDefault其它属性xmlns是xhtmlnamespace的缩写,称为“命名空间”xmlns属性的值是一个URI或URL地址xmlns属性不可缺少该属性的值是在xmlns已经定义好的命名空间中选择。该属性可有可无
用于指示子元素是否放到命名空间中,有“qualified”和“unqualified”两种取值用于指示是否把某个子元素的属性放到命名空间中,有“qualified”和“unqualified”两种取值
“finalDefault”、“blockDefault”、“xml:lang”和“id”属性,对于这些属性一般都采用默认设置。第一百三十一页,共一百五十一页,编辑于2023年,星期五基于XMLSchema的note.xsd
<?xmlversion="1.0"?> <xs:schemaxmlns:xs=/2001/XMLSchema targetNamespace= xmlns="" elementFormDefault="qualified"> <xs:elementname="note"> <xs:complexType> <xs:sequence> <xs:elementname="to"type="xs:string"/> <xs:elementname="from"type="xs:string"/> <xs:elementname="heading"type="xs:string"/> <xs:elementname="body"type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>第一百三十二页,共一百五十一页,编辑于2023年,星期五对note.xsd的引用 <?xmlversion="1.0"?> <note xmlns="" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="note.xsd"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don'tforgetmethisweekend!</body> </note>第一百三十三页,共一百五十一页,编辑于2023年,星期五NETCONF概述NETCONF协议定义了一种简单的网络配置管理机制,它可以管理网络设备,提取配置数据,上载及操作新的配置数据NETCONF采用远程过程调用RPC的模式工作客户机用XML编写的RPC请求,通过安全的session发送到服务器服务器用XML编写的RPC应答进行回复客户机是网络管理者,可以是一个脚本或是网络管理者的一个应用程序服务器对应被管设备,通常是一个网络设备第一百三十四页,共一百五十一页,编辑于2023年,星期五NETCONF概述NETCONF是网络自动配置系统的一个绑定模块XML是配置系统中通信双方的信息交换语言一个重要特点是能使管理协议最大限度地利用被管设备自身的功能,从而降低成本,及时访问设备的新特征和新功能第一百三十五页,共一百五十一页,编辑于2023年,星期五层次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版某三期护坡桩工程施工过程监测与评估合同4篇
- 2025年度生态地板安装与环保认证服务合同4篇
- 二零二五年度品牌推广电子商务B2B购销数字资产交易合同4篇
- 2025年度文化创意产业聘用员工劳动合同标准文本4篇
- 二零二五年度健康食品品牌形象设计与市场推广合同3篇
- 二零二五年度生态农场果品出口贸易合同4篇
- 二零二五年度家政服务合同中退款条款
- 二零二五年度商业空间面积调整补充合同4篇
- 2025年美发店大数据分析与营销策略合作合同协议书
- 课题申报参考:媒介化加速视域下社交媒体新个体文化的建构与引导研究
- 小学数学知识结构化教学
- 2022年睾丸肿瘤诊断治疗指南
- 被执行人给法院执行局写申请范本
- 饭店管理基础知识(第三版)中职PPT完整全套教学课件
- 2023年重庆市中考物理A卷试卷【含答案】
- 【打印版】意大利斜体英文字帖(2022年-2023年)
- 2023年浙江省嘉兴市中考数学试题及答案
- 【考试版】苏教版2022-2023学年四年级数学下册开学摸底考试卷(五)含答案与解析
- 《分数的基本性质》数学评课稿10篇
- 第八章 客户关系管理
- 新版人教版高中英语选修一、选修二词汇表
评论
0/150
提交评论