Modulo QSPN - Esempio di uso degli indirizzi virtuali

Passo 4

In questo passo aggiungiamo un nuovo nodo al g-nodo g1(๐›ผ).

Il nuovo indirizzo virtuale globale [2, 1, 0] viene assegnato a ๐›ฝ. Quello che si forma รจ un nodo completamente nuovo, che si assegna a caso un nuovo identificativo, chiamiamolo ๐›ฝB, mantenendo comunque lo stesso indirizzo link-local che aveva prima.

Ad esso si associa un nuovo fingerprint, una nuova mappa dei percorsi vuota e un nuovo set di archi.

La duplicazione di un arco esistente tra due nodi รจ una operazione che i due nodi eseguono in accordo, dialogando tra loro tramite il vecchio arco. Ad esempio, tramite l'arco ๐›ผ-๐›ฝi(1,2) il nodo ๐›ฝi(1,2) comunica a ๐›ผ di avere una nuova identitร : ๐›ฝB. Quindi i due nodi realizzano il nuovo arco ๐›ผ-๐›ฝB.

Nel disegno seguente evidenziamo in rosso gli elementi nuovi.

grafo5.adraw

Riassumiamo l'esito di queste operazioni di concertazione nel seguente elenco di tutti gli archi ora esistenti:

Non ci sono, comunque, da fare nuove assegnazioni di indirizzi nรฉ di rotte verso nodi vicini.

L'assegnazione del nuovo indirizzo globale a ๐›ฝB non comporta un comando di assegnazione di indirizzo per il nodo ๐›ฝ, poichรฉ anche questo indirizzo รจ virtuale al livello 0.

Il nodo ๐›ฝ segnala al suo utilizzatore che non espone piรน il percorso verso il g-nodo [0], che prima si raggiungeva passando per l'arco ๐›ผ-๐›ฝi(1,2).

Quindi diamo questi comandi:

Ora il nodo ๐›ฝB chiede un ETP completo ai vicini tramite i suoi archi e li processa con questo nuovo indirizzo. Grazie ad essi:

Quindi diamo questi comandi:

Il nodo ๐›ฝB avendo ora completato il suo bootstrap, comunica via ETP ai suoi vicini ๐›ผ e ๐›พ tutti i percorsi che conosce. Quindi ora:

Sono due conoscenze nuove, ma che non cambiano il miglior percorso verso quelle destinazioni per ๐›ผ e ๐›พ. Quindi nessun comando verrร  dato.

Ora che il nodo ๐›ฝB ha trasmesso i suoi primi ETP ai diretti vicini ๐›ผ e ๐›พ, dopo aver atteso qualche istante per permettere la loro processazione da parte di ๐›ผ e ๐›พ, il nodo ๐›ฝi(1,2) rimuove i suoi archi con nodi che non appartengono al suo g-nodo di livello 2. Si ricordi infatti che il livello piรน alto in cui i due g-nodi A e B differiscono รจ 2. Quindi ๐›ฝi(1,2) rimuove il suo arco con il nodo ๐›ผ.

Questo fa si che il nodo ๐›ผ non puรฒ piรน raggiungere il g-nodo [1] passando per l'arco ๐›ผ-๐›ฝi(1,2). Perรฒ abbiamo detto prima che aveva appreso di poterlo fare passando per l'arco ๐›ผ-๐›ฝB.

Andrebbe quindi cambiata, dal nodo ๐›ผ, la rotta verso 10.0.0.4/30. Ma cambiare da ๐›ฝi(1,2) a ๐›ฝB รจ superfluo trattandosi del medesimo indirizzo link-local.

Andrebbe poi rimossa, dal nodo ๐›ผ, la sua rotta verso ๐›ฝi(1,2), ma poichรฉ esso ha una rotta verso ๐›ฝB che ha il medesimo indirizzo link-local non serve alcun comando.

Andrebbe poi rimossa, dal nodo ๐›ฝ, la rotta di ๐›ฝi(1,2) verso ๐›ผ, ma poichรฉ ๐›ฝB, che รจ lo stesso nodo, ha una rotta verso ๐›ผ non serve alcun comando.

Riassumiamo l'elenco degli archi ora presenti e il grafo che descrive la rete.

grafo6.adraw

Temporaneamente, il nodo ๐›ฝ non รจ in grado di comunicare con gli altri nodi della rete in quanto ha solo indirizzi virtuali al livello 0. Nonostante questo, il nodo รจ perfettamente in grado di inoltrare pacchetti provenienti da altri nodi e destinati ad altri nodi nella rete. Quindi sebbene ๐›ฝ sia un nodo punto di articolazione, il grafo resta connesso.

Proseguiamo con il passo 5.