Qu’est ce qu’un serveur STUN et TURN ?

Récemment dans un projet pour l’agence ou je travaille, j’ai du me renseigner sur la faisabilité d’une application web utilisant de la vidéo provenant d’un utilisateur. Cette vidéo est ensuite transférée à d’autres utilisateurs qui la regarde.
Bien évidemment, j’ai tout de suite pensé au WebRTC, cette technologie qui permet d’accéder à la webcam et au microphone depuis un navigateur.

Très rapidement je suis tombé sur une notion de STUN et TURN. J’ai donc du me renseigner sur ce que ces deux termes signifiait, et ce n’est pas forcément évident à comprendre du premier coup. Mais en fait ce sont des concepts qui sont assez facile expliqué avec des mots simple.

Un serveur STUN est un serveur qui va retourner à votre ordinateur/smartphone votre adresse IP publique. Tout simplement. WebRTC en a besoin pour communiquer ensuite avec les autres appareils. Il faut qu’il envoie son adresse IP publique à l’autre appareil pour que ce dernier puisse accéder à mon ordinateur. C’est comme si je souhaitait envoyer un message à quelqu’un, il faut d’abord que j’ai son adresse postale.

Un serveur STUN permet de faire cela. Cependant, une adresse IP publique ne suffit pas. Combien d’appareil connecté avez-vous chez vous ? Personnellement, j’ai au minimum 6 appareils connectés à Internet chez moi. Chacun de ces appareils ont une adresse IP différente. C’est celle qui est donnée par le router (votre box internet). Mais ça veut dire que l’adresse IP publique donnée par le serveur STUN, ne correspond pas à l’adresse de l’appareil que vous utilisez pour votre vidéo WebRTC. Avec cette adresse, comment est-ce qu’on sait si c’est l’ordinateur, le smartphone, la tablette, etc… ?

C’est là qu’intervient le serveur TURN. En gros, comme mon appareil est derrière une box, donc on ne peut pas accéder à mon appareil, alors je dois contacter un serveur TURN pour lui transmettre des données. Et aussi pour en recevoir. Donc ça veut dire aussi que tout transite par ces serveurs et donc ça consomme beaucoup de bande passante.

Voilà la petite explication des serveur STUN et TURN, ne prenez pas ça pour argent comptant, mais c’est ce que j’ai retenu, et rien de mieux que de l’écrire pour que ça reste dans ma mémoire. Si vous voyez une erreur, ou une mauvaise compréhension, n’hésitez pas à m’en faire part dans les commentaires.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *