Introduzione
La funzione fondamentale di un dispositivo di routing è provvedere a instradare il traffico di pacchetti IP per le migliori “strade”, possibilmente, senza farci incorrere in loops.
Per ottenere questo risultato ci sono diversi metodi che si possono riassumere in due principali: routing statico e routing dinamico.
Il routing “statico” richiede l’intervento umano nella scelta delle rotte. Tutto viene configurato dalla mano, esperta o meno, dell’amministratore. A seconda dei bisogni e della situazione, l’impostazione di tipo statica del routing può essere un vantaggio o uno svantaggio; sicuramente è accettabile come soluzione fin quando il numero di dispositivi rimane basso.
L’altra possibilità è lasciar fare ai nostri dispositivi il lavoraccio, lasciando loro il compito di provvedere a trovare, in collaborazione con gli altri routers, i path migliori e provvedere di riempire le tabelle di routing.
Esistono diverse soluzioni per il routing dinamico. E’ compito dell’amministratore conoscere e scegliere tra i diversi protocolli di routing, a seconda delle esigenze e delle risorse disponibili. Il protocollo scelto si occuperà di gestire la routing table e ognuno lo farà nel suo “stile”, più o meno adatto a una situazione piuttosto che a un’altra.
In generale, il lavoro svolto dai protocolli di routing dinamico sono:
- comunicare con altri dispositivi per scambiarsi dati sulla rete
- gestire le tabelle di routing, ovvero, aggiungere le rotte selezionando la migliore nel caso ce ne siano più di una per una stessa destinazione (questo viene fatto secondo una logica propria del protocollo, che è poi il motivo per cui viene usato quello piuttosto che un altro)
- eliminare le rotte non più valide
- adattare dinamicamente la tabella di routing a eventuali cambi di topologia, siano essi provvisori (interfaccia che cade), o meno (aggiunta di un dispositivo, spostamento, rimozione).
Classificazioni
Ulteriori classificazioni possono essere fatte, così possiamo complicarci la vita ma anche fare maggior chiarezza nel distiguere i diversi protocolli di routing, riconoscerne la loro utilità e fondamenti di funzionamento e quindi scegliere quale applicare.
I routers Cisco supportano molti protocolli, tra cui possiamo menzionare:
- RIP
- IGRP (Cisco)
- OSPF
- EIGRP (Cisco)
- IS-IS
- BGP
Quelli marchiati Cisco (scritto tra parentesi) sono protocolli disponibili solo sui routers Cisco, in quanto proprietari. Sono comunque solo alcuni, e principali, alcuni con rilevanza storica, come RIP, ma comunque sufficienti a soddisfare tutte le esigenze, da topologie semplici a quelle molto complesse con esigenza di funzioni di routing avanzate. Sono anche quelli che si studiano per la certificazione CCNA, per il coseguimento della quale, questa serie di articoli vuole essere di aiuto.
Passiamo quindi a un paio di classificazioni:
EGP & IGP
Sono gli acronimi di Exterior Gateway Protocol e Interior Gateway Protocol.
E ‘ una distinzione fondamentale quanto semplice:
I protocolli di routing sono realizzati per far comunicare dispositivi che, naturalmente, parleranno la “stessa lingua”. Solitamente la comunicazione avviene tra dispositivi di un’unica amministrazione, che appunto abilita uno stesso protocollo di comunicazione all’interno del proprio “territorio”, chiamato AS. Un AS ,Autonomous System, comprende, appunto, il network di un’azienda, o un’unione di alcune. All’interno di questa unione si usa un Interior Gateway Protocol.
E per far comunicare dispositivi di diverse amministrazioni?
Abbiamo gli EGP. Come ad esempio, BGP, Border Gateway Protocol, il cui compito è la gestione dei path tra diversi AS. Esso viene attivato sui Border Routers per garantire il corretto scambio d’informazioni, e quindi un corretto instradamento del traffico, tra entità diverse, che magari utilizzano IGP diversi incapaci di comunicare tra loro (questo non è sempre vero, comunque, alcuni protocolli di routing sono in grado di “distribuire” informazioni apprese da altri GP).
Classificazione in base a logica di funzionamento
Un’altra importante classificazione, si basa sulla logica di funzionamento del Protocollo.
Abbiamo tre tipologie:
– Distance Vector ad esempio RIP e IGRP
– Link State ad esempio OSPF e IS-IS
– Hybrid , un miscuglio dei primi due: EIGRP lo è.
Affronteremo più avanti, andando a fare una panoramica dei protocolli, cosa significa questa classificazione.
BGP, due parole.
Come già accennato, BGP è un protocollo di tipo Exterior, per la comunicazione delle informazioni di routing tra diverse entità autonome.
Essendo progettato per scambi tra AS, non esiste una metrica, come per gli IGP, ma un sistema avanzato di policies per una gestione customizzabile delle rotte. Le policies permettono di configurare il routing, non esclusivamente in base a parametri come il link più veloce in termini di tecnologia disponibile o di strada più breve per raggiungere una destinazione; è possibile, invece, stabilire il routing, ad esempio, in base ai rapporti che si hanno con un dato provider e quindi stabilire path preferenziali in base ai bisogni più disparati.
Le informazioni portano sempre un ASN, il numero indentificativo del sistema autonomo da cui provengono, numero che viene assegnato da un organo apposito che gestisce in modo centralizzato l’assegnazione. Siccome BGP ha a che fare con un enorme numero di informazioni di routing, il numero di AS è fondamentale per evitare i loops e ottimizzare le performance permettendo ai border routers di identificare le rotte contenenti il proprio ASN e scartarle (in quanto già disponibili e quindi inutili duplicati).
Come appunto finale, non dovreste incontrare BGP nell’esame di certificazione. Questa parte vi serve per conoscere gli EGP, almeno in via generale.
Distance Vector
I protocolli di questi tipo, come RIP, sono in uso da oltre vent’anni. Sono molto semplici e leggeri e adatti alle topologie e alla potenza di calcolo di quei tempi. Sebbene RIP sia ancora in uso, e sia stato aggiornato nella versione 2 per essere più moderno e utile, è consigliabile per utilizzi limitati e topologie poco complesse.
La logica che sta dietro i distance vector è molto semplice. Le informazioni ricevute da un router vengono elaborate e le route aggiunte alla routing table, se esse sono sconosciute o se hanno una metrica migliore di una già conosciuta. Nel caso di RIP la metrica è considerata la sola distanza in hop (ovvero dispositivi dai quali passare per raggiungere la destinazione).
I protocolli Distance Vector inviano la completa tabella di routing ai routers adiacenti quando un cambiamento viene riscontrato. Le update contengono la metrica in numero di hops, la subnet, e il ricevente dà per scontato che l’indirizzo logico del gateway verso una data subnet sia quello del router che ha provveduto alle informazioni e che l’interfaccia da cui far uscire il traffico sia quella che ha ricevuto le informazioni.
Questa semplicitè e leggerezza dà corpo a diversi problemi di looping. I distance vector implementano alcune tecniche per eliminare o limitare i physical loops che possono incorrere. Tra questi ci sono lo Split Horizon, Poison Reverse, Maximum hop Count e i Triggedered Updates.
Gli updates vengono inviati a intervalli regolari in broadcast o usando multicasting (RIPv2). Quando un cambiamento o una failure vengono individuati, un update completo è inviato a tutti i routers e inizia un processo di convergenza che si distingue per la sua generale lentezza.
Le rotte che smettono di essere inviate, vengono solitamente eliminate e date come non più disponibili.
Se più rotte con stesssa destinazione vengono ricevute, il protocollo sceglie quello con una metrica migliore, che cambia a seconda di come la metrica viene stabilita. C’è la possibilità che più route uguali siano inserite nella routing table, e ogni distance vector stabilisce a suo modo quali e come vengono usate.
Nelle prossime parti di questo articolo di Appunti di CCNA facciamo un giro, per conoscere da vicino i principali protocolli Distance Vector, ovvero RIP (Routing Information Protocol) e IGRP (Interior Gateway Routing Protocol) della Cisco, in modo da chiarire meglio le peculiarità di ognuno e capire come agiscono.