📡 Days 3–5: Networking Took Me by Surprise

Areeba HassanAreeba Hassan
6 min read

So, I'm five days into the 40 Days DevOps Reset — and let me just say it straight: I seriously underestimated networking.

I thought, "I already know the basics — how hard could it be?" Spoiler: it took me three full days to actually make sense of all the stuff I thought I already knew.

I breezed through the Linux part in Days 1 and 2, thinking Networking would be easier. It wasn't.

🎥 What I Watched

I had already seen this video by TrainWithShubham: 👉 "Computer Networking Full Course"

But this time, I went back and watched it again, this time slowly. I also used Claude AI side-by-side to break things down and reinforce stuff that wasn't clicking.

I paused A LOT. Googled. Practiced on terminal. And finally… started getting it.

🧠 What I Actually Learned

Here's the real list of what I went through:

🌐 Network Fundamentals

  • Network topologies (star, bus, mesh, ring) — boring stuff

  • Routers, switches, hubs, bridges — what they actually do

  • Client-server vs peer-to-peer architecture

📶 OSI Model + TCP/IP Stack

  • All 7 OSI layers (I drew them out over and over)

  • TCP/IP 4-layer model

  • Data flow → Encapsulation & decapsulation

  • PDU types at each layer

🧮 IP Addressing

  • IPv4 address structure

  • Subnetting, CIDR, private vs public IPs

  • NAT (finally understood how translation works)

  • Touched IPv6 — still weird but okay

🔌 Transport Protocols

  • TCP 3-way handshake

  • TCP vs UDP — finally got the difference in DevOps contexts

  • Flow control and error correction

🌍 Application & Network Layer Protocols

  • HTTP/HTTPS

  • DNS (learned how dig + nslookup work)

  • DHCP, FTP, SSH

  • ICMP, ARP, RIP, OSPF (just basic idea)

🔒 Network Security

  • CIA triad — confidentiality, integrity, availability

  • Authentication vs authorization

  • Types of firewalls, ACLs, segmentation

  • VPNs and encryption (TLS, SSL)

🐧 Linux Network Commands

  • ip, netstat, ss, ping, traceroute, nslookup

  • tcpdump (super useful)

  • Edited config files and used NetworkManager

  • Played with iptables to block/allow traffic

☁️ Cloud Networking (Basic AWS Stuff)

  • VPCs, subnets, NAT + Internet Gateways

  • Route tables, security groups, NACLs

  • Load balancers, CloudFront CDN

  • The basic logic of hybrid cloud connectivity

🛠️ Proof of Learning - What I Actually Built

Terminal Work & Linux Networking

Worked with all these and more commands (but not gonna show you my ips and stuff lol):

  • Network interface configurations using ip addr show

  • Active connections with netstat -tuln and ss -tuln

  • Routing table analysis with ip route

  • DNS lookups with dig and nslookup

  • Packet capture sessions with tcpdump

  • iptables rules configuration and testing

AWS Infrastructure (No GUI - Pure CLI & Terraform)

Created AWS infrastructure using only command line and terraform:

  • AMI verification and infra files created through terminal commands

  • Wrote,init,validated and applied Terraform configurations for reproducible infrastructure(took me hours cause there were so many errors and am not that pro soo)

  • Used AWS CLI to verify my infra (these commands sucks)

  • SSH key pair generation via AWS CLI

THEN:

  • All configurations uploaded to repository for version control

AWS Components Built:

  • Custom VPC with public and private subnets

  • Internet Gateway and NAT Gateway setup

  • Route tables with proper routing rules

  • Security groups with specific ingress/egress rules

  • EC2 instances in different subnets for testing connectivity

CHECK THE GITHUB REPO FOR MORE DETAILS:

aws-networking-practice

🎯 How I Learned It

What Helped:

  • Drawing diagrams manually (my drawing skills are terrible but it worked!)

  • Practicing networking commands on my Linux terminal (btw am using Linux from long time)

  • Asking Claude AI to explain protocols like I'm five

  • Playing with packet captures using tcpdump

  • Using a free-tier AWS account to test VPC setups

  • Actually breaking internet access with iptables and fixing it 😅

  • Hands-on AWS CLI work instead of clicking through GUI

  • Writing Terraform configs to understand infrastructure as code

What Didn't Help:

  • Rushing through subnetting the first time

  • Skipping drawing OSI stack — I needed visuals

  • Watching without pausing (bad idea for this topic)

😵 What Confused Me

  • Subnet masks and CIDR notation

  • The difference between private/public IPs in real setups

  • How NAT works inside a VPC

  • Firewall rules in Linux vs AWS (they're very different)

  • The difference between netstat, ss, and lsof

  • Terraform state management for networking resources

  • AWS CLI syntax for complex VPC configurations

🧠 How I Made It Click

  • Drew topologies with sticky notes on my wall 💀

  • Built a local VM with static IP + then tested DHCP

  • Configured two subnets in AWS (one public, one private)

  • Used tcpdump to actually see packets

  • Did mini experiments with blocked ports, SSH failures, DNS lookups

  • Read AWS docs for 1 hour before bed — not fun, but worth it

  • Destroyed and recreated AWS infrastructure multiple times using Terraform

  • Verified every step with terminal commands and screenshots

👍 Would I Recommend These Resources?

Yes — but only if you don't treat them like background noise.

  • The TrainWithShubham video is gold

  • Claude AI helped when I was stuck in theory

  • I wish I had used more labs though — hands-on stuff is where you really learn it

  • AWS CLI documentation is dense but essential

  • Terraform docs for AWS provider are incredibly helpful

🔁 Final Thoughts

Yeah… networking was not basic. It was frustrating, slow, confusing — and absolutely essential.

I'm really glad I slowed down for this. If I had rushed it, I'd be completely lost when we get to Kubernetes, AWS security groups, or container networking.

The hands-on approach with AWS CLI and Terraform really made the difference. Instead of just clicking through the AWS console, I had to understand what each command does and how resources connect. The terminal screenshots and repository uploads aren't just for show — they're proof that I actually built and understood these concepts.

This whole "reset" challenge is already doing its job — not teaching me new things, but showing me where my old gaps were hiding.

📓 Reminder: I'm Writing These Raw

Here's something I've decided for every phase/tool I touch:

I'll write a quick, honest journal entry that breaks down:

  • What I learned

  • What confused me

  • How I made it click

  • Whether the video was worth it

  • What I built/practiced

  • Actual proof of work (screenshots, code, configurations,repos)

This isn't some polished tutorial. This is my real learning process — the good, the messy, the aha-moments, and the actual artifacts I created along the way.

If you're following along, you're not just seeing the topics… You're seeing how it actually goes when you try to truly understand DevOps, complete with the terminal outputs, infrastructure code, and sometimes terrible hand-drawn diagrams that make it real.

Let's keep going. Day 6 tomorrow. 💻🔥

0
Subscribe to my newsletter

Read articles from Areeba Hassan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Areeba Hassan
Areeba Hassan

I’m Areeba Hassan, a driven Software Engineering student a at VU, with a passion for DevOps and cloud-native technologies. I’m fascinated by automating workflows and building scalable systems that power modern applications. With a solid foundation in tools like Docker, Kubernetes, Terraform, and Jenkins, I thrive on tackling complex challenges and exploring innovative solutions. My coursework in Data Structures, Operating Systems, and Software Engineering fuels my curiosity and technical growth. I’m excited to share my learning journey on LinkedIn and GitHub, connect with the tech community, and grow as a DevOps engineer. Let’s collaborate and innovate! 🚀