Pourquoi un serveur STUN a besoin de deux adresses IP publiques différentes
J'ai pris un coup d'oeil à ÉTOURDIR les paramètres du Serveur dans openfireet cette déclaration à partir de là:
"Afin d'agir comme un serveur STUN, deux adresses IP publiques sur la même machine sont nécessaires, ainsi que deux numéros de port différents pour chaque adresse IP."
J'ai fait des recherches sur google, et plus généralement à étourdir les serveurs ont besoin de deux adresses ip publiques, ce qui est une raison pour cela?
source d'informationauteur metdos
Vous devez vous connecter pour publier un commentaire.
Parce que dans quelques rares cas, le comportement de NAT la traduction est une fonction de l'adresse IP cible. C'est à dire, "ping" deux adresses IP différentes pour trouver le comportement précis de la NAT (faut-il dépendre de l'adresse IP cible ou pas?)
Si vous 'ping' deux fois le même serveur avec deux ports distincts, qui ne couvre pas ce cas correctement (c'est à dire, vous ne serait pas couvrir toutes vos bases).
P. S.: Les deux adresses IP n'avez pas besoin d'être sur le même serveur, il pourrait être de différents serveurs.
Pour tenter d'établir P2P connectivité, le STUN de liaison de demande et de réponse à/de l'ÉTOURDISSEMENT du service primaire (adresse IP et port) est tout ce qui compte vraiment. Le mappé adresse retournée dans le corps de la réponse de cette demande est transmise (via XMPP ou tout autre service) pour le nœud distant que le client tente d'établir directement la communication avec les.
La deuxième adresse IP et le port que le STUN de service est à l'écoute sur sont utiles pour déterminer les port NAT comportement de mappage et NAT, filtrage de comportement.
En faisant la liaison des demandes à l'autre IP:port sur le service, un client peut découvrir si son NAT est compatible cartographie sémantique pour les ports locaux. Dans le cas où il obtient différents mappage de port de valeurs pour chaque test, le client peut conclure, c'est derrière un "NAT symétrique" - qui sont les plus difficiles à traverser pour le P2P.
Par l'envoi d'une requête bind avec une "demande de modification" attribut qui demande le service pour répondre à partir de l'IP ou le port, un client peut détecter si son NAT juste filtres de datagrammes à partir des hôtes distants, basé sur l'IP et le port, ou permet de datagrammes à partir d'autres ports hôtes il a envoyé des datagrammes.
Le comportement de mappage et de filtrage des tests ne fournissent que peu d'informations pour la suite des connexions P2P. Dans le cas de la détermination d'un NAT symétrique entre l'hôte et de l'Internet, certaines implémentations peuvent observer la NAT pour avoir un ensemble cohérent augmentation de la valeur de la valeur du port dans chaque liaison de réponse. (par exemple, le port externe observée par le STUN de service augmente d'une unité). En tant que tel, le client peut offrir une adresse IP et deviné numéro de port pour le client à distance à essayer de l'envoyer à la place de celui mappés à partir de la première demande de liaison. Ou que le client peut utiliser ce comportement/de filtrage de test pour la journalisation. Ou pour attribuer automatiquement un relais dans le cas de NAT symétrique.
Je suppose qu'il est nécessaire d'identifier le type de NAT qui en font certains NAT va utiliser la même adresse IP source et de coder l'id de session via le numéro de port (je pense que c'est appelé cône de NAT, mais pas sûr), certains NAT allons utiliser une combinaison de la source IP et le port pour coder l'ID de session. La réponse du serveur STUN doit donner au client est différente selon le type de NAT.