-
2022-03-02 17:38:20
网络应用是计算机网络存在的理由,一批早起的网络应用主要有电子邮件、远程访问、文件传输等,但是随着计算机网络的发展和人类无穷无尽的需求,越来越多的网络应用被开发出来,例如即时通讯和对等(P2P)文件共享,IP电话、视频会议等。
应用层为用户提供服务,通信是由逻辑连接提供的,这意味着两个应用层假设存在一个假想的直接连接。
标准与非标准
由于应用层是唯一向因特网用户提供服务的层次,所以新的应用协议能够轻松地加入因特网。应用层协议既可以标准化,也可以非标准化。
每个标准协议是一对程序,他们与用户和传输层进行交互。
一个私人公司可以创建一种新的定制非标准应用协议,来和遍布全球的办公室进行通信,公司使用TCP/IP协议簇前4层提供的服务,但不使用任何一个标准应用程序。
应用层模式:客户-服务器模式和对等模式
两个应用程序在应用层彼此交互,根据它们的功能,可以分为客户-服务器模式和对等模式。首先简单介绍一下这两种模式。
传统模式:客户-服务器模式
在这种模式中,服务提供者是一个称为服务进程的应用程序,它不断运行着,等待另一个称为客户进程的应用程序通过因特网建立连接并请求服务。
新模式:对等模式
在这种模式下,不需要一个不断运行且等待客户进程连接的服务器进程,责任在对等点之间分担。计算机可以在这次提供服务,却在下一次接受服务。
更多相关内容 -
计算机网络应用层详解
2022-01-20 19:55:03计算机网络应用层详解。本篇文章主要介绍了计算机网络应用体系结构、网络应用通信基本原理、域名系统(DNS)、万维网应用、Internet电子邮件、FTP、P2P应用、Socket编程基础。文章目录
一、计算机网络应用体系结构
三种类型:
-
客户/服务器(C/S)结构
最主要的特征是通信只在客户与服务器之间进行,客户与客户之间不进行直接通信。客户端发起请求,服务器端回应请求。
-
P2P(Peer to Peer)结构
每个对等端都同时具备C/S应用的客户与服务器的特征,是一个服务器与客户的结合体,对等端之间直接通信。
-
混合结构
既有中心服务器的存在,又有对等端(客户)间的直接通信。
二、网络应用通信基本原理
C/S通信基本原理:服务器端运行的是服务器进程,被动地等待客户请求服务;客户端运行的是客户进程,主动发起通信,请求服务器进程提供服务。应用进程间遵循应用层协议交换应用层报文。
三、域名系统(DNS)
1. 域名系统的基本概念
域名系统:是互联网使用的命名系统。它用来把人们使用的机器名字(域名)转换为 IP 地址。域名系统为为互联网的各种网络应用提供了核心服务。
层次树状结构的命名方法:
-
国家顶级域名nTLD;
每个域名代表一个国家的主机。
-
通用顶级域名gTLD;
表示某一类型机构或者组织的所有主机的域名。
-
基础结构域名。
只有一个域名arpa,用于反向域名解析,又称为反向域名。
域名的划分:
- 一个服务器所负责管辖的(或有权限的)范围叫做区。
- 各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。
- 每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。
- DNS服务器的管辖范围不是以“域”为单位, 而是以“区”为单位。
2. 域名服务器
-
域名解析
将域名映射为IP地址的过程。
-
域名服务器
为了实现域名解析,需要建立分布式数据库,存储网络中域名与IP地址的映射关系数据,这些数据库存储在域名服务器上,域名服务器根据用户的请求提供域名解析服务。
-
域名服务器的分类:
(1)根域名服务器
- 最高层次,最为重要。所有根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。若所有的根域名服务器都瘫痪了,整个互联网中的DNS系统就无法工作了。
- 根域名服务器共有13套装置,构成13组根域名服务器。根域名服务器总共只有13个不同IP地址的域名,但并非仅由13台机器所组成。
- 根域名服务器分布在全世界。为了提供更可靠的服务,在每一个地点的根域名服务器往往由多台机器组成。根域名服务器采用任播技术,当DNS客户向某个根域名服务器发出查询报文时,路由器能找到离这个DNS客户最近的一个根域名服务器。
- 根域名服务器并不直接把域名转换成 IP 地址(根域名服务器也没有存放这种信息),而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
(2)顶级域名服务器
- 负责管理在该顶级域名服务器注册的所有二级域名。
- 当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)。
(3)权限域名服务器
- 负责一个区的域名服务器。
- 当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。
(4)本地域名服务器
- 非常重要。
- 当一个主机发出DNS查询请求时,该查询请求报文就发送给本地域名服务器。
- 每一个互联网服务提供者ISP或一个大学,都可以拥有一个本地域名服务器。
- 当所要查询的主机也属于同一个本地ISP时,该本地域名服务器立即就能将所查询的主机名转换为它的IP地址,而不需要再去询问其他的域名服务器。
- 本地域名服务器有时也称为默认域名服务器。
3. 域名解析过程
-
递归查询
代替查询主机或其他域名服务器,进行进一步的域名查询,并将最终解析结果发送给查询主机或服务器。
-
迭代查询
只是将下一步要查询的服务器告知查询主机或服务器,本地域名服务器继续后续查询。
举例:
-
递归查询:这种查询方式,根域名服务器负载过大,所以较少使用。
-
迭代查询
四、万维网应用
1. 万维网应用结构
-
Web服务器
所有的网页资源存储在Web服务器上。
-
浏览器
客户机上运行浏览器程序。
-
超文本传输协议(HTTP)
客户浏览网页资源通过超文本传输协议实现。
客户浏览网页的过程:
-
客户机向Web服务器发起TCP连接;
-
客户机上的浏览器程序根据要访问的页面的网址,发出HTTP请求报文;
HTTP报文中包含URL(统一资源定位器),即我们通常所说的网址,互联网上的所有资源都有一个唯一的URL。网页超链接中包含URL的信息,当我们点击网页上的一个超链接时,HTTP的请求报文会把URL携带在报文当中,发送给服务器。
-
报文发送到服务器,服务器根据URL找到相应的网页资源,网页资源使用HTML语言编写
-
网页资源作为HTTP报文的响应信息反回给浏览器
-
浏览器收到HTML语言的网页资源后,进行解释,以一定的格式显示在浏览器当中,呈现给客户。
2. HTTP
-
概念:超文本传输协议,定义浏览器如何向Web服务器发送请求,以及Web服务器如何向浏览器进行响应。
-
版本:HTTP/1.0和HTTP/1.1
-
HTTP连接:在通信过程中,HTTP采用了两种连接,非持久连接和持久连接。
假设用户在浏览器中输入了URL地址
http://www.abc.edu.cn/cs/index.html
,请求浏览一个引用3个JPEG小图像的web页面。如果基于默认模式的HTTP/1.0,则从用户请求index.html页面开始,到接收到完整的内容为止,请求传输过程如图下所示。如果基于持久连接,请求传输过程如图下所示。注意:持久连接方式会使服务器的压力比较大。
-
HTTP报文
-
请求报文 – 从客户向服务器发送请求报文。格式如下:
HTTP典型的请求方法有GET、HEAD、POST、OPTION、PUT等。
- GET:请求读取由URL所标识的信息。
- HEAD:请求读取由URL所标识的信息的首部,无须在响应报文中包含对象。
- POST:给服务器添加信息(例如,注释)。
- OPTION:请求一些选项的信息。
- PUT:在指明的URL下存储一个文档。
-
响应报文 – 从服务器到客户的回答。
HTTP状态码分类:
-
3. Cookie
Cookie中文名称为小型文本文件,指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。
Cookie弥补了HTTP协议无状态性(不了解以前用户是一种怎样的访问状态,因而无法提供针对性地服务)的不足,有利于进行用户跟踪并提供针对性的服务,但也带来一些安全问题,例如,隐私安全问题。
Cookie中包含了一个分配给某个用户的特定编号,该编号分别存储在浏览器和服务器上。当用户访问某个网站时,该网站会分配给一个用户编号,当用户再访问该网站时,网站可以通过编号知道该用户之前的访问状态。
Cookie工作原理:
五、Internet电子邮件
1. 电子邮件系统结构
电子邮件系统主要包括邮件服务器、简单邮件传输协议(SMTP)、用户代理和邮件读取协议等。
-
用户代理
用户与电子邮件系统的接口。又被称为电子邮件客户端软件。
基本功能:撰写、显示、处理、通信。
-
邮件服务器
又被称为邮件传输代理。
功能:发送和接收邮件,同时还要向发信人报告邮件传送的情况。
按照客户服务器方式工作。
-
邮件发送和邮件读取协议
邮件发送读取使用不同的协议。
简单邮件发送协议SMTP:用于在用户代理向邮件服务器或邮件服务器之间发送邮件。
邮局协议POP3:用于用户代理从邮件服务器读取邮件。
2. SMTP
- SMTP是Internet电子邮件中核心应用层协议,实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输。
- SMTP使用传输层TCP实现可靠数据传输,端口号25。
- SMTP通过3个阶段的应用层交互完成邮件的传输,分别是握手阶段、邮件传输阶段和关闭阶段。
- SMTP的基本交互方式是SMTP客户端发送命令,命令后面可能携带参数,SMTP服务器对命令进行应答。
SMTP通信的三个阶段:
-
连接建立(握手阶段)
-
邮件传送
-
释放连接
3. 电子邮件格式与MIME
-
电子邮件包括首部、空白行、主体3部分,To、Subject、Cc、From、Date、Reply-To等关键词。
-
MIME(多用途互联网邮件扩展)
将非7位ASCII码文本内容转换为7位ASCII码文本内容,然后再利用SMTP进行传输。
在邮件首部增加MIME首部行,说明主体内容原本的数据类型以及采用的编码标准等。
例如,下面是一封传输一张JPEG图片的邮件示例:
对方在收到邮件后,再使用相同的编码方式对邮件进行解析,得到正确的邮件。
4. 邮件读取协议
3种不同的邮件读取协议:
-
第三版的邮局协议(POP3)
POP3协议使用客户服务器方式,客户发送指令给服务器,告诉服务器自己要读取哪部份邮件,然后服务器把邮件传输给客户端,相当于客户端把邮件下载到本地,然后进行读取操作,对邮件进行增删改查影响的是本地数据。
-
互联网邮件访问协议(IMAP)
想要查阅邮件,必须先联网。IMAP协议通过指令直接操作邮件服务器,不管是删除邮件还是创建新的邮件的文件夹,实际上是改变了邮件服务器本身的内容。
-
HTTP(现在较多使用)
不需要依赖于各种邮件客户端,只要有浏览器,通过服务器的网址来访问就可以操作。
六、FTP
-
文件传送协议(FTP):在互联网的两个主机间实现文件互传的应用层协议。
采用C/S模式,利用传输层的TCP协议进行可靠传输。采用控制连接(21端口)传输控制命令,数据连接(20端口)传输文件内容。
-
FTP工作原理:
- 如果客户机要访问FTP的服务器,首先客户机需要和服务器的21号端口建立控制连接。
- 客户机将需要FTP执行的操作指令通过控制连接,发送给FTP服务器,服务器执行相对应的操作。
- 当需要下载或上传某个文件时,不再使用控制连接,而是需要利用服务器的20号端口动态创建数据连接,通过数据连接进行文件传输。
七、P2P应用
-
P2P工作方式:在P2P工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输。
-
P2P应用的优势:充分聚集利用了端系统(对等方主机)的计算能力以及网络传输带宽,对服务器的依赖很小。
-
P2P的工作原理:
假如有一个服务器提供文件的下载和服务,在不使用P2P工作方式时,有一个用户请求下载文件,服务器就需要上传一次文件副本到互联网上供用户下载,有100万个用户请求下载文件,服务器就需要上传100万次文件副本到互联网上供用户下载。在这一过程中的传输速度依赖于服务器的上行链路和客户端的下行链路速度。在这一过程中,当用户量庞大时,服务器的负载就会很大,用户的等待时间也会变长。
在使用P2P工作方式时,在某一时刻,第一个用户已经获得了文件副本的一部分,当第二个用户请求下载文件,第二个用户可以选择从第一个用户获取文件的部分数据,同时请求服务器传输其他部分的数据。当第三个用户请求下载文件时,第三个用户可以选择从第一个用户、第二个用户、服务器上同时获取文件数据,以此类推。使用P2P方式可以充分利用各个端系统的计算能力和网络传输带宽,减少了服务器的压力,同时也使得用户获取数据的速度加快。
-
P2P方式特别适合大数据量的数据服务。
八、Socket编程基础
-
Socket接口模型:网络应用进程通信时需要通过API接口请求底层协议的网络服务。可以创建数据报类型套接字SOCK_DGRAM(对应调用UDP协议)、流式套接字SOCK_STREAM(对应调用TCP协议)和原始套接字SOCK_RAW(对应直接调用网络层协议)。
-
基于TCP的Socket编程
-
基于UDP的Socket编程
参考视频:https://www.bilibili.com/video/BV1xJ41137Q3?p=8
-
-
计算机网络-应用层
2022-03-11 14:57:301 应用层的体系结构 应用层分为三种结构:客户机/服务器结构(c/s)、点对点结构(P2P)、混合结构 1.1 客户机/服务器结构 这种结构的特点就是,客户机给服务器发送请求,然后由服务器发生响应。客户机与客户机...1 应用层的体系结构
应用层分为三种结构:客户机/服务器结构(c/s)、点对点结构(P2P)、混合结构
1.1 客户机/服务器结构
这种结构的特点就是,客户机给服务器发送请求,然后由服务器发生响应。客户机与客户机之间是不能直接通讯的。
1.2 P2P结构
P2P对比CS结构,其有点是高度可伸缩,缺点是难以管理。
混合式结构结合了P2P和CS结构的优的,比如Napster的文件传输使用P2P结构,文件搜索采用CS结构
2 应用层进程间通信
2.1 Socket
同一主机中进程的通信是依靠操作系统提供的,而不同主机间进程通信需要依靠套接字Socket。Socket可以理解为一种API。进程通过Socket编程,来对协议进行选择,参数进行设置。
一般来说,同一台主机上的进程会通过PCB进程控制块(Process Control Block, PCB)进行唯一标识。但是在网络通信中,怎么通过一台主机将信息发送到另一台主机的指定进程上呢?一般采用端口号。
IP地址+端口号,就唯一定义了网络上所有进程中的那一个。
2.2 应用层协议
一般来说,网络应用需要遵循应用层协议
3 网络应用的需求与传输层服务
Internet提供了两种传输服务:TCP服务,UDP服务
-
万字+图片解析计算机网络应用层
2021-11-08 20:01:02文章目录1. 应用层概述2....应用层:解决通过应用进程的交互来实现特定网络应用的问题。 (2)、应用层的定义 应用是计算机网络体系结构的最顶层,是设计和建设计算机网络的最终目的,也是计算机网络中发展最1. 应用层概述
(1)、前情回顾
- 物理层:解决使用何种信号来传输比特的问题
- 数据链路层:解决分组在一个网络(或一段链路)上传输的问题
- 网络层:解决分组在多个网络上传输(路由)问题
- 运输层:解决进程之间基于网络的通信问题
- 应用层:解决通过应用进程的交互来实现特定网络应用的问题。
(2)、应用层的定义
应用层是
计算机网络体系结构的最顶层
,是设计和建设计算机网络的最终目的,也是计算机网络中发展最快的部分。(3)、相关应用
- 万维网WWW
- 域名系统DNS
- 动态主机配置DHCP
- 电子邮件
- 文件传送FTP和P2P文件共享
- 多媒体网络应用
2. 客户/服务器方式(C/S方式)和对等方式(P2P方式)
(1)、客户/服务器方式(C/S方式)
客户和服务器
是指通信中所涉及的两个应用进程。- 客户/服务器方式所描述的是
进程之间服务和被服务的关系
。 客户是服务请求方
,服务器是服务提供方
- 服务器总是
处于运行状态
,并等待客户的服务请求。服务器具有固定的端口号
(HTTP服务器的固定端口号为80
)和固定的IP地址
。 - 由于一台服务器计算机要为多个客户机提供服务,在C/S应用中,常会
出现服务器计算机跟不上众多客户机的情况
。所以常用计算机群集
构建一个虚拟服务器。
应用
- 万维网WWW
- 电子邮件
- 文件传输FTP
(2)、对等方式(P2P方式)
P2P方式中,
没有固定的服务请求者和服务提供者
,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者
。应用
- P2P文件共享
- 即时通信
- P2P流媒体
- 分布式存储
3. 动态主机配置协议DHCP
(1)、为什么需要动态主机配置协议DHCP?
如果
没有动态主机配置协议DHCP
,我们都是手动的给主机配置相应的信息(IP地址、子网掩码、默认网关、DNS服务器)
。但是这样的话,可能会导致配置错误且工作量大。因此动态主机配置协议DHCP应运而生
。(2)、动态主机配置协议DHCP的工作过程
1. 寻找DHCP服务器过程
DHCP客户端进程
向链路上发送一个DHCP发现报文(源地址为0.0.0.0,目的IP地址255.255.255.255)
,该报文是广播报文,从所在的网络中寻找DHCP服务器,因为只有DHCP服务器才能解析出这报文中的UDP数据报
。2. 提供IP地址租用
当DHCP服务器收到相应的发现报文后,会向链路上发送
DHCP提供报文(源地址为DHCP服务器的地址,目的IP地址为255.255.255.255)
,该报文是广播报文。DHCP客户端进程
收到相应的报文后使用ARP确保所选IP地址为被网络中其他主机占用
。3. 接受IP地址租约
收到提供报文之后,会向链路上发送
DHCP请求报文(源地址为0.0.0.0,目的IP地址为255.255.255.255)
,该报文是广播报文,主要是向DHCP服务器说明接受IP地址租约
。4. 确认IP地址租约
DHCP服务器受到相应的DHCP请求报文后,向链路上发送
DHCP确认报文(源IP地址为:该服务器的IP地址,目的IP地址为255.255.255.255)
,该报文是广播报文,主要是确认IP地址租约
。此时DHCP客户端进程收到相应的报文后使用ARP确保所选IP地址为被网络中其他主机占用
。(3)、IP地址续约情况
1. 情况1
当相应的IP地址租用期过了一半时,
DHCP客户机就会向相应的DHCP服务器发送DHCP请求报文(源地址为租用的地址,目的IP地址为服务器的IP地址)
,该情况下,DHCP服务器向DHCP客户机发送DHCP确认报文(源地址为服务器的IP地址,目的IP地址为租用的地址)
,那么DHCP客户机得到新的租用期
2. 情况2
当相应的IP地址租用期过了一半时,
DHCP客户机就会向相应的DHCP服务器发送DHCP请求报文(源地址为租用的地址,目的IP地址为服务器的IP地址)
,
DHCP服务器向DHCP客户机发送DHCP不确认报文(源地址为服务器的IP地址,目的IP地址为租用的地址)
,那么DHCP客户机立即停用相应的IP地址
,重新进行动态分配过程。3. 情况3
当相应的IP地址租用期过了一半时,
DHCP客户机就会向相应的DHCP服务器发送DHCP请求报文(源地址为租用的地址,目的IP地址为服务器的IP地址)
,
DHCP服务器对DHCP客户机不响应
,且DHCP客户机的租用期到时,那么DHCP客户机立即停用相应的IP地址
,重新进行动态分配过程。三种情况图示说明
(4)、DHCP中继代理
为什么需要DHCP中继代理?
如果
相应的主机和DHCP服务器不在同一个网络中的话
,而发送的相关报文又是广播报文,而路由器不能转发广播报文
。所以需要DHCP中继代理。DHCP中继代理的作用
作为各计算机和相应的DHCP服务器的桥梁
。4. 域名系统DNS
(1)、DNS的应用
- 域名到IP地址的映射
ping
命令
(2)、主机输入域名后所经历的过程
当在用户主机上输入URL后,主机会
先在高速缓存中查找相应域名的对应IP地址
,如果没有找到,那么就会向DNS域名服务器发送一个内容大致为“相应的域名所对应的IP地址是什么?”的报文
给DNS域名服务器。DNS服务器收到后DNS服务器会向用户主机发送一个内容为“相应的IP地址”的响应报文
。这样用户主机就可以访问相应的主机了。(3)、因特网中是否可以使用一台DNS服务器?
这种做法不可取,因为因特网的规模很大,这样的话
域名服务器会因为超负荷而无法正常工作
,而且一旦域名服务器出现故障,整个因特网就会瘫痪
。(4)、域名的命名规则
采用层次树状结构的域名结构。
~. 三级域名. 二级域名 . 顶级域名
- 根域名服务器:根域名服务器通常并不直接对域名进行解析,而是
直接返回所属顶级域名的顶级域名服务器的IP地址
。 - 顶级域名服务器:这些域名服务器
负责管理在顶级域名服务器注册的所有二级域名
。 - 权限域名服务器:这些域名服务器负责管理某个区的域名。
- 本地域名服务器:本地域名服务器起着代理作用,会将该报文转发到上述的域名服务器的等级结构中。
(5)、域名解析过程
1. 递归查询
用户主机
递归查询
根域名服务器,根域名服务器递归查询
顶级域名服务器,顶级域名服务器递归查询
权限域名服务器。查询到后进行返回。2. 迭代查询
用户主机
递归查询
根域名服务器,根域名服务器告诉用户主机相应的下一个访问的IP地址迭代查询
顶级域名服务器,顶级域名服务器告诉用户主机相应的下一个访问的IP地址迭代查询
权限域名服务器。查询到后进行返回。递归查询会导致服务器负担太大
,所以一般采用主机到本地域名服务器的查询是递归查询
,而其余的是迭代查询
。3. 高速缓存
为什么要用高速缓存?
为了提高DNS的查询效率
,并减轻DNS域名服务器的压力
,所以使用高速缓存。缓存的过程
如果查询到后,
直接把域名和IP地址的对应关系存下来
,然后再次查询相同域名
的时候,直接把高速缓存的存放结果告诉用户。主机中也可以设置高速缓存
。5. 文件传输协议FTP
(1)、什么是文件传送
将某台计算机上的文件通过网络传输到很远的另一台计算机中。
(2)、文件传输协议FTP
- FTP提供交互式的访问,允许客户指明文件类型和格式,并允许文件具有存取权限。
- FTP
屏蔽了各计算机的细节
,因而适合于在异构网络中任意计算机之间进行传送文件
。
(3)、FTP客户和服务器之间必须建立的两个连接
- 控制连接,在整个会话期间一直保持打开,用于传输FTP相关命令。
- 数据连接,用于文件传输,在每一次传输时才建立,传输结束就关闭。
- 默认情况下,FTP使用
TCP21端口
进行控制连接,TCP20端口
进行数据连接。
(4)、主动模式
FTP客户端发起TCP连接,建立用于传输控制命令的TCP连接
,有数据要传输时,FTP客户通过命令通道告知FTP服务器来与自己的另一个临时端口号建立TCP连接
,建立数据通道。(5)、被动模式
FTP客户端发起TCP连接
,建立用于传输控制命令的TCP连接
,有数据要传输时,FTP客户通过命令通道告知FTP服务器开启某一个临时端口号等待TCP连接
,建立数据通道。6. 电子邮件
(1)、电子邮件系统说明
电子邮件系统采用的是
客户/服务器方式
。三个主要组成构件:用户代理,邮件服务器,以及电子邮件所需的协议
。- 用户代理是
用户与电子邮件系统的接口
,又称电子邮件客户软件。 - 邮件服务器是电子邮件的基础设施。因特网上所有的ISP都有邮件服务器,其
功能是发送和接受邮件,同时还要负责维护用户的邮箱
。 - 协议包括
邮件发送协议(SMTP)和邮件读取协议(POP3)
。
(2)、常用的邮件发送协议
常用的邮件发送协议是简单的
邮件传送协议SMTP
。- 基于
TCP
连接,端口号为25
。 只能传送ASCII文本
。- 用于
用户代理
向邮件服务器发送邮件
以及邮件服务器之间的邮件发送
。
1. 存在的问题
但是只能发送ASCII文本。为解决该问题,提出了
多用途因特网邮件扩展MIME
。2.多用途因特网邮件扩展MIME的工作过程
当发送方使用SMTP之前
先使用MIME将非ASCII码转化为ASCII码
,然后使用SMTP进行传送;当接收方接收时,MIME将报文使用MIME从ASCII码转化为非ASCII码
,然后进行接收。简单邮件传送协议SMTP的基本工作原理
- 刚开始的时候发送方邮件服务器(SMTP客户)向接收方邮件服务器
发送14条SMTP命令
,然后接收方邮件服务器(SMTP服务器)向发送方邮件服务器发送21种SMTP应答
。
- 接收方邮件服务器向发送方邮件服务器
主动推送服务器就绪应答
,应答代码为220
;
- 发送方邮件服务器向接收方邮件服务器
说明身份,告知自己SMTP服务器的域名
,如果身份有效
,接收方服务器发送回答代码250
。
- 发送方邮件服务器向接收方服务器
说明自己来自何方
,如果合理,接收方服务器发送回答代码250
,否则,发回其他错误代码。
- 发送方邮件服务器向接收方服务器说明自己
去往何地
,如果邮箱存在
,接收方服务器发送回答代码250
,否则,发回其他错误代码。
- 发送方邮件服务器向接收方服务器
说明自己准备发送邮件内容
,如果准备好接收
,接收方服务器发送回答代码354
,否则,发回其他错误代码。
- 发送方邮件服务器向接收方服务器
说明自己邮件内容
- 发送方邮件服务器向接收方服务器
发送完邮件内容,还要发送结束符
,如果收件成功
,接收方服务器发送回答代码250
,否则,发回其他错误代码。
- 发送方邮件服务器向接收方服务器
说明自己要断开连接
,接收方服务器发送回答代码221表示接受请求并主动断开连接
。
(3)、常用的邮件读取协议
- 邮局协议POP3:非常简单的、功能有限的邮件读取协议。
用户只能以下载并删除方式或下载并保留方式从邮件服务器下载邮件到用户计算机。不允许用户在邮件服务器上管理自己的邮件
。 - 因特网邮件访问协议IMAP:功能比POP3强大的邮件读取协议。
用户在自己的计算机上就可以操作邮件服务器的邮箱,就像本地操控一样,因此IMAP是一个联机协议
。 POP3和IMAP4都采用基于TCP连接的客户/服务器方式
。POP3
使用端口110
,IMAP4
使用端口143
。
(4)、发送邮件的大体过程
发送方的用户代理
使用SMTP
发送邮件给发送方邮件服务器
,发送方邮件服务器
使用SMTP
发送邮件给接收方邮件服务器
。接收方的用户代理
使用POP3
从接收方邮件服务器
取出邮件。(5)、基于万维网的电子邮件
通过浏览器登录(提供用户名和口令)邮件服务器万维网网站就可以撰写、收发、阅读和管理电子邮件。这种工作模式与IMAP很类似,
不同的是用户计算机无需安装专门的用户代理程序,只需要使用通用的万维网浏览器
。这种工作模式在
用户浏览器与邮件服务器网站
之间使用HTTP协议
,而邮件服务器之间
使用SMTP协议
。7. 万维网WWW
(1)、万维网简介
万维网并非某种特殊的计算机网络。
它是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用
。(2)、相关流行的浏览器及其引擎
浏览器最重要的部分是渲染引擎
,也就是浏览器内核
。负责对网页进行解析和显示
。- Chrome : Blink
- Firefox : Gecko
- Safari : WebKit
- Opera : Blink
- Internet Explorer : Trident
(3)、统一资源定位符(URL)
万维网使用
统一资源定位符URL
来指明因特网上的任何种类资源的位置
其组成格式:
<协议>://<主机>:<端口>/<路径>
(4)、万维网的文档
万维网文档的最基本的组成成分有
HTML、CSS、JavaScript
。- HTML : 超文本标记语言HTML,使用多种标签来描述网页的结构和内容。
- CSS : 层叠样式表CSS,从审美的角度来描述网页的样式。
- JavaScript : 一种脚本语言(和Java没有任何关系),控制网页的行为。
(5)、超文本传输协议HTTP
HTTP定义了浏览器
怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器
。1.HTTP应用过程
首先浏览器向服务器
建立起TCP连接,端口号为80
。然后浏览器向服务器发送HTTP请求报文
,服务器收到相应的请求报文后,服务器向浏览器发送HTTP响应报文
。2. HTTP/1.0
HTTP/1.0采用的是
非持续连接方式
。在该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到响应后立即关闭连接
。相应的缺点
每请求一个文档就要有两倍的RTT开销
。如果一个网页上有很多引用对象(例如图片等),那么请求每一个对象都需要花费2RTT的时间- 为了减小时延,浏览器通常会建立多个并行的TCP连接同时请求多个对象。但是,这会大量占用万维网服务器的资源,特别是
万维网服务器往往要同时服务于大量客户的请求,这会使其负担很重
。
3. HTTP/1.1
HTTP/1.1采用
持续连接方式
。在这方式下,万维网服务器在发送响应后仍然会发送响应保持这条连接
,使同一个客户和该服务器可以继续在这条上传送后续的HTTP请求报文和响应报文。这并不局限于传送同一个页面上的对象,而是只要这些文档都在同一个服务器上就行
。- 为了进一步提高效率,HTTP/1.1的持续连接还可以使用
流水线方式工作
,就是浏览器在收到HTTP的响应报文之前就能够连续发送多个请求报文
。这样的一个接一个的请求报文到达服务器后,服务器就会发回一个接一个的响应报文。这样就节省了很多个RTT时间,使TCP连接中的空闲时间减少,提高下载文档的效率。
(5)、HTTP的报文格式
HTTP是
面向文本
的,其报文的每一个字段都是一些ASCII码串
,并且每一个字段的长度不确定。1. HTTP请求报文
-
请求行: HTTP请求报文中的“请求行”是由
“请求方法”、“URL”和“协议版本”
3个字段组成的,它们之间均以空格进行分隔。这部分是必不可少的。在请求行的最后有一个回车控制符和一个换行控制符(一起以“CRLF”表示),使下面的请求头部信息在下一行显示。 -
请求头部行: HTTP请求头部包括一系列的“请求头”和它们所对应的值,指出允许客户端向服务器传递请求的附加信息以及客户端自身的信息。当打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后
网站服务器根据HTTP请求头的内容生成当次请求的内容并发送给浏览器
,这就是HTTP请求报文中的“请求头”的作用。 -
空行: 最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头;
-
实体主体行: 请求报文中“实体主体”部分通常是不用的。
它不能在GET方法中使用,仅在POST方法中用于向服务器提供一些用户凭据信息(通常不用)
。
2. HTTP响应报文
HTTP 响应报文由
状态行、响应头部、空行 和 实体主体
4 个部分组成。-
状态行: 状态行由
HTTP 协议版本字段、状态码和状态码的描述文本
3 个部分组成,他们之间使用空格隔开。 -
响应头部: 响应头向客户端提供一些额外信息,比如谁在发送响应、响应者的功能,甚至与响应相关的一些特殊指令。这些头部有助于客户端处理响应,并在将来发起更好的请求。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。
-
空行: 最后一个响应头部之后是一个空行,发送回车符和换行符,通知服务器以下不再有响应头部。
-
实体主体: 服务器返回给客户端的文本信息。
(6)、Cookie
1. Cookie的相关介绍
早期的万维网应用非常简单,仅仅是用户查看存放在不同服务器上的各种静态的文档。因此HTTP被设计为—种无状态的协议。这样可以简化服务器的设计。
现在,
用户可以通过万维网实现各种复杂的应用
,如网上购物、电子商务等。这些应用往往需要万维网服务器能够识别用户
。Cookie提供了一种机制使得万维网服务器能够“记住”用户,而无需用户主动提供用户标识信息
。也就是说,Cookie是一种对无状态的HTTP进行状态化的技术。2. Cookie的使用
用户主机首次访问万维网服务器
当一个用户机中的浏览器和万维网服务器
建立好了TCP连接,端口号为80
。此时用户主机的浏览器向服务器发送HTTP请求,万维网服务器为该客户生成一个唯一的Cookie识别码,并以此为索引在服务器的后端数据库中创建一个项目,用来记录该用户访问该网站的各种信息
。然后将生成的Cookie放置于HTTP响应报文中,用户主机的浏览器收到后将其存入文件
。用户主机非首次访问万维网服务器
当该用户浏览器
不是首次访问万维网服务器
的时候,那么在用户主机中的浏览器已经和万维网服务器建立好了TCP连接后,用户主机的浏览器向万维网服务器发送的HTTP请求中会携带Cookie
,万维网服务器根据识别Cookie识别码就可以识别出该用户,并返回该用户的个性化网页
。然后向用户主机中的浏览器发送携带个性化网页的HTTP响应报文。(7)、万维网缓存
万维网缓存又称
Web缓存
,可位于客户机,也可以位于中间系统,位于中间系统的Web缓存又称为代理服务器
。Web缓存
把最近的一些请求和响应暂存到本地磁盘中
。当新请求到达时,如果发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按URL地址再次去因特网访问该资源
。如果Web缓存的命中率比较高的话,大大减少了该链路上的通信量,因而减少了访问因特网的时延。
1. 含有代理服务器的资源请求过程
用户主机中浏览器会向代理服务器发送请求,如果
代理服务器中存放了所请求的对象,那么直接放回相应的对象
;如果
代理服务器中没有相应的暂存对象
,那么就会由代理服务器向原始服务器发送请求
,原始服务器收到请求后向代理服务器发送响应,然后代理服务器将其存放于自己内部中,再向用户主机发送相应的响应对象
。2. 可能存在代理服务器的文档与原始服务器的文档不一致问题
那么在代理服务器中的文档已过期时,代理服务器就会向原始服务器发送
相应的请求(包含Last-Modified字段)
,原始服务器会对其进行比对,如果结果是一致
的话,那么就是改变相应代理服务器中的文档的时间,将其设置为未过期,相当于激活一下
。如果
发现不一致
,那么原始服务器就会发来相应的携带已更改的文档的响应报文
,那么代理服务器就会使用这对原来的进行替换
。 -
计算机网络应用层题库
2018-07-31 17:53:55网络课课后题 1P2P模式的最主要特点是:要安装...3网络应用-FTP文件共享:要求高带宽 4服务质量中的抖动是指发送端相邻两个报文发送的时间差。 解析:接收端相邻两个报文的时延差,即前后两个时间的到达时间... -
计算机网络 应用层 电子邮件协议:SMTP、POP3、IMAP
2021-01-19 17:37:58像大多数应用层协议一样,SMTP也有两个部分:运行在发送方邮件服务器的客户端和运行在接收方邮件服务器的服务器端。每台邮件服务器上既运行SMTP的客户端也运行SMTP的服务器端。 SMTP一般不使用中间邮件服务器发送... -
计算机网络应用层课后习题练习(二)
2020-05-06 22:22:27计算机网络应用层课后习题练习(一) 计算机网络应用层课后习题练习(二)应用层知识点概览课后习题练习(二) 应用层知识点概览 课后习题练习(二) 6-17在浏览 器中应当有几个可选解释程序。试给出一些可选解释... -
【计算机网络】知识点整理 第六章 应用层(王道考研视频学习记录)
2021-12-12 03:31:22应用层一级目录二级目录三级目录 一级目录 二级目录 三级目录 -
计算机网络应用层课后习题练习(一)
2020-05-06 13:17:10计算机网络应用层课后习题练习应用层知识点概览课后练习(一) 应用层知识点概览 域名系统DNS 文件传送协议FTP和TFTP 远程终端协议TELNET 万维网WWW 电子邮件SMTP/POP3/IMAP 动态主机配置协议DHCP 简单网络管理协议... -
计算机网络知识点总结-第六章:应用层
2019-01-28 23:23:08应用层协议:每个应用层协议都是为了解决一类应用问题,而解决问题需要通过位于不同主机的多个应用进程之间的通信和协同来完成,应用层的具体内容就是定义这些通信规则 1.域名系统DNS 1.域名系统概述: 域名... -
计算机网络:应用层(HTTP协议)
2018-07-03 14:39:12统一资源定位符(URL): 1.URL的格式 统一资源定位符URL是对可以从因特网得到的资源的...URL相当于一个文件名在网络范围的扩展。因为URL是于因特网相连的机器上的任何可访问对象的一个指针。由以冒号隔开的两大... -
计算机网络应用层之HTTP协议
2013-10-26 01:46:20HTTP是HyperText Transfer Protocol即超文本传输协议的缩写,是Web应用层协议之一。 HTTP协议由两部分程序实现:一个客户机程序和一个服务器程序,它们运行在不同的端系统中,通过交换HTTP报文运行会话。HTTP定义... -
【思维导图】计算机网络第六章应用层
2018-06-13 23:12:59 -
计算机网络实验四:应用层和传输层协议分析(PacketTracer)
2019-05-05 23:24:13通过本实验,熟悉PacketTracer的使用,学习PacketTracer中仿真分析应用层和传输层协议,加深对协议工作过程的理解。 实验内容 从PC使用URL捕获Web请求,运行模拟并捕获通信,研究捕获的通信。 Wireshark 可以... -
计算机网络学习笔记第六章(应用层)超详细整理
2021-06-13 09:36:06目录6.1、应用层概述6.2、客户/服务器方式(C/S方式)和对等方式(P2P方式)1、概念2、客户/服务器方式(C/S方式)3、对等方式(P2P方式)4、总结6.3、动态主机配置协议DHCP1、概念2、DHCP的作用3、DHCP的工作过程4... -
计算机网络应用层和传输层及网络层协议有哪些?
2016-03-31 09:50:39应用层协议: 1、远程登录协议(Telnet) 2、文件传输协议(FTP) 3、超文本传输协议(HTTP) 4、域名服务协议(DNS) 5、简单邮件传输协议(SMTP) 6、邮局协议(POP3) 其中,从网络上... -
《计算机网络 自顶向下方法》第二章应用层思维导图
2016-11-01 11:53:56建议下载查看,也分享了Xmind原文件,可以修改:下载地址收集了一张重大图书馆的图片,希望看遍全国高校图书馆哈哈哈 最近在看《黑镜》推荐大家一起看呀~ -
计算机网络:应用层
2016-11-21 16:11:47应用层介绍应用层为用户提供服务,通信是由逻辑连接提供的,这意味着两个应用层假设存在一个假想的直接连接。标准与非标准由于应用层是唯一向因特网用户提供服务的层次,所以新的应用协议能够轻松地加入因特网。应用... -
超详细的计算机网络基础知识总结 第六章:应用层
2021-12-09 16:32:31本文基于:王道计算机考研-计算机网络 ☺其他文章: 超详细的计算机网络基础知识 第一章:概述 超详细的计算机网络基础知识 第二章:物理层 超详细的计算机网络基础知识 第三章:数据链路层 超详细的计算机网络... -
《计算机网络教程》(微课版 第五版) 第六章 网络应用层 课后习题及答案
2019-11-21 09:33:45第六章、网络应用层 1. 简述应用层协议定义的内容。 (1)应用进程交换的报文类型,如请求报文和响应报文 (2)各种报文类型的语法,如报文中的各个字段及其详细描述 (3)字段的语义,即包含在字段中的信息的含义 ... -
计算机网络——从物理层到应用层
2018-10-16 21:25:32网络是互联网的核心,没有网络的互联网就像没有路的城市,只能在自己独里的环境工作,无法彼此联系。 互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。 用户接触到的,... -
计算机网络与应用(思维导图)
2020-01-31 10:25:53计算机网络与应用(思维导图) 计算机网络概述 物理层 数据链路层 网络层 传输层 应用层 -
计算机网络--应用层-应用层协议原理
2022-03-26 21:35:30应用层协议原理 研发网络应用程序的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序。 在Web应用程序中,有两种互相通信的不同的程序:一个是运行在用户主机的浏览器程序,一个是运行在Web的服务器主机上... -
【计算机网络笔记】计算机网络五层体系结构
2022-03-18 17:36:08常见计算机网络体系结构 osi体系结构:(了解) TCP/IP体系结构:(普及) 在用户主机的操作系统中,通常都有带有符合TCP/IP体系结构标准的TCP/IP协议族。用于网络互连的路由器中,也带有符合TCP/IP体系... -
计算机网络知识点总结(六)应用层
2018-01-21 11:14:43《应用层》 (1)网络应用模型:1)C/S模型:区分处理请求的的服务器和发出请求的客户机;2)P2P模型:每台机器既是服务器又是客户机 (2)DNS域名解析系统: 1)作用:把主机名转换为IP地址 2)协议与端口... -
计算机网络·各应用层协议对应的传输层协议及端口号
2021-06-08 21:03:03应用层协议 运输层协议 端口号 HTTP TCP 80 SMTP TCP 25 POP3 TCP 110 FTP TCP 21,20 TELNET TCP 23 DNS UDP 53 DHCP UDP 67,68 -
这应该是把计算机网络五层模型讲的最好是文章了,看不懂你打我
2019-10-25 12:49:08可能很多人都听说过网络通信的 5 层模型,但是可能并不是很清楚为什么需要五层模型,五层模型负责的任务也有可能经常混淆。下面是网络通信的五层模型 说实话,五层模型的具体内容还是极其复杂的,不过今天这篇文章... -
计算机网络思维导图(零基础--思维导图详细版本及知识点)
2020-07-04 18:05:16第一章 计算机网络概述 1、计算机网络向用户提供的最重要的功能分别是(连通性)和(共享)。 2、网络由若干(结点)和链接这些(结点)的(链路)组成。 3、网络把许多(计算机)连接在一起,而因特网则把许多... -
【第四期】网络层、传输层、应用层
2022-04-18 16:27:28文章目录一、网络层二、路由器的LAN口和WAN口2.1ARP协议三、传输层3.1TCP协议(三次握手,四次挥手)3.2四次挥手3.3UDP协议四、应用层3.1DHCP协议3.2DNS协议【翻译官】3.3HTTP协议 一、网络层 两个特殊的IP地址: ... -
计算机网络:物理层、数据链路层、网络层、运输层、应用层的基本概念
2020-04-06 20:28:46现有的计算机网络中的硬件设备和传输媒体的种类非常繁多,而通信手段也有许多不同的方式。物理层的作用正是要尽可能地屏蔽掉这些传输媒体和通信手段地差异,使得物理层上面的数据链路层感觉不到这些差异。 运用于...