Wie erstellen Sie eine peer-zu-peer-Verbindung ohne port-Weiterleitung oder ein centeralized server?
Ich erinnere mich, Lesen Sie einen Artikel über einen vorgeschlagenen Weg, dies zu tun. Wenn ich mich Recht erinnere, haben die Forscher erfolgreich erstellt eine Verbindung zu einem client in einem anderen Netzwerk ohne port-Weiterleitung durch senden von HTTP-Pakete an jeden anderen (Alice behauptet, dass Bob ist ein HTTP-web-server, während Bob vorgibt, Alice ist ein web-server).
Ich bin mir nicht sicher, ob das Sinn macht, aber weiß jemand, wo ich den Artikel finden, oder hat jemand andere Ideen wie die Verbindung von zwei clients miteinander ohne einen zentralen server oder port-forwarding?
Ist es überhaupt möglich?
Edit: ich würde wissen, die IPs der beiden Rechner und den port, das Programm hört auf.
InformationsquelleAutor der Frage mwaboff | 2013-06-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich. Ich sehe zumindest 2 Teile zu Ihrer Frage. (Es ist nicht HTTP-Paket. Es ist viel komplexer als das.)
Zuerst ausich glaube, Sie sprechen möglicherweise über das Konzept der sogenannten dezentralen P2P-Netzwerk. Die Grundidee hinter einem dezentralen peer-to-peer-Netzwerk ist die Tatsache, dass Knoten conjoint-in einem solchen Netzwerk wird nicht verlangen, zentralen server oder Gruppe von Servern.
Wie Sie vielleicht schon wissen, die meisten gemeinsamen zentralisierten peer-to-peer-Netzwerke erfordern solche zentralisiertes system zum Austausch und Aufrechterhaltung der Interkonnektivität zwischen den Knoten. Das grundlegende Konzept ist so, ein neuer Knoten wird eine Verbindung zu einer der Haupt-Server zum abrufen von Informationen über andere nodes im Netzwerk, zur Aufrechterhaltung der Konnektivität und Verfügbarkeit. Das zentrale system wird gepflegt durch Server ständig synchronisiert Netzwerk-Status, relevante Informationen und zentrale Koordination untereinander.
Dezentrales Netzwerk, auf der anderen Seite, keine Struktur oder vorgegebenen Kern. Dieser peer-to-peer-Modell wird auch als unstrukturierte P2P-Netzwerke. Jeder neue Knoten kopiert werden, oder Erben, die original-links von den "Eltern" - Knoten und wird eine eigene Liste im Laufe der Zeit. Es gibt mehrere Kategorien von Dezentralisierung solcher unstrukturierten Netzen.
Interessant ist, dass die Abwesenheit des central command und control-system erleichtert die Lösung der Wahl für moderne malware, botnets. Ein tolles Beispiel wäre die Storm-botnet, das beschäftigt so genannte Passiv-P2P-Monitor (PPM). PPM war in der Lage, suchen Sie die infizierten hosts und bauen peer-Liste, unabhängig davon, ob oder nicht infizierten hosts hinter einer firewall oder NAT. Wikipedia-Artikel Storm-botnet ist eine interessante Lektüre. Es gibt auch große gemeinschaftliche Studie mit dem Titel Zur Vollständigen Enumeration Knoten in einem Peer-to-Peer-Botnetdie eine ausgezeichnete konzeptionelle Analyse und Techniken von Sturm-botnet-Netzwerk.
ZweitensSie sprechen möglicherweise über UDP hole punching. Dies ist eine Technik oder ein Algorithmus verwendet, um verbindungen zwischen 2 hosts hinter Len-router/- gateway mit 3rd-Kommentar-Gastgeber durch ein drittes rendezvous-server.
Es ist ein tolles Papier von Bryan Ford, Pyda Srisuresh, und Dan Kegel genannt Peer-to-Peer Communication Across Network Address Translators.
InformationsquelleAutor der Antwort PSS
Als beantwortet, ein peer-to-peer-Verbindung erfordert die Etablierung einer Verbindung zwischen zwei (vermutlich) Wohn-Computern, die erfordern Stanzen von Löchern durch die beiden firewalls. Für ein konkretes Beispiel lochen, siehe pwnat: "Das einzige Werkzeug, punch Löcher durch firewalls/NATs ohne eine Dritte Partei". Der Prozess, einfach ausgedrückt, wie das geht:
ICMP Echo Request
Paket1.2.3.4
alle 30 Sekunden. Das NAT ist, bei der übersetzung, nimmt zur Kenntnis, dass dieses Paket, falls es eine Antwort bekommt.ICMP Time Exceeded
- Paket an den server, das ist eine Art von Paket, die in der Regel enthält das Paket, das scheiterte, zu liefern. Der Kunde, im Voraus zu wissen, die genaue Paket, die der server geschickt hat, um1.2.3.4
bettet das ganze Paket in das Feld Daten.Und in 6 einfache Schritte, die Sie gegründet haben, eine UDP-Verbindung zwischen einem client und einem server eindringen zwei Wohn-firewalls. Nimm das, ISP!
InformationsquelleAutor der Antwort pmttavara