网络应用程序运行在处于网络边缘的不同的端系统上,通过彼此间的通信来共同完成某项任务。
开发一种新的网络应用首先要考虑的问题就是 网络应用程序在各种端系统上的组织方式和它们之间的关系。 \color{red}网络应用程序在各种端系统上的组织方式和它们之间的关系。 网络应用程序在各种端系统上的组织方式和它们之间的关系。
目前流行的主要有以下两种:
-
客户 / 服务器 \color{red}客户/服务器 客户/服务器(Client/Server,
C/S
)方式 -
对等 \color{red}对等 对等(Peer-to-Peer,
P2P
)方式
1、客户/服务器方式(C/S)
客户/服务器(Client/Server,C/S
)方式
-
客户和服务器是指通信中所涉及的两个应用进程。
-
客户/服务器方式所描述的是进程之间服务和被服务的关系。
-
客户是服务请求方,服务是服务提供方 \color{red}客户是服务请求方,服务是服务提供方 客户是服务请求方,服务是服务提供方
-
服务器总是处于运行状态,并等待客户的服务请求。 \color{red}服务器总是处于运行状态,并等待客户的服务请求。 服务器总是处于运行状态,并等待客户的服务请求。
-
服务器具有固定端口号 ( 例如 HTTP 服务器的默认端口号为 80 ) ,而运行服务器的主机也具有固定的 IP 地址。 \color{red}服务器具有固定端口号(例如 \texttt{HTTP} 服务器的默认端口号为 \texttt{80}),而运行服务器的主机也具有固定的 \texttt{IP} 地址。 服务器具有固定端口号(例如HTTP服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址。
如下所示,处于网络边缘的主机 A
中运行的是客户程序
- 正在运行的客户程序称为
客户进程
,简称为客户
注意:运行客户进程的主机应称为:客户计算机,有时简称为客户
处于网络边缘的主机 B
中运行的是服务器程序
- 正在运行的客户程序称为服务器进程,简称为服务器
注意:运行服务器进程的主机应称为:服务器计算机,有时简称为服务器
在 C/S
方式下,客户向服务器请求服务,服务器收到服务请求后向客户提供服务
- 也就是说 客户是服务请求方,服务是服务提供方 \color{red}客户是服务请求方,服务是服务提供方 客户是服务请求方,服务是服务提供方
C/S
方式是因特网上传统的、同时也是最成熟的方式,很多我们熟悉的网络应用采用的都是 C/S
方式。包括万维网 www
、电子邮件、文件传输FTP等。
基于 C/S
方式的应用服务通常是
服务集中型
\color{red}服务集中型
服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。
-
由于一台服务器计算机要为多个客户机提供服务,在
C/S
应用中常会出现服务器计算机跟不上众多客户机请求的情况 \color{red}常会出现服务器计算机跟不上众多客户机请求的情况 常会出现服务器计算机跟不上众多客户机请求的情况。
-
为此,在
C/S
应用中,常用 计算机群集 \color{red}计算机群集 计算机群集(或服务器场)构建一个强大的 虚拟服务器 \color{red}虚拟服务器 虚拟服务器。
2、对等方式(P2P方式)
对等(Peer-to-Peer,P2P)方式
-
在P2P方式中, 没有固定的服务请求者和服务提供者 \color{red}没有固定的服务请求者和服务提供者 没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为 对等方 \color{red}对等方 对等方。
对等方相互之间直接通信 \color{red}对等方相互之间直接通信 对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。
如下所示,处于网络边缘的主机 C
,D
,E
,F
中运行着同一种 P2P
程序
- 例如:某种网络下载工具软件
E
和 F
中的 P2P
进程互为等对方,C
和 D
中的 P2P
进程互为等对方
- 而
E
和D
中的P2P
进程互为等对方
我们可以想象成 E
的 P2P
进程正在从 F
下载文件
- 与此同时还为
D
的P2P
进程提供下载服务
目前,在因特网上流行的 P2P
应用主要包括 P2P
文件共享、即时通信、P2P
流媒体、分布式存储等。
基于 P2P
的应用是
服务分散型
\color{red}服务分散型
服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中,这些计算机并不为服务提供商所有,而是为个人控制的桌面计算机和笔记本电脑,
- 它们通常位于住宅、校园和办公室中。
P2P
方式的最突出特性之一就是它的
可扩展性
\color{red}可扩展性
可扩展性。因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,
系统性能不会因规模的增大而降低
\color{red}系统性能不会因规模的增大而降低
系统性能不会因规模的增大而降低。
P2P
方式具有
成本上的优势
\color{red}成本上的优势
成本上的优势,因为它通常不需要庞大的服务器设施和服务器带宽。为了降低成本,服务提供商对于将 P2P
方式用于应用的兴趣越来越大。