【计网复习】应用层总结(不含HTTP和错题重点解析)

news2024/11/28 2:49:47
  • 应用层总结(不含HTTP和错题重点解析)
    • 应用层简介
      • 应用层的主要功能
      • 常见的应用层协议
      • 小林对于应用层通常的解释
    • 网络应用模型
      • 客户端-服务器模型(Client-Server Model, C/S)
        • 特点
        • 优点
        • 缺点
        • 应用场景
      • 对等网络模型(Peer-to-Peer Model, P2P)
        • 特点
        • 优点
        • 缺点
        • 应用场景
      • 比较
      • 总结
    • 域名系统DNS
      • 层次域名空间(Hierarchical Domain Name Space)
    • 域名查询方式
      • 递归查询(Recursive Query)
        • 递归查询步骤
      • 迭代查询(Iterative Query)
        • 迭代查询步骤
        • 递归查询和迭代查询的比较
        • 总结
      • 次UDP报文总共来自哪里?看前面的内容。
    • 文件传输协议 FTP File Transport Protocol
      • FTP提供的功能
      • FTP在传输层所使用的协议
      • 控制连接
      • 数据连接
      • 主动模式和被动模式
    • 电子邮件
      • 电子邮件系统
      • 邮件发送协议和读取协议的应用
      • 电子邮件格式
      • 关注错题、关注STMP和POP3的工作流程、使用过程

应用层总结(不含HTTP和错题重点解析)

应用层简介

计算机网络的应用层是OSI模型和TCP/IP模型的最高层,负责提供网络服务给应用软件。这一层直接面向用户和应用程序,是用户与网络之间的接口。

应用层的主要功能

  1. 应用协议支持:提供各种网络服务协议,如HTTP(用于网页浏览)、FTP(用于文件传输)、SMTP(用于电子邮件)、DNS(用于域名解析)等。
  2. 数据表示:处理数据格式的转换、编码和解码,使得不同的应用可以互相理解和使用数据。
  3. 会话管理:管理应用之间的会话,包括会话的建立、维持和终止。
  4. 服务广告和服务发现:帮助用户发现和连接网络服务。

常见的应用层协议

  1. HTTP(Hypertext Transfer Protocol):用于传输网页数据,是万维网的基础协议。
  2. HTTPS(HTTP Secure):HTTP的安全版本,通过SSL/TLS加密数据传输,确保数据的安全性。
  3. FTP(File Transfer Protocol):用于文件在网络上的传输。
  4. SMTP(Simple Mail Transfer Protocol):用于发送电子邮件。
  5. POP3(Post Office Protocol 3)和IMAP(Internet Message Access Protocol):用于接收电子邮件。
  6. DNS(Domain Name System):将域名解析为IP地址。

小林对于应用层通常的解释

最上层的,也是我们能直接接触到的就是应用层(Application Layer),我们电脑或手机使用的应用软件都是在应用层实现。那么,当两个不同设备的应用需要通信的时候,应用就把应用数据传给下一层,也就是传输层。

所以,应用层只需要专注于为用户提供应用功能,比如 HTTP、FTP、Telnet、DNS、SMTP等。

应用层是不用去关心数据是如何传输的,就类似于,我们寄快递的时候,只需要把包裹交给快递员,由他负责运输快递,我们不需要关心快递是如何被运输的。

而且应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。

网络应用模型

客户端-服务器模型(Client-Server Model, C/S)

客户端-服务器模型是一种常见的网络架构,应用程序被分为两个主要部分:客户端服务器。这种模型的核心思想是通过服务器为客户端提供服务和资源。
在这个模型中,有一个总是打开的主机称为服务器,它处理很多来自其他被称为客户机的主机请求。

特点
  1. 集中控制:服务器集中管理资源和服务,客户端通过请求访问这些资源。
  2. 明确分工:客户端负责用户接口和请求处理,服务器负责处理请求和管理数据。
  3. 安全性:服务器集中存储和管理数据,便于实现集中安全策略。
优点
  • 易于管理:集中管理使得系统维护和升级更为方便。
  • 安全性好:数据集中存储,便于实施安全策略和数据备份。
  • 性能稳定:服务器可以通过负载均衡和冗余设计来提高性能和可靠性。
缺点
  • 单点故障:服务器出现问题时,整个系统可能无法正常工作。
  • 可拓展性不佳:随着客户端数量的增加,服务器需要更高的性能和带宽支持。
  • 服务器压力大:所有客户端请求集中到服务器,可能导致服务器负载过高。
  • 客户机相互之间不能通信:例如,web应用中两个浏览器并不能直接通信。
应用场景
  • Web应用:如网页浏览(浏览器和Web服务器)。
  • 电子邮件系统:如邮件客户端和邮件服务器。
  • 数据库系统:如数据库客户端和数据库服务器。

对等网络模型(Peer-to-Peer Model, P2P)

对等网络模型是一种去中心化的网络架构,每个节点(peer)在网络中既可以充当客户端,也可以充当服务器。节点之间可以直接进行通信和资源共享。

特点
  1. 去中心化:没有中央服务器,所有节点具有相同的地位
  2. 资源共享:每个节点既可以提供资源,也可以请求资源。
  3. 高扩展性:节点数量增加时,网络容量也随之增加。
  4. 自组织:网络可以自动适应节点的加入和离开。
优点
  • 抗故障能力强:没有单点故障,网络更加健壮。
  • 资源利用率高:每个节点都可以贡献带宽和存储资源,分担负载。
  • 扩展性好:随着节点的增加,网络性能和容量也增加。
缺点
  • 安全性较差:由于没有中央控制,难以统一管理和保障安全。
  • 一致性问题:数据的分布和更新需要复杂的协议来保持一致性。
  • 复杂性高:节点的动态变化和资源分布管理相对复杂。
应用场景
  • 文件共享:如BitTorrent、eDonkey等P2P文件共享网络。
  • 分布式计算:如SETI@home,利用闲置的计算资源进行科学计算。
  • 即时通讯:部分P2P即时通讯应用,如Skype的早期版本。

比较

特性客户端-服务器模型(C/S)对等网络模型(P2P)
结构中心化去中心化
控制集中管理分布式管理
扩展性依赖服务器性能和带宽节点增加带来性能提升
安全性高安全性安全性较差
抗故障能力单点故障风险高抗故障能力
资源利用服务器集中提供资源每个节点共享资源

总结

客户端-服务器模型适用于需要集中控制和管理的应用场景,具有良好的安全性和管理性。而对等网络模型则适用于分布式资源共享和高扩展性的应用场景,具有高抗故障能力和资源利用率。选择哪种模型取决于具体的应用需求和网络环境。

域名系统DNS

参考链接
特别说明:DNS系统采用客户/用户端

层次域名空间(Hierarchical Domain Name Space)

www.server.com为例。
这是层次树状的命名方法,任何一个连接到因特网的主机或者路由器都有一个唯一的层次结构名称。这句话非常难以理解?没关系因为根本不用理解,只要记住是层次树状结构即可。Man!What can I say?
www.server.com这个域名由三个.分开的组成。
每个都由标号组成。
从右到左分别是顶级域名、二级域名、三级域名。

域名查询方式

域名解析过程中,递归查询和迭代查询是两种不同的查询方式。下面我们详细介绍它们的区别,并列出各自的步骤。

域名解析过程中,递归查询和迭代查询是两种不同的查询方式。下面我们详细介绍它们的区别,并列出各自的步骤。

递归查询(Recursive Query)

在递归查询中,DNS服务器接收到查询请求后,如果不能直接回答请求,它将代表客户端继续查询其他DNS服务器,直到获得最终答案,然后将结果返回给客户端。

递归查询步骤
  1. 用户请求:用户在浏览器中输入 www.example.com,请求发送到递归DNS服务器。
  2. 递归DNS服务器查询根域名服务器:如果递归DNS服务器没有缓存结果,它向根域名服务器发送查询请求。
  3. 根域名服务器响应:根域名服务器返回 .com 顶级域名服务器的地址。
  4. 递归DNS服务器查询顶级域名服务器:递归DNS服务器向 .com 顶级域名服务器发送查询请求。
  5. 顶级域名服务器响应:顶级域名服务器返回 example.com 的权威DNS服务器地址。
  6. 递归DNS服务器查询权威DNS服务器:递归DNS服务器向 example.com 的权威DNS服务器发送查询请求。
  7. 权威DNS服务器响应:权威DNS服务器返回 www.example.com 的IP地址。
  8. 返回结果:递归DNS服务器将 www.example.com 的IP地址返回给用户的设备。

迭代查询(Iterative Query)

在迭代查询中,DNS服务器接收到查询请求后,如果不能直接回答请求,它将返回一个指向其他DNS服务器的地址,客户端(或中间DNS服务器)需要继续查询这些服务器,直到获得最终答案。

迭代查询步骤
  1. 用户请求:用户在浏览器中输入 www.example.com,请求发送到本地DNS服务器。UDP查询
  2. 本地DNS服务器查询本地缓存,若没有记录,则查询根域名服务器:本地DNS服务器向根域名服务器发送查询请求。UDP查询
  3. 根域名服务器响应:根域名服务器返回 .com 顶级域名服务器的地址。UDP响应
  4. 本地DNS服务器查询顶级域名服务器:本地DNS服务器向 .com 顶级域名服务器发送查询请求。UDP查询
  5. 顶级域名服务器响应:顶级域名服务器返回 example.com 的权威DNS服务器地址。UDP响应
  6. 本地DNS服务器查询权威DNS服务器:本地DNS服务器向 example.com 的权威DNS服务器发送查询请求。UDP查询
  7. 权威DNS服务器响应:权威DNS服务器返回 www.example.com 的IP地址。UDP响应
  8. 返回结果:本地DNS服务器将 www.example.com 的IP地址返回给用户的设备.UDP响应
递归查询和迭代查询的比较
  • 查询方式:

    • 递归查询:DNS服务器替客户端完成所有查询工作。
    • 迭代查询:客户端或中间DNS服务器逐步查询每一级DNS服务器。
  • 负担:

    • 递归查询:递归DNS服务器负担较重,需要处理整个查询过程。
    • 迭代查询:客户端或中间DNS服务器负担较重,需要逐步处理每一级查询。
  • 响应速度:

    • 递归查询:客户端等待时间较长,因为递归DNS服务器处理所有查询。
    • 迭代查询:每次查询的响应速度较快,但整体查询过程由客户端或中间DNS服务器处理。
  • 缓存:

    • 递归查询:递归DNS服务器可以缓存查询结果,提高后续查询效率。
    • 迭代查询:每一级DNS服务器可以缓存部分结果,但整体查询过程可能不会缓存所有结果。
总结

递归查询和迭代查询在DNS解析过程中各有优劣,递归查询由递归DNS服务器完成整个查询过程,适合减少客户端的复杂性和负担,而迭代查询由客户端或中间DNS服务器逐步查询,每一级查询结果都返回给客户端或中间服务器,适合分布式查询和减轻单个服务器的负担。选择哪种查询方式取决于具体的网络配置和需求。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

次UDP报文总共来自哪里?看前面的内容。

本地域名服务器根域名服务器查询通常是采取迭代查询
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文件传输协议 FTP File Transport Protocol

FTP提供的功能

  • 提供不同种类主机系统之间的文件传输能力
  • 以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
  • 以匿名FTP的方式提供公用文件共享的能力

FTP在传输层所使用的协议

FTP采用 C/S 服务器的工作方式,使用TCP可靠的传输服务。
一个FTP故武器进程可同时为多个客户进程提供服务。
FTP的服务器进程由两大部分组成:一个主进程负责接收新的请求;另外若干从属进程负责处理单个请求

工作步骤:

  • 代开熟知端口(控制端口) Port 21,使得客户进程能够链接。
  • 等待用户进程发送链接需求。
  • 启动从属进程处理客户进程发来的请求。 从属进程对客户进程的请求处理完毕后即终止。
  • 回到等待状态,继续接受其他客户进程的请求。主进程与从属进程是并发执行的。

在FTP(文件传输协议)中,控制连接和数据连接有不同的作用和过程:

控制连接

作用

  • 控制连接用于传递FTP命令和服务器的响应。它主要负责管理会话、用户认证以及控制命令的发送和接收。

过程

  1. 建立连接:客户端与服务器之间建立控制连接,通常使用TCP端口21。
  2. 用户认证:客户端发送用户名和密码进行认证。
  3. 命令传输:客户端发送各种FTP命令(如USERPASSLISTRETRSTOR等),服务器响应这些命令。
  4. 会话管理:控制连接始终保持打开状态,直到客户端发送QUIT命令终止会话。

数据连接

作用

  • 数据连接用于传输实际的文件数据,如上传、下载文件以及获取目录列表等。

过程

  1. 建立连接:根据客户端和服务器之间的约定(主动模式或被动模式),数据连接在需要传输数据时临时建立。
  2. 传输数据
    • 主动模式:客户端在控制连接中发送PORT命令,指示服务器连接到客户端指定的端口。服务器主动连接客户端的数据端口,传输数据。
    • 被动模式:客户端在控制连接中发送PASV命令,服务器响应一个端口号,客户端主动连接服务器的该端口进行数据传输。
  3. 关闭连接:数据传输完成后,数据连接自动关闭。

主动模式和被动模式

  • 主动模式(Active Mode)

    • 客户端发送PORT命令,指定数据端口。
    • 服务器从端口20主动连接到客户端指定的数据端口。
    • 这种模式下,客户端需要打开防火墙以允许外部连接到指定端口。
  • 被动模式(Passive Mode)

    • 客户端发送PASV命令,请求服务器打开一个数据端口。
    • 服务器响应一个端口号,客户端主动连接这个端口。
    • 这种模式下,服务器需要打开防火墙以允许客户端连接到指定端口。

电子邮件

电子邮件系统

电子邮件系统由以下组成部分:

  1. 用户代理(User Agent)

    • 用户与电子系统的接口。
  2. 邮件服务器

    • 他的功能是发送和接受文件。,同时还要向发件人报告邮件传送的情况(已交付、被拒绝、丢失等)。
    • 服务器以 C/S 模式工作,蛋挞必须能够同时担任服务器和客户。
  3. 邮件访问协议

    • POP3:一种简单的邮件访问协议,允许用户从邮件服务器下载邮件到本地设备。
    • IMAP:一种更复杂的协议,允许用户在服务器上管理和访问邮件,同时支持多个设备同步。
    • SMTP:主要用于发送邮件,但也用于从用户代理传输邮件到 MTA。

邮件发送协议和读取协议的应用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • SMTP服务器是采取的通信方式,POP3是采取的通信方式

电子邮件格式

form:XXX@XXX
to:XXX@XXX
subject:XXXX

这是电子邮件首部的格式,to是必填的关键字。subject是选填的,内容是可选的关键词。
电子邮件首部和主体。

额外说明:MIME(Multipurpose Internet Mail Extensions)
MIME是出于SMTP无法传递非英语的、7位ASCII码文本邮件设计的。

关注错题、关注STMP和POP3的工作流程、使用过程

这我随后会在本章的做题总结中详细写出来。

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

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

相关文章

【QT5.14.2】编译MQTT库example的时候报No such file or directory

【QT5.14.2】编译MQTT库example的时候报No such file or directory 前几天导师让跑一下MQTT库,用的5.14.2版本的QT,于是就上网搜了一个教程:https://www.bilibili.com/video/BV1dH4y1e7hG/?spm_id_from333.337.search-card.all.click&v…

TCP/IP协议介绍——三次握手四次挥手

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议…

如何在隔离环境中设置 LocalAI 以实现 GPU 驱动的文本嵌入

作者:来自 Elastic Valeriy Khakhutskyy 你是否想在 Elasticsearch 向量数据库之上构建 RAG 应用程序?你是否需要对大量数据使用语义搜索?你是否需要在隔离环境中本地运行?本文将向你展示如何操作。 Elasticsearch 提供了多种方法…

每日一题——Python实现PAT甲级1077 Kuchiguse(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 代码点评 时间复杂度分析 空间复杂度分析 总结 我要更强 方案1&#x…

Postman 打开错误的解决方法

错误如下: PostMan的文件都是放在用户文件下,所以在Local和Roaming文件夹下查看,并删除所有PostMan相关文件夹。 我电脑上的路径在 C:\Users\Administrator\AppData\Local 和 C:\Users\Administrator\AppData\Roaming【Administrator为系…

APP单页分发源码下载安卓苹果自动识别apk描述文件免签自动安装

下载地址:APP单页分发源码下载安卓苹果自动识别apk描述文件免签自动安装

Vue学习笔记_Day02

文章目录 1,指令修饰符2,样式控制3,v-model进阶4,计算属性5,监视器6,生命周期 1,指令修饰符 跟在指令后面,具有特殊的功能。 事件修饰符: .enter:只有enter…

2024-6-9 石群电路-27

2024-6-9,星期日,12:49,天气:晴,心情:晴。Hello,大家,我回来啦,昨天断更了一天,是为什么捏,是因为,我通过毕业答辩啦!&…

Golang | Leetcode Golang题解之第133题克隆图

题目: 题解: func cloneGraph(node *Node) *Node {if node nil {return node}visited : map[*Node]*Node{}// 将题目给定的节点添加到队列queue : []*Node{node}// 克隆第一个节点并存储到哈希表中visited[node] &Node{node.Val, []*Node{}}// 广…

SpringBoot+Vue影城管理系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 用户管理员 功能截图

2024050702-重学 Java 设计模式《实战状态模式》

重学 Java 设计模式:实战状态模式「模拟系统营销活动,状态流程审核发布上线场景」 一、前言 写好代码三个关键点 如果把写代码想象成家里的软装,你肯定会想到家里需要有一个非常不错格局最好是南北通透的,买回来的家具最好是品…

如何在手机上恢复误删除的视频?

说到移动设备上的视频恢复,我们仍将揭开4种解决方案供您使用。希望它们对您的案件有所帮助。 众所周知,我们移动设备上的视频应用程序将创建一个缓存文件夹,以在它们永远消失之前临时存储已删除的项目。因此,有许多iPhone / Andr…

Thermal-BST自动化工具在Flotherm建模中的应用与优势

引言 随着科技的不断发展,电子领域的需求也越来越广泛和多样化。然而,PCB板及其上的器件建模问题一直是电子工程师在设计过程中面临的重要挑战之一。软件中原有的PCB建模工具,转换出来的模型复杂,影响后期的网格划分,…

SpringBoot+Vue学生宿舍管理系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 学生宿管员管理员 功能截图

你好GPT-4o——对GPT-4o发布的思考与看法

你好GPT-4o 前言 2024年5月13日,OpenAI官网发布了他们的新一代自然语言处理交互系统——GPT-4o。这是OpenAI继GPT4之后又一个新的旗舰模型。 GPT-4o(“o”代表“omni”)是迈向更自然的人机交互的一步——它接受文本、音频、图像和视频的任意…

linuxDNS域名解析

文章目录 DNS 是域名系统的简称正向解析反向解析主从服务器解析bond网卡 DNS 是域名系统的简称 域名和IP地址之间的映射关系 互联网中,IP地址是通信的唯一标识,逻辑地址 访问网站 域名解析的目的就是为了实现,访问域名就等于访问IP地址 …

Linux---进程/磁盘管理

文章目录 目录 文章目录 一.Linux中进程的概念 二.显示系统执行的进程 2.1: ps 命令 2.2 top 命令 三.终止进程 四.磁盘分区 一.Linux中进程的概念 在Linux中,进程是指操作系统中正在执行的程序的实例。每个进程都由操作系统分配了独立的内存空间,用于…

安装node

下载地址 Node.js — Run JavaScript Everywhere 按照下面的图操作即可 然后就下载完了。

Audio PsyChat:web端语音心理咨询系统

Github:GitHub - EthanLifeGreat/AudioPsyChat: 这是一个在服务器本地运行的web语音心理咨询系统,咨询系统内核使用[PsyChat],我们为其制作了Web前端,并拼接了ASR和TTS组件,使局域网内用户可以通过单纯的语音进行交互。…

Vue09-事件处理

一、一个简单的示例 v-on&#xff1a;当xxx的时候。 二、事件处理 2-1、参数说明 <div id"root"><h1>你好呀&#xff0c;{{name}}</h1><button v-on:click"showinfo">点击我</button></div><script>new Vue({e…