Il collegamento dati
Nella pagina dedicata al livello fisico abbiamo seguito i bit mentre prendevano corpo, diventando tensioni su un doppino, lampi di luce dentro una fibra oppure onde che attraversano la stanza, e ci siamo fermati nel punto esatto in cui un segnale arriva all'altro capo del mezzo e torna a essere una fila di zeri e di uno. Quel gradino ci ha lasciato in mano un servizio grezzo, simile a un tubo che trasporta gocce senza sapere che cosa formino messe insieme, e ci ha anche avvertito che il tubo perde, perché il rumore, le interferenze e l'attenuazione ogni tanto capovolgono un bit oppure ne inghiottono una manciata intera.
Questa pagina sale di un piano e si occupa del livello che prende quel tubo imperfetto e lo trasforma in una linea di cui ci si può fidare fra due macchine vicine, cioè collegate dallo stesso cavo, dalla stessa fibra o dalla stessa porzione d'aria. Il suo nome, collegamento dati, descrive bene il mestiere, dato che esso si preoccupa del singolo tratto, del salto che va da una scheda di rete a quella successiva, lasciando ai piani superiori il compito di concatenare molti salti fino all'altra parte del mondo.
La guida resta il libro Reti di calcolatori di Andrew S. Tanenbaum e David Wetherall, che dedica a questo piano due capitoli consecutivi, il terzo per i principi del collegamento fra due stazioni e il quarto per il problema, più affollato, di molte stazioni che condividono lo stesso mezzo. Seguiremo lo stesso ordine, cominciando dalla conversazione a due, che è la più semplice da immaginare, e passando poi alla piazza piena di gente, dove nascono Ethernet, il Wi-Fi e gli apparecchi che popolano l'armadietto di rete di qualunque casa.
Il livello di collegamento ha tre compiti che conviene tenere a mente fin dall'inizio, perché tutto ciò che segue ne è lo svolgimento. Il primo consiste nell'offrire al piano superiore un servizio ordinato, capace di ricevere un pacchetto e di consegnarlo alla macchina vicina; il secondo consiste nell'accorgersi degli errori introdotti dal mezzo e, quando serve, nel porvi rimedio; il terzo consiste nel regolare il ritmo, in modo che un trasmettitore veloce eviti di sommergere un ricevitore lento, un po' come chi detta una lettera e ogni tanto alza gli occhi per vedere se la penna dell'altro gli sta dietro.
Il servizio offerto al piano superiore può avere tre gradi di premura, e conoscerli aiuta a capire perché tecnologie diverse si comportino in modo diverso. Nel grado più spartano il livello spedisce le trame senza attendere conferme e senza preoccuparsi di quelle perdute, scelta ragionevole su mezzi quasi privi di errori come il cavo Ethernet, dove conviene lasciare l'eventuale recupero ai piani alti; nel grado intermedio ogni trama viene confermata singolarmente, come accade nel Wi-Fi, dove l'aria guasta abbastanza trame da rendere prezioso un rimedio immediato; nel grado più premuroso le due stazioni aprono una vera connessione, numerano le trame e garantiscono che ciascuna arrivi una volta sola e nell'ordine giusto, come su certe linee a lunga distanza.
Per svolgere questi compiti il livello raccoglie i bit in blocchi chiamati trame, in inglese frame, e la trama è la busta dentro cui il pacchetto del piano superiore viaggia per un singolo salto. Ogni trama possiede un'intestazione con le informazioni di servizio, un corpo che contiene il carico e una coda con un codice di controllo, e l'operazione di chiudere il pacchetto dentro questa busta è la stessa che nella pagina d'insieme abbiamo chiamato incapsulamento, ripetuta a ogni salto con una busta nuova mentre il contenuto resta intatto.
Il primo problema concreto è capire dove una trama comincia e dove finisce, perché dal mezzo arriva un flusso continuo di bit privo di spazi e di punteggiatura, simile a una pagina scritta senza staccare mai la penna. Una prima soluzione, semplice da pensare, mette all'inizio di ogni trama un numero che dichiara quanti byte seguono, e ha il difetto che basta un errore su quel numero per far perdere al ricevitore il conto, senza alcun modo di ritrovare il punto di partenza della trama successiva. Una seconda soluzione sceglie un byte speciale, detto bandiera, e lo colloca all'inizio e alla fine di ogni trama, cosicché il ricevitore smarrito può sempre aspettare la prossima bandiera e ripartire da lì. Resta il caso in cui quel byte compare per caso anche dentro i dati, e il rimedio consiste nel farlo precedere da un byte di fuga che avverte il ricevitore di leggere il successivo come dato qualunque, tecnica che prende il nome di riempimento di byte e che somiglia all'abitudine di raddoppiare un segno quando lo si vuole scrivere alla lettera.
La stessa idea funziona anche a livello dei singoli bit, ed è la variante adottata da molti protocolli storici, nei quali la bandiera è la sequenza formata da uno zero, sei uno e un altro zero. Ogni volta che il trasmettitore incontra nei dati cinque uno consecutivi infila uno zero in più, e il ricevitore, vedendo cinque uno seguiti da uno zero, toglie quello zero e prosegue, sicché la bandiera può comparire soltanto ai confini della trama; una terza famiglia di soluzioni, usata da Ethernet, affida il compito al livello fisico, che segnala l'inizio della trama con un preambolo riconoscibile e la fine con il silenzio.
Stabiliti i confini, occorre scoprire se il contenuto è arrivato sano, e qui entra in gioco la ridondanza, cioè l'aggiunta deliberata di bit in più, calcolati a partire dai dati, che permettono al ricevitore di rifare il conto e di confrontarlo con quello ricevuto. Il principio è lo stesso della cifra di controllo stampata alla fine di un codice fiscale o di un numero di conto, che viene ricavata dalle cifre precedenti e tradisce subito chi ne ha battuta una sbagliata. La misura che governa tutta questa materia è la distanza di Hamming, cioè il numero di posizioni in cui due parole di uguale lunghezza differiscono, e il progettista di un codice sceglie le parole valide in modo che siano lontane l'una dall'altra, perché se servono almeno tre capovolgimenti per trasformare una parola valida in un'altra parola valida, allora uno o due errori producono sempre una parola fuori elenco, che il ricevitore riconosce come guasta e che, quando l'errore è uno solo, può anche ricondurre alla parola valida più vicina.
La forma più elementare di ridondanza è il bit di parità, un solo bit aggiunto in fondo e scelto in modo che il numero complessivo di uno risulti sempre pari. Se durante il viaggio un bit si capovolge, il conteggio diventa dispari e il ricevitore se ne accorge, mentre due capovolgimenti nella stessa trama si compensano e passano inosservati, limite serio su mezzi dove gli errori arrivano a raffiche; per questo la parità viene spesso disposta su righe e colonne, come in una griglia in cui ogni riga e ogni colonna hanno il proprio bit di controllo, cosa che permette di catturare raffiche lunghe quanto una riga intera. Un secondo metodo, caro ai protocolli di Internet, è la somma di controllo, in inglese checksum, che tratta i dati come una colonna di numeri, li addiziona e spedisce il risultato in coda. Il calcolo è leggero e si presta al software, e la sua debolezza sta nel fatto che certi errori si annullano a vicenda, per esempio quando un numero cresce di una quantità e un altro cala della stessa, lasciando la somma immutata.
Il metodo più robusto, quello che protegge ogni trama Ethernet e ogni trama Wi-Fi, è il controllo a ridondanza ciclica, noto con la sigla CRC. L'idea, raccontata senza formule, consiste nel considerare l'intera trama come un unico numero lunghissimo, nel dividerlo per un numero fisso concordato in anticipo, chiamato generatore, e nell'accodare alla trama il resto di quella divisione; il ricevitore ripete la divisione sull'insieme e, se il resto che ottiene è diverso da zero, conclude che qualcosa si è guastato lungo il tragitto. La divisione in questione usa un'aritmetica semplificata, senza riporti, nella quale sottrarre equivale ad applicare la porta XOR incontrata nelle pagine sulla logica, e proprio per questo un registro a scorrimento con poche porte la esegue alla velocità del segnale, un bit dopo l'altro. Il generatore a trentadue bit usato da Ethernet cattura tutte le raffiche di errori lunghe fino a trentadue bit e lascia sfuggire le altre con una probabilità tanto piccola da poter essere trascurata nella pratica quotidiana.
Accanto ai codici che si limitano a rivelare l'errore esistono codici capaci di correggerlo, i quali aggiungono abbastanza ridondanza da indicare anche quale bit si è capovolto. L'esempio classico porta il nome di Richard Hamming e dispone più bit di parità in posizioni scelte con cura, ciascuno a guardia di un diverso sottoinsieme dei dati, cosicché la combinazione dei controlli falliti compone, letta come numero binario, la posizione esatta del bit colpevole. La scelta fra rivelare e correggere dipende dal mezzo, perché su una fibra, dove gli errori sono rari, conviene aggiungere pochi bit di controllo e ritrasmettere la trama nelle rare occasioni in cui arriva guasta, mentre su un collegamento radio, dove gli errori sono frequenti e una ritrasmissione rischia di guastarsi a sua volta, conviene spendere più bit per correggere sul posto, ed è questa la ragione per cui il Wi-Fi, le reti cellulari e i collegamenti via satellite fanno largo uso di codici correttori, lasciando al CRC il ruolo di ultimo giudice.
Rivelato un errore, bisogna ottenere di nuovo la trama, e il meccanismo più semplice si chiama fermati e aspetta. Il trasmettitore invia una trama e attende un breve messaggio di riscontro, in inglese acknowledgement, prima di inviare la successiva; se il riscontro tarda oltre un tempo stabilito, un orologio interno scade e la trama viene spedita di nuovo, con l'accortezza di numerare le trame perché il ricevitore sappia distinguere una trama nuova dalla copia di una già ricevuta il cui riscontro si era perso per strada.
Aspettare un riscontro per ogni trama spreca il tempo del collegamento, soprattutto quando il tragitto è lungo, e la soluzione consiste nel permettere al trasmettitore di avere in viaggio più trame contemporaneamente, fino a un massimo detto finestra. Possiamo immaginare la finestra come una cornice che scorre su una fila di trame numerate, dentro la quale stanno quelle spedite e ancora in attesa di riscontro, e ogni riscontro che arriva fa avanzare la cornice di un posto, liberando spazio per una trama nuova; lo stesso meccanismo, dimensionato sulla capacità del ricevitore, regola anche il ritmo, e lo ritroveremo ingrandito quando parleremo del trasporto. Poiché di solito i dati viaggiano in entrambe le direzioni, i protocolli evitano di sprecare una trama intera per il solo riscontro e lo infilano nell'intestazione della prossima trama di dati diretta in senso opposto, astuzia che gli inglesi chiamano piggybacking, cioè viaggiare a cavalluccio, e che obbliga a tenere un secondo orologio per spedire comunque un riscontro isolato quando nessun dato si presenta in tempo utile.
Quando una trama in mezzo alla finestra si perde, due strategie si contendono la scena. La prima, detta torna indietro di N, fa ricominciare la trasmissione dalla trama perduta, ripetendo anche quelle successive che erano arrivate bene, e ha il pregio di un ricevitore semplicissimo; la seconda, detta ripetizione selettiva, chiede al ricevitore di conservare le trame arrivate fuori ordine e di domandare soltanto quella mancante, e risparmia banda al prezzo di un po' di memoria in più.
Questi principi vivono in protocolli che usiamo senza saperlo, e sulle linee che collegano un abbonato al proprio fornitore lavora da decenni il protocollo punto a punto, indicato con la sigla PPP, discendente di una famiglia più antica chiamata HDLC, il quale delimita le trame con bandiere, le protegge con una somma di controllo e, prima di trasportare dati, negozia i parametri della linea e verifica l'identità dell'abbonato; una sua variante adattata a Ethernet, nota come PPPoE, è quella che molti modem domestici usano ancora per aprire la sessione con la centrale usando un nome utente e una parola d'ordine.
Fin qui abbiamo supposto due sole stazioni ai capi di un filo, mentre nella realtà di una rete locale molte stazioni si affacciano sullo stesso mezzo, e se due parlano insieme i loro segnali si sovrappongono e diventano illeggibili, evento che chiamiamo collisione. La parte del livello che decide chi può parlare e quando ha un nome proprio, controllo di accesso al mezzo, abbreviato in MAC dalle iniziali inglesi, e il suo problema è identico a quello di una tavolata numerosa in cui tutti vorrebbero raccontare qualcosa e nessuno presiede.
La prima soluzione nacque alle Hawaii all'inizio degli anni settanta, quando l'università collegò via radio le isole dell'arcipelago con un sistema chiamato ALOHA, la cui regola era disarmante, dato che ogni stazione trasmetteva appena aveva qualcosa da dire e, in caso di collisione, aspettava un tempo scelto a caso prima di riprovare. Il sistema funzionava con poco traffico e si ingolfava al crescere delle stazioni, arrivando a sfruttare meno di un quinto della capacità del canale, percentuale che raddoppiava dividendo il tempo in intervalli regolari e obbligando tutti a cominciare soltanto all'inizio di un intervallo. Esistono anche protocolli che eliminano le collisioni alla radice, assegnando i turni in anticipo, e il più noto fa circolare fra le stazioni, disposte idealmente in cerchio, un breve messaggio chiamato gettone, il cui possesso dà diritto a trasmettere una trama prima di passarlo al vicino; le reti ad anello che lo adottavano garantivano a ciascuno un tempo massimo di attesa, qualità apprezzata nelle fabbriche, e pagavano questa certezza con apparati più costosi e con il rischio che lo smarrimento del gettone fermasse tutti, ragione per cui hanno ceduto il passo a Ethernet.
Il passo successivo fu aggiungere la buona educazione di ascoltare prima di parlare, tecnica chiamata rilevamento della portante e abbreviata in CSMA, nella quale una stazione controlla che il mezzo sia silenzioso e soltanto allora trasmette. Due stazioni possono comunque trovare il silenzio nello stesso istante e partire insieme, e sul cavo la contromisura consiste nel continuare ad ascoltare mentre si trasmette, interrompendosi appena il segnale sul filo differisce da quello emesso; l'insieme prende il nome di CSMA/CD, dove le ultime due lettere indicano appunto la rilevazione delle collisioni. Dopo una collisione ciascuna stazione attende un numero casuale di intervalli prima di riprovare, e a ogni nuova collisione consecutiva raddoppia l'ampiezza dell'insieme da cui estrae quel numero, meccanismo noto come attesa esponenziale binaria. Il risultato è un sistema che si adatta da solo al traffico, rapido quando le stazioni sono poche e paziente quando sono molte, senza che alcuna autorità centrale debba conoscere il numero dei partecipanti.
Su queste idee Robert Metcalfe e David Boggs costruirono nel 1973, nei laboratori Xerox di Palo Alto, la rete che chiamarono Ethernet in omaggio all'etere, il mezzo immaginario in cui un tempo si credeva viaggiassero le onde. La trama Ethernet, rimasta quasi immutata fino a oggi, si apre con un preambolo di bit alternati che permette al ricevitore di sincronizzare il proprio orologio, prosegue con l'indirizzo del destinatario e con quello del mittente, con un campo che dichiara il tipo di pacchetto trasportato, con il carico, che va da quarantasei a millecinquecento byte, e si chiude con i trentadue bit del CRC.
Gli indirizzi che compaiono nella trama sono lunghi sei byte e vengono chiamati indirizzi MAC oppure indirizzi fisici. Il costruttore li incide nella scheda di rete in fabbrica, usando i primi tre byte come propria firma, assegnata da un ente internazionale, e gli ultimi tre come numero di serie, cosicché ogni scheda del pianeta nasce con un nome diverso, che si scrive come sei coppie di cifre esadecimali; un indirizzo speciale, composto di soli uno, indica la diffusione a tutti, in inglese broadcast, e fa sì che la trama venga letta da ogni stazione della rete locale.
La lunghezza minima della trama ha una ragione fisica elegante. Perché il rilevamento delle collisioni funzioni, il trasmettitore deve essere ancora intento a trasmettere quando l'eco della collisione, nata all'estremo opposto del cavo, torna fino a lui, e ciò impone che la trama duri almeno il tempo di andata e ritorno del segnale sulla massima lunghezza ammessa; da questo calcolo, fatto per un cavo di due chilometri e mezzo a dieci megabit al secondo, discendono i sessantaquattro byte minimi, e i dati troppo corti vengono allungati con byte di riempimento.
Il cavo unico condiviso degli esordi fu sostituito prima dai concentratori, in inglese hub, scatole che ripetevano ogni segnale su tutte le porte lasciando intatto il problema delle collisioni, e poi dai commutatori, gli switch, che hanno cambiato la natura della rete. Uno switch legge l'indirizzo di destinazione di ogni trama e la inoltra soltanto sulla porta giusta, e poiché ogni porta dispone di un cavo proprio, con una coppia di fili per ciascuna direzione, le collisioni scompaiono del tutto e il vecchio CSMA/CD resta nello standard come un ricordo, mentre le velocità sono salite da dieci megabit a cento, poi a un gigabit, a dieci e oltre. Le sigle stampate sugli apparecchi raccontano questa storia in forma compatta, dato che il numero iniziale indica la velocità in megabit, la parola BASE ricorda la trasmissione in banda base e la lettera finale indica il mezzo, con la T del doppino intrecciato, twisted pair, e le lettere della fibra; quando colleghi un cavo, le due schede si scambiano brevi impulsi con cui dichiarano le velocità che conoscono e scelgono la più alta comune a entrambe, procedura detta negoziazione automatica che spiega perché una porta da un gigabit accetti senza proteste una vecchia stampante da cento megabit.
Lo switch impara da solo dove si trovano le stazioni, con un procedimento detto apprendimento all'indietro. Ogni volta che una trama entra da una porta, esso annota in una tabella che l'indirizzo del mittente si raggiunge da quella porta, e quando deve consegnare una trama consulta la tabella; se il destinatario è già noto la trama esce da una porta sola, altrimenti viene ripetuta su tutte le altre, operazione chiamata inondazione, e la risposta del destinatario insegnerà allo switch la strada per le volte successive, con le voci che scadono dopo alcuni minuti di silenzio per seguire gli spostamenti delle macchine. Conviene fissare due espressioni che incontrerai spesso, la prima delle quali, il dominio di collisione, è l'insieme delle stazioni le cui trasmissioni possono scontrarsi, e con gli switch si riduce al singolo cavo fra una stazione e la sua porta; il dominio di diffusione è l'insieme delle stazioni raggiunte da una trama indirizzata a tutti, e comprende l'intera rete locale, per quanti switch essa contenga, fino al punto in cui un router o una rete virtuale traccia un confine.
Collegando più switch fra loro per avere strade di riserva si creano anelli, e in un anello una trama diffusa a tutti girerebbe all'infinito moltiplicandosi a ogni giro, fino a paralizzare la rete. Il rimedio, ideato da Radia Perlman, è un protocollo con cui gli switch si scambiano messaggi, eleggono uno di loro come radice e disattivano le porte che chiuderebbero un anello, ricavando dalla maglia fisica un albero privo di cicli che viene ricalcolato da capo quando un cavo si guasta. Gli switch più evoluti permettono inoltre di dividere una stessa rete fisica in più reti logiche separate, chiamate VLAN, assegnando ogni porta a un gruppo e aggiungendo alle trame che viaggiano fra uno switch e l'altro un'etichetta di pochi byte con il numero del gruppo. Diventa così possibile tenere su un unico impianto i computer dell'ufficio, le telecamere e la rete degli ospiti senza che una trama passi da un gruppo all'altro, idea preziosa anche in casa per chi vuole confinare gli apparecchi di cui si fida meno.
Nell'aria le regole cambiano, perché una radio che trasmette è assordata dal proprio segnale e risulta incapace di udire una collisione, e perché due stazioni possono essere entrambe a portata del punto di accesso pur restando troppo lontane per sentirsi a vicenda, situazione nota come problema della stazione nascosta. Il Wi-Fi, descritto dallo standard 802.11, sceglie perciò di evitare le collisioni anziché rilevarle, e la sua tecnica prende il nome di CSMA/CA; ogni stazione ascolta, attende comunque un tempo casuale anche se il canale è libero, trasmette la trama intera e considera riuscito l'invio soltanto se riceve subito un riscontro, e per le trame lunghe può far precedere l'invio da un breve scambio di richiesta e permesso che avvisa tutti i vicini di tacere per la durata necessaria.
Prima di scambiare dati, un apparecchio deve unirsi alla rete, e il rito ha passaggi precisi. Il punto di accesso annuncia più volte al secondo la propria presenza con trame dette fari, che contengono il nome della rete, indicato con la sigla SSID; l'apparecchio le ascolta sui vari canali, sceglie una rete, si autentica e chiede l'associazione, dopodiché le trame viaggiano con tre indirizzi anziché due, dato che occorre indicare anche il punto di accesso che fa da tramite fra la parte radio e la parte cablata. Lo standard prevede inoltre alcune finezze nate dalla durezza del mezzo, come la possibilità di spezzare una trama lunga in frammenti confermati uno per uno, cosicché un disturbo costringa a ripetere soltanto il frammento colpito, l'adattamento continuo della velocità, con la stazione che scende a modulazioni più lente e più robuste quando i riscontri mancano e risale quando tornano puntuali, e il risparmio di energia, grazie al quale un telefono può spegnere la radio per brevi periodi dopo aver avvisato il punto di accesso, che nel frattempo conserva le trame a lui dirette e le consegna al risveglio.
Poiché chiunque nei paraggi può captare le onde, il Wi-Fi cifra le trame, e la storia di questa protezione insegna molto. Il primo schema, chiamato WEP, si rivelò fragile al punto da cedere in pochi minuti; il suo successore WPA2 usa il cifrario AES e ricava le chiavi di ogni sessione con uno scambio in quattro tempi a partire dalla parola d'ordine della rete, e il più recente WPA3 irrobustisce quello scambio contro chi registra il traffico per tentare con comodo, a casa propria, milioni di parole d'ordine; il funzionamento dei cifrari sarà materia dell'ultima pagina di questa sezione.
Completa il quadro il Bluetooth, nato per sostituire i cavi corti fra telefono, cuffie e tastiere, che organizza gli apparecchi in piccole reti con un dispositivo che dirige e fino a sette che seguono, e che salta di frequenza centinaia di volte al secondo secondo una sequenza concordata, per convivere con il Wi-Fi nella stessa banda. Il senso d'insieme di questo piano, ora che l'abbiamo percorso, sta nel fatto che esso consegna al livello superiore un servizio semplice e prezioso, cioè la possibilità di passare una busta integra alla macchina accanto, qualunque sia il mezzo, ed è su questo mattone che si costruisce la rete delle reti.
Passiamo ora alla pratica, per la quale ti bastano un computer con Linux e la rete di casa. Per il
primo esperimento apri un terminale e scrivi ip link, che elenca le interfacce di rete
della macchina; riconoscerai quella cablata e quella senza fili dai nomi, vedrai per ciascuna se il
collegamento è attivo e leggerai, accanto alla dicitura che indica Ethernet, l'indirizzo fisico di sei
coppie esadecimali, i cui primi tre byte, cercati in rete insieme alle parole elenco dei costruttori, ti
diranno quale azienda ha fabbricato la scheda.
Per il secondo esperimento chiedi alla macchina quali vicini conosce, con il comando ip neigh, che mostra la tabella in cui il sistema associa gli indirizzi IP della rete locale ai
rispettivi indirizzi fisici. Troverai di sicuro il router di casa, e se prima lanci un ping
verso l'indirizzo di un altro apparecchio, per esempio il telefono, lo vedrai comparire nella tabella
subito dopo, segno che il sistema ha dovuto scoprire il suo indirizzo fisico per poter confezionare la
trama.
Per il terzo esperimento osserva i contatori degli errori con ip -s link, che accanto al
numero di trame ricevute e trasmesse riporta quelle scartate perché guaste. Su un cavo in buono stato i
contatori restano a zero per giorni, mentre sull'interfaccia senza fili, soprattutto lontano dal punto
di accesso, crescono piano, e confrontarli dopo aver scaricato un file grande da due stanze diverse
rende visibile il lavoro silenzioso del CRC e delle ritrasmissioni.
Per il quarto esperimento calcola tu stesso un codice di controllo. Crea un file di testo con una
frase, poi scrivi cksum seguito dal nome del file e annota il numero che compare, che è
proprio un CRC a trentadue bit; cambia una sola lettera, ripeti il comando e osserva come il risultato
diventi del tutto diverso, a dimostrazione che una modifica minuscola basta a tradirsi, e ripeti poi la
prova con un bit di parità calcolato a mano su un byte scritto su un foglio.
Per il quinto esperimento guarda la tua rete senza fili dal lato delle trame. Con iw dev
scopri il nome dell'interfaccia radio, e con iw dev seguito da quel nome e dalla parola
link leggi il nome della rete, l'indirizzo fisico del punto di accesso, la frequenza del
canale, la potenza del segnale e la velocità negoziata; allontanati di una stanza, ripeti il comando e
noterai la potenza calare e la velocità scendere, perché le stazioni scelgono modulazioni più prudenti
man mano che il segnale si indebolisce.
Per il sesto esperimento entra nella pagina di amministrazione del router, scrivendo il suo indirizzo nel browser come hai fatto nella pagina d'insieme, e cerca l'elenco degli apparecchi collegati. Vi troverai ogni dispositivo di casa con il suo indirizzo fisico, e potrai controllare quale protezione usa la rete senza fili, verificando che sia impostata su WPA2 o su WPA3 e che la parola d'ordine sia lunga, dato che da essa discendono tutte le chiavi di cifratura.
Per il settimo e ultimo esperimento, se possiedi un piccolo switch e due computer, collegali entrambi e copia un file dall'uno all'altro osservando le spie delle porte, che lampeggiano soltanto su quelle interessate dal traffico; se hai anche un terzo apparecchio collegato, noterai che la sua spia resta quasi ferma, ed è il modo più diretto per vedere con i tuoi occhi l'apprendimento all'indietro mentre lavora.
Il modulo attinge al libro Reti di calcolatori di Andrew S. Tanenbaum e David Wetherall, e in particolare al capitolo terzo sul livello di collegamento dati, da cui provengono la delimitazione delle trame, i codici di rivelazione e di correzione degli errori e i protocolli a finestra scorrevole, e al capitolo quarto sul sottolivello di accesso al mezzo, da cui provengono ALOHA, CSMA, Ethernet classica e commutata, le reti senza fili 802.11, il Bluetooth e la commutazione con albero di copertura e reti locali virtuali.
Ora che sai come una busta integra passa da una macchina a quella accanto, resta da capire come milioni di reti locali, ciascuna con le proprie trame e i propri indirizzi fisici, riescano a comportarsi come un'unica rete estesa a tutto il pianeta, e come un pacchetto trovi la strada attraverso decine di salti verso una destinazione mai vista prima. Questo è il mestiere del livello di rete e del protocollo IP, e ti invitiamo a proseguire verso la pagina dedicata alla rete internet, dove gli indirizzi diventano geografia e i router imparano a fare da incroci.