A Brief Overview of Computer Networks

A computer network is a collection of interconnected devices (computers, servers, routers), that communicate to exchange data, services and resources across the globe.

A Brief History

  • 1969 - ARPANET Launches
  • 1974 - TCP Protocol Proposed Cerf & Kahn introduce TCP, enabling reliable communication across diverse networks.
  • 1983 - ARPANET adopts TCP/IP; DNS system introduced to map domain names to IPs.
  • 1989 - World Wide Web Invented Tim Berners-Lee creates HTTP and HTML, revolutionizing how we access and share information.
  • 1993 - Mosaic Browser Released First graphical web browser makes the Internet user-friendly and widely accessible.

Data Communication

Data communication is the exchange of data between devices over a transmission medium. It relies on:

  • Sender, Receiver, and Medium: These entities define the communication setup
  • Protocols: Rules that ensure data integrity and order
  • Bandwidth & Latency: Affect the speed and efficiency of transmission

Transmission Modes

Data can flow between devices in several ways:

  • Simplex: One-way only (e.g., keyboard to CPU)
  • Half-Duplex: Two-way, but only one direction at a time (e.g., walkie-talkies)
  • Full-Duplex: Two-way simultaneous (e.g., Zoom calls)

Connection Types

Networks can be built with different connection structures:

  • Point-to-Point: Direct link between two nodes. It is fast and simple
  • Multipoint: Multiple nodes share a link. It is efficient but complex

Types of Networks

  • LAN (Local Area Network): Small-scale, such as office or home networks. Example - A JioFiber router in your home
  • MAN (Metropolitan Area Network): Covers a city or campus. Example - Fiber infrastructure across Bengaluru city managed by local ISPs or government
  • WAN (Wide Area Network): Large-scale, spans countries or continents (like the Internet).
  • PAN (Personal Area Network): Close-range, like Bluetooth-based systems

Network Models

OSI Model (7 Layers)TCP/IP Model (4 Layers)Function of the Layer
7. ApplicationApplicationInterface for end-user software (e.g. HTTP, FTP, SMTP, DNS); handles network services
6. PresentationApplicationTranslates data format (e.g. encryption, compression, encoding)
5. SessionApplicationManages sessions, connections, and dialogs between applications
4. TransportTransportProvides reliable data transfer with error handling and flow control (e.g. TCP, UDP)
3. NetworkInternetHandles routing, IP addressing, and packet forwarding across networks
2. Data LinkNetwork AccessManages physical addressing (MAC), framing, and error detection at node-to-node level
1. PhysicalNetwork AccessHandles transmission of raw bits over a physical medium (cables, signals, etc.)

Conclusion

Understanding the basics of computer networking empowers software engineers to build more robust, scalable, and efficient applications.