Skip to content

408

计算机网络

CN-06-01 C/S模型与P2P模型


一、定位信息

  • 圈层:核心层
  • 前置知识:需要了解传输层的基本功能(端口号、TCP/UDP),理解网络应用的基本概念
  • 知识网络位置:C/S和P2P是应用层两种基本的网络应用架构模型,是理解DNS、HTTP、FTP、电子邮件等具体应用协议的基础框架
  • 考点热度等级M级(中频常考)——通常以选择题形式考查两种模型的特点和区别

二、知识点讲解

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

客户-服务器(Client/Server)模型是互联网应用最普遍的架构模式。在这种模型中:

  • 服务器(Server):始终运行,等待客户端的请求。服务器拥有固定的IP地址和熟知端口号,提供特定的服务。
  • 客户(Client):主动发起请求,与服务器通信。客户端使用临时的动态端口号,可以在需要时启动,不需要时关闭。

C/S模型的特点

特点说明
服务器始终运行7×24小时不间断服务
服务器有固定地址IP地址和熟知端口号不变
客户端主动发起客户端先发请求,服务器后响应
客户端之间不直接通信所有通信都经过服务器中转
可扩展性受限服务器性能是瓶颈,用户激增时需升级服务器

典型应用:Web(HTTP)、FTP、电子邮件(SMTP/POP3/IMAP)、DNS

2.2 P2P模型(对等模型)

P2P(Peer-to-Peer)模型中,没有固定的服务器和客户端之分。每个节点(Peer)既是客户又是服务器,既可以请求服务也可以提供服务。

P2P模型的特点

特点说明
无中心服务器每个节点地位对等
自扩展性节点越多,总资源(带宽、存储)越大
节点动态加入/退出网络拓扑不断变化
节点间直接通信不需要经过中心服务器
实现复杂需要处理节点发现、路由、安全等问题

P2P的优势——自扩展性(Self-scalability):每个新节点加入P2P网络,既是服务请求者也是服务提供者。节点越多,同时下载的人越多,同时提供上传的节点也越多,总体服务能力增强。这与C/S模型形成鲜明对比——C/S模型中用户越多,服务器压力越大。

典型应用:BitTorrent(文件分发)、Skype(早期版本,VoIP)、区块链

2.3 C/S与P2P的对比

对比项C/S模型P2P模型
服务器专用服务器,始终运行无专用服务器,节点互为服务器
可扩展性受服务器性能限制自扩展性,节点越多越强
可靠性服务器故障→服务中断部分节点退出不影响整体
客户端通信必须经过服务器节点间可直接通信
管理难度集中管理,容易控制分散管理,难以控制
安全性相对容易保障安全问题更复杂
典型应用Web、FTP、EmailBitTorrent、区块链

2.4 混合模型

实际应用中,许多系统采用混合模型——既有C/S的组件也有P2P的组件。例如:

  • Napster:使用中心服务器进行文件搜索(C/S),文件传输在节点间直接进行(P2P)
  • 即时通信:登录和好友列表管理通过中心服务器(C/S),消息和文件传输可以在用户间直接进行(P2P)

三、记忆与理解辅助

  1. 口诀:"C/S一主多仆,服务器是核心;P2P人人平等,人多力量大"——记住两种模型的核心区别。

  2. 类比记忆:C/S像"餐厅"——你去餐厅点菜(请求),厨房做菜(服务),所有客人都通过餐厅获得食物。P2P像"AA制聚餐"——每个人带一道菜,大家互相分享,来的人越多菜越丰富。

  3. 对比记忆:自扩展性是P2P最大的优势,可以用公式理解——C/S模型中系统总服务能力 ≈ 服务器能力(常数),P2P模型中系统总服务能力 ≈ 节点数 × 节点平均能力(随节点数增长)。


四、例题与精解

例题1(基础巩固)

题目:下列关于C/S模型和P2P模型的描述中,正确的是( )。

A. C/S模型中客户端需要有固定的IP地址和端口号

B. P2P模型中每个节点既可以作为客户也可以作为服务器

C. C/S模型的可扩展性优于P2P模型

D. P2P模型中不存在任何服务器

命题意图:考查两种网络应用模型的基本特点。

精解

  1. 审题分析:逐项判断各描述的正确性。

  2. 解题思路:回忆C/S和P2P的核心特点。

  3. 完整步骤

    • A选项:C/S模型中服务器有固定IP和端口号,客户端使用临时的动态端口号,IP地址也可能变化。错误
    • B选项:P2P模型的核心特点就是每个节点(Peer)既是客户又是服务器,可以请求服务也可以提供服务。正确
    • C选项:P2P模型具有自扩展性,可扩展性通常优于C/S模型。错误
    • D选项:P2P模型中可能仍有某些服务器辅助功能(如Napster的搜索服务器),并非完全无服务器。错误
  4. 方法反思:C/S和P2P的区别是基础但重要的考点。注意P2P的"无中心服务器"是一种理想化的描述,实际系统常采用混合模型。

答案:B


例题2(中等提升)

题目:某文件分发系统中有1个服务器和N个客户端。服务器的上传速率为usu_s,每个客户端的下载速率为dd,上传速率为uu。在C/S模型下,服务器向所有客户端分发一个文件的最短时间约为( );在P2P模型下,最短时间约为( )。

A. max{NF/us,F/d}\max\{NF/u_s, F/d\}max{F/us,F/d,NF/(us+Nu)}\max\{F/u_s, F/d, NF/(u_s+Nu)\}

B. NF/us+F/dNF/u_s + F/dNF/(us+Nu)NF/(u_s+Nu)

C. max{NF/us,F/d}\max\{NF/u_s, F/d\}NF/(us+Nu)NF/(u_s+Nu)

D. NF/usNF/u_smax{F/us,F/d}\max\{F/u_s, F/d\}

命题意图:考查C/S和P2P模型在文件分发场景下的性能对比,理解自扩展性的数学含义。

精解

  1. 审题分析:需要推导两种模型下的文件分发时间下界。

  2. 解题思路:文件分发时间的下界由两个瓶颈决定——服务器的上传能力和客户端的下载能力。

  3. 完整步骤

    C/S模型

    • 服务器需要向N个客户端各上传一份文件,总上传量=NF
    • 服务器上传时间 = NF/usu_s
    • 最慢的客户端下载时间 = F/dd
    • 总时间 = max{NF/usu_s, F/dd}
    • 取max是因为服务器串行上传和客户端并行下载同时进行

    P2P模型

    • 服务器只需上传一份文件:F/usu_s
    • 最慢的客户端下载时间:F/dd
    • 系统总上传能力 = us+Nuu_s + Nu(服务器+N个客户端都在上传)
    • 总需求量 = NF,总上传时间 = NF/(us+Nuu_s + Nu)
    • 总时间 = max{F/usu_s, F/dd, NF/(us+Nuu_s + Nu)}
  4. 方法反思:这道题很好地展示了P2P的自扩展性——C/S的瓶颈项NF/usu_s中只有服务器上传,而P2P的瓶颈项NF/(us+Nuu_s+Nu)包含了所有节点的上传能力。当N很大时,P2P的分发时间趋近于F/dd(客户端下载速度的瓶颈),而C/S的分发时间趋近于NF/usu_s(随N线性增长)。

答案:A


五、考情分析

  • 考查频次:近5年408真题中C/S与P2P对比约出现2~4次
  • 常见题型:选择题(模型特点辨析)和计算题(文件分发时间比较)
  • 分值占比:2~4分
  • 命题趋势:该知识点相对稳定,文件分发时间计算是经典考法。近年可能结合新型应用(如CDN、流媒体)考查架构选择
  • 基于大纲与命题规律推测

六、易错点提醒

  1. 错误表现:认为C/S模型中客户端也需要有固定的IP地址和端口号

    • 错误原因:将服务器的特点套用到客户端
    • 正确理解/做法:C/S模型中只有服务器需要固定的IP和熟知端口号。客户端使用临时的动态端口号,IP地址也可能因网络环境变化。
  2. 错误表现:认为P2P模型完全没有服务器

    • 错误原因:对P2P模型的理解过于理想化
    • 正确理解/做法:纯粹的P2P确实不需要服务器,但实际应用中很多P2P系统采用混合模型,可能使用中心服务器进行节点发现、搜索等辅助功能。
  3. 错误表现:认为P2P模型中节点越多,每个节点的下载速度越慢

    • 错误原因:类比C/S模型中服务器瓶颈的经验
    • 正确理解/做法:P2P具有自扩展性——节点越多,同时提供上传的节点也越多,总带宽增大。在理想情况下,节点增多不会降低(甚至可能提高)单个节点的下载速度。

七、来源标注

  • 依据2026考研统考大纲·计算机网络部分
  • 依据《计算机网络(第8版)》谢希仁版
  • 依据《计算机网络:自顶向下方法(第8版)》James F. Kurose版

考研全科复习资料 - 基于2026考研统考大纲