计算机网络:应用层 —— 网络应用模式

文章目录

    • 客户—服务器方式和对等方式
      • 客户/服务器方式 (C/S方式)
        • 工作流程
        • 特点
      • 对等方式 (P2P方式)
        • 工作流程
        • P2P 应用
        • 特点

客户—服务器方式和对等方式

网络应用程序运行在处于网络边缘的不同的端系统上,通过彼此间的通信来共同完成某项任务。

开发一种新的网络应用首先要考虑的问题,就是网络应用程序在各种端系统上的组织方式和它们之间的关系,目前流行的主要有以下两种:

  • 客户/服务器(Client/Server,C/S)方式

  • 对等(Peer-to-Peer,P2P)方式

客户/服务器方式 (C/S方式)

在客户 - 服务器方式(C/S 模式)中有明确的服务提供者(服务器)和服务请求者(客户)。

  • 客户和服务器是指通信中所涉及的两个应用进程

  • 客户/服务器方式所描述的是进程之间服务和被服务的关系

  • 客户是服务请求方服务器是服务提供方

  • 服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址

![[客户服务器方式.png]]

C/S 方式是因特网上传统的、同时也是最成熟的方式,很多我们熟悉的网络应用采用的都是 C/S 方式。包括万维网WWW、电子邮件、文件传输FTP等。

基于 C/S 方式的应用服务通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。

由于一台服务器计算机要为多个客户机提供服务,在 C/S 应用中,常会出现服务器计算机跟不上众多客户机请求的情况。为此,在 C/S 应用中,常用计算机群集(或服务器场)构建一个强大的虚拟服务器

工作流程
  1. 首先,客户程序需要知道服务器的 IP 地址和端口号。以网页浏览为例,当用户在浏览器(客户程序)中输入一个网址(如http://www.example.com)时,浏览器会通过 DNS(域名系统)查询得到对应的 Web 服务器的 IP 地址。

  2. 浏览器(客户)向 Web 服务器(服务端)的 80 端口(HTTP 服务默认端口)发送一个 HTTP 请求,请求获取网页内容。

  3. 服务器接收到请求后,根据请求的内容进行处理,比如从服务器的文件系统中找到对应的网页文件,然后将文件内容封装成 HTTP 响应发送回客户。

  4. 最后,客户(浏览器)收到响应后,对内容进行解析和显示,如将 HTML 文本解析成可视化的网页呈现给用户。

特点
  • 功能分工明确:服务器专注于提供特定的服务,它通常具有强大的计算资源、存储资源和网络带宽,以满足多个客户同时请求服务的需求。

    客户则相对简单,主要负责向服务器发送请求和接收、处理服务器返回的结果。例如,在文件服务器系统中,服务器负责存储和管理大量的文件,而客户只是在需要时向服务器请求下载或上传文件。

  • 可扩展性和集中管理性较好:可以通过增加服务器的硬件资源(如内存、硬盘、CPU 等)或者增加服务器的数量(如采用服务器集群)来满足不断增长的客户请求。同时,服务器端的服务和资源可以进行集中管理,例如可以方便地对服务器上的文件系统进行备份、更新软件版本等操作。

  • 安全性较高:服务器可以对客户进行身份认证和访问控制,确保只有合法的客户才能访问服务。例如,在银行系统中,客户需要通过用户名、密码或者数字证书等方式进行身份验证后,才能访问自己的账户信息和进行交易操作。

对等方式 (P2P方式)

对等方式 (P2P 方式) 是指,网络中的每个节点(计算机或设备)既是客户端又是服务器,它们在地位上是平等的,没有专门的服务器和客户端之分。

P2P 方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方对等方相互之间直接通信,每个对等方既是服务的请求者又是服务的提供者,它们在地位上是平等的。

![[对等方式.png]]

工作流程

P2P 文件共享为例:

  • 当一个节点(用户 A)想要获取一个文件时,它首先会在自己连接的 P2P 网络中发送一个文件查找请求。这个请求会在网络中的其他节点之间传播,每个节点会检查自己是否拥有该文件。

  • 如果某个节点(用户 B)拥有这个文件,它就会与请求节点(用户 A)建立连接,并将文件的部分或者全部发送给用户 A。

  • 在这个过程中,节点之间的连接可能是直接的,也可能通过其他中间节点进行转发,具体取决于 P2P 网络的拓扑结构和路由算法。

P2P 应用

目前,在因特网上流行的 P2P 应用主要包括 P2P 文件共享、即时通信、P2P 流媒体、分布式存储等。

基于 P2P 的应用是服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中,这些计算机并不为服务提供商所有,而可是为个人控制的桌面计算机和笔记本电脑,它们通常位于住宅、校园和办公室中。

特点
  • 自组织和高扩展性P2P 方式的最突出特性之一就是它的可扩展性,因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不因规模的增大而降低

  • 分布式资源共享P2P 模式充分利用了网络中各个节点的资源,实现了资源的分布式存储和共享。它不需要像 C/S 模式那样依赖集中式的服务器,因此可以避免单点故障问题

  • 成本优势P2P 方式具有成本上的优势,因为它通常不需庞大的服务器设施和服务器带宽。为了降低成本,服务提供商对于将 P2P 方式用于应用的兴趣越来越大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/65210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MC服务器异常ip入侵过滤——使用GeoLite2-Country.mmdb离线数据库定位玩家IP归属国家

服务器插件 ipvalidate-for-mcpaper1.21.jar。 在搞一些东西时发现了GeoLite2这个数据库,本质上它应该算是一个离线的ip地理数据库,就是可以查询到IP对应的国家或地区,MAXMIND还提供了更具体的城市数据库,似乎也可以查到ip对应的城…

uniapp——APP读取bin文件,解析文件的数据内容(二)

文章目录 读取bin文件内容,发送给蓝牙设备;上传文件返回数据格式通过URL路径获取文件对象,读取文件的数据内容file对象返回数据格式 读取bin文件内容,发送给蓝牙设备; 上传文件,根据返回路径,解…

【计算机视觉基础CV-图像分类】05 - 深入解析ResNet与GoogLeNet:从基础理论到实际应用

引言 在上一篇文章中,我们详细介绍了ResNet与GoogLeNet的网络结构、设计理念及其在图像分类中的应用。本文将继续深入探讨如何在实际项目中应用这些模型,特别是如何保存训练好的模型、加载模型以及使用模型进行新图像的预测。通过这些步骤,读…

pytorch中torch.nn.functional.normalize、nn.norm和LayerNorm计算中的区别

torch.nn.functional.normalize 计算方式 v v max ⁡ ( ∥ v ∥ p , ϵ ) \mathbf{v} \frac{\mathbf{v}}{\max\left(\|\mathbf{v}\|_p, \epsilon\right)} vmax(∥v∥p​,ϵ)v​ pytorch例子 a torch.arange(12).reshape(3,4).float() torch.nn.functional.normalize(a, d…

sentinel限流+其他

quick-start | Sentinel sentinel 作用 限流 熔断降级 1,限制什么 QPS 并发线程数 2,限制什么 资源,什么资源 服务,方法,接口,或者一段代码 3,实现方式 配置规则 注解 其他 Java常见5种限流…

运行Zr.Admin项目(后端)

1.下载Zr.Admin代码压缩包 https://codeload.github.com/izhaorui/Zr.Admin.NET/zip/refs/heads/main 2.打开项目 我这里装的是VS2022社区版 进入根目录,双击ZRAdmin.sln打开项目 3.安装.net7运行时 我当时下载的代码版本是.net7的 点击安装 点击安装&#xff0…

Linux系统升级OpenSSH 9.8流程

参考链接: openssh最新版本下载地址:Index of /pub/OpenBSD/OpenSSH/portable/ 注意:openssh9.8需要依赖openssl,版本至少为1.1.1。 一、简介 Openssh存在远程代码执行漏洞(CVE-2024-6387),攻击者可以成功利用该漏…

webrtc-internals调试工具

Google 的 Chrome(87 或更高版本)WebRTC 内部工具是一套内置于 Chrome 浏览器中的调试工具; webrtc-internals 能够查看有关视频和音频轨道、使用的编解码器以及流的一般质量的详细信息。这些知识对于解决音频和视频质量差的问题非常有帮助。 webrtc-int…

选择屏幕的用法

**************************定义控件*********************************** SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002. SELECT-OPTIONS bukrs FOR iloa-bukrs . "公司代码 SELECT-OPTIONS swerk FOR iloa-swerk OBLIGATORY . "工厂 SELECT-O…

Webpack在Vue CLI中的应用

webpack 作为目前最流行的项目打包工具,被广泛使用于项目的构建和开发过程中,其实说它是打包工具有点大材小用了,我个人认为它是一个集前端自动化、模块化、组件化于一体的可拓展系统,你可以根据自己的需要来进行一系列的配置和安…

如何用gpt来分析链接里面的内容(比如分析论文链接)和分析包含多个文件中的一块代码

如何用gpt来分析链接里面的内容,方法如下 这里使用gpt4里面有一个网路的功能 点击搜索框下面这个地球的形状即可启动搜索网页模式 然后即可提出问题在搜索框里:发现正确识别和分析了链接里面的内容 链接如下:https://arxiv.org/pdf/2009.1…

Docker Search失败,但是Pull成功的解决方法(环境:腾讯云服务器CentOS7系统安装Docker)

Docker Search失败,但是Pull成功的解决方法(环境:腾讯云服务器CentOS7系统安装Docker) 背景解决思路 背景 在安装完成Docker后,成功启动Docker(Systemctl start Docker),使用搜索镜像命令(Dock…

Obfuscator使用心得

最近在用obfuscator来混淆unity项目。但凡是涉及到反射的都不要混淆。反射需要使用到类名或者方法名,你混淆后,名字就不是原来的了。寄。还有序列化的数据也不要混淆。比如我的关卡数据序列化后保存到本地,在反序列化的时候找不到对应的字段名…

负载均衡式在线OJ

文章目录 项目介绍所用技术与开发环境所用技术开发环境 项目框架compiler_server模块compiler编译功能comm/util.hpp 编译时的临时文件comm/log.hpp 日志comm/util.hpp 时间戳comm/util.hpp 检查文件是否存在compile_server/compiler.hpp 编译功能总体编写 runner运行功能资源设…

云原生系列之docker的容器管理实战

前言 之前我们已经探讨过了docker的镜像,看了下时间,距离上次介绍容器的镜像已经过去两个月了, 如果你已经忘记了,可以直奔专栏:容器管理 从今天开始,我们要探讨docker 的容器了,docker的容器都是从镜像开始创建的,涉及到的操作有: 创建容器,停止容器,进入容器,删…

解决VMware的ubuntu22虚拟机没有网络

解决步骤 1.在 Windows 系统中,按 “WinR” 键,输入 “services.msc” 并回车,在服务列表中找到 “VMware DHCP Service” 和 “VMware NAT Service”,确保这两个服务已启动,若未启动则右键点击选择 “启动”&#xf…

NiChart 多模态神经影像(structural MRI,functional MRI,and diffusion MRI)处理和分析工具包安装

NiChart多模态神经影像部署 NiChart 本地安装Git clone 问题personal access token PAT 问题 NiChart 云端注册AWS验证问题 NiChart 是UPenn大学,Christos Davatzikos教授开发的一个多模态MRI影像,structural (sMRI), diffusion (dMRI), and …

xinput1_3.dll放在哪里?当xinput1_3.dll丢失时的应对策略:详细解决方法汇总

在计算机系统的运行过程中,我们偶尔会遇到一些令人困扰的问题,其中xinput1_3.dll文件丢失就是较为常见的一种情况。这个看似不起眼的动态链接库文件,实则在许多软件和游戏的正常运行中发挥着至关重要的作用。一旦它丢失,可能会导致…

【VScode】第三方GPT编程工具-CodeMoss安装教程

一、CodeMoss是什么? CodeMoss是一款集编程、学习和办公于一体的高效工具。它兼容多种主流平台,包括VSCode、IDER、Chrome插件、Web和APP等,支持插件安装,尤其在VSCode和IDER上的表现尤为出色。无论你是编程新手还是资深开发者&a…

智慧农业物联网传感器:开启农业新时代

在当今科技飞速发展的时代,农业领域正经历着一场前所未有的变革,而智慧农业物联网传感器无疑是这场变革中的关键利器。它宛如农业的 “智慧大脑”,悄然渗透到农业生产的各个环节,为传统农业注入了全新的活力,让农业生产…