Networking Basics — Cheat Sheet

Tag: networking, tcp, udp, dns, http, ip, osi

Livello: base

TL;DR: Fondamenti delle reti per colloquio tecnico: stack TCP/IP, modello OSI, risoluzione DNS e differenze chiave tra protocolli di trasporto e applicativi.

Concetti chiave

Il modello OSI definisce 7 livelli logici: Fisico, Data Link, Network, Transport, Session, Presentation, Application.

Lo stack TCP/IP mappa la comunicazione su 4 livelli: Network Access, Internet, Transport, Application.

A livello IP (Internet) l'indirizzamento e l'instradamento avvengono tramite pacchetti senza garanzia di consegna.

TCP e' orientato alla connessione, garantisce consegna ordinata, ritrasmissione e controllo di flusso.

UDP e' privo di connessione, veloce e leggero, ideale per streaming realtime e gaming.

L'handshake a 3 vie di TCP stabilisce la sessione: SYN, SYN-ACK, ACK.

Il teardown TCP chiude la sessione tramite flag FIN e ACK in entrambe le direzioni.

DNS risolve hostname in indirizzi IP operando primariamente via UDP porta 53.

NAT mappa indirizzi IP privati all'interno di una LAN su un indirizzo IP pubblico.

Subnet mask determina la separazione tra identificatore di rete e identificatore di host.

Domande tipiche e risposte pronte

Q: Qual e' la differenza pratica principale tra TCP e UDP?R: Scelgo TCP quando l'integrita' e l'ordine dei dati sono critici, come nelle chiamate HTTP o DB. Uso UDP quando la bassa latenza prevale sulle perdite di pacchetti, come nel VoIP o telemetria.

Q: Cosa accade a livello di rete quando digiti un URL nel browser?R: Il client risolve il dominio tramite DNS, apre un socket TCP con handshake a 3 vie (ed eventuale TLS handshake per HTTPS), e infine invia la richiesta HTTP.

Q: A cosa servono i codici di stato HTTP e come si dividono?R: Indicano l'esito della richiesta: 2xx successo, 3xx reindirizzamento, 4xx errore lato client come auth o risorsa mancante, 5xx errore non gestito lato server.

Q: Qual e' la funzione del TTL (Time To Live) in un pacchetto IP?R: Evita che i pacchetti rimangano intrappolati in routing loop infiniti, decrementando il contatore a ogni hop fino allo scarto a zero.

Insidie e errori comuni

Confondere il livello di trasporto (TCP/UDP) con il livello applicativo (HTTP, WebSockets, DNS).

Assumere che HTTP/2 o HTTP/3 risolvano i problemi di latenza senza comprendere HOL (Head-of-Line) blocking su TCP.

Ignorare la latenza introdotta dai round-trip dell'handshake TLS prima del trasferimento dati effettivo.

Confondere un indirizzo IP privato non instradabile (es. RFC 1918) con un IP pubblico.

Non considerare l'impatto del MTU (Maximum Transmission Unit) e della frammentazione dei pacchetti.

Snippet e comandi

# Ispezione risoluzione DNS dettagliata
dig +trace example.com

# Tracciamento del percorso dei pacchetti e latenza per hop
traceroute example.com

# Verifica porte in ascolto e connessioni attive
ss -tulpn

# Cattura pacchetti rapida su interfaccia specifica
tcpdump -i eth0 -n port 80 or port 443

Da ripassare

[ ] Sequenza esatta dei flag nel 3-way handshake TCP (SYN, SYN-ACK, ACK)

[ ] Differenze tra record DNS: A, AAAA, CNAME, MX, TXT

[ ] Struttura dei blocchi di indirizzi privati RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)

[ ] Differenze tra HTTP/1.1 (keep-alive, pipelining), HTTP/2 (multiplexing) e HTTP/3 (QUIC/UDP)

[x] Ruolo di ARP nella risoluzione di IP in MAC address su rete locale

Jarvis Interviews
Jarvis