Dit is iets dat ik me al lang loop af te vragen (ook weer in het kader van een schoolopdracht):
Stel je maakt een sharing programma (zoals bv Napster,Kazaa,...).
Wat is de meest efficiënte manier om aan de andere gebruikers van dit programma duidelijk te maken dat je online bent en er dus kan gedownload worden van jouw pc?
Ik dacht dit eerst te realiseren op de Napster manier:
- Alle clients geven hun ip adres door aan 1 centrale server
- Elke client die zich aanmeld heeft dus direct een lijst van ip adressen waar er kan gezocht worden naar files.
=> voordeel: clients hoeven geen ip adressen te weten/in te tikken van andere clients
Deze manier heeft echter een aantal nadelen:
- de client moet nog altijd het ip weten van de 'master' server (wel op te lossen door een domein en dns service te gebruiken, maar het gaat hier om een schoolopdracht dus dit is 'out of the question')
- als de 'master' stopt wegens omstandigheden dan kunnen de clients niet meer verder (dit is ook de ondergang geweest van Napster)
Mijne tweede gedacht was dan een soort van broadcast techniek te gebruiken, maar kwam ik ook meteen tot de bedenking dat er ontzettend veel subnetten zijn op het internet en is deze techniek dus alleen bruikbaar op een lokaal netwerk (misschien zie ik dit helemaal fout...).
Hoe zien jullie dit? Ik zou graag een peer-2-peer structuur gebruiken die niet afhankelijk is van een centrale server maar toch andere ip-adressen snel weet op te snorren van het internet. (Of ben ik toch beter af door de Napster structuur na te apen?)
Stel je maakt een sharing programma (zoals bv Napster,Kazaa,...).
Wat is de meest efficiënte manier om aan de andere gebruikers van dit programma duidelijk te maken dat je online bent en er dus kan gedownload worden van jouw pc?
Ik dacht dit eerst te realiseren op de Napster manier:
- Alle clients geven hun ip adres door aan 1 centrale server
- Elke client die zich aanmeld heeft dus direct een lijst van ip adressen waar er kan gezocht worden naar files.
=> voordeel: clients hoeven geen ip adressen te weten/in te tikken van andere clients
Deze manier heeft echter een aantal nadelen:
- de client moet nog altijd het ip weten van de 'master' server (wel op te lossen door een domein en dns service te gebruiken, maar het gaat hier om een schoolopdracht dus dit is 'out of the question')
- als de 'master' stopt wegens omstandigheden dan kunnen de clients niet meer verder (dit is ook de ondergang geweest van Napster)
Mijne tweede gedacht was dan een soort van broadcast techniek te gebruiken, maar kwam ik ook meteen tot de bedenking dat er ontzettend veel subnetten zijn op het internet en is deze techniek dus alleen bruikbaar op een lokaal netwerk (misschien zie ik dit helemaal fout...).
Hoe zien jullie dit? Ik zou graag een peer-2-peer structuur gebruiken die niet afhankelijk is van een centrale server maar toch andere ip-adressen snel weet op te snorren van het internet. (Of ben ik toch beter af door de Napster structuur na te apen?)
Clowns to the left of me, Jokers to the right