文章目录
- 客户—服务器方式和对等方式
- 客户/服务器方式 (C/S方式)
- 工作流程
- 特点
- 对等方式 (P2P方式)
- 工作流程
- P2P 应用
- 特点
客户—服务器方式和对等方式
网络应用程序运行在处于网络边缘的不同的端系统上,通过彼此间的通信来共同完成某项任务。
开发一种新的网络应用首先要考虑的问题,就是网络应用程序在各种端系统上的组织方式和它们之间的关系,目前流行的主要有以下两种:
-
客户/服务器(Client/Server,
C/S
)方式 -
对等(Peer-to-Peer,
P2P
)方式
客户/服务器方式 (C/S方式)
在客户 - 服务器方式(C/S 模式)中有明确的服务提供者(服务器)和服务请求者(客户)。
-
客户和服务器是指通信中所涉及的两个应用进程。
-
客户/服务器方式所描述的是进程之间服务和被服务的关系。
-
客户是服务请求方,服务器是服务提供方。
-
服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址。
C/S
方式是因特网上传统的、同时也是最成熟的方式,很多我们熟悉的网络应用采用的都是 C/S
方式。包括万维网WWW、电子邮件、文件传输FTP等。
基于 C/S
方式的应用服务通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。
由于一台服务器计算机要为多个客户机提供服务,在 C/S
应用中,常会出现服务器计算机跟不上众多客户机请求的情况。为此,在 C/S
应用中,常用计算机群集(或服务器场)构建一个强大的虚拟服务器。
工作流程
-
首先,客户程序需要知道服务器的 IP 地址和端口号。以网页浏览为例,当用户在浏览器(客户程序)中输入一个网址(如http://www.example.com)时,浏览器会通过 DNS(域名系统)查询得到对应的 Web 服务器的 IP 地址。
-
浏览器(客户)向 Web 服务器(服务端)的 80 端口(HTTP 服务默认端口)发送一个 HTTP 请求,请求获取网页内容。
-
服务器接收到请求后,根据请求的内容进行处理,比如从服务器的文件系统中找到对应的网页文件,然后将文件内容封装成 HTTP 响应发送回客户。
-
最后,客户(浏览器)收到响应后,对内容进行解析和显示,如将 HTML 文本解析成可视化的网页呈现给用户。
特点
-
功能分工明确:服务器专注于提供特定的服务,它通常具有强大的计算资源、存储资源和网络带宽,以满足多个客户同时请求服务的需求。
客户则相对简单,主要负责向服务器发送请求和接收、处理服务器返回的结果。例如,在文件服务器系统中,服务器负责存储和管理大量的文件,而客户只是在需要时向服务器请求下载或上传文件。
-
可扩展性和集中管理性较好:可以通过增加服务器的硬件资源(如内存、硬盘、CPU 等)或者增加服务器的数量(如采用服务器集群)来满足不断增长的客户请求。同时,服务器端的服务和资源可以进行集中管理,例如可以方便地对服务器上的文件系统进行备份、更新软件版本等操作。
-
安全性较高:服务器可以对客户进行身份认证和访问控制,确保只有合法的客户才能访问服务。例如,在银行系统中,客户需要通过用户名、密码或者数字证书等方式进行身份验证后,才能访问自己的账户信息和进行交易操作。
对等方式 (P2P方式)
对等方式 (P2P
方式) 是指,网络中的每个节点(计算机或设备)既是客户端又是服务器,它们在地位上是平等的,没有专门的服务器和客户端之分。
在 P2P
方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者,它们在地位上是平等的。
工作流程
以 P2P
文件共享为例:
-
当一个节点(用户 A)想要获取一个文件时,它首先会在自己连接的
P2P
网络中发送一个文件查找请求。这个请求会在网络中的其他节点之间传播,每个节点会检查自己是否拥有该文件。 -
如果某个节点(用户 B)拥有这个文件,它就会与请求节点(用户 A)建立连接,并将文件的部分或者全部发送给用户 A。
-
在这个过程中,节点之间的连接可能是直接的,也可能通过其他中间节点进行转发,具体取决于
P2P
网络的拓扑结构和路由算法。
P2P 应用
目前,在因特网上流行的 P2P
应用主要包括 P2P
文件共享、即时通信、P2P
流媒体、分布式存储等。
基于 P2P
的应用是服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中,这些计算机并不为服务提供商所有,而可是为个人控制的桌面计算机和笔记本电脑,它们通常位于住宅、校园和办公室中。
特点
-
自组织和高扩展性:
P2P
方式的最突出特性之一就是它的可扩展性,因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不因规模的增大而降低。 -
分布式资源共享:
P2P
模式充分利用了网络中各个节点的资源,实现了资源的分布式存储和共享。它不需要像C/S
模式那样依赖集中式的服务器,因此可以避免单点故障问题。 -
成本优势:
P2P
方式具有成本上的优势,因为它通常不需庞大的服务器设施和服务器带宽。为了降低成本,服务提供商对于将P2P
方式用于应用的兴趣越来越大。