Created December, 2007 Version 2.0
. . :. :: :.: ::.::: .:. .: : ::: .. :. .:..: :.. ::
Menù » HOMEPAGE 
CURRICULUM
VITAE
PROGETTI  
HOBBY  
LINKS  
GUESTBOOK  
MAPS  
:.
PROGETTI

Torna alla pagina dei progetti: PROGETTI

Progetto di Impianti di Elaborazione


Descrizione del Progetto

Realizzazione, usando netkit, di una Clique di n AS in cui tutti hanno un peering con tutti, con diversi valori di n. Verifica dei tempi di convergenza di bgp nei router che compongono la clique, anche simulando guasti delle linee e dei router.

Soluzione del Progetto

Introduzione

Il lavoro è stato organizzato nelle tre seguenti fasi:
  1. 1. Realizzazione degli script di configurazione delle tre clique (uno per clique)
    Ogni singolo script avvia e configura le macchine virtuali della clique cui si riferisce. Non sono state adottate politiche particolari (prefix-filtering, settaggio di local-preference, prepending…). In tutti e tre i casi si è deciso di far annunciare le lan interne soltanto da AS1, AS2, AS3. Questo solo per uniformità di esecuzione delle simulazioni.
  2. Realizzazione degli script di simulazione dei danni
    Stabilizzatasi la rete, viene simulato lo stesso danno per tutte le clique: viene interrotto il peering tra R1 e R2, rispettivamente router di bordo dell’AS1 e dell’AS2. Dopo un certo intervallo di tempo in cui la rete raggiunge la nuova configurazione, è ripristinato il peering.
  3. Analisi dei risultati degli esperimenti
    Per confrontare i tempi di convergenza delle varie clique, abbiamo scelto come metrica il numero di pacchetti di update inviati dai router. L’analisi è stata fatta a partire dal file di log del demone bgp di zebra su ogni router e dalle tabelle di routing BGP.


Simulazione

La simulazione si è svolta nelle seguenti fasi principali:
  1. Lancio dello script per avviare tutte le macchine virtuali coinvolte
    Vengono avviate e configurate le macchine virtuali. Memorizzazione nel file di configurazione di zebra dei peer e delle rotte annunciate.
  2. Attesa del raggiungimento della convergenza delle rotte bgp
    Diversa a seconda del numero di AS della clique (vedere seguito).
  3. Shutdown del peering tra l’AS1 e l’AS2
    Attraverso la chiamata di un nuovo script (test_nX) viene interrotto il peering tra l’AS1 e l’AS2, modificando il file di configurazione del router 1 attraverso il comando neighbor 111.1.1.2 shutdown ed il riavvio di zebra.
  4. Attesa del raggiungimento della nuova configurazione stabile della rete
    Diversa a seconda del numero di AS della clique (vedere seguito).
  5. Ripristino del peering tra l’AS1 e l’AS2
    Per ripristinare il peering viene modificato il file di configurazione del router 1 utilizzando il comando no neighbor 111.1.1.2 shutdown e riavviando zebra.
  6. Attesa del raggiungimento della nuova configurazione stabile della rete
    Diversa a seconda del numero di AS della clique (vedere seguito).



Esecuzione degli script

Gli script che è possibile lanciare sono tre, uno per ogni clique (clique3.sh, clique4.sh, clique5.sh). Per avviare le macchine virtuali, portarsi all’interno della directory homework2, quindi digitare dalla shell il comando cliqueX.sh start (X=3, 4, 5).
Viene chiesto al momento dell’esecuzione se lanciare le macchine in parallelo, digitando no, oppure in sequenza, digitando yes e premendo invio al termine dell’avvio di ogni macchina. Ogni script a sua volta richiama automaticamente il relativo script che simula il guasto ed il ripristino del peering (test_n3.sh, test_n 4.sh, test_n 5.sh).
Per effettuare il crash delle macchine, sempre nella stessa directory, digitare dalla shell il comando cliqueCrashX.sh crash.
Per una corretta simulazione e per consentire alla rete di convergere nelle tre differenti fasi, sono state inserite negli script di test delle istruzioni di sleep: è necessario attendere circa sei minuti per il completamento del test.



Note per la lettura delle tabelle

Tutte le tabelle sono composte da sei campi:
  1. Tempo (ora dell’evento).
  2. Send/Receive (se il messaggio è stato inviato o ricevuto).
  3. Peer (AS adiacente con il quale è stato scambiato il messaggio).
  4. AS-path (il cammino che il pacchetto ha effettuato per arrivare a destinazione).
  5. Best Path (best attualmente memorizzato nella tabella bgp).
  6. Eventi (viene visualizzato se il pacchetto ricevuto o mandato scatena un evento degno di nota).
Il campo Eventi può assumere uno dei seguenti valori:
  1. Update bgp table: viene aggiornato il best con il path appena ricevuto.
  2. ASx unreachable: il router di bordo comunica al peer che l’ASx non è più raggiungibile.
  3. Denied(cycle): l’annuncio appena ricevuto viene scartato per la presenza nel path del proprio AS (ciclo).
  4. ASx withdrawn: il peer ha comunicato di non poter più raggiungere l’ASx.
  5. Duplicate ignored: l’annuncio appena ricevuto viene scartato poiché l’informazione in esso contenuta è già presente nella routing table;
  6. A: per i rimanenti tipi di annunci.
Per risaltarne l’importanza ad alcune righe sono stati assegnati dei colori:

tabella  Cambiamento di best del peering tra R1 e R2.
 Shutdown del peering.
 Riparazione del peering.
 Avvenuto withdrawn tra l’AS1 e l’AS2.
 Pacchetti "duplicati".


Le righe evidenziate in rosso ed in verde non sono da intendere in riferimento alle colonne ma vanno lette come delle semplici frasi.



Studio della convergenza della clique

  1. CLIQUE con tre AS

    Architettura della clique

    La clique è composta da tre AS, ciascuno dei quali ha un peering con gli altri due. Ogni AS ha un solo router di frontiera che annuncia la lan interna all’AS al resto della clique.

    clique3


    La Simulazione

    1. Attesa del raggiungimento della convergenza delle rotte bgp
      Per ottenere una configurazione bgp stabile ogni router di frontiera invia due pacchetti di UPDATE a ciascun peer (e ovviamente ne riceve altrettanti). Complessivamente quindi nella clique circolano 12 pacchetti di UPDATE. I primi due che vengono mandati (uno per peer) annunciano la lan interna all’AS (path di lunghezza 1); dopo circa trenta secondi sono inviati gli altri due pacchetti che annunciano le nuove lan raggiungibili tramite l’AS (path di lunghezza 2).
    2. Attesa del raggiungimento della nuova configurazione stabile della rete
      Una volta riavviato il demone zebra del router 1, avendo "buttato giù" il peering, i router si scambiano degli ulteriori pacchetti di UPDATE per aggiornare le proprie tabelle bgp. R1 comunica ad R3 che l’AS2 non è più raggiungibile passando per l’AS1. La stessa cosa viene comunicata tra R2 e R3. Di conseguenza, vengono modificate le tabelle eliminando i percorsi non più validi e aggiornando i best. Ad esempio, per raggiungere l’AS2, l’AS1 dovrà passare obbligatoriamente per l’AS3. Il restarting del demone di R1 causa anche il riannuncio della propria lan ad R3, che però riconosce il pacchetto come duplicato e lo ignora. Il numero totale di pacchetti inviati è quindi 3.
    3. Attesa del raggiungimento della nuova configurazione stabile della rete
      Avendo ripristinato il peering, i router di frontiera di AS1 e AS2 si scambiano tutte le rotte conosciute. Questo comporta il riaggiornamento delle tabelle bgp e la possibilità di ricevere degli UPDATE contenenti cicli (es R2 invia ad R1 il path 2 3 1); questi cammini sono naturalmente scartati. A questo punto dopo circa 30 secondi R1 comunica ad R3 che è possibile raggiungere l’AS2 passando attraverso il suo AS; stessa cosa viene comunicata da R2 ad R3. Il numero totale di pacchetti inviati è quindi 8.


    Tabelle di convergenza

    clique3 clique3
    clique3


  2. CLIQUE con quattro AS

    Architettura della clique

    La clique è composta da quattro AS, ciascuno dei quali ha un peering con gli altri tre. Ogni AS ha un solo router di frontiera; i soli router AS1, AS2, AS3 annunciano le proprie lan interne al resto della clique.

    clique4


    La Simulazione

    1. Attesa del raggiungimento della convergenza delle rotte bgp
      Per ottenere una configurazione bgp stabile anche in questo caso il tempo impiegato è di circa 33 secondi. A differenza della clique precedente i pacchetti inviati per la convergenza della rete sono 28, più del doppio. In particolare risulta differente la sequenza dei pacchetti scambiati, ad esempio tra il router1 ed il router2 passano circa 9 secondi prima che vengano annunciate le rispettive lan (path di lunghezza 1): questo comporta l’invio di un pacchetto contenente un path di lunghezza tre: R2 manda ad R4 il path 2 3 1, non avendo ancora ricevuto "notizie" direttamente da R1; quindi il suo attuale best per raggiungere AS1 è proprio 3 1.

    2. Attesa del raggiungimento della nuova configurazione stabile della rete
      Una volta riavviato il demone del router di bordo R1 questo reinvia ai peer la propria lan interna, pacchetti che però vengono scartati da R3 e R4 poiché duplicati. Ed inoltre R1 manda a R3 un messaggio con R2 unreachable e subito dopo, essendosi ricalcolato il best, comunica ad R4 il nuovo path 1 3 2. In modo simmetrico R2 esegue quest’ultime operazioni (il path è 2 3 1). In conclusione il tempo impiegato per il raggiungimento della convergenza è di circa 30 secondi ed il numero di updates inviati è 6 ( il doppio della clique precedente).

    3. Attesa del raggiungimento della nuova configurazione stabile della rete
      Non appena viene ripristinato il peering, il router di frontiera di AS2 invia tutte le rotte conosciute all’AS1 che modifica la tabella di routing bgp aggiornando i best, e scarta (ciclo) il pacchetto ricevuto riguardante la propria lan. R1 invia due pacchetti per ogni interfaccia (tra questi ci sono anche dei duplicati), di conseguenza gli altri router aggiornano le loro tabelle di instradamento. Il numero totale di pacchetti inviati è quindi 11.


    Tabelle di convergenza

    clique4 clique4
    clique4 clique4


  3. CLIQUE con cinque AS

    Architettura della clique

    La clique è composta da cinque AS, ciascuno dei quali ha un peering con gli altri quattro. Ogni AS ha un solo router di frontiera; i soli router AS1, AS2, AS3 annunciano le proprie lan interne al resto della clique.

    clique5


    La Simulazione

    1. Attesa del raggiungimento della convergenza delle rotte bgp
      Per ottenere una configurazione bgp stabile anche in questo caso il tempo impegato è di circa 33 secondi. A differenza della clique precedente i pacchetti inviati per la convergenza della rete sono 49, poco meno del doppio della clique con quattro AS. Osservando le tabelle riportate si possono facilmente riscontrare analogie con i medesimi punti delle clique precedenti anche se naturalmente la rete converge più lentamente.
    2. Attesa del raggiungimento della nuova configurazione stabile della rete
      UUna volta riavviato il demone del router di bordo R1 questo reinvia ai peer la propria lan interna, pacchetti che però vengono scartati da R3, R4 ed R5 poiché duplicati; R1 riannuncia al resto della clique il nuovo best verso R2, che si comporta in maniera analoga. Il tempo impiegato per il raggiungimento della convergenza è di circa 30 secondi ed il numero di updates inviati è 9.

    3. Attesa del raggiungimento della nuova configurazione stabile della rete
      Il comportamento è esattamente lo stesso della clique precedente, naturalmente vengono inviati anche i pacchetti all’AS5 che prima non esisteva. Il numero totale di pacchetti inviati è quindi 14.


    Tabelle di convergenza

    clique5 clique5
    clique5 clique5
    clique5


. . . ALTRE NOTIZIE
:. CONTATORE / TOP 100
:. BANNER

sei il visitatore:











© Stefano Tortora copyright.