第四章 Internet基本服务.docx

上传人:b****7 文档编号:25417442 上传时间:2023-06-08 格式:DOCX 页数:60 大小:1.02MB
下载 相关 举报
第四章 Internet基本服务.docx_第1页
第1页 / 共60页
第四章 Internet基本服务.docx_第2页
第2页 / 共60页
第四章 Internet基本服务.docx_第3页
第3页 / 共60页
第四章 Internet基本服务.docx_第4页
第4页 / 共60页
第四章 Internet基本服务.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

第四章 Internet基本服务.docx

《第四章 Internet基本服务.docx》由会员分享,可在线阅读,更多相关《第四章 Internet基本服务.docx(60页珍藏版)》请在冰豆网上搜索。

第四章 Internet基本服务.docx

第四章Internet基本服务

第四章Internet基本服务

章前导读

通过本章,你可以学习到:

●网络应用进程的两种主要通信模型

●Internet域名解析相关知识

●远程登录服务、FTP服务、电子邮件系统、Web系统的工作原理以及相关协议知识

本章评估

学习点拨

重要度

本章的重点内容为Internet提供的几种重要服务的工作原理以及相关协议。

本章将主要介绍Internet应用层提供的域名服务(DNS)、远程登录服务(Telnet)、文件传输服务(FTP)、电子邮件服务(E-mail)、Web服务,以及涉及的主要协议:

远程登录协议、SMT和POP3协议、HTTP和HTML协议。

知识类型

理论与实践

考核类型

选择题

所占分值

选择题:

约分

学习时间

8课时

 

本章学习流程图

第4章Internet基本服务

阅读章节前的导读内容,了解本章的重点、难点和学习方法,制订合理的学习计划

4.1

【掌握】应用进程的两种通信模型

设备安装与调试

4.2

【掌握】域名解析与DNS资源记录

 

4.3

【掌握】远程登录服务

4.4

【掌握】FTP服务

4.5

4.6

【掌握】Web系统构成

4.1网络应用进程通信模型

Internet各种应用层协议都是为了解决某一类应用问题,虽然这些问题各异,但它们的解决方案都是通过网络上不同主机的多个应用进程之间有序的通信和协同工作来实现的。

根据通信过程中各主机之间的交互方式,网络应用进程通信模型主要有两种:

客户机/服务器模型(C/S)、对等计算模型(P2P)。

4.1.1客户机/服务器模型

网络应用进程通信中最重要的交互方式是客户机/服务器(Client/Server,C/S)模式。

Internet提供的很多服务都采用这种模式,如FTP、DNS、Email、Web服务、Telnet等。

1.客户机/服务器模式工作原理

在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式,即客户机向服务器提出请求,服务器接收到请求后提供相应的服务。

在这种模式下,一个或多个客户机与一个或多个服务器,以及下层的操作系统进程间通信系统,共同组成一个支持分布计算、分析和表示的系统。

客户机/服务器模式在操作过程中采取的是主动请求的方式。

服务器提供服务时,首先打开一个通信通道,并告知本地主机,它愿意在某一地址和端口上接收客户机请求,然后等待客户机请求,当接收到服务请求时,立即处理该请求并发送应答信号,处理结束后继续等待新的请求。

客户机发送请求时,首先打开一个通信通道,并连接到服务器所在主机的特定端口,然后向服务器发送请求报文,等待并接收应答。

图4.1显示了客户机/服务器模式通过互联网进行交互的过程。

图4.1客户机/服务器模式交互模型

2.客户机/服务器模型特性

客户机/服务器模式的建立主要基于两点问题,即资源的不对等性与通信进程异步性。

由于服务器通常比较复杂,能提供多种服务,对主机的软硬件资源有一定要求,而客户机进程功能简单,往往只请求某一种服务,这就造成了网络中软硬件资源、运算能力和信息不均等,进而形成拥有众多资源的服务器提供服务而资源较少的客户机请求服务的非对等模型。

图4.2中,运行服务器进程的主机提供Web服务、FTP服务和文件服务,客户机1、客户机2和客户机3分别运行访问文件服务和Web服务的客户机进程,因此,通过互联网,文件系统服务器为客户机1提供服务,而Web服务器则根据客户机2和客户机3的请求,同时为它们提供服务。

图4.2多服务器进程及并发处理多个客户机请求模型

网络进程通信是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为待通信的进程间建立联系,为二者的数据交换提供诸如何时开始通信、何时发送信息、何时接受信息等的同步支持,这就是基于客户机/服务器模式的通信模型。

表4.1对客户机进程和服务器进程的性能进行了对比。

表4.1客户机进程和服务器进程特性对照表

客户机进程

服务器进程

进程性质

普通应用程序,一般进行本地计算,在进行远程访问时临时成为客户机

享受特权的应用进程,专门用来提供某一种服务

运行状态

为一个用户服务,可随时开始或停止运行

同时处理多个客户机请求,通常在系统启动时自动调用,并一直保持运行状态

运行环境

在用户的计算机上本地运行

在一台共享计算机上运行

通信地位

主动地与服务器进程进行联系

被动地等待各个客户机的通信请求

运行资源

不需要特殊硬件和高级操作系统

需要强大的硬件和高级操作系统支持

客户机/服务器模型是应用软件之间最常用、最重要的交互模型,它与传统的分时共享模式和资源共享模式相比,具有众多无法替代的优点。

3.客户机/服务器模式存在的问题

(1)标示一个特定的服务

一个服务器可以提供多种服务,这就要求传输协议必须提供一套机制让客户机进程无二义性地指明所要求的服务。

这种机制赋予每个服务一个唯一的标识,并要求服务器进程和客户机进程都使用这个标识。

当客户机需要向服务器请求服务时,客户机通过指明请求服务的标识来说明自己所需要的服务,并通过传输协议软件将该标识发送至服务器端的计算机。

当服务器进程开始执行时,首先在本地主机上注册所提供服务标识,当运行服务器进程的主机接收到客户机请求时,根据客户机所提供的标识,将该请求转交给注册该特定标识的服务器进程处理。

传输协议支持两种基本通信方式,即面向连接的和无连接的。

面向连接的传输协议TCP要求通信的两个应用先建立连接后传输数据,通信结束后关闭连接。

无连接的传输协议UDP在通信时根据发送方指明的目的地,直接进行数据传输。

在TCP/IP网络中,服务器进程通常使用TCP协议或UDP协议的端口号作为标识,这是一个16位整数型数值。

服务器进程启动时,首先在本地主机注册自己使用的TCP或UDP端口号,在声明该端口号已被占用的同时,也通知本地主机如果在该端口上收到信息,需要将这些信息转交给注册该端口的服务器进程处理。

客户机进程需要请求某个服务时,可以与服务器进程的TCP端口建立连接,或者向服务器进程使用的UDP端口发送信息。

(2)服务器响应并发请求问题

一台计算机能提供多种服务,每种服务有一个独立的进程,如果能同时运行多个进程,则称它支持并发。

并发性是实现客户机/服务器交互模式必须具备的条件。

网络中客户机发起请求是随机的,这就可能出现多个请求同时到达服务器的情况,服务器必须能够响应多个并发请求。

服务器可以有以下两种方案处理并发请求。

Ø重复服务器(IterativeServer)方案

该方案也称为循环服务器方案,它的服务器进程中包含一个请求队列,客户机请求到达后,首先进入队列中等待,服务器按照先进先出(FirstInFirstOut)的原则顺序作出响应。

图4.3为该方案响应请求的示意图。

图4.3重复服务器方案示意图

这种模式在同一时间只能处理一个客户机的请求,故对系统资源要求不高。

如果服务器需要在较长时间内才能完成一个请求任务,那么,其他的请求必须等待很长时间才能得到响应,故这种模式通常只能用于处理速度较快,处理逻辑比较简单的服务器程序的开发,如Linux的时间服务器。

Ø并发服务器(ConcurrentServer)方案

并发服务器是一个守护进程(Daemon),在没有请求时,它处于等待状态。

一旦客户机请求到达,服务器立即为之创建一个子进程,然后回到等待状态,由子进程响应请求。

当下一个请求到达时,服务器再为之创建一个新的子进程。

其中,并发服务器叫做主服务器(Master),子进程叫做从服务器(Slave)。

图4.4为该方案响应请求的示意图。

图4.4并发服务器方案示意图

这种模式在同一时间可以处理多个请求,故并发服务器解决方案具有实时性和灵活性的特点。

主服务器经常处于等待状态,多个客户机同时请求的任务分别由不同的从服务器并发执行,这种处理模式可以尽量避免单处理模式中的对客户端请求响应不及时的问题。

但是,由于创建多个子进程,需要占用较多的CPU处理时间和系统资源,并且需要处理多个进程间的通信和数据共享问题,故对主机的软硬件资源要求较高。

因此,这种模式主要针对于面向连接的服务,一般用于处理不可在预期时间内完成的请求或者对速度要求较高的服务,如文件传输服务(FTP)。

(3)服务器进程的安全问题

服务器进程拥有较高的权限,可以经常性的访问系统文件、保存日志、访问保护数据等。

同时,操作系统通常对服务器试图访问的用户文件也不加限制,这就导致用户能直接访问到中心数据,可能造成敏感数据被修改或者丢失。

因此,服务器不能无所顾忌地相信任何客户机,盲目处理任何客户机的请求。

它必须承担保障系统安全性的责任,负责实施系统访问和保护策略。

震惊世界的莫里斯“蠕虫”(Worm)病毒就是利用服务器安全漏洞在Internet中大量复制并造成极大损失的。

4.1.2对等计算模型

1.对等计算模型概念

对等计算(PeertoPeer,简称P2P)可以简单的定义成通过直接交换来共享计算机资源和服务,而对等计算模型在应用层形成的网络通常称为对等网络。

与传统的服务器/客户机模型不同,对等计算的体系结构是令传统意义上作为客户机的各个计算机直接互相通讯,完成信息的共享和交换、计算资源共享(如CPU)、存储共享(如缓存和磁盘空间)等,这些计算机实际上同时扮演着服务器和客户机的角色。

在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来说不依赖专用的集中服务器。

因此,对等计算模型可以有效地减少传统服务器的压力,使这些服务器可以更加有效的执行其专属任务。

不同机构对P2P的定义没有本质上的区别,只是从不同侧面分别强调了P2P网络的特点。

表4.2给出了几种P2P的定义。

表4.2P2P的定义

定义者

定义

Intel工作组

通过在系统之间直接交换来共享计算机资源和服务的一种应用模式

A.Weytsel

在因特网周边以非客户机地位使用的设备

R.I.Granham

通过3个关键条件定义:

①具有服务器质量的可运行计算机;

②具有独立于DNS的寻址系统;

③具有与可变连接合作的能力

C.Shirky

利用因特网边界的存储、CPU、内容、现场等资源的一种应用;

访问这些非集中资源意味着运行在不稳定连接和不可预约IP地址环境下,PZP结点必须运行在DNS系统外边;

具备有效或全部的自治

Kindberg

独立生存的系统

D.J.Milojicic

给对等组提供或从对等组获得共享

对等网络分布范围比较小,网络中计算机的数量也比较少,一般在10台以内,所以网络拓扑相对简单。

对等网络安全管理分散,数据保密性差,它通过最直接交换来共享资源和服务,网络中各结点地位平,兼作服务器和客户机,组网成本较低。

2.P2P网络的基本结构

P2P网络存在四种主要结构类型,分别是以Napster为代表的集中目录式结构、以Pastry、Tapestry、Chord、CAN为代表的分布式结构化P2P网络结构、以Gnutella为代表的分布式非结构化P2P网络结构,和以Skype、eDonkey、PPLive等为代表的混合式P2P网络结构。

(1)集中式(CentralizedTopology)P2P网络

集中式P2P网络并没有完全脱离传统的C/S结构,它有一个中心服务器来负责记录共享信息以及应答对这些信息的查询,典型代表为Napster和Mase。

集中式P2P网络将所有网上提供的资料都分别存放在提供该资料的客户机上,服务器上只保留索引信息,服务器与对等实体以及对等实体之间都具有交互能力。

下面以Napster系统为例,说明集中式P2P网络的工作原理与特点。

Napster系统产生于1999年,是最早的实用化P2P系统,主要用来进行文件共享和交换,图4.5所示为Napster的系统架构,其工作原理如下:

Ø用户A(结点3)登录时将本地共享文件的目录报告给Napster中央服务器

Ø用户A向Napster服务器查询内容,并从服务器处得到结果

Ø用户A根据查询结果向所有提供此内容的用户结点进行Ping,挑选出最佳网络传输速率的用户B(结点4)

Ø用户A与用户B之间建立直接网络连接,下载得到查询内容。

图4.5Napster系统架构

这种形式为开放性共享系统提供了强大的管理能力,主要的数据传输在结点之间进行,中央服务器仅提供查询功能,与结点之间传输的数据量很小,避免了网络拥塞。

它要求有一个能连续运转的服务器,该服务器必须能够处理大量的用户连接,拥有足够的内存和磁盘空间来维护和搜索文件列表。

尽管Napster的使用与侵权、盗版等名词联系在一起,但不能因此就忽视Napster这一新兴领域所具有的潜力和广阔的应用前景,而阻止这一技术进步。

为了解决由于外界的压力而有可能导致系统停止运行的问题,于是产生了分布式的P2P网络形式。

(2)分布式非结构化(DecentralizedUnstructuredTopolagy)P2P网络

分布式非结构化拓扑的P2P网络采用随机图的组织方式形成一个松散的网络,如图4.6,其典型代表有Gnutella、Shareaza、LimeWire和BearShare等。

图4.6分布式非结构化P2P网络

Gnutella系统作为完全分布式的纯P2P系统的代表,完全取消任何服务器的存在,采用完全随即图的洪泛式搜索和随机转发机制,通过类似IP数据报中TTL(TimeToLive,生存时间)机制来控制搜索消息的传输,其系统架构如图4.7所示。

图4.7Gnutella系统架构

这种网络结构中没有中央索引服务器,网络中的每个结点都具有相同的功能,既是客户机又是服务器,结点之间是真正对等的关系,因此对网络的动态变化有较好的容错能力,且支持复杂查询,如多关键字查询、模糊查询等。

这种拓扑的网络配置简单,在较小网络规模中具有很高的查询效率。

但是由于网络中多采用洪泛(flooding)方式进行路由和查询,每增加一个结点,都要增加很多和邻居结点的路由信息,随着网络规模不断增大,带来了沉重的网络负载。

由于没有确定的拓扑结构,无法保证查询到每一个结点,给资源的查找带来了不确定性。

另外,TTL、洪泛、随机漫步或有选择转发算法的使用,使得这种拓扑的网络直径不可控,可扩展性差。

(3)分布式结构化P2P网络

非结构化拓扑的P2P网络中资源与网络结构无关,搜索算法采用随机搜索的方式,使得网络扩展性较差,因此,高度结构化的P2P网络应运而生,核心研究成果为基于DHT(DistributedHashTable,分布式散列表)的分布式发现和路由算法。

它将一个关键值(key)的集合分散到所有在分布式系统中的结点,并且可以有效地将消息转送到唯一拥有查询者提供的关键值的结点。

在DHT技术中,网络结点按照一定的方式分配一个唯一的结点标识符(NodeID),资源对象通过散列运算产生一个唯一的资源标识符(ObjectID),且该资源将存储在结点标识符与之相等或者相近的结点上。

需要查找该资源时,可精确地定位到存储该资源的结点。

DHT类网络的确定性拓扑结构能保证资源查找的确定性,且具有良好的扩展性和自组织能力,实现自适应的结点动态加入与退出。

但结点频繁加人与退出,大大增加了DHT的维护代价。

另一个有待改进的问题是DHT仅支持精确关键词匹配查询,无法支持内容、语义等复杂查询。

(4)混合式(HybridStructure)P2P网络

集中目录式结构的P2P网络有利于网络资源的快速检索,并且只要服务器能力足够强大就可以有效扩展,但是其中心化的模式容易遭到直接的攻击。

分布式P2P网络解决了抗攻击问题,但是又缺乏快速搜索能力和可扩展性。

混合式P2P网络结合了分布式和集中式网络的优点,并且在设计思想和处理能力上都得到了进一步的优化。

混合式P2P网络具有很好的健壮性,其结构如图4.8所示。

图4.8混合式P2P网络结构

混合P2P网络在分布式模式的基础上,按照一定规则挑选出一些能力强的结点担任特殊的任务,故网络中包含3种功能不同的结点,其数据流关系如图4.9所示。

Ø用户结点。

网络中最多的一种结点,它是不具备任何特殊功能的普通结点。

Ø搜索结点。

它是用于处理搜索请求的结点,这些结点必须有较高的网络连接速度,一般在128k以上,往往需要采用高性能的处理器。

用户结点可以选择3个搜索结点作为它的父结点,如果搜索结点接受该用户结点作为它的子结点,该用户结点可以提交它要共享的列表给搜索结点。

默认情况下,搜索结点可以最多维护500个子结点。

Ø索引结点。

它保存可以利用的搜索结点信息、搜集状态信息以及尽力维护网络的结构,这些结点要求连接速度快、内存充足。

索引结点也可以是搜索结点,一般称为超级结点或关键结点。

图4.9混合式P2P网络结点关系

混合P2P形式有两方面的优势,一方面与Napster相比,不产生侵权与盗版的问题,另一方面与Gnutella相比,解决了搜索不完全的问题。

由于索引结点不会直接连接到有版权的资料,只是提供相关的地址,而用户到底有无连接和下载了与索引无关。

搜索结点管理着所属用户的文件列表。

用户结点通过索引结点获得搜索结点信息,之后用户结点就与获得的搜索结点相连,每一次查询都通过该搜索结点进行。

当用户发出搜索请求后,如果和用户结点直接相连的搜索结点查询结果为一定数目(用户自定义)时就停止,如果不足,就向相邻的搜索结点发出请求,如果依然不足,就继续向外快速发散,直到所有的搜索结点都被搜索到。

3.P2P网络的应用

P2P支持更为广泛的资源共享,能进一步挖掘计算机空闲的计算能力,提高链路空间宽带利用率,这些特性使其在许多领域表现出比传统C/S结构更加优越的性能。

(1)文件共享

P2P技术使Internet上的任意两台计算机之间可以直接交互共享文件,而不需借助于服务器的中转。

传统的Web方式中,实现文件共享需要将文件上传到某个特定的网站,用户需要到该网站搜索文件,通过下载来获得共享内容,这种方式不仅耗费服务器资源而且对用户而言并不方便。

对等网络中,通过一定的查询机制找到资源所在结点,直接建立联系并下载共享文件。

P2P技术不仅吸引着以亿计的个人用户通过它共享和交换数据,而且被用于向大量人群发布大型文件等企业应用。

借助P2P技术,发行商能节约大量成本,包括服务器维护费用、宽带费用等。

(2)分布式存储与计算

互联网高速发展的今天,时时刻刻都在产生着海量数据,这些数据的存储与备份已成为限制网络发展的沉重负担。

基于P2P的分布式存储,减缓了这种压力。

P2P可以充分利用位于网络边缘的空闲存储空间,并将其聚合为一个容量近乎无限的存储系统,极大地节约了存储设备成本。

大部分建立在DHT架构上的P2P系统都是为了分布式存储而设计的。

大多数计算机的CPU并不是时刻保持峰值运转,很多时候它们处于“空闲”状态,P2P技术可以联合这些空闲CPU资源,服务于一个计算量较大、数据较多或者耗时很长的计算任务。

在计算过程中,任务被划分为多个片,分配到多个P2P结点上运行,在不影响结点自身使用的前提下,利用分散的CPU资源完成复杂的计算任务,并将结果返回服务器进行整合,得到最终结果。

在分布计算领域的一个成功典范是1999年开始的SETI@home项目。

该项目通过分析从射电望远镜传来的数据来搜寻地外文明,截至2005年关闭之前,它已经吸引了543万用户,这些电脑累积工作达243万年,分析了大量积压数据。

不少公司也开始注意这一方面的商机,如PopularPower公司通过一个特制的屏幕保护程序得到用户空闲信息,收集处于工作间隙的PC闲置计算力,利用集群技术,提供给高强度计算工作和大型研究项目使用,通过销售这些CUP闲置资源盈利。

(3)协同工作

为员工与客户的沟通提供轻松、方便的通信和协作工具是很多结构分散的公司必须解决的问题。

网络的出现,使协同工作成为可能,但传统的C/S实现方式给服务器带来了极大的负担,并且成本很高。

P2P技术让Internet上任意两台PC直接建立实时的联系成为可能,并为这种通信建立了一个安全、共享的虚拟空间。

P2P技术在这一领域的应用的杰出代表是Lotus公司开发的协同工作产品Groove,而更为人所熟知的应用是“即时通信”(InstantMessaging,IM)系统,如MSN和QQ。

另外,点对点网络电话也是一种协同工作的应用,典型代表是Skype系统。

(4)分布式搜索

P2P技术的另一个优势是可以在它的基础上开发出强大的搜索工具。

P2P技术使用户能够深度搜索文档,且无须通过Web服务器,也不受信息文件格式和宿主设备的限制,可达到传统目录式搜索引擎无可比拟的深度,即从只能搜索到20%r--30%的网络资源到理论上可搜索到网络上所有开放的信息资源。

以Gnutella搜索原理为例,一台PC上的Gnutella软件可将用户的搜索请求同时发给网络上另外10台PC,如果搜索请求未得到满足,这10台PC中的每一台都会把该搜索请求转发给另外10台PC,这样搜索范围将在几秒钟内以几何级数增长,几分钟内就可搜遍几百万台PC上的信息资源。

可以说,P2P技术为Internet的信息搜索提供了全新的解决之道,著名的搜索引擎公司Google也宣称要采用P2P技术来改进其搜索引擎。

(5)流媒体直播

传统的流媒体服务大都采用基于C/S模式的单播方式把媒体流推送给用户,其服务器占用带宽大、要求性能高、处理能力强,这些常常成为系统瓶颈。

P2P技术的引进为流媒体开辟了新的发展空间。

基于P2P的流媒体服务系统使请求同一媒体流的客户端组成一个P2P网络,服务器只须向这个网络中的少数结点发送数据,而这些结点可以把得到的数据共享给其余的结点。

P2P系统具有负载均衡、自适应、自组织和容错力强等优点。

中国最早的P2P流媒体直播软件是香港科技大学计算机系研究的Coolstreaming、华中科技大学集群与网格计算湖北省实验室研究的AnySee以及清华大学的Gridmedia等系统。

目前,中国还涌现了很多成功的P2P流媒体直播商业产品,如PPLive,PPStream等。

4.2域名系统

在TCP/IP互联网中,可以使用32位IP地址的来识别主机,然而这种以数字表示的IP地址并不方便记忆,用户更愿意利用方便读写、容易记忆的字符串为主机命名。

为了便于网络地址的管理与分配,人们采用了域名系统(DomainNameSystem,DNS),引入了域名(DomainName,DN)的概念。

主机名是一种比IP地址更高级的地址表达形式,主机名的管理、主机名与IP地址的映射等是域名系统要解决的重要问题。

4.2.1Internet命名机制

互联网提供主机名的主要目的是为了让用户更方便地使用互联网。

一种优秀的命名机制,应能很好地解决以下三个问题:

Ø全局唯一性。

主机名在整个互联网上应当是唯一的,并且全网通用。

不管用户在哪里,只要指定这个名字,就可以唯一地找到这台主机。

Ø名字便于管理。

优秀的命名机制应能方便地分配名字、确认名字,以及回收名字。

Ø高效地进行映射。

用户级的名字不能为使用IP地址的协议软件所接受,而IP地址也不能为一般用户所理解,因此,二者之间存在映射需求。

优秀的命名机制可以使域名系统高效地进行映射。

1.无层次命名机制

无层次命名机制(FlatNaming)是网络最先采用的命名机制,命名时采用一个简单的字符串进行命名,名字没有任何意义,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1