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

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

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


文章目录

  • 第六章 应用层 【期末复习|考研复习】
  • 前言
  • 六、应用层
    • 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:用于代理服务器。
在这里插入图片描述

下一章 第七章 网络安全

第七章 网络安全

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

爬取抖音用户的个人基本信息

今年夏季&#xff0c;大概七八月份&#xff0c;刀郎开通抖音账号&#xff0c;并在抖音上发布多首作品&#xff0c;一时之间其热度暴涨&#xff0c;其粉丝也是与日俱增。 有人为了蹭热度&#xff0c;直播刀郎粉丝的实时变化情况&#xff0c;直播热度最高的时候同时几千人在线观…

HttpClient远程使用大全

一 HttpClient简介 1.1 概述 HttpClient只能以编程的方式通过其API用于传输和接受HTTP消息。主要实现功能&#xff1a; 实现了所有 HTTP 的方法&#xff08;GET、POST、PUT、HEAD、DELETE、HEAD、OPTIONS 等&#xff09; 支持 HTTPS 协议 支持代理服务器&#xff08;Nginx…

AS/400简介

AS400 AS400 简介AS/400操作系统演示 AS400 简介 在 AS400 中&#xff0c;AS代表“应用系统”。它是多用户、多任务和非常安全的系统&#xff0c;因此用于需要同时存储和处理敏感数据的行业。它最适合中级行业&#xff0c;因此用于制药行业、银行、商场、医院管理、制造业、分销…

Web APIs——事件流

一、事件流 1.1 事件流与两个阶段说明 事件流指的是事件完整执行过程中的流动路径 说明&#xff1a;假设页面里有个div&#xff0c;当触发事件时&#xff0c;会经历两个阶段&#xff0c;分别是捕获阶段、冒泡阶段 简单来说&#xff1a;捕获阶段是 从父到子 冒泡阶段是从子到父…

Linux网络编程01

网络层级 协议 协议&#xff1a;两个对等实体对通话内容的约定&#xff0c;一个协议是对应收发双方相同层级的 常见的协议 应用层&#xff08;公开协议&#xff09;&#xff1a; http协议&#xff08;浏览网页&#xff09;&#xff1b;客户端&#xff08;浏览器&#xff09;发…

【206.反转链表】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:ListNode* reverseList(ListNode* head) {if(headnullptr) return nullptr;if(head->nextnullptr) return head;ListNode* newheadreverseList(head->next)…

一款功能强大的iOS设备管理软件Mazing 3中文版免费2024最新下载

Mazing 3中文版是一款功能强大的iOS设备管理软件&#xff0c;它可以帮助用户备份和管理他们的iPhone、iPad或iPod Touch上的数据。除此之外&#xff0c;它还可以将备份数据转移到新的设备中、管理应用程序、导入和导出媒体文件等。本文将详细介绍iMazing的功能和安全性&#xf…

Unity URP14.0 自定义后处理框架

目录 碎碎念一些基础CustomPostProcessing.csCustomPostProcessingFeature.csCustomPostProcessingPass.cs例子&#xff1a;BSC后处理shader&#xff08;BSC&#xff09;后处理cs脚本(BSC) 例子&#xff1a;ColorBlitPostProcessing.hlslColorBlit2.shaderColorBlit.cs文件 其他…

震惊! 全方位解释在测试眼里,什么是需求?为什么要有需求?深入理解需求——图文并茂,生活举例,简单好理解

1、什么是需求&#xff1f; 需求定义(官方) 满足用户期望或正式规定文档&#xff08;合同、标准、规范&#xff09;所具有的条件和权能&#xff0c;包含用户需求和软件需求 用户需求&#xff1a;可以简单理解为甲方提出的需求&#xff0c;如果没有甲方&#xff0c;那么就是终端…

计算机网络【CN】子网划分与子网掩码

一个子网定义(X.X.X.X/n) 子网掩码为 n 个 1&#xff0c;32-n 个 0包含的 IP 地址数&#xff1a;232−n 主机号全 0 表示本网段主机号全 1 表示网段的广播地址可分配的 IP 地址数 :232−&#x1d45b;−2 子网划分原则 满足子网定义子网&#x1d434;1…&#x1d434;&#x…

FlutterUnit 周边 | 收录排序算法可视化

theme: cyanosis 1. FlutterUnit 更新&#xff1a;排序算法可视化 排序算法可视化是用视图层表现出算法执行过程中排序的过程&#xff0c;感谢 编程的平行世界 在 《十几种排序算法的可视化效果&#xff0c;快来看看&#xff01;&#x1f440;》》 一文中提供的算法支持。我进行…

H5游戏分享-烟花效果

<!DOCTYPE html> <html dir"ltr" lang"zh-CN"> <head> <meta charset"UTF-8" /> <meta name"viewport" content"widthdevice-width" /> <title>点击夜空欣赏烟花</title> <sc…

git学习笔记-发现问题如何恢复

1.概要 git总出各种问题&#xff0c;不清楚原因。所以准备了解的跟深入些。本来的理解是这样的: 下载我就pull 修改完就 commit然后push 怎么会有问题的&#xff0c;结果还总有。 既然问题无法避免&#xff0c;那就提高解决问题和恢复问题的能力。如果问题能够恢复就没有什…

Java之数据类型与变量

目录 1. 字面常量 2. 数据类型 3. 变量 3.1 变量概念 3.2 语法格式 3.3 整型变量 3.3.1 整型变量 3.3.2 长整型变量 3.3.3 短整型变量 3.3.4 字节型变量 3.4 浮点型变量 3.4.1 双精度浮点型 3.4.2 单精度浮点型 3.5 字符型变量 3.6 布尔型变量 3.7 类型转换 3.7…

IOC课程整理-18 Spring注解

1. Spring 注解驱动编程发展历程 2. Spring 核心注解场景分类 3. Spring 注解编程模型 https://github.com/spring-projects/spring-framework/wiki/Spring-Annotation-Programming-Model 4. Spring 元注解&#xff08;Meta-Annotations&#xff09; 元注解&#xff08;Meta-A…

UE4 体积云制作 学习笔记

首先Noise本来就是一张噪点图 云的扰动不能太大&#xff0c;将Scale调小&#xff0c;并将InputMin调整为0 形成这样一张扰动图 扰动需要根据材质在世界的位置进行调整&#xff0c;所以Position需要加上WorldPosition 材质在不同世界位置&#xff0c;噪点不同 除以一个数&#…

ETCD备份与恢复

文章目录 主要内容一.备份1.先安装etcd客户端代码如下&#xff08;示例&#xff09;: 2.备份成文件并查看代码如下&#xff08;示例&#xff09;: 3.解释 二.恢复1.先停止服务代码如下&#xff08;示例&#xff09;: 2.删除现有ETCD&#xff0c;并恢复数据代码如下&#xff08;…

前端 读取/导入 Excel文档

情况&#xff1a; 需要通过Excel表&#xff0c;将数据导入到数据库&#xff0c;但是后台人员出差了&#xff0c;我又只会PHP&#xff0c;没用过node&#xff0c;所以只能前端导入Excel文件&#xff0c;然后循环调用后台的单条添加接口了。 库&#xff1a; Excel.js&#xff08…

MySQL 约束条件,关键字练习,其他语句

创建表的完整语法 create table t1( id int, name varchar(43), age int ); create table 库名.表名( 字段名1 数据类型 约束条件 约束条件 约束条件 约束条件, 字段名2 数据类型 约束条件 约束条件 约束条件 约束条件, 字段名3 数据类型 约束条件 约束…

NPM【问题 01】npm i node-sass@4.14.1报错not found: python2及Cannot download问题处理

node-sass安装问题处理 1.问题2.处理2.1 方案一【我的环境失败】2.2 方案二【成功】2.3 方案三【成功】 1.问题 gyp verb which failed Error: not found: python2 # 1.添加Python27的安装路径到环境变量 gyp verb check python checking for Python executable "python…