Iedereen is natuurlijk bekend met P2P netwerken, sterker nog ik durf te wedden dat 99% van de mensen die dit topic lezen er zelf vaak gebruik van maken
Er zijn natuurlijk heel veel van deze netwerken, en ze hebben natuurlijk allemaal hun voordelen en nadelen. Als voorbeeld pak ik 3 vrij bekende netwerken:
Fastrack (clients: oa. Kazaa, Morpheus, Grokster):
voordelen:
- Meta-data zoeken
- Schaalbaar
- Snelle searchquery results
- multisource downloaden (va meerdere peers zelfde file downloaden)
nadelen:
- niet echt p2p (volgens mij niet in ieder geval) door de userauthenticatie, ook vraag ik me af of er behalve bij FastTrack in de serverroom ook nog andere "supernodes" draaien.
- geen open protocol
Gnutella:
voordelen:
- echt P2P
- open protocol
nadelen:
- slechte schaalbaarheid
- geen meta-data
- slome searchqueries
voorheen had gnutella geen multisource downloaden, nu hebben sommige clients dat wel.
Edonkey2000
voordelen:
- shared files zodra je begint met het downloaden ervan, dus ook als je een file nog niet helemaal hebt deze toch deelt.
- multisource downloaden
- "collections"
-
volgens mij doet ed2k aan CRC checks 
nadelen:
- vage server/p2p structuur (extend search is handmatig in de client, heel maf allemaal al zeg ik het zelf, servers vaak overbelast)
- geen meta-data search
Ik ben vast dingen vergeten hier (pls. zeg het maar) en ik weet dat er nog vele andere netwerken zijn (iMesh, WinMX, direct connect) etc. als deze netwerken features hebben die ik nog niet genoemd heb hier zet ze erbij
Ik ben op dit topic gekomen omdat ik bij mezelf zat te denken dat het misschien wel geinig is een zelf p2p client te schrijven in JAVA. Niet zozeer om "de volgende Napster" te worden maar meer omdat mijn kennis van JAVA redelijk/goed is maar ik nog te weinig echte ervaring heb met implementeren. "Waarom nou een P2P prog.? Er zijn je al 1000den voorgegaan daarmee!" hoor ik al zeggen. Ik heb P2P gekozen omdat het veel aspecten bevat: van GUI design tot geavanceerde, efficiente networking. Uiteraard (mocht dit er komen) dan wordt alles Open (source). Het is immers om van te leren... Mocht er hier ook -veel- intresse zijn in de development van het programma zelf (hoef het niet per se allemaal alleen te doen
) dan openen we daar een aparte topic voor, deze is vooral voor de discussie over P2P niet Java (Hoewel mensen die ervaring hebben met bv JXTA betreffende P2P natuurlijk welkom zijn).
Ja, Ik Heb De Search Gebruikt, kon nog niet veel vinden in ieder geval..
Als laatste dan mijn lijstje van wat een perfect P2P netwerk in ieder geval moet hebben:
- Multisource downloaden
- ED2K-style delen van bestanden
- CRC/MD5 checks
- Searchable META-data
- "echt" P2P
- Schaalbaar (dus waarschijnlijk een 2 laag protocol zoals FastTrack met SuperNodes, of nog 1 stap verder: een compleet hierachisch systeem)
- in ieder geval redelijk snelle responsetime bij het zoeken..
Dus iedereen die ideeen/technieken heeft om deze punten waar te maken heeft, of vind dat er nog iets bij moet, etc. etc. reageer!
Fastrack (clients: oa. Kazaa, Morpheus, Grokster):
voordelen:
- Meta-data zoeken
- Schaalbaar
- Snelle searchquery results
- multisource downloaden (va meerdere peers zelfde file downloaden)
nadelen:
- niet echt p2p (volgens mij niet in ieder geval) door de userauthenticatie, ook vraag ik me af of er behalve bij FastTrack in de serverroom ook nog andere "supernodes" draaien.
- geen open protocol
Gnutella:
voordelen:
- echt P2P
- open protocol
nadelen:
- slechte schaalbaarheid
- geen meta-data
- slome searchqueries
voorheen had gnutella geen multisource downloaden, nu hebben sommige clients dat wel.
Edonkey2000
voordelen:
- shared files zodra je begint met het downloaden ervan, dus ook als je een file nog niet helemaal hebt deze toch deelt.
- multisource downloaden
- "collections"
-
nadelen:
- vage server/p2p structuur (extend search is handmatig in de client, heel maf allemaal al zeg ik het zelf, servers vaak overbelast)
- geen meta-data search
Ik ben vast dingen vergeten hier (pls. zeg het maar) en ik weet dat er nog vele andere netwerken zijn (iMesh, WinMX, direct connect) etc. als deze netwerken features hebben die ik nog niet genoemd heb hier zet ze erbij
Ik ben op dit topic gekomen omdat ik bij mezelf zat te denken dat het misschien wel geinig is een zelf p2p client te schrijven in JAVA. Niet zozeer om "de volgende Napster" te worden maar meer omdat mijn kennis van JAVA redelijk/goed is maar ik nog te weinig echte ervaring heb met implementeren. "Waarom nou een P2P prog.? Er zijn je al 1000den voorgegaan daarmee!" hoor ik al zeggen. Ik heb P2P gekozen omdat het veel aspecten bevat: van GUI design tot geavanceerde, efficiente networking. Uiteraard (mocht dit er komen) dan wordt alles Open (source). Het is immers om van te leren... Mocht er hier ook -veel- intresse zijn in de development van het programma zelf (hoef het niet per se allemaal alleen te doen
Ja, Ik Heb De Search Gebruikt, kon nog niet veel vinden in ieder geval..
Als laatste dan mijn lijstje van wat een perfect P2P netwerk in ieder geval moet hebben:
- Multisource downloaden
- ED2K-style delen van bestanden
- CRC/MD5 checks
- Searchable META-data
- "echt" P2P
- Schaalbaar (dus waarschijnlijk een 2 laag protocol zoals FastTrack met SuperNodes, of nog 1 stap verder: een compleet hierachisch systeem)
- in ieder geval redelijk snelle responsetime bij het zoeken..
Dus iedereen die ideeen/technieken heeft om deze punten waar te maken heeft, of vind dat er nog iets bij moet, etc. etc. reageer!
Opera OpenOffice.org Jabber Psi jabber://llama@mordax.com