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

  • 应用层总结(不含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.rhkb.cn/news/347849.html

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

相关文章

第十五篇——条件熵和信息增益:你提供的信息到底值多少钱?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 通过这篇文章,我知道了条件熵和信息增益;如果你试…

RabbitMQ-Stream(高级详解)

文章目录 什么是流何时使用 RabbitMQ Stream?在 RabbitMQ 中使用流的其他方式基本使用Offset参数chunk Stream 插件服务端消息偏移量追踪示例 示例应用程序RabbitMQ 流 Java API概述环境创建具有所有默认值的环境使用 URI 创建环境创建具有多个 URI 的环境 启用 TLS…

JVM对象分配和垃圾回收机制

一、对象创建 1.1 符号引用 new 创建一个对象,需要在JVM创建对象。 符号引用:目标对象采用一个符号表示,类A加载的时候,如果成员变量类B还没有被加载进来,采用一个符号(字面量)来表示&#x…

解密有道翻译响应数据末尾出现乱码问题的解决方法

运行解密响应数据程序: D:\Python\Python311\python.exe E:\baichuan\youdaos.py {"code":0,"dictResult":{"ce":{"word":{"trs"D:\Python\Python311\python.exe E:\baichuan\youdaospdm.pyD:\Python\Python31…

Linux 性能优化基础

文章目录 常见指标分类(USE法)常见性能工具CPU性能工具内存性能工具文件系统和磁盘I/O性能工具网络性能工具 根据指标找工具CPU性能内存性能文件系统和磁盘I/O网络性能 根据工具找指标CPU性能内存性能文件系统和磁盘I/O网络性能 CPU性能分析一般步骤内存…

GUI编程03-事件监听

事件监听是指当某个事件发生的时候干一些什么。 例如之前在关闭frame窗口时就写过一个window窗口监听,当点击左上角❌时调用System.exit进行程序关闭。 1.按钮监听 下面的例子是监听按钮Button被点击时触发的事件 同时我们将窗口关闭监听事件进行了优化&#xff…

教你一段代码激活计算机系统

方法简单粗暴,再也不用遭受未激活的烦恼了! 新建文本 输入代码,把文件后缀.txt改.bat slmgr /skms kms.03k.org slmgr /ato

如何用Vue3构建一个交互式音乐播放器

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Vue.js 开发音乐播放器卡片 应用场景 这款音乐播放器卡片旨在为音乐应用程序提供一个现代而交互式的用户界面。它包含诸如歌曲信息、播放进度条和控制按钮等关键功能。 基本功能 **歌曲信息显示&#xff1a…

单细胞RNA测序(scRNA-seq) 理解Seurat对象存储信息含义和基本操作

单细胞测序技术是在单个细胞水平上,对基因组、转录组和表观基因组水平进行分析测序技术。bulk RNA-seq获得的是组织或器官等大量细胞中表达信号的均值,无法获取细胞之间的差异信息(即丢失了细胞的异质性), 而单细胞测序…

【文献阅读】一种多波束阵列重构导航抗干扰算法

引言 针对导航信号在近地表的信号十分微弱、抗干扰能力差的问题,文章提出了自适应波束形成技术。 自适应波束形成技术可以分为调零抗干扰算法和多波束抗干扰算法。 调零抗干扰算法主要应用功率倒置技术,充分利用导航信号功率低于环境噪声功率的特点&…

ssm汽车在线销售系统

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

Spring Security实现用户认证四:使用JWT与Redis实现无状态认证

Spring Security实现用户认证四:使用JWT与Redis实现无状态认证 1 什么是无状态认证?2 什么是JWT?2.1 需要注意的事项2.2 JWT构成 3 Spring Security JWT实现无状态认证3.1 创建一个Spring Boot项目3.1.1 依赖3.1.2 Main3.1.3 application.ym…

PGFed: Personalize Each Client’s Global Objective for Federated Learning

ICCV-2023, 文章提出显式隐式的概念,作者通过实验发现显式比隐式的效果好,显式方式通过直接与多个客户的经验风险互动来更新模型,并用泰勒展开式降为 O ( N ) O(N) O(N)通讯成本。 文章地址:arxiv code: 作者开源 贡献 1.我们发现个性化 FL 算法的显式性赋予了其更强的…

【Linux】模拟实现一个简单的日志系统

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…

算法体系-20 第二十节暴力递归到动态规划

前言 动态规划模型从尝试暴力递归到傻缓存到动态规划 四种模型和体系班两种模型一共六种模型 0.1 从左往右模型 0.2 范围讨论模型范围尝试模型 (这种模型特别在乎讨论开头如何如何 结尾如何如何) 玩家博弈问题,玩家玩纸牌只能那左或者右 0.3 …

浅析Vue3 实战笔记(一)

本文是结合实践中和学习技术文章总结出来的笔记(个人使用),如有雷同纯属正常((✿◠‿◠)) 喜欢的话点个赞,谢谢! 有问题欢迎指正!! 前面已经讲了基本的Vue生命周期和入门知识,本篇开始使用Vite构建一个demo 1. 创建项目 1.1. 初始化项目 使用Vite初始化项目 yarn create v…

若依RuoYi-Vue分离版—免登录直接访问

若依RuoYi-Vue分离版—免登录直接访问 如何不登录直接访问前端:后端:方法1:在SecurityConfig.java中设置httpSecurity配置匿名访问方法2:在对应的方法或类上面使用Anonymous注解。 如何不登录直接访问 官网有说明:如何不登录直接…

Swift 序列(Sequence)排序面面俱到 - 从过去到现在(二)

概览 在上篇 Swift 序列(Sequence)排序面面俱到 - 从过去到现在(一)博文中,我们讨论了 Swift 语言中序列和集合元素排序的一些基本知识,我们还给出了以自定义类型中任意属性排序的“康庄大道”。 不过在实际的撸码场景中,我们往往需要的是“多属性”同时参与到排序的考…

279. 完全平方数

解法一、回溯法&#xff1a; class Solution {public int numSquares(int n) {return numSquaresHepler(n);}public int numSquaresHepler(int n){if(n 0) return 0;int count Integer.MAX_VALUE;for(int i 1; i * i < n; i){count Math.min(count,numSquaresHepler(n …

elementPlus 图标不显示 属性模式不显示

问题&#xff1a; elementPlus 属性模式图标不显示 <el-input placeholder"请输入用户名" :suffix-icon"Avatar"> //这个图标不显示 之前在main.ts里全局引入了icons-vue。这里的script里也没引入。 解决&#xff1a; 在当前的script中重新引入a…