Warum ein STUN-Server Benötigt Zwei Unterschiedliche Öffentliche IP-Adressen
Ich nahm einen Blick an den STUN-Server-Einstellungen in openfire, und diese Aussage von dort:
"Handeln um einen STUN-server, zwei unterschiedliche öffentliche IP-Adressen auf der gleichen Maschine erforderlich sind, sowie zwei unterschiedliche port-Nummern für jede IP."
Habe ich recherchiert über google, und in der Regel stun-Server benötigen, zwei öffentliche IPs, was ist der Grund?
InformationsquelleAutor metdos | 2011-09-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil in einigen seltenen Fällen, das Verhalten von NAT-translation ist eine Funktion der Ziel-IP-Adresse. Das bedeutet, Sie müssen 'ping' zwei verschiedene IP-Adressen zu finden, die das genaue Verhalten von NAT - (gibt es eine Abhängigkeit von der Ziel-IP-Adresse oder nicht?)
Wenn Sie 'Ping', zweimal den gleichen server mit zwei verschiedenen ports, das wäre nicht decken diesen Fall korrekt (d.h., Sie würden nicht über alle Ihre Basen).
P. S.: Die beiden IP-Adressen müssen nicht auf dem gleichen server, es könnte auch anders sein-Servern.
InformationsquelleAutor Jérôme Verstrynge
Für Sie versuchen, P2P-verbindungen, die STUN-binding-request-und der response zu/von den STUN-service die primäre Adresse (IP und port) ist alles, was wirklich zählt. Die zugeordnete Adresse in der Antwort zurückgegeben Körper dieser Anforderung weitergegeben wird (via XMPP oder anderen service) auf den remote-Knoten, die den lokalen client aufzubauen versucht direkt die Kommunikation mit.
Die zweite IP und den port des STUN-Dienst überwacht sind nützlich für die Bestimmung der NAT-port-mapping-Verhalten und die NAT-Filterung Verhalten.
Indem Sie verbindliche Anforderungen an die Alternative IP:port auf den Dienst, ein client kann entdecken, ob sein NAT ist die konsistente Zuordnung der Semantik für lokale ports. In der event er bekommt verschiedene port-mapping-Werte für jeden test, den client schließen lässt es sich hinter einer "symmetric NAT" - das sind die schwer zu durchqueren ist für P2P.
Durch senden einer bind-Anforderung mit einem "change-request" - Attribut, bittet der service zu reagieren, von der anderen IP oder-port kann ein client erkennen, ob sein NAT nur Filter-Datagramme, die von remote-hosts nach IP-Adresse und port, oder Datagramme von alternativen ports auf hosts verschickt ausgehende Datagramme.
Mapping-Verhalten und-Filterung tests bieten nur begrenzte Informationen für die nachfolgenden P2P-verbindungen. Im Fall der Feststellung eines symmetrischen NAT wird zwischen dem host und dem Internet, wird von einigen Implementierungen kann beobachtet werden, dass die NAT eine konsistente inkrementelle Wert der port-Wert in jedem verbindliche Antwort. (z.B. den externen port beobachtet, durch den STUN-service um eins erhöht). Als solche, der Kunde kann das Angebot eine IP und die errieten die Portnummer für den remote-client, um zu versuchen zu senden, um statt der einen zugeordneten zurück von die erste verbindliche Anfrage. Oder der Kunde kann dieses Verhalten/Filter-test für die Protokollierung. Oder automatisch zuweisen ein relais im Falle der symmetrischen NAT.
die zweite IP ist nur erforderlich für die Bestimmung der NAT-Typ (also Diagnose und Fehlersuche), nicht für die eigentliche Lochung. Der client kann senden einer "binding request" an den server zu Fragen, für seine IP - /port-mapping. Diese verbindliche Anfragen kann darauf hinweisen, dass die Antwort kann der server die alternativen IP und/oder alternativen port. 99% der client-Anfragen stun.stunprotocol.org sind einfache Bindung-Anforderungen an/aus dem primären IP und port 3478. Eine Handvoll Kunden nutzen die port-Umleitung-Attribut. Es ist schon ein paar SIP-Telefone, die wollen, verwenden Sie beide Anschlüsse.
InformationsquelleAutor selbie
Ich vermute, dass es erforderlich ist, um den Typ von NAT wird durchgeführt - auch NAT nutzen die gleiche Quell-IP-Adresse und Kodierung der session-id über die port-Nummer (ich glaube es nennt sich cone-NAT aber nicht sicher), einige NAT verwenden eine Kombination der Quell-IP-und port-Kodierung der session-ID. Die Antwort des STUN-Servers muss der client ist anders, basierend auf dem NAT-Typ.
InformationsquelleAutor gby