SMTP是基于TCP还是UDP?

时间:2013-05-29 08:42:07

标签: tcp smtp udp network-protocols

SMTP是基于TCP还是UDP?我实在无法确认。在我看来,SMTP应该基于UDP,但是有人告诉我必须是TCP。

2 个答案:

答案 0 :(得分:32)

理论上,SMTP可以通过TCP,UDP或某些第三方协议来处理。

根据RFC 821RFC 2821RFC 5321

中的定义
  

SMTP独立于特定的传输子系统和      只需要一个可靠的有序数据流通道。

此外,互联网号码分配机构已为TCP和UDP分配port 25以供SMTP使用。

但实际上,大多数组织和应用程序只选择实施TCP协议。例如,在Microsoft's port listing端口25仅列出TCP而不是UDP。


使TCP成为理想状态的TCP和UDP之间的最大区别在于TCP检查以确保每个数据包都被接收并重新发送它们(如果不是),而UDP只是发送数据包而不检查接收。这使得UDP非常适合像流视频这样的事情,其中​​每个数据包都不像保持从服务器到客户端的连续数据包流一样重要。

考虑到SMTP,使用TCP over UDP更有意义。 SMTP是一种邮件传输协议,在邮件中,每个数据包都很重要。如果您在邮件中间丢失了几个数据包,则收件人可能甚至不会收到该邮件,如果他们这样做,则可能会丢失密钥信息。这使TCP更合适,因为它确保每个数据包都已交付。

答案 1 :(得分:-2)

似乎SMTP作为Internet标准仅使用可靠的传输协议。 RFC821以TCP,NCP,NITS为例!