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

文章目录

  • 一、网络应用模型
  • 二、域名系统(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.mzph.cn/news/728282.shtml

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

相关文章

记一次systemd服务启动找不到Java命令

首先systemd服务文件 /etc/systemd/system/test.service(文件简化处理了) [Unit] Descriptiontest Afternetwork.target [Service] ExecStart/opt/test/bin/test_start.sh [Install] WantedBymulti-user.target其中启动命令ExecStart指向的是一个sh启动脚本, 脚本内…

文生视频Sora模型发布,是否引爆AI芯片热潮

文生视频Sora模型发布,是否引爆AI芯片热潮 1. 引言 在人工智能的历史长河中,每一次技术的飞跃都伴随着社会生产力的巨大变革。自2015年以来,深度学习技术的突破性进展,尤其是在自然语言处理、图像识别和机器学习等领域的成功应…

海外IP代理应用:亚马逊使用什么代理IP?

代理IP作为网络活动的有力工具,同时也是跨境电商的必备神器。亚马逊作为跨境电商的头部平台,吸引了大量的跨境电商玩家入驻,想要做好亚马逊,养号、测评都需要代理IP的帮助。那么应该使用什么代理IP呢?如何使用&#xf…

vue el-avatar 使用require提示无法找到图片

报错信息 错误代码 问题分析 vue初始化DOM树时没有挂载数据,导致无法找到模块 解决方案

抖音商家短视频直播流量变现运营SOP地图

【干货资料持续更新,以防走丢】 抖音商家短视频直播流量变现运营SOP地图 部分资料预览 资料部分是网络整理,仅供学习参考。 抖音运营资料合集(完整资料包含以下内容) 目录 【提升短视频运营效率的专业指南】 高效运营&#xf…

1 数据分析概述与职业操守 (3%)

1、 EDIT数字化模型 E——exploration探索 (是什么) 业务运行探索:探索关注企业各项业务的运行状态、各项指标是否合规以及各项业务的具体数据情况等。 D——diagnosis 诊断 (为什么) 问题根源诊断:当业务指标偏离正常值时&…

【STM32】HAL库 CubeMX教程---基本定时器 定时

目录 一、基本定时器的作用 二、常用型号的TIM时钟频率 三、CubeMX配置 四、编写执行代码 实验目标: 通过CUbeMXHAL,配置TIM6,1s中断一次,闪烁LED。 一、基本定时器的作用 基本定时器,主要用于实现定时和计数功能…

新能源车高压线束更换VR虚拟互动教学保障了培训安全可控

随着新能源汽车市场的快速发展,对于新能源汽车检修人才的需求也日益增长。然而,传统的培训模式往往存在一些限制,如培训周期长、成本高、实践机会少等。为了解决这些问题,新能源车检修VR互动培训应运而生,成为一种创新…

根据标签出现的频次渲染不同大小的圆和文字,圆随机摆放且相互之间不重叠

效果图: 按每个标签出现的频次大小渲染出不同比例大小的圆,渲染的圆的宽度区间为 [40, 160] ,其中的文字的大小区间为 [12, 30] ,圆的位置随机摆放且不重叠。 根据已知条件可得出,标签中频次最高的对应圆的宽度(直径…

蓝桥杯(3.7)

P1102 A-B 数对 import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int c sc.nextInt();int[] res new int[n1];for(int i1;i<n;i)res[i] sc.nextInt();int sum 0;for(i…

ROS2学习(二):仿真案例汇总(基于Ubuntu_2004 ROS2_noetic)

文章目录 一、slam仿真1、安装环境依赖2、创建Turtlebot3目录并下载安装3、配置Turtlebot3环境4、运行slam仿真 一、slam仿真 1、安装环境依赖 sudo apt install ros-noetic-cartographer ros-noetic-cartographer-ros2、创建Turtlebot3目录并下载安装 mkdir -p catkin_turt…

Chrome浏览器好用的几个扩展程序

Chrome好用的扩展程序 背景目的介绍JsonHandle例子未完待续。。。。。。 背景 偶然在往上看到Chrome有很多好用的扩展程序&#xff0c;比较好用&#xff0c;因此记录下比较实用的扩展程序。 目的 记录Chrome浏览器好用的插件。 介绍 JsonHandle下载以及无法扩展插件的解决…

YOLOv5目标检测学习(2):运行一个yolo应用所需要配置的深度学习环境

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、CUDA、CUDNN的下载安装1.1 CUDA的安装1.2 cuDNN的配置 二、anaconda的安装1.卸载python2.安装anaconda 三、Pytorch、python虚拟环境安装1.创建虚拟环境2.安…

【算法训练营】:期末考试

清华大学驭风计划课程链接 学堂在线 - 精品在线课程学习平台 (xuetangx.com) 如果需要答案代码可以私聊博主 有任何疑问或者问题&#xff0c;也欢迎私信博主&#xff0c;大家可以相互讨论交流哟~~ 考题12-1 题目描述 输入格式 输出格式 输出到标准输出。 输出一行一个整数…

php 把数字转化为大写中文

1. 120002129.25 转化后壹億贰仟萬贰仟壹佰贰拾玖圆贰角伍分2. 12000.2145 转化后壹萬贰仟圆贰角壹分肆厘伍毫3. 1020001211 转化后壹拾億贰仟萬壹仟贰佰壹拾壹圆整大致思路这样的: 从小数点分割成两部分,整数部分和小数部分分别处理。 整数四个一组进行处理,用substr函数分…

电销平台架构的演变与升级

简介 信也科技电销平台承载了公司400多坐席的日常外呼任务&#xff0c;随着公司业务规模不断增长&#xff0c;业务复杂度不断提升&#xff0c;营销模式需要多样化&#xff0c;营销流程需要更加灵活。为了更好地赋能业务、提高客户转化率&#xff0c;电销平台不断升级优化&#…

springboot快速构建项目

1.Spring的基本步骤 2.构建项目 第一次下包速度比较慢&#xff0c;可以考虑使用镜像 至此项目构建完成 3.启动并配置数据库 新建一个数据库&#xff0c;新建一个表 下面这里也可以【重构-重命名】为yml后缀&#xff08;代码可粘下面的&#xff0c;后面有写&#xff09; Yml后…

FreeRTOS_day2

作业&#xff1a;1.使用ADC采样光敏电阻数值&#xff0c;如何根据这个数值调节LED灯亮度。 2.总结DMA空闲中断接收数据的使用方法 打开DAM,允许接收外部设备数据&#xff0c;调用中断接收回调函数

Eclipse调试技巧 条件断点 监视

实验代码 import java.util.Scanner;public class Test {// 判断n是否为质数public static boolean isPrime(int n){if (n < 2)return false;for (int i 2; i < n; i){if (n % i 0)return false;}return true;}public static void main(String[] args){Scanner scanne…

专治Java底子差,线程操作篇(1)

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…