Application layer

news2025/9/20 21:01:25

title: 应用层
date: 2023-12-20 21:03:48
tags: 知识总结
categories: 计算机网络

应用层:负责最直观的应用请求的封装、发起

一、域名系统DNS

连接在互联网上的主机不仅有IP地址,还有便于用户记忆的主机名字。域名系统DNS能够把互联网上的主机的名字转换为IP地址

互联网采用层次树状结构的命名方式,任何一个连接在互联网上的主机,都有一个唯一的层次结构的名字,即域名。域名中的每一个层次叫做域,最高层次可以划分子域,每一个子域还可以继续划分子域,这样就形成了顶级域、二级域、三级域等
级别最低的域名写在最左边,级别最高的写在最右边,完整域名不超过255个字符,单个标号不超过63个字符标号由英文字母和数字组成,字符只能使用-

全球顶级域名

按功能:国际通用顶级域名gTLD,国家顶级域名nTLD

文件传输、访问和管理 FTP
电子邮件 SMTP POP3
虚拟终端 HTTP
查询服务和远程作业登录 DNS

互联网的域名空间结构
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从域名到IP地址的解析又多个域名服务器共同完成

域名系统不是以域为管理单位,而是以区为管理单位。区可能小于或等于域吗,但一定不能大于域,每一个区设置相应的权限域名服务器,保存区中所有主机的域名到IP的映射

(1) 根域名服务器:不管哪一个本地域名服务器,只要自己无法解析,首先求助于根域名服务器
(2) 顶级域名服务器:当收到DNS查询请求时,一般情况下会给出下一步应当找的权限域名服务器的IP地址
(3) 权限域名服务器:负责最终的域名到IP地址的解析
(4) 本地域名服务器:本地域名服务器也叫默认域名服务器,当一个主机发送DNS查询请求时,该查询请求报文就首先发给本地域名服务器,并且本地域名服务器会缓存其最近查询过的域名的解析,当所要查询的主机位于本地域名服务器的缓存中时,本地域名服务器就能立即将所查询的主机域名转化为它的IP地址,而不需要再去查询其他的域名服务器

为什么DNS支持UDP和TCP
大多数情况下DNS使用UDP进行传输,因为一般的返回的内容不会超过UDP报文的最大长度512字节,用UDP传输时,不需要经过TCP的三次握手的过程,从而提高了响应速度。因此这时也要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性。但如果返回的响应超过512字节或者区域传送,会使用TCP进行传输

区域传送:主域名服务器向辅助域名服务器传送变化的那部分数据,一般很大。

DNS的通信方式有UDP和TCP两种,端口都为53,一般情况下是UDP进行DNS域名查询,一般来说,UDP支持的最大数据受限于以太网帧的MTU1500字节,计算下来应该是1500 - 20 - 8 = 1472,但是怎么就变成了512了。是因为在非局域网环境,如:在internet下的时候,MTU是各个路由器进行一个配置的。所以通常路由器默认的MTU为576字节,所以为了适应网络环境,DNS协议在返回的数据大于512的时候,就转化为TCP协议

二、文件传送协议FTP

使用TCP可靠的运输服务,最广泛的文件传送协议,使用客户-服务器方式,并且一个FTP服务器进程可同时为多个客户进程提供服务

FTP的服务器进程由两部分组成:一个主进程,另外有若干个从属进程。

主进程打开端口,让外部发送的数据可以进来,并且将这些数据逐个分配给各从属进程。从属进程则是单独为这些数据服务
主进程工作步骤:
1.打开熟悉窗口(端口号21),等待客户进程发出连接请求
2.启动从属进程处理客户进程发送来的请求,处理完毕后即终止从属进程。
3.回到等待状态,继续接受其他客户进程发来的请求,主进程和从属进程的处理是并发进行的

根据数据连接是否是服务端主动建立,FTP有主动和被动两种
主动:服务器主动建立数据连接,服务器端口号位20,客户端的端口号随机,但必须大于1024,一位0-1023是熟知端口号
被动:客户端主动建立数据连接,其中客户端的端口号由客户端自己决定,服务器端的端口号随机

三、万维网WWW

一个大规模的、联机式的信息储藏所

能够非常方便的从互联网上的一个站点访问另外一个站点,从而主动的按需获取丰富的信息

万维网是一个分布式的超媒体系统,是超文本系统的扩充,而文本指的是包含指向其他文档的链接的文本

万维网的工作方式:

客户-服务器方式工作,在万维网文档所驻留的主机上运行服务器程序,这个主机,这个主机也成为万维网服务器;在客户机上运行客户程序,万维网客户程序

万维网需要解决的问题
怎样标志分布在整个互联网的万维网文档上的万维网文档

使用统一资源定位符URL
使每一个文档在整个互联网的范围内具有唯一的标识符URL

URL表示互联网上的资源的位置和访问这些资源的方法。URL实际上就是就是互联网资源的地址

URL的一般形式
<协议>://<主机>:<端口>/<路径>

协议:ftp http https
主机:万维网文档所存放主机的域名,也可以使用IP地址,通常以WWW开头
端口:协议使用的端口号,使用默认的可以省略
路径:万维网文档所存放的目录

使用什么协议来实现万维网上的各种链接

使用超文本传送协议HTTP
HTTP是一个应用层协议,使用TCP连接进行可靠的传送
HTTP定义了浏览器和万维网服务器通信的格式和规则

TCP建立连接的三报文握手的第三个报文段可以携带数据,因此第三个报文段就是客户对万维网文档的请求报文。请求一个万维网文档所需的时间是该文档的传输时间(与文档大小成正比)加上两倍往返时间RTT(一个RTT用于建立TCP连接,另一个RTT用于请求和接受万维网文档)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

非持续连接:

HTTP/1.0 每请求一个文档都要有两倍RTT的开销,若一个页面与很多连接的对象需要依次进行链接,那么每一次链接下载都导致两倍的RTT的开销
在万维网服务器往往需要同时服务于大量客户的请求,这种非持续连接会使万维网服务器的负担很重

持续连接:

HTTP/1.1 使用持续连接;万维网服务器在发送响应后仍然在一段时间内保持这条TCP连接,使同一个客户和该服务器可以持续在这条连接上传送后续的HTTP 请求报文和响应报文,只要这些文档都在同一个服务器上就行

持续连接有两种工作方式
(1)非流水线方式

客户在收到前一个响应后才能发出下一个请求。在TCP连接建立后,客户每次访问对象都要去一个往返时间RTT,这比非持续连接要用两倍的RTT的开销,节省了建立TCP所需的一个RTT时间

(2)流水线方式

在收到HTTP响应报文之前能够接着发送新的请求报文,连续的多个请求报文到达服务器后,服务器就可持续发回响应报文
流水线工作方式使TCP连接中的空闲时间减少,提高了文档的下载效率

并发TCP连接

无论是持续连接还是非持续连接,浏览器都可以打开多个并行的TCP链接以提高访问速度

HTTP/2.0

允许客户复用TCP连接进行多个请求,这样就节省了大量的TCP链接多次建立和释放连接所花费的时间

代理服务器

网络硬件设备,万维网高速缓存,一般工作在中间系统上,以代理服务器方式构成的内容分发网络CDN 在互联网应用中起到了很大的作用

简单来说,代理服务器就是把最近的一些请求和响应暂存在本地磁盘,当与暂时存放的请求相同的新请求到达时,代理服务器即返回暂存的响应,而不需要按URL去互联网访问该资源

没有代理服务器的情况下,当链路过载时,时延很大

使用代理服务器的情况
工作模式:
1.浏览器访问互联网的服务器时,先与校园网的代理服务器建立TCP连接,并向代理服务器发出HTTP请求报文。
2.若代理服务器已经存放了所请求的对象,则将此对象放入HTTP响应报文中返回给浏览器
3.若为存放,代理服务器就代表浏览器与互联网上的原点服务器建立TCP连接,并发送HTTP请求报文
4.源点服务器将所请求的对象放在HTTP 响应报文中返回给校园网的代理服务器
5.代理服务器收到对象后,先保存到本地缓存器,然后将该对象放在HTTP响应报文中,通过已经建立的TCP链接,返回个请求该对象但是浏览器

HTTP报文结构

请求报文和响应报文

组成

开始行 区分请求还是响应报文
首部行 说明浏览器、服务器或报文主题的一些信息
实体主体 请求报文一般不用;响应报文一般是万维网文档,但也可不用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法:对所请求的对象进行的操作,实际上是一些命令
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

万维网站点使用Cookie来识别、跟踪用户

用户通过浏览器访问某一个网站,该网站的服务器会为其生成一个唯一的识别码,并且作为索引写入数据库当中,服务器会在响应报文的Set-cookie的首部行,写出赋予该用户的识别码。浏览器收到后会把服务器的主机名和识别码作为一项写入Cookie文件中,用户继续访问该网站的时候,每发送一个HTTP请求报文的时候,浏览器会从Cookie文件中取出该网站对于的识别码,放到HTTP请求报文的Cookie首部行中,利用次识别码,这个网站就能够跟踪该用户在该网站的活动(某音、宝等类似)。

使用超文本标记语言HTML可以使不同的作者创作不同的风格的万维网文档都能在互联网上的各种主机上显示出来,同时使用户清楚的知道在什么地方存在着连接

四、电子邮件

电子邮件系统由三个主要构建组成:用户代理、邮件服务器以及邮件发送协议和邮件读取协议

用户代理:用户与电子邮件系统的接口,电子邮件客户端软件
邮件服务器:用来发送和接受邮件,同时还要向发送人报告邮件传送的结果
用户代理向邮件服务器发送邮件或邮件服务器之间发送邮件,使用简单邮件传送协议SMTP
用户代理从邮件服务器读取邮件时,使用邮局协议第三版 POP3

SMTP 和 POP3 都使用TCP连接来可靠的传送邮件,并且都使用客户-服务器的工作方式

基于万维网的电子邮件
电子邮件从浏览器发送到邮件服务器使用HTTP协议的POST方法
两个邮件服务器之间的传仍然使用SMTP协议
邮件从邮件服务器传送到浏览器使用HTTP协议的GET方法
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

通用互联网邮件扩充 MIME
SMTP不能传送可执行文件或其他二进制文件,只能传送7位的ASCII文本文件,所以需要MIME对邮件内容进行内容的格式转换

五、动态主机配置协议DHCP

连接到互联网的计算机的协议软件需要配置以下项目:
IP地址 子网掩码 默认路由器IP地址(默认网关) 域名服务器的IP地址

不可能一直都是人工手动配置,因此动态主机配置协议DHCP(即插即用的连网方式),允许主机自动获取以上配置信息而不需要手工干预

使用客户-服务器方式

(1)需要IP地址的主机在启动时广播发送报文,将目的IP地址设为255:255:255:255,这时该主机就成为DHCP客户,发送广播报文是因为不知道DHCP服务器在什么地方,因此要发现DHCP服务器的IP地址,这台主机目前还没有自己的IP地址,因此它将IP数据报的源IP地址设为0
(2)本地网络上的所有主机都能够收到这广播报文,但只有DHCP服务器才回答此广播报文。DHCP服务器先在其数据库中查找该计算机的配置信息,若找到,则返回找到的信息,若找不到,则从服务器的IP地址池中取一个地址分配给计算机。DHCP服务器使用提供报文将配置信息返回给请求方

DHCP中继代理

广播发送的发现报文无法跨网络传输,而在每一个网络中设置一个DHCP服务器又会使DHCP服务器的数量太多,因此需要在每一个网络中至少部署一个DHCP中继代理,而路由器太多具有中继代理功能,它配置了DHCP服务器的IP地址信息
然后,当DHCP中继代理收到主机以广播形式发送的发现报文后,就以单播的形式向DHCP服务器转发此报文,并等待回答,收到DHCP服务器回答的提供报文后,DHCP中继代理再把此提供报文发回给主机

租用期

DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段时间内使用,其值可在DHCP服务器中设定

DHCP服务器在给DHCP客户发送的提供报文的选项中给出租用期的数值,过半1,DHCP客户需要发送请求报文更新租用期

1.DHCP服务器被动打开UDP端口67,等待客户端发来的报文
2.DHCP客户从UDP端口68发送报文
3.凡收到DHCP发现报文的DHCP服务器都发出DHCP提供报文,因此DHCP客户可能收到多个DHCP提供报文
4.DHCP客户从几个DHCP服务器中选择一个,并向其发送DHCP请求报文
5.被选择的DHCP服务器发送确认报文,DHCP客户收到确认报文后就可以使用这个IP地址了
6.DHCP客户现在要根据服务器提供的租用期T设置两个计时器T1和T2,他们的超时时间分别是0.5T和0.875T
7.租用期过半(T1时间到),DHCP客户发送请求报文,要求更新租用期
8.若DHCP服务器同意,则发回确认报文,DHCP客户得到了新的租用期,需要重新设置计时器
9.若DHCP服务器不同意,则发回否认报文,这是DHCP客户必须立即停止使用原来的IP地址,而必须重新申请IP地址(回到步骤2)

DHCP客户可随时终止服务器所提供的租用期,这时只需要向DHCP服务器发送释放报文即可

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

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

相关文章

看完这篇 教你玩转镜像转换神器qumu实现虚拟机做题自由!

前言&#xff1a; 最近有小伙伴说比赛没设备&#xff0c;问有没有不需要设备也能实现做题自由的方法&#xff0c;今天这里分享一期&#xff01; 看完这篇你将学会 使用qumu转换镜像格式 一般我们做题都是img格式的环境 需要导入设备&#xff0c;有些小伙伴没有设备 就可以使用…

擎创动态 | 某城商行案例入选信通院 GOLF+年度明星解决方案

2023年12月15日&#xff0c;“2023GOLF IT新治理领导力论坛”在京召开&#xff0c;该论坛由中国信息通信研究院、中国通信标准化协会主办。在此次论坛中&#xff0c;主办方正式发布了XOps领域年度评选结果。擎创科技“一体化智能根因定位解决方案”凭借优秀的落地实践成果&…

Navicat 技术干货 | 如何查看关系型数据库(MySQL、PostgreSQL、SQL Server、 Oracle)查询的运行时间

在数据库优化中&#xff0c;理解和监控查询运行时间是至关重要的。无论你是数据库管理员、开发人员或是参与性能调优的人员&#xff0c;知道如何查看查询运行时间能为你的数据库操作提供有价值的参考。本文中&#xff0c;我们将探索几款热门的关系数据库&#xff08;如 MySQL、…

门店总数超9000家,手握大众茶饮“下沉市场牌”的古茗冲刺上市

奶茶品牌上市潮来袭。1月2日&#xff0c;奶茶品牌古茗控股有限公司&#xff08;下称“古茗”&#xff09;、蜜雪冰城股份有限公司&#xff08;下称“蜜雪冰城”&#xff09;一同递交招股书&#xff0c;计划在港交所主板上市。 近年来&#xff0c;随着现制茶饮的爆火&#xff0…

vue-amap区域显示,3d棱柱效果

文章目录 一、在vue项目中安装和基本使用1. 安装2. 在vue项目中使用1. 在main.js中引入2. demo显示高德地图 二、显示区域三、只显示某个区域四、3D棱柱区域五、添加卫星图层 vue-amap中文文档&#xff1a; https://www.wenjiangs.com/doc/mdxkhhtr 一、在vue项目中安装和基本…

30道Nginx面试题含答案(很全)

1. 什么是Nginx&#xff1f; Nginx是一个 轻量级/高性能的反向代理Web服务器&#xff0c;他实现非常高效的反向代理、负载平衡&#xff0c;他可以处理2-3万并发连接数&#xff0c;官方监测能支持5万并发。 2. 为什么要用Nginx&#xff1f; 跨平台、配置简单、方向代理、高并…

nVisual如何实现数据中心资产管理

背景 随着信息技术的迅速发展&#xff0c;数据中心已经成为了企业信息化建设的重要基础设施之一。数据中心不仅承载着大量的企业数据和业务应用&#xff0c;而且也需要大量的资产投入来支持其运营和发展。 因此&#xff0c;数据中心资产管理的重要性也日益凸显&#xff0c;数…

单电阻落地扇电机驱动 DEMO 方案

SYNWIT DEMO方案 低压 PMSM 电机&#xff0c;软件上采用SVPWM空间电压矢量调制技术&#xff0c;直接闭环启动&#xff0c;相比传统方波效率提高15%&#xff0c;具有更小的谐波分量及转矩脉动&#xff0c;同时采用32位MCU芯片SWM201G6S7 SSOP28 封装为主控&#xff0c;为驱动算…

thinkadmin安装步骤

一,先cmd运行安装命令 ### 创建项目&#xff08; 需要在英文目录下面执行 &#xff09; composer create-project zoujingli/thinkadmin二,在confing中的database.php配置数据库 三,将仓库的data复制到app目录下 https://gitee.com/zoujingli/think-plugs-data 四,在cmd运…

ssm基于BS的仓库在线管理系统的设计与实现论文

摘 要 如今的时代&#xff0c;是有史以来最好的时代&#xff0c;随着计算机的发展到现在的移动终端的发展&#xff0c;国内目前信息技术已经在世界上遥遥领先&#xff0c;让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法&#x…

实验笔记之——下载数据到服务器

开发过程中经常需要把数据传到服务器上&#xff0c;太麻烦了&#xff0c;为此本博文记录采用百度云来传输数据 百度云 使用bypy包。 安装&#xff1a;pip install bypy 配置bypy连接百度网盘&#xff1a; 终端输入bypy info将命令行提示的链接复制到浏览器&#xff0c;并复制…

【webstorm中通过附加方式打开一个项目,这个项目本身有git,但是却看不到git的解决方法】

1、如图所示 设置-》版本控制-》未注册的根&#xff0c;选中后&#xff0c;再点加号&#xff0c;就可以了 2、如图所示 版本控制-》直接点加号-》选中项目路径&#xff0c;vcs选择git&#xff0c;点击确定就可以了

Hadoop之MapReduce 详细教程

MapReduce仅作了解&#xff0c;生产上很少使用该计算程序 1、MapReduce介绍 MapReduce 思想在生活中处处可见。或多或少都曾接触过这种思想。MapReduce的思想核心是“分而治之”&#xff0c;适用于大量复杂的任务处理场景&#xff08;大规模数据处理场景&#xff09;。即使是…

西电期末1018.logistic方程

一.题目 二.分析与思路 根据题目递归即可&#xff0c;用while函数判断是否到达1000项&#xff0c;内部用abs函数&#xff08;绝对值函数&#xff09;判断是否收敛&#xff0c;最后按照结果输出即可。 三.代码实现 #include<bits/stdc.h>//万能头 int main() {double …

Bean如何诞生与消亡:生命周期探秘【beans 二】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Bean如何诞生与消亡&#xff1a;生命周期探秘【beans 二】 前言bean的创建过程bean的初始化阶段1. 实现InitializingBean接口&#xff1a;2. 使用PostConstruct注解&#xff1a; bean的属性注入1. Set…

基于ssm的《数据库系统原理》课程平台的设计与实现论文

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3…

RA4803SA (高稳定实时时钟模块)

汽车用RA4803SA&#xff0c;高稳定串行接口实时时钟模块内置频率可调32.768kHz晶体单元和DTCXO。1/100秒分辨率时间寄存器接口类型4线串行接口界面电压范围1.6V ~ 5.5V温度补偿电压范围2.2V至5.5V时钟电源电压范围1.6V ~ 5.5V可选时钟输出(32.768kHz, 1024Hz, 1Hz)各种功能包括…

深入浅出Prometheus架构原理

目录 1 Prometheus简介 2 Prometheus 的优势 2.1 Prometheus 适用于什么场景 2.2 Prometheus 不适合什么场景 3 Prometheus 的架构 4 Prometheus 的组件 4.1 组件介绍 4.1.1 Prometheus Server 4.1.2 Exporter 4.1.3 Push Gateway 4.1.4 Grafana 4.1.5 Alert…

2024年防止内卷和被潜规则,RocketMQ消息中间件实战派上下册上线啦|架构随笔录

2023已经过去啦&#xff0c;作为技术小伙伴一定要做好2024年的规划&#xff0c;只有这样才能够避免内卷和潜规则。 2024年即将是一个重新开始的一年&#xff0c;但是你要说互联网不倦&#xff0c;那是不可能的&#xff0c;就连某大厂都开始走下坡路啦&#xff0c;里面卷的是不…

NGUI基础-图集制作(保姆级教程)

目录 图集是什么 如何打开图集制作工具 制作步骤 图集的三个关键配置 相关参数介绍 Atlas Material Texture Padding Tim Alpha PMA shader Unity Packer TrueColor Auto-upgrade Force Square Pre-processor 图集是什么 Unity图集&#xff08;Sprite Atlas&…