Computer Networks
Computer Networks examines layered protocols, addressing, routing, and performance. Questions often combine a subnetting calculation with TCP behavior or a latency/throughput estimate.
Core rules
- Layering: link (Ethernet/Wi-Fi), internet (IP), transport (TCP/UDP), application (HTTP/DNS). Encapsulation adds headers at each layer.
- IPv4 CIDR: /n leaves 32−n host bits; usable hosts = 2^(32−n)−2 for normal subnets (network and broadcast reserved).
- TCP provides reliable, ordered byte streams with flow control (receiver window) and congestion control (slow start, congestion avoidance, fast recovery).
- Routers forward on longest-prefix match; switches forward on MAC within a VLAN.
- Bandwidth-delay product = link rate × RTT; it bounds unacknowledged data.
Worked example
A /26 subnet has 6 host bits: 64 addresses, 62 usable. Split 192.168.10.0/24 into four /26s: .0/26 (0–63), .64/26 (64–127), .128/26 (128–191), .192/26 (192–255). Host .200 belongs to .192/26; its broadcast is .255 and first host .193.
Performance: a 100 Mbit/s path with 20 ms RTT has BDP = 100e6 × 0.020 = 2e6 bits = 250 KB. A single TCP connection needs a 250 KB window to fill the pipe; with a 64 KB window, throughput caps near 64 KB / 0.020 s = 3.2 MB/s ≈ 25.6 Mbit/s.
Traps
- Subtracting two addresses from /31 and /32, where usable-host rules differ.
- Confusing collision and broadcast domains.
- Treating congestion window and receive window as the same limit.
- Forgetting that DNS usually uses UDP but can use TCP.