Protocolli e architetture di routing/B2

Da WikiAppunti.
Jump to navigation Jump to search
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è B2. IGRP e EIGRP.
Gtk-go-back-ltr.svg  B1. Routing Information ProtocolGtk-home.svg  Protocolli e architetture di routing (B. Protocolli di instradamento)B3. Open Shortest Path First  Gtk-go-forward-ltr.svg

3-4 L'Interior Gateway Routing Protocol (IGRP) è un protocollo di instradamento intra-dominio, proprietario di Cisco, basato sull'algoritmo Distance Vector (DV).

Anche nell'IGRP è assente il supporto all'indirizzamento classless (netmask), ma rispetto al RIP ha delle funzionalità aggiuntive "orientate al marketing" che tuttavia nascondono degli errori tecnici non previsti:

  • metriche più sofisticate: introducono maggiore complessità e minore stabilità delle rotte;
  • multipath routing: il multipath routing a costi differenziati può dare origine a cicli;
  • supporto per reti eterogenee: un intervallo ampio per i costi dei link può rallentare la convergenza ad infinito;
  • 15 meno traffico legato al protocollo di instradamento: l'aggiornamento dei DV avviene ogni 90 secondi;
  • 14 maggiore stabilità: i triggered update sono inviati solo se il costo è cambiato più del 10% per evitare la frequente riconfigurazione della rete;
  • non più di una frammentazione IP: i messaggi IGRP trasportano anche informazioni sulle MTU supportate dai router lungo il percorso → il pacchetto può essere frammentato subito in base alla minima MTU, evitando che in un secondo tempo venga ri-frammentato con una MTU più piccola.

Metriche[modifica | modifica sorgente]

7 Il costo <math>C</math> è ottenuto dalla combinazione di 4 metriche:

<math>\begin{cases} \displaystyle C = \frac{10^7}{B} \left( k_1 + \frac{k_2}{256-L} \right) + k_3 D & \text{se } k_5 = 0 \\ \displaystyle C = \left[ \frac{10^7}{B} \left( k_1 + \frac{k_2}{256-L} \right) + k_3 D \right] \frac{k_5}{R+k_4} & \text{se } k_5 \neq 0 \end{cases}</math>
  • 5-6 <math>B</math> - larghezza di banda: è direttamente proporzionale alla larghezza di banda del link (valori da 1 a 224 con 1 = 1,2 kbit/s);
  • <math>D</math> - ritardo: è inversamente proporzionale alla larghezza di banda del link, e considera solo il ritardo di trasmissione ignorando altri componenti come il ritardo di propagazione e il ritardo di accodamento (valori da 1 a 224 con 1 = 10 ms);
  • <math>R</math> - affidabilità: può essere piuttosto variabile nel tempo (valori da 1 a 255 con 255 = 100%);
  • <math>L</math> - carico: dipende dal traffico istantaneo (valori da 1 a 255 con 255 = 100%).

Con i valori predefiniti dei coefficienti <math>k_{1 \ldots 5}</math>, il costo tiene conto solo del ritardo <math>D</math> e della larghezza di banda <math>B</math>:

<math>k_1 = k_3 = 1 , \, k_2 = k_4 = k_5 = 0 \Rightarrow C = \frac{10^7}{B} + D</math>

I comandi IGRP richiedono la specificazione di una classe di servizio (TOS), ma in pratica l'instradamento basato sulle classi di servizio non è stato mai implementato in questo protocollo, perché richiederebbe una tabella di instradamento e una funzione di costo differenti per ogni classe di servizio.

Problemi

Una metrica così sofisticata soffre in realtà di alcuni problemi dal punto di vista tecnico:

  • 8 è difficile capire le scelte di instradamento: gli esseri umani guardano la topologia della rete e misurano la distanza in "numero di hop" → non è facile determinare qual è il percorso migliore quando viene adottata una metrica più sofisticata;
  • è difficile capire come regolare i coefficienti <math>k_{1 \ldots 5}</math>: che cosa succede alla rete quando i parametri vengono modificati? quali valori bisogna dare a essi al fine di ottenere il comportamento voluto?
  • 9 alcune metriche (ad es. carico), non essendo molto stabili, forzano la rete ad adattare continuamente i percorsi perché questi ultimi cambiano spesso di costo → la necessità di aggiornare frequentemente le rotte porta a più transitori con conseguenti buchi neri e bouncing effect, più traffico di instradamento e più risorse della CPU dedicate ai protocolli di instradamento;
  • 10-11 è difficile definire il giusto valore soglia per l'infinito: IGRP lo definisce a 224, ma è necessario troppo tempo per aumentare i costi fino al valore soglia quando sono coinvolti link a basso costo.

Multipath routing[modifica | modifica sorgente]

12 L'IGRP supporta il multipath routing a costi differenziati: sono ammesse più rotte per la stessa destinazione, anche se quelle rotte hanno costi differenti (<math>c_\text{sec} \leq V \cdot c_\text{prim}</math>), e il carico è distribuito proporzionalmente al costo della rotta.

13 Problema

Il traffico può entrare in un ciclo quando percorsi differenti vengono scelti da due router: uno può scegliere il percorso primario (rotta ottimale) e l'altro il percorso secondario (rotta sub-ottimale) → nell'ultima versione di IGRP è consentito solo il multipath routing a costi equivalenti (il coefficiente <math>V</math> è impostato a 1) al fine di impedire queste problematiche.

16-17-18-19-20 EIGRP[modifica | modifica sorgente]

L'Enhanced IGRP introduce diversi miglioramenti all'IGRP, soprattutto dal punto di vista della scalabilità:

  • supporta l'indirizzamento classless: le reti sono finalmente annunciate con le coppie indirizzo-netmask corrette;
  • implementa il Diffusing Update Algorithm (DUAL): la rete è libera da cicli, anche durante i transitori, e la convergenza è più rapida (nessun fenomeno di count to infinity);
  • disaccoppia la funzione di neighbor discovery dal meccanismo di aggiornamento delle rotte: i router si scambiano periodicamente dei piccoli messaggi di Hello, mentre i DV vengono generati solo quando è cambiato qualcosa nella rete:
    • i messaggi di Hello possono essere mandati ad alta frequenza, rendendo più veloci il rilevamento dei guasti e quindi la convergenza, perché:
      • consumano meno banda → il traffico di instradamento è ridotto;
      • consumano meno risorse della CPU rispetto all'elaborazione e al calcolo dei DV;
    • i DV devono essere inviati tramite un protocollo affidabile: ogni DV deve essere confermato da un messaggio di acknowledgment, e deve essere ritrasmesso se è andato perso.
Nota disambigua.svg Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è B2. IGRP e EIGRP.
Gtk-go-back-ltr.svg  B1. Routing Information ProtocolGtk-home.svg  Protocolli e architetture di routing (B. Protocolli di instradamento)B3. Open Shortest Path First  Gtk-go-forward-ltr.svg