# Serverloses P2P Prog



## Curse4Life (10. Mrz 2005)

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 (10. Mrz 2005)

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 (10. Mrz 2005)

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


----------



## Sky (10. Mrz 2005)

Willst Du das ganze mit einem Applet realisieren?


----------



## Curse4Life (10. Mrz 2005)

Nein, dass soll eine ganz Normale Application werden.

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

mfg


----------



## stev.glasow (10. Mrz 2005)

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


----------



## Curse4Life (10. Mrz 2005)

Ja, wie ich schon schrieb, Overnet ist eins und das neue Programm exeem.

mfg


----------



## thE_29 (10. Mrz 2005)

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)


----------



## stev.glasow (10. Mrz 2005)

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 (10. Mrz 2005)

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.


----------



## Guest (10. Mrz 2005)

http://www.amazon.de/exec/obidos/ASIN/3826608321/qid=1110485939


----------



## stev.glasow (11. Mrz 2005)

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


----------



## Grizzly (11. Mrz 2005)

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 (11. Mrz 2005)

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 (11. Mrz 2005)

.... 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 (11. Mrz 2005)

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 (11. Mrz 2005)

...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 (11. Mrz 2005)

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 (11. Mrz 2005)

..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 (11. Mrz 2005)

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 (11. Mrz 2005)

thE_29 hat gesagt.:
			
		

> Grizzly hat gesagt.:
> 
> 
> 
> ...




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!


----------



## Guest (12. Mrz 2005)

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 (28. Mai 2005)

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!


----------

