首页/计算机网络/06-application/C/S与P2P模型 🔗 在 Obsidian 中打开
计算机网络 · 06-application

C/S与P2P模型

难度 ★★重要度 ★★★★★ 考查频率 低 计算机网络/应用层CS模型P2P模型客户服务器对等
速查
C/S 模型角色不对等、有中心服务器、管理简单但有单点故障;P2P 模型角色对等、无中心、自扩展性好但管理困难。实际应用常采用混合模型(C/S 管理 + P2P 传输)。

核心概念

客户-服务器模型(C/S)

┌──────────┐                    ┌──────────┐
│  客户端   │──── 请求 ────→    │  服务器   │
│ (Client) │                   │ (Server) │
│          │←─── 响应 ────     │          │
└──────────┘                    └──────────┘

特点:
- 服务器:被动等待,持续运行,有固定IP和端口
- 客户端:主动发起请求,可以动态IP
- 服务器是中心化的,客户端不直接通信
- 一个服务器可服务多个客户端

C/S 模型的特点

特性说明
角色不对等服务器提供服务,客户端使用服务
服务器地址固定、已知(通过 DNS 或配置)
可扩展性受服务器性能限制
单点故障服务器故障导致服务不可用
应用Web、FTP、Email、DNS

P2P 模型(对等模型)

┌──────────┐                    ┌──────────┐
│  对等方1  │←─── 对等通信 ──→  │  对等方2  │
│ (Peer)   │                   │ (Peer)   │
└─────┬────┘                   └────┬─────┘
      │                              │
      └──────── 对等通信 ────────────┘
                对等方3

特点:
- 所有节点既是客户又是服务器
- 节点之间直接通信
- 没有中心服务器
- 节点可以随时加入和退出

P2P 模型的特点

特性说明
角色对等每个节点既是客户又是服务器
自扩展性节点越多,资源越多
无中心没有单点故障
动态性节点随时加入退出
应用BitTorrent、文件共享、区块链

两种模型对比

特性C/SP2P
角色不对等对等
中心化是(服务器)
可扩展性受服务器限制自扩展
单点故障
管理容易困难
安全性较高较低
典型应用Web, FTP, EmailBT, 文件共享

混合模型

实际应用中常采用混合模型:
- 使用 C/S 进行管理和控制
- 使用 P2P 进行数据传输

例:BitTorrent
- Tracker 服务器(C/S):管理种子和节点信息
- Peer 之间(P2P):直接传输文件数据

例:Skype
- 登录服务器(C/S):用户认证和查找
- 用户之间(P2P):语音/视频通话

常见考法

考点说明
C/S vs P2P 对比角色、中心化、可扩展性
P2P 的自扩展性节点越多资源越多
C/S 的单点故障服务器故障影响所有客户端
混合模型实际应用中的结合

易错点

必记
  • P2P 不是完全没有服务器,某些 P2P 系统仍有辅助服务器(如 Tracker)。
  • C/S 模型中服务器可以有多个(集群),但逻辑上仍是中心化的。
  • P2P 的自扩展性是其最大优势,但管理困难是其最大劣势。
  • DNS 是 C/S 模型,但 DNS 服务器本身是分布式的。

核心结论

  1. C/S 模型:角色不对等,有中心服务器,管理简单。
  2. P2P 模型:角色对等,无中心,自扩展性好。
  3. 实际应用常采用混合模型(C/S 管理 + P2P 数据传输)。
  4. Web、FTP、Email 使用 C/S 模型。

记忆卡片

C/S 和 P2P 的核心区别?
C/S 角色不对等(有中心服务器),P2P 角色对等(无中心)。
P2P 的自扩展性是什么?
节点越多,可共享的资源越多,服务能力越强。
C/S 的主要缺点?
中心服务器是单点故障,可扩展性受服务器限制。
BitTorrent 用什么模型?
混合模型:Tracker 用 C/S,文件传输用 P2P。

交互动画 · C/S 与 P2P 拓扑

服务器 客户端 客户端 客户端
C/S:服务器居中,客户端围绕且不直接通信
示意图:C/S 是星型中心化结构;P2P 是网状对等结构,任意两节点可直接通信。
手动模式
服务器 客户端 1 客户端 2 客户端 3 请求 请求 请求
选择模型后查看请求如何被分发
C/S:所有请求都打到中心服务器;P2P:请求就近在节点间直接转发

相关知识点

http-protocol ftp-protocol dns-domain-name-system

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。