SMTP是基于TCP还是UDP?

Jer*_*Cai 30 udp tcp smtp network-protocols

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

Bad*_*olf 35

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

RFC 821,RFC 2821RFC 5321中所定义:

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

此外,Internet Assigned Numbers Authority已为TCP和UDP 分配端口25以供SMTP使用.

然而,在实践中,大多数组织和应用程序仅选择实施TCP协议.例如,在Microsoft的端口列表中,端口25仅列出TCP而不是UDP.


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

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