Computer Networks
How the internet works, layer by layer, with Python and simulators: delay, error detection, Ethernet and switches, IP addressing and subnetting, routing, TCP and UDP, reliable delivery, congestion control, DNS and HTTP.
- 1
How networks work: layers and packets
Packets, packet switching, and the five layers of the internet, each adding its own header to your data.
- 2
Delay and throughput
Where the time goes when a packet travels (transmission, propagation, queueing and processing delay) and why the slowest link sets the speed.
- 3
Detecting errors: parity, checksums and CRC
Noise flips bits. Add a little extra information to every frame so the receiver can tell when something arrived damaged.
- 4
Ethernet, MAC addresses and switches
How frames cross a local network: MAC addresses, switches that learn where everyone is, and ARP, which finds a MAC address from an IP address.
- 5
IP addresses
IPv4 addresses in decimal and binary, the network and host parts, private addresses, NAT, and why IPv6 has 128 bits.
- 6
Subnetting Intermediate
Work out a network's mask, network address, broadcast address and host range, and split a network into smaller subnets.
- 7
Routers and forwarding tables
How a router chooses where to send each packet: forwarding tables, the longest matching prefix, and the default route.
- 8
Routing algorithms: link state and distance vector Intermediate
How routers fill their tables: link-state routing with Dijkstra (OSPF), distance-vector routing with Bellman-Ford (RIP), and the count-to-infinity problem.
- 9
Ports, UDP and TCP
The transport layer: ports and sockets, UDP's quick messages, and TCP's reliable connections with the three-way handshake and sequence numbers.
- 10
Reliable delivery: Go-Back-N and Selective Repeat Advanced
Sequence numbers, ACKs and timeouts make delivery reliable; sliding windows make it fast. Compare how Go-Back-N and Selective Repeat recover from a loss.
- 11
TCP congestion control Advanced
How TCP senders share a busy network: the congestion window, slow start, additive increase and multiplicative decrease, and how Tahoe and Reno react to a loss.
- 12
DNS and HTTP: the application layer
How a name like example.com becomes an address, and what a browser and a web server actually say to each other.