第7章 应用层
网络的计算和访问模式
以大型机为中心的计算模式:分时共享模式 (time-sharing)
特点:许多用户共享 CPU 资源和数据存储功能,终端只用于命令的输入和结果的显示。
以服务器为中心的计算模式:资源共享模式 (resource-sharing)
特点:共享共同的应用,如文件服务器、打印服务器。
客户端/服务器模式 (Client/Server)
特点:系统使用了客户和服务器双方的资源和计算能力来执行一个特定的任务。
应用:前端(即客户部分)/ 后端(服务器部分)。
缺点:单点失效、性能瓶颈(计算、存储资源受限,网络拥塞等)。
对等模式 (Peer to Peer, P2P)
特点:用户和资源处于对等状态,分布式计算和存储(客户的加入退出会影响性能)。
是一个应用型网络,一般由网络边缘节点构成,充分利用资源。
与 C/S 模型相比,优点有:
- 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个节点上,因此大大提高了系统效率和资源利用率。
- 多个客户机之间可以之间共享文档。
- 可扩展性好。
传统服务器有响应和带宽限制,因此只能接收一定数量的请求。 - 网络健壮性强,单个节点的失效不会影响其他部分节点。
需要解决的问题:动态性,安全性,可管理性等。
云计算模式
以网络为中心的计算模式,虚拟化的资源。
域名系统 (DNS)
域名:标识网络上的主机,与 IP 地址对应。
一台主机可以有多个域名,一个域名可以对应多个 IP 地址。
eg.
www.baidu.com - com:顶级域名 - baidu:二级域名 - www:三级域名
DNS 元素
- 解析器 (resolver):查询域名的应用程序或者库函数调用。
- 域名空间:所有可能的域名集合。
- 资源记录:与域名相关联的信息,包括 IP
地址等。
常见的资源记录如下:- A (ADDR):IP 地址。
- MX :邮件交换,准备接收邮件地址的主机名字。
- NS (NAMES):名字服务器。 存放资源记录,实现域名到 IP 地址的解析,也称为 DNS 服务器。
DNS 报文传输层可采用 TCP 或 UDP 协议,端口号为 53 号。
域名查询算法
递归查询 (recursive query):
每一个被请求的域名服务器如果没有该记录,它就向其他域名服务器查询,并沿查询路径逐个返回记录。
主机向本地域名服务器的查询采用的是递归查询。
迭代查询 (iterative query):
本地域名服务器如果没有该记录,就向高级域名服务器请求,被请求的服务器如果没有该记录就返回一个可供查询的域名服务器地址。即最终是向有信息的服务器直接查询地址。
本地域名服务器向根域名服务器的查询采用迭代查询。
文件服务 (FTP)
目的:文件传送。
控制连接:TCP 21 端口,一直打开。
数据连接:TCP 20 端口,根据需要打开。
主动模式
主动模式下, FTP 客户端从任意端口 N (> 1023) 连入到 FTP
服务器的命令端口 21。
然后客户端在 N+1 端口监听来自服务器 20 端口的数据连接。
被动模式
被动模式下,客户端从任意端口 N (> 1023) 向服务器的 21 端口发送
PASV
,服务器返回数据通道的端口号 M。
然后客户端在 N+1 端口监听来自服务器 M 端口的数据。
电子邮件
消息交换的协议: - 简单邮件传输协议 (SMTP):推送协议,用于发送邮件 - 邮局协议第 3 版 (POP3):拉取协议,用于读取邮件 - Internet 消息访问协议 (IMAP):拉取协议
消息格式的协议: - 基本的 ASCII 的文本邮件 - 多用途 Internet 邮件扩展 (MIME)
邮件发送过程
发信人调用用户代理来编辑要发送到 receipt@abc.com 的邮件。
用户代理用 SMTP 把邮件传送给预先设置的发送邮件服务器。发送邮件服务器将邮件放入邮件缓存队列中,等待发送。
发送邮件服务器的 SMTP 客户进程,发现有待发送的邮件,向接收方邮件服务器的 SMTP 服务器进程发起 TCP 连接。
TCP 连接建立后,SMTP 客户进程开始向远程的 SMTP 服务器进程发送邮件。
当待发送邮件发送完,SMTP 就关闭建立的连接。运行在接收方邮件服务器中的 SMTP 服务器进程收到邮件后,将邮件放入接收方的用户邮箱中,等待接收方在方便时进行读取。
接收方在打算收信时,调用客户代理,使用 POP3(或 IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中取回。
SMTP
SMTP 规范两个相互通信的 SMTP 进程之间应如何交换信息。
传输层采用 TCP 协议,25 号端口。
SMTP 采用客户/服务器方式,发送邮件进程是 SMTP 客户,接收邮件进程是 SMTP 服务器。
SMTP 采用简单的 ASCII 消息,在多媒体、加密传输中存在问题:
MIME 可以对 SMTP 进行扩展,使得非 NVT ASCII 数据能够通过邮件发送。
SMTP 以明文方式传输,缺少认证,安全上存在不足:
带扩展的 SMTP (ESMTP)
POP3
邮局协议 POP 是一个简单、功能有限的邮件读取协议。
传输层采用 TCP 协议,端口 110。
IMAP 是 POP3 的改进,运行在 143 端口,主要区别在于: - POP3 下载到用户代理所在的计算机上,用户难以在不同的计算机上阅读。 - IMAP 存储在邮件服务器,客户本机 IMAP 客户端操作与邮件服务器同步。
HTTP
万维网 (WWW)。
web 页面的编写采用 HTML 语言,传送采用 HTTP 协议,观看通过浏览器。
WWW 的特点: - 将资源按对象进行分类。 - 采用超文本技术,将菜单嵌入文本中。 - 采用超媒体技术,能检索和浏览非文本信息。 - 采用超链接技术,用户可以访问一个又一个文档。
统一资源定位符 (URL):用于命名万维网上的各种 web
页面。
URL 的一般形式:<协议>://<主机域名>:<端口>/<路径及文件名>路径及文件名>端口>主机域名>协议>
HTTP(超文本传输协议)采用 80
端口建立客户/服务器端的 TCP 连接。
在 HTTP 1.0 中,连接建立后只发送一个请求-响应后,连接就释放。
HTTP 1.1
支持持续连接(也叫连接重用),连接建立后,在其上发送多个请求-响应,降低连接开销。
HTML(超文本标记语言)允许在页面中包含文本、图像和指向其它 web 页面的超链接等。
web 文档种类: - 静态文档:HTML 文件,存在服务器中。 - 动态文档:请求时由服务运行程序或脚本来创建。 - 活动文档:在客户端活动的程序。
WWW 工作过程: - 用户在浏览器的地址栏键入 URL,或者点击某个超链接对应的 URL。 - 浏览器分析 URL 的主机域名,通过 DNS 系统找到资源所在的主机及 web 服务器的 IP 地址。 - 浏览器与 web 服务器的 80 端口建立 TCP 连接。 - 向 web 服务器发出 HTTP 请求消息,要求获得某个页面。 - web 服务器通过 HTTP 响应消息传送页面。 - 释放 TCP 连接,浏览器在本机上显示页面。