Risposte:
Il routing è la decisione su quale interfaccia deve essere inviato un pacchetto. Questa decisione deve essere presa anche per i pacchetti creati localmente. Le tabelle di routing contengono indirizzi di rete e l'interfaccia associata o nexthop. Questo si riferisce a ip route
e ip rule
(in un contesto Linux).
L'inoltro si riferisce ai pacchetti che raggiungono un sistema ma non sono destinati a questo sistema. L'inoltro è una decisione del sistema: "Prendo il pacchetto e cerco di portarlo a destinazione". Invece di lasciarlo cadere. "forwarding" è un termine comune nel contesto dei filtri di pacchetti. Netfilter di Linux ha tre catene nella sua tabella di base: INPUT, OUTPUT e FORWARD. Questa catena prende semplicemente la decisione "Questo pacchetto deve essere inoltrato o lasciato cadere?" (se l'inoltro è generalmente abilitato sul sistema; di nuovo Linux: / proc / sys / net / ipv4 / ip_forward).
Sulla maggior parte dei sistemi, quelli con una singola connessione di rete, saranno gli stessi. Su un router, tuttavia, tenderanno ad essere diversi.
La tabella di routing contiene tutte le rotte che un router apprende dai suoi colleghi e vicini usando un protocollo di routing dinamico come OSPF o BGP. Ciascuna route viene ordinata e valutata, in base ai parametri del protocollo di routing in uso, e il sottoinsieme delle voci della tabella di routing che sono "migliori" vengono inserite nella tabella di inoltro. Quando il router riceve un pacchetto, cerca l'indirizzo di destinazione nella tabella di inoltro per decidere tramite quale interfaccia inviare il pacchetto e quale dovrebbe essere l'indirizzo dell'hop successivo. Man mano che vengono apprese nuove rotte, le interfacce vengono attivate o disattivate o vengono apportate modifiche ai criteri dello schema di classificazione, la tabella di routing viene rivalutata e la tabella di inoltro aggiornata.
Le tabelle di routing sono in genere archiviate nella RAM; le tabelle di inoltro su attrezzi ad alte prestazioni saranno distribuite su schede di linea (in sistemi modulari) e saranno archiviate in TCAM ad alta velocità. In genere esiste un numero finito di rotte che possono essere mantenute in TCAM; quando la tabella di inoltro supera la capacità TCAM, i pacchetti potrebbero essere eliminati o instradati nel software (che è significativamente più lento).
Innanzitutto, dal mio punto di vista, penso che dovresti prima capire chiaramente la distinzione tra inoltro e routing , che viene spesso trascurata. Secondo il libro Reti di computer a pagina 240 di Lary L.Peterson , l'inoltro è una serie di azioni che il router intraprenderà una volta ricevuto un pacchetto, incluso guardare l'indirizzo di destinazione, consultare un tavolo e inviare il pacchetto in una direzione determinata da quel tavolo. Tuttavia, il routing qui si riferisce al processo mediante il quale vengono create le tabelle di inoltro.
Ritornando alla domanda originale, possiamo trarre la conclusione che sebbene possiamo mantenere una tabella di inoltro e una tabella di routing nelle stesse strutture, ci sono molti motivi per separarli. Una tabella di inoltro di solito deve essere strutturata per ottimizzare il processo di ricerca di un indirizzo durante l'inoltro di un pacchetto, che contiene più informazioni come l'indirizzo MAC. Al contrario, la tabella di routing di solito si concentra sul calcolo delle modifiche nella topologia e le voci nella tabella di routing sono in genere più succinte, includendo solo l'IP dell'hop successivo.
La tabella di routing contiene tutto il percorso verso la destinazione diversa (la stessa destinazione può avere 2 o più percorsi diversi)
ma
La tabella di inoltro contiene solo il percorso migliore per ogni destinazione (solo un percorso per ogni destinazione)