【计算机网络】——应用层

// 图片取自王道 仅做交流学习

一、基本概念

应用层概述

协议是  网络层次模型 中多台主机之间 同层之间进行通信的规则。是一个水平概念

垂直空间上,向下屏蔽下层细节,向上提供服务接入,多台主机之间同层之间形成一条逻辑信道。

应用层的功能:                                                                应用层的重要协议:
文件传输、访问和管理                                                   FTP
电子邮件                                                                        SMTP、POP3
虚拟终端                                                                        HTTP
查询服务和远程作业登录                                               DNS

1、网络应用模型

C/S模型 (客户端/服务器模型)

服务器:提供计算服务的设备。(被动)
1.永久提供服务
2.永久性访问地址/域名

3、不需要知道客户机地址


客户机: 请求计算服务的主机。(主动)
1.与服务器通信,使用服务器提供的服务
2.间歇性接入网络
3.可能使用动态IP地址
4.不与其他客户机直接通信


应用: Web,文件传输FTP,远程登录,电子邮件

P2P模型

不存在永远在线的服务器

每个主机既可以提供服务,也可以请求服务

任意端系统/节点之间可以直接通讯

节点间歇性接入网络节点

可能改变IP地址
可扩展性好
网络健壮性强

例如:P2P种子搜索

二、相关应用

1、DNS 域名系统

把人们便于记忆的特定含义的主机名,转换成便于机器处理的IP地址

比如 www.baidu.com  -----DNS----> IP地址

DNS是采用C/S模型, 其协议运行在UDP之上。端口号是53

1)域名:

因特网采用层次树状结构的命名方法。采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名 (Domain Name)。

域(Domain) 是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成术了顶级域、二级域、三级域等。

每个域名都由标号序列组成,而各标号之间用点 (“.”) 隔开

关于域名中的标号有以下几点需要注意:

1) 标号中的英文不区分大小写。

2) 标号中除连字符 (-) 外不能使用其他的标点符号。

3)每个标号不超过 63 个字符,多标号组成的完整域名最长不超过 255 个字符。

4)级别最低的域名写在最左边,级别最高的顶级域名写在最右边。

顶级城名
1)国家顶级域名 cn,us,uk

2)通用顶级域名 com,net,org,gov,int,aero,museum,travel

3)基础结构域名/反向域名 arpa

二级域名
1)类别域名 ac,com,edu,gov,mil,net,org
2)行政区域名 用于我国各省、自治区、直辖市 bj;js

2)域名服务器

因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型。域名到IP 地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的(或有权限的)范围称为区(不以“域”为单位)。各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到 IP 地址的映射。每个域名服务器不能够进行一些域名到IP 地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP 地址的转换时,能够知道到什么地方去找其他域名服务器。

小结上面这段话:

以区为单位

每个区设置相应的权限域名服务器,保存该区的主机的域名到IP的映射,并且可以指明本服务器找不到映射时,去哪可以找到(连通)

DNS 使用了大量的域名服务器,它们以层次方式组织。没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的 DNS 上。采用分布式设计的 DNS,是一个在因特网上实现分布式数据库的精彩范例。主要有 4 种类型的域名服务器。

1.根域名服务器

根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP 地址。根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。因特网上有13
个根域名服务器,尽管我们将这 13个根域名服务器中的每个都视为单个服务器,但每个“服器”实际上是冗余服务器的集群,以提供安全性和可靠性。需要注意的是,根域名服务器用来辖顶级域(如.com),通常它并不直接把待查询的域名直接转换成 IP 地址,而是告诉本地域名务器下一步应当找哪个顶级域名服务器进行查询。

2.顶级域名服务器

这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。收到 DNS 查询请求时就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的 IP 地址)。

3.授权域名服务器(权限域名服务器)
每台主机都必须在授权域名服务器处登记。为了更加可靠地工作,一台主机最好至少有两授权域名服务器。实际上,许多域名服务器都同时充当本地域名服务器和授权域名服务器。授枚域名服务器总能将其管辖的主机名转换为该主机的 IP 地址。

4.本地域名服务器
本地域名服务器对域名系统非常重要。每个因特网服务提供者 (ISP),或一所大学,甚至、所大学中的各个系,都可以拥有一个本地域名服务器。当一台主机发出 DNS 查询请求时,这查询请求报文就发送给该主机的本地域名服务器。事实上,我们在 Windows 系统中配置“本地接”时,就需要填写 DNS 地址,这个地址就是本地 DNS(域名服务器)的地址。

3)域名解析过程

域名解析是指把域名映射成为IP 地址或把IP地址映射成域名的过程。前者称为正向解析,后者称为反向解析

当客户端需要域名解析时,通过本机的 DNS 客户端构造一个 DNS 请求报文以UDP 数据报方式发往本地域名服务器。

域名解析有两种方式:

递归查询 和   递归与迭代相结合的查询。

(1)主机向本地域名服务器的查询采用的是递归查询

也就是说,如果本地主机所询问的本地域名服务器不知道被查询域名的 iP 地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自已进行下一步的查询。两种查询方式的这一步是相同的。

(2)本地域名服务器向根域名服务器的查询采用迭代查询
当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的 IP地址,要么告诉本地域名服务器:“你下一步应当向哪个顶级域名服务器进行查询”。然后让本地械名服务器向这个顶级域名服务器进行后续的查询,如图 b所示。同样,顶级域名服务器收到查询报文后,要么给出所要查询的 IP 地址,要么告诉本地域名服务器下一步应向哪个权限域名服务器查询。最后,知道所要解析的域名的 IP 地址后,把这个结果返回给发起查询的主机。

为了提高 DNS 的查询效率,并减少因特网上的 DNS 查询报文数量,在域名服务器中广泛地使用了高速缓存。当一个 DNS 服务器接收到 DNS 查询结果时,它能将该 DNS 信息缓存在高速缓存中。这样,当另一个相同的域名查询到达该 DNS 服务器时,该服务器就能够直接提供所要求的IP 地址,而不需要再去向其他 DNS 服务器询问。因为主机名和P 地址之间的映射不是永的,所以 DNS 服务器将在一段时间后丢弃高速缓存中的信息。

感觉是不是有点像Http请求的 转发与重定向

二、文件传输协议FTP

文件传送协议FTP (File Transfer Protocol)提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力(FTP是基于TCP的)
简单文件传送协议TFTP (Trivial File Transfer Protocol)(TFTP是基于UDP的)

1、FTP工作原理

FTP提供以下功能

(1)提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力(适用于异构网络任意主机之间传送文件)

(2)以用户鉴权管理的方式提供用户对远程FTP服务器文件管理能力

(3) 以匿名FTP的方式提供文件共享的能力

FTP采用C/S工作方式,它使用TCP可靠的传输服务。一个FTP服务器可同时为多个客户进程提供服务。

FTP服务器进程由两大部分组成:

        1、一个主进程,负责接收新的请求 

        2、若干从属进程,负责处理单个请求。

工作步骤如下:

     (1)打开熟知端口 21(控制端口),使得客户进程能连接上

     (2)等待客户进程发来链接请求

     (3)启动从属进场来处理客户进程发来的请求,主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕即终止。

(4)回到等待状态,继续接收其他客户进程的请求

FTP服务器必须在整个会话期间保留用户状态信息,特别是服务器必须把指定的用户账户与控制联系起来,服务器必须追中用户在远程目录树上的当前位置。(有状态,保留连接的用户信息的,参考对比Http的无状态)。

FTP传输模式


文本模式:ASCII模式,以文本序列传输数据;

进制模式: Binary模式,以二进制序列传输数据。

2、控制链接与数据连接

FTP在工作时使用两个并行的TCP连接:一个是控制链接(服务端口号 21),一个是数据连接(服务器端口号 20)

1、控制连接

服务器监听 21 号端口,等待客户连接,建立在这个端口上的连接称为控制连接。

控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以 7 位 ASCII 格式传送。

FTP客户发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件,在传输文件时还可以使用控制连接(如客户在传输中途发一个中止传输的命令),因此控制连接在整个会话期间一直保持打开状态

2、数据连接

服务器端的控制进程在接收到 FTP 客户发来的文件传输请求后,就创建“数据传送进程”和“数据连接”。

数据连接用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行

数据连接有两种传输模式:(主动模式 PORT被动式 PASV)。

PORT 式的工作原理:客户端连接到服务器的 21 端口,登录成功后要读取数据时,客户端随机开放一个端口,并发送命令告知服务器,服务器收到 PORT 命令和端口号后,通过 20 端口和客户端开放的端口连接,发送数据。

PASV 模式的不同点是,客户端要读取数据时,发送 PASV 命令到服务器,服务器在本(本地随机开放一个端口,并告知客户端,客户端再连接到服务器开放的端口进行数据传输。

可见,是用PORT 模式还是PASV 模式,选择权在客户端。简单概括为,主动模式传送数据是“服务器连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口

因为 FTP 使用了一个分离的控制连接,所以也称 FTP 的控制信息是带外(Out-of-band)传送的。使用 FTP 时,若要修改服务器上的文件,则需要先将此文件传送到本地主机,然后再将修改后的文件副本传送到原服务器,来回传送耗费很多时间。

网络文件系统(NFS) 采用另一种思路,它允许进程打开一个远程文件,并能在该文件的某个特定位置开始读写数据。这样,NFS 可使用户复制一个大文件中的一个很小的片段,而不需要复制整个大文件。

三、电子邮件

四、万维网

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

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

相关文章

最新AI写作系统ChatGPT源码/支持GPT4.0+GPT联网提问/支持ai绘画Midjourney+Prompt应用+MJ以图生图+思维导图生成

一、智能创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&…

css实现四角圆边框

摘要: 做大屏的项目时,遇到很多地方要用到不同尺寸的盒子需要圆角的效果,所以不可能要求ui弄那么多图片的,并且那么多图片加载速度很慢的,比较臃肿,大屏要求的就是流畅,所以这用css加载很快的&a…

计算机网络第五节 网络层

一,网络引入的目的 1.网络层以下层次解决的问题,未解决的问题 从7层结构上看,网络层下是数据链路层 从4层结构上看,网络层下面是网络接口层 至少我们看到的网络层下面是以太网 以太网解决了什么问题? 答&#xff1…

【LeetCode热题100】--141.环形链表

141.环形链表 使用快慢指针: 定义两个指针,一快一慢,慢指针每次只移动一步,而快指针每次移动两步。初始时,慢指针在位置head,而快指针在位置head.next,这样,如果在移动的过程中&…

css实现Chrome标签栏

如图这是一个特殊的带有圆角的导航栏&#xff0c;实现这种效果并不难 这是我实现的效果&#xff1a; 淡一点的就是鼠标悬停的样式 以下是代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><m…

Hugging News #0925: 一览近期的新功能发布

每一周&#xff0c;我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新&#xff0c;包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等&#xff0c;我们将其称之为「Hugging News」。本期 Hugging News 有哪些有趣的消息&#xff0…

编译opencv-3.4.5 [交叉编译]

在unbuntu20.04环境下编译opencv3.4.5&#xff0c; cmake 版本&#xff1a;3.27.4 gcc 版本&#xff1a;11.4.0 g版本&#xff1a;11.4.0 在此环境下编译opencv4.5.4正常。 1. 编译时遇到的问题 &#xff08;1&#xff09; Built target libprotobuf make: *** [Makefile:163…

这是一堂价值3000元的自驾旅行攻略

点击文末“阅读原文”即可参与节目互动 后期、音频 / 卷圈 运营 / 卷圈&#xff0c;Sand 监制 / 姝琦 封面 / 姝琦midjourney 产品统筹 / bobo特别感谢 / 嘉实多 在过去几年的疲惫和沉甸甸的经历之后&#xff0c;我们心中都怀揣着对自由旅行的渴望&#xff0c;期待着无拘无束…

为什么埃隆·马斯克说Rust是AGI的语言?

为什么埃隆马斯克说Rust是AGI的语言&#xff1f; 大喵点评&#xff1a;本文作者的观点不代表我的观点&#xff0c;另有人视频里指出Mojo比Python快 35000倍的测评有失偏颇。请见&#x1f447;视频。 但&#xff0c;本篇的价值在于 以及为什么WasmEdge是AGI采用Rust的关键路径…

云计算与大数据——Spark的安装和配置

云计算与大数据——Spark的安装和配置 Spark的简单介绍&#xff1a; Apache Spark是一个基于内存的分布式计算框架&#xff0c;它提供了高效、强大的数据处理和分析能力。与传统的Hadoop MapReduce相比&#xff0c;Spark的主要优势在于其能够将数据集缓存在内存中&#xff0c…

openssl创建CA证书教程

配置生成CA证书 总示意图&#xff1a; (1)&#xff0c;通过openssl创建CA证书 第一步&#xff1a;创建一个秘钥&#xff0c;这个便是CA证书的根本&#xff0c;之后所有的东西都来自这个秘钥 # 通过rsa算法生成2048位长度的秘钥 openssl genrsa -out myCA.key 2048 第二步&#…

ue5读取自定义文件夹中内容

一、复制文件夹到Content内 二、读取文件内容&#xff0c;直接使用相对路径就可以了/Content&#xff0c;Resource Bundle存储文件夹名的变量。Load Text为自定义的读取json文件的方法&#xff0c;我之前的文章讲了怎么操作。 ue5读取外部文件_艺菲的博客-CSDN博客 三、根据js…

[FineReport]安装与使用(连接Hive3.1.2)

一、安装(对应hive3.1.2) 注&#xff1a;服务器的和本地的要同时安装。本地是测试环境&#xff0c;服务器的是生产环境 1、服务器安装 1、下载 免费下载FineReport - FineReport报表官网 向下滑找到 2、解压 [rootck1 /home/data_warehouse/software]# tar -zxvf tomcat…

OpenAI宣布ChatGPT支持互联网浏览;GPT-4V(ision)介绍

&#x1f989; AI新闻 &#x1f680; OpenAI宣布ChatGPT支持互联网浏览 摘要&#xff1a;OpenAI宣布ChatGPT现在可以浏览互联网&#xff0c;由微软必应提供支持&#xff0c;并提供直接来源链接。这一功能对于需要最新信息的任务特别有用&#xff0c;如技术研究、购买商品或选…

2023年【汽车驾驶员(高级)】报名考试及汽车驾驶员(高级)考试内容

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 汽车驾驶员&#xff08;高级&#xff09;报名考试根据新汽车驾驶员&#xff08;高级&#xff09;考试大纲要求&#xff0c;安全生产模拟考试一点通将汽车驾驶员&#xff08;高级&#xff09;模拟考试试题进行汇编&…

YOLOv7改进:CBAM注意力机制

目录 1.介绍 1.1、论文的出发点 1.2、论文的主要工作 1.3、CBAM模块的具体介绍 2.YOLOv7改进 2.1yaml 配置文件如下 2.2common.py配置 2.3yolo.py配置 1.介绍 1.1、论文的出发点 cnn基于其丰富的表征能力&#xff0c;极大地推动了视觉任务的完成&#xff0c;为了提高…

QQ聊天记录文件怎么恢复?这3个方法亲测有效

QQ为用户提供了聊天、语音、视频、在线游戏、社交分享等丰富的功能&#xff0c;满足了用户的各种通讯以及娱乐需求。无论是现在还是过去&#xff0c;QQ仍然在我们的生活中扮演着重要的角色。 如果在使用QQ的过程中&#xff0c;发现文件过期或者被删除了该怎么办&#xff1f;qq…

高性能MySQL第四版

主要列出与第三版的区别 第一章、MySQL架构 MySQL逻辑架构 左右分别是第三和第四版。 第四版架构图里把第二层的“查询缓存”去掉了&#xff0c;也去掉了对应的文字描述。 连接管理和安全 “每个 客户 端 连接 都会 在 服务器 进程 中 拥有 一个 线程” 第四版对这句话增…

基于微信小程序的奶茶点餐小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

【力扣2057】值相等的最小索引

&#x1f451;专栏内容&#xff1a;力扣刷题⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、题目描述二、题目分析 一、题目描述 题目链接&#xff1a;值相等的最小索引 给你一个下标从 0 开始的整数数组 nums …