Skip to content

网络应用模型

考情分析

网络应用模型在 408 中偶尔出选择题,2019 年真题考过 C/S 和 P2P 的特点对比。内容本身不复杂,但容易因为细节表述不严谨而选错,比如"C/S 模型中客户之间能否直接通信"。

考频:★☆☆

C/S 模型(Client/Server)

在客户/服务器模型中,有一个始终运行的服务器,负责响应多个客户的服务请求。

工作流程:

  1. 服务器持续处于接收请求的状态
  2. 客户主动发起请求,等待结果
  3. 服务器收到请求后处理并返回结果

核心特点:

  • 服务器始终在线,有固定的 IP 地址
  • 客户必须事先知道服务器地址,服务器不需要事先知道客户地址
  • 客户之间不直接通信(例如两个浏览器之间不会直接交换数据)
  • 可扩展性不佳,服务器容易成为瓶颈
  • 管理集中,服务器可通过权限控制来管理客户

典型应用:Web(HTTP)、文件传输(FTP)、电子邮件(SMTP/POP3/IMAP)。

注意:连接建立后,服务器是可以主动向客户发送数据的(比如推送通知、错误消息)。"客户主动发起"说的是建立连接的过程,不是说连接建立后服务器就不能主动发数据了。

P2P 模型(Peer-to-Peer)

在 P2P 模型中,没有专用的中心服务器,每个节点(对等方,Peer)既是客户又是服务器。

核心特点:

  • 任意两个节点可以直接通信
  • 每个节点访问别人的资源时是客户,为别人提供资源时是服务器
  • 可扩展性好,网络容量随节点数量增加而自然增长
  • 单个节点失效不影响其他节点,健壮性强
  • 缺点:占用较多本机资源(CPU、内存、磁盘 I/O),可能影响本机性能

典型应用:BitTorrent 文件共享。

C/S 与 P2P 对比

对比项C/S 模型P2P 模型
是否有专用服务器有,始终在线没有
节点角色服务器和客户分工明确每个节点既是客户又是服务器
通信方式客户只能与服务器通信,客户间不直接通信任意节点可直接通信
可扩展性较差,受服务器性能限制好,节点越多容量越大
管理集中管理,易于控制分散管理,难以集中控制
健壮性服务器故障则服务中断单点故障影响小
文件分发效率随用户数增加而下降随用户数增加反而可能提升

易错点

1. C/S 模型中客户之间不能直接通信

这是 2019 年真题的考点。在 C/S 模型中,所有通信都通过服务器中转,两个客户之间不能直接通信。

2. P2P 模型本质上仍基于 C/S 机制

从实现角度看,P2P 中的每次通信仍然是一方充当客户、另一方充当服务器。P2P 的区别在于没有"固定的"服务器角色,每个节点都可以灵活切换。

3. 连接建立后服务器可以主动发数据

"客户主动、服务器被动"描述的是发起连接的过程。连接一旦建立,服务器可以主动向客户推送数据。

高频考点清单

  • C/S 模型中服务器始终在线、有固定 IP
  • C/S 模型中客户之间不直接通信
  • P2P 模型中每个节点既是客户又是服务器
  • P2P 模型可扩展性好、健壮性强
  • 向多用户分发文件时,P2P 通常比 C/S 更快