In principio c'erano il protocollo IP e l'indirizzo IP, due strumenti ideati agli albori del web e necessari per identificare univocamente tutte le risorse presenti in Internet. Ogni nodo della Rete (sia esso un personal computer, uno smartphone, un web server o un qualunque altro dispositivo di rete) è riconoscibile e rintracciabile fisicamente grazie a questo indirizzo, composto, nella sua versione IPv4, da 12 cifre divise in quattro terzetti. Nella mente di Tim Berners-Lee tutti questi indirizzi (oltre quattro miliardi di possibili combinazioni) sarebbero stati più che sufficienti per garantire a tutti i possibili dispositivi di rete di avere un loro “domicilio” su Internet. Il papà del World Wide Web, però, non avrebbe mai immaginato che la sua creatura sarebbe stata capace di espandersi così tanto e così velocemente e sottostimò – di molto – la capacità “di carico” del sistema. La comunità di ricerca internazionale è stata così costretta a correre ai ripari, sfornando il protocollo Ipv6.
Questo, sinora, il caso più noto di invecchiamento tecnologico legato al mondo della Rete. Un esempio, però, che potrebbe ben presto trovare un seguito nei router Cisco che gestiscono il traffico che transita su gran parte delle dorsali Internet più importanti. Rischio non da poco, dato che potrebbe rendere fortemente instabile l'intera Rete globale.
La routing table
I problemi, in questo caso, nascono all'interno di un piccolo chip: quello della memoria TCAM (Ternary Content-Addressable Memory) presente nei vecchi router, spesso di grandi dimensioni, che gestiscono il traffico tra le dorsali Internet e le reti web geografiche. Dal funzionamento simile alla RAM (anche se è più veloce della memoria di lavoro dei PC e dei dispositivi informatici in genere), la TCAM deve gestire e allocare le routing table (“Tabelle di instradamento” in italiano) di Internet.
La scalabilità della Rete, infatti, fa sì che il percorso tra due diversi nodi della stessa non sia predefinito: ogni pacchetto di dati digitali può seguire un percorso indipendente, a patto che non sia congestionato (non ci siano, cioè, troppi altri pacchetti in transito sul medesimo percorso) e sia più corto degli altri percorsi disponibili (tra quelli non congestionati). Tutti i possibili percorsi sono archiviati localmente nella memoria TCAM di ogni router nelle routing table e sono aggiornati periodicamente per aggiungere eventuali nuove “strade” poste in essere ed eliminare quelle non più accessibili o non più funzionanti. Nella gran parte dei casi, i chip della Ternary Content-Addressable Memory sono in grado di ospitare sino a 512mila diversi percorsi (ovvero due elevato alla diciannovesima potenza).
Il protocollo BGP
La gestione della tabella è affidata al protocollo Border Gateway Protocol (abbreviato in BGP), un sistema di controllo che agisce nei cosiddetti router di confine (quei router o gateway deputati a collegare tra loro due diversi reti geografiche e in grado di gestire il traffico in arrivo direttamente dalle dorsali web). Si tratta di un protocollo funzionante mediante la gestione di una tabella di IP che fornisce informazioni sulla raggiungibilità delle diverse reti geografiche che formano quello che chiamiamo Internet. Il BGP è un protocollo di instradamento (routing) a indicazione di percorso (path): in questo caso le varie strade seguite dai pacchetti dati non sono decise in base a metriche di carattere tecnico (congestione e lunghezza del percorso) ma in base a regole “locali” stabilite all’interno di ciascuna rete.
Quota 500mila
I problemi registrati a metà agosto 2014 hanno origine negli Stati Uniti, dove l'operatore telefonico Verizon (uno dei maggiori del Paese nordamericano) ha aggiunto 15mila nuovi percorsi nella tabella di instradamento. Nulla di anormale, come già accennato: gli ISP (Internet service provider, “Fornitori dei servizi Internet” in italiano) hanno il compito di gestire e aggiornare le tabelle di routing, “potando” e “innestando” le stesse a seconda della necessità. Peccato, però, che questa “iniezione” abbia portato il numero di route (percorsi) sopra quota 512mila, quindi superando il limite massimo di percorsi memorizzabili nelle tabelle di instradamento delle memorie TCAM, mandando in tilt parte della dorsale Internet nordamericana. Ciò ha generato una duplice problematica: da un lato il traffico era instradato su percorsi errati o già congestionati, causando un rallentamento generale della velocità della connessione web; dall'altro lato i collegamenti eccedenti quota 512mila sono stati letteralmente cancellati, rendendo di fatto inaccessibili alcuni portali o intere porzioni della Rete.
Una volta scoperta la problematica, l'operatore telefonico statunitense è corso immediatamente ai ripari caricando la vecchia versione della tabella. Troppo tardi, però, perché il danno era già stato fatto e molti utenti hanno subito per un certo periodo vistosi rallentamenti nella navigazione se non addirittura blocchi completi.
Solo l'antipasto
Anche se alcuni analisti sono rimasti sorpresi da quanto accaduto – da diverso tempo le tabelle di instradamento viaggiano al limite ma sinora non c'era mai stata alcuna avvisaglia di eventi simili – molti cominciano a preoccuparsi. “Il problema è reale e non abbiamo ancora visto i suoi reali effetti – afferma Jim Cowie, Chief Scientist della società di networking Dyn. Gran parte della Rete non ha subito i contraccolpi di quanto accaduto ma non è detto che non accada a breve”.
Il perché dell'allarmismo è presto detto: il problema registrato ha riguardato esclusivamente Verizon solo perché è stato, fino ad ora, l’unico provider ad aggiornare la propria tabella di instradamento e sovraccaricarla. Le tabelle dei vari ISP sono leggermente differenti l'una dall'altra e aggiornate in momenti differenti. Tutte, però, sono molto vicine al limite dei 500mila percorsi memorizzati e sono pertanto potenzialmente a rischio. Cisco ha, al momento, individuato una soluzione piuttosto elementare: lo spazio all'interno della TCAM di norma è equamente diviso tra spazio a disposizione per i collegamenti IPv4 e i collegamenti IPv6. La soluzione tampone proposta dal gigante tecnologico statunitense prevede una differente allocazione della memoria a vantaggio del protocollo IPv4: concedendo più memoria alle tabelle di instradamento IPv4, al momento le più usate e numerose, il limite massimo di percorsi memorizzabili salirebbe ben oltre il tetto attuale dei 512mila, risolvendo, almeno nell’immediato, il problema contingente.