NETWORKING MASTERY · FULL ROADMAP · 6 PHASES · 26 MODULES
🌐 Networking Mastery
A structured 6-month curriculum — from absolute networking basics through routing internals, Linux kernel networking, security protocols, and full NGFW application development. Built for engineers working on data-plane, router, and Next-Generation Firewall systems.
6Phases
26Modules
20+Projects
26Weeks
NGFWCapstone
0→1Beginner OK
PHASE TIMELINE
1
Networking Foundations
Weeks 1–3
Start from zero. Understand how data moves through a network — from the physical wire all the way to your application. Covers the OSI and TCP/IP models, Ethernet framing, IP addressing and subnetting, ARP, ICMP, VLANs, and IPv6. Every subsequent phase builds directly on this foundation.
OSI layers
Ethernet frames
MAC addressing
ARP / NDP
IPv4 subnetting
CIDR
ICMP
VLANs / 802.1Q
IPv6 addressing
dual-stack
🔬 Lab: Wireshark packet dissection
🔬 Lab: Subnet a /20 by hand
2
Transport and Application Protocols
Weeks 4–7
Go deep into how data is reliably delivered and how the most important application protocols work at the byte level. TCP state machine, flow control, congestion control, and timers. UDP, DNS, HTTP/1.1 through HTTP/3 with QUIC, and the protocols a firewall must inspect — SMTP, FTP, DHCP. This is where NGFW L7 visibility starts.
⚡ M05 - TCP Internals
📦 M06 - UDP and ICMP
🔍 M07 - DNS
🌍 M08 - HTTP/1.1, HTTP/2, HTTP/3 and QUIC
📨 M09 - SMTP, FTP, DHCP
TCP state machine
3-way handshake
flow control
congestion control
NewReno / CUBIC
SACK
DNS resolution
DNSSEC
HTTP/2 streams
QUIC / IETF
SMTP envelope
🔬 Lab: Trace a TCP handshake in tcpdump
🔬 Lab: Build a DNS resolver in Python
🔬 Lab: Capture and decode HTTP/2 frames
📌 Prerequisite: Phase 1 complete. TCP builds directly on IPv4 packet structure.
3
Routing and Forwarding
Weeks 8–11
How packets find their path across networks. Covers the FIB/RIB split, longest prefix match algorithms, ECMP, OSPF link-state routing internals, BGP path selection and policy, MPLS label switching, and overlay tunneling (VxLAN, GRE). Essential for data-plane engineers and anyone building router software or firewall routing tables.
🗺️ M10 - Routing Fundamentals and FIB
🔄 M11 - OSPF Internals
🌍 M12 - BGP Internals
🔗 M13 - MPLS, VxLAN, GRE and Tunneling
FIB / RIB
LPM
ECMP
OSPF LSA types
SPF algorithm
BGP attributes
AS path
route policy
MPLS labels
VxLAN VTEP
GRE tunnels
🔬 Lab: Implement LPM in C using a trie
🔬 Lab: Simulate OSPF convergence with GNS3
🔬 Lab: BGP peering between two Linux routers
📌 Prerequisite: IPv4 (M03) and TCP (M05). Routing builds on L3 fundamentals.
4
Linux Networking and Socket Programming
Weeks 12–16
The implementation layer — where your C code actually runs. Covers the Linux kernel network stack (sk_buff, netdev, Netfilter, tc), POSIX socket programming from scratch (TCP servers, UDP, non-blocking I/O, epoll), raw and packet sockets, eBPF/XDP for kernel bypass, and high-performance techniques: NUMA-aware design, RSS, CPU affinity, io_uring, AF_XDP. This phase bridges theory and production code.
🐧 M14 - Linux Network Stack
🔌 M15 - Socket Programming in C
🔬 M16 - Raw Sockets, pcap and eBPF
🚀 M17 - Kernel Bypass and XDP
⚡ M18 - High-Performance Techniques
sk_buff
netfilter hooks
iptables internals
tc / qdisc
POSIX sockets
epoll
non-blocking I/O
raw sockets
eBPF / XDP
AF_XDP
io_uring
RSS / RPS
NUMA
CPU affinity
🔨 Project: TCP echo server with epoll (C)
🔨 Project: Raw socket packet sniffer
🔨 Project: eBPF packet counter and dropper
🔨 Project: AF_XDP zero-copy forwarder
📌 Prerequisite: Phases 1–3. Socket programming requires solid TCP/IP knowledge. C programming basics assumed.
5
Security Protocols and Cryptography
Weeks 17–21
The cryptographic and protocol foundation of every NGFW feature. Covers symmetric and asymmetric cryptography, PKI, X.509 certificate chains, TLS 1.2 and TLS 1.3 handshake internals (cipher suites, ALPN, session resumption), IPsec (ESP, AH, IKEv2, tunnel vs transport mode), DTLS, mutual TLS, and SSL inspection techniques used by NGFWs to decrypt and re-encrypt traffic for inspection.
🔑 M19 - Cryptography Essentials
🔒 M20 - TLS 1.2 and TLS 1.3 Internals
🛡️ M21 - IPsec and IKEv2
🔍 M22 - DTLS, mTLS and SSL Inspection
AES / ChaCha20
RSA / ECDSA
ECDH key exchange
PKI / X.509
certificate chains
TLS handshake
cipher suites
ALPN / SNI
session tickets
ESP / AH
IKEv2
VPN tunnels
SSL bump
certificate pinning
🔨 Project: TLS 1.3 handshake step-by-step with OpenSSL
🔨 Project: Build a simple IKEv2 client in Python
🔨 Project: SSL inspection proxy (mitmproxy internals)
📌 Prerequisite: TCP (M05), HTTP (M08). TLS runs over TCP and wraps HTTP — you need both to understand the full picture.
6
NGFW Development
Weeks 22–26
Everything comes together. Build a Next-Generation Firewall from the ground up. Stateful connection tracking, NAT44/NAT64, ALGs for FTP/SIP. Deep Packet Inspection (DPI) using Hyperscan and nDPI for L7 application classification. IDS/IPS with Snort/Suricata rule engine and signature matching. URL and DNS-based filtering with threat intelligence feeds. SSL inspection pipeline. Policy engine tying it all together. Capstone: a working NGFW prototype.
🔄 M23 - Connection Tracking and NAT
🔬 M24 - Deep Packet Inspection
🚨 M25 - IDS and IPS
🛡️ M26 - NGFW Policy Engine and Capstone
conntrack
NAT44 / NAT64
ALG (FTP / SIP)
L7 classification
Hyperscan
nDPI
regex engine
Snort rules
Suricata
signature matching
URL filtering
DNS sinkhole
threat intel
SSL inspection
policy engine
🔨 Project: Stateful conntrack in C using bihash
🔨 Project: L7 classifier with nDPI
🔨 Project: Write 10 custom Snort rules
🏆 Capstone: NGFW prototype — conntrack + DPI + policy + SSL inspection
📌 Prerequisite: All of Phases 1–5. This phase is the integration layer — every component you build uses knowledge from every prior module.
ALL 26 MODULES AT A GLANCE
| Module | Title | Phase | Key Topics | Weeks |
|---|---|---|---|---|
M01 | OSI and TCP/IP Model | P1 | OSI layers, encapsulation, PDUs, TCP/IP vs OSI | 1 |
M02 | Ethernet and L2 | P1 | Ethernet frame, MAC, ARP, VLANs, 802.1Q, STP, RSTP | 1–2 |
M03 | IPv4 Deep Dive | P1 | Header fields, subnetting, CIDR, fragmentation, ICMP | 2 |
M04 | IPv6 | P1 | Addressing, NDP, ICMPv6, SLAAC, dual-stack, transition | 3 |
M05 | TCP Internals | P2 | State machine, handshake, flow control, congestion, SACK | 4–5 |
M06 | UDP and ICMP | P2 | UDP header, IGMP, multicast, ICMP types, traceroute | 5 |
M07 | DNS | P2 | Resolution, record types, DNSSEC, DoH, DoT, DNS attacks | 5–6 |
M08 | HTTP/1.1, HTTP/2, HTTP/3 and QUIC | P2 | HTTP methods, headers, streams, multiplexing, QUIC frames | 6 |
M09 | SMTP, FTP, DHCP | P2 | SMTP envelope, MIME, FTP active/passive, DHCP DORA | 7 |
M10 | Routing Fundamentals and FIB | P3 | FIB/RIB, LPM, trie, ECMP, policy routing | 8 |
M11 | OSPF Internals | P3 | LSA types, SPF, areas, DR/BDR, OSPF v3 | 9 |
M12 | BGP Internals | P3 | eBGP/iBGP, path selection, attributes, communities, policy | 10 |
M13 | MPLS, VxLAN, GRE and Tunneling | P3 | Label switching, VTEP, overlay networks, encap/decap | 11 |
M14 | Linux Network Stack | P4 | sk_buff, netdev, Netfilter, iptables, tc, nftables | 12–13 |
M15 | Socket Programming in C | P4 | TCP server/client, UDP, non-blocking, select/poll/epoll | 13–14 |
M16 | Raw Sockets, pcap and eBPF | P4 | SOCK_RAW, AF_PACKET, libpcap, BPF bytecode, eBPF maps | 14–15 |
M17 | Kernel Bypass and XDP | P4 | XDP hook, AF_XDP, UMEM, io_uring, DPDK comparison | 15 |
M18 | High-Performance Techniques | P4 | RSS/RPS/RFS, NUMA, hugepages, CPU pinning, lock-free | 16 |
M19 | Cryptography Essentials | P5 | Symmetric, asymmetric, hashing, PKI, X.509, CRL/OCSP | 17–18 |
M20 | TLS 1.2 and TLS 1.3 Internals | P5 | Handshake, cipher suites, ALPN, SNI, session resumption | 18–19 |
M21 | IPsec and IKEv2 | P5 | ESP/AH headers, IKEv2 exchange, SA negotiation, VPN modes | 19–20 |
M22 | DTLS, mTLS and SSL Inspection | P5 | DTLS over UDP, certificate pinning, SSL bump, re-encryption | 20–21 |
M23 | Connection Tracking and NAT | P6 | conntrack table, NAT44/64, PAT, ALG for FTP/SIP/H.323 | 22–23 |
M24 | Deep Packet Inspection | P6 | L7 classification, Hyperscan, nDPI, regex, protocol fingerprinting | 23–24 |
M25 | IDS and IPS | P6 | Snort/Suricata rule syntax, signature matching, anomaly detection | 24–25 |
M26 | NGFW Policy Engine and Capstone | P6 | URL filtering, DNS sinkhole, threat intel, policy engine, capstone | 25–26 |
RECOMMENDED LEARNING PATH
For Beginners
Follow phases strictly in order 1 → 2 → 3 → 4 → 5 → 6. Do not skip M01–M04 even if they seem basic — M05 (TCP) and M14 (Linux stack) assume byte-level IP knowledge. Complete every lab before moving to the next module.
For Experienced Engineers
If you have solid L2/L3 foundations, start at M05 (TCP) or M14 (Linux stack) and use M01–M04 as reference. Phase 4 (Linux + sockets) is worth reading fully regardless of experience — eBPF and AF_XDP content is non-trivial even for senior engineers.
KEY REFERENCES