A zero-to-backend roadmap for understanding how computers actually communicate — from IP, DNS, and TCP/UDP all the way to TLS, proxies, load balancers, Docker networking, and reading real Wireshark packet captures.
One question drives the whole repo: what really happens when one computer talks to another?
Every lecture builds on the last, going from bare networking concepts to real backend behavior: sockets, connection pooling, TLS handshakes, database traffic, and Docker network internals. Each folder has its own README.md with diagrams, commands, and hands-on labs.
The concepts in this repository were learned from Hussein Nasser's Udemy course, Fundamentals of Networking for Effective Backend Design.
Certificate of completion:
| # | Lecture | Covers |
|---|---|---|
| 00 | Internet Fundamentals | Client/server, IP, ports, DNS, packets, routers, NAT — the big picture before the details |
| 01 | Fundamentals of Networking | OSI/TCP-IP layers, encapsulation, switches, routers, proxies, load balancers |
| 02 | IP, Packets, ICMP, ARP & Routing | Subnetting, gateways, packet headers, TTL, ARP, routing decisions |
| 03 | UDP | Ports, datagrams, multiplexing, UDP servers in Node.js and C |
| 04 | TCP | Handshake, sequence/ACK, retransmission, sockets, TCP server states and queues |
| 05 | DNS, TLS & HTTPS | DNS hierarchy, certificates, TLS 1.2/1.3, HTTPS labs with OpenSSL |
| 06 | Backend Network Performance | Latency sources, connection pooling, Nagle/delayed ACK, service mesh, load balancing |
| 07 | Routing & Docker Networking | Routing tables, longest-prefix match, Docker bridges and internal DNS |
| 08 | Wireshark for Backend Engineers | Capture/display filters, TLS decryption, HTTP/2, MongoDB wire traffic |

