In einem Peer2Peer Netzwerk bzw. bei Peer2Peer Software laufen auf allen Maschinen die gleiche Software und alle haben sowohl die Client als auch Server Komponenten aktiv.
Es muss immer eine Client/Server Verbindung sein, aber in einem Peer2Peer System ist jeder Client und jeder Server.
Also hier bitte nicht verwirren lassen! Natürlich kommt es nicht auf die genau gleiche Software an!
Die großen p2p Applikationen gibt es in vielen Varianten und es spielt keine Rolle, welche Variante genutzt wird,
==> Es kommt also auf die Architektur des Systems an. Wer reden mit wem?
Bei einer Client / Server Architektur verbinden sich klar definierte Clients mit Servern. Es gibt dann ein Protokoll, welches die Rollen auch meist klar vorgibt. (Client verbindet sich zum Server)
Bei Peer to Peer ist es so, dass es entweder keine dedizierten Server mehr gibt oder dass die Clients sich auch direkt unterhalten können.
Wichtig ist mir hier auch, dass man sich auch nicht durch den Begriff Server verwirren lässt. Auch ein einem peer to peer Netzwerk kann es Server geben. Server ist halt genereller definiert als etwas, das Dienste oder Daten bereitstellt... (Exakter bitte auf
https://de.wikipedia.org/wiki/Server nachlesen!)
So kann man eine p2p Tauschbörse sehen: Hier unterhalten sich die einzelnen Teilnehmer direkt um Daten auszutauschen.
=> Aber wenn ich jetzt eine große Datei nur bereit stellen will, dann bin ich nach der Definition von Wikipedia eigentlich ein Server. Aber aus Architektur-Sicht bin ich dann nur ein Teilnehmer wie jeder andere. Ich könnte ja auch Daten von anderen Teilnehmern anfordern....
Somit wird hoffentlich deutlich, dass es um die Architektur geht. Nicht um die konkrete Implementierung.