P2P/'serverlos'

- Lesezeit: 2 Minuten -

Beim Thema „P2P“ ist grundsätzlich anzumerken, daß bei „serverlosen“ Systemen in der Regel das Nutzerprogramm (client) die Aufgaben eines Servers übernimmt. Der Server ist quasi das Endgerät selbst wo auch die entsprechenden Einstellungen gemacht werden müssen - es gibt lediglich keine dritte Stelle, die diese Aufgabe als Dienstleister („Server“) übernimmt.

P2P lt. Wikipedia:

In einem reinen Peer-to-Peer-Netz sind alle Computer gleichberechtigt und können sowohl Dienste in Anspruch nehmen, als auch zur Verfügung stellen.

Jami (extern) formuliert das beispielsweise so:

Jami works as a server and gets new ports for each connections (randomly binded). These are the ranges that can be used for each component …

This documentation states that Jami works as a server. So, it is a distributed system where peers are both clients and servers. Servers exist.

What is pure P2P? The very name suggests that nothing issues accept() nor listen(). However, that is unlikely. Most implementations I’ve seen of P2P have nodes which behave as clients (they connect to things) and servers (they accept() and listen() for connections). The definitions are intentionally ambiguous. A peer is defined as something that cannot be connected to while a server is something that things connect to. In P2P networks, this is most likely the behavior regardless of the model (coordinated or distributed or whatever (perhaps magic cosmic dust)). P2P: clients accept() / listen() and / or connect(). Those are hybrid peers. Some are pure peers because they only connect(). As this is not my investigation, I would inquire about the specifics of the projects you list.

Above is an implementation which will be released soon demonstrating a model where two clients connect to each other without issuing accept() and listen(). They both bind to local addresses and repeatedly issue connect() every millisecond.

Anonymität

P2P ist nicht mit Anonymität gleichzusetzen!