📖 6.2 客户—服务器方式和对等方式
🎯 课程摘要:网络应用程序运行在处于网络边缘的不同端系统上,其组织方式主要有两种:客户—服务器方式(C/S 方式)和对等方式(P2P 方式)。C/S 方式中服务器是服务提供方、客户是服务请求方,服务集中、易出现服务器瓶颈;P2P 方式中各对等方既是请求者又是提供者,服务分散、可扩展性强、成本低。
📝 详细笔记
1. 网络应用的组织方式
- 概念定义:开发一种新的网络应用,首先要考虑的是网络应用程序在各种端系统上的组织方式和它们之间的关系。
- 原理解析:网络应用程序运行在处于网络边缘的不同端系统上,通过彼此间的通信共同完成某项任务。目前流行的组织方式主要有两种:
- 客户—服务器方式(C/S 方式)
- 对等方式(P2P 方式)
2. 客户—服务器方式(C/S 方式)
- 概念定义:客户和服务器是指通信中所涉及的两个应用进程,C/S 方式描述的是进程之间服务和被服务的关系。
- 原理解析:
- 运行客户程序的进程称为客户进程(简称客户),其所在主机称为客户计算机。
- 运行服务器程序的进程称为服务器进程(简称服务器),其所在主机称为服务器计算机。
- 客户是服务的请求方,服务器是服务的提供方:客户向服务器请求服务,服务器收到请求后向客户提供服务。
- 服务器总是处于运行状态,并等待客户的服务请求;服务器具有固定的运输层端口号(如 HTTP 服务器默认端口为 80),运行服务器的主机也具有固定的 IP 地址。
- ⚠️ 重点/考点:
- C/S 方式是因特网上传统且最成熟的方式,万维网、电子邮件、文件传输等都采用该方式。
- 基于 C/S 方式的应用服务是服务集中型的,服务集中在数量远少于客户机的服务器计算机上。
- 一台服务器计算机要为多个客户机提供服务,常出现服务器跟不上众多客户请求的情况,因此常用计算机集群或服务器场构建一个强大的虚拟服务器。
3. 对等方式(P2P 方式)
- 概念定义:P2P 方式中没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,称为对等方。
- 原理解析:
- 对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。
- 例如某下载工具中,E 可同时从 F 下载文件并为 D 提供下载服务。
- 流行的 P2P 应用主要包括:P2P 文件共享、即时通信、P2P 流媒体、分布式存储等。
- 基于 P2P 的应用是服务分散型的,服务分散在大量对等计算机(个人桌面机、笔记本)中,它们位于住宅、校园、办公室,不为服务提供商所有。
- ⚠️ 重点/考点:
- P2P 方式最突出的特性是可扩展性:系统每增加一个对等方,既增加服务请求者又增加服务提供者,系统性能不会因规模增大而降低。
- P2P 具有成本优势:通常不需要庞大的服务器设施和服务器带宽,服务提供商对其兴趣越来越大。
4. C/S 方式与 P2P 方式的对比
| 对比维度 | C/S 方式(客户—服务器) | P2P 方式(对等) |
|---|---|---|
| 服务器角色 | 有固定服务器,是唯一服务提供方 | 无固定服务器,每个对等方既是请求者又是提供者 |
| 资源消耗 | 服务集中,服务器负担重,需高性能服务器/集群 | 服务分散在大量对等机上,无需庞大服务器设施 |
| 可扩展性 | 规模增大时服务器易成瓶颈 | 可扩展性强,规模增大性能不降低 |
| 端口/地址 | 服务器有固定端口号和固定 IP 地址 | 对等方无固定要求 |
| 成本 | 服务器设施与带宽成本高 | 成本低 |
| 典型应用 | 万维网、电子邮件、文件传输(FTP) | P2P 文件共享、即时通信、P2P 流媒体、分布式存储 |
💡 核心总结
- 网络应用在端系统上的组织方式主要有 C/S 方式和 P2P 方式两种。
- C/S 方式:客户请求、服务器提供,服务器固定运行、固定端口、固定 IP,服务集中、易瓶颈,常用集群解决。
- P2P 方式:对等方直接通信,既请求又提供,服务分散、可扩展性强、成本低。
- 二者核心区别在于服务集中在少数服务器还是分散在大量对等方。
❓ 课后思考 / 经典考题
- 简述 C/S 方式中客户进程与服务器进程的区别,并说明服务器为何需要固定端口号和固定 IP 地址。
- 为什么说 P2P 方式具有"可扩展性"?请从对等方角色的角度加以解释。
- 试比较 C/S 方式与 P2P 方式在服务器角色、资源消耗、可扩展性和典型应用上的异同。