Il messaggio in numeri

Scrivi un messaggio e i due computer che se lo scambiano. Qui non ci sono disegni: solo i numeri. Ogni carattere diventa un codice e poi otto bit; e l'operazione AND fra l'indirizzo IP e la maschera dice, con un conto, se i due computer sono nella stessa rete. Tutto si aggiorna mentre scrivi.

Come funziona

Da testo a numeri

Un cavo non sa cos'è una lettera: sa solo trasmettere zeri e uni. Perciò, prima di partire, ogni carattere diventa un codice — un numero — e ogni codice si scrive con otto bit. La tabella che lega caratteri e codici si chiama ASCII per i primi 128 (lettere inglesi, cifre, punteggiatura) e UTF-8 per tutto il resto, dove una lettera accentata prende due byte. Per questo qui si contano i byte, non le lettere.

L'operazione AND, bit per bit

L'AND confronta due bit e dà 1 solo se sono tutti e due 1; in ogni altro caso dà 0.

a b a AND b
0 0 0
0 1 0
1 0 0
1 1 1

Messo in AND con la maschera, un indirizzo IP tiene i bit dove la maschera ha 1 (la parte «rete», il quartiere) e azzera quelli dove ha 0 (la parte «host», il numero civico). Quello che resta è la rete a cui l'indirizzo appartiene.

La domanda: stessa rete?

Il computer che manda deve capire se il destinatario è nella sua stessa rete (glielo consegna diretto) o fuori (lo passa al router). Fa lo stesso conto sui due indirizzi e confronta i risultati:

(IP mittente AND maschera) = (IP destinatario AND maschera)

Se l'uguaglianza è vera, stessa rete. Se è falsa, reti diverse. È esattamente la riga di codice (ipA & mask) === (ipB & mask).

La sottorete: rete, broadcast, quanti host

La maschera si scrive anche in forma corta con la notazione CIDR: /24 vuol dire «24 bit a 1», ed è lo stesso di 255.255.255.0. I bit che restano — quelli a 0 — sono gli host, e con quelli si contano gli indirizzi della rete.

Dentro ogni rete due indirizzi sono riservati e non si danno a un computer: l'indirizzo di rete (tutti i bit host a 0, quello che esce dall'AND) e l'indirizzo di broadcast (tutti i bit host a 1, quello che parla a tutta la rete insieme). Perciò gli host che si possono davvero usare sono:

host = 2^(32 − prefisso) − 2

Il −2 sono proprio quei due indirizzi. Esempio dalla voce: una rete /27 ha 32 − 27 = 5 bit host, quindi 2^5 − 2 = 30 host utilizzabili. Con 192.168.32.97/27 l'indirizzo di rete è 192.168.32.96 e il broadcast 192.168.32.127. Il pannello «La sottorete del mittente» qui sopra fa questo conto sull'indirizzo che scrivi.

Il tragitto, e cosa cambia lungo la strada

Se i due computer sono in reti diverse, il messaggio passa di router in router. Tre numeri raccontano tutto: il TTL parte da 64 e ogni router lo scala di 1 (64 → 63 → 62), così un pacchetto perso non gira per sempre; il MAC — l' indirizzo della scheda di rete — viene riscritto a ogni tratto, perché ogni volta la busta è per il prossimo apparato; l'IP e le porte, invece, non cambiano mai dall'inizio alla fine. Il pannello qui sopra lo mostra salto per salto.

Questo strumento è il compagno «solo numeri» di Viaggio nel TCP/IP, dove gli stessi conti si vedono dentro il viaggio di un pacchetto, e di Come i router si dicono le strade, che spiega come fa il provider a sapere dov'è la rete del destinatario.

Tutoring Premium

Ripetizioni e tutoring con un docente di ruolo

Matematica, fisica e informatica. Un metodo, non solo esercizi: si parte da come funziona.

Prenota il colloquio gratuito Senza impegno · Posti limitati