Mi sono trovato a dover studiare meglio l’argomento del routing IP in seguito a problemi di configurazione nel nuovo pc della VPN di un cliente.

Una delle cose che mi sono ritrovato a fare è stampare la tabella di routing dalla quale posso vedere gli indirizzi raggiungibili dal mio host (ho un computer nuovo e l’ho chiamato poleni in onore di Giovanni Poleni, fisico veneziano, 1683-1761):
Questo articolo estende e chiarisce alcune informazioni che ho già trattato nell’area del blog dedicata al Networking.
Questo argomento mi ricorda Ricerca Operativa, in cui ho studiato la teoria dei grafi che qui entra prepotentemente in gioco.
Sommario
Cos’è il routing IP: panoramica
Routing IP è un termine generico per l’insieme di protocolli che determinano il percorso seguito dai dati per viaggiare su più reti dalla sorgente alla destinazione. I dati vengono instradati dall’origine alla destinazione attraverso una serie di router e su più reti.
Il compito del router è collegare due reti.
I protocolli di routing IP consentono ai router di creare una tabella di inoltro che correla le destinazioni finali con gli indirizzi dell’hop successivo.
Questi protocolli includono:
- BGP ( Border Gateway Protocol)
- IS-IS (Intermediate System – Intermediate System)
- OSPF (Open Shortest path First)
- RIP (Routing Information Protocol)
che verranno descritti più avanti.
Quando un pacchetto IP deve essere inoltrato ad un’altra rete, un router utilizza la propria tabella di inoltro per determinare l’hop successivo per la destinazione del pacchetto (in base all’indirizzo IP di destinazione che si trova nell’intestazione del pacchetto IP) e inoltra il pacchetto in modo appropriato. Il router successivo ripete quindi questo processo utilizzando la propria tabella di inoltro e così via finché il pacchetto non raggiunge la sua destinazione. In ogni fase, l’indirizzo IP nell’intestazione del pacchetto è un’informazione sufficiente per determinare l’hop successivo; non sono necessarie intestazioni di protocollo aggiuntive.
Dunque, in qualche modo, ogni router cerca di “indovinare” la prossima rete che più probabilmente porterà a destinazione il pacchetto IP.
Quindi è chiaro che il nodo della questione è: come funziona un router? dal suo funzionamento infatti dipende il successo della consegna di un pacchetto TCP/IP alla destinazione.
Panoramica sul funzionamento di un algoritmo di routing
Un algoritmo di routing è progettato per determinare il percorso ottimale o più appropriato attraverso una rete di comunicazione da una sorgente a una destinazione. Questo processo è fondamentale nelle reti di computer e nei sistemi di comunicazione per garantire che i dati vengano instradati in modo efficiente e affidabile da un punto all’altro. Ecco una panoramica generale di come funziona un algoritmo di routing:
- Rilevamento della topologia di rete: l’algoritmo deve avere informazioni sulla topologia della rete, cioè la configurazione dei dispositivi di rete e i collegamenti tra di essi.
- Scelta del percorso: l’algoritmo valuta i vari percorsi possibili dalla sorgente alla destinazione sulla base di criteri specifici, come la larghezza di banda disponibile, la congestione della rete, la qualità del collegamento e altre metriche.
- Costruzione della tabella di routing: l’algoritmo utilizza le informazioni raccolte per costruire una tabella di routing, che associa destinazioni specifiche ai percorsi ottimali o alle interfacce dei dispositivi di rete successivi.
- Aggiornamento della tabella di routing: la tabella di routing viene continuamente aggiornata per riflettere eventuali cambiamenti nella topologia di rete o nelle condizioni operative. Ciò può avvenire automaticamente o essere gestito manualmente.
- Instradamento dei pacchetti: quando un pacchetto dati viene inviato dalla sorgente, l’algoritmo di routing utilizza la tabella di routing per determinare il percorso ottimale. Il pacchetto viene quindi inoltrato da un dispositivo di rete all’altro lungo il percorso stabilito fino a raggiungere la destinazione.
Ci sono diversi algoritmi di routing, ognuno con i propri vantaggi e svantaggi. Alcuni esempi includono l’algoritmo di routing a vettore delle distanze (distance vector), l’algoritmo di stato del collegamento (link state), e BGP (Border Gateway Protocol) nell’ambito di Internet (vedi più avanti).
L’efficienza di un algoritmo di routing dipende dalla sua capacità di adattarsi a cambiamenti nella rete, di gestire la congestione e di ottimizzare le prestazioni complessive del sistema di comunicazione.
Una trattazione sistematica di questo argomento utilizza l’astrazione dei Sistemi Autonomi.
Sistemi autonomi
Internet è una rete di reti e i sistemi autonomi sono le grandi reti che compongono Internet. Più specificamente, un sistema autonomo (AS) è una rete di grandi dimensioni o un gruppo di reti che dispone di una politica di routing unificata. Ogni computer o dispositivo che si connette a Internet è connesso in prima istanza a un AS.
Proviamo a immaginare un AS come l’ufficio postale di una città o come gli hub di un’azienda di trasporti. La posta va da un ufficio postale all’altro finché non raggiunge la città giusta, e l’ufficio postale di quella città consegnerà poi la posta all’interno di quella città. Allo stesso modo, i pacchetti di dati attraversano Internet saltando da un AS all’altro fino a raggiungere l’AS che contiene l’indirizzo IP di destinazione: a questo punto i router all’interno di quest’ultimo AS invieranno il pacchetto all’indirizzo IP di destinazione finale.
Ogni AS controlla un insieme specifico di indirizzi IP, proprio come l’ufficio postale di ogni città è responsabile della consegna della posta a tutti gli indirizzi all’interno di quella città. L’intervallo di indirizzi IP su cui un determinato AS ha il controllo è chiamato spazio degli indirizzi IP.
I sistemi autonomi sono dunque stati introdotti per regolamentare le organizzazioni di rete come i fornitori di servizi Internet (ISP), gli istituti scolastici e le agenzie governative.
Da un punto di vista pratico, un AS è un insieme di prefissi IP assegnato a un organizzazione (entità) che sono instradabili su Internet appartenenti alla rete o all’insieme di reti che sono tutte gestite, controllate e supervisionate dall’entità o organizzazione.
Un AS utilizza un’unica politica di routing controllata dall’organizzazione. All’AS viene assegnato un numero identificativo di 16 cifre univoco a livello globale, noto come numero di sistema autonomo o ASN, dall’Internet Assigned Numbers Authority (IANA).
I sistemi autonomi numerati da 1 a 64511 sono disponibili da IANA per l’uso globale. La serie da 64512 a 65535 è riservata ad usi privati e riservati.
Per esempio l’AS a cui è connessa la rete da cui sto scrivendo questo articolo è AS3269 che è Telecom Italia S.p.A. Per trovare qual è il vostro è sufficiente individuare con quale indirizzo IP la vostra rete è connessa a Internet (lo sa il vostro router, se avete accesso alla consolle, oppure potete usare un servizio web come whatismyip.com), poi interrogare il database whois con l’argomento l’IP che avete trovato:
L’AS3269 a cui questa rete è connessa è quella di Telecom Italia. Il protocollo whois restituisce informazioni diverse a seconda che lo si interroghi con un indirizzo IP o con un nome di dominio. L’informazione sull’ASN viene esposta solo interrogando con l’indirizzo IP.
Se poi l’AS è di transito (vedi poco oltre, Telecom Italia è un caso di questi), il comando whois espone una pletora di dettagli (che sono pubblici) come tutte le direttive per l’importazione e l’esportazione delle tabelle di routing da e verso gli altri AS.
Internet, ai fini del routing, è dunque una collezione di Sistemi Autonomi (AS).
Fisicamente, un AS è un gruppo di router che sono sotto il controllo di un’unica amministrazione e scambiano informazioni di routing utilizzando un protocollo di routing comune. Ad esempio, una intranet aziendale o una rete ISP possono solitamente essere considerate come un singolo AS.
Un AS può essere classificato come uno dei tre tipi seguenti.
- Un Sistema Autonomo Stub ha una singola connessione con un altro AS. Tutti i dati inviati o ricevuti da una destinazione esterna all’AS devono viaggiare su tale connessione. Una piccola rete universitaria è un esempio di AS stub.
- Un Sistema Autonomo di transito ha più connessioni a uno o più AS, il che consente ai dati che non sono destinati a un nodo all’interno di quell’AS di attraversarlo. Una rete ISP è un esempio di AS di transito.
- Un Sistema Autonomo Multihomed ha anche più collegamenti con uno o più AS, ma non consente che i dati ricevuti su uno di questi collegamenti vengano nuovamente inoltrati dall’AS. In altre parole, non fornisce un servizio di transito ad altri AS. Un AS Multihomed è simile a un AS Stub, tranne per il fatto che i punti di ingresso e di uscita per i dati che viaggiano da o verso l’AS possono essere scelti da una serie di connessioni, a seconda di quale connessione offre il percorso più breve verso la destinazione finale. Una rete aziendale di grandi dimensioni sarebbe normalmente un AS multihomed.
Il calcolo delle rotte: Interior ed Exterior Protocols
Il termine “Interior Gateway Protocol” (IGP) si riferisce a un protocollo di routing utilizzato all’interno di una rete autonoma per determinare il percorso ottimale per la trasmissione dei dati tra i suoi nodi. Gli IGPs sono progettati per gestire il routing all’interno di una singola rete e sono complementari con gli “Exterior Gateway Protocol” (EGP), che gestiscono il routing tra reti autonome separate.
Teoria dei grafi
I protocolli di routing si basano fortemente sulla teoria dei grafi per determinare i percorsi ottimali attraverso una rete. La teoria dei grafi fornisce un framework matematico per rappresentare e analizzare le relazioni tra gli elementi di una rete, come i nodi e i collegamenti.
La teoria dei grafi sistematizza questo tipo di oggetti e studia le possibili soluzioni (e ne determina la complessità computazionale) per problemi classici come quello dei ponti di Koenigsberg o del Postino Cinese. I problemi in sostanza sono questi: come posso visitare (se possibile) tutti i nodi di un grafo? oppure tutti gli archi? qual è il percorso più conveniente da un nodo all’altro? In quest’ultimo caso la “convenienza” si traduce in un costo numerico ogni volta che mi sposto da un nodo all’altro e l’algoritmo cerca di minimizzare (o massimizzare, a seconda del problema) la somma di questi costi elementari. Le applicazioni, come è noto, sono molteplici: dagli algoritmi di routing per le reti alla costruzione di percorsi più rapidi o meno inquinanti per Google Maps.
Ecco come i protocolli di routing utilizzano la teoria dei grafi:
- Rappresentazione della Rete: La topologia di una rete può essere rappresentata come un grafo, dove i nodi rappresentano i dispositivi di rete (come router o switch) e gli archi rappresentano i collegamenti tra di essi. Questa rappresentazione è cruciale per comprendere la struttura della rete.
- Nodi e Collegamenti: I nodi del grafo corrispondono ai dispositivi di rete, mentre gli archi del grafo corrispondono ai collegamenti fisici o logici tra questi dispositivi.
- Algoritmi di Routing: Gli algoritmi di routing, come quelli utilizzati nei protocolli di routing, operano sul grafo per determinare il percorso ottimale da un punto all’altro nella rete. Due tipi principali di algoritmi di routing basati su grafi sono:
- Distance-Vector: Questo tipo di algoritmo assegna un “vettore di distanza” a ciascun nodo, indicando la distanza stimata tra il nodo e ogni altro nodo nella rete. L’algoritmo converge gradualmente verso la soluzione ottimale (la distanza minima o shortest path). Un esempio di questo algoritmo è il Routing Information Protocol (RIP) che assegna un “costo” a ciascun percorso e sceglie il percorso con il costo complessivo più basso. RIP è spesso utilizzato in reti di dimensioni medio-piccole.
Il calcolo del percorso in questo caso viene effettuato con l’algoritmo di Ford e Bellman. - Link-State: è un algoritmo più raffinato in quanto i suoi archi sono pesati. Questo tipo di algoritmo assegna uno “stato” a ciascun collegamento nella rete, indicando informazioni come la larghezza di banda e lo stato del collegamento. Gli algoritmi link-state determinano il percorso ottimale sulla base di queste informazioni dettagliate. Un esempio di questo tipo è Open Shortest Path First (OSPF) che assegna pesi ai collegamenti tra i router e calcola il percorso più breve in base a questi pesi. OSPF è più adatto per reti di grandi dimensioni e offre una maggiore flessibilità nella progettazione della rete. l calcolo del percorso in questo caso viene effettuato con l’algoritmo di Dijkstra.
- Distance-Vector: Questo tipo di algoritmo assegna un “vettore di distanza” a ciascun nodo, indicando la distanza stimata tra il nodo e ogni altro nodo nella rete. L’algoritmo converge gradualmente verso la soluzione ottimale (la distanza minima o shortest path). Un esempio di questo algoritmo è il Routing Information Protocol (RIP) che assegna un “costo” a ciascun percorso e sceglie il percorso con il costo complessivo più basso. RIP è spesso utilizzato in reti di dimensioni medio-piccole.
Riassumendo, la teoria dei grafi fornisce un modo potente per modellare e risolvere problemi di routing nelle reti. I protocolli di routing utilizzano gli algoritmi basati su grafi per determinare in modo efficiente i percorsi ottimali attraverso le complesse topologie di rete.
Un Interior Gateway Protocol (IGP) calcola dunque i percorsi all’interno di un singolo AS. L’IGP consente ai nodi di reti diverse all’interno di un AS di scambiarsi dati. L’IGP consente inoltre l’inoltro dei dati attraverso un AS dall’ingresso all’uscita, quando l’AS fornisce servizi di transito.
Un Exterior Gateway Protocol (EGP) consente ai router all’interno di un AS di scegliere il miglior punto di uscita dall’AS per i dati che stanno tentando di instradare.
L’EGP e gli IGP in esecuzione all’interno di ciascun AS collaborano per instradare i dati su Internet. L’EGP determina gli AS che i dati devono attraversare per raggiungere la propria destinazione, e l’IGP determina il percorso all’interno di ciascun AS che i dati devono seguire per andare dal punto di ingresso (o punto di origine) al punto di uscita (o la destinazione finale).
Protocolli esterni (EGP)
Lo scambio dei pacchetti da un AS ad un altro avviene utilizzando il protocollo BGP.
Border Gateway Protocol
Gli AS annunciano la loro politica di routing ad altri AS e router tramite il Border Gateway Protocol (BGP).
Finora abbiamo visto come i pacchetti vengano girati all’interno della rete di un singolo AS, ma come passano da un AS all’altro? BGP è il protocollo per l’instradamento dei pacchetti di dati tra AS. Senza queste informazioni di instradamento, il funzionamento di Internet su larga scala diventerebbe presto poco pratico: i pacchetti di dati andrebbero persi o impiegherebbero troppo tempo per raggiungere la loro destinazione.
Ciascun AS utilizza BGP per annunciare di quali indirizzi IP è responsabile e a quali altri AS si connette. I router BGP prendono tutte queste informazioni dagli AS di tutto il mondo e le inseriscono in database chiamati tabelle di routing per determinare i percorsi più veloci da AS ad AS. Quando arrivano i pacchetti, i router BGP fanno riferimento alle loro tabelle di instradamento per determinare a quale AS dovrà andare successivamente il pacchetto.
Il protocollo whois ci fornisce alcune informazioni sui collegamenti tra AS.
Ogni AS può consorziarsi con altri AS per gestire più efficientemente il traffico dati. Queste informazioni vengono visualizzate in due sezioni dell’ouput del comando che sono import ed export. Nel contesto dell’output del comando “whois” per un ASN (Autonomous System Number) – vedi la trascrizione del comando più avanti -, le sezioni “import” ed “export” si riferiscono alle relazioni di peering (di “parità”) tra sistemi autonomi. Un sistema autonomo può avere accordi di peering con altri sistemi autonomi per facilitare lo scambio diretto di traffico senza dover passare attraverso terzi.
Ecco cosa significano solitamente le sezioni “import” ed “export”:
- Import (Importazione): elenca i prefissi IP (range di indirizzi IP) che il sistema autonomo corrente riceve dai sistemi autonomi con cui ha un accordo di peering. Questi prefissi sono quelli che il sistema autonomo corrente “importa” dalla rete dei suoi peer. In altre parole, indica quali reti l’ASN corrente è disposto a accettare direttamente dai suoi partner di peering:
“Io, AS3209, sono a disposizione per far transitare i pacchetti provenienti da AS6762 e AS1913″. - Export (Esportazione): elenca i prefissi IP che il sistema autonomo corrente annuncia e rende disponibili per essere raggiunti da altri sistemi autonomi con cui ha un accordo di peering:
“i pacchetti destinati a AS1913 li faccio transitare – o li consegno – io, AS3209!”.
Questi prefissi sono quelli che il sistema autonomo corrente “esporta” verso la rete dei suoi peer. In altre parole, indica quali reti il sistema autonomo corrente è disposto a rendere disponibili ai suoi partner di peering.
Queste informazioni sono cruciali per la configurazione e la gestione del routing nei sistemi autonomi. Gli operatori di rete utilizzano queste informazioni per definire come il traffico dovrebbe fluire attraverso la rete, in base agli accordi di peering stabiliti. In genere, questi accordi sono basati su principi di reciprocità, dove due sistemi autonomi concordano di scambiare traffico direttamente per migliorare l’efficienza del routing e ridurre i costi di transito.
marco@poleni:~$ whois AS3269 % This is the RIPE Database query service. % The objects are in RPSL format. % % The RIPE Database is subject to Terms and Conditions. % See https://apps.db.ripe.net/docs/HTML-Terms-And-Conditions % Note: this output has been filtered. % To receive output for a database update, use the "-B" flag. % Information related to 'AS3209 - AS3353' as-block: AS3209 - AS3353 descr: RIPE NCC ASN block remarks: These AS Numbers are assigned to network operators in the RIPE NCC service region. mnt-by: RIPE-NCC-HM-MNT created: 2018-11-22T15:27:19Z last-modified: 2018-11-22T15:27:19Z source: RIPE % Information related to 'AS3269' % Abuse contact for 'AS3269' is 'abuse@business.telecomitalia.it' aut-num: AS3269 as-name: ASN-IBSNAZ org: ORG-IA34-RIPE import: from AS6762 action pref=100; accept ANY import: from AS1913 action pref=100; accept AS1913 import: from AS2162 action pref=100; accept AS2162 import: from AS2164 action pref=100; accept AS2164 import: from AS4589 action pref=100; accept AS4589 import: from AS5395 action pref=100; accept AS5395 ... export: to AS1913 announce ANY export: to AS2162 announce ANY export: to AS2164 announce ANY export: to AS5395 announce ANY export: to AS5502 announce ANY export: to AS5609 announce ANY export: to AS6665 announce ANY export: to AS6840 announce ANY export: to AS6875 announce ANY export: to AS8265 announce ANY export: to AS8463 announce ANY export: to AS8660 announce ANY export: to AS8754 announce ANY export: to AS8822 announce ANY export: to AS8884 announce ANY export: to AS8911 announce ANY export: to AS8978 announce ANY export: to AS8980 announce ANY ...
Il ruolo di BGP è cruciale allo stesso modo del protocollo DNS e il suo funzionamento è molto simile, quello di una database distribuito. Con così tanti AS nel mondo, infatti, i router BGP aggiornano costantemente le loro tabelle di routing. Quando le reti vanno offline, nuove reti vengono online e gli AS espandono o contraggono il loro spazio di indirizzi IP, tutte queste informazioni devono essere annunciate tramite BGP in modo che i router BGP possano modificare le loro tabelle di instradamento.
Protocolli interni (IGP)
IS-IS Protocol
Il protocollo IS-IS (Intermediate System – Intermediate System) fa parte di una famiglia di protocolli di routing IP ed è un protocollo IGP (Interior Gateway Protocol) per Internet, utilizzato per distribuire le informazioni di routing IP attraverso un singolo sistema autonomo (AS) in una rete IP.
IS-IS è un protocollo di routing dello stato del collegamento (link-state), il che significa che i router scambiano informazioni sulla topologia con i vicini più prossimi. Le informazioni sulla topologia vengono diffuse in tutto l’AS, in modo che ogni router all’interno dell’AS abbia un quadro completo della topologia dell’AS. Questa immagine viene quindi utilizzata per calcolare i percorsi end-to-end attraverso l’AS, normalmente utilizzando una variante dell’algoritmo Dijkstra. Pertanto, in un protocollo di routing dello stato del collegamento, l’indirizzo dell’hop successivo a cui vengono inoltrati i dati viene determinato scegliendo il miglior percorso end-to-end verso la destinazione finale.
OSPF
Anche OSPF è un protocollo di tipo IGP.
Ogni router OSPF distribuisce informazioni sul proprio stato locale (interfacce utilizzabili, vicini raggiungibili e costo di utilizzo di ciascuna interfaccia) ad altri router pubblicando un messaggio LSA (Link State Advertisement). D’altra parte, ogni router utilizza i messaggi ricevuti per costruire un database identico che descrive la topologia dell’AS.
Da questo database, ogni router calcola la propria tabella di instradamento utilizzando un algoritmo Shortest Path First (SPF) o Dijkstra. Questa tabella di routing contiene tutte le destinazioni conosciute dal protocollo di routing, associate all’indirizzo IP dell’hop successivo e all’interfaccia in uscita.
RIP
RIP è un semplice protocollo di routing vettoriale. In un protocollo di routing vettoriale, i router scambiano informazioni sulla raggiungibilità della rete con i vicini più prossimi. In altre parole, i router comunicano tra loro gli insiemi di destinazioni (“prefissi di indirizzo”) che possono raggiungere e l’indirizzo del salto successivo a cui inviare i dati per raggiungere tali destinazioni. Ciò contrasta con gli IGP link-state; i protocolli di vettorizzazione si scambiano percorsi tra loro, mentre i router dello stato dei collegamenti scambiano informazioni sulla topologia e calcolano i propri percorsi localmente.
Chiariamo alcuni termini relativi al routing IP
Elenco nel seguito alcuni termini usati in precedenza per spiegarli più approfonditamente.
Cos’è una policy (o politica) di routing per un AS?
Una policy di routing è l’unione di due elenchi:
- un elenco dello spazio degli indirizzi IP controllato dall’AS (quindi gli indirizzi all’interno della rete dell’AS),
- un elenco degli altri AS a cui si connette.
Queste informazioni sono necessarie per instradare i pacchetti alle reti corrette. Gli AS annunciano queste informazioni su Internet utilizzando il Border Gateway Protocol (BGP).
Cos’è uno spazio di indirizzi?
Un gruppo o un intervallo specificato di indirizzi IP è denominato “spazio degli indirizzi IP”. Ciascun AS controlla una certa quantità di spazio di indirizzi IP. (Un gruppo di indirizzi IP può anche essere chiamato “blocco” di indirizzi IP.)
Immaginiamo per un instante che tutti i numeri di telefono del mondo siano elencati in ordine numerico in un mega elenco, che due aziende di telecomunicazioni (la Phone Company A e la Phone Company B) gestiscano l’intero traffico telefonico globale. Supponiamo inolter che a ciascuna compagnia telefonica sia assegnato un intervallo di numeri di telefono:
- i numeri controllati dalla Phone Co. A da 000-0000 a 599-9999 e
- i numeri controllati dalla Phone Co. B da 600-0000 a 999- 9999.
Se Alice è connessa alla rete telefonica tramite Phone Co. A e chiama Michelle (connessa anch’essa a Phone Co. A) al 555-2424, la sua chiamata verrà instradata a Michelle tramite Phone Co. A.
Se chiama Jenny (connessa invece a Phone Co. B) al 867-5309, la sua chiamata verrà instradata a Jenny tramite Phone Co. B.
Questo è più o meno il modo in cui funziona lo spazio degli indirizzi IP.
Supponiamo che ACME (A Company Making Everything) gestisca un AS e controlli un intervallo di indirizzi IP che include l’indirizzo 192.0.2.253, che è assegnato per esempio ad server web. Se un computer dall’altra parte del mondo invia un pacchetto a 192.0.2.253, questo pacchetto raggiungerà prima o poi l’AS controllato da ACME. Se invece, sempre dal computer dall’altra parte del mondo, vengono inviati pacchetti a 198.51.100.255, questi andranno a un AS diverso (sebbene possano transitare, lungo il loro percorso, per l’AS di ACME).
Cosa sono i prefissi IP?
Quando gli ingegneri di rete comunicano quali indirizzi IP sono controllati da determinati AS, lo fanno parlando dei “prefissi” degli indirizzi IP posseduti da ciascun AS.
Un prefisso di indirizzo IP è un intervallo di indirizzi IP. A causa del modo in cui vengono scritti gli indirizzi IP, i prefissi degli indirizzi IP sono espressi in questo modo: 192.0.2.0/24.
Attenzione però! Questo prefisso rappresenta gli indirizzi IP da 192.0.2.0 a 192.0.2.255, non da 192.0.2.0 a 192.0.2.24. La “/24” indica la lunghezza del prefisso in termini di bit. In questo caso, “/24” significa che i primi 24 bit dei 32 rappresentano la parte di rete dell’indirizzo IP, mentre i rimanenti 8 bit rappresentano la parte di host. Potete rivedere alcuni di questi concetti qui.
L’output del comando ip route
Il comando “ip route” è utilizzato nei sistemi operativi basati su Linux per visualizzare e manipolare la tabella di routing del kernel (lo smistamento di pacchetti tcp/ip è infatti un compito svolto a basso livello direttamente dal kernel del Sistema Operativo). L’output di questo comando fornisce informazioni dettagliate sulla configurazione della tabella di routing del sistema. Ecco un esempio di come potrebbe apparire l’output:
default via 192.168.1.1 dev eth0 proto static 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 10.0.0.0/8 via 10.0.0.1 dev tun0
Di seguito è spiegato il significato di ciascuna riga dell’output:
- Riga predefinita (default route):
default via 192.168.1.1 dev eth0 proto static- Indica che tutti i pacchetti destinati a indirizzi non inclusi nelle altre voci della tabella di routing (
default) verranno instradati attraverso l’interfaccia di reteeth0verso il gateway con l’indirizzo IP192.168.1.1. Il protocollo èstatic, il che significa che questa voce è stata configurata staticamente.
- Indica che tutti i pacchetti destinati a indirizzi non inclusi nelle altre voci della tabella di routing (
- Riga di rete locale (local network):
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100- Specifica che la rete con l’indirizzo
192.168.1.0e maschera di sottorete255.255.255.0è raggiungibile tramite l’interfaccia di reteeth0. L’indirizzo IP locale dell’interfacciaeth0è192.168.1.100. “scope link” significa che significa che il pacchetto viene semplicemente rilasciato sul collegamento (link) e inviato direttamente all’interfaccia poiché la destinazione è nella sottorete e “ascolterà” il pacchetto – quindi non è necessario alcun gateway. In altre parole, significa che la rete è valida e raggiungibile tramite questo dispositivo (eth0).
- Specifica che la rete con l’indirizzo
- Riga specifica (specific route):
10.0.0.0/8 via 10.0.0.1 dev tun0- Indica che la rete con l’indirizzo
10.0.0.0e maschera di sottorete255.0.0.0è raggiungibile attraverso l’interfaccia di retetun0e deve passare attraverso il gateway con l’indirizzo IP10.0.0.1.
- Indica che la rete con l’indirizzo
Un abuona risorsa per una descrizione completa del comando ip è in [2]
Ho trovato questa bella immagine realizzata da Nassim sul forum ServerFault.com:
Bibliografia
[1] Metaswitch.com
[2] linux-ip.net
[3] Cloudflare.com




Commenti recenti