Skip to content

Networking — Introduction

Overview

Networking describes how machines address, route, and deliver data across links and the global internet. This section builds intuition from physical links to application protocols your services depend on.

Why This Exists

Backend engineers debug timeouts, TLS failures, DNS flaps, and load balancer behavior. Clear mental models reduce guesswork when production incidents strike.

How It Works

Progress through layering (OSI model), transport (TCP and UDP), application protocols (HTTP and HTTPS), naming (DNS), traffic distribution (Load balancing), and edge delivery (CDN).

Architecture

architecture

flowchart TB App[Application] --> TLS[TLS] TLS --> TCP[TCP] TCP --> IP[IP] IP --> Link[Link layer]

Key Concepts

End-to-end principle Intelligence often lives at endpoints; the network tries to deliver datagrams best-effort while higher layers add reliability and security.

Code Examples

curl -Iv https://example.com 2>&1 | sed -n '1,20p'

Interview Questions

Why is TCP considered reliable and UDP not?

TCP provides acknowledgments, retransmissions, ordering, and congestion control; UDP exposes minimal datagram delivery without those guarantees.

What problem does DNS solve?

Human-readable names to IP addresses with caching, delegation, and distributed authority.

Practice Problems

  • Trace a browser request through DNS, TCP handshake, TLS, and HTTP
  • Compare latency when bypassing CDN vs edge cache hit

Resources