《智慧的物联网——感知中国和世界的技术》第3章互联网:物联网的运行环境,本章在系统介绍计算机网络与互联网基本概念的基础上,深入讨论了“三网融合”,以及物联网与互联网的区别与联系。本节为大家介绍互联网应用的两种工作模式:客户/服务器模式与P2P模式。

AD:WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统

3.3.3 互联网应用的两种工作模式:客户/服务器模式与P2P模式

从互联网应用系统的工作模式角度看,互联网应用可以分为两类:客户/服务器(C/S)模式与对等(P2P)模式。

1.客户/服务器模式的基本概念

从应用层的应用程序工作模型的角度看,应用程序分为客户端程序与服务器程序。以Email应用程序为例,Email应用程序分为服务器端的邮局程序与客户端的邮箱程序。用户在自己的计算机中安装并运行客户端的邮箱程序,就能够成为电子邮件系统的客户端,发送和接收电子邮件。而安装邮局应用程序的计算机就成为了电子邮件服务器,它为客户提供电子邮件服务。

互联网应用系统采用客户/服务器模式的主要原因是网络资源分布的不均匀性。网络资源分布的不均匀性表现在硬件、软件和数据三个方面。

1)网络中计算机系统的类型、硬件结构、功能都存在着很大的差异。它可以是一台大型计算机、高档服务器,它也可以是一台个人计算机,甚至是一个PDA或家用电器。它们在运算能力、存储能力和外部设备的配备等方面存在着很大差异。

2)从软件的角度来看,很多大型应用软件都是安装在一台专用的服务器中,用户需要通过互联网去访问服务器,成为合法用户之后才能够使用网络的软件资源。

3)从信息资源的角度来看,某一类型的数据、文本、图像、视频或音乐资源存放在一台或几台大型服务器中,合法的用户可以通过互联网访问这些信息资源。这样做对保证信息资源使用的合法性与安全性,以及保证数据的完整性与一致性是非常必要的。

网络资源分布的不均匀性是网络应用系统设计者的设计思想的体现。网络组建的目的就是要实现资源的共享,“资源共享”表现出网络中结点在硬件配置、运算能力、存储能力,以及数据分布等方面存在差异与分布的不均匀性。能力强、资源丰富的计算机充当服务器,能力弱或需要某种资源的计算机作为客户。客户使用服务器的服务,服务器向客户提供网络服务。因此,客户/服务器反映这种网络服务提供者与网络服务使用者的关系。在客户/服务器模式中,客户与服务器在网络服务中的地位不平等,服务器在网络服务中处于中心地位。在这种情况下,“客户”可以理解为“客户端计算机”,“服务器”可以理解为“服务器端计算机”。

2.对等P2P模式的基本概念

P2P是网络结点之间采取对等的方式,通过直接交换信息达到共享计算机资源和服务的工作模式。有时,人们也将这种技术称为“对等计算”技术,将能提供对等通信功能的网络称为“P2P网络”。目前,P2P技术已广泛应用于实时通信、协同工作、内容分发与分布式计算等领域。统计数据表明,目前的互联网流量中P2P流量超过60%,已经成为当前互联网应用的新的重要形式,也是当前网络技术研究的热点问题之一。

图3-11给出了客户/服务器模式与P2P工作模式的区别。在传统的互联网中,信息资源的共享是以服务器为中心的客户/服务器模式工作模式。以Web服务器为例,Web服务器是运行Web服务器程序、计算能力与存储能力强的计算机,所有Web页都存储在Web服务器中。服务器可以为很多Web浏览器客户提供服务。但是,Web浏览器之间不能直接通信。显然,在传统互联网的信息资源的共享关系中,服务提供者与服务使用者之间的界限是清晰的。

P2P网络则是淡化服务提供者与服务使用者的界限,所有结点同时身兼服务提供者与服务使用者的双重身份,以达到“进一步扩大网络资源共享范围和深度,提高网络资源利用率,使信息共享达到最大化”的目的。在P2P网络环境中,成千上万台计算机之间处于一种对等的地位,整个网络通常不依赖于专用的集中式服务器。P2P网络中的每台计算机既可以作为网络服务的使用者,也可以向其他提出服务请求的客户提供资源和服务。这些资源可以是数据资源、存储资源或计算资源等。

对于P2P技术发展的必然性可以从三个方面去认识:

1)从事物发展的“螺旋式上升”规律的角度去认识P2P技术的发展。如果从网络操作系统设计思路的变化来看“P2P”技术,我们会发现,早期对等结构网络操作系统采取 “我共享你,你共享我”的设计思想,非对等结构网络操作系统采取 “能力强者为能力弱者服务”的设计思想,而P2P 网络信息资源共享模式采取 “人人为我,我为人人”的设计思想。这个过程正好体现出“螺旋式上升”的事物发展规律。导致这种演变的内在因素主要是:计算机硬件资源、计算机软件资源、计算机信息资源的丰富,以及网络用户对方便访问和利用信息资源与服务需求的提高。在这些因素中,个人计算机信息资源的丰富,以及用户对网络服务需求的提高是主要因素。

 
图3-11 客户/服务器模式与P2P工作模式的区别

2)从信息资源存储格局变化的角度去认识P2P技术的发展。

在所有联网的个人计算机硬件能力都很弱的初始阶段,采取对等结构是很自然的一件事。当计算机硬件能力增强,人们可以将一些高性能、高配置的计算机作为服务器,来为配置较低的个人计算机提供网络服务时,人们自然会采取“客户/服务器”的非对等结构。当网络应用发展到一定的阶段,作为客户的个人计算机硬件能力已经很强,网络用户自身的信息资源(如文档、音乐、语音、视频)积累已经比较丰富,很多有用的和个性化的信息都存储在客户上,甚至某些方面的信息积累已经超过服务器可以提供的服务。随着这种信息资源存储格局的变化,人们自然希望寻求一种方式以最快的速度、最灵活的方式获取这些信息,在这样的背景下,开展P2P技术的研究也就是很自然的了。

3)在不同技术发展阶段,人们对网络应用关注的重点也不同。初期阶段重点是在共享网络硬件上。中期阶段重点是在共享软件和数据上。到成熟阶段,重点应该转移到共享信息资源上。这正反映了用户希望自己在互联网中扮演角色的转变。用户开始不满足只作为信息资源的享受者,希望能同时扮演信息享受者和信息提供者的双重身份,这也正反映了用户网络应用水平的提高和网络作用的深化。

从以上三个方面可以看出,在计算机硬件配置提高,网络应用水平提高,网络信息资源积累与存储格局的变化的基础上,必将导致网络资源共享模式的变化,在这样的技术发展背景下出现的P2P网络的发展也就显得很自然。

互联网应用的两种工作模式:客户/服务器模式与P2P模式相关推荐

  1. apache php 工作模式,PHP Apache中两种工作方式区别(CGI模式、Apache 模块DLL)

    搜索热词 对PHP在Apache中两种工作方式的区别(CGI模式.Apache 模块DLL)感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! Windows 下有两种方法使 ...

  2. IPsec协议的两种工作方式 协议三大部分 简介

    IPsec协议的两种工作方式: 隧道(tunnel)模式:用户的整个IP数据报被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中.通常,隧道模式应用在两个安全 ...

  3. linux apache两种工作模式详解

    apache两种工作模式详解 刚接触这两个配置时很迷糊,全部开启或全部注释没有几多变化.今天搜索到这么一篇讲得还不错的文章,看了几篇,还是不能完全记住,做一个收藏. 空闲子进程:是指没有正在处理请求的 ...

  4. Oracle 的两种工作模式Dedicated Server 和 Shared Server

    Oracle可以分成两种工作模式, 分别是 Dedicated Server 和 Shared Server                   1  Dedicated Server         ...

  5. 8086的两种工作模式_Lora自组网网关的两种工作模式

    LoRa技术具有远距离.低功耗.多节点.低成本和抗干扰的特点.另一方面,LoRa低速率支持较小的数据传输. 服务器.终端(内置LoRa模块).网关(或基站).云四部分组成了LoRa网络.如下所示 Lo ...

  6. FTP服务器的两种工作模式

    FTP协议: FTP(File transfer Protocol)是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20.21号端口, 其中端口20(数据端口)用于进行数据传输,端 ...

  7. FTP文件传输协议原理详解(两种工作模式)

    初始FTP     文件传输协议(File Transfer Protocol,缩写:FTP)是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议.文件传送(file transfer ...

  8. 8086的两种工作模式_Buck变换器工作原理

    一.Buck变换器另外三种叫法 1.降压变换器:输出电压小于输入电压. 2.串联开关稳压电源:单刀双掷开关(晶体管)串联于输入与输出之间. 3.三端开关型降压稳压电源: 1)输入与输出的一根线是公用的 ...

  9. 路由器的两种工作模式

    路由器的两种工作模式: 1.对于一个url来说,什么是hash值?--#及其后面的内容就是hash值.2.hash值不会包含在HTTP请求中,即:hash值不会带给服务器. 3. hash模式: 1) ...

  10. 路由器的两种工作模式~~~

    1.路由器的两种工作模式:hash模式.history模式. 一.hash模式 1)对于url来说,#及其后面的内容就是hash值: 2)hash值不会包含在http请求中,即:hash值不会带给服务 ...

最新文章

  1. 常用memcached命令详解
  2. 使用System.IO.Packaging.Package进行文件压缩所产生的问题
  3. Ubuntu怎么用c/c++编程
  4. VC,VB程序button、图标样式美化
  5. Servlet_生命周期方法
  6. 贷款要排队?今年可能额度都没有!
  7. YBTOJ洛谷P2042:维护数列(平衡树)
  8. 求android 中串口的发送接收数据代码
  9. 漫步最优化十二——局部极小与极大的充分必要条件(下)
  10. 查看一个网站使用的开发技术
  11. 爬虫抓取表格中的数据
  12. Python变量和字符串详解
  13. 解决百度文档复制时候的vip限制
  14. 装WIN7u盘启动盘制作详细图文教程
  15. 在WindowXP中显示找不到服务器或者DNS错误
  16. 北京python培训班价格
  17. JavaScript-常见数组内置方法
  18. WEB攻防-通用漏洞SQL读写注入ACCESS偏移注入MYSQLMSSQLPostgreSQL
  19. uni-app项目起步
  20. 【深入设计模式】装饰模式—什么是装饰模式?装饰模式在源码中的应用

热门文章

  1. 将前端传过来的base64加密图片保存到本地,并且判断来自于哪个终端
  2. 诛仙手游 法宝属性道法性价比
  3. JS 的内联模式与外联模式
  4. [凯立德]2013年12月凯立德2013秋季版2F21J0E发布_我是亲民_新浪博客
  5. 关于python中.item()的用法
  6. 有向图的拓扑排序算法JAVA实现。
  7. 电大本科计算机科学与技术,中央电大开放本科计算机科学与技术专业微计算机技术试题_0701...
  8. 修复文件关联-EXE文件关联被修改后所有应用程序都打不开
  9. node.js+社区儿童预防接种管理 毕业设计-附源码300924
  10. TypeScript等无法获取到歌曲播放的位置信息时,关于歌曲的续播