Networking
11 topics in networking.
OSI Model
The OSI model helps you understand where different technologies operate (TCP at Layer 4, HTTP at Layer 7, load balancers at Layer 4 or 7).
IP Addresses
Understanding IP addressing is essential for designing networked systems — configuring load balancers, VPCs, subnets, and security groups all require IP.
Domain Name System (DNS)
DNS is the first step of every web request. It affects latency, reliability, and can be used for load balancing (DNS-based routing).
Proxy vs Reverse Proxy
Reverse proxies are used in virtually every production system. They handle TLS termination, load balancing, caching, rate limiting, and DDoS protection.
HTTP vs HTTPS: Methods, TLS, Status Codes and API Design
Understand HTTP and HTTPS for system design: methods, headers, status codes, TLS termination, connection reuse, API contracts, and security tradeoffs.
TCP vs UDP
Choosing between TCP and UDP affects your system's performance and reliability. Real-time systems (video calls, gaming) cannot afford TCP's overhead.
Load Balancing
Load balancing is used in virtually every production system. It is one of the first things you add when scaling beyond a single server.
Checksums
Checksums protect data integrity in distributed systems. When transferring files across networks, replicating databases, or storing data on disk, you need.
Data Compression
Data compression reduces payload sizes for faster network transfer and lower storage costs.
Serialization Formats: JSON, Protobuf, Avro and MessagePack
Compare serialization formats for system design: JSON, Protobuf, Avro, MessagePack, schemas, compatibility, payload size, and latency tradeoffs.
Encryption: TLS, AES, Key Management and Data Protection
Learn encryption for system design: TLS in transit, AES at rest, end-to-end encryption, key rotation, KMS, certificate management, and tradeoffs.