Computer Networking

Module 01 - Networking Basics
1. What is Computer Networking?2. Types of Computer Networks3. Internet vs Computer Network4. How Does The Internet Work?5. Network Architectures (Client...6. Host vs Node7. Network Interface Card (NIC)8. MAC Address9. IP Address
ProfileProfile
Akkal DhamiFull Stack Developer

Building modern web experiences with a focus on performance, scalability, and clean architecture.

© 2026 | Akkal Dhami | All rights reserved

Built with
byAkkal Dhami

Navigation

  • Projects
  • Dev Setup
  • Playbook
  • Templates
  • Networking
  • SQL - MySQL
  • SQL Playground
  • System Design
  • DSA
AKKAL DHAMIAKKAL DHAMIAKKAL DHAMI

Network Architectures (Client-Server vs Peer-to-Peer)

Imagine you want to communicate with your friends. There are multiple ways you can do it. You can either send your message through a group administrator, or you can send it directly to your friend.

Computer networks work in a similar way. Depending on how devices communicate with each other, networks are designed using different architectures.

The two most common network architectures are:

  • Client-Server Architecture
  • Peer-to-Peer (P2P) Architecture

Almost every application you use today—from Google and YouTube to WhatsApp and ChatGPT—uses one of these architectures.


1. What is Network Architecture?

A Network Architecture defines how devices (computers, servers, phones, printers, etc.) are organized and how they communicate with each other over a network.

It acts like a blueprint that describes:

  • Who requests information?
  • Who provides information?
  • How data flows between devices?
  • How resources are shared?

Simply put,

Network architecture is the design or structure of a computer network.


2. Why Do We Need Different Network Architectures?

Not every network has the same requirements.

For example:

  • Google serves billions of users every day.
  • Your home computer shares files with only one or two devices.

Obviously, both networks don't need the same design.

Some networks require:

  • High security
  • Centralized management
  • Easy maintenance
  • High scalability

Others require:

  • Simplicity
  • Low cost
  • Direct communication

This is why different network architectures exist.


3. Client-Server Architecture

A Client-Server Architecture is a network model where one or more clients request services or resources from a central server, and the server processes the requests and sends back responses.

Think of it as a customer and restaurant.

  • Customer places an order.
  • Kitchen prepares the food.
  • Waiter delivers it.

Similarly,

  • Client sends a request.
  • Server processes it.
  • Server sends a response.

Real-World Analogy

Imagine visiting a restaurant.

Customer
    │
"I want a Pizza"
    🠗
 Waiter
    ⭣
 Kitchen
    ⭣
Pizza Ready
    ⭣
Customer

The customer never cooks the food.

The kitchen does all the work.

Likewise, the client doesn't usually store or process all the data. The server does.


How It Works

            Request
 
 Client --------------------⮞ Server
        "Give me data"
 
 Client ⮜-------------------- Server
 
            Response

Example

When you visit google.com:

Your Browser
      │
      │ Request
      ⮟
 Google Server
      │
      │ Response
      ⮟
Your Browser

The browser (client) requests the webpage.

Google's server processes the request and sends the webpage back.

            Internet
 
        ┌──────────────┐
        │    Server    │
        └──────┬───────┘
               │
    ┌──────────┼──────────┐
    │          │          │
 Client A   Client B   Client C

Many clients communicate with a single server.


Characteristics

  • Centralized architecture
  • Dedicated server
  • Multiple clients
  • Easy to manage
  • High security
  • Scalable
  • Reliable

Common Technologies

  • HTTP / HTTPS
  • TCP/IP
  • DNS
  • Web Servers (Apache, Nginx)
  • Database Servers (MySQL, PostgreSQL)
  • REST APIs
  • GraphQL

Examples

  • Google
  • YouTube
  • Facebook
  • Instagram
  • Netflix
  • ChatGPT
  • Gmail
  • Amazon

Use Cases

  • Websites
  • Banking systems
  • Cloud storage
  • Online games
  • E-commerce
  • Email services
  • Social media

Advantages

  • Centralized Management: Everything is controlled from one place.

  • Better Security: Data remains on the server.

  • Easy Maintenance: Software updates happen on the server.

  • Highly Scalable: Thousands or even millions of clients can connect.

  • Reliable: Professional servers usually have backups and redundancy.


Disadvantages

  • Single Point of Failure: If the server goes down, clients cannot access the service.

  • Higher Cost: Servers and infrastructure can be expensive.

  • Requires Administration: Dedicated administrators are needed to maintain servers.


4. Peer-to-Peer (P2P) Architecture

A Peer-to-Peer (P2P) Architecture is a network model where every device (called a peer) can act as both a client and a server.

There is no central server.

Peers communicate directly with each other.


Real-World Analogy

Imagine exchanging notes with your classmates.

You don't need a teacher to deliver every note.

You hand it directly to your friend.

Student A  ⮜────⮞  Student B
     ↑               ↑
     │               │
     └────⮞  Student C

Everyone communicates directly.


How It Works

Peer A ⮜────⮞  Peer B
   ↑            ↑
   │            │
   └────⮞  Peer C

Every computer can both request data and provide data.

          Peer A
         /     \
        /       \
   Peer B ----- Peer C
        \       /
         \     /
          Peer D

There is no central server.


Characteristics

  • No central server
  • Every device is equal
  • Direct communication
  • Low setup cost
  • Easy to build
  • Less centralized management

Common Technologies

  • BitTorrent
  • Blockchain
  • WebRTC
  • SMB File Sharing
  • LAN File Sharing

Examples

  • BitTorrent
  • Bitcoin
  • Ethereum
  • Local file sharing
  • Multiplayer LAN games

Use Cases

  • File sharing
  • Cryptocurrency
  • Local multiplayer gaming
  • Distributed computing
  • Backup sharing

Advantages

  • Low Cost: No dedicated server is required.

  • Easy Setup: Devices connect directly.

  • No Central Dependency: The network can continue working even if one peer disconnects.

  • Resource Sharing: Every computer contributes storage or processing power.


Disadvantages

  • Lower Security: Every peer can potentially expose data if not secured properly.

  • Difficult Management: There is no central authority to manage users or resources.

  • Limited Scalability: Performance can decrease as more peers join or leave.

  • Data Availability: If a peer storing a file goes offline, that file may become unavailable unless other peers also have a copy.



5. Client-Server vs Peer-to-Peer

FeatureClient-Server ArchitecturePeer-to-Peer (P2P) Architecture
DefinitionClients request services or resources from a centralized server, which processes the requests and returns responses.All devices (peers) communicate directly with one another without relying on a central server.
ArchitectureCentralizedDecentralized (Distributed)
Central ServerRequiredNot Required
CommunicationClients communicate through the server.Peers communicate directly with each other.
Role of DevicesDevices are either clients or servers.Every device can act as both a client and a server.
ManagementCentralized and easier to manage.Distributed and more difficult to manage.
SecurityMore secure because data is managed centrally.Generally less secure since each peer manages its own resources.
ScalabilityHighly scalable with proper server infrastructure.Limited scalability as the number of peers increases.
PerformanceConsistent and reliable.Depends on the availability and performance of peers.
CostHigher due to dedicated servers and maintenance.Lower because no dedicated server is required.
MaintenanceCentralized updates and maintenance.Each peer must be maintained individually.
ReliabilityIf the server fails, the service may become unavailable.The network can continue operating as long as peers remain connected.
Best ForWebsites, cloud services, banking systems, email, social media, enterprise applications.File sharing, blockchain, distributed computing, LAN gaming, direct device communication.
ExamplesGoogle, YouTube, Facebook, ChatGPT, Gmail, Netflix, Amazon.BitTorrent, Bitcoin, Ethereum, LAN file sharing, WebRTC applications.

6. Which One Should You Use?

Use Client-Server when:

  • Security is important.
  • Many users need the service.
  • Centralized management is required.

Use Peer-to-Peer when:

  • Direct communication is sufficient.
  • Low cost is important.
  • There is no need for a central server.

7. Key Takeaways

  • Network architecture defines how devices communicate and share resources.
  • Client-Server Architecture uses a central server to provide services to clients.
  • Peer-to-Peer Architecture allows devices to communicate directly without a central server.
  • Client-Server is widely used for websites, cloud platforms, banking systems, and social media.
  • Peer-to-Peer is commonly used for file sharing, blockchain, and distributed applications.
  • Choosing the right architecture depends on factors such as scalability, security, cost, and management requirements.
How Does The Internet Work?
Host vs Node