应用层


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服务器发送释放报文即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件测试作业‖若依系统的自动化+性能

以若依系统或者任意系统作为案例&#xff0c;题目:以某一 web系统为测试对象&#xff0c;完成以下文档的编写: (1)产品规格说明书(SPEC) 要求:功能完整(完成产品需求70%以上)、UI优良(每个页 面均有字段约束和合理的出错提示)、流程完整(一一对应功能)、流程合理(处理逻辑非…

C++笔记之cout高亮输出以及纯C++实现一个彩色时钟

C笔记之cout高亮输出以及纯C实现一个彩色时钟 code review! 文章目录 C\笔记之cout高亮输出以及纯C\实现一个彩色时钟一.cout高亮输出1.1.运行1.2.代码一1.3.代码二1.4.重置终端的文本格式到默认设置说明 二.纯C\实现一个彩色时钟2.1.运行2.2.main.cc2.3.cout带颜色打印输出技…

用通俗易懂的方式讲解:万字长文带你入门大模型

告别2023&#xff0c;迎接2024。大模型技术已成为业界关注焦点&#xff0c;你是否也渴望掌握这一领域却又不知从何学起&#xff1f; 本篇文章将特别针对入门新手&#xff0c;以浅显易懂的方式梳理大模型的发展历程、核心网络结构以及数据微调等关键技术。 如果你在阅读中收获…

常用Python自动化测试框架有哪些?

随着技术的进步和自动化技术的出现&#xff0c;市面上出现了一些自动化测试框架。只需要进行一些适用性和效率参数的调整&#xff0c;这些自动化测试框架就能够开箱即用&#xff0c;大大节省了测试时间。而且由于这些框架被广泛使用&#xff0c;他们具有很好的健壮性&#xff0…

纳尼??Rabbitmq居然被一个逗号给坑了??

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 前言 这个问题发生在部署一套新的环境。搭建一个单节点的Rabbitmq&#xff0c;按照小伙伴写的部署文档搭建的。其中搭建步骤和我…

OpenMMlab导出CenterNet模型并用onnxruntime和tensorrt推理

导出onnx文件 直接使用脚本 import torch import torch.nn.functional as F from mmdet.apis import init_detectorconfig_file ./configs/centernet/centernet_r18_8xb16-crop512-140e_coco.py checkpoint_file ../checkpoints/centernet_resnet18_140e_coco_20210705_093…

Zoho SalesIQ:提高品牌在社交媒体上参与度的实用指南

在当今快节奏的数字世界中&#xff0c;品牌参与度变得比以往任何时候都更加重要。社交媒体在企业与客户互动方面发挥着至关重要的作用&#xff0c;了解如何很好地利用社交媒体来增强品牌参与度至关重要。 正如我们在之前的博客中所了解到的&#xff0c;品牌参与是指在品牌与其…

【计算机网络】网络基础--协议/网络协议/网络传输流程/地址管理

文章目录 一、计算机网络背景二、协议1.协议是什么2.为什么要有协议 三、网络协议1.为什么要进行协议分层2.OSI七层模型3.TCP/IP五层(或四层)模型 四、网络传输基本流程1.协议报头2.局域网3.数据包封装和分用4.网络传输流程图 五、网络中的地址管理1.认识IP地址2.认识MAC地址3.…

再次认识ultralytics项目(大目标检测、小目标检测、yolov8-ghost、旋转目标检测、自动标注)

Ultralytics YOLOv8 是一款前沿、最先进&#xff08;SOTA&#xff09;的模型&#xff0c;基于先前 YOLO 版本的成功&#xff0c;引入了新功能和改进&#xff0c;进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用&#xff0c;使其成为各种物体检测与跟踪、实例分割、图…

GNSS观测值线性组合

1 在几何距离线性化中&#xff0c;不论变量x的估计值是多少&#xff0c;估值改正数的系数是不变的。 2.宽、窄巷组合&#xff08;噪声放大倍数&#xff09; 由于几何距离与频率无关&#xff0c;在宽巷组合中&#xff0c;可直接依据几何距离&#xff0c;四舍五入确定宽巷模糊度 …

SPR系列激光扫描红外单点测距传感器CANOPEN 软件调试方法

SPR系列激光扫描红外单点测距传感器可用于对物体进行非接触式距离测量&#xff0c;其应用场景十分广泛工业自动化&#xff1a;在生产 线、传送带等工业自动化场景中&#xff0c;可以使用红外测距传感器进行物体的距离测量和位置检测&#xff0c;以便机 器人或其他自动化设备准确…

百度自由DIY小程序源码:PHP+MySQL组合开发 带完整的搭建教程

随着移动互联网的快速发展&#xff0c;小程序已成为企业与用户互动的重要平台。然而&#xff0c;对于许多中小企业和开发者来说&#xff0c;从零开始开发一款小程序需要投入大量的时间和资源。 以下是部分代码示例&#xff1a; 系统特色功能一览&#xff1a; 1.高度自定义&…

图神经网络|8.2 图卷积的计算基本方法

不同于一般的神经网络&#xff0c;网络层数的并不用特别多。 原因是只需要少数次数迭代后&#xff08;当迭代次数为图上的直径&#xff1f;任意两点最短距离的最大值&#xff1f;&#xff09;&#xff0c;某节点便可获取得到图上所有的节点。 通俗的理解是&#xff0c;在社会中…

目标检测数据集 - 夜间行人检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;夜间、低光行人检测数据集&#xff0c;真实场景高质量图片数据&#xff0c;涉及场景丰富&#xff0c;比如夜间街景行人、夜间道路行人、夜间遮挡行人、夜间严重遮挡行人数据&#xff1b;适用实际项目应用&#xff1a;公共场所监控场景下夜间行人检测项目…

机器学习笔记:时间序列异常检测

1 异常类型 1.1 异常值outlier 给定输入时间序列&#xff0c;异常值是时间戳值其中观测值与该时间序列的期望值不同。 1.2 波动点&#xff08;Change Point&#xff09; 给定输入时间序列&#xff0c;波动点是指在某个时间t&#xff0c;其状态在这个时间序列上表现出与t前后…

湖南大学-编译原理-2023期末考试【原题】

前言 早上11&#xff1a;00考完的考试&#xff0c;凭着回忆把题目重现出来了。 复习的时候刷了一些往年的卷子&#xff0c;感觉用处不是很大。 希望结果不负努力吧。 教材用的这个 1.词法分析&#xff08;20分&#xff09; &#xff08;1&#xff09;NFA->DFA &#xff…

【网络层】网际控制报文协议ICMP(湖科大慕课自学笔记)

网际控制报文协议ICMP 1&#xff1a;网际控制报文协议ICMP基本概述 ICMP报文被封装在IP数据报中发送 1&#xff1a;ICMP报文格式 ICMP报文作为IP数据报的数据载荷&#xff0c;IP协议为其添加一个首部使之成为IP数据报 2&#xff1a;ICMP报文类型 ICMP报文分为两大类&#x…

FlinkAPI开发之自定义函数UDF

案例用到的测试数据请参考文章&#xff1a; Flink自定义Source模拟数据流 原文链接&#xff1a;https://blog.csdn.net/m0_52606060/article/details/135436048 概述 用户自定义函数&#xff08;user-defined function&#xff0c;UDF&#xff09;&#xff0c;即用户可以根据…

论文浅尝 | 以词-词关系进行分类的统一命名实体识别

笔记整理&#xff1a;曹旭东&#xff0c;东南大学硕士&#xff0c;研究方向为知识图谱构建、自然语言处理 链接&#xff1a;https://arxiv.org/abs/2112.10070 1. 动机 在以前的工作中&#xff0c;命名实体识别&#xff08;NER&#xff09;涉及的主要问题有三种类型&#xff0c…