Tabella di routing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Annullata la modifica 144065482 di 91.187.201.38 (discussione)
Etichetta: Annulla
 
(91 versioni intermedie di 54 utenti non mostrate)
Riga 1:
{{S|teorie dell'informatica|telecomunicazioni}}
[[File:Sample_network.svg|thumb|upright=1.4|Esempio di rete con [[router]], [[hub (informatica)|hub]] e relative tabelle di instradamento]]
La '''Routing Table''' è un [[database]] in un [[router]] contenente la [[topologia]] della [[Local Area Network|rete]] e che fornisce la gerarchia d'[[routing|instradamento]] a ciascun nodo presente. In dettaglio, una matrice che viene associata ad un protocollo per la gestione della rete.
Una '''tabella di routing''' (in italiano '''tabella di instradamento'''), chiamata anche '''routing information base (RIB),''' in [[informatica]], è una [[Tabella|tabella di dati]], memorizzata in un [[router]] o in un [[host]], che elenca le rotte di destinazione di una data [[subnet|rete]] e in molti casi la metrica (distanza migliore) di ciascuna rotta presente<ref>{{Cita web|autore = |url = http://www.linfo.org/routing_table.html|titolo = Routing table|accesso = 07.04.2015|editore = The Linux Information Project|data = 09.10.2005}}</ref> (a scopo informativo). La tabella contiene informazioni sulla [[Topologia di rete|topologia]] della rete immediatamente circostante.
Al suo interno sono contenuti tutti gli indirizzi fisici [[Indirizzo MAC|MAC]] e logici [[Indirizzo IP|IP]] della rete.
 
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 [[Instradamento statico|''rotte statiche'']]).
{{Portale|Telematica}}
 
== Descrizione ==
[[Categoria:Tecnologie di rete]]
Una tabella di routing funziona in maniera simile al [[servizio postale]]. Ogni volta che un nodo di una rete deve inviare [[Pacchetto (reti)|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'<u>indirizzo IP che identifica un'intera rete</u> e il <u>next-hop</u>. 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.
[[af:Roetetabel]]
 
[[de:Routingtabelle]]
Con il routing hop-by-hop, caratteristica fondamentale di IP Internetwork Layer<ref>{{Cita web|url=https://www.ietf.org/rfc/rfc1812.txt|titolo=RFC_1812 Requirements for IP Version 4 Routers|autore=|editore=Network Working Group|data=01.06.1995|accesso=07.04.2015}}</ref>, 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.
[[en:Routing table]]
 
[[eu:IP Bideratze-taula]]
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.
[[fr:Table de routage]]
 
[[he:טבלת ניתוב]]
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 remote possono essere aggiunte da un protocollo di [[Protocollo di routing#Algoritmi adattivi|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.
[[ko:라우팅 테이블]]
 
[[pl:Tablica trasowania]]
 
[[ru:Таблица маршрутизации]]
Le tabelle di routing sono inoltre un aspetto chiave per determinate operazioni di sicurezza, come ad esempio uRPF (unicast [[reverse path forwarding]])<ref>{{Cita web|autore = |url = ftp://ftp.rfc-editor.org/in-notes/rfc3704.txt|titolo = RFC 3704 Ingress Filtering for Multihomed Networks|accesso = 07.04.2015|editore = Network Working Group|data = 01.03.2004}}</ref>. 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.
[[sr:Табела рутирања]]
 
[[sv:Routingtabell]]
== Difficoltà ==
[[zh:路由表]]
La necessità di memorizzare un gran numero di rotte in uno spazio di archiviazione limitato rappresenta una sfida importante nella costruzione della tabella di routing. Per quanto riguarda gli indirizzi [[IPv4]], la tecnologia di suddivisione attualmente dominante è un metodo chiamato [[Supernetting#CIDR|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 per le quali non esiste ambiguità di destinazione in una [[Supernetting|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 due campi di informazione:
# l'ID di rete: cioè la sotto-rete di destinazione
# 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.
In base alle applicazioni e all'implementazione, potrebbe anche contenere valori aggiuntivi che aumentano il livello di precisione nella selezione del percorso
 
# informazioni sullo stato della rotta: Per esempio, il flag U indica che una rotta IP è operativa
# costo/metrica: il costo 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)
# criteri di filtraggio: alcune tabelle di routing mostrano se ad una rotta è associata una [[access control list]]
# interfaccia: il nome dell'interfaccia associata alle rotte direttamente connesse, che varia a seconda del produttore
 
Nella tabella seguente è riportato l'esempio di come potrebbe essere la tabella di routing di un [[Home Access Gateway|router domestico]] basato su Linux. Dove è presente un asterisco significa che quella rotta è ''direttamente connessa''
{| class="wikitable"
!Destination
!Gateway
!Genmask
!Flags
!Metric
!Ref
!Interface
|-
|0.0.0.0
|151.7.207.8
|0.0.0.0
|UG
|0
|0
|pppoe-wan
|-
|10.10.10.0
|*
|255.255.255.252
|U
|0
|0
|iptvptm0
|-
|151.7.207.8
|*
|255.255.255.255
|UH
|0
|0
|pppoe-wan
|-
|192.168.0.0
|*
|255.255.255.0
|U
|0
|0
|br-lan
|-
|192.168.168.0
|*
|255.255.255.255
|U
|0
|0
|wl0_1
|-
|192.168.168.128
|*
|255.255.255.255
|U
|0
|0
|wl1_1
|}
Le colonne Destination e Genmask (subnet mask) costituiscono l'indirizzo IP identificativo della rete, di cui si è discusso prima. Per indicare la rete 192.168.0.0 con una subnet mask 255.255.255.0, è anche possibile scrivere 192.168.0.0/24
 
La colonna Gateway contiene l'indirizzo del next-hop, il gateway attraverso il quale la rete remota indicata (in questo caso 0.0.0.0, indirizzo che rappresenta tutte le reti) può essere raggiunta
 
La colonna Interface indica quale delle interfacce disponibili localmente è responsabile per raggiungere il gateway. In questo esempio, il gateway con indirizzo 151.7.207.8 può essere raggiunto attraverso l'interfaccia pppoe-wan (il modem [[VDSL2|VDSL]] integrato nel dispositivo da cui proviene la presente lista).
 
Di seguito invece viene proposto l'estratto delle prime 10 voci di una tabella di routing proveniente da un grande router a servizio di internet presso AT&T, che esegue il sistema operativo JunOS, con accesso pubblico per la consultazione con i seguenti comandi:
{| class="wikitable"
! colspan="8" |rviews@route-server.ip.att.net> show route forwarding-table
Routing table: default.inet
 
Internet:Enabled protocols: Bridging,
|-
!Destination
!Type
!RtRef
!Next hop
!Type
!Index
!NhRef
!Netif
|-
|default
|user
|19
|0:0:5e:0:1:1
|ucst
|578
|42
|em0.0
|-
|default
|perm
|0
|
|rjct
|36
|1
|
|-
|0.0.0.0/32
|perm
|0
|
|dscd
|34
|116
|
|-
|1.93.23.118/32
|user
|0
|
|indr
|34
|116
|
|-
|12.0.0.0/8
|user
|0
|0:0:5e:0:1:1
|indr
ucst
|1048575
|311
|em0.0
|-
|12.0.0.0/9
|user
|0
|0:0:5e:0:1:1
|indr
ucst
|578
|42
|em0.0
|-
|12.0.1.0/24
|intf
|0
|
|recv
|1048575
|1
|em0.0
|-
|12.0.1.0/32
|dest
|0
|12.0.1.0
|rslv
|565
|1
|em0.0
|-
|12.0.1.1/32
|dest
|0
|0:0:5e:0:1:1
|recv
|563
|42
|em0.0
|-
|12.0.1.15/32
|dest
|0
|0:0:5e:0:1:1
|ucst
|578
|1
|em0.0
|-
| colspan="8" |La tabella prosegue con oltre 500 voci non mostrate qui
|}
 
=== Tabelle di routing sui computer ===
Negli scenari di uso comune, pur non avendo attive funzionalità di routing attive di default, anche i sistemi operativi general purpose comunemente eseguiti dai personal computer possiedono una tabella di routing. Un esempio tratto da una distribuzione Linux in esecuzione su di un laptop collegato via Wi-Fi è riportato nella tabella sottostante.
{| class="wikitable"
!Destination
!Gateway
!Genmask
!Flags
!Metric
!Ref
!Iface
|-
|default
|192.168.0.1
|0.0.0.0
|UG
|600
|0
|wlp2s0
|-
|link-local
|0.0.0.0
|255.255.0.0
|U
|1000
|0
|wlp2s0
|-
|192.168.0.0
|0.0.0.0
|255.255.255.0
|U
|600
|0
|wlp2s0
|}
 
== Tabella di forwarding ==
{{Vedi anche|Forwarding information base}}
Le tabelle di routing in genere non sono utilizzate direttamente per l'inoltro dei pacchetti nelle architetture dei router moderni, tutt'al più sono utilizzate per costruire una più semplice [[Forwarding information base|tabella di forwarding]]. Questa tabella contiene solo le rotte che sono state scelte come preferite dagli algoritmi di routing. Si trova spesso in una forma compressa o precompilata che è ottimizzata per la memorizzazione e la ricerca rapida.
 
Questo tipo di architettura differenzia la funzione della tabella di routing, di competenza del [[control plane]], dalla funzione della tabella di forwarding, appartenente al [[forwarding plane]].<ref>{{Cita web|url=http://www.ietf.org/rfc/rfc3746.txt|titolo=Forwarding and Control Element Separation (ForCES) Framework, L. Yang et al., RFC3746,April 2004.}}</ref> Questa separazione dei due piani garantisce il forwarding con alte prestazioni e senza interruzioni.
 
== Note ==
<references />
== Voci correlate ==
*[[Forwarding information base]]
*[[Router]]
*[[Supernetting]]
 
== Collegamenti esterni ==
* {{cita web|https://technet.microsoft.com/en-us/library/cc779122(WS.10).aspx|The IP Routing Table}}
* {{cita web|http://www.tldp.org/LDP/nag2/x-087-2-issues.routing.html|IP Routing Linux NAG}}
 
{{Portale|informatica|telematica}}
 
[[Categoria:Tecnologie di rete]]
[[Categoria:Teorie di rete]]