3.3.3 互联网应用的两种工作模式:客户/服务器模式与P2P模式
从互联网应用系统的工作模式角度看,互联网应用可以分为两类:客户/服务器(C/S)模式与对等(P2P)模式。
1.客户/服务器模式的基本概念
从应用层的应用程序工作模型的角度看,应用程序分为客户端程序与服务器程序。以Email应用程序为例,Email应用程序分为服务器端的邮局程序与客户端的邮箱程序。用户在自己的计算机中安装并运行客户端的邮箱程序,就能够成为电子邮件系统的客户端,发送和接收电子邮件。而安装邮局应用程序的计算机就成为了电子邮件服务器,它为客户提供电子邮件服务。
互联网应用系统采用客户/服务器模式的主要原因是网络资源分布的不均匀性。网络资源分布的不均匀性表现在硬件、软件和数据三个方面。
1)网络中计算机系统的类型、硬件结构、功能都存在着很大的差异。它可以是一台大型计算机、高档服务器,它也可以是一台个人计算机,甚至是一个PDA或家用电器。它们在运算能力、存储能力和外部设备的配备等方面存在着很大差异。
2)从软件的角度来看,很多大型应用软件都是安装在一台专用的服务器中,用户需要通过互联网去访问服务器,成为合法用户之后才能够使用网络的软件资源。
3)从信息资源的角度来看,某一类型的数据、文本、图像、视频或音乐资源存放在一台或几台大型服务器中,合法的用户可以通过互联网访问这些信息资源。这样做对保证信息资源使用的合法性与安全性,以及保证数据的完整性与一致性是非常必要的。
网络资源分布的不均匀性是网络应用系统设计者的设计思想的体现。网络组建的目的就是要实现资源的共享,“资源共享”表现出网络中结点在硬件配置、运算能力、存储能力,以及数据分布等方面存在差异与分布的不均匀性。能力强、资源丰富的计算机充当服务器,能力弱或需要某种资源的计算机作为客户。客户使用服务器的服务,服务器向客户提供网络服务。因此,客户/服务器反映这种网络服务提供者与网络服务使用者的关系。在客户/服务器模式中,客户与服务器在网络服务中的地位不平等,服务器在网络服务中处于中心地位。在这种情况下,“客户”可以理解为“客户端计算机”,“服务器”可以理解为“服务器端计算机”。
2.对等P2P模式的基本概念
P2P是网络结点之间采取对等的方式,通过直接交换信息达到共享计算机资源和服务的工作模式。有时,人们也将这种技术称为“对等计算”技术,将能提供对等通信功能的网络称为“P2P网络”。目前,P2P技术已广泛应用于实时通信、协同工作、内容分发与分布式计算等领域。统计数据表明,目前的互联网流量中P2P流量超过60%,已经成为当前互联网应用的新的重要形式,也是当前网络技术研究的热点问题之一。
图3-11给出了客户/服务器模式与P2P工作模式的区别。在传统的互联网中,信息资源的共享是以服务器为中心的客户/服务器模式工作模式。以Web服务器为例,Web服务器是运行Web服务器程序、计算能力与存储能力强的计算机,所有Web页都存储在Web服务器中。服务器可以为很多Web浏览器客户提供服务。但是,Web浏览器之间不能直接通信。显然,在传统互联网的信息资源的共享关系中,服务提供者与服务使用者之间的界限是清晰的。
P2P网络则是淡化服务提供者与服务使用者的界限,所有结点同时身兼服务提供者与服务使用者的双重身份,以达到“进一步扩大网络资源共享范围和深度,提高网络资源利用率,使信息共享达到最大化”的目的。在P2P网络环境中,成千上万台计算机之间处于一种对等的地位,整个网络通常不依赖于专用的集中式服务器。P2P网络中的每台计算机既可以作为网络服务的使用者,也可以向其他提出服务请求的客户提供资源和服务。这些资源可以是数据资源、存储资源或计算资源等。
对于P2P技术发展的必然性可以从三个方面去认识:
1)从事物发展的“螺旋式上升”规律的角度去认识P2P技术的发展。如果从网络操作系统设计思路的变化来看“P2P”技术,我们会发现,早期对等结构网络操作系统采取 “我共享你,你共享我”的设计思想,非对等结构网络操作系统采取 “能力强者为能力弱者服务”的设计思想,而P2P 网络信息资源共享模式采取 “人人为我,我为人人”的设计思想。这个过程正好体现出“螺旋式上升”的事物发展规律。导致这种演变的内在因素主要是:计算机硬件资源、计算机软件资源、计算机信息资源的丰富,以及网络用户对方便访问和利用信息资源与服务需求的提高。在这些因素中,个人计算机信息资源的丰富,以及用户对网络服务需求的提高是主要因素。
图3-11 客户/服务器模式与P2P工作模式的区别 |
2)从信息资源存储格局变化的角度去认识P2P技术的发展。
在所有联网的个人计算机硬件能力都很弱的初始阶段,采取对等结构是很自然的一件事。当计算机硬件能力增强,人们可以将一些高性能、高配置的计算机作为服务器,来为配置较低的个人计算机提供网络服务时,人们自然会采取“客户/服务器”的非对等结构。当网络应用发展到一定的阶段,作为客户的个人计算机硬件能力已经很强,网络用户自身的信息资源(如文档、音乐、语音、视频)积累已经比较丰富,很多有用的和个性化的信息都存储在客户上,甚至某些方面的信息积累已经超过服务器可以提供的服务。随着这种信息资源存储格局的变化,人们自然希望寻求一种方式以最快的速度、最灵活的方式获取这些信息,在这样的背景下,开展P2P技术的研究也就是很自然的了。
3)在不同技术发展阶段,人们对网络应用关注的重点也不同。初期阶段重点是在共享网络硬件上。中期阶段重点是在共享软件和数据上。到成熟阶段,重点应该转移到共享信息资源上。这正反映了用户希望自己在互联网中扮演角色的转变。用户开始不满足只作为信息资源的享受者,希望能同时扮演信息享受者和信息提供者的双重身份,这也正反映了用户网络应用水平的提高和网络作用的深化。
从以上三个方面可以看出,在计算机硬件配置提高,网络应用水平提高,网络信息资源积累与存储格局的变化的基础上,必将导致网络资源共享模式的变化,在这样的技术发展背景下出现的P2P网络的发展也就显得很自然。