【计算机网络】 网络体系结构分类: 客户机/服务器体系和P2P

网络体系结构的分类

现代网络应用程序有两种主流的体系结构: 客户机/服务器体系结构和P2P体系结构(peer to peer “对等”)

一 . 客户机/服务器体系结构

客户机/服务器体系结构是最为喜闻乐见的网络体系结构,它的最大特点是“一台服务器 — 多个客户机”,  客户机通常充当发起请求的角色,而服务器则通常充当接收请求,提供响应的角色。

这种网络体系结构还有以下几个特点;

1. 服务器主机是总是打开的, 客户机主机则并不总是打开

2. 服务器是处理所有逻辑的中心

3. 基于2的原因,两个客户机一般是不能直接通信的, 要进行通信必须经过服务器

4. 虽然客户机/服务器体系结构的特征是“一对多”,但是服务器却并不总是一台,因为有的时候要处理海量的客户机的请求, 一台服务器很快就会不堪重负,所以这个时候常用服务器集群技术(server clustering)创建强大的虚拟服务器。所以这里“一对多”的一要理解为一组服务器组成的“一”个整体的意思。

5. 由于4的原因,客户机/服务器体系的应用服务通常是基础设施密集的(infrastructure intensive),也就是说,提供该服务的互联网商家,例如搜索引擎(百度),网络商务(淘宝)通常要为服务器场的购买,安装和维护投入巨额的费用。

二. P2P体系结构

和客户机/服务器体系结构截然不同的是P2P体系结构(对等结构), 在P2P中,进行通信的的并不是客户机/服务器,而是两台客户机。

进行通信的可能是两台用户的电脑,两个手机,或者一台电脑和一个手机,总之,进行通信的任意一对都被称为“对等方”

我们结合以下这副图来说明P2P体系结构讨人欢喜的优点

1.客户机间的直接通信使得P2P有了强大的自扩展性(self-calability),什么意思呢? 假设上面这幅图是一个发送文件(上载/下载)文件的过程,我们可以看到,从上至下,接收文件的主机的数量是指数递增的,系统的服务能力在逐渐增强,而且越来越强。

2.P2P体系结构对基础设施服务器有最小的依赖, 这是和基础设施密集的客户机/服务器体系结构是截然相反的。

我们假设在上图的P2P结构中增加一个服务器,并且要求在客户机/服务器结构和P2P结构间做一个发送文件的能力的对比: 要求是每个客户机都成功下载一个文件,那么

  • 在客户机/服务器结构上,一个服务器要向7台客户机上载这个文件,共上载7次,而P2P结构下,服务器最少只要上载文件一次就够了。 相比之下, 前者服务器不堪重负,后者服务器则毫无压力
  • 事实上,完成这个任务。P2P会比客户机/服务器结构的应用快的多

对服务器依赖小就意味着投入建设的成本会大大减小,正因此许多互联网公司尤其喜欢P2P。 但话虽如此,但实际上具体的还是要看应用的具体业务,上面的表述仍然只是很单方面的对比。

两种网络体系结构各自的应用

许多我们常见的应用层协议,都是以客户机/服务器体系结构为基础的,例如http, FTP ,SMTP。从明天开始,我将发布一系列关于应用层协议的文章,以作为自己学习的总结

【完】

参考书籍

《计算机网络-自顶向下》  作者 James F. Kurose

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

ONOS中Juniper路由器Driver开发简介

简介 根据SDN的实现深度,可将其分为狭义SDN与广义SDN。其中,狭义SDN是指基于OpenFlow协议,将转发面和控制面完全分离的革命性SDN。广义SDN是...

2575
来自专栏北京马哥教育

IBM技术专家教你“懒惰”Linux管理员的10个关键技巧

作者:Vallard Benincosa, 来源: https://www.ibm.com/developerworks/cn/linux/l-10sysadt...

2735
来自专栏张善友的专栏

Windows 7社区发布活动 -- Windows 7兼容性概述

今天在深圳的Windows 7社区发布活动讲了Session 2 -- Windows 7兼容性概述。今天参会的人员达到60多个,大家也非常积极的讨论。我的Se...

1666
来自专栏FreeBuf

Makednslog:让我们来看一看这款能够伪造DNS日志的工具

写在前面的话 2016年8月1日,我曾发表过一篇文章【点击文末的阅读原文查看】并介绍了如何使用哈希算法来提升大型DNS日志文件的搜索效率。但是这篇文章中还存在一...

2006
来自专栏吴柯的运维笔记

Nagios的插件介绍

Nagios的插件 一、介绍 与其他的监控工具不同,Nagios的内在机制中不包含针对主机和服务状态的检测,而是依赖于外部程序(称为插件)来做这些脏活(--...

2606
来自专栏大魏分享(微信公众号:david-share)

原生KVM虚拟化方案"管理平台"配置步骤(RHV-M Appliance)

浅谈2016年的虚拟化市场 本文正式开始之前,先阐述一个观点,即RHV/RHEV是基于KVM原生的虚拟化解决方案, 为什么这么说呢? 首先,KVM严格意义上讲不...

3104
来自专栏数据库新发现

自治数据库:体验 Oracle 的自治数据仓库云环境,ADWC 极致的性能优化

原文链接:http://www.enmotech.com/web/detail/1/535/1.html

1005
来自专栏数据库新发现

Oracle云数据库初体验 之一 - 申请与介绍

关于Oracle云数据库(Oracle Cloud Database)的一些体验和分享,也可以参考以下链接:

1123
来自专栏FreeBuf

如何利用DCOM实现横向渗透

这篇文章主要讨论的是DCOM横向渗透以及Payload执行方法,当目标系统的\target\admin$\system32\中不包含mobsync.exe时,本...

512
来自专栏LanceToBigData

linux(一)之linux简介

其实在前几天我使用的是csdn来写博客,尝试了一下,发现真的太浪费时间了。可能是自己不太习惯的原因吧。所以最后还是换回使用博客园。 接下来给大家带来的是linu...

17710

扫码关注云+社区