📜  为什么 smtp 在应用程序层上工作 (1)

📅  最后修改于: 2023-12-03 15:35:58.258000             🧑  作者: Mango

为什么 SMTP 在应用程序层上工作

SMTP(Simple Mail Transfer Protocol)是用于电子邮件传输的协议。SMTP工作在应用程序层上,而不是网络层或传输层。这是因为SMTP是一种传输层协议,它需要在应用程序层上使用一定的逻辑和算法来传递电子邮件。

SMTP协议简介

SMTP协议包括两个进程,一个是邮件传送代理(MTA),另一个是邮件用户代理(MUA)。MTA用于接收、传送和路由电子邮件,而MUA用于创建和编辑电子邮件。

SMTP协议使用TCP协议,基于请求/响应模型。SMTP客户端发送命令,SMTP服务器响应该命令。SMTP客户端和服务器之间的通信通常使用25端口。

SMTP工作原理

SMTP协议工作原理如下:

  1. SMTP客户端与服务器建立TCP连接。
  2. SMTP客户端发送HELO命令以初始化SMTP会话。
  3. SMTP客户端向服务器发送邮件发送者的电子邮件地址、邮件接收者的电子邮件地址和邮件正文。
  4. SMTP服务器验证邮件发送者的身份,并尝试将邮件发送到接收者的SMTP服务器。
  5. 如果接收者的SMTP服务器可用,SMTP服务器将邮件传输到接收者的SMTP服务器。
  6. 邮件接收者的SMTP服务器将邮件存储在接收者的邮件队列中,以供其MUA随后检索。
为什么SMTP在应用程序层上工作

SMTP协议在应用程序层上工作的原因是,SMTP需要进行一系列逻辑和算法,以确保电子邮件成功传递,这是在网络层或传输层无法实现的。 SMTP协议需要检查电子邮件的身份、邮件消息头和正文、邮件信封、邮件路由和转发等方面,这些都需要在应用程序层上执行。

另外,SMTP协议还需要支持网络和传输层所提供的稳健而可靠的通信机制,以确保邮件成功传递。SMTP协议中使用的TCP协议可以提供这种可靠性。

因此,SMTP协议需要工作在应用程序层上,以实现更高级别、更复杂的功能。

结论

SMTP在应用程序层上工作是因为它需要进行逻辑和算法,以确保邮件成功传递,并且需要支持网络和传输层提供的稳健而可靠的通信机制。SMTP作为一种传输层协议,需要使用适当的逻辑和算法来实现更高级别、更复杂的功能。