← Appunti

Capitolo 01

Introduzione al networking TCP/IP

Odom Vol. 1, cap. 1

1SOHO ed Enterprise

Il modo in cui percepiamo una rete dipende dal ruolo — utente domestico o tecnico aziendale — ma lo scopo finale è identico: spostare dati da un dispositivo all'altro.

In una rete SOHO (Small Office/Home Office) un unico apparato integrato fa da router, switch e access point insieme, e i dispositivi si collegano via Ethernet o Wi-Fi. In una rete enterprise le stesse funzioni sono distribuite su molti apparati dedicati: switch, access point, router e firewall tra l'utente e Internet.

Il mezzo verso l'ISP cambia con la tecnologia: cavo coassiale per il cable, doppino per il DSL, fibra per l'FTTH. In casa l'apparato è quasi sempre un modem e router integrato.

Da ricordare

2Modelli di rete e RFC

Un modello di rete è un insieme di protocolli e standard organizzati in livelli, che definiscono le regole della comunicazione.

Negli anni Settanta e Ottanta ogni produttore aveva i suoi protocolli proprietari — SNA di IBM, i protocolli DEC — e reti di vendor diversi non si parlavano. L'ISO sviluppò allora l'OSI come modello aperto. In parallelo, dal lavoro DARPA su ARPANET, nasceva TCP/IP: dagli anni Novanta è lo standard di fatto, mentre OSI è rimasto un riferimento teorico.

Attenzione a non confonderli: OSI è il modello, ISO è l'organizzazione che lo ha creato.

Gli RFC

Gli standard TCP/IP sono pubblicati come RFC (Request For Comments), documenti numerati e gestiti dall'IETF. Un RFC è il documento ufficiale che descrive un protocollo: l'RFC 791 definisce IP, l'RFC 793 definisce TCP. Sono il testo di legge di Internet.

Dove può, TCP/IP riusa standard che esistono già: per i livelli fisico e data-link adotta quelli IEEE, come Ethernet 802.3 e Wi-Fi 802.11.

Da ricordare

3I quattro livelli di TCP/IP

Il modello TCP/IP moderno ha quattro livelli, e ognuno offre servizi al livello immediatamente superiore. Esiste anche una variante a cinque livelli che separa data-link e fisico; in ogni caso TCP/IP ne ha meno dei sette di OSI.

#LivelloPDUProtocolli
4ApplicationDataHTTP, HTTPS, DNS, SMTP, POP3, FTP
3TransportSegmentTCP, UDP
2NetworkPacketIP, ICMP, ARP
1Data-Link + PhysicalFrame, bitEthernet 802.3, Wi-Fi 802.11

4Application

Fornisce servizi alle applicazioni. Non definisce l'applicazione in sé, ma il protocollo che quell'applicazione usa per accedere alla rete.

HTTP definisce come un browser richiede contenuti a un web server. Il client manda una richiesta GET con l'URL, il server risponde con un codice di stato — 200 OK se è andata bene — e i dati. Ogni risposta HTTP ha il suo header e il suo status code; l'oggetto restituito viene poi spezzato in più segmenti dal livello di trasporto.

L'URI è il termine formale per identificare la risorsa; URL è la forma di uso comune.

Da ricordare

5Transport

Gestisce la consegna dei dati tra le applicazioni. La PDU si chiama segment.

TCPUDP
Affidabilitàsì, con error recoveryno, best-effort
Numeri di sequenzano
Connessioneconnection-oriented, 3-way handshakeconnectionless
Overheadmaggioreminore
Uso tipicoweb, email, trasferimento fileVoIP, streaming, DNS, gaming

L'error recovery funziona così: ogni segmento ha un sequence number, il ricevente si accorge di quelli mancanti e tramite gli ACK fa ritrasmettere solo quelli persi. TCP offre anche il flow control, tramite windowing.

Same-layer e adjacent-layer

Sono concetti generali, validi a ogni livello, non solo qui.

Da ricordare

6Network

È il livello di IP, e la PDU si chiama packet. Fa due cose.

Indirizzamento: ogni dispositivo ha un indirizzo IP univoco. In IPv4 è di 32 bit, scritto in notazione decimale puntata: quattro numeri da 0 a 255 separati da punti, per esempio 192.168.1.10.

Routing: i router scelgono il percorso migliore e inoltrano i pacchetti da una rete all'altra leggendo l'IP di destinazione. L'analogia è quella postale: il router è l'ufficio postale che legge l'indirizzo e decide la rotta.

IP è connectionless e best-effort: non garantisce la consegna. Di quella si occupa TCP, un livello più su.

Da ricordare

7Data-link e physical

Il data-link incapsula il pacchetto IP aggiungendo un header e un trailer, creando un frame adatto al collegamento specifico. Definisce l'indirizzamento fisico (MAC), il controllo d'errore (FCS) e le regole di accesso al mezzo su quel singolo link.

Il physical definisce i segnali reali — elettrici sul rame, luminosi in fibra, radio nel Wi-Fi — e come i bit vengono codificati sul mezzo.

Ogni collegamento può usare una tecnologia data-link diversa dagli altri.

8Incapsulamento

Scendendo i livelli, ogni livello aggiunge il proprio header ai dati che riceve da sopra — e il data-link aggiunge anche un trailer. In ricezione avviene il processo inverso, il de-incapsulamento.

LivelloNome della PDU
TransportSegment
NetworkPacket
Data-LinkFrame
QualsiasiPDU (Protocol Data Unit)

Dall'alto verso il basso: data, segment, packet, frame, bit.

9OSI come vocabolario

OSI non è il modello implementato, ma fornisce la terminologia che tutti usano. I tecnici dicono ancora "layer 3" per intendere il livello di rete.

#Livello OSIIn TCP/IP
7ApplicationApplication
6Presentationincluso in Application
5Sessionincluso in Application
4TransportTransport
3NetworkNetwork
2Data-LinkData-Link
1PhysicalPhysical

Mnemonico dall'alto in basso: All People Seem To Need Data Processing.

Da ricordare