王道计算机网络 应用层整理 超详细版

应用层概述

应用层对应用程序的通信提供服务。

应用层协议定义:

  • 应用进程交换的报文类型(请求/响应)

  • 各种报文类型的语法,如报文中的各个字段及其详细描述。

  • 字段的语义,即包含在字段中的信息的含义。

  • 进程何时、如何发送报文,以及对报文进行响应的规则。

应用层的功能:文件传输、访问和管理;电子邮件;虚拟终端;查询服务和远程作业登录

应用层的重要协议:FTP、SMTP、POP3、DNS


网络应用模型

客户/服务器模型(Client/Server)

服务器:提供计算服务的设备。

​ 1、永久提供服务。

​ 2、永久性访问地址/域名。

客户机:请求计算服务的主机。

​ 1、与服务器通信,使用服务器提供的服务。

​ 2、间歇性接入网络。

​ 3、可能使用动态IP地址。

​ 4、不与其他客户机直接通信。

应用:Web、文件传输FTP、远程登录、电子邮件。

P2P模型(Peer-to-peer)

不存在永远在线的服务器

每个主机既可以提供服务,也可以请求服务。

任意端系统/结点之间可以直接通讯。

结点间歇性接入网络。

结点可能改变IP地址。

可拓展性好,网络健壮性强。


DNS 域名系统

Domain Name System

DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用 53 号端口。

域名

级别最低的域名写在最左边,级别最高的顶级域名写在最右边。

顶级域名(Top Level Domain,TLD)

1、国家顶级域名。国家和某些地区的域名,如“.cn”表示中国,“.us”表示美国。

2、通用顶级域名。常见的有“.com”(公司)、“.net”(网络服务机构)、“.org”(非营利性组织)和“.gov”(国家或政府部门)等。

3、基础结构域名。这种域名只有一个,即 arpa,用于反向域名解析,因此又称反向域名。

DNS服务器

根域名服务器

最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址。

不管是哪个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先要求助于根域名服务器。

因特网上有 13 个根域名服务器。

通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器。

顶级域名服务器

负责管理在该顶级域名服务器注册的所有二级域名。

权限域名服务器

每台主机都必须在权限域名服务器处等登记。

权限域名服务器总能将其管辖的主机名转换为该主机的IP地址。

本地域名服务器

当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。


域名解析过程(递归查询&迭代查询)

域名解析是指把域名映射成为 IP 地址或把 IP 地址映射成域名的过程。

前者称为正向解析,后者称为反向解析

为了提高DNS的查询效率,在域名服务器中广泛使用了高速缓存


文件传输协议 FTP

文件传送协议(File Transfer Protocol):提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力

FTP 是基于客户/服务器(C/S)的协议,使用TCP可靠的传输服务。

用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。

依照FTP协议提供服务,进行文件传送的计算机就是 FTP服务器

连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端

FTP工作原理

FTP服务器进程由两大部分组成:一个主进程负责接收新的请求;另外有若干从属进程负责处理单个请求

工作步骤如下:

1、打开熟知端口 21 (控制端口),使客户进程能够连接上。

2、等待客户进程发连接请求。

3、启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。

4、回到等待状态,继续接收其他客户进程的请求。

控制连接和数据连接

FTP在工作时使用两个并行的TCP连接:一个是控制连接端口号21),一个是数据连接端口号20)。

控制进程和数据传送进程都属于从属进程。

  • 控制连接在整个会话期间一直保持打开状态。

  • 数据连接在文件传送完毕之后会关闭。

数据连接有两种传输模式:主动模式 PORT 被动模式 PASV

主动方式使用 TCP 20端口,被动方式由服务器和客户端自行协商决定(端口 > 1024)。


电子邮件

电子邮件系统的组成结构

1、用户代理(User Agent,UA)

用户与电子邮件系统的接口

用户代理向用户提供一个很友好的接口来发送和接收邮件。

用户代理应当具有撰写显示邮件处理的功能。

通常情况下,用户代理是一个运行在PC上的程序,常见的有 Outlook、Foxmail。

2、邮件服务器

发送和接收文件,同时向发信人报告邮件传送的情况。

采用客户/服务器方式工作,必须能够同时充当客户和服务器。

3、邮件发送协议和读取协议

邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP。

邮件读取协议用于用户代理从邮件服务器读取邮件,如POP3。

电子邮件格式

多用途网际邮件扩充 MIME

由于SMTP只能传送一定长度的 ASCII 码,许多其他非英语国家的文字就无法传送,且无法传送可执行文件及其他二进制对象,因此提出了 多用途网络邮件扩充 MIME

MIME 继续使用SMTP的格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则

使电子邮件系统可以支持声音、图像、视频多种国家语言。

主要包括以下三部分:

1、5个新的邮件首部字段,包括 MIME 版本、内容描述、内容表示、传送编码和内容类型。

2、定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。

3、定义了传送编码,可对任何内容格式进行了转换,而不会被邮件系统改变。

SMTP

简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)是一种提供可靠且有效的电子邮件传输的协议。

规定了在两个相互通信的SMTP进程之间应如何交换信息。

负责发送邮件的SMTP进程就是SMTP客户负责接收邮件的进程就是SMTP服务器

SMTP使用TCP连接,端口号为25

SMTP通信有以下三个阶段:1、连接建立 2、邮件传送 3、连接释放

SMTP的缺点:

1、SMTP不能传送可执行文件或者其他二进制对象。

2、SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。

3、SMTP服务器会拒绝超过一定长度的邮件。

POP3

邮局协议(Post Office Protocol,POP)是一个非常简单但功能有限的邮件读取协议。

POP 使用客户/服务器的工作方式,在传输层使用TCP,端口号为110

两种工作方式:1、下载并保留(在服务器)2、下载并删除。

因特网报文存取协议 IMAP

基于万维网的电子邮件


万维网(WWW)

万维网(World Wide Web,WWW)是一个分布式的、联机式的信息存储空间,

在这个空间中:一样有用的事物称为一样 “资源”,并由一个全域“统一资源定位符”(URL)标识。

用户通过点击超链接(http://www.baidu.com)获取资源,这些资源通过“超文本传输协议(HTTP)传送给使用者。

万维网以“客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。

万维网使用超文本标记语言 HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。

超文本传输协议HTTP

HTTP协议的特点:

1、HTTP是无状态的

2、HTTP采用TCP作为传输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)。

3、HTTP的连接方式分为持久连接(流水线、非流水线)【HTTP/1.1支持】和 非持久连接

对于非持久连接

每个网页元素对象的传输都需要单独建立一个TCP连接

请求一个万维网文档所需的时间是该文档的传输时间加上两倍往返时间RTT(一个RTT用于TCP连接,另一个RTT用于请求和接收文档)。

每个对象引用都导致 2xRTT的开销,此外每次建立新的TCP连接都要分配缓存和变量,使万维网服务器的负担很重。

对于持久连接

指万维网服务器在发送响应后仍然保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求和响应报文。

对于非流水线方式,客户在收到前一个响应后才能发出下一个请求,服务器发送完一个对象后,其TCP连接就处于空闲状态,浪费了服务器资源。

HTTP/1.1的默认方式是使用流水线的持久连接,这种情况下,客户每遇到一个对象引用就立即发出一个请求,因而客户可以逐个地连续发出对各个引用对象的请求。所有引用的对象共计经历1个RTT延迟,提高效率。

HTTP的报文结构

HTTP是面向文本的,因此报文种的每个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。

  • 请求报文:从客户向服务器发送的请求报文。
  • 响应报文:从服务器到客户的回答。

CR表示回车,LF表示换行。

状态码:

1xx表示通知信息的,如请求收到了或正在处理。

2xx表示成功,如接受或知道了。

3xx表示重定向,如要完成请求还必须采取进一步的行动。

4xx表示客户的差错,如请求中有错误的语法或不能完成。

en">响应报文:从服务器到客户的回答。

CR表示回车,LF表示换行。

状态码:

1xx表示通知信息的,如请求收到了或正在处理。

2xx表示成功,如接受或知道了。

3xx表示重定向,如要完成请求还必须采取进一步的行动。

4xx表示客户的差错,如请求中有错误的语法或不能完成。

5xx表示服务器的差错,如服务器失效无法完成请求。

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

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

相关文章

Facebook正式改名Meta,一个元宇宙新纪元由此开始

All in Metaverse,扎克伯格豪赌一个未来。来源:硅星人文:Juny 编辑:Lianzi美西时间早上7点,硅谷的天刚蒙蒙亮。Facebook硅谷总部前公司标志牌被蒙上了一层幕布。工作人员在标志牌前拉起了屏障,静静等待着…

计算机网络——标准化工作及相关组织

1.标准的分类 \qquad法定标准:由权威机构制定的,正式的,合法的标准,比如OSI标准;事实标准:某些强势产品在经过时间之后,这些产品的协议和技术就成为了标准,比如TCP/IP协议。 2.标准…

AI学会灌水和造假!Google新研究揭露了AI现实应用的陷阱

来源:Google AI、新智元作者:Alex DAmour、atherine Heller今天,机器学习(ML)模型得到了大规模的使用,而且影响力也越来越大。然而,当它们被用于现实世界的领域时,往往表现出意想不到…

Vue封装下拉框组件时,为document绑定原生事件addEventlistener(click“),切换页面之后事件还未被摧毁...

1 <script>2 export default {3 props: ["lists"],4 data() {5 return {6 isactive: false,7 actveName: "",8 selContent: "请选择"9 }; 10 }, 11 mounted() { 12 console.log("我被创建了&q…

查找算法详解

1、查找的基本概念 查找也即检索。 文件&#xff1a;由记录组成的集合&#xff0c;即含有大量数据的元素线性组合而成。 记录&#xff1a;由若干数据项组成的数据元素&#xff0c;这些数据项也常称作记录中的数据域&#xff0c;用以表示某个状态的物理意义。 关键字&#xff1…

高文院士:中国在AI领域有哪些长板和短板

10月25日&#xff0c;在第四届世界声博会暨2021科大讯飞全球1024开发者节上&#xff0c;中国工程院院士高文通过线上方式发表演讲来源&#xff1a;笑看国际风云、央广网、集微网、中国科学报10月25日&#xff0c;第四届世界声博会暨2021科大讯飞全球1024开发者节在安徽合肥开幕…

SpringBoot学习笔记(16)----SpringBoot整合Swagger2

Swagger 是一个规范和完整的框架&#xff0c;用于生成&#xff0c;描述&#xff0c;调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是一个开源的API doc框架&#xff0c;可以将我们的Controller接口的方法以文档的形式展现&#xff…

Jeff Dean亲自揭秘谷歌下一代AI架构:通用、稀疏且高效,网友不买帐:毫无新意...

来源&#xff1a;机器之心在这波 AI 浪潮中&#xff0c;人工智能技术经过十几年的爆发式发展&#xff0c;已经在各个领域有着极为广泛的应用&#xff0c;如医疗、科学研究、汽车等。但是随着技术发展的缓慢&#xff0c;以深度学习为代表的人工智能技术瓶颈开始凸显。今年 8 月份…

排序算法笔记(Java)

package datastructure;import java.util.Arrays; import java.util.Scanner;public class Sort {static int len; //声明全局变量&#xff0c;用于记录arr的长度public static void main(String[] args) {Scanner sc new Scanner(System.in);String str sc.nextLine();Strin…

计算机网络——时延、时延带宽积、RTT和利用率

1.什么是时延 \qquad数据&#xff08;报文/分组/比特流&#xff09;从网络的一端传送到网络另外一端所需的时间。也叫延迟或者迟延&#xff0c;单位是s 2.时延的种类 2.1 发送时延&#xff08;传输时延&#xff09; \qquad从发送分组的第一个比特算起&#xff0c;到该分组的最…

强人工智能与泛心论

来源&#xff1a;哲社院后台原载于《科学经济社会》2021年第39卷第3期第52~59页作者简介&#xff1a;陈敬坤&#xff0c;1981年1月生。哲学博士&#xff0c;山西大学哲学社会学学院副教授&#xff0c;曾赴比利时布鲁塞尔自由大学、美国匹兹堡大学等作学术访问。研究领域主要为心…

第一章 Linux是什么

Linux是核心与系统调用接口两层中间的操作系统不同硬件的功能函数并不相同&#xff0c;IBM的Power CPU与Inter的x86架构不同&#xff0c;所以同一套操作系统是不能在不同的硬件平台上面运行的。也就是说&#xff0c;每种操作系统都是在他专门的硬件机器上面运行的。不过&#x…

计算机网络——分层结构,协议,接口和服务

1.为什么要分层&#xff1f; \qquad当有两台主机&#xff0c;A向B通过网络发送文件&#xff0c;在发送文件前需要完成这么几件事情&#xff1a;1&#xff09;A必须将数据通信的通路进行激活&#xff1b;2&#xff09;要告诉网络如何识别目的主机B&#xff1b;3&#xff09;A要查…

官宣!全球首富马斯克:创办这所“新大学”!

埃隆马斯克&#xff08;Elon Musk&#xff09;是特斯拉和SpaceX的创始人兼首席执行官。来源&#xff1a;青塔编辑&#xff1a;nhyilin美国《福布斯》杂志10月26日称&#xff0c;得益于特斯拉股价大涨&#xff0c;特斯拉CEO埃隆马斯克的财富跃升至近3000亿美元&#xff0c;不仅是…

“传统”遥感遇上AI,会产生怎样的效果?

来源&#xff1a;微信公众号人民网责编&#xff1a;翟巧红编辑&#xff1a;张素玲&#xff1b;作者&#xff1a;龚健雅 中国科学院院士、武汉大学教授&#xff1b;新一轮科技革命和产业变革的大幕早已掀开。作为全球科技竞争的制高点&#xff0c;人工智能已经成为世界主要国家推…

记录一次双系统安装

条件 1、U盘 2、UltraISO软件 官网 3、ISO镜像 ubuntu官网 压缩卷&#xff0c;获得空闲空间安装ubuntu 1、点击winx&#xff0c;进入磁盘管理&#xff0c;选择一个空间够大的硬盘进行分区 2、选择你要压缩的卷&#xff0c;比如D盘&#xff0c;右击&#xff0c;压缩卷&#xff0…

操作系统 —— 内存管理

目录一、思维导图二、内存的基础知识2.1 什么是内存&#xff1f;2.2 存储单元2.3 逻辑地址和物理地址2.4 编译、链接、装入2.4.1 编译2.4.2 链接链接的三种方式 :2.4.3 装入装入的三种方式:三、内存保护四、内存空间的扩充4.1 覆盖与交换4.1.1 覆盖技术4.1.2 交换技术4.2 虚拟内…

【前沿技术】10年内,19个关键技术将改变世界

来源&#xff1a;智能研究院据国外媒体报道&#xff0c;从无人驾驶汽车到机器人工人&#xff0c;在我们熟悉所有这一切之前&#xff0c;未来正迎面走来。根据世界经济论坛全球议程理事会关于《未来软件与社会》的一份报告&#xff0c;到2025年前&#xff0c;很多新兴技术将会达…

计算机网络——TCP/IP参考模型和五层参考模型

1.OSI参考模型和TCP/IP参考模型的对比 \qquad相同点&#xff1a;1)都分层&#xff1b;2&#xff09;都是基于独立的协议栈的概念 &#xff1b;3&#xff09;可以实现异构网络的互联 \qquad不同点&#xff1a;1&#xff09;OSI定义了三点&#xff1a;服务&#xff0c;协议和接口…

Github+docsify打造在线文档网站

写在前面 搭建这个在线文档的目的是方便自己对学习笔记的查看&#xff0c;比较喜欢 docsify 的主题风格&#xff0c;所以没有用 Github Pages 直接给的主题&#xff0c;自己根据官方文档进行了配置&#xff0c;目前已经成功上线。 1 效果图 可直接访问&#xff1a;https://x…