web-dev-qa-db-fra.com

SMTP est-il basé sur TCP ou UDP?

SMTP est-il basé sur TCP ou UDP? Je ne peux vraiment pas le confirmer. À mon avis, SMTP devrait être basé sur UDP, mais quelqu'un m'a dit que ce devait être TCP.

28
Jerry Cai

En théorie, SMTP peut être géré par TCP, UDP ou un protocole tiers.

Comme défini dans RFC 821 , RFC 2821 et RFC 5321 :

SMTP est indépendant du sous-système de transmission particulier et ne nécessite qu'un canal de flux de données ordonné fiable.

En outre, Internet Assigned Numbers Authority a alloué port 25 pour TCP et UDP pour une utilisation par SMTP.

Dans la pratique cependant, la plupart, sinon la totalité, des organisations et des applications choisissent uniquement d'implémenter le protocole TCP. Par exemple, dans liste des ports de Microsoft le port 25 est répertorié uniquement pour TCP et non UDP.


La grande différence entre TCP et UDP qui rend TCP idéal ici est que TCP vérifie pour s'assurer que chaque paquet est reçu et les renvoie à nouveau s'ils le sont pas alors que UDP enverra simplement des paquets et ne vérifiera pas la réception. Cela rend UDP idéal pour des choses comme le streaming vidéo où chaque paquet n'est pas aussi important que de garder un flux continu de paquets du serveur vers le client.

Compte tenu de SMTP, il est plus judicieux d'utiliser TCP sur UDP. SMTP est un protocole de transport de courrier, et dans le courrier chaque paquet est important. Si vous perdez plusieurs paquets au milieu du message, le destinataire peut même ne pas recevoir le message et s’ils le font, il se peut qu’il leur manque des informations clés. Cela rend TCP plus approprié car il garantit que chaque paquet est livré.

33
Bad Wolf