Come i router si dicono le strade
Chi scrive nella tabella di un router che «per quella rete si va di qua»? Nessuno a mano. I router se lo dicono fra loro: chi possiede una rete annuncia «ce l'ho io», e l'annuncio rimbalza di rete in rete finché lo conoscono tutti. Quando arriva da due parti, ognuno tiene la strada più corta. Questo protocollo si chiama BGP.
Come funziona
Il problema
Un router deve sapere, per ogni rete del mondo, da che parte mandare i pacchetti. Il router di casa tua ne conosce due (la tua rete, e «tutto il resto al provider»); ma un router di dorsale deve avere una riga per ogni rete che esiste: la sua tabella ha quasi un milione di righe. Nessuno può scriverle e tenerle aggiornate a mano.
La soluzione: se lo dicono fra loro
Ogni rete è dentro un grande blocco chiamato Sistema Autonomo (AS) — un operatore, una grande azienda — con un suo numero, per esempio AS64512. Chi possiede una rete la annuncia ai suoi vicini: «io so raggiungere 93.184.216.0/24». Ogni vicino che sente l'annuncio lo gira ai propri vicini, mettendosi in testa alla lista. Così la voce si propaga di AS in AS per tutto il pianeta. Il protocollo con cui si scambiano questi annunci si chiama BGP.
Quella lista di AS attraversati si chiama AS-path. Non è solo un contatore di salti: è l'elenco preciso di chi ha girato l'annuncio, dalla rete fino a te.
Il motore: la strada più corta
Quando lo stesso annuncio arriva da due vicini diversi, l'AS deve scegliere. La regola principale di BGP è semplice: si tiene l'AS-path più corto, cioè quello con meno AS in mezzo. Fra questi due:
[Casa, Dorsale, Edera] = 3 vs [Casa, MareNet, Transito, Edera] = 4
vince il primo, perché 3 < 4. Il router segna nella sua tabella «per quella rete, passa a Dorsale». L'altra strada non si butta: si tiene da parte come riserva, pronta a subentrare se la prima smette di funzionare.
Perché la lista intera, e non un numero?
Portarsi dietro tutto l'AS-path, e non un semplice contatore, serve a non girare in tondo. Prima di accettare un annuncio, un AS controlla se compare già sé stesso nella lista: se c'è, vuol dire che quell'annuncio ha già fatto un giro ed è tornato indietro, e lo rifiuta. Un contatore da solo non potrebbe accorgersene. È un cugino del TTL, ma strutturale: invece di contare i salti, guarda chi ha già toccato.
Dove si lega al resto
Questa è la risposta alla domanda che resta aperta in Viaggio nel TCP/IP: là, al router del provider, compariva già pronta la riga «per la rete del server, vai di qua». Qui si vede da dove viene quella riga — l'ha imparata per sentito dire dai vicini, un annuncio alla volta. E quando poi un pacchetto parte, segue l'AS-path al contrario, di AS in AS, fino alla rete che l'ha annunciato.
Le parole
- BGP
- il protocollo con cui i router di tutto il mondo si annunciano fra loro quali reti sanno raggiungere. È così che le tabelle si riempiono da sole.
- Sistema Autonomo (AS)
- un grande blocco di Internet — un operatore, una grande azienda — con un suo numero. BGP ragiona su questi blocchi, non sul singolo computer.
- Annuncio
- il messaggio «io so raggiungere questa rete» che un AS manda ai vicini. Ogni vicino lo rigira aggiungendosi in testa alla lista.
- AS-path
- la lista degli AS attraversati, dalla rete fino a chi guarda. Più è corta, meglio è; e se un AS ci si trova già dentro, l'annuncio viene scartato.
- Rotta di riserva
- una strada valida ma più lunga, tenuta da parte: subentra da sola se quella scelta smette di funzionare.
Ripetizioni e tutoring con un docente di ruolo
Matematica, fisica e informatica. Un metodo, non solo esercizi: si parte da come funziona.