计算机网络---应用层概述

2023-11-15

(一)应用层概述

基本定义:

       应用层Application layer)是OSI模型的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE。

       CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制;特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等。

由来:

       运输层为应用进程提供了端到端的通信服务,但不同的网络应用应用进程之间,还需要有不同的通信规则,因此在运输层协议之上,还需要有应用层协议(applieation layer protoeol)。这是因为每个应用层协议都是为了解决某一类应用问题,而问题的解决又必须通过位于不同主机中的多个应用进程之间的通信和协同工作来完成。应用进程之间的这种通信必须遵循严格的规则。应用·层的具体内容就是精确定义这些通信规则。具体来说,应用层协议应当定义:

  •  应用进程交换的报文类型,如请求报文和响应报文。

  •  各种报文类型的语法,如报文中的各个字段及其详细描述。

  • 字段的语义,即包含在字段中的信息的含义。

  • 进程何时,如何发送报文,以及对报文进行响应的规则

注意:互联网公共领域的标准应用的应用层协议是由 RPC.文档定义的,大家都可以使用。例如,万维网的应用层协议 HTTP(超文术传输协议》就是由建议标准 RFC 7230 定义的。

(二) 网络用户模型·

  Ⅰ  客户/服务器模型
     在客户/服务器(Client/Server,C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求。其工作流程如下:
①  服务器处于接收请求的状态。
②  客户机发出服务请求,并等待接收结果。
③  服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户机。

        客户程序必须知道服务器程序的地址,客户机上一般不需要特殊的硬件和复杂的操作系统。而服务器上运行的软件则是专门用来提供某种服务的程序,可同时处理多个远程或本地客户的要求。系统启动后即自动调用并一直不断地运行着,被动地等待并接收来自各地客户的请求。因此,服务器程序不需要知道客户程序的地址


       客户/服务器模型最主要的特征是:客户是服务请求方,服务器是服务提供方。如 Web 应用程序,其中总是打开的Web 服务器服务于运行在客户机上的浏览器的请求。当Web服务器接收到来自客户机对某对象的请求时,它向该客户机发送所请求的对象以做出响应。常见的使用客户/服务
应用层器模型的应用包括Web、文件传输协议(FTP)、远程登录和电子邮件等。

注:客户既不是硬件也不是软件。客户机的作用是根据用户需求向服务器发出服务请求,并将服务器返回的结果呈现给用户。因此客户机是面向用户的,服务器是面向任务的。
    客户/服务器模型的主要特点还有:

  •  网络中各计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的
    目的,使它们不能随意存储/删除数据,或进行其他受限的网络活动。整个网络的管理工
    作由少数服务器担当,因此网络的管理非常集中和方便。

  •  客户机相互之间不直接通信。例如,在Web 应用中两个浏览器并不直接通信。

  • 可扩展性不佳。受服务器硬件和网络带宽的限制,服务器支持的客户机数有限。

Ⅱ  P2P模型
      在C/S模型中,服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。P2P模型的思想是整个网络中的传输内容不再被保存在中心服务器上,每个结点都同时具有下载、上传的功能,其权利和义务都是大体对等的。
 
        在 P2P 模型中,各计算机没有固定的客户和服务器划分。相反,任意一对计算机——称为对等方(Peer),直接相互通信。实际上,P2P模型从本质上来看仍然使用客户/服务器模式,每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问。当前比较流行的P2P应用有PPlive、Bittorrent和电驴等,
   与C/S模型相比,P2P模型的优点主要体现如下:
①减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,因此大大提高了系统效率和资源利用率(例如,播放流媒体时对服务器的压力过大,而通过P2P模型,可以利用大量的客户机来提供服务)。
②多个客户机之间可以直接共享文档。
可扩展性好,传统服务器有响应和带宽的限制,因此只能接受一定数量的请求。
④网络健壮性强,单个结点的失效不会影响其他部分的结点。


BUT,P2P模型也有缺点:在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度。如经常进行P2P下载还会对硬盘造成较大的损伤。据某互联网调研机构统计当前P2P程序已占互联网50%~90%的流量,使网络变得非常拥塞,因此各大ISP(互联网服务提供商如电信等)通常反对P2P应用

   注: “P2P网络是一种物理网络”的描述是错误的。P2P网络是指在互联网中由对等结点组成的一种覆盖网络(Overlay Network),是一种动态的逻辑网络。另外,对等结点之间具有直接通信的能力是 P2P的显著特点。

 


 
 
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络---应用层概述 的相关文章

  • gitlab修改密码后无法pull的解决方法

    在登录gitlab的时候发现密码忘记了 在重新设置了密码之后 git无法pull代码 需要改windows下的凭据管理器中对应gitlab地址的凭据密码 把密码修改成你的新密码 个人建的交流群1125844267 欢迎大家加入 如果内容对大
  • OpenGL文字渲染的实例(C/C++)

    OpenGL文字渲染的实例 C C 在计算机图形学中 文字渲染是一个常见的任务 它涉及将字符或文本字符串呈现在屏幕上 OpenGL是一个广泛使用的图形库 它提供了强大的功能来渲染2D和3D图形 并且也支持文字渲染 本文将介绍如何使用Open
  • springboot 没有找到service_Spring Boot 应用程序五种部署方式

    翻译自 Deploying Spring Boot Applications 1 原作者 Murat Artim 2 可以使用各种方法将 Spring Boot 应用程序部署到生产系统中 在本文中 我们将通过以下 5 种方法来部署 Spri
  • 卡尔曼滤波之线性滤波,标量滤波

    卡尔曼滤波器由一系列递归数学公式描述 它们提供了一种高效可 计算的方法来估计过程的状态 并使估计均方误差最小 卡尔曼滤波 器应用广泛且功能强大 它可以估计信号的过去和当前状态 甚至能 估计将来的状态 即使并不知道模型的确切性质 对于Kalm

随机推荐

  • JAVA 快速排序算法(详细实现过程介绍)

    快速排序采用了一种分治的策略 通常称其为分治法 Divide and ConquerMethod 空间复杂度 快速排序是一种原地排序 只需要一个很小的栈作为辅助空间 空间复杂度为O log2n 所以适合在数据集比较大的时候使用 时间复杂度
  • 右腿驱动电路

    转自 http www 360doc com content 18 0312 15 1751130 736374982 shtml 1 使用目的 人和外界环境 尤其是电力线会形成容性耦合 这个耦合到的能量通过人体流入大地 而人体是带电阻的
  • 最全的目标检测与跟踪发展文献综述

    实时目标检测技术作为计算机视觉领域的重要研究方向之一 他在军事侦察 视频监控 智能战斗等领域有着重要的应用场景 随着深度学习的发展和硬件水平的提升 各种深度学习的算法对于航空影响的自动化起到了巨大的推动作用 基于深度神经网络的视觉算法通过自
  • 装饰者模式---装饰者模式和桥接模式的区别

    装饰者模式 什么是装饰者模式 动态将职责附加到对象上 若要扩展功能 装饰者提供了比继承更具弹性的代替方案 装饰者模式又称为包装模式 它主要是为了扩展对象的功能 包装类通过持有对象的引用 将对象传到包装类里面 聚合 把对象包装起来 可以在调用
  • 【数学建模】灰度预测之关联度求解

    灰度预测适用范围 在实际中 若得到的是离散的 规律性不强的数据 此时线性回归就不适用了 我们需要采用灰度预测的方法 灰度预测法则是一种对含有不确定因素的系统进行预测的方法 白色系统 黑色系统 灰色系统 白色系统 指一个系统的内部特征是完全已
  • TP6关于hasOne的用法

    TP6关于hasOne的用法 实际操作中看如下案例 文章分类表 CREATE TABLE case category id bigint 20 unsigned NOT NULL AUTO INCREMENT COMMENT 主键id na
  • GO语言网络编程(并发编程)Channel

    GO语言网络编程 并发编程 Channel 1 Channel 1 1 1 Channel 单纯地将函数并发执行是没有意义的 函数与函数间需要交换数据才能体现并发执行函数的意义 虽然可以使用共享内存进行数据交换 但是共享内存在不同的goro
  • hmcl启动器安装游戏版本失败_有关HMCL的个人粗糙介绍

    简单介绍关于HMCL Hello Minecraft Launcher 受欢迎的 Minecraft 启动器的使用 github https github com huanghongxun HMCL releases 1 使用前的一些调试
  • 「问题记录|VirtualBox」OSX系统启动就异常退出的问题

    背景说明 需要一个OSX系统进行软件打包 原本想在docker中进行 奈何电脑配置不够格 所以还是回归VirtualBox的怀抱 这里记录一个小操作 问题描述 虚拟机启动后加载完毕后闪退 快到甚至有可能没看到窗口 然后就看到侧边列表的虚拟机
  • Python USB通讯

    1 下载libusb 地址 Releases libusb libusb GitHub 下载7z压缩包文件到本地 解压后将32位版本的dll文件拷贝到C Windows System32 64位的dll文件拷贝到C Windows SysW
  • pytorch中的二分类及多分类交叉熵损失函数

    本文主要记录一下pytorch里面的二分类及多分类交叉熵损失函数的使用 import torch import torch nn as nn import torch nn functional as F torch manual seed
  • bin目录下存放的是什么文件?

    bin文件夹通常里面都是什么文件 经常使用电脑系统安装程序的朋友可能会发现 很多软件在安装后都会产生一个bin文件夹 那么bin文件夹是什么 里面大多放着什么文件呢 下面我们来学习一下 避免一些错误的认知导致程序损坏等误操作 软件的安装后文
  • activiti5.17.0流程图及节点显示

    引用 activiti流程图上获取各节点的信息获取 这篇文章写得很好 揭示了图片点击出现信息的方法 于是我也做了 只不过有些改动 可能是activiti的版本不同的原因 jsp页面 通过流程实例id进行操作
  • 【从嵌入式视角学习香山处理器】四、Chisel语言基础

    文章目录 一 前言 二 Linux上对scala工程的操作 1 helloworld执行命令 2 有多个工程目录时 需要切换工程 3 编译报错 4 给vscode的scala插件设置JAVA HOME路径 三 ch4 基本组成部分 ch4
  • 第二章实验1

    周末没事正好练习下 前边 r原以为是只查看cpu寄存器内容 原来还有修改的意思 只用r即查询 用r 寄存器 则是修改该寄存器 不只是可以修改ax 可以修改其他寄存器 d 段地址 偏移地址 查看内存内容 最左边是每行的起始地址 中间是从指定内
  • dev-tool安装方法(手动安装版)

    记录一下vue调试神器dev tool的安装过程 由于是在公司内网 也不方便挂梯子 所以手动安装 下载源码在本地编译 再添加扩展程序的方式安装 过程如下 一 dev tool源码获取 git地址 https github com vuejs
  • Git分支管理策略

    原文地址 http www ruanyifeng com blog 2012 07 git html 如果你严肃对待编程 就必定会使用 版本管理系统 Version Control System 眼下最流行的 版本管理系统 非Git莫属 相
  • 通过post请求下载接口,接口返回流数据,前端处理下载或展示出错信息

    需求描述 1 使用post请求 参数放在请求体内 所以不能用get请求 2 后端返回流 二进制数据 前端自己处理下载 3 如果后端出错 后端返回json数据 前端处理 展示错误内容 实现 1 后端需要设置 response Content
  • 攻防世界--web--新手区

    攻防世界 web 新手区 0x01 view source 题目描述 X老师让小宁同学查看一个网页的源代码 但小宁同学发现鼠标右键好像不管用了 解题思路 进去之后显示FLAG is not here 然后就按F12查看Elements选项
  • 计算机网络---应用层概述

    一 应用层概述 基本定义 应用层 Application layer 是OSI模型的第七层 应用层直接和应用程序接口并提供常见的网络应用服务 应用层也向表示层发出请求 应用层是开放系统的最高层 是直接为应用进程提供服务的 其作用是在实现多个