Networking Tutorial · Networking Basics · Lesson 1 of 28

Networking Introduction

What computer networking is, why every developer and cloud engineer needs it, and what this tutorial covers.

Create a free account to save this page, take notes and track your progress. Sign in

What is computer networking?

A network is a set of devices that exchange data. Your laptop, a phone, a web server and a database are all hosts on networks, and the internet is a network of networks connecting billions of them.

Every time you open a web page, your computer:

  1. Looks up the server's IP address with DNS.
  2. Opens a TCP connection to a port on that address (or a QUIC connection over UDP).
  3. Sets up encryption with TLS.
  4. Sends an HTTP request and reads the response.

Along the way, the data is split into packets, each finding its own way through routers, firewalls, NAT devices and load balancers. This tutorial explains each of those pieces.

Why developers need networking

  • "It works on my machine, but times out in production" is usually a networking problem: a firewall rule, a DNS record, a timeout or a route.
  • In the cloud you design the network: address ranges, subnets, route tables, security groups and load balancers are all code you write.
  • Performance depends on it: latency, connection reuse, HTTP/2 and caching decide how fast an app feels.

How this tutorial works

Examples are short Python programs you can run in the browser. They use the standard library, mostly the ipaddress module for addresses and subnets, plus small simulations of protocols such as the TCP handshake and DNS caching. Real-world commands (dig, curl, ping, traceroute) are shown with typical output for you to try on your own computer.

Public and private addressesTry it yourself
import ipaddress

server = ipaddress.ip_address("93.184.215.14")
home = ipaddress.ip_address("192.168.1.20")
print(server, "is private:", server.is_private)
print(home, "is private:", home.is_private)

Output

93.184.215.14 is private: False
192.168.1.20 is private: True

The last section applies everything to cloud networks on AWS, with Azure and Google Cloud equivalents.

Test yourself

Which protocol turns a name like www.example.com into an IP address?

  1. HTTP
  2. DNS
  3. TCP
  4. TLS
Show answer

Answer: DNS

DNS (the Domain Name System) resolves names to addresses before any connection is made.

Was this page helpful?