Tabella di routing
Una tabella di routing (in italiano tabella di instradamento), in informatica, è una tabella di dati, memorizzata in un router o in un host, che elenca le rotte di destinazione di una data rete e in molti casi la metrica (distanza migliore) di ciascuna rotta presente[1](a scopo informativo). La tabella contiene informazioni sulla topologia della rete immediatamente circostante

La costruzione della tabella di routing è un compito affidato alle sorgenti di informazioni di routing, come ad esempio i protocolli di routing, il singolo router che è a conoscenza degli indirizzi IP assegnati alle proprie interfacce (le c.d rotte direttamente connesse), o l'essere umano che, conoscendo le rotte verso destinazioni specifiche, le inserisce manualmente nella configurazione del router (in questo caso prendono il nome di rotte statiche)
Descrizione
Una tabella di routing funziona in maniera simile al servizio postale. Ogni volta che un nodo di una rete deve inviare pacchetti di dati ad un altro nodo, deve prima conoscere dove inviarli. Se il nodo di invio non è connesso direttamente al nodo di destinazione, deve inviare i pacchetti per mezzo di altri nodi che si trovano attraverso il nodo di destinazione finale. Ogni nodo intermedio ha quindi bisogno di tenere traccia delle rotte per poter decidere in quale direzione instradare i pacchetti, e a tale scopo utilizza una tabella di routing. Una tabella di routing è un database che tiene traccia dei percorsi, come una carta geografica.
La tabella di routing è una struttura dati memorizzata nella RAM, che viene utilizzata per memorizzare informazioni sulle rotte relative alle reti direttamente connesse e alle reti remote. Essa contiene le associazioni tra l'indirizzo IP che rappresenta un intera rete e il next-hop. Queste associazioni dicono ad un router che una particolare destinazione può essere raggiunta in modo ottimale trasmettendo i pacchetti a un router specifico che rappresenta la tappa successiva (appunto next-hop) sulla strada verso la destinazione finale.
Con il routing hop-by-hop, caratteristica fondamentale di IP Internetwork Layer[2], una tabella di routing elenca, per ciascuna delle destinazioni raggiungibili, l'indirizzo del dispositivo successivo lungo il percorso verso tale destinazione. Supponendo che le tabelle di routing siano coerenti, la semplice routine di inoltro dei pacchetti attraverso il successivo indirizzo di destinazione è sufficiente a raggiungere qualsiasi punto di una rete.
Una rete connessa direttamente è una rete che è collegata direttamente ad una delle interfacce del router. Quando vengono assegnati un indirizzo di rete e una lunghezza di prefisso (subnet mask) a un'interfaccia di un router, l'interfaccia stessa diventa un host collegato su quella rete. L'indirizzo di rete dell'interfaccia (assieme al nome e al numero della stessa) viene inserito nella tabella di routing come una rete connessa direttamente.
Una rete remota è una rete che non è collegata direttamente al router e pertanto, può essere raggiunta solamente inviando il pacchetto a un altro router. Le voci della tabella di routing relative alle reti remove possono essere aggiunte da un protocollo di routing dinamico o configurando rotte statiche. I percorsi dinamici sono le rotte per reti remote apprese automaticamente dal router, utilizzando un protocollo di routing dinamico. Le rotte statiche sono le rotte configurate manualmente da un amministratore di rete.
Le tabelle di routing sono inoltre un aspetto chiave per determinate operazioni di sicurezza, come ad esempio uRPF (unicast reverse path forwarding)[3]. In questa tecnica, che ha diverse varianti, il router guarda, nella tabella di routing, l'indirizzo di origine del pacchetto. Se non esiste nessun percorso all'indietro verso l'indirizzo sorgente, il pacchetto si presume essere malformato o proveniente da un attacco denial of service rete e viene scartato.
Difficoltà
La necessità di memorizzare un gran numero rotte in uno spazio di archiviazione limitato rappresentano una sfida importante nella costruzione di tabella di routing. Per quanto riguarda gli indirizzi IPv4, la tecnologia di suddivisione attualmente dominante è un medoto chiamato CIDR (Classless Inter-Domain Routing). Per risparmiare spazio nella tabella di routing e velocizzare i lookup, i protocolli di routing possono aggregare simbolicamente le reti così suddivise per le quali non esiste ambiguità di destinazione in una supernetwork, (chiamata talvolta rotta aggregata, o summary) e inserire quella nella tabella di routing al posto delle numerose rotte individuali che essa rappresenta.
Contenuti
La tabella di routing è costituito da almeno tre campi di informazione:
- l'ID di rete: cioè la sotto-rete di destinazione;
- costo/metrica: cioè il costo o metrica del percorso attraverso cui il pacchetto deve essere inviato (Le metriche possono essere basate su informazioni quali la larghezza di banda, numero di hop, costo del percorso, il ritardo, carico, Maximum Transmission Unit, affidabilità e costi di comunicazione);
- salto successivo: Il salto successivo o gateway, è l'indirizzo della stazione successiva in cui il pacchetto deve essere inviato sulla strada verso la sua destinazione finale.
Note
- ^ Routing table, su linfo.org, The Linux Information Project, 09.10.2005. URL consultato il 07.04.2015.
- ^ RFC_1812 Requirements for IP Version 4 Routers (TXT), su ietf.org, Network Working Group, 01.06.1995. URL consultato il 07.04.2015.
- ^ RFC 3704 Ingress Filtering for Multihomed Networks (TXT), su ftp.rfc-editor.org, Network Working Group, 01.03.2004. URL consultato il 07.04.2015.
Voci correlate
Collegamenti esterni
- The IP Routing Table, su technet.microsoft.com.
- IP Routing Linux NAG, su tldp.org.