Client-Server VS Peer-to-Peer Networks

Kesavi Kanesalingam
3 min readFeb 19, 2020

--

Client-Server Architecture

The Client-Server network model is widely used network model. Here, Server is a powerful system that stores the data or information in it. On the other hands, the Client is the machine which let the users access the data on the remote server.

server:

  • Always-on host
  • Permanent IP address
  • Data centers for scaling

client:

  • Communicate with server
  • May be intermittently connected
  • May have dynamic IP addresses
  • Do not communicate directly with each other

In Client-Server model, the client process on the client machine sends the request to the server process on the server machine. When the server receives the client request, it lookouts for the requested data and send it back with the reply.

Advantages

  • All files are stored in a central location.
  • All of the resources of the network are available from one server.
  • Backups and network security is controlled centrally.
  • Systems on the network are simple to set up and can make troubleshooting easier

Disadvantages

  • A specialist network operating system is needed.
  • The server is expensive to purchase.
  • If there is a fault on the server all of the clients would go down too.
  • Specialist staff such as a network manager is needed.

Peer-to-Peer (P2P) Architecture

Unlike Client-Server, the Peer-to-Peer model does not distinguish between client and server instead each node can either be a client or a server depending on the whether the node is requesting or providing the services. Each node is considered as a peer.

  • No always-on server
  • Arbitrary end systems directly communicate
  • Peers request service from other peers, provide service in return to other peers
  • Peers are intermittently connected and change IP addresses
  • Complex management

Advantages

  • Easy set up.
  • Each connected computer can act as a server so no need for a dedicated server.
  • Failure doesn’t affect all computers.
  • Less expense.
  • Less configuration and implementation time.

Disadvantages

  • Easy access to any computer.
  • Network security has to be applied to each computer separately.
  • Backup has to be performed on each computer separately.
  • Easy remote access can lead to compromised systems.
  • No centralized server is available to manage and control the access of data.

--

--

No responses yet