计算机网络重点概念整理-第六章 应用层【期末复习|考研复习】

news2024/11/17 14:44:47

第六章 应用层 【期末复习|考研复习】

计算机网络系列文章传送门:
第一章 计算机网络概述
第二章 物理层
第三章 数据链路层
第四章 网络层
第五章 传输层
第六章 应用层
第七章 网络安全
计算机网络整理-简称&缩写


文章目录

  • 第六章 应用层 【期末复习|考研复习】
  • 前言
  • 六、应用层
    • 6.1 网络应用模型
      • 6.1.1 客户/服务器模式C/S模型
      • 6.1.2 P2P模型
    • 6.2 域名系统DNS
      • 6.2.1层次域名空间
      • 6.2.2 域名服务器
      • 6.2.3 域名解析过程
    • 6.3 文件传输协议FTP
      • 6.3.1 FTP工作原理及功能
      • 6.3.2 FTP的控制与数据传输模式
    • 6.4 电子邮件
      • 6.4.1 电子邮件的组成构成
      • 6.4.2 MIME(Multipurpose Internet Mail Extensions)
      • 6.4.3 SMTP
      • 6.4.4 POP3
    • 6.5 万维网WWW
      • 6.5.1 超文本传输协议HTTP
  • 下一章 第七章 网络安全


前言

给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。
参考资料是王道的计算机操作系统和西电的计算机操作系统。


六、应用层

6.1 网络应用模型

6.1.1 客户/服务器模式C/S模型

服务器:1、提供计算服务的设备。2、永久提供服务。3、永久性访问地址或域名。
客户机:1、请求计算服务的主机。2、与服务器通信,使用服务器提供的服务。3、间接性接入网络。4、可能使用动态IP地址。5、不与其他客户机直接通信。

6.1.2 P2P模型

1、不存在永远在线的服务器。2、每个主机既可以提供服务也可以请求服务。3、节点间歇性接入网络。4、节点可能改变IP地址。5、P2P的可拓展性好。6、网络健壮性强。7、多个客户机之间可以直接共享文档。P2P模型的缺点:在获取服务的同时还要给其他节点提供服务因此会占用较多的内存影响整机进度,并且P2P下载可能会对硬盘造成较大损伤。

6.2 域名系统DNS

域名系统是因特网使用的命名系统,用来将具有特定含义的主机名转换为便于机器处理的IP地址。DNS系统采用客户服务器模型,其协议运行在UDP之上,使用53号端口。DNS分为3部分:层次域名空间、域名服务器和解析器。多个IP地址可以映射到同一个域名上,多个主机也可以负载均衡到同一个域名上,一台主机也可以通过虚拟机映射到多个域名上。

6.2.1层次域名空间

从事域名空间可以分为顶级域、二级域、三级域等,顶级域名分为3类:国家顶级域名如.cn/.us,通用顶级域名如.com/.net/.org/.gov,基础结构域名arpa。

6.2.2 域名服务器

域名服务器分为根域名服务器、顶级域名服务器、授权域名服务器、本地域名服务器。全球总共有13个根域名服务器。根域名服务器并不直接把待查询的域名直接转化为IP地址而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。顶级域名服务器管理该顶级域名服务器下注册的所有2级域名。

6.2.3 域名解析过程

域名解析过程有两种方式:递归查询和递归与迭代相结合的查询,通常采用递归与迭代相结合的查询方式。
主机向本地域名服务器的查询采用的是递归查询:如果本地主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份向根域名服务器发送查询请求报文。
本地域名服务器向根域名服务器的查询采用迭代查询:根域名服务器收到本地域名服务器发送的迭代查询请求报文时要么给出所查询的IP地址要么告诉本地域名服务器下一步查询的顶级域名服务器的地址,同样顶级域名服务器收到查询请求报文后要么给出所查询的IP地址要么告诉本地域名服务器下一步应向哪一个权限域名服务器查询,最后知道所要解析的域名IP地址后把这个结果返回给查询主机。
对于y.abc.com的域名解析过程:1、客户机向其本地域名服务器发送DNS请求报文。2、本地语音服务器收到请求后查询本地缓存若没有该记录则以DNS客户的身份向根域名服务器发送解析请求报文。3、根域名服务器收到请求后判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器。4、本地域名服务器向顶级域名服务器dns.com发送解析请求报文。5、顶级域名服务器dns.com收到请求后判断该域名属于abc.com域因此将对应的授权域名服务器dns.abc.com的 IP地址返回给本地域名服务器。6、本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文。7、授权域名服务器dns.abc.com收到请求后将查询结果返回给本地域名服务器。8、本地域名服务器将查询结果保存到本地缓存同时返回给客户机。一共使用了8个UDP报文。
为了提高DNS的查询效率并减少因特网上DNS查询报文数量 在域名服务器中广泛的使用了高速缓存。主机名和IP地址之间的映射不是永久存在的所以DNS服务器在一段时间后丢弃高速缓存中的信息。
在这里插入图片描述

6.3 文件传输协议FTP

6.3.1 FTP工作原理及功能

FTP采用客户/服务器的工作方式,使用TCP可靠传输服务提供交互式访问,允许客户指明文件的类型和格式并允许文件具有存储权限。一个FTP服务器进程可同时为多个客户进程提供服务。FTP服务器进程由两大部分组成:1、主进程:负责接收新的请求。2、若干从属进程负责处理单个请求。

6.3.2 FTP的控制与数据传输模式

FTP在工作时使用2个并行的TCP连接:一个是控制链接端口号21,一个是数据链接端口号20。是否使用TCP 20号端口建立数据链接与传输模式有关:主动模式TCP 20端口,被动模式大于1024端口。FTP传输模式分为:1、文本模式:ASCII模式以文本序列传输数据。2、二进制模式:Binary模式以二进制序列传输数据。

6.4 电子邮件

6.4.1 电子邮件的组成构成

一个电子邮件系统具有3个最重要的组成构件,即用户代理,邮件服务器和电子邮件使用的协议如SMTP、POP3。
用户代理:用户与电子邮件系统的接口,通常情况下用户代理就是一个运行在PC上的程序如Outlook、Foxmail等。邮件服务器:它的功能就是发送和接收邮件,同时要告知发信人邮件发送状况。邮件服务器采用客户/服务器的方式工作,但是他必须同时充当客户和服务器。邮件发送协议和读取协议:邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP。邮件读取协议用于用户代理从邮件服务器读取邮件如POP3。
电子邮件收发过程:1、发信人调用用户代理来撰写和编辑要发送的邮件,用户代理用SMTP把邮件传传送给发送端邮件服务器。2、发送端邮件服务器将邮件放入邮件缓存队列等待发送。3、运行在发送端邮件服务器的SMTP客户程序发现邮件缓存中有待发送的邮件就向运行在接收端的邮件服务器的SMTP服务器进程发起建立TCP连接。4、TCP连接建立后SMTP客户进程开始向远程SMTP服务器发送邮件,当所有的邮件发送完后SMTP就关闭所建立的TCP链接。5、运行在接收端邮件服务器中的SMTP服务器接收到邮件后将邮件放入收信人的用户邮箱等待收信人在方便时读取。6、收信人打算收件时调用用户代理使用POP3或IMAP协议将自己的邮件从接收端邮件服务器的用户邮箱中取出。

6.4.2 MIME(Multipurpose Internet Mail Extensions)

在SMTP的基础上增加了邮件主体的结构,定义了传送非ASCII的编码规则。支持二进制与多种文字的传送。

6.4.3 SMTP

SMTP用的是TCP链接,端口号为25。SMTP通信有以下3个阶段连接建立邮件传送,连接释放。SMTP缺点:1、不能传送可执行文件或其他二进制对象;2、仅能传送7位ASCII码,不能传送其他非英语国家文字;3、会拒绝超过一定程度的邮件

6.4.4 POP3

邮局协议是一个非常简单但功能有限的邮件读取协议,POP3也采用客户/服务器的工作方式,在传输层使用TCP端口号为110。目前出现很多基于万维网的电子邮件如Hotmail、Gmail等这些电子邮件的特点是用户浏览器与Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用的是HTTP,而且在不同的邮件服务器之间才使用SMTP。

6.5 万维网WWW

万维网是一个分布式、联机式的信息存储空间。万维网以客户/服务器的方式工作。在这个空间中,有一个全域的统一资源定位符URL标识这些资源,通过超文本协议HTTP传送给使用者,而后者通过单击链接来获取资源。万维网的内核由3个标准构成:1、统一资源定位符URL,负责标识万维网上的各种文档并使每个文档在整个万维网的使用范围内有唯一的标识符URL。 2、超文本传输协议HTTP:一个应用层协议它使用TCP链接进行可靠传输,HTTP 是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。3、超文本标记语言HTML:一种文档结构的标记语言,它使用一些约定的标记对页面上的各种文字、声音、图像、视频格式进行描述。
URL是对因特网上获得的资源位置和访问的一种简洁表示,URL相当于一个文件名在网络范围内的扩展。URL的一般形式是:<协议>:😕/<主机>:<端口>/<路径>。常见的协议有HTTP、FTP等。

6.5.1 超文本传输协议HTTP

HTTP定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网万维网文档以及服务器怎样把文档传送给浏览器。HTTP是面向应用层的协议,每个万维网站点都有一个服务器进程它不断地监听TCP的端口(80), 当监听到连接请求便与浏览器建立TCP链接,然后浏览器就向服务器发送请求获得某个web页面的HTTP请求,服务器收到请求后将构建所请求web页的必须信息并通过HTTP响应返回给浏览器,浏览器再将信息进行解释然后将web页显示给用户,最后TCP连接释放。因此HTTP有两类报文:请求报文(从外部客户端向web服务器发送服务请求)和响应报文(从外部服务器对外部客户端请求的回答)
以清华大学网站为例:1、浏览器分析链接指向页面的URL。2、浏览器向DNS请求解析www.tsinghua.edu.cn的IP地址。3、域名系统DNS解析出清华大学服务器的IP地址。4、浏览器与该服务器建立TCP连接默认端口80。 5、浏览器发出HTTP请求get /chn /index.htm。6、服务器通过HTTP请求响应把文件index.htm发送给浏览器。7、释放TCP连接。8、浏览器解释文件index.htm并将web页显示给用户。
HTTP使用TCP作为运输层协议,保证数据的可靠传输,但HTTP本身是无连接的。虽然HTTP使用了TCP链接但通信双方在交换HTTP报文之前是不需要建立HTTP链接。HTTP是无状态,HTTP既可以使用非持久连接也可以使用持久连接。持久链接又分为非流水线和流水线两种方式。HTTP/1.1默认的方式是使用流水线的持久链接,在这种情况下客户对遇到的每个对象引用就立即发送一个请求,因此客户可以逐个地连续地发送对各个引用对象的请求,这种情况减少了TCP链接中的空闲时间提高了效率。
HTTP请求报文中常用的几个方法:GET:请求读取由URL标识的信息;HEAD请求读取由URL标识的信息的首部;POST:给服务器添加信息如注释;CONNECT:用于代理服务器。
在这里插入图片描述

下一章 第七章 网络安全

第七章 网络安全

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

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

相关文章

(一)MySQL-架构

一、MySQL逻辑架构 中间是MySQL的核心服务&#xff0c;包括查询分析、优化、缓存及所有的内置函数(日期、时间、数据等)&#xff0c;所有跨存储的引擎的功能都在这一层实现&#xff1a;存储过程、触发器、视图等。 存储引擎负责MySQL中的存储和提取。服务器通过A…

数字孪生与智慧城市:开启未来智慧生活

在数字时代的浪潮中&#xff0c;数字孪生技术和智慧城市的理念相互交织&#xff0c;共同塑造了一个更智能、更可持续、更宜居的未来。数字孪生是一项前沿技术&#xff0c;将虚拟世界与现实世界相融合&#xff0c;为城市管理者和市民带来了前所未有的机遇和便捷。 数字孪生模型是…

AD原理图如何转换为OrCAD原理图?

在电子工程领域&#xff0c;原理图是用于描述电路设计的重要工具&#xff0c;虽然Altium Designer&#xff08;AD&#xff09;和OrCAD都是广泛使用的原理图绘制工具&#xff0c;但他们之间存在一定的差异&#xff0c;因此如果你遇见了需要将AD原理图转为OrCAD原理图&#xff0c…

C语言数据结构之链表

目录 顺序存储和链式存储 数组—顺序存储 链表—链式存储 单链表 单链表的基本设计 单链表概念&设计 单链表的基本操作 双向链表 双向链表的基本设计 双向链表的基本操作 循环链表 循环链表的介绍及创建 循环链表的基本操作 顺序存储和链式存储 数组—顺序存…

计算机操作系统重点概念整理-第五章 文件管理【期末复习|考研复习】

第五章 文件管理 【期末复习|考研复习】 计算机操作系统系列文章传送门&#xff1a; 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 文章目录 第五章 文件管理 【期末复习|考研复习】前言五、文件管理5.1 文…

iOS Xcode15 适配:Other Linker Flags:-ld_classic

0x00 适配是一条没有尽头的路 Xcode 14 毛问题都没有&#xff0c;Xcode 15 崩溃 看图说话 0x01 解决方案 Other Linker Flags 添加 -ld_classic 即可 0x02 我的小作品 欢迎体验我的作品之一&#xff1a;小挑战-XGame 拼图游戏&#xff0c;渐变色游戏&#xff0c;经典24点游…

中南林业科技大学javaweb实验报告

文章目录 &#x1f4cd; 前置说明实验一 Web服务器开发环境配置一、实验目的二、实验内容三、实验步骤3.1 JDK 的安装与配置3.2 IDEA 中配置 Tomcat3.3 创建 Web 工程3.4 配置 web 工程3.5 运行服务3.6 乱码的解决 四、实验心得 实验二 HTML和Javascript的应用一、实验目的二、…

AI 浪潮下的创业故事(二)|Azure OpenAI Service - ChatU

点击蓝字 关注我们 编辑&#xff1a;Alan Wang 排版&#xff1a;Rani Sun 微软 Reactor 为帮助广开发者&#xff0c;技术爱好者&#xff0c;更好的学习 .NET Core, C#, Python&#xff0c;数据科学&#xff0c;机器学习&#xff0c;AI&#xff0c;区块链, IoT 等技术&#xff0…

vue3 源码解析(2)— ref、toRef、toRefs、shallowRef 响应式的实现

前言 vue3 源码解析&#xff08;1&#xff09;— reactive 响应式实现 介绍完 reactive 之后还有另一个很重要的响应式API&#xff0c;其中包括 ref、toRef、toRefs 和 shallowRef。这些API在vue3中起着至关重要的作用&#xff0c;它们帮助我们更好地管理和跟踪响应式数据的变…

【数据结构】搜索树 与 Java集合框架中的Set,Map

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力…

C# OpenCvSharp Yolov8 Face Landmarks 人脸特征检测

效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace OpenCvSharp_Yolov8_Demo {public partial class frmMain…

C++数据结构X篇_25_堆排序(不稳定的排序)

本篇根据十大经典排序算法-堆排序算法详解进行整理和补充。 文章目录 1. 基础知识点1.1 完全二叉树1.2 堆的基础知识 2. 堆排序2.1 什么是堆排序2.2 算法原理2.2.1 理解方法12.2.2 理解方法2 2.3 算法实现 3. 堆排序算法特点3.1 时间复杂度3.2 空间复杂度3.3 稳定性 1. 基础知…

深度学习| U-Net网络

U-Net网络 基础知识和CNN的关系反卷积ReLU激活函数 U-Net入门U-Net网络结构图为什么需要跳跃连接U-Net的输入U-Net的应用 基础知识 理解U-Net网络结构需要相关知识点。 和CNN的关系 U-Net也是CNN&#xff08;Convolutional Neural Network&#xff0c;卷积神经网络&#xff…

网络架构学习1

文章目录 网络架构学习11. 传统CNN卷积神经网络1.1 基本思想1.2 VCG16(经典CNN网络架构之一) 2. 两种经典的网络架构2.1 FCN网络2.2 U-Net网络 3. FCNVMB(基于U-Net架构)3.1 FCNVMB 主要思想3.2 FCNVMB 提供的其他思想 网络架构学习1 1. 传统CNN卷积神经网络 1.1 基本思想 C…

Android SurfaceFlinger做Layer合成时,如何与HAL层进行交互

目录 零、本文讨论问题的范围一、问题&#xff1a;SurfaceFlinger图层合成选择实现方式的两难1.1 从OpenGL ES、HWC本身来讲1.2 以HWC为主导的判断逻辑 二、SurfaceFlinger与HAL层进行交互的具体实现框架2.1 SurfaceFlinger 调用 OpenGL ES 流程2.2 FrameBuffer2.3 SurfaceFlin…

c语言从入门到实战——数组

数组 前言1. 数组的概念2. 一维数组的创建和初始化2.1 数组创建2.2 数组的初始化2.3 数组的类型 3. 一维数组的使用3.1 数组下标3.2 数组元素的打印3.3 数组的输入 4. 一维数组在内存中的存储5. sizeof计算数组元素个数6. 二维数组的创建6.1 二维数组得概念6.2 二维数组的创建 …

Java集成腾讯云OCR身份证识别接口

一、背景 项目用到身份证识别获取人员信息的功能&#xff0c;于是想到了腾讯云提供这样的API。在整合代码过程都很顺利&#xff0c;利用腾讯云官方SDK很快集成进来。但是在上测试环境部署时有了新的问题&#xff0c;通过Nginx代理后的环境无法访问到目标腾讯云接口&#xff0c;…

buuctf_练[CSCCTF 2019 Qual]FlaskLight

[CSCCTF 2019 Qual]FlaskLight 文章目录 [CSCCTF 2019 Qual]FlaskLight掌握知识解题思路关键paylaod 掌握知识 内置函数的过滤&#xff0c;globals变量的过滤&#xff0c;调用内部变量或函数的OS函数进行命令执行 解题思路 打开题目链接&#xff0c;很明显看标题和内容是fla…

【动态基础】从暴力递归到动态规划

C面经汇总 系列综述&#xff1a; 目的&#xff1a;本系列是个人整理为了秋招和实习面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡背诵量与深入程度。 来源&#xff1a;材料主要源于算法大神&#xff08;左程云&#xff09;教你从暴力递归到动态规划进行的&#xf…

vue实现连接线

效果展示 实现代码 下载插件npm install --save leader-line-vue <template><div class"wrap"><div ref"start" class"start">start</div><div ref"end" class"end">end</div></d…