【发布时间】:2018-05-28 10:12:45
【问题描述】:
SMTP 是基于 TCP 还是 UDP?我真的无法确认。在我看来,SMTP应该是基于UDP的,但是有人告诉我那一定是TCP。
【问题讨论】:
-
en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
SMTP uses TCP port 25
标签: tcp smtp udp network-protocols
SMTP 是基于 TCP 还是 UDP?我真的无法确认。在我看来,SMTP应该是基于UDP的,但是有人告诉我那一定是TCP。
【问题讨论】:
SMTP uses TCP port 25
标签: tcp smtp udp network-protocols
理论上 SMTP 可以由 TCP、UDP 或某些第 3 方协议处理。
如RFC 821、RFC 2821 和RFC 5321 中所定义:
SMTP 独立于特定的传输子系统,并且 只需要一个可靠的有序数据流通道。
此外,Internet 号码分配机构已为 TCP 和 UDP 分配了port 25,供 SMTP 使用。
然而,在实践中,大多数(如果不是全部)组织和应用程序只选择实施 TCP 协议。例如,在Microsoft's port listing 中,端口 25 仅针对 TCP 而非 UDP 列出。
TCP 和 UDP 之间使 TCP 成为理想的最大区别在于 TCP 检查以确保每个数据包都被接收并在没有接收到时重新发送它们,而 UDP 只会发送数据包而不检查接收。这使得 UDP 非常适合流式传输视频之类的应用,其中每个数据包都没有保持从服务器到客户端的连续数据包流重要。
考虑到 SMTP,使用 TCP over UDP 更有意义。 SMTP 是一种邮件传输协议,在邮件中每个单独的数据包都很重要。如果您在消息中间丢失了多个数据包,则收件人甚至可能不会收到该消息,如果他们收到了,他们可能会丢失关键信息。这使得 TCP 更合适,因为它确保每个数据包都被传递。
【讨论】:
似乎 SMTP 作为 Internet 标准仅使用可靠的传输协议。 RFC821有TCP、NCP、NITS等例子!
【讨论】: