计算机网络【应用层】邮件和DNS

发布于:2024-05-07 ⋅ 阅读:(24) ⋅ 点赞:(0)

电子邮件

在这里插入图片描述

  • 使用SMTP协议发送邮件之前,需要将二进制多媒体数据编码为ASCII码
  • SMTP一般不使用中间邮件服务器发送邮件,如果收件服务器没开机,那么会保留在发送方的服务器上进行尝试,不会在中间进行保留
  • SMTP使用的25端口
  • SMTP是推的动作,HTTP的拉的动作

SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议的缩写,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过 SMTP 协议所指定的服务器,就可以把 E-mail 寄到收信人的服务器上了,整个过程只要几分钟。SMTP 服务器则是遵循 SMTP 协议的发送邮件服务器,用来发送或中转你发出的电子邮件。

以下是关于 SMTP 的重要学习内容:

  1. 基本工作原理

    • SMTP 是一个基于文本的协议,用于在邮件服务器之间传输电子邮件。
    • 邮件从发件人的邮件客户端发送到发件人的 SMTP 服务器(也称为出站服务器)。
    • 然后,SMTP 服务器通过 Internet 将邮件发送到收件人的 SMTP 服务器(也称为入站服务器)。
    • 最后,收件人的邮件客户端从收件人的 SMTP 服务器上接收邮件。
  2. 邮件格式

    • SMTP 协议定义了邮件的头部和正文格式,通常使用 MIME(多用途互联网邮件扩展)来定义邮件内容类型和编码。
  3. SMTP 命令和响应

    • SMTP 协议使用命令和响应来建立连接、发送邮件和关闭连接。例如,HELO、MAIL FROM、RCPT TO、DATA、QUIT 等命令。
    • 响应代码以三位数字开头,后跟一个空格和文本描述。例如,250 表示成功,550 表示请求的用户不存在。
  4. 安全性

    • SMTP 是一个不加密的协议,因此传输的邮件内容可以被任何在传输路径上的设备读取。
    • 为了提高安全性,可以使用 SMTPS(SMTP over SSL)或提交邮件时使用 STARTTLS 命令将连接升级到加密的 TLS/SSL 连接。
  5. 认证

    • 许多 SMTP 服务器要求用户在发送邮件之前进行身份验证。这通常通过用户名和密码或其他认证机制来完成。
  6. 邮件中继和路由

    • SMTP 协议定义了邮件如何从一个服务器转发到另一个服务器,直到到达目标服务器。
    • 邮件服务器使用 DNS 中的 MX 记录来确定目标服务器的地址。
  7. 反垃圾邮件和过滤

    • 许多 SMTP 服务器实现了反垃圾邮件措施,如 IP 信誉检查、域名信誉检查、内容过滤等。
  8. SMTP 客户端和服务器软件

    • 邮件客户端软件(如 Outlook、Gmail 网页版等)使用 SMTP 协议将邮件发送到 SMTP 服务器。
    • 邮件服务器软件(如 Postfix、Sendmail、Exchange Server 等)实现了 SMTP 协议,用于接收、存储和转发邮件。

了解和掌握 SMTP 协议对于开发邮件客户端软件、配置邮件服务器以及进行网络故障排除都是非常重要的。

邮件报文格式:
在这里插入图片描述
在这里插入图片描述
POP3和IMAP,用来接收邮件的协议。取报文是一个拉的动作。

DNS

识别主机的两种方式,主机名和IP地址
从主机名到IP地址的目录服务,这就是DNS;

DNS(Domain Name System)是域名系统的缩写,它是互联网中用于将人类可读的域名(如 www.example.com)转换为计算机可读的IP地址(如 192.0.2.1)的系统。以下是关于DNS的一些详细解释:

  1. 工作原理

    • 当你在浏览器中输入一个网址(如 www.example.com)时,你的计算机首先会查询DNS服务器来找到与该域名对应的IP地址。
    • DNS服务器是一个分布式的数据库系统,它存储着域名和IP地址之间的映射关系。
    • 查询过程可能涉及多个DNS服务器,从根域名服务器开始,逐级向下查询,直到找到目标域名的IP地址。
  2. DNS记录类型

    • A记录(Address Record):将域名映射到IPv4地址。
    • AAAA记录(IPv6 Address Record):将域名映射到IPv6地址。
    • CNAME记录(Canonical Name Record):将一个域名映射到另一个域名,通常用于将子域名映射到主域名。
    • MX记录(Mail Exchange Record):指定哪个邮件服务器负责处理该域名的电子邮件。
    • NS记录(Name Server Record):指定哪些DNS服务器负责该域名的DNS解析。
    • TXT记录(Text Record):用于存储文本信息,常用于SPF(Sender Policy Framework)等安全验证。
  3. DNS解析过程

    • 递归查询:客户端向DNS服务器发送查询请求,DNS服务器负责查询整个DNS系统,直到找到目标IP地址,并将结果返回给客户端。
    • 迭代查询:客户端向DNS服务器发送查询请求,DNS服务器只返回下一级DNS服务器的地址,客户端再向该服务器发送查询请求,如此迭代,直到找到目标IP地址。
  4. DNS缓存

    • 为了提高查询效率,DNS查询结果通常会被缓存起来。缓存可以在客户端、本地DNS服务器或上级DNS服务器中进行。
    • 当缓存中的记录过期或需要更新时,会重新进行DNS查询。
  5. DNS安全

    • DNSSEC(DNS Security Extensions):一套扩展DNS安全性的协议,它提供了数据的来源验证、数据完整性检查和否认存在性证明。
    • DNS污染/劫持:攻击者通过修改DNS解析结果,将用户引导到错误的IP地址,从而实现欺诈、窃取信息等目的。使用HTTPS、VPN等加密通信方式可以降低这种风险。
  6. DNS提供商

    • 大多数域名注册商都提供DNS服务,但也有一些专门的DNS提供商,如Cloudflare、Google Domains等,它们提供了更丰富的功能和更好的性能。

总之,DNS是互联网中至关重要的一个系统,它确保了人们可以使用易于记忆的域名来访问网站和其他互联网服务。了解DNS的工作原理和常见安全威胁有助于更好地使用和保护你的网站和服务。

DNS提供的服务:

DNS(域名系统,Domain Name System)是互联网上用于将域名和IP地址相互映射的一个分布式数据库系统。它提供的服务主要包括:

  1. 域名解析:将用户输入的域名(如 www.example.com)转换为机器可以理解的IP地址(如 192.0.2.1)。

  2. 负载均衡:通过将一个域名解析到多个IP地址,DNS可以用于实现负载均衡,将请求分发到不同的服务器。

  3. 故障转移:当一个服务器出现故障时,DNS可以配置为将流量重定向到备用服务器。

  4. 缓存:DNS服务器会缓存查询结果,减少对权威DNS服务器的请求次数,加快解析速度。

  5. 安全性增强:通过DNSSEC(域名系统安全扩展),可以提供数据完整性校验和来源验证,增强DNS的安全性。

  6. 邮件服务器发现:DNS提供MX记录(Mail Exchange records),用于确定负责处理某个域名电子邮件的邮件服务器。

  7. 别名管理:使用CNAME(Canonical Name records)记录,可以将多个域名映射到同一个IP地址,实现别名管理。

  8. 地理定位:通过基于用户地理位置的DNS解析,可以将用户重定向到最近的服务器,改善服务体验。

  9. 反向DNS查找:DNS还支持将IP地址解析为域名,这称为反向DNS查找。

  10. 服务发现:在某些环境中,DNS可以用于服务发现,允许客户端通过域名自动发现服务的位置。

  11. 区域管理:DNS允许网络管理员定义网络的逻辑结构,通过区域(zones)来管理不同部分的DNS信息。

  12. 动态DNS:DDNS(动态DNS)服务允许用户动态地将变化的IP地址与域名关联起来,特别适用于拨号上网和移动设备。

  13. IPv6支持:随着IPv6的推广,DNS支持AAAA记录,用于IPv6地址的解析。

DNS是互联网基础设施的关键部分,它的服务对于网络的稳定运行和用户体验至关重要。

域名分级

  1. TLD:Top Level Domain 顶级域名
    组织域:.com, .net, .org, .gov, .edu, .mil
    国家域:.iq, .tw, .hk, .jp, .cn, …

  2. 域名分级
    根域名: .
    顶级域名:.com .edu .gov .int .net .cn .us .jp …
    二级域名:baidu.com microsoft.com jd.com qq.com aliyun.com edu.cn
    三级域名:map.baidu.com nankai.edu.cn
    四级域名:www.nankai.edu.cn cs.nankai.edu.cn

在这里插入图片描述

域名解析流程

在这里插入图片描述作者:wuxinliulei
在这里插入图片描述
1、首先客户端位置是一台电脑或手机,在打开浏览器以后,比如输入http://www.zdns.cn的域名,它首先是由浏览器发起一个DNS解析请求,如果本地缓存服务器中找不到结果,则首先会向根服务器查询,根服务器里面记录的都是各个顶级域所在的服务器的位置,当向根请求http://www.zdns.cn的时候,根服务器就会返回.cn服务器的位置信息。

2、递归服务器拿到.cn的权威服务器地址以后,就会寻问cn的权威服务器,知不知道http://www.zdns.cn的位置。这个时候cn权威服务器查找并返回http://zdns.cn服务器的地址。

3、继续向http://zdns.cn的权威服务器去查询这个地址,由http://zdns.cn的服务器给出了地址:202.173.11.10

4、最终才能进行http的链接,顺利访问网站。

5、这里补充说明,一旦递归服务器拿到解析记录以后,就会在本地进行缓存,如果下次客户端再请求本地的递归域名服务器相同域名的时候,就不会再这样一层一层查了,因为本地服务器里面已经有缓存了,这个时候就直接把http://www.zdns.cn的A记录返回给客户端就可以了。

DNS资源记录

在这里插入图片描述

记录一条域名信息映射关系,称之为资源记录(RR)。

当我们查询域名http://www.zdns.cn的时候,查询结果得到的资源记录结构体中有如下数据:

1、TTL,就是生存周期,是递归服务器会在缓存中保存该资源记录的时长。

2、网络/协议类型,它的代表的标识是IN,IN就是internet,目前DNS系统主要支持的协议是IN。

3、type,就是资源记录类型,一般的网站都是都是A记录(IPv4的主机地址)。

4、rdata是资源记录数据,就是域名关联的信息数据。

DNS服务器类型

DNS服务器一般分三种,根DNS服务器,顶级DNS服务器,权威DNS服务器
在这里插入图片描述