网络计算――分布式计算环境(DCE)概述

时间:2022-02-06 11:29:41

网络计算――分布式计算环境(DCE)概述

摘要:简述DCE的基本核心服务的内容,DCE吸取了各种网络计算环境的优点,将不同厂商的异构的计算机集成为一个统一的计算环境,成为分布应用领域的事实标准。

关键词:DCE;IDL;RPC;网络;服务

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)21-5947-03

1 DCE的定义

分布计算(distributed computing)也称网络计算(networking computing),它是充分利用网络资源的计算模型。该模型旨在提供一套有组织的系统方法,以实现一种开放型的标准化系统结构,使程序和数据都具有透明的分布能力和网络联结能力,以及互操作性和可移植性的能力。

开放软件基金会OSF(Open Software Foundation),是一个由200家计算机公司组成的非营利组织,专门从事于创立一个将所有平网的标准。它定义的分布计算由三个层次组成:基础性物理连接和分组交换机构,分布式计算环境,用户与网络接口。

分布式计算环境(distributed computing enviroment,缩写为DCE)是利用操作系统提供韵功能,统一管理网络资源,向用户和应用程序提供方便的管理机制、使用方法和开发手段,充分利用网络性能和资源。它的目标是使不同厂家的计算机或具有不同操作系统平台的计算机,能集成为一个统一的计算环境,使程序和数据具有透明的分布能力和网络联结能力以及互操作性、可移植性的能力。

最早的分布计算环境是以Sun Microsystem公司提出的SUN NFS(网络文件系统)为基础的ONC(开放网络计算),这是一个连接各种机型的通信体系。在这个网络环境中,网络内各用户能透明地共享文件,应用开发人员可高效地使用网络分散资源和异构机上的资源,并为网络管理员提供了各种网络管理工具。ONC环境目前已得到世界上主要计算机厂家的支持,如IBM公司、Microsoft公司等。

尽管如此,目前的计算环境仍存在不少问题,如不同厂商的网络环境不能协同工作、网络计算能力未能得到充分利用等,而且网络新技术层出不穷。为适应这种潮流,需要一种全新的统一的分布式计算环境标准。

未来的分布式计算环境与现在的联网环境大有区别。现在的网络环境,只是把一大批机器连在一起,计算机之间进行异步的信息传输。在新的分布式环境中,将是异种机器联网的紧耦合系统,也就是说,最终用户、应用开发者、系统管理人员所看到的是一个单一的系统,他们共处在一个共同的界面上,机器与机器之间的数据、?资源、名称等的差异都是透明的。

2 DCE的特征

新的分布式环境至少需要具备以下特征:

1) 每个对象如用户、文件、资源和服务等,在这个系统中有其唯一的名称,即无论在系统的何处访问这个对象,其名称不变。

2) 可以在系统的任何地方使用系统提供的任何一种服务,而不管该种服务现居何处。

3) 系统各处使用相同的用户认证方式,此外,系统的所有设备(打印机、文件等)采用相同的访问控制机制。

4) 有相应权限的用户可以在系统的任何地方管理系统的资源和对象。

为此,开放软件基金会OSF于1991年9月17日在波土顿推出了分布式计算环境DCE,在这个环境中,世界上所有的机器联成一个网络,网上任何机器可以方便地进行互访、资源共享和互相协同工作。

DCE软件由OSF组织成员分别负责开发,最近,各厂家纷纷推出各自的DCE产品,如IBMRS/6000上的AIXV3.0;HP公司也在其HP―VXMPE/XL上实现DCE功能。估计在不久的将来,DCE将成为使用网络资源和开发分布式应用程序的有力工具。

DCE是基于操作系统之上的一层系统软件,可运行在微机、工作站、小型机和大型主机上,其目的是以可移植性操作系统接口POSIX和X/Open Compliant规范为标准,从而独立于操作系统,便于在不同的平台和操作系统中实现。

DCE用C语言编写,并按模块化结构来建造。

我们从DCE结构可以看到,在DCE上执行的应用,通过RPC,可以将任务合理地分配到网上的机器分别执行,充分利用分布系统的功能,同时,网络上的任何用户,在系统提供的安全服务下,可在任何平台上登录,只需经过安全系统注册一次,即可访问系统中的所有平台。

3 DCE提供的服务

图1是OSF/DCE结构模型。DCE由两部分组成,一部分是基础型分布服务,它为应用开发者提供了基本工具,如RPC、安全服务、目录服务、时间服务、线程等;另一部分是数据共享服务,如分布文件系统等。下面分别简要介绍DCE所提供的核心服务。

1) 远程过程调用(remote procedure call,缩写为RPC)RPC是网络应用的一种高级通信范例。通过使用RPC,网络平台上的程序能够与远程(及本地)的资源进行通信,它的实现是将控制从一个进程传递到另一个进程中,返回时,再将控制归还给调用者。对于clinet/server模式,也就是在server方具体实现远程过程,而在client方即像调用本地过程一样调用远程过程。

使用RPC机制,避免了网络接口的细节,用户只需按平时本地过程调用方式那样调用远程过程即可。至于一些诸如网络接口、转换不同机器的数据表示差异、精度差异等细节,由RPC机构处理,用户无须顾及,基于这个机制,DCE通过RPC,在对计算负荷进行全网合理分配下,充分利用网络资源。

DCERPC由两部分组成:一部分是IDL语宵(接口定义语育),另一部分是RPC机构本身。

用户程序使用IDL语言定义RPC接口,如接口属性、类裂定义、数据属性、常量和远程过程说明筹,然后由DCEIDL编译10将该定义转换成可在网上进行传送的可移植C代码,这些代码既可供客户机运行,又可供服务器运行。

RPC机构本身提供以下几方面的支持:确定网络传输协议,搜索目录服务器,查找server的宿主机client/server之间的联接I转换RPC。

这样,用户只需实现IDL文件,client方程序、server初始化程序、远程过程即可实现分布计算,其他复杂过程(如数据表示的转换、安全管理辞方面)由RPC机制自动完成。

总之,RPC使二个应用程序中的过程能在网络中任何计算机上运行,而无须顾及它所在位置及体系结构,这样,DCERPC使程序员工作大为简化,与本地过程调用模式相似,简单明了地实现了应用的分布功能。

2) DCE的目录服务

DCE的目录服务提供资源全局一致的命名环境,也就是说,用户可以在任何地方使用同一名字访问该资源。

在详细描述DCE的目录服务之前,首先提及一下DCE中的一个重要名词cell(单元),DCE是以cell为单位进行操作和管理的,一个cell是由一组联网的计算机组成,这组计算机并不是随意组合的一组,而是在该组计算机上的用户、计算机系统、各种资源均服务于同一目的,具有一定紧密性。每个cell可包含两台计算机以至上千台计算机不等。cell的确定因素很多,如安全性、用户目的,等等。

DCE的目录服务包括:单元目录服务(CDS),全局目录(GDA),全局目录服务(GDS)和X/Open目录服务(XDS),CDS处理采自单元客户机的目录查询,若存在,则返回请求的数据,如不存在则将请求传给GDA,由GDA在GDS中查找,直到找到为止,然后由该CDS将结果返回给请求的客户。

DCE的命名符合CCITTX.500和ISO9594标准。另外,还可采用DNS(domain name service)格式,符合Internet RFCl034,1035标准。

X.500提供全球层次式命名方法。这是一种非常灵活的机制,在X.500的支持下,用户通过分层关系,可方便、快捷地查询到所需的服务。

3) DCE分布时间服务

DCE分布时间服务(DTS)是用于同步系统中所有机器的时钟,提供用户全局一致的时间服务,以协调事件发生的顺序,以免由于不同机器上时间的漂移,造成误操作,甚至引起系统崩溃,如事件出错记录、出错恢复、数据访问与更新等,都需要时间协调。

DCE的时间服务是以cell为单位的,一个cell中有若干个DTS Server,其他主机上装有DTS Clerk。DTS采用间隔(interval)表示时间,DTS Clerk或Server从DTS Server中获取Interval。

DTS在每个LAN上配置一个Global Server,连接到一个外部时钟上,从而实现整个cell的同步。

4) 安全服务

DCE的安全服务是防止非法用户侵入,同时也防止进网用户进行授权之外的操作和访问,从而保护系统的安全。

DCE的安全服务包括三个部分:认证(authentication),授权(authorization)和用户注册。安全服务通过RPC实现。

认证、授权是DCE安全服务的两个关键概念,认证是检验用户是否具有对所请求资源的存储和使用权,授权则是系统赋予用户使用、存取特定资源的能力。

认证服务由三个重要部件组成:中心数据库,验证服务器和Ticket批准服务器(TGS)。这三个部件都安置在网中相对安全的主机上,其中,中心数据库是安全服务的关键部分,在库中存有全系统的安全信息,包括用户注册名及相关口令、网上所有工作站和服务器的网络地址、服务器密钥及存取控制表等。

在该系统中,客户机与服务器之间连接需要有密钥,该密钥只有系统和相关服务器才知道。

授权服务是通过ACL(存取控制表管理器)进行的,通过使用该管理器,可设定和更改用户对Server和其他系统资源的访问和存取权限。

当用户在任何一个工作站上登录注册后,注册进程将访问验证服务器,获取一张Ticket建立与TGS联系。该Ticket是用存在数据库中的口令字和用户注册名进行加密。为了从TGS中申请Ticket,以便与其他Server通信,需使用用户口令字,符合即可进网。

当用户进程欲访问某个服务器时,TGS通过查找数据库中的存取表,在确认该用户已被授权使用该服务器时,将会把与该服务器相连的密钥加密后的Ticket分发给该用户和服务器。由于该Ticket被加密,所以客户机无法破译Ticket,但能凭借它与所需的服务器进行通信,服务器在验证该Ticket后,才能接受用户的请求。DCE服务器密钥的加密,目前采用美国国务院的DES(data encryption standard),这种验证与授权方法简单,无须将口令传遍整个网络。

5) 多线程

DCE的运行是基于多线程机制的,且多线程进程处于公共地址空间。线程是进程中可以并发执行的小程序段,进程按照其包含的线程的数目,可分为单线程进程和多线程进程两种。DCE进程属于多线程进程,服务器进程可以利用多线程,同时处理多个客户机的多个请求,而它的客户机进程则可以同时将多个RPC分配到网上一个或多个服务器上。由于不同的线程可以在不同处理机上执行,此外线程能并发执行,与分布式环境的并行性匹配,有效地提高了系统的性能。

DCE的线程服务为应用程序提供了移植功能,同时,也为DCE的其他核心服务所应用,如RPC。由于RPC是同步操作,所以发出RPC请求时能利用另一线程并发处理来自于不同请求的数据,从而大大改善了分布式程序的性能。

DCE的线程技术最初以DEC公司的Concert Multithread Architecture为基础,而现在转向以POSIXl003,4a规范为基础。

6) 分布文件系统(DFS)

DCE分布文件系统提供单一的全局文件系统,从而达到对网上任何节点的任何文件提供透明访问。

DFS是基于Trunsarc公司的Andrew文件系统(AFS)发展起来的。DFS提供几个重要的功能:

① 文件定位:记录文件迁移,保存和管理文件地址信息和定位数据。

② 备份服务:存放cell中所有文件的备份信息。

③ 文件服务:管理文件,维护文件的存取权限――DFS文件采用6种权限:读、写、执行、控制、插入、删除。

④ 文件缓存管理:更新数据,进行数据回写,同时采用文件多拷贝技术,增强对文件系统和网络故障的免疫力。

DFS代表了一种新型的共享数据的方法,取消了本地文件存取和远程文件存取的区别。与其他文件系统相比,它在共享信息、管理文件、平衡负载、扩充性、可靠性等方面大有提高。

参考文献:

[1] Ward Rosenberry,David Kenney & Gerry Fisher.Understanding DCE,O'Reilly & Associates,Inc.2002.

[2] Tom Austin.Client/Server(C/S)Scenario,Gartner Group Annual Symposium on the Future of the lnformation Technology lndustry,2005.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:基于GIS的物流管理信息系统研究 下一篇:高速磁浮半实物仿真集成系统测试平台研究