Le service de messagerie (instantanée ou non) est sans doute le plus
utilisé de nos jours quotidiennement. Enfin, en dehors de Facebook.
Chacun de nous est amené à consulter ses mails régulièrement, voire à
en rédiger. La messagerie électronique nous a facilité la tâche en
réduisant le temps de rédaction et d'acheminement d'un courrier. Ça vous
dirait de voir comment ça se passe dans les coulisses ? Nous allons
donc étudier le fonctionnement d'un protocole nous permettant d'envoyer
un message électronique.
Présentation rapide de SMTP
SMTP (Simple Mail Transfer Protocol
: « protocole simple de transfert de courrier ») a été créé dans les
années 1970, aux débuts d'Internet. Comme tout bon protocole qui se veut
être un standard, il a fallu qu'il soit spécifié par une requête de
commentaires (RFC). C'est donc en 1982 qu'il est spécifié par la RFC 821. Une RFC de 2008 comprenait des mises à jour de la première implémentation de ce protocole : la RFC 5321.
SMTP
a commencé à être massivement utilisé au début des années 1980. Il sert
principalement à envoyer des mails. Comme son nom l'indique, il s'agit
d'un protocole de transmission et non de réception. Cependant, les
serveurs de messagerie utilisent SMTP pour faire les deux, c'est-à-dire
la transmission et la réception, cette dernière n'étant en fait qu'une transmission, n'est-ce pas ? Comment ça, vous ne le saviez pas ?
En voici une démonstration :
- Vous écrivez une lettre (physique) à un ami au Japon.
- La lettre arrive à la poste centrale du Japon.
- La poste centrale va à son tour transmettre la lettre au domicile de votre camarade.
Vous avez confié la lettre à la poste, qui l'a envoyée au destinataire.
Pour vous et pour la poste, il s'agit d'une transmission ; pour votre
ami, d'une réception. La réception n'est donc qu'une autre transmission.
Ainsi, les serveurs de messagerie utilisent SMTP pour la transmission et
la réception, tandis que les clients de messagerie utilisent SMTP pour
l'envoi et un autre protocole (POP ou IMAP) pour la réception.
Les protocoles qui assurent la transmission se trouvent dans la couche
de transport. Par conséquent, un protocole de transfert de la couche
application (comme SMTP) ne peut se passer d'un protocole de
transmission de la couche transport (UDP ou TCP)
Cheminement d'un courriel
Maintenant,
nous allons voir les étapes par lesquelles passe un courriel avant
d'atteindre son destinataire. Comme il est de coutume dans ce tutoriel,
nous allons commencer par une analogie qui ne doit pas vous être
inconnue. Pierre habite à Paris. Il veut écrire une lettre à
André, qui habite Lyon. Dans notre scénario, la procédure de
transmission/réception de la lettre se fera ainsi :
- Pierre écrit la lettre.
- Le facteur vient la chercher.
- La lettre arrive à la poste locale.
- La poste envoie la lettre à Lyon.
- Elle arrive à la poste locale de Lyon.
- Un facteur est chargé de la porter au domicile d'André.
- André reçoit la lettre.
Hormis
l'étape 1 (écriture de la lettre) et l'étape 7 (réception), la lettre
est passée entre les mains du facteur, de la poste locale, de la poste
distante (celle de Lyon) et d'un autre facteur. Soit quatre étapes.
Voici un schéma illustrant ces étapes :
Et alors, où est le rapport avec le protocole SMTP ?
Avez-vous déjà oublié que la technologie s'inspire de la vie quotidienne
? Le protocole SMTP suivra exactement le même principe et votre mail
passera lui aussi par quatre étapes : le facteur, la poste locale, la
poste distante et un autre facteur (voir schéma suivant).
Quoi, il y a des bureaux de poste dans les réseaux ?
Mais bien sûr. C'est d'ailleurs pour cela qu'il existe un protocole POP, acronyme de Post Office Protocole, soit littéralement « protocole de bureau de poste »
D'abord vous nous dites que notre courriel passera par le facteur, la
poste locale, etc. Mais maintenant vous nous parlez de MUA, de MTA........Et alors ? Remplacez X par sa valeur !
Le facteur de transmission correspond sur le schéma au MSA, les deux
bureaux de poste sont des MTA et le facteur de réception est un MDA.
Commençons par le MUA
Considérons
que le papier et le stylo que vous utilisez pour écrire une lettre
forment une « application de rédaction ». Dans la couche applicative,
qui nous sert d'interface avec les services réseaux, le MUA (Mail User Agent
: « client de messagerie ») n'est autre que l'application de rédaction
d'un courriel, un client de messagerie. C'est une application, comme
Outlook ou Thunderbird, qui vous permet de retirer des mails de votre
boîte de réception et d'en écrire.
Je n'utilise aucun logiciel pour le retrait de mes mails, je le fais
directement sur Hotmail/Yahoo/Gmail/autre. Alors, qu'en est-il ?
Hotmail et Cie sont également des MUA, plus précisément des webmails. Ce sont des applications auxquelles on accède par l'intermédiaire d'un navigateur.
Alors,
dans notre schéma, Pierre utilise Outlook/Yahoo/autre pour écrire un
courriel et clique sur… « Envoyer ». Direction : le MSA !
C'est quoi, ce MSA ?
MSA signifie Mail Submission Agent,
soit « agent de soumission de courrier ». Comme son nom l'indique, son
rôle est donc de soumettre le mail. O.K., mais à qui ? Dans notre
scénario, le MSA est le facteur de transmission. Votre lettre ne peut
pas quitter directement Pékin pour la terre Adélie, n'est-ce pas ?
Surtout qu'il n'y a aucun habitant en terre Adélie. C'est pour
l'exemple.
Le facteur se chargera de la conduire à la poste où les mesures
nécessaires d'envoi seront prises pour l'acheminement de votre courrier à
son destinataire, dans les plus brefs délais et dans des conditions
normales de température et de pression satisfaisantes. Un MSA n'est en
fait qu'un autre logiciel-interface, c'est-à-dire un intermédiaire entre
votre client de messagerie et le serveur de messagerie (serveur Gmail
ou autre).
Il est
possible de fusionner un MTA et un MSA. Dans ce cas, on parle seulement
de MTA — mais ce dernier assure également le rôle d'un MSA. Comme si,
pour en revenir à notre scénario, vous décidiez d'aller vous-même
déposer votre lettre à la poste locale au lieu de passer par un facteur.
MTA, l'agent de Jack Bauer de transfert
Un MTA ou Mail Transfer Agent
est l'agent de transmission du courriel, tout comme le bureau de poste
est l'agent de transmission de votre courrier. Mais le bureau de poste
reçoit également les courriers externes pour les expédier à leurs
destinataires respectifs. Voilà pourquoi nous voyons sur le schéma que
le courrier passe d'un MTA à un autre, de la même manière que la lettre
de Pierre passe du bureau de poste local de Paris à celui de Lyon.
Quand
vous écrivez un mail à une personne dont l'adresse appartient à un
autre domaine que la vôtre, il passe par un second MTA. Cependant,
lorsqu'il s'agit d'un mail interne à un même domaine, il est directement
pris en charge par le MDA sans passer par le second MTA. Un exemple ?
Si Pierre écrit un courrier à Jacques et qu'ils habitent tous deux à
Paris, la lettre ira à la poste locale via le facteur de
transmission. Une fois à la poste, on enverra simplement un facteur de
réception livrer la lettre puisqu'il est inutile de passer par la poste
d'une autre ville.
Voici un schéma illustrant le transfert d'un mail entre deux clients dans un même domaine.
Voici à présent un autre schéma illustrant le transfert d'un mail entre deux clients de domaines différents.
Le MTA de Gmail étudiera la partie qui se trouve après le caractère @
dans l'adresse du destinataire afin de vérifier s'il s'agit d'un
transfert de mail à un client du même domaine (un client Gmail en
l'occurrence). Il se rendra compte que hotmail.com ne concerne pas son domaine et enverra donc le courriel au MTA du domaine de Hotmail.
Pour terminer : le grand MDA
Pour comprendre ce qu'est le MDA (Mail Delivery Agent : « agent livreur de courrier »), posons-nous deux questions.
Qu'est-ce qu'un livreur de pizzas ?
Un livreur de pizzas, c'est quelqu'un qui livre des pizzas. (lol)
Quelle est la différence entre le facteur de transmission et le facteur de réception dans notre schéma ?
Voilà
une question sérieuse ! Les deux sont des facteurs, les deux livrent
donc des pizzas du courrier. Sauf que vous envoyez vous-même le premier
(facteur de transmission) livrer le courrier, alors que le second
(facteur de réception) est envoyé par le bureau de poste. Vous commandez
une pizza, la demande est traitée et on vous envoie un livreur,
n'est-ce pas ? Mais ce n'est pas vous qui avez donné l'ordre directement
au livreur de vous apporter la pizza.
Voilà
pourquoi nous faisons une nette distinction entre les deux facteurs.
L'un s'appelle MSA et l'autre MDA pour les raisons évoquées ci-dessus.
Nous disons au MSA : « Écoute, va transmettre ce mail à X » ; tandis que
le MTA dit au MDA :« Tiens, X a reçu un mail, viens le chercher et le
stocker. »
Nous pourrions aussi considérer le MDA comme une vraie boîte aux lettres
où les courriers sont stockés en attendant que leur destinataire vienne
les chercher. Cependant, en vertu du scénario établi, le MDA sera
considéré comme le facteur de réception qui vient déposer le courrier
dans votre boîte aux lettres.
Quand les protocoles s'emmêlent...
Du
MUA de Pierre au dernier MTA impliqué dans le processus de
transmission, c'est le protocole SMTP qui est utilisé. Entre le MDA et
le dernier MUA (celui d'André), c'est un protocole de réception qui est utilisé : POP, POP2 ou IMAP.
Vous pouvez également vous rendre compte que les MTA utilisent SMTP pour la transmission et la réception comme nous l'avons indiqué un peu plus haut.
Le Protocole POP
POP (Post Office Protocole : « protocole de bureau de poste ») a l'avantage d'être simple et efficace et surtout, il est supporté par tous les clients de messagerie. Pour comprendre le rôle assuré par ce protocole, nous allons examiner le rôle d'un bureau de poste dans la vie courante.
Le Protocole POP
POP (Post Office Protocole : « protocole de bureau de poste ») a l'avantage d'être simple et efficace et surtout, il est supporté par tous les clients de messagerie. Pour comprendre le rôle assuré par ce protocole, nous allons examiner le rôle d'un bureau de poste dans la vie courante.
Le bureau de poste a pour fonction principale de traiter les courriers : il les reçoit et les distribue à leurs destinataires respectifs. Il est également en contact avec les autres bureaux de poste distants.
En réseau, en ce qui concerne la messagerie électronique, le protocole POP fait plus ou moins la même chose. La différence avec un véritable service postal est que deux bureaux de poste de villes différentes peuvent échanger du courrier, alors que le protocole POP ne peut pas en envoyer. POP n'est qu'un protocole de retrait : il permet d'aller chercher un mail se situant sur un serveur de messagerie, mais pas d'en envoyer. L'envoi est assuré par le protocole SMTP.
Il existe trois versions de ce protocole : POP1, POP2 et POP3, La RFC 2595 sécurise le protocole POP en l'utilisant de pair avec le protocole SSL (Secure Socket Layer) : on parle donc aussi de POP3S, avec un s pour SSL. Le protocole SSL a depuis été renommé TLS (Transport Layer Security)
Le protocole POP permet bien sûr de récupérer son courrier, mais aussi d'en laisser une copie sur le serveur. Cela est particulièrement utile si l'on ne peut plus accéder pour une raison quelconque (panne…) aux e-mails déjà téléchargés : on peut toujours les télécharger de nouveau. Néanmoins, il n'a pas vraiment été conçu pour cela, contrairement à IMAP.
Le Protocole IMAP
IMAP (Internet Message Access Protocol) est un protocole de lecture d'e-mails. Contrairement à POP, il n'a pas été conçu pour recevoir des messages mais pour les consulter directement depuis un serveur. Cette consultation s'apparente à du clouding, c'est-à-dire l'accès par Internet à des données qui ne se trouvent pas sur notre disque dur. IMAP est assez avancé puisqu'il permet de gérer ses messages directement sur un serveur distant pour organiser nos messages en dossiers, par exemple. Il supporte également TLS. Dans le cas d'IMAP, le clouding est à la fois un avantage et un inconvénient : on peut accéder à ses messages depuis n'importe quel ordinateur, à condition d'être connecté à son compte de messagerie. Quelques clients permettent néanmoins de télécharger les messages pour pallier ce problème. Certains clients de messagerie ne gèrent pas très bien le protocole IMAP, qui est défini par la RFC 3501.
Bonne chance
mohameddouhaji7@gmail.com