⇤ ← Revision 1 as of 2016-01-10 18:00:16
Size: 5269
Comment:
|
Size: 9491
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 22: | Line 22: |
ip route add 10.0.2.2/31 via 169.254.96.141 dev eth1 | |
Line 27: | Line 28: |
ip route add 10.0.2.2/31 via 169.254.96.141 dev eth1 | |
Line 41: | Line 43: |
* Il nodo 𝛿 sa di poter raggiungere il g-nodo [0] passando per l'arco 𝛿-𝛾~-,,N,,-~. Già sapeva di poterlo fare passando per l'arco 𝛿-𝛾~-,,i(2,2),,-~. Per ora non cambia la rotta che già aveva impostata. | * Il nodo 𝛿 sa di poter raggiungere il g-nodo [0] passando per l'arco 𝛿-𝛾~-,,N,,-~. Già sapeva di poterlo fare passando per l'arco 𝛿-𝛾~-,,i(2,2),,-~. Questo nuovo percorso è certamente migliore, quindi cambia la rotta che già aveva impostata. * Per quanto sopra, il nodo 𝛾~-,,i(2,2),,-~ apprende il percorso verso il g-nodo [0] costituito dagli archi 𝛾~-,,i(2,2),,-~-𝛿-𝛾~-,,N,,-~. Per ora tale percorso non migliora il vecchio 𝛾~-,,i(2,2),,-~-𝛽~-,,B,,-~, quindi non cambia la rotta che già aveva impostata. * Per quanto sopra, il nodo 𝛽~-,,i(1,2),i(2,2),,-~ apprende il percorso verso il g-nodo [0] costituito dagli archi 𝛽~-,,i(1,2),i(2,2),,-~-𝛾~-,,i(2,2),,-~-𝛿-𝛾~-,,N,,-~. Per ora tale percorso non migliora il vecchio 𝛽~-,,i(1,2),i(2,2),,-~-𝛾~-,,i(2,2),,-~-𝛽~-,,B,,-~, quindi non cambia la rotta che già aveva impostata. Tra l'altro il gateway sarebbe rimasto lo stesso. * Per quanto sopra, il nodo 𝜀~-,,i(2,2),,-~ apprende il percorso verso il g-nodo [0] costituito dagli archi 𝜀~-,,i(2,2),,-~-𝛽~-,,i(1,2),i(2,2),,-~-𝛾~-,,i(2,2),,-~-𝛿-𝛾~-,,N,,-~. Per ora tale percorso non migliora il vecchio 𝜀~-,,i(2,2),,-~-𝛽~-,,B,,-~, quindi non cambia la rotta che già aveva impostata. |
Line 46: | Line 51: |
* Il nodo 𝜀~-,,N,,-~ sa di poter raggiungere il g-nodo [1, 0] passando per l'arco 𝜀~-,,N,,-~-𝛽~-,,i(1,2),N,,-~. Questo percorso di sicuro non è migliore di quello che già conosceva attraverso l'arco 𝜀~-,,N,,-~-𝛽~-,,B,,-~. * Il nodo 𝜀~-,,N,,-~ sa di poter raggiungere il g-nodo [1] passando per l'arco 𝜀~-,,N,,-~-𝛽~-,,i(1,2),N,,-~. Per ora di sicuro il nodo preferisce il percorso che conosceva: 𝜀~-,,N,,-~-𝛽~-,,B,,-~-𝛾~-,,i(2,2),,-~. * Il nodo 𝛾~-,,N,,-~ sa di poter raggiungere il g-nodo [1, 0] passando per l'arco 𝛾~-,,N,,-~-𝛽~-,,i(1,2),N,,-~. Per ora di sicuro il nodo preferisce il percorso che conosceva: 𝛾~-,,N,,-~-𝛽~-,,B,,-~. * Il nodo 𝛾~-,,N,,-~ sa di poter raggiungere il g-nodo [1] passando per l'arco 𝛾~-,,N,,-~-𝛽~-,,i(1,2),N,,-~. Il percorso sarebbe 𝛾~-,,N,,-~-𝛽~-,,i(1,2),N,,-~-𝜀~-,,N,,-~-𝛽~-,,B,,-~-𝛾~-,,i(2,2),,-~. Supponiamo che preferisca il precedente arco 𝛾~-,,N,,-~-𝛿. |
|
Line 48: | Line 57: |
* nodo 𝛽 . {{{ ip netns exec ntkv0 ip route add 10.0.0.2/31 via 169.254.163.36 dev ntkv0_eth1 ip netns exec ntkv0 ip route add 10.0.2.2/31 via 169.254.163.36 dev ntkv0_eth1 ip netns exec ntkv0 ip route add 10.0.0.4/30 via 169.254.94.223 dev ntkv0_eth1 }}} * nodo 𝛿 . {{{ ip route change 10.0.0.0/30 via 169.254.94.223 dev eth1 src 10.0.0.5 }}} |
|
Line 49: | Line 68: |
'''TODO''' Riassumiamo l'elenco di tutti gli archi ora esistenti coi relativi indirizzi IP link-local: * 𝛼-𝛽~-,,B,,-~ . 169.254.69.30-169.254.96.141 * 𝛼-𝛽~-,,i(1,2),,-~ . 169.254.69.30-169.254.27.218 * 𝛾-𝛽~-,,B,,-~ . 169.254.94.223-169.254.96.141 * 𝛾-𝛽~-,,i(1,2),,-~ . 169.254.94.223-169.254.27.218 * 𝜀-𝛽~-,,B,,-~ . 169.254.163.36-169.254.96.141 * 𝜀-𝛽~-,,i(1,2),,-~ . 169.254.163.36-169.254.27.218 * 𝛾-𝛿 . 169.254.94.223-169.254.253.216 * 𝛿-𝜇 . 169.254.253.216-169.254.119.176 |
Ora i border-nodi in 𝜑~-,,N,,-~, avendo trasmesso i primi ETP e atteso qualche istante per la loro processazione da parte dei vicini, con le loro identità in 𝜑~-,,i(2,2),,-~ rimuovono i loro archi con nodi che non appartengono al loro g-nodo di livello 2. Si ricordi infatti che il livello più alto in cui i due g-nodi ''M'' e ''N'' differiscono è 2. Quindi 𝜀~-,,i(2,2),,-~ rimuove il suo arco con 𝛽~-,,B,,-~ e 𝛾~-,,i(2,2),,-~ rimuove il suo arco con 𝛽~-,,B,,-~. Ricordiamo che: * Il nodo 𝛽~-,,B,,-~ conosce un percorso verso il g-nodo [1] per l'arco 𝛽~-,,B,,-~-𝛾~-,,N,,-~. * Il nodo 𝛾~-,,i(2,2),,-~ conosce un percorso verso il g-nodo [0] per l'arco 𝛾~-,,i(2,2),,-~-𝛿. * Il nodo 𝛽~-,,i(1,2),i(2,2),,-~ conosce un percorso verso il g-nodo [0] per l'arco 𝛽~-,,i(1,2),i(2,2),,-~-𝛾~-,,i(2,2),,-~. * Il nodo 𝜀~-,,i(2,2),,-~ conosce un percorso verso il g-nodo [0] per l'arco 𝜀~-,,i(2,2),,-~-𝛽~-,,i(1,2),i(2,2),,-~. Quindi diamo questi comandi: * nodo 𝛽 . {{{ ip r change 10.0.0.4/30 via 169.254.94.223 dev eth1 src 10.0.0.3 ip route del 169.254.241.153 dev eth1 src 169.254.96.141 ip route del 169.254.24.198 dev eth1 src 169.254.96.141 }}} * nodo 𝜀 . {{{ ip netns exec ntkv1 ip route change 10.0.0.0/30 via 169.254.42.4 dev ntkv1_eth1 ip netns exec ntkv1 ip route del 169.254.96.141 dev ntkv1_eth1 src 169.254.241.153 }}} * nodo 𝛾 . {{{ ip netns exec ntkv1 ip route change 10.0.0.0/30 via 169.254.253.216 dev ntkv1_eth1 ip netns exec ntkv1 ip route del 169.254.96.141 dev ntkv1_eth1 src 169.254.24.198 }}} Aggiorniamo il disegno. {{drawing:grafo11.adraw}} Gli stessi border-nodi in 𝜑~-,,N,,-~ che hanno rimosso questi archi, ora comunicano le variazioni apportate alla loro mappa tramite un ETP agli altri vicini. Si aggiungono queste conoscenze: * Il nodo 𝛽~-,,i(1,2),i(2,2),,-~ non ha più il percorso 𝛽~-,,i(1,2),i(2,2),,-~-𝛾~-,,i(2,2),,-~-𝛽~-,,B,,-~ per raggiungere il g-nodo [0], ma solo 𝛽~-,,i(1,2),i(2,2),,-~-𝛾~-,,i(2,2),,-~-𝛿-𝛾~-,,N,,-~. Dovrebbe cambiare la rotta che aveva impostata, ma il gateway rimane lo stesso quindi non darà alcun comando. Non risultano necessari altri comandi. Proseguiamo con il [[../Step9|passo 9]]. |
Modulo QSPN - Esempio di uso degli indirizzi virtuali
Passo 8
In questo passo assegnamo alle nuove identità in 𝜑N, un indirizzo definitivo nel g-nodo N. Per l'esattezza gli assegnamo l'indirizzo virtuale [2, 0].
Nel disegno seguente gli archi che collegano nodi che ora fanno parte della rete non sono più tratteggiati.
Poiché i nuovi indirizzi definitivi sono virtuali al livello 1, la loro assegnazione non comporta un comando di assegnazione di indirizzo IP globale nella rete per i nodi in 𝜑N, né di un indirizzo interno al livello 2. I nodi in 𝜑N avevano già assegnato un indirizzo interno al livello 1.
Ora ogni border-nodo in 𝜑N chiede un ETP completo ai vicini che non appartengono a 𝜑N tramite i suoi archi e li processa con questo nuovo indirizzo. Grazie ad essi:
Il nodo 𝜀N sa di poter raggiungere il g-nodo [1, 0] passando per l'arco 𝜀N-𝛽B.
Il nodo 𝜀N sa di poter raggiungere il g-nodo [1] passando per l'arco 𝜀N-𝛽B. Il percorso sarebbe 𝜀N-𝛽B-𝛾i(2,2). Si tratta di un percorso che rimarrà valido per poco tempo in quanto l'arco 𝛽B-𝛾i(2,2) sparirà presto. Ma a quel punto potrà avvalersi di un altro percorso, 𝜀N-𝛽i(1,2),N-𝛾N-𝛿 che verrà scoperto a breve.
Il nodo 𝛾N sa di poter raggiungere il g-nodo [1, 0] passando per l'arco 𝛾N-𝛽B.
Il nodo 𝛾N sa di poter raggiungere il g-nodo [1] passando per l'arco 𝛾N-𝛿.
Quindi diamo questi comandi:
- nodo 𝜀
ip route add 10.0.0.2/31 via 169.254.96.141 dev eth1 ip route add 10.0.2.2/31 via 169.254.96.141 dev eth1 ip route add 10.0.0.4/30 via 169.254.96.141 dev eth1
- nodo 𝛾
ip route add 10.0.0.2/31 via 169.254.96.141 dev eth1 ip route add 10.0.2.2/31 via 169.254.96.141 dev eth1 ip route add 10.0.0.4/30 via 169.254.253.216 dev eth1
I border-nodi in 𝜑N potrebbero anche chiedere un ETP ai vicini che appartengono a 𝜑N, ma effettivamente non lo otterrebbero perché questi non hanno completato il loro bootstrap.
Invece bisogna notare che i nodi in 𝜑N che non sono border-nodi, sebbene chiedano un ETP completo a tutti i loro vicini e non ne ricevono nessuno, non devono considerare fallito il loro ingresso nella rete. Tra l'altro essi hanno ricevuto dalla loro precedente identità alcuni percorsi verso g-nodi di livello inferiore a 1 (il livello della migrazione).
Poi i border-nodi in 𝜑N avendo completato la fase di bootstrap ritrasmettono un ETP completo ai vicini. In questo modo le conoscenze riprendono a propagarsi sia ai nodi interni a 𝜑N che al di fuori. Riassumiamo queste nuove conoscenze:
Il nodo 𝛽B sa di poter raggiungere il g-nodo [2, 0] passando per l'arco 𝛽B-𝜀N.
Il nodo 𝛽B sa di poter raggiungere il g-nodo [2, 0] passando per l'arco 𝛽B-𝛾N. Supponiamo che preferisca il precedente arco 𝛽B-𝜀N.
Per ora, siccome l'indirizzo di destinazione è virtuale, questo non comporta alcun comando.
Il nodo 𝛽B sa di poter raggiungere il g-nodo [1] passando per l'arco 𝛽B-𝛾N. Già sapeva di poterlo fare passando per l'arco 𝛽B-𝛾i(2,2). Per ora non cambia la rotta che già aveva impostata.
Il nodo 𝛼 sa di poter raggiungere il g-nodo [2, 0] passando per l'arco 𝛼-𝛽B.
Per ora, siccome l'indirizzo di destinazione è virtuale, questo non comporta alcun comando.
Il nodo 𝛿 sa di poter raggiungere il g-nodo [0] passando per l'arco 𝛿-𝛾N. Già sapeva di poterlo fare passando per l'arco 𝛿-𝛾i(2,2). Questo nuovo percorso è certamente migliore, quindi cambia la rotta che già aveva impostata.
Per quanto sopra, il nodo 𝛾i(2,2) apprende il percorso verso il g-nodo [0] costituito dagli archi 𝛾i(2,2)-𝛿-𝛾N. Per ora tale percorso non migliora il vecchio 𝛾i(2,2)-𝛽B, quindi non cambia la rotta che già aveva impostata.
Per quanto sopra, il nodo 𝛽i(1,2),i(2,2) apprende il percorso verso il g-nodo [0] costituito dagli archi 𝛽i(1,2),i(2,2)-𝛾i(2,2)-𝛿-𝛾N. Per ora tale percorso non migliora il vecchio 𝛽i(1,2),i(2,2)-𝛾i(2,2)-𝛽B, quindi non cambia la rotta che già aveva impostata. Tra l'altro il gateway sarebbe rimasto lo stesso.
Per quanto sopra, il nodo 𝜀i(2,2) apprende il percorso verso il g-nodo [0] costituito dagli archi 𝜀i(2,2)-𝛽i(1,2),i(2,2)-𝛾i(2,2)-𝛿-𝛾N. Per ora tale percorso non migliora il vecchio 𝜀i(2,2)-𝛽B, quindi non cambia la rotta che già aveva impostata.
Il nodo 𝛽i(1,2),N sa di poter raggiungere il g-nodo [1, 0] passando per l'arco 𝛽i(1,2),N-𝜀N.
Il nodo 𝛽i(1,2),N sa di poter raggiungere il g-nodo [1, 0] passando per l'arco 𝛽i(1,2),N-𝛾N. Supponiamo che preferisca il precedente arco 𝛽i(1,2),N-𝜀N.
Il nodo 𝛽i(1,2),N sa di poter raggiungere il g-nodo [1] passando per l'arco 𝛽i(1,2),N-𝛾N.
Il nodo 𝛽i(1,2),N sa di poter raggiungere il g-nodo [1] passando per l'arco 𝛽i(1,2),N-𝜀N. Il percorso sarebbe 𝛽i(1,2),N-𝜀N-𝛽B-𝛾i(2,2). Supponiamo che preferisca il precedente arco 𝛽i(1,2),N-𝛾N.
Il nodo 𝜀N sa di poter raggiungere il g-nodo [1, 0] passando per l'arco 𝜀N-𝛽i(1,2),N. Questo percorso di sicuro non è migliore di quello che già conosceva attraverso l'arco 𝜀N-𝛽B.
Il nodo 𝜀N sa di poter raggiungere il g-nodo [1] passando per l'arco 𝜀N-𝛽i(1,2),N. Per ora di sicuro il nodo preferisce il percorso che conosceva: 𝜀N-𝛽B-𝛾i(2,2).
Il nodo 𝛾N sa di poter raggiungere il g-nodo [1, 0] passando per l'arco 𝛾N-𝛽i(1,2),N. Per ora di sicuro il nodo preferisce il percorso che conosceva: 𝛾N-𝛽B.
Il nodo 𝛾N sa di poter raggiungere il g-nodo [1] passando per l'arco 𝛾N-𝛽i(1,2),N. Il percorso sarebbe 𝛾N-𝛽i(1,2),N-𝜀N-𝛽B-𝛾i(2,2). Supponiamo che preferisca il precedente arco 𝛾N-𝛿.
Quindi diamo questi comandi:
- nodo 𝛽
ip netns exec ntkv0 ip route add 10.0.0.2/31 via 169.254.163.36 dev ntkv0_eth1 ip netns exec ntkv0 ip route add 10.0.2.2/31 via 169.254.163.36 dev ntkv0_eth1 ip netns exec ntkv0 ip route add 10.0.0.4/30 via 169.254.94.223 dev ntkv0_eth1
- nodo 𝛿
ip route change 10.0.0.0/30 via 169.254.94.223 dev eth1 src 10.0.0.5
Ora i border-nodi in 𝜑N, avendo trasmesso i primi ETP e atteso qualche istante per la loro processazione da parte dei vicini, con le loro identità in 𝜑i(2,2) rimuovono i loro archi con nodi che non appartengono al loro g-nodo di livello 2. Si ricordi infatti che il livello più alto in cui i due g-nodi M e N differiscono è 2. Quindi 𝜀i(2,2) rimuove il suo arco con 𝛽B e 𝛾i(2,2) rimuove il suo arco con 𝛽B.
Ricordiamo che:
Il nodo 𝛽B conosce un percorso verso il g-nodo [1] per l'arco 𝛽B-𝛾N.
Il nodo 𝛾i(2,2) conosce un percorso verso il g-nodo [0] per l'arco 𝛾i(2,2)-𝛿.
Il nodo 𝛽i(1,2),i(2,2) conosce un percorso verso il g-nodo [0] per l'arco 𝛽i(1,2),i(2,2)-𝛾i(2,2).
Il nodo 𝜀i(2,2) conosce un percorso verso il g-nodo [0] per l'arco 𝜀i(2,2)-𝛽i(1,2),i(2,2).
Quindi diamo questi comandi:
- nodo 𝛽
ip r change 10.0.0.4/30 via 169.254.94.223 dev eth1 src 10.0.0.3 ip route del 169.254.241.153 dev eth1 src 169.254.96.141 ip route del 169.254.24.198 dev eth1 src 169.254.96.141
- nodo 𝜀
ip netns exec ntkv1 ip route change 10.0.0.0/30 via 169.254.42.4 dev ntkv1_eth1 ip netns exec ntkv1 ip route del 169.254.96.141 dev ntkv1_eth1 src 169.254.241.153
- nodo 𝛾
ip netns exec ntkv1 ip route change 10.0.0.0/30 via 169.254.253.216 dev ntkv1_eth1 ip netns exec ntkv1 ip route del 169.254.96.141 dev ntkv1_eth1 src 169.254.24.198
Aggiorniamo il disegno.
Gli stessi border-nodi in 𝜑N che hanno rimosso questi archi, ora comunicano le variazioni apportate alla loro mappa tramite un ETP agli altri vicini. Si aggiungono queste conoscenze:
Il nodo 𝛽i(1,2),i(2,2) non ha più il percorso 𝛽i(1,2),i(2,2)-𝛾i(2,2)-𝛽B per raggiungere il g-nodo [0], ma solo 𝛽i(1,2),i(2,2)-𝛾i(2,2)-𝛿-𝛾N. Dovrebbe cambiare la rotta che aveva impostata, ma il gateway rimane lo stesso quindi non darà alcun comando.
Non risultano necessari altri comandi.
Proseguiamo con il passo 9.