fbpx

Panoramica sul Routing


19 Nov 2019 - Reti


Panoramica sul Routing

Cosa si intende per routing e quali protocolli prevede.

L’argomento routing è molto vasto e complicato e spiegarlo e affrontare ogni suo aspetto in un semplice articolo è quasi impossibile.
Proviamo, tuttavia, a dare una spiegazione tale da chiarire l’idea ai non addetti ai lavori.

Cosa si intende per routing

Partendo dalla traduzione della parola dall’inglese possiamo già avere un pò più chiaro il concetto di routing; infatti significa letteralmente instradamento.
Tutti i suoi protocolli e i suoi algoritmi fanno parte del Layer 3 dello stack protocollare ISO/OSI (per maggiori informazioni vi rimando a questo link : https://www.giustinoromano.it/2019/11/09/il-modello-osi/ ).
In generale l’instradamento è una funzione svolta da un commutatore il quale decide dove inviare i dati di una comunicazione.


Il router

Il router è il principale attore del compito di instradamento dei dati.

E’ un vero e proprio computer con una CPU, una RAM e tutti i carrozzamenti di un calcolatore elettronico.

Esso è detto device di Layer 3, cioè un nodo interno alla rete che espleta il compito di commutazione di livello 3 del modello OSI.
Il router è colui che lavora prettamente con gli indirizzi IP (https://www.giustinoromano.it/2019/11/06/cose-un-indirizzo-ip/ ).


Precisazione

Per qualcuno può sembrare stupida la cosa che sto per dire ma per qualcun’altro no, soprattutto per chi si avvicina per la prima volta a questi argomenti.
Quelli che aveta a casa e che comunemente chiamate router sono dei device che espletano funzioni di Access Point, Switch e Modem.
Infatti dove inserite i cavetti ethernet è uno switch, il collegamento WiFi è dato dall’Access Point e il Modem per l’aggancio a Internet!

Un router “aziendale” è una macchina che si occupa solo ed esclusivamente di routing è montato in un armadio chiamato Rack ed è estremamente sofisticato.
Ad esso poi si collegano gli Switch i quali lavorano nella rete locale!
Gli Switch permettono ai vari host di una rete locale di comunicare tra loro, i router permettono alle varie reti di collegarsi tra loro.

Di seguito un gioiellino di casa Cisco… il 4321:

Di seguito un armadio, rack, con all’interno switch e patch panel.


I patch panel non sono nient’altro che la terminazione dei cablaggi dell’edificio. Tutte le porte ethernet a muro che trovate ad esempio in un laboratorio o in un’aula informatica piuttosto che in un ufficio…

…sono cablate con dei cavi che dopo tutto il loro percorso arrivano ad essere installate dietro questi patch panel i quali poi sono collegati allo switch con delle bretelline.

rack


La solita analogia con la posta…

Volendo fare il solito esempio dell’invio di una lettera, il router è il centro smistamento dell’ufficio postale. Conosce l’indirizzo esatto del destinatario e del mittente (Indirizzi IP) .
Inoltre, fa anche qualcosa di più : conosce lo stato di tutti gli altri uffici postali limitrofi!
Sa chi è chiuso, chi è intasato, riesce a trovare il percorso più breve per la consegna della missiva.
Il router ci riesce acquisendo informazione dagli altri router con cui comunica e li conserva in ciò che è detta tabella di routing.


La tabella di routing

Tecnicamente la tabella di routing è un database.
Contiene le rotte verso altri router e il loro costo.
Il costo, o metrica, sono informazioni basate sulla larghezza di banda, numero di hop, il ritardo, carico, Maximum Transmission Unit, affidabilità della comunicazione.


Cosa accade nel processo di routing


Cosa sono i protocolli di routing

I protocolli di routing sono un insieme di norme che regolamentano la comunicazione tra due router.
Infatti forniscono informazioni utili sulle rotte più comode da utilizzare attraverso le quali inviare i pacchetti.
Un router conosce solo la rete della quale fa parte!

In sostanza conosce solo la rete a lui collegata e le reti collegate ai router direttamente connessi ad esso!

In breve, a parte le reti direttamente connesse ad esso, un router è completamente all’oscuro del resto dell’Internet!

L’immagine sopra rappresenta una rete di tre router ai quali sono collegati degli switch con tre host ciascuno.

Il router 1 conosce la rete degli host dello switch direttamente collegato ad esso e quella dello switch direttamente collegato al router 2, ma non quella del router 3.

Il router 2 è quello che conosce tutte e tre le reti!

Grazie ai protocolli di routing può ricevere informazioni anche dai nodi esterni della propria cerchia ristretta!


Classi di protocolli di Routing

Esistono innumerevoli protocolli di routing, tuttavia essi sono raggruppati in tre macro-classi:

  • Interno di tipo 1;
  • Interno di tipo 2;
  • Protocolli di routing esterno.


Routing interno di tipo 1

Rientrano in questa categoria tutti quei tipi di protocolli che vengono chiamati Link State.
Grazie ad essi i router di un sistema autonomo conoscono l’intera tipologia di rete che li circonda e i determinati costi, in termini di affidabilità del segnale, tempo speso per l’invio dei dati, utilizzando, per essere pignoli, una variabile dell’algoritmo Dijkstra. ( E’ un algoritmo inventato nel 1956 dall’informatico olandese Edsger Dijkstra ed è utilizzato per cercare i cammini più corti tra due punti in un grafico con o senza ordinamento… detta in maniera profana, per andare da punto A a punto B qual è il percorso più corto? Scusate la digressione…)
Rientrano in questa categoria l’ IS-IS, OSPF ( open shortest path first ) due dei più famosi protocolli di routing che permettono di scegliere la strada più breve verso il nodo di destinazione, intesa proprio come fisicamente più breve!!!
Sia chiaro… la strada più breve non è sempre la più veloce!
C’è da aggiungere che in un protocollo link state ogni nodo della rete acquisisce informazioni sullo stato dei collegamenti adiacenti.
Infatti ogni router invia al router, o ai router, accanto informazioni sullo stato della propria rete.
Esso è trasmesso in broadcast, cioè a tutti!
Ne consegue che si ha una mappa completa e aggiornata dell’intera rete:
il Link State Database.
E’ chiaro che in termini di sicurezza non è proprio il massimo. Se qualche mal intenzionato buca un singolo nodo della rete…


Routing interno di tipo 2

Nel secondo gruppo di protocolli di routing troviamo quelli comunemente chiamati Distance Vector.
Essi sono una serie di algoritmi che determinano la distanza massima tra due nodi nella rete, che un pacchetto dati può raggiungere.
Tra i più famosi abbiamo il RIP (Routing Information Protocol ) e l’ IGRP ( Interior Gateway Routing Protocol ) inventato per soppiantare i limiti del RIP, ed il suo successore EIGRP ( Enhanced Interior Gateway Routing Protocol ) versione Enhanced, migliorata appunto.
Entrambi, IGRP e la sua versione Super Sayan, EIGRP, sono proprietari Cisco.
Se i Link State utilizzavano l’algoritmo di Dijkstra questo utilizza quello di Bellman-Ford (per chi volesse approfondire : https://it.wikipedia.org/wiki/Algoritmo_di_Bellman-Ford ).
Sono protocolli molto più leggeri dei primi e grazie al suo algoritmo sono in grado di calcolare la stima che lo separa dalla destinazione e il first hop, il primo passo del percorso calcolato.

Quindi il router memorizza solo il first hop dell’intero percorso ergo ci possono essere problemi nella formazione di cicli o se c’è un’interruzione di collegamento potrebbe presentarsi una situazione chiamata count-to-infinity.


Count to Infinity

Supponiamo di avere una rete lineare con dei nodi:

1 — 2 — 3 — 4 — 5 — 6 — 7 — 8 — 9 — 10

Supponiamo che il collegamento con il router 1 venga meno:

1 xxx 2 — 3 — 4 — 5 — 6 — 7 — 8 — 9 — 10

Il router 2 noterà che non può raggiungere router 1 attraverso il suo collegamento diretto.

Tuttavia il router 3 ancora incosapevole della situazione dichiarerà che può raggiungere router 1 in due passi; lo dirà a router 2 il quale si convincerà che potra raggiungere router 1 attraverso router 3 in tre passi…eh si…bel macello!

Questa situazione può propagarsi sull’intera rete aumentando esponenzialmente il numero di distanze!

Ad ogni modo esistono soluzioni a questo come ad esempio lo Split Horizon. Vi rimando ai link di Wikipedia per non tediarvi troppo!


Protocolli di routing esterni

Grazie al BGP ( Border Gateway Protocol) gli host connessi ad una rete locale possono comunicare con altri host connessi ad altre reti locali.
Si può affermare che esso è Internet come noi lo percepiamo. Funziona attraverso una tabella di reti IP la quale fornisce informazioni sulla raggiungibilità delle diverse reti locali.
Infatti è il protocollo maggiormente utilizzato dagli ISP ( gli operatori telefonici per intederci).
I router che utilizzano questo protocollo si scambiano tutte le informazioni sulla loro topologia, una tabella di routing che descrive com’è fatta la loro rete locale. Torna ad aggiornarsi soltanto nel momento in cui avviene un qualche cambiamento a livello di percorsi disponibili.
L’evoluzione di questo protocollo è il MP-BGP il quale utilizza il metodo di IP multicast per inviare contemporaneamente a più router, nodi, sistemi autonomi, l’aggiornamento della tabella di routing.




2 responses

  1. Graziano Ascione ha detto:

    Complimenti informazioni molto dettagliate e complete

    1. justin ha detto:

      Grazie mille caro Graziano! Resta aggiornato su altri Articoli riguardanti le Reti e le sue amenità!
      Ci vediamo presto a casa tua per configurare l’Access Point! 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *