计算机网络:应用层知识点汇总
文章目录
- 一、网络应用模型
- 二、域名系统(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协议






相关文章:
计算机网络:应用层知识点汇总
文章目录 一、网络应用模型二、域名系统(DNS)三、文本传输协议(FTP)四、电子邮件五、万维网和HTTP协议 一、网络应用模型 p2p也就是对等模型 二、域名系统(DNS) 我们知道,随着人们建立一个网站…...
金三银四!一个年薪160W+的就业方向!
前言 随着越来越多的科技大厂加入鸿蒙生态建设,鸿蒙开发人才正在市场上被争抢。资深工程师开出的年薪高达近百万,架构师更是高至160万,真可谓“鸿蒙猿年薪超百万”。如何抓住新技术红利,尽早上车?你会成为下一个鸿蒙开…...
实现的一个网页版的简易表白墙
实现的一个网页版的表白墙 实现效果 代码截图 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…...
随身WiFi靠谱吗? 看完这篇文章你就懂了?2024随身wifi靠谱品牌推荐
在网络如此发达,随身WiFi如此普遍的2024年,仍有人在质疑随身WiFi到底靠不靠谱,有没有用处。其实只需要回答两个问题: 1、你的流量够用吗?手机的流量包和随身WiFi套餐哪个更便宜? 2、手机流量不够用&#x…...
mysql的trace追踪SQL工具,进行sql优化
trace是MySQL5.6版本后提供的SQL跟踪工具,通过使用trace可以让我们明白optimizer(优化器)如何选择执行计划。 注意:开启trace工具会影响mysql性能,所以只适合临时分析sql使用,用完之后请立即关闭。 测试数…...
docker部署springboot jar包项目
docker部署springboot jar包项目 前提,服务器环境是docker环境,如果服务器没有安装docker,可以先安装docker环境。 各个环境安装docker: Ubuntu上安装Docker: ubuntu离线安装docker: CentOS7离线安装Docker࿱…...
一个八年工作经验老程序员的分享
作为一个 Java 程序员,我在这个行业中工作了多年。在这个过程中,我经历了许多挑战和机遇,也学到了很多宝贵的经验和教训。在这篇文章中,我想分享一些我的感想和思考,希望能够对其他 Java 程序员有所帮助。 一、技术的…...
代码随想录算法训练营第四十三天|动态规划|1049. 最后一块石头的重量 II、494. 目标和、474.一和零
1049. 最后一块石头的重量 II 文章 有一堆石头,每块石头的重量都是正整数。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x < y。那么粉碎的可能结果如下: 如果 x y&a…...
vue3+elementPlus:el-table-column表格列动态设置单元格颜色
:cell-style属性 //html<el-tableempty-text"暂无数据":data"datalist.table":max-height"height"row-key"id"border:cell-style"cellStyle"> <el-table>//js //动态设置单元格颜色 const cellStyle ({ row, c…...
python和shell脚本,每隔五分钟将远端服务器中的文件夹数据下载到跳板机
python脚本 import subprocess import datetime import timedef run_scp_command(source_path, target_path):command [scp -r , source_path, target_path]try:subprocess.run(command, checkTrue)print("File transferred successfully!")except subprocess.Call…...
Websocket在Asp.net webApi(.net framework)上的应用
之前在写看板部分的web api的时候,都是通过Ajax在规定时间内轮询调用web api,这样简单省事,但是当看板多了(并发量上来)以后,比较消耗服务器的性能,所以最近研究了websocket,希望使用…...
App前端开发跨平台框架比较:React Native、Flutter、Xamarin等
引言 移动应用开发领域的跨平台框架正在不断演进,为开发者提供更多选择。在本文中,我们将比较几个流行的跨平台框架:React Native、Flutter和Xamarin等。讨论它们的优缺点、适用场景以及开发体验。 第一部分 React Native: 优缺点、适用场景…...
VR数字展厅在企业中应用的优势有哪些?
随着VR全景技术的成熟,VR数字展厅逐渐成为了企业展示形象和产品的重要手段之一。VR企业数字展厅是一种通过VR技术、3D建模技术展示企业形象和产品的创新方式,将企业线下的展厅搬到线上,为企业品牌形象带来了很多优势。 VR数字展厅在企业中应用…...
【数据库】索引 视图 触发器 分页查询
目录 1、索引 2、视图 3、触发器 4、分页查询⚠️ 1、索引 提升查询效率、当数据量小的时候,索引看不出来效果,当数据量很大的时候,索引会显著提高查询速度 当给表添加索引之后,新插入一条数据,就会让索引进行重新…...
*地宫取宝c++
题目 输入样例1: 2 2 2 1 2 2 1输出样例1: 2输入样例2: 2 3 2 1 2 3 2 1 5输出样例2: 14 思路 题目说从入口开始,只能向右或向下行走到达右下角,类似“摘花生”这道题的模型。题目又说只有当格子里的宝…...
同态滤波算法详解
同态滤波是一种用于增强图像的方法,特别适用于去除图像中的照明不均和阴影。该算法基于照射反射模型,将图像分解为两个分量:照射分量(illumination component)和反射分量(reflection component)…...
财务管理系统报账和挂账分别什么区别!报销又是什么【第三期】
前言 已经写了两期 财务管理系统之saas多租户架构是什么以及分库分表以及如何选择分布式事务方案 【程序员聊业务】财务管理系统之模块分类 报账和挂账概念 报账是指企业或个人因业务需要而发生的各项费用支出,在支付后,需要将相关的票据、凭证等提交…...
最少刷题数
最少刷题数 题目分析 对于每一名同学计算还需要再刷多少题才能保证刷题数比他多的人数不超过刷题数比他少的学生人数。我们可以考虑统计每一个分数的前缀和数组,sum[i]表示当前学生中,刷题数小于等于i的人数。那么对于学生i的刷题数a[i],su…...
Python刘诗诗
写在前面 刘诗诗在电视剧《一念关山》中饰演了女主角任如意,这是一个极具魅力的女性角色,她既是一位有着高超武艺和智慧的女侠士,也曾经是安国朱衣卫前左使,身怀绝技且性格坚韧不屈。剧中,任如意因不满于朱衣卫的暴行…...
探索ChatGPT在软件架构师工作中的应用
随着人工智能技术的不断发展,自然语言处理模型如OpenAI的ChatGPT已经成为了解决各种实际问题的强大工具之一。在软件架构师这个领域,ChatGPT也有着广泛的应用。本文将探讨软件架构师如何有效地利用ChatGPT来解决问题和提高工作效率。 ChatGPT简介 Chat…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
