计算机网络(六):应用层

参考引用

  • 计算机网络微课堂-湖科大教书匠
  • 计算机网络(第7版)-谢希仁

1. 应用层概述

在这里插入图片描述

  • 应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分
    • 早期基于文本的应用 (电子邮件、远程登录、文件传输、新闻组)

    • 20 世纪 90 年代将因特网带入干家万户的万维网 WWW(使用超文本传送协议 HTTP)
      在这里插入图片描述

    • 当今流行的即时通信、P2P 文件共享及各种音视频应用

    • 动态主机配置 DHCP

2. 客户/服务器方式 (C/S方式) 和对等方式 (P2P方式)

  • 网络应用程序运行在处于网络边缘的不同的端系统上,通过彼此间的通信来共同完成某项任务
  • 开发一种新的网络应用首先要考虑的问题就是:网络应用程序在各种端系统上的组织方式和它们之间的关系,目前流行的主要有以下两种
    • 客户/服务器 (Client/Server,c/S) 方式
    • 对等 (Peer-to-Peer,P2P) 方式
2.1 客户/服务器方式 (C/S方式)
  • 客户和服务器是指通信中所涉及的两个应用进程,客户/服务器方式所描述的是进程之间服务和被服务的关系
  • 客户是服务请求方,服务器是服务提供方,服务器总是处于运行状态,并等待客户的服务请求
    • 服务器具有固定端口号 (例如 HTTP 服务器的默认端口号为 80)
    • 运行服务器的主机也具有固定的 IP 地址

在这里插入图片描述

  • C/S 方式是因特网上传统的、同时也是最成熟的方式,很多我们熟悉的网络应用采用的都是 C/S 方式
    • 包括万维网 WWW、电子邮件、文件传输 FTP 等
  • 基于 C/S 方式的应用服务通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上
    • 由于一台服务器计算机要为多个客户机提供服务,在 C/S 应用中,常会出现服务器计算机跟不上众多客户机请求的情况
    • 为此,在 C/S 应用中,常用计算机群集 (或服务器场) 构建一个强大的虚拟服务器
2.2 对等方式 (P2P方式)
  • 在 P2P 方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者
  • 基于 P2P 的应用是服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中,这些计算机并不为服务提供商所有,而是为个人控制的桌面计算机和笔记本电脑,它们通常位于住宅、校园和办公室中
  • P2P 方式的最突出特性之一就是它的可扩展性
    • 因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因规模的增大而降低
  • P2P 方式具有成本上的优势,因为它通常不需要庞大的服务器设施和服务器带宽

在这里插入图片描述

3. 动态主机配置协议 DHCP

3.1 DHCP 的作用
  • 通过 DHCP 自动获取网络配置信息
    在这里插入图片描述
3.2 DHCP 工作过程

在这里插入图片描述

4. 域名系统 DNS

4.1 域名系统 DNS 作用

在这里插入图片描述

  • ping 的是 Web 服务器的域名,但 ping 命令实际上 ping 的是 Web 服务器的 IP 地址

    • TCP/IP 体系采用 IP 地址进行寻址
    • 即使不使用域名也可以通过 IP 地址来导址目的主机,但域名与 IP 地址相比, 便于人们记忆
      在这里插入图片描述
  • 因特网是否可以只使用一台 DNS 服务器?

    • 这种做法并不可取。因为因特网的规模很大,这样的域名服务器肯定会因为超负荷而无法正常工作,而且一旦域名服务器出现故障,整个因特网就会瘫痪
    • 早在 1983 年,因特网就开始采用层次结构的命名树作为主机的名字 (即域名),并使用分布式的域名系统 DNS
      • DNS 使大多数域名都在本地解析,仅少量解析需要在因特网上通信,因此系统效率很高
      • 由于 DNS 是分布式系统,即使单个计算机出了故障,也不会妨碍整个系统的正常运行
4.2 域名系统 DNS 结构
  • 因特网采用层次树状结构的域名结构,域名的结构由若干个分量组成,各分量之间用 “点” 隔开,代表不同级别的域名

    • 每一级的域名都由英文字母和数字组成,不超过 63 个字符,不区分大小写字母
    • 级别最低的域名写在最左边,而级别最高的顶级域名写在最右边
    • 完整的域名不超过 255 个字符
  • 域名系统既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表什么意思。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由因特网名称与数字地址分配机构 ICANN 进行管理

  • 示例
    在这里插入图片描述

  • 顶级域名 TLD(Top Level Domain)

    • 国家顶级域名 nTLD
      • 采用 ISO 3166 的规定。如 cn 表示中国,us 表示美国,uk 表示英国等
    • 通用顶级域名 gTLD
      • 最常见的通用顶级域名有七个,即:com (公司企业)、net (网络服务机构)、org (非营利性组织)、int (国际组织)、edu (美国教育结构)、gov (美国政府部门)、mil (美国军事部门)
    • 反向域 arpa
      • 用于反向域名解析,即 IP 地址反向解析为域名
  • 在国家顶级域名下注册的二级域名均由该国家自行确定。例如,顶级域名为 jp 的日本,将其教育和企业机构的二级域名定为 ac 和 co,而不用 edu 和 com。我国则将二级域名划分为以下两类

    • 类别域名
      • 共七个:ac (科研机构)、com (工、商、金融等企业)、edu (教育机构)、gov (政府部门)、net (提供网络服务的机构)、mil (军事机构) 和 org (非营利性组织)
    • 行政区域名
      • 共 34 个,适用于我国的各省、自治区、直辖市。例如:bi 为北京市、sh 为上海市、js 为江苏省等
  • 示例
    在这里插入图片描述

这种按等级管理的命名方法便于维护名字的唯一性,并且也容易设计出一种高效的域名查询机制。需要注意的是,域名只是个逻辑概念,并不代表计算机所在的物理地点

4.3 域名服务器
  • 域名和 IP 地址的映射关系必须保存在域名服务器中,供所有其他应用查询。显然不能将所有信息都储存在一台域名服务器中。DNS 使用分布在各地的域名服务器来实现域名到 IP 地址的转换
  • 域名服务器可以划分为以下四种不同的类型
    • 根域名服务器
    • 顶级域名服务器
    • 权限域名服务器
    • 本地域名服务器
4.4 域名解析的过程

在这里插入图片描述

5. 文件传送协议 FTP

  • 文件传送协议 FTP (File Transfer Protocol) 是因特网上使用最广泛的文件传送协议

    • FTP 提供交互式的访问,允许客户指明文件的类型与格式 (如指明是否使用ASCI码),并允许文件具有存取权限 (如访问文件的用户必须经过授权,并输入有效的口令)
    • FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件.
  • 文件传送协议 FTP 的应用

    • FTP 的常见用途是在计算机之间传输文件,尤其是用于批量传输文件
    • FTP 的另一个常见用途是让网站设计者将构成网站内容的大量文件批量上传到他们的 Web 服务器

6. 万维网 WWW

  • 万维网 WWW(World Wide Web) 并非某种特殊的计算机网络。它是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用

  • 万维网利用网页之间的超链接将不同网站的网页链接成一张逻辑上的信息网

  • 万维网是欧洲粒子物理实验室的 Tim Berners-Lee 最初于 1989 年 3 月提出的

  • 目前流行的浏览器
    在这里插入图片描述

  • 浏览器最重要的部分是渲染引擎,也就是浏览器内核。负责对网页内容进行解析和显示

    • 不同的浏览器内核对网页内容的解析也有不同,因此同一网页在不同内核的浏览器里的显示效果可能不同
    • 网页编写者需要在不同内核的浏览器中测试网页显示效果
6.1 万维网应用在这里插入图片描述
  • 为了方便地访问在世界范围的文档,万维网使用统一资源定位符 URL 来指明因特网上任何种类 “资源” 的位置
  • URL 的一般形式由以下四个部分组成
    在这里插入图片描述
6.2 万维网文档

在这里插入图片描述

在这里插入图片描述

6.3 超文本传输协议 HTTP(HyperText Transfer Protocol)
  • HTTP 定义了浏览器 (即万维网客户进程) 怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器
    在这里插入图片描述

  • HTTP/1.0 采用非持续连接方式。在该方式下,每次浏览器要请求一个文件都要与服务器建立 TCP 连接当收到响应后就立即关闭连接

    • 每请求一个文档就要有两倍的 RTT 的开销。若一个网页上有很多引用对象(例如图片等),那么请求每一个对象都需要花费 2RTT 的时间
    • 为了减小时延,浏览器通常会建立多个并行的 TCP 连接同时请求多个对象。但是,这会大量占用万维网服务器的资源,特别是万维网服务器往往要同时服务于大量客户的请求,这会使其负担很重
      在这里插入图片描述
  • HTTP/1.1 采用持续连接方式。在该方式下,万维网服务器在发送响应后仍然保持这条连接,使同一个客户 (浏览器) 和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。这并不局限于传送同一个页面上引用的对象,而是只要这些文档都在同一个服务器上就行

  • 使用 Cookie 在服务器上记录用户信息

    • 早期的万维网应用非常简单,仅仅是用户查看存放在不同服务器上的各种静态的文档。因此HTTP被设计为一种无状态的协议。这样可以简化服务器的设计。
    • 现在,用户可以通过万维网实现各种复杂的应用,如网上购物、电子商务等。这些应用往往需要万维网服务器能够识别用户

    Cookie 提供了一种机制使得万维网服务器能够 “记住” 用户,而无需用户主动提供用户标识信息。也就是说,Cookie 是一种对无状态的 HTTP 进行状态化的技术

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

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

相关文章

分布式架构篇

1、微服务 微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是 HTTP API。这些服务围绕业务能力来构建,并通过完全自动化部署机制来独立部署。这些…

Spring 原理

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring仍然可以和其他的框架无缝整合。 1 Spring 特点 轻量级控制反转面向切面容器框架集合 2 Spring 核心组件 3 Spring 常用模块 4 Spring 主要包 5 Spring 常用注解 bean…

第十七章:Java连接数据库jdbc(java和myql数据库连接)

1.进入命令行:输入cmd,以管理员身份运行 windowsr 2.登录mysql 3.创建库和表 4.使用Java命令查询数据库操作 添加包 导入包的快捷键 选择第四个 找到包的位置 导入成功 创建java项目 二:连接数据库: 第一步:注册驱动…

设计模式 - 策略模式

目录 一. 前言 二. 实现 一. 前言 策略模式 (Strategy Pattern) 是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。此模式让算法的变化独立于使用算法的客户。 与状态模式的比较 状态模式的类图和策略模式类似,并…

VUE3照本宣科——内置指令与自定义指令及插槽

VUE3照本宣科——内置指令与自定义指令及插槽 前言一、内置指令1.v-text2.v-html3.v-show4.v-if5.v-else6.v-else-if7.v-for8.v-on9.v-bind10.v-model11.v-slot12.v-pre13.v-once14.v-memo15.v-cloak 二、自定义指令三、插槽1.v-slot2.useSlots3.defineSlots() 前言 &#x1f…

Windows下启动freeRDP并自适应远端桌面大小

几个二进制文件 xfreerdp # Linux下的,an X11 Remote Desktop Protocol (RDP) client which is part of the FreeRDP project wfreerdp.exe # Windows下的,freerdp2.0 主程序,freerdp3.0将废弃 sdl-freerdp.exe # Windows下的&…

【AI视野·今日NLP 自然语言处理论文速览 第四十三期】Thu, 28 Sep 2023

AI视野今日CS.NLP 自然语言处理论文速览 Thu, 28 Sep 2023 Totally 38 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Cross-Modal Multi-Tasking for Speech-to-Text Translation via Hard Parameter Sharing Authors Brian Yan,…

STM32CubeMX学习笔记-USB接口使用(CDC虚拟串口)

STM32CubeMX学习笔记-USB接口使用(CDC虚拟串口) 一、USB简介二、新建工程1. 打开 STM32CubeMX 软件,点击“新建工程”2. 选择 MCU 和封装3. 配置时钟4. 配置调试模式 三、USB3.1 参数配置3.3 配置时钟3.4 USB Device 四、生成代码五、查看端口…

MySQL5.7版本与8.0版本在Ubuntu(WSL环境)系统安装

目录 前提条件 1. MySQL5.7版本在Ubuntu(WSL环境)系统安装 1. 1 下载apt仓库文件 1.2 配置apt仓库 1.3 更新apt仓库的信息 1.4 检查是否成功配置MySQL5.7的仓库 5. 安装MySQL5.7 1.6 启动MySQL 1.7 对MySQL进行初始化 1.7.1 输入密码 …

Lucene学习总结之Lucene的索引文件格式

当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打…

数据结构 2.1 线性表的定义和基本操作

数据结构三要素——逻辑结构、数据的运算、存储结构(物理结构) 线性表的逻辑结构 线性表是具有相同数据类型的n(n>0)个数据元素的有限序列,其中n为表长,当n0时,线性表是一个空表。 每个数…

单层神经网络

神经网络 人工神经网络(Artificial Neural Network,ANN),简称神经网络(Neural Network,NN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型。1943年,McCulloc…

SpringMVC(二)@RequestMapping注解

我们先新建一个Module。 我们的依赖如下所示&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaL…

uni-app:获取元素宽高

效果 代码 这里我定义的宽为500px,高为200排序,控制台输出的结果是502,202。原因是我设置了上下左右宽度各为1px的border边框导致 核心代码分析 // const query uni.createSelectorQuery();表示创建了一个选择器查询实例。通过这个实例&#xff0c;你可以使用不同的方法来选择…

实验3.2 分期付款计算器

目录 实验目的‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬ 实验内容‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬…

Android LitePal byte[]类型字段不被创建

我创建了以下实体类&#xff0c;主要是用户分享的内容、分享的照片、分享的标题&#xff0c;然后百度了一下LitePal可以识别byte[]&#xff0c;因为需要文件的上传与读取&#xff1a; public class Context extends LitePalSupport {private Integer ContextId;private String…

一文拿捏Spring事务之、ACID、隔离级别、失效场景

1.&#x1f31f;Spring事务 1.编程式事务 事务管理代码嵌入嵌入到业务代码中&#xff0c;来控制事务的提交和回滚&#xff0c;例如TransactionManager 2.声明式事务 使用aop对方法前后进行拦截&#xff0c;然后在目标方法开始之前创建或者加入一个事务&#xff0c;执行完目…

设计模式12、代理模式 Proxy

解释说明&#xff1a;代理模式&#xff08;Proxy Pattern&#xff09;为其他对象提供了一种代理&#xff0c;以控制对这个对象的访问。在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;而代理对象可以在客户端和目标对象之间起到中介的作用。 抽…

【2023年11月第四版教材】第18章《项目绩效域》(第一部分)

第18章《项目绩效域》&#xff08;第一部分&#xff09; 1 章节内容2 干系人绩效域2.1 绩效要点2.2 执行效果检查2.3 与其他绩效域的相互作用 3 团队绩效域3.1 绩效要点3.2 与其他绩效域的相互作用3.3 执行效果检查3.4 开发方法和生命周期绩效域 4 绩效要点4.1 与其他绩效域的相…

网络安全渗透测试工具之skipfish

网络安全渗透测试工具skipfish介绍 在数字化的时代,Web 应用程序安全成为了首要任务。想象一下,您是一位勇敢的安全冒险家,迎接着那些隐藏在 Web 应用程序中的未知风险。而在这个冒险之旅中,您需要一款强大的工具来帮助您发现漏洞,揭示弱点。而这个工具就是 Skipfish。 …