计算机网络(六) 应用层

IT知识
338
0
0
2023-03-13
标签   网络协议

计算机网络(六) 应用层

1. 域名系统 DNS

域名服务器:运行域名服务器程序,实现域名到 IP 地址的解析。

DNS 服务器的管辖范围不是以域为单位而是以区为单位

:一个服务器所负责管辖的范围。

域名结构:… . 三级域名 . 二级域名 . 顶级域名

域名只是逻辑概念,不代表计算机所在的物理地点。

img

img

1.1 域名服务器有四种类型

img

1.1.1 根域名服务器

  • 根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。
  • 当本地域名服务器无法解析互联网上的域名时,首先就会求助于根域名服务器
  • 互联网上共有 13 个不同 IP 地址的根域名服务器,它们的名字分别从 a 到 m(前 13 个字母)
  • 根域名服务器共有13 套装置
  • 在使用迭代查询时,根域名服务器不把域名直接转换成 IP 地址,而是把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器

1.1.2 顶级域名服务器

  • 负责管理在该顶级域名服务器注册的所有二级域名。也叫 TLD 服务器
  • 当收到 DNS 查询请求时,就给出对应的回答(可能是最后的结果,也可能是下一步应查找的域名服务器的 IP 地址)

1.1.3 权限域名服务器

  • 负责一个区的域名服务器
  • 当收到 DNS 查询请求时,就给出对应的回答(可能是最后的结果,也可能是下一步应查找的权限域名服务器的 IP 地址)

1.1.4 本地域名服务器

  • 本地域名服务器也被称为默认域名服务器
  • 当一个主机发起 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器
  • 每一个互联网提供商 ISP,或一个大学都可以拥有一个本地域名服务器

1.2 提高域名服务器的可靠性

DNS 域名服务器把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器

  • 当主域名服务器出故障时,辅助域名服务器可以保证 DNS 的查询工作不会中断
  • 主域名服务器会定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样保证了数据的一致性。

1.3 域名的解析过程

  • **主机向本地域名服务器的查询一般都是采用递归查询**。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,本地域名服务器就以 DNS 客户的身份,对其他根域名服务器继续发出查询请求报文
  • **本地域名服务器向根域名服务器的查询一般都是采用迭代查询**。当根域名服务器收到本地域名服务器的迭代请求报文时,可以给出要查询的 IP 地址,或者告诉本地域名服务器下一步应该向哪一个域名服务器进行查询。

img

img

2. 文件传送协议 P28

3. 万维网

3.1 概述

万维网 WWW(World Wide Web)不是某种特殊的计算机,而是一个大规模的、联机式的信息储藏所

img

  • 万维网是分布式超媒体系统, 是超文本系统的扩充。一个超文本由多个信息源链接成超媒体与超文本的区别是文档内容不同。超文本文档只包括文本信息,而超媒体文档还包括图形、声音等信息。
  • 万维网以客户-服务器方式工作。
  • 万维网使用统一资源定位符 URL来标志万维网上的各种文档,每一个文档在整个互联网的范围内具有唯一的标识符 URL。
  • 使用超文本传送协议 HTTP在万维网客户程序与万维网服务器程序之间进行交互。HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。

3.2 统一资源定位符 URL

资源定位符 URL 是对可以从互联网上得到的资源的位置和访问方法的一种简洁表示。

URL 相当于一个文件名在网络范围的扩展,URL 是与互联网相连的机器上的任何可访问对象的一个指针

img

在 URL 中的字符对大小写没有要求。主机是存放资源的主机在互联网中的域名

3.3 超文本传送协议 HTTP

3.3.1 HTTP 的操作过程

作用:通过使用 HTTP 协议来传送必须的信息,使超文本的链接能够高效率地完成

从层次的角度看,HTTP 是面向事务的应用层协议。

img

  • 每个万维网网点都有一个服务器进程,不断监听 TCP 的端口,以便发现是否有浏览器对它发出连接建立请求。
  • 一旦监听到连接建立请求并建立了 TCP 连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应。最后,TCP 连接被释放。
  • 在浏览器和服务器之间的请求响应的交互,必须按规定的格式和规则。这些格式和规则就是超文本传输协议 HTTP
  • HTTP 报文通常使用 TCP 连接传送

3.3.2 HTTP 的主要特点

  • HTTP 使用了面向连接的 TCP作为运输层协议,保证了数据的可靠传输
  • HTTP 协议本身是无连接的
  • HTTP 是面向事务的客户服务器协议
  • HTTP1.0 协议是无状态的
  • HTTP/1.1 协议使用持续连接。即万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(如浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。

img

3.3.3 代理服务器

  • 代理服务器又称为万维网高速缓存,它代表浏览器发出 HTTP 请求
  • 代理服务器把最近的一些请求和响应暂存在本地磁盘中。当与暂存的请求相同的新请求到达时,代理服务器就把暂存的响应发送出去,而不需要按 URL 的地址再去互联网访问

3.3.4 HTTP 的报文结构

HTTP 有两类报文

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

img

img

img

状态码:

  • 1xx:表示通知信息,如请求收到了或正在进行处理
  • 2xx:表示成功,如接受或知道了
  • 3xx:表示重定向,表示要完成请求还需要采取进一步的行动
  • 4xx:表示客户端出错,如请求中有错误的语法或不能完成
  • 5xx:表示服务器出错,如服务器失效

3.3.5 Cookie

  • 万维网站点可以使用 Cookie 来跟踪用户
  • Cookie表示在 HTTP 服务器和客户端之间传递的状态信息。
  • 使用 Cookie 的网站服务器为客户产生一个唯一的识别码。利用这个识别码,网站就能够跟踪该用户在该网站的活动。

4. 电子邮件

4.1 概述

电子邮件的重要标准

  • 简单邮件发送协议:SMTP
  • 互联网文本报文格式
  • 通用互联网邮件扩充 MIME
  • 邮件读取协议:POP3 和 IMAP

电子邮件的组成

  • 用户代理(UA):用户与电子邮件系统的接口,基本功能:撰写、显示、处理和通信
  • 邮件服务器:按照客户 - 服务器方式工作,在发送和读取邮件时使用两个不同的协议 SMTP,POP3,功能:发送和接收邮件,同时向发件人报告邮件发送的情况
  • 邮件发送和读取协议:简单邮件发送协议 SMTP:用于在用户代理向邮件服务器或邮件服务器之间发送邮件,邮局协议 POP3:用于用户代理从邮件服务器读取邮件。SMTP 和 POP3(或 IMAP)都是使用 TCP 连接来传送邮件的,目的是可靠地传送邮件

img

发送和接受电子邮件的几个重要步骤

  1. 发件人调用 PC 中的用户代理撰写和编辑要发送的邮件
  2. 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器
  3. SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送
  4. 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后把邮件缓存队列中的邮件依次发送出去
  5. 运行在接收方邮件服务器中的 SMTP 服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取
  6. 收件人在打算收信时,就运行 PC 中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件

4.2 简单邮件传送协议 SMTP

  • SMTP 规定了在两个相互通信的 SMTP 进程交换信息的方法
  • SMTP 使用客户 - 服务器方式
  • SMTP 基于 TCP 实现客户与服务器的通信
  • SMTP 客户与服务器之间采用命令 - 响应方式进行交互
  • SMTP 是一个基于文本的协议
  • SMTP 基于 TCP 实现客户与服务器之间的通信

img

4.2.1 SMTP 通信的三个阶段

  • 连接建立:连接是在发送主机的 SMTP 客户和接受主机的 SMTP 服务器之间建立的。SMTP 不使用中间的邮件服务器
  • 邮件传送
  • 连接释放:邮件发送完毕后,SMTP 要释放 TCP 连接

4.3 电子邮件的信息格式

  • 一个电子邮件分为信封内容两部分

img

img

4.4 邮件读取协议 POP3 和 IMAP

POP3:邮局协议第三个版本

  • POP3 使用客户 - 服务器方式
  • POP3 基于 TCP 实现客户与服务器的通信
  • POP3 支持用户鉴别

IMAP:网际报文存取协议

  • IMAP 使用客户 - 服务器方式
  • IMAP 基于 TCP 实现客户与服务器的通信
  • IMAP 是一个联机协议

img

img

4.5 基于万维网的电子邮件

img

4.6 通用互联网邮件扩充 MIME

增加邮件主体的结构,并定义传送非 ASCII 码的编码规则。

img

img

img