• [^] # Re: le nat

    Posté par (site web personnel) . En réponse au journal Le chat audio et la video conference libre.... Évalué à 3.


    Si tu veux que ton trafic audio/video ne passe pas par un serveur IAX2 publique, mais puisse se faire directement entre 2 softphones, comment fais-tu sans redirection de port en cas de NAT symmétrique ?

    Pour rappel, avec le NAT symmétrique, le port UDP alloué à ton client derrière ton routeur NAT va dépendre du couple IP / Port distant avec lequel tu discutes. Bref, le quintuple (port interne, IP interne, port sur le routeur NAT, port externe, IP externe) est unique.


    Perdu, on peux ;)

    http://en.wikipedia.org/wiki/UDP_hole_punching
    (pas trouvé la version en français y a pas de lien direct)

    Mais grosso modo on se sert d'un serveur relais pour initialiser la connexion...

    A se connecte a relais C
    B se connecte a relais C
    C envoie à A le port UDP de sa connexion à B
    C envoie à B le port UDP de sa connexion à A
    A se connecte a B sur ce port UDP
    B se connecte a A sur ce port UDP

    Et paf ils ont un canal bidirectionnel entre eux ;)

    ps : y a un léger soucis avec un NAT un peu évolué qui serait regardant sur l'ip publique d'origine des paquets arrivant sur ce port...
    (il me semble avoir lu ça a l'époque où je m'y intéressais)