The internet feels like magic, but it's really just three ideas stacked on top of each other: addressing, naming, and forwarding. Understand those, and the whole thing makes sense.
The mailing analogy
Sending data across the internet is like mailing a letter:
- IP address = the street address. It uniquely identifies a computer on the network.
- Packet = the letter, carrying a chunk of data and the destination address.
- Routers = post offices, forwarding each packet toward its destination.
- DNS = the phone book, translating names like "velstech.net" into IP addresses.
That's 90% of networking right there. Let's look at each piece.
1. IP addresses: the addressing
Every device on the internet has a unique number — an IP address. There are two versions in use:
- IPv4 — like
185.199.108.153. Four numbers, ~4.3 billion total. We ran out. - IPv6 — like
2606:4700:4700::1111. Vastly more addresses, slowly rolling out.
Most people never see these because of NAT — your home router gives
each device a private address (like 192.168.1.5) and shares one public
address with the outside world. All your devices "mail" through the same PO box.
2. DNS: the phone book
Nobody wants to type 185.199.108.153 into a browser. Instead we type
velstech.net, and the Domain Name System looks up the
matching IP address for us.
When you type a domain, this happens in milliseconds:
- Your computer asks its configured DNS server (usually your router or ISP).
- If the answer isn't cached, the server follows a chain: root servers → .net servers → the specific nameserver for velstech.net.
- The final nameserver returns the IP address, which gets cached so next time is instant.
DNS records have types: A points a domain to an IPv4 address,
CNAME points one domain at another, MX handles email.
This is why "buying a domain" is really "owning the entry in the DNS phone book."
3. Packets and routing: the forwarding
Your data doesn't travel as one piece. It's chopped into small packets, each stamped with source and destination addresses, then sent on its way.
Each packet independently hops through routers — devices that read the destination and forward the packet toward the right "next hop". Routes can change in real time: if one path is congested or down, packets take another.
Think of it like delivering thousands of pages to a friend by mailing each page separately. They arrive out of order and via different post offices, but your friend (the receiving software) reassembles them in the right order.
The protocols that make it reliable
Two protocols do the heavy lifting on top of that raw forwarding:
- TCP (Transmission Control Protocol) — guarantees delivery. It numbers packets, detects loss, and retransmits anything missing. Used for web, email, file transfers. Reliable but heavier.
- UDP (User Datagram Protocol) — no guarantees, just speed. Fire and forget. Used for video calls, games, DNS. Perfect when a dropped frame is better than a delayed one.
Putting it together: loading velstech.net
- You type
velstech.netand hit Enter. - DNS resolves it to
185.199.108.153(in milliseconds, via cache). - Your browser sends a request split into TCP packets, addressed to that IP.
- Routers across the internet forward each packet toward GitHub's servers.
- The server responds — its files split into packets and sent back the same way.
- Your browser reassembles the packets and renders the page.
Total round trip: often under a hundred milliseconds. Hundreds of routers, thousands of packets, and a phone book lookup — all before you finish blinking.
Why it matters to you
Networking knowledge stops being abstract the moment you buy a domain, run a home server, or debug "why is the internet slow". These three ideas — IP addresses, DNS, and packet routing — are the foundation of every connected thing you'll ever set up.