资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六章 Internet基本服务6.1 客户机/服务器模型 应用软件之间最常用、最重要的交互模型是客户机/服务器模型。Internet中提供的Web服务、E-mail服务、FTP服务等都是以该模型为基础。6.1.1 什么是客户机/服务器模式应用程序之间为了能顺利地进行通信,一方通常需要处于守候状态,等待另一方请求的到来。在分布式计算中,这种一个应用程序被动地等待,而另一个应用程序通过请求启动通信的模式就是客户机/服务器交互模式。客户机和服务器分别指两个应用程序。客户机向服务器发出服务请求,服务器做出响应。客户机, 接受服务的应用程序;服务器,提供服务的应用程序。如图显示了一个通过互联网进行交互的客户机/服务器模型。在图中,服务器应处于守候状态,并监视客户机的请求。客户机发出请求,该请求经互联网传送给服务器。一旦服务器接收到这个请求,就可以执行请求指定的任务,并将执行的结果经互联网回送给客户机。6.1.2 客户机与服务器的特性 (相对而言,服务器的对硬件资源及软件资源都有一定的要求,而对客户机通常要求相对简单)n 服务器程序特性n 一种专门用途的、享有特权的应用程序,专门用来提供一种特殊服务n 能够同时处理多个远程客户机的请求n 在一台共享计算机上运行n 被动的等待客户机的通信请求n 需要强大的硬件和高级操作系统支持n 客户机程序特性n 一个非常普通的应用程序,在需要进行远程访问时临时成为客户机n 一个用户服务可以随即开始和停止运行n 在用户计算机上本地运行n 主动地与服务器程序进行联系n 不需要特殊硬件和高级操作系统6.1.3 实现中需要解决的主要问题 一、标识一个特定的服务。由于一个主机可以运行多个服务器程序,因此,必须提供一套机制让客户机程序无二义性地指明所希望的服务,这种机制要求赋予每个服务一个唯一的标识,同时要求服务器程序和客户机程序都使用这个标识。互联网中TCP 或UDP 通常使用端口号作为自己特定的标识。二、响应并发请求。客户机发起请求完全是随机的,很多可能出现多个请求同时到达服务器的情况。因此,服务器必须具备处理多个并发请求的能力。服务器有两种实现方案。重复服务器:该方案实现的服务器程序中包含一个请求队列,客户机请求到达后,首先进入队列中等待,服务器按照先进先出原则顺序做出响应。并发服务器:并发服务器是一个守护进程,在没有请求到达时,它处于等待状态;一旦客户机请求到达,服务器立即为之创建一个子进程,然后回到等待状态,由子进程响应请求。当下一个请求到达时,服务器再为之创建一个新的子进程。其中,并发服务器称为主服务器,而子进程称为从服务器。三、服务器程序的安全问题服务器的地位特殊,需要经常读系统文件、日志文件等,必须承担实施系统访问和保护策略。6.2 域名系统 在TCP/IP互联网中,可以使用IP地址的32位整数来识别主机。虽然这种地址能方便紧凑地表示互联网中传递分组的源地址和目的地址。但IP地址太抽象了(4个十进制整数),人们更愿意利用好读、易记的字符串为主机指派名字。于是,域名系统诞生了。实际上,主机名是一种比IP更高级的地址形式,主机名的管理、主机名-IP地址映射等是域名系统要解决的重要问题。用域名来影射IP地址,IP地址影射物理地址。6.2.1 互联网的命名机制 互联网提供主机名的主要目的是为了让用户更方便地使用互联网。一种优秀的命名机制应能很好的解决以下3个问题:全局唯一性名字便于管理高效地进行映射全局唯一性:特定的主机名在互联网上是唯一的。名字便于管理:能够方便地分配名字、确认名字和回收名字。高效地进行映射:IP 地址与域名之间存在映射需求。高效的命名可高效映射。命名方法:一、 无层次命名机制在无层次命名机制中,主机名简单地由一个字符串组成,该字符串没有进一步的结构。无层次名字的管理与映射很简单但随着互联网中主机的增加,这种命名机制的缺点就明显得表现出来,名字冲突的可能性越来越大,单一管理机构的工作负担越来越大,无论是在每一网点维护一个名字-地址映射表副本,还是采用集中式单一映射表都是低效率的。它只能适用于主机不经常变化的小型互联网。目前,无层次命名机制已被层次型命名机制所取代。二、 层次型命名机制层次型命名机制就是在名字中加入层次型的结构。在层次型命名机制中,主机的名字被划分成几个部分,而每一部分之间存在层次关系。层次型命名机制将名字空间划分成一个树状结构,树中的每一个结点都有一个相应的标识符,主机的名字就是从树叶到树根(或从树根到树叶)路径上各结点标识符的有序序列。一棵名字树可以划分成几个子树,每个子树分配一个管理结构。只要每个管理机构能够保证自己分配的结点名字不重复,完整的主机名就不会重复和冲突。每个管理结构又可以将自己管理的子树再次划分成若干部分,并将每一部分指定一个子部门负责管理,这样就形成了一个树状的层次化结构。三、 TCP/IP互联网域名在TCP/IP互联网中所实现的层次型名字管理机制称为域名系统DNS(Domain Name System)。TCP/IP互联网中的域名系统一方面规定了名字语法以及名字管理特权的分派规则,另一方面则描述了关于高效的名字-地址映射分布式计算机系统的实现方法。域名系统的命名机制称为域名,完整的域名由名字树中的一个结点到根结点路径上的结点标识符的有序序列组成。其中结点标识符用“.”间隔。域名的书写方法由字母、数字和连字符组成,开头和结尾必须是字母或数字最长不超过63个字符不区分大小写完整的域名总长度不超过255个字符通常其格式如下:主机名机构名网络名顶层域名例如:域名:cs.nankai.edu.cn由cs、nankai、edu和cn这4个结点标识符组成(根结点标识符为空,省略不写),这些结点标识符通常称为标号,而每一个标号后面的各标号称为域。在cs.nankai.edu.cn中,最低级的域为cs.nankai.edu.cn,代表计算机系;第三级域为nankai.edu.cn,代表南开大学;第二级域为edu.cn,代表教育机构;顶级域为cn,代表中国。四、 Internet域名TCP/IP域名语法只是一种抽象的标准,其中各标号值可任意填写,只要原则上符合层次型命名规则的要求即可。因此,任何组织均可根据域名语法构造本组织内部的域名,但这些域名的使用当然也仅限于组织内部。作为国际性的大型互联网,Internet规定了一组正式的通用标准标号,形成了国际通用顶级域名。Internet域名具有一定的层次结构。DNS把整个因特网划分成多个顶级域,并为每个顶级域规定了国际通用的域名顶级域的划分采用了两种划分模式,即组织模式和地理模式。前7个域(com、edu、gov、mil、net、org和int)对应于组织模式,其余的域对应于地理模式。 组织模式n 例如,com 为商业机构;edu 为教育机构等 地理模式n 地理模式的顶级域是按国家进行划分的,每个申请加入Internet的国家都可以作为一个顶级域,并向Internet域名管理机构NIC注册一个顶级域名。例如,cn代表中国、us代表美国、uk代表英国等、jp代表日本、ru 代表俄罗斯等Internet顶级域名分配Internet域名结构中国的域名结构中国的最高域名为cn用户类型域名n 如com.cn表示工、商、金融等企业,edu.cn 表示教育机构,gov.cn表示政府机构等3 省、市、自治区域名n 如bj.cn 代表北京市;sh.cn 代表上海市;ah.cn 代表安徽省等6.2.2 域名解析 域名只是为用户提供了一种方便记忆的手段,主机之间不能直接使用域名进行通信,仍然要使用IP地址来完成数据的传输。所以当应用程序接收到用户输入的域名时,域名系统必须提供一种机制,该机制负责将域名映射为对应的IP地址,然后利用该IP地址将数据送往目的主机。一、 TCP/IP域名服务器与解析过程借助于一组既独立又协作的域名服务器完成寻找一个域名所对应的IP地址,这组域名服务器是解析系统的核心。1 域名解析:将域名翻译为对应IP 地址的过程。2 域名服务器域名服务器是一个服务器软件,运行在指定的主机上,完成域名-IP地址映射。有时,也把运行域名服务软件的主机称为域名服务器,该服务器通常保存着它所管辖区域内的域名与IP地址的对照表。n 负责对域名的解析工作n 在TCP/IP互联网中,对应于域名的层次结构,域名服务器也构成一定的层次结构n 最靠近用户的是本地域名服务器,最顶层为根域名服务器3 域名解析器请求域名解析服务的软件,运行在客户端一个域名解析器可以利用一个或多个域名服务器进行名字映射。域名解析方式和解析过程 域名解析采用自顶向下的算法,从跟服务器开始直到叶服务器,在其间的某个结点上一定能找到所需的名字-地址映射。当然,由于父子结点的上下管辖关系,域名解析的过程只需走过一条从树中跟结点开始到另一结点的一条自顶向下的单向路径,无需回溯,更不用遍历整个服务器树。2 在域名解析时,只要域名解析器软件知道如何访问任意一个域名服务器,而每一域名服务器都至少知道根服务器的IP地址及其父结点服务器的IP地址,域名解析就可以顺利地进行。3 两种方式:递归解析和反复解析递归解析:可一次行完成全部名字-地址变换。反复解析:每次请求一个服务器,不行再请求别的服务器。二、 提高域名解析效率在大型TCP/IP互联网中,域名解析请求频繁发生,因此,名字-IP地址的解析效率是检验域名系统成功与否的关键。解析从本地域名服务器开始。大部分域名解析都可以在本地服务器中完成,如果能在本地服务器中直接完成,无需从根开始遍历域名服务器,提高效率。当然如果本地不能解决,则需要借助其他域名服务器。域名服务器的高速缓冲技术域名解析从根向下解析增加网络负担,开销很大。在互联网中可借用高速缓存减少非本地域名解析的开销;所谓高速缓存是在域名服务器中开辟专用内存区,存储最近解析过的域名及其相应的IP 地址。服务器一旦收到域名请求,首先检查域名与IP 地址的对应关系是否存在本地,如果是,则本地解析,否则检查域名缓冲区,如果是最近解析过的域名,将结果报告给解析器,否则再向其他服务器发出解析请求。为保证缓冲区域名与IP 地址之间的有效性,采用以下两种策略:(a)域名服务器向解析器报告缓冲信息时,需注明是“非权威性”映射。并给出获取该映射的域名服务器IP 地址。如果注重准确性,可联系该服务器。(b)高速缓存中每一映射都有一个最大生存周期,规定该映射在缓存中保留的最长时间,时间到,系统将它删除。主机上的高速缓存技术:主机将解析器获得的域名-IP 地址对应关系存储在高速缓存中,先找高速缓存,在找本地域名服务器。6.2.3 对象类型与资源记录 一、对象类型与类别在TCP/IP互联网中,域名系统具有广泛的通用性。域名系统既可以用于标识主机,也可以用于标识邮件交换机,甚至用户。为了区分不同类型的对象,域名系统中每一条目都被赋予了“类型”属性。这样,一个特定的名字就可能对应于域命名系统的若干个条目。2 对象类型:SOA类型标识一个资源记录集合的开始;A类型标识一个主机名与其所对应的IP地址的映射;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号