Wei*_*ing 5 email networking xmpp network-protocols
当我向某人发送电子邮件时,(我认为)我的电子邮件被发送到我的家庭服务器,然后该电子邮件被发送到目标服务器,然后最终被发送给我想发送给的人。
有时,这需要多次跳跃,这使我感到困惑。为什么这需要多跳?为什么不能将电子邮件直接发送到目标服务器?例如,XMPP不需要多跳。
典型的电子邮件事务使用出站邮件服务器,该服务器查找收件人的传入服务器,将其发送到那里,然后该服务器将其传递给收件人的邮箱服务器。这是 3 个跃点:
\n
当您发送消息时,您从电子邮件客户端(更准确地说:邮件用户代理,MUA)连接到出站SMTP服务器。这是第一跳,您的 SMTP 服务器会创建一个Received标头来表示它以便稍后进行审核。这将包括它看到您连接的 IP、该特定服务器内部的消息 ID,有时还包括一些其他信息。
然后,您的出站 SMTP 服务器在 DNS 中查找每个收件人域的 MX(邮件交换)记录,并连接到它可以找到的最高优先级中继(数字上最低的 MX 优先级)。这是第二跳。与任何跃点一样,Received都会添加标头。
MX 中继通常会进行反垃圾邮件过滤,可能会在 SMTP 连接期间拒绝邮件。这就是生成退回邮件的原因,您的出站 SMTP 服务器会直接向您发送该邮件(如果它是通过 Internet 发送的,则存在被反向散射(一种垃圾邮件形式)的风险,因为无法证明退回邮件是合法的)。通常,反垃圾邮件过滤是稍后完成的,并且消息会被静默丢弃或以标记形式传递。
\n然后,MX 中继将邮件在内部传递到您的邮箱 (IMAP/Exchange) 服务器(跃点 #3)。有时,本地邮箱服务器过滤器用于处理模式(或来自 MX 服务器的标记)并促进各种操作,例如将可疑垃圾邮件归档到垃圾邮件文件夹中。
\n如果您使用邮件转发服务,MX 中继会将您的邮件传递到转发目标(另一个 MX 中继)。理论上,这可以持续相当长一段时间,甚至无限循环,但它最终应该在邮箱服务器中结束。
\n另请参阅正式的 SMTP 规范RFC 5321。
\n如果您使用网络邮件,则网络邮件服务器就是您的电子邮件客户端。一些网络邮件服务器添加类似于标头的标头来Received跟踪连接,因此垃圾邮件过滤器可以将其信誉检查扩展到用户而不是网络邮件系统,这可以被描述为另一个跃点。
在企业级环境中,多层服务器用于各种目的是很常见的。这些额外的跃点发生在 MX 中继和邮箱服务器之间,并且可能与额外的反垃圾邮件或防病毒处理、高级邮件别名、电子邮件归档、园区之间的内部邮件路由或任何其他事物相关。例如,这些可以简化从一个邮件系统到另一个邮件系统的转换(例如在 Exchange 版本之间迁移,这可能需要大量测试和缓慢的迁移,以便问题不会影响整个公司)。
\nEri*_* J. -1
从根本上来说,这与互联网的最初目的有关,或者更确切地说,它的前身阿帕网(ARPANET)的设计目的是为了在网络部分丢失的情况下生存(在流行的误解中,这个设计目标的存在不是为了在核攻击中生存,而是因为当时的网络组件相当不可靠)。
数据包交换网络旨在找到从数据包起始位置(您的电子邮件客户端)到其需要到达的位置(您要发送给的人的电子邮件客户端)的一条或多条路由。
为了实现这种灵活性,系统的设计不仅是直接从 A 点到 B 点的路线,而且是找到当前正在运行的可用路线(从可能非常大的可能路线集中)。
如果您的电子邮件客户端必须知道如何直接发送到世界上的所有其他设备,而不干预管理流量的子网,那么您的计算机将需要直接连接到世界上的所有其他计算机。那将是非常昂贵的。相反,中间的路由器接受来自您和您所在区域的其他人的数据包,并找出如何将每个数据包路由到更接近其目的地的位置。这类似于航空公司建立支线航班枢纽的方法。
| 归档时间: |
|
| 查看次数: |
1561 次 |
| 最近记录: |