第八章命名服务

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第八章命名服务与透明性12主要内容8.1名称与属性8.2命名方式8.3分布式系统的命名服务系统8.4DNS域名服务系统8.5小结名称在所有计算机系统中起着重要的作用,它们用来共享资源,唯一标识实体,指向位置等。命名的对象可以有多种类型,而且可被一些不同的服务来访问。命名方案与系统的透明性密切相关。命名服务器可根据给定的名字来进行资源或对象的地址定位,并获取有关的属性信息。34各种对象的庞大集合针对不同对象进行命名提供各种服务系统对命名对象的实际需求设计命名方式设计名字服务器名字服务器5域名命名方式:层次方式名字服务器8.1名称与属性名称属性联编名称的映射61.名称名称:由位和字符组成的字符串,用来指向一个实体。三种类型的名称:地址,标识符,用户友好的名称。地址:与实体相关的访问点的名称。(IP)标识符:用来唯一标识实体的名称。(UFID)用户友好的名称:由字符串表示,由人来使用。(域名)72.属性属性:基本值(如整数)或者自身的名称。83.联编联编:名称和对象之间的联结。4.名称的映射名称的映射:实现由名称到实体的对应。实例:在资源标识符包含端口标识符的系统中,名称的映射关系。910/users/smith/prog.c16499792:60:8c:2:b0:5afile文本文件名资源标识符(端口标识符,特定服务标识符)网络地址服务器8.2命名方式一般的命名方式分布式系统中的命名方式111.一般的命名方式在计算机系统中,每个对象一般有两个名字,一个是由用户识别的文本名(符号名),另一个是由系统使用的内部名。内部名可以是该对象的实际位置,也可以是查询该对象之地址的一种表示形式。通过某种映射,系统可以把用户定义的符号名转换成相应的内部名。121.一般的命名方式下图给出了一个简单的文件目录结构。其中A、B各有三个文件,其目录包含了每个文件的文件名及指向对应文件在磁盘上地址的指针。这里,相同的文件名可用来指称不同的文件。例如,两个目录中都含有s.Pas,但它却代表两个不同的文件。不同的文件名也可以指称同一个文件。例如,A目录中的test.dat和B目录中的old.dat两者的指针都指向“文件1”。131.一般的命名方式14文件的目录结构1.一般的命名方式由于系统可以有多个用户,因此,目录常常组织成层次结构。每一用户在根目录或主目录中都有一个表项。因此,文件名不仅只是文件名本身,而且也应包括它与根之间所有目录的名字(路径名)。15A目录中的test.dat文件的完全路径名是root:A:text.dat。rootAtest.datmy.cs.pasold.datown.cs.pasB文件的层次结构(1)分布式系统的透明性系统的透明性(transparency)是指系统的内部细节对用户是隐藏的。一个真正透明的分布式系统的用户把该系统看成是一个统一的整体。例如,它可以任意移动系统中的某个文件而不必改变文件的名字。162.分布式系统中的命名方式(1)分布式系统的透明性分布式系统的透明性主要包含以下方面:名字透明性:一个对象的名字不依赖于系统中的站点,每个对象有一个全局惟一的名字,不同站点使用同一个名字访问同一个对象。位置透明性:对象的名字是独立于该对象位置的,这样,与一个名字相关的对象可从一站点迁移到另一站点而不必改变其名字。17(1)分布式系统的透明性程序执行的透明性:在响应一个用户提出的“执行某个程序”的请求时,操作系统可在系统内任何可用的处理机上调度所指程序的执行,并对用户保持这种透明性。存取透明性:存取一个对象与与该对象的位置无关。存取透明性不仅保证一个进程可从一处理机迁移到另一处理机上运行,而且还可以实现将一个任务分配后,使其各子任务在不同的处理机上并发执行。18(1)分布式系统的透明性并发存取透明性:一个对象的用户通常不知道还有其他用户也在并发存取该资源,即用户得到了这种假象——他是在互斥存取该对象。进程诱明性:每一进程就像在一台机器上运行时那样去识别所有其他进程。这就要求有一个大的惟一的进程名空间,使系统能可靠地对运行在任意站点上的进程发送信息并获取进程状态。对用户而言,编写程序就像为一台机器编写程序一样,而写好的程序则能在多台机器上运行。19(1)分布式系统的透明性复制透明性:某个对象的用户不知道该对象是否是复制的.即系统对用户提供了对象的单一副本。故障透明性:系统可对用户隐藏“系统的某些成分已经故障”这一事实。当然,用户可通过系统性能的衰减而察觉到这一点。全局透明性:系统的边界对用户完全透明,用户像使用单机一样使用分布式系统。20(1)分布式系统的透明性文件系统透明性:文件可存放在系统中的任何站点、文件有多少副本、最新版本是多少、如何更新均由系统解决,多副本间的一致性由系统自动协调。用户则可用存取本地资源同样的方式存取远程文件。性能透明性(又称网际透明性):这是一个综合要求,简单地说是指使访问远程资源与访问本地资源所需的开销之差小到可忽略的程度。或者说,用户不应感到由于远程存取而带来过多的性能衰减。21(1)分布式系统的透明性命名方案与透明性问题极为相关,系统的透明性含了下面的事实:资源的位置不应嵌入其名字中;名字应该是全局惟一的,相同的名字应该有相同的效果,不管在哪个站点上使用,它们都应该有相同的含义。22(1)分布式系统的透明性在一个实用的分布式操作系统中提供完全的透明性是比较困难的,而且也未必总是需要的。因为透明性与分布式系统的下面几点要求相冲突:局部自治性:在一个分布式系统中,某个站点的管理者或拥有者总希望对它的资源保持尽可能多的局部控制,这一点有时可能与系统的透明性相冲突。23(1)分布式系统的透明性优化:在某些情况下,用户可能希望知道资源位置的显示信息并对它进行控制,这可能出于优化系统性能的要求。例如,通过在局部站点上频繁地使用那些可快速存取的资源来加速任务的完成。这方面的要求显然与透明性是相冲突的。24(1)分布式系统的透明性异构:完全透明性是很难实现的,这个问题体现在两个方面。第一是基础硬件可随站点的不同而异,例如,一个在PC机上运行的程序不可能直接在一个Sun工作站上运行;第二是各站点上都可能运行不同的系统软件,在这些不同的系统软件之间提供比较一致的透明性是件不容易的事。25(2)分布式系统的命名方案设计命名方案的一个基本观点是:名字是依赖于位置还是独立于位置。分布式系统中常用的命名方案有绝对命名、相对命名和层次式命名三种。由绝对命名方案命名的名字是全系统范围惟一的、无二义性的。在机内,这类名字通常是由时钟或计数器之值产生的位串。由相对命名方案命名的名字依赖于使用它的上下文。对于不同的使用者,一个对象的名字可以是不同的,或者说,一个对象的名字不惟一。26(2)分布式系统的命名方案层次式命名方案用如下方式组织系统中的对象名:*对象被分划成若干组;*每组给定全局惟一的组名;*每组中的每个对象在组内给定惟一的名字;*一个组中对象名还可按此方式进一步分划成若干子组。27(3)VMS的命名体系VMS(VirtualMemorySystem)即虚拟内存系统的命名体系是层次式的。VMS的完全路径名由一个设备名接任何个数的目录名再接文件名和扩展文件名构成。28(3)VMS的命名体系文件letter.dom的完全路径名是Userdisk:[dir2.me]letter.dom。29(4)DEC网的命名方式DEC网的命名方式把类似VMS的命名体系再向上扩充一层,使之包含站点名。远程站点上的文件可通过把该站点名加在相应文件的路径名之首来进行访问。30(4)DEC网的命名方式31在sitel上的文件letter.dom的完全路径名现在为sitel::userdisk:[dir2.me]letter.dom。1.命名服务系统的功能命名服务系统管理着一个联编数据库,其中存储着文本名(可读的)及其相关的属性。命名服务系统支持的主要操作是解析一个名字——在该数据库中查找给定名字的相关属性。328.3分布式系统中的命名服务系统(1)命名服务系统的功能通过管理名字在系统的地址去定位命名过的对象;创建、删除、改变对象的名字;改变对象的位置,以支持对象在系统中的迁移;利用对象名字来支持对象的共享;创建一个对象组;33(1)命名服务系统的功能从组中删除成员或将成员加入其中;枚举组中的成员;测试组中成员之间的关系;借助组名共享资源或共享服务程序;支持对象组的递归结构;完成外部名(符号名)到内部名(系统名)的映射工作2.命名服务系统的设计方式设计名字服务器一般有中央方式、复制方式和分划方式三种途径。中央方式:全系统仅有一个(中央)名字服务器,系统中的所有服务程序都由它来寻址和定位。35名字服务器Internet2.命名服务系统的设计方式复制方式:每个站点都有一个名字服务器的副本,用以管理该站点上的所有服务程序及本站点与其他站点间相互请求的服务信息。36中央名字服务器Internet名字服务器名字服务器site1site22.命名服务系统的设计方式分划方式:若系统由若干子系统(子网)组成,则对于每个子系统,用一个名字服务器管理本子系统上的所有服务程序及本子系统与其他子系统相互请求的服务信息;若系统的命名空间可根据某种方式来分划,则对于每个经这样分划后的实体,用单独的或复制式的名字服务器管理;将命名空间组织成层次结构来管理。372.命名服务系统的设计方式分划方式:38Site2Site3名字服务器Site1名字服务器子网1子网21.DNS简介39DNS(DomainNameSystem)是一个分布式数据库系统,由域名空间,域名服务器和地址转换请求程序三部分组成,是一种组织域层次结构的计算机和网络服务命名系统。DNS服务的作用:完成域名与IP地址之间的转换。客户机向DNS服务器发送域名查询请求;DNS服务器告知客户机Web服务器的IP地址;客户机与Web服务器通信。8.4DNS域名服务系统2.域名空间结构根域:就是一个“.”。全球目前共有13台根域服务器(1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。);顶级域:(组织域;国家或地区域;反向域);二级域:是由一些域名提供商出租给个人,企业或机构的服务。如“sohu”,“baidu”。主机名:是用来表示Internet或内部网的计算机名称。403.DNS工作原理41DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个DomainName,而Server必须要回答此DomainName的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的DNS询问,依此得到答案之后,将收到的答案存起来,并回答客户。3.DNS工作原理42域名解析顺序:a.本机DNS缓存;b.本机Hosts文件;c.DNS服务器本地解析当客户端提出解析请求时,首先将请求传送至DNS客户服务,以便使用本地缓存信息进行解析。本地解析程序的缓存包括两种名称信息:本地配置的主机文件,该文件是主机名称到地址的映射信息,在DNS客户服务启动时预先加载到缓存中;从以前的DNS查询应答的响应中获取的资源记录,它被保留在缓存中一段时间。3.DNS工作原理43本地文件3.DNS工作原理44查询DNS服务器当客户端请求无法在本地解析时,将请求发送至DNS服务器。DNS服务器接收到查询请求时,首先检查它能否在服务器的本地配置区域中获取资源记录信息做出应答,如果查询的名称与本地区域信息中的相应资源记录匹配,则使用该信息来解析查询的名称,服务器做出应答,此次查询完成。如果区域信息中没有查询的名称,则服务器检查它能否通过来自先前查询的本地缓存信息来解析该名称。如果从中发现了匹配的信息,则服务器使用该

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功