Serverloses P2P Prog

Status
Nicht offen für weitere Antworten.

Curse4Life

Mitglied
Hi,
ich möchte ein völlig legales, das auch garkeine Möglichkeit bietet illegalen Content zu verbreiten P2P Programm programmieren.
Bevor ich anfnage möchte ich jetzt erst einmal fragen, wie ich es vernünftig realsieren kann ohne Server, auf denen sich die Clients einloggen zu arbeiten, so wie z.B. Overnet.


mfg
Curse4Life
 

DP

Top Contributor
Curse4Life hat gesagt.:
ich möchte ein völlig legales, das auch garkeine Möglichkeit bietet illegalen Content zu verbreiten P2P Programm programmieren.

wie soll das denn gehen?

....ohne server sehe ich da auch keine chance...
 

Curse4Life

Mitglied
Das geht, weil es geht dabei garnicht um Dateien, aber zu viel möchte ich nicht verraten.

Mit Server wäre es sicherlich einfacher, aber ohne Server wäre schöner, gibt es ja mehrere Gründe für.

Ich kann aber ja nicht jede IP scannen ob an dem Port meines Progs gelauscht wird, so geht das ja sicherlich nicht.


mfg
 

Curse4Life

Mitglied
Nein, dass soll eine ganz Normale Application werden.

Ich meine Server für die verteilung der IP's, der soll wegfallen.

mfg
 
S

stev.glasow

Gast
Kann mir nicht vorstellen dass das geht ... kennst du denn ein System bei dem das so ist?
 

thE_29

Top Contributor
Overnet: ist eDonkey Netzwerk http://www.overnet.org/
Und ob Overnet ohne Server läuft ist fragwürdig ;>

und exeem läuft über die bittorrent Idee, also wird da auch ein Server dahinter sein!

Ohne einen Server der die IPs hat gehts net, außer ein Client merkt sich alle Ips mit der er connected ist und schickt sie dann einem weiter der neu Connected -> also Kettenbrief konzept!

Das könnte funktionieren, nur müßte immer wer Online sein (ziemlich viele halt)
 
S

stev.glasow

Gast
Und dir müsste min eine IP bekannt sein (was ja nicht der Fall ist) von der du dir die restlichen holen kannst.

Aber es gibt doch so was: schimpft sich 'self-organizing (neural) network', hab aber keine Ahnung wie das laufen soll.
 

Grizzly

Top Contributor
stevg hat gesagt.:
[...]Aber es gibt doch so was: schimpft sich 'self-organizing (neural) network', hab aber keine Ahnung wie das laufen soll.
Einen Knotenpunkt im Netzwerk muss aber ein Client mindestens kennen - entweder durch scannen, aus einer Liste oder per manueller Eingabe. Ohne Infos wird es auch keine Möglichkeit geben, sich auch nur mit einem weiteren Client zu verbinden.

Das einzige wäre vielleicht, dass man die Herkunft verschleiert, in dem jeder Client gleichzeitig ein Proxy ist und alle bei ihm eingehenden Anfrage als seine eigenen ausgibt.
 
S

stev.glasow

Gast
Meinst du dass das dort erklärt wird? Hat so ein self-organizing network nicht ehr mit Programmierung von neuronalen Netzen zu tun?
 

Grizzly

Top Contributor
stevg hat gesagt.:
Meinst du dass das dort erklärt wird? Hat so ein self-organizing network nicht ehr mit Programmierung von neuronalen Netzen zu tun?
Die meisten P2P Programme sind auf jeden Fall nicht selbst organisierend. Am ehesten vielleicht noch BitTorrent. Wobei auch das einen Server - heisst da, glaub ich, Tracker - benötigt.

Ich weiss ja nicht, ob ich da jetzt auf dem Holzweg bin. Aber wenn das Richtung neuronale Netze geht und self-organizing network heisst, bedeutet das nicht, das es zwar doch Server gibt (eine Lösung ohne kann ich mir immer noch nicht vorstellen), bloss das es sich selbst organisiert sprich halt die Verbindung so nacheinander aufbaut, wie bei einem neuronalen Netz?
 

thE_29

Top Contributor
BitTorrent macht halt um jedes File ein "eigenes Netzwerk" (oder irgendsowas).

Und so ein self organizung Network bräcuhte in der Tat keinen Server, nur muß man am Anfang irgendwie die Ips austauschen, sprich 1er braucht mal eine IP von einem anderen!
 

TRunKX

Bekanntes Mitglied
.... hmmm ohne Server schwierig aber wie wäre es wenn man den Server auf minimale Funktionen beschränkt. dann sollte es gehen das der Server sogesehen nur 1 Datei hält.

Also ich denke mir das so. ich habe einen Server auf dem liegt eine Datei mit 1er IP drinnen das ist die ip des ersten der sich angemeldet hat. Wenn sich ein 2. Connected kriegt er die ip un das Netz ist verbunden die ip des 2. kommt auf den Server. der 3. connected und kriegt die ip vom 2. und die ip vom 1. vom 2. .


jetzt hat jeder Rechner 2 ips bekommen sollte der Kontakt der in der Datei auf dem Server steht ausgehen so können die restlichen Clients eine ip finden die definitiv aktiv ist und diese in die Datei auf dem Server setzen so hätte man immer einen einstiegspunkt und das netz würde sich bei jedem Start neu aufbauen ..... die Daten könnten auch redundant auf den clients liegen nachdem die 1. Verbindung vom Server gmecht wurde. Dann könnte man über ne dynamic DNS im Prog immer den ersten Client als Server betrachten geht der off würde ein anderer übernehmen und die Listen bereitstellen wenn man dann noch mit mehrern Dynamischen Adressen arbeiten würde könnte amn den connect beschleunigen indem einige Clients immer mehrere Ips in ihren Listen halten.



Hmm die Idee die ich da habe ist toll dann könnte es wohl auch ohne "echten" Server gehen.
 

Grizzly

Top Contributor
Hast Du schon einmal Incentives Build Robustness in BitTorrent von Bram Cohen durchgelesen? Das ist eine kurze Anleitung, wie BitTorrent funktioniert. Vielleicht kannst Du Dir da ein paar Anregungen holen.

Bei Deiner Lösung sehe ich die Gefahr, dass unter schlechten Bedingungen das Netz partitioniert werden könnte, wenn die Clients die Informationen nicht schnell genug untereinander verbreiten können. Abgesehen davon ist hier auch wieder das Problem, das jeder Client am Ende die IPs aller Teilnehmer hat. Und einen Server brauch man trotzdem. Da sehe ich jetzt irgendwie keinen Vorteil zu herkömmlichen P2P Programmen bzw. Methoden.
 

TRunKX

Bekanntes Mitglied
...danke für den Tip. Werde mir das bei Gelgenheit gerne mal antun.

Aber das mit dem Server ist zwar richtig aber das NEtz würde ja den Server immer wieder wechseln da die Clients sich zu Servern umwandeln sobald sie den Server verlieren baer ein gewisses anderes Problem wird sicher entstehen.


hmm aber wie wäre es wenn man wie bei bt für jede Datei sogesehen ein Subnetz erzeugt in das man sich zum ziehen einloggen kann.


Hmmm ..... wie funktioniert den echtes P2P? Dann müsste das Netzwerk acuh von einem client gestartet werden und dann immer weitergereicht werden oder? Ohne Server ist doch eh nicht viel drin.



Hat dazu jemand Ideen? Ich werde mir jetzt mal ein wenig Lektüre gönnen! :###
 

Grizzly

Top Contributor
TRunKX hat gesagt.:
[...]
Hmmm ..... wie funktioniert den echtes P2P? Dann müsste das Netzwerk acuh von einem client gestartet werden und dann immer weitergereicht werden oder? Ohne Server ist doch eh nicht viel drin.
[...]
Die P2P Programme, die ich kenne, brauch immer einen zentralen Ausgangspunkt. Nur der Datenaustausch erfolgt dann direkt und nicht mehr über den Server, was ja bei bspw. bei einem Fileserver, einem Webserver oder einem Server eines Spiels nicht der Fall ist. Hier wird der Server immer benötigt und es findet keine direkte Kommunikation zwischen der Clients statt.
 

TRunKX

Bekanntes Mitglied
..hmmm mit dem von mir beschriebenen Prinzip wäre dieser zentrale anlaufpunkt vorhanden aber erwürde halt immer seine ip ändern da es öfters ein anderer Client wird. und mit einer Sache hast du recht: Es hätte immer jeder Client alle Ips. was eine Suche ziemlich langsam machen würde. es sei den man Clustert das Programm und macht einzelne Segmente wo auf einzelnen Clients auch einzelne Dateiverzeichnisse dir zur verfügung stehen angegeben werden. hmm alles in allem wohl eine recht komplexe sache.

Aber das mit dem clustern je datei oder Dateityp geht in Richtung Bittorrent. hmm denkt euch dazu mal was aus dann könnten wir ja mal versuchen irgendwas in der Richtugn zu proggen oder man sagt jedem Nutzer er kann max
n Ips kennen und somit würde sich das netz vortsezen das geht dann in Richtung des KAD netzwerkes. nur halt etwas gezielter!
 

thE_29

Top Contributor
Grizzly hat gesagt.:
Abgesehen davon ist hier auch wieder das Problem, das jeder Client am Ende die IPs aller Teilnehmer hat. Und einen Server brauch man trotzdem.

Also das ist blödsinn!

Wenn alle die Ips von anderen haben, wieso brauchst dann einen Server, erklär mir das mal...
 

TRunKX

Bekanntes Mitglied
thE_29 hat gesagt.:
Grizzly hat gesagt.:
Abgesehen davon ist hier auch wieder das Problem, das jeder Client am Ende die IPs aller Teilnehmer hat. Und einen Server brauch man trotzdem.

Also das ist blödsinn!

Wenn alle die Ips von anderen haben, wieso brauchst dann einen Server, erklär mir das mal...


Das kein Blödsinn ... wo nehmen den die Clients all die Ips her? ausm Subraum?

Die Ips müssen ja irgendwoher kommen. Bitte nochmal nachdenken!
 
G

Guest

Gast
Ursprünglich war das Internet als ein P2P Netzwerk vorgesehen, dann haben aber
paar Typen zugeschlagen als sie den komerziellen Nutzen entdeckt haben.
So ist man heute mit seiner geringen Upload-Geschwindigkeit zum Konsumenten
degradiert worden.

Das Thema scheint in Deutschland so gut wie keine Rolle zu spielen.
Ich wollte mir das Thema "Selbstorganisierende P2P-Netze" zum Diplomarbeitsthema
machen, leider wollte kein Uternehmen mitmachen. Darunter Unternehmen wie Siemens,
T-Systems etc. Jede Firma brachte das Thema damals mit Software wie Napster etc. in
Verbindung und blockte ab. An einem Netzwerk, bei dem jeder Teilnehmer gleichberechtigt
zum Anbieter von Inhalten und Empfänger wird, ist leider kaum einer interessiert gewesen.
Es gibt so viele Anwendungsmöglichkeiten dafür, allein schon die Möglichkeit die Ressourcen
eines solchen Netzwerks zu einem Cluster zu bündeln...

Wen das Thema interessiert, dem würde ich das Buch Peer-to-Peer; Harnessing the Power of Disruptive Technologies
empfehlen. Da kommen Entwickler zahlreicher P2P Projekte zu Wort und beschreiben
Ihre Ideen und Erfahrungen aus diesem Bereich. Darunter sind Projekte wie Gnutella,
Freenet, SETI, Jabber und viele andere.
 

Inskin

Mitglied
Auch wenn die Diskussion schon etwas älter ist, wir haben in unserer Studienarbeit ein Serverlosen p2p-Chat realisiert, allerdings für ein lokales Netzwerk.
Aber JXTA (http://www.jxta.org) ist glaub genau das, was weiterhelfen würde.
Wir haben es sogar zusätzlich mit RMI geschafft, allerdings wie gesagt nur für in lokales Netzwerk!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben