计算机网络:应用层知识点汇总

文章目录

  • 一、网络应用模型
  • 二、域名系统(DNS)
  • 三、文本传输协议(FTP)
  • 四、电子邮件
  • 五、万维网和HTTP协议


在这里插入图片描述

一、网络应用模型

在这里插入图片描述
在这里插入图片描述
p2p也就是对等模型

在这里插入图片描述
在这里插入图片描述

二、域名系统(DNS)

我们知道,随着人们建立一个网站的成本降低以及技能的提高,越来越多的网站出现,并且也会有千万计的人们去访问这些网站。而网民在访问网站的过程中,其实就是主机和另一台主机进行一个远程之间的通信,以及资源交换的过程。

我们的主机怎么找到对方的主机?其实就是通过IP地址这个全球唯一的标识符就可以找到对应的网站,并和这个网站进行一个信息的交换。

但是我们仔细想一下,如果我们要访问b站,我们知道b站的服务器的ip地址吗?这显然是不现实的。所以我们本节会学习一个东西来替代ip地址,也就是域名
在这里插入图片描述

域名你可以想象成,每个网站它都有一个自己的名字,我们可以通过记住这些名字来找到对应的网站。

而域名到IP地址的转换,就是由我们要学的DNS系统来解决的。

在这里插入图片描述
现在我们有一台主机,你需要访问王道论坛的网站。你知道论坛的域名www.cskaoyan.com,前面的http是使用万维网的一种协议。

那我们在搜索引擎中输入这样的域名后,在正式访问王道论坛前。我们需要把域名解析成IP地址。主要靠的就是DNS服务器,它可以帮我们实现域名到ip地址的转换。
在这里插入图片描述
也就是我们输入域名之后,会传给DNS服务器,DNS服务器处理之后会返回给我们王道论坛的IP地址。

我们主机知道对应网站IP地址之后,就可以通信了。这个通信过程就是我们之前网络层、传输层、链路层、物理层要解决的问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当一个主机要访问一个网站的时候,就要先发送一个DNS查询请求,首先发送给的就是本地域名服务器。如果本地域名服务器的缓存中不清楚主机所发送的DNS请求中IP地址和域名的一个解析,他就需要向根域名服务器发送一个请求。

根域名服务器是最高层次的域名服务器,也是最重要的域名服务器,它知道所有顶级域名服务器的域名和IP地址
ps:一个域名可能是好几台主机共用

再往下,每个顶级域名服务器又知道它下面的权限域名服务器的IP地址是多少

在这里插入图片描述
递归查询
这是一种靠别人的方式,比如说我在访问一个网站的时候,首先要进行DNS查询请求,首先就是查询本地域名服务器,如果本地域名服务器查不到就去寻求根域名服务器帮助。

但如果根域名服务器还是无法解析域名,那根域名服务器就要请求顶级域名的帮助。
如果顶级域名还不能解析完整域名,就要继续往下请求权限域名服务器的帮助。就是这样一个接一个寻求另一个人帮助的过程。

就像是递归一样,然后返回就是原先的访问顺序逆过来。

迭代查询
该种方式和递归查询的区别在于它是靠自己的方式,这里的自己是指本地域名服务器。

迭代查询的方式就是,如果本地域名服务器中并没有这个域名它所对应的IP地址,它首先要查询根域名服务器,如果根域名服务器没有。
那本地域名服务器再去查询顶级域名服务器。
这里区别递归查询,递归查询如果根域名服务器没有,是根域名服务器去请求顶级域名服务器。但是迭代查询永远是本地域名服务器去做请求。

那本地域名服务器是怎么知道找哪个顶级域名服务器呢?这个是根域名服务器告诉他的。

在这里插入图片描述

三、文本传输协议(FTP)

在这里插入图片描述
在文件传输的时候,如果使用FTP协议,就可以屏蔽不同操作系统之间的差异性。

大家对于FTP应该并不陌生,因为我们平时上课的时候,老师可能会给我们一个FTP地址,让我们从这个FTP上面来下载作业。然后你做完之后才上传上去。就类似于一个拷贝的过程,即从FTP服务器上把文件拷贝到你电脑里,另一种是把你电脑里的文件拷贝到服务器上。

在这里插入图片描述

在这里插入图片描述
FTP服务器的进程主要由两大部分来组成,第一个部分就是唯一的主进程,这个主进程可以负责接收新的请求。

主进程的工作步骤如下:首先打开服务器的熟知端口,也就是这个FTP服务器它实现文件传输的熟知端口,端口号是21,在这个端口打开之后,就可以使客户进程成功的连接上。接下来,它只需要等待客户进程发送一个连接的请求,然后再进行数据的连接和传送。然后它就可以启动n个从属进程

从属进程:每一个从属进程都可以处理单个客户请求,比如你要去理发店理发。进门前有一个门童问你是剪发还是染发,然后进去之后门童会给你安排一个剪头的或者染头的Tony老师,让这个老师为你服务。

门童就相当于主进程,每个tony老师就相当于一个从属进程。

在这里插入图片描述
在这里插入图片描述

四、电子邮件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用户代理:就是用户和电子邮件系统的一个接口,在通常情况下,它就是运行在你电脑上的一个程序。所以用户代理又可以称之为电子邮件的客户端软件。用户代理可以为客户提供一个比较友好的接口,目前就是给你一个窗口的界面,通过这个界面你就可以写邮件、发邮件、接收邮件。

现在可以用的用户代理有很多,比如Foxmail、outlook等。

用户代理主要有四个功能:
1.撰写:即给用户提供一个编辑信件的环境。
2.显示:即用户写完的信可以显示在屏幕上,也可以看收来和发出去的信件内容。
3.处理:包括发送邮件、接收邮件。比如收到一个邮件,我可以选择删除。
4.通信:通信是指,我在写完邮件之后,需要利用邮件的一些发送协议。

邮件服务器
邮件服务器作为服务器需要长时间的工作,并且它会有大容量的邮件信箱来容纳大量的信件。

邮件服务器主要有两个功能:
1.发送和接收邮件:用户代理的发送和接收是把邮件从客户端,也就是从我们自己电脑上发给邮件服务器,而邮件服务器的发送邮件则是把邮件发送到接收方的邮件服务器。接收则是接收方的邮件服务器接收发送方的邮件服务器传来的邮件。

2.向发件人报告发送结果:也就是告诉发件人你的邮件是交付了还是丢失了。

邮件服务器采用的是客户/服务器模式,每一个邮件服务器它可以同时充当服务器或者客户。

协议
协议主要分两类:
SMTP:邮件发送出去的时候
POP3、IMAP:接收的时候

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、万维网和HTTP协议

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述



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

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

相关文章

centos7 使用rpm包部署filebeat

先决条件参考 虚拟机部署elasticsearch集群-CSDN博客 下载并安装filebeat的rpm包 curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.18-x86_64.rpmrpm -vi filebeat-7.17.18-x86_64.rpm 修改配置文件 配置文件内容可以参考 Repositories…

wince+gprs拨号上网总结

一、硬件连接 本次调试的GPRS模块引脚定义 三星主板全功能扩展串口2引脚定义 因GPRS模块可以和pc机直连进行数据通讯,那么收发肯定内部交叉,故主板和GPRS的连接也采用直连方式。如果接线不对则出现没有回应现象,拨号时出现端口不可用&#xf…

如何快速写一篇民间故事并生成视频?

大家平台在刷抖音的时候,可能会看到一些民间故事的视频,播放量一般都很高,凭借其独特魅力,许多创作者在几个月内迅速吸引了超过十万粉丝,实现了数万元的收益!想要加入这个风潮吗?这类视频如何制…

一篇就够!产品经理必知的软件工具盘点

无论是初入职场的新人还是正在考虑转向产品经理领域的人,了解并熟练使用一些关键的软件工具对于成功地执行产品管理任务至关重要。在这篇文章中,我们将深入介绍一些产品经理常用的软件工具,涵盖项目管理、团队协作、原型设计以及数据分析等多…

Vue3.0 vue.js.devtools无法显示Pinia调试工具

之前的配置方式: app.use(createPinia()) app.mount(#app) 更新配置方式: app.use(createPinia()).mount("#app") 设置之后即可显示调试工具

NDK,Jni

使用 NDK(Native Development Kit)意味着在 Android 应用程序中集成 C/C 代码。通常情况下,Android 应用程序主要使用 Java 或 Kotlin 编写,但有时候需要使用 C/C 来实现一些特定的功能或性能优化。 NDK 提供了一组工具和库&…

深入了解Java中的StringBuilder与StringBuffer

深入了解Java中的StringBuilder与StringBuffer StringBuffer和StringBuilder的区别 因为字符串不可变,当字符串拼接(尤其是使用号操作符)时,需要考量性能的问题,不多毫无顾忌的创建太多String对象,从而对内存造成不必…

最长异或路径 ---- (字典树求异或最大)

目录 最长异或路径: 题目大意: 思路解析: 代码实现: 最长异或路径: 题目大意: 思路解析: 现在假设有一棵这样的树,我们并不关心每条边的路径权值为多少,假设划红线的…

blast原理与使用技巧,最全最详细

BLAST 序列比对 在生物信息学领域,序列比对是一项基础而关键的任务。它帮助研究人员识别基因、理解蛋白质功能,并揭示物种之间的进化关系。 本文旨在介绍BLAST(Basic Local Alignment Search Tool)的原理及其不同变体,…

3.7Code

基于顺序存储结构的图书信息表的排序 #include<iostream> #include<sstream> #include<stdlib.h> #include<string.h>#define MAXSIZE 1000 //顺序表所能容纳的最大长度 #define OK 0 typedef int status;using namespace std;typedef struct{char n…

评测本地部署的语音识别模型

1 引言 最近&#xff0c;朋友给我发来了一段音频&#xff0c;想转录成文字&#xff0c;并使用大型润色文本。音频中的普通话带有一定的口音&#xff0c;并且讲解内容较为专业&#xff0c;所以一般的语音识别工具很难达到较高的识别率。 于是试用了两个大模型。Whisper 是目前…

Python之Web开发中级教程----搭建SSH环境

Python之Web开发中级教程----搭建SSH环境 SSH 的全称是 “安全的 Shell(Secure Shell)”&#xff0c;它功能强大、效率高&#xff0c;这个主流的网络协议用于在两个远程终端之间建立连接。让我们不要忘记它名称的“安全”部分&#xff0c;SSH 会加密所有的通信流量&#xff0c…