我们继续衔接上一节的内容,接下来将介绍2.3、2.4、2.5节内容
2.3 因特网中的电子协议
2.3.1 SMTP
SMTP 是因特网电子邮件的核心。
是因特网电子邮件中
主要的应用层协议
它使用
TCP
可靠数据传输服务,从发送方的邮件服务器向接收方的邮件服务器发送邮件。
图 因特网电子协议的总体描述
图 Alice向Bob发送一条报文的图示
SMTP
一般不使用中间邮件服务器发送邮件,即使这两个邮件服务器位于地球的两端也是这样 假设 Alice
的邮件服务器在中国香港,而
Bob
的服务器在美国圣路易斯,那么这个 TCP
连接也是从香港服务器到圣路易斯服务器之间的直接
相连
特别是,如果
Bob
的邮件服务器没有开机,该报文会保留在
Alice
的邮件服务器上并等待进行新的尝试,这意味着邮件并不在中间的某个邮件服务器存留。
2.3.2 与HTTP的对比
相同点:
- 两个协议都用于从一台主机向另 台主机传送文件: HTTP Web 服务器向 Web 客户 (通常是一个浏览器)传送文件(也称为对象); SMTP 从一个邮件服务器向另一个邮件服务器传送文件(即电子邮件报文)
- 当进行文件传送时,持续的 HTTP SMTP 都使用持续连接。
不同点:
- HTTP 主要是一个拉协议 (pull protocol) , 即在方便的时候,某些人在 Web 服务器上装载信息,用户使用 HTTP 从该服务器拉取这些信息。SMTP 基本上是一个推协议 (push protocol) , 即发送邮件服务器把文件推向接收邮件服务器 特别是,这个 TCP 连接是由要发送该文件的机器发起的。
- SMTP 要求每个报文(包括它们的体)采用7比特 ASCII 码格式 如果某报文包含了非7比特 ASCII 字符(如具有重音的法文字符)或 进制数据(如图形文件),则该报文必须按照7比特 ASCII 码进行编码 HTTP 数据则不受这种限制。
- 在处理包含文本和图形的文档时,HTTP 把每个对象封装到它自己的 HTTP 响应报文中而SMTP 则把所有报文对象放在 个报文之中。
2.3.3 邮件报文格式
2.3.4 邮件访问协议
根据上图我们可以知道:SMTP
用来将邮件从发送方
的邮件
服务器传输到接收方的邮件服
务器;
SMTP
也用来将邮件从发送方的用户代理传送到发送
方的邮件服务器 POP3
这样的邮件
访问协议用来将邮件从接收方的邮件服务器传送到
接收方的用户代理。
2.4 DNS:因特网的目录服务
2.4.1 DNS提供的服务
需要一
种能进行主机名到
IP
地址转换的目录服务
这就是
域名系统
(
Domain
Name
System,
DNS)
的主要任务。
DNS
是:
(1)
一
个由分层的
DNS
服务器 (
DNS
server) 实现的分布式数据库;
(2)一
个使得主机能够查询分布式数据库的应用层
协议
DNS 服务器通常是运行
BIND
(Berkeley
Internet Name
Domain)
软件[
BIND
2012]
的UNIX 机器
DNS
协议运行在
UDP
之上,使用
53
号端口。
2.4.2 DNS工作机理概述
1、分布式、层次数据库
图 部分 DNS 服务器的层次结构
- 根DNS 服务器
- 顶级域 (DNS) 服务器
- 权威 DNS 服务器
根、
TLD
和权威
DNS
服务器都处在该
DNS
服务器的层次结构中,如上图
所示 还有另一类重要的 DNS
服务器,称为本地
DNS 服务器 (local DNS server)
图 各种DNS服务器交互