Bonjour à tous,
suite à la lecture d'une news à propos de Jingle (ie. les specs pour ajouter du multiémdia au protocle XMPP), j'ai (re)découvert l'existence de techniques pour pouvoir traverser un NAT sans la classique redirection manuelle de ports.
Sauf que là où je croyais encore que dans la majorité des cas ce genre de 'workaround' ne fonctionnait que rarement dans la 'vraie vie', il semblerait qu'au contraire ce genre de technique marche désormais dans la majorité des cas.
Les acronymes qui reviennent souvent sont les suivants:
- Interactive Connectivity Establishment (ICE), qui semble regrouper:
- Simple Traversal of User Datagram Protocol through NAT (STUN), ce qui semble être l'utilisation des 'workaround' pour traverser les NAT
- Traversal Using Relay NAT (TURN), la notion de serveur relais comme solution de 'fallback'.
D'après ce que j'ai compris, ce sont des techniques plus ou moins complémentaires qu'il convient d'utiliser en parallèle si on veut maximiser les chances de succès.
D'où ma question: même si on trouve de-ci de-là quelques infos parcellaires, quelqu'un aurait-il par hasard des liens vers des articles et autres descriptions techniques (un poil moins denses que les draft IETF ) qui font le tour complet de la question ?
Question implémentations, j'ai déjà quelques noms (stun4j, reTurn), mais je n'ai encore pas eu le temps de m'y plonger sérieusement. Eventuellement si quelqu'un connaît des librairies (LGPL) qui implémentent déjà ce genre de mécanisme, en Java, et facilement abordables/utilisables, je serais preneur.
Enfin, tout retour d'expérience (avantages/inconvénients) serait également plus que bienvenu.
Merci d'avance
Partager