On Wed, Jan 10, 2007 at 05:56:10PM +0100, <Alessandro Ordine>:
~> stavo riflettendo mentre studiavo i grafici delle simulazioni che avete
~> fatto per QSPNv2.
~> In ogni gnode, nel caso peggiore ci sono in media circa 256 pacchetti di
~> broadcast per starter node.

Consideriamo un gnode con k=256 nodi.
Nel caso peggiore, cioe' un grafo completo in cui tutti i nodi sono degli
starter node, si ha Phi_m = k.
Phi_m non indica i broadcast, ma la quantita' media di TP che passano da ciascun
nodo. Cioe', in questo caso, da ogni nodo passano in media circa 256 TP.

Un TP non e' affatto un normale broadcast, anzi non si puo' proprio chiamare
broadcast.

Se esageriamo, e facciamo si' che un singolo TP sia di 128 byte, includendo
chiavi pubbliche e tutto quello che e' possibile includere, vediamo che da
ogni nodo dovranno passare 32Kb di dati.

~> Quindi nel caso peggiore ci sono
~> 256^4=4294967296 pacchetti di broadcast nell'intera rete!!! Una caciara come
~> diciamo a Roma :-)

Non proprio. Un TP e' limitato dentro un livello,
(adesso, aggiungendo i livelli, supponiamo che le discovery vengano effettuate
contemporaneamente in tutta la rete, per la prima volta),
quindi il calcolo e' un po' piu' complicato:

        i pkt generati in un g1:
                g1=256*256      # da ogni nodo, 256 TP
        i pkt generati in tutti i g1 di tutta la rete:
        (supponendo che la rete sia di 2^32)
                gt1=g1*256^3

        poi dobbiamo considerare che in ogni livello avviene una cosa simile.
        Ma qual'e' il layout dei gnode? Usiamo un grafo completo anche in ogni
        livello. Questo sarebbe il caso peggiore.
        Quindi Phi_m sarebbe sempre 256, ma nel lvl 2, quando un TP passa
        attraverso un gnode, raggiunge tutti i nodi al piu' una volta, quindi
                g1=256*256*256
                gt1=g1*256^2
                
                g2=256*256*256*256
                gt2=g2*256

                g3=256*256*256*256*256
                gt3=g3
        
        In totale:
                gt3+gt2+gt1 == 3298534883328 ~= 3.29 * 10^12

Ora pero', pensandoci un altro po', ci accorgiamo che questi conti sono
totalmente inutili. Infatti:

        1) I TP vengono scambiati "localmente". 3298534883328 non e' il numero
           di pkt scambiati tra tutti i nodi, ma e' il numero di pkt
           generati/creati.
           E' come se ogni nodo parlasse con il suo vicino e noi stessimo
           contando il numero di pkt che si generano totalemente nella rete.
           Ovviamente e' un numero enorme, perche' i nodi sono molti, pero'
           il carico imposto a ogni nodo e' irrisorio: ogni nodo sta'
           semplicemente parlando con il suo vicino.

           In sostanza, e' sbagliato considerare i TP come pkt
           broadcast/multicast.

           Sempre in questo caso apocalittico, il conto che bisognerebbe fare
           e' quello di vedere il carico imposto a ogni nodo:

                Prima abbiamo visto che era 32Kb per un nodo di un gnode. Ora
                consideriamo i livelli (sempre nella situazione di grafo
                completo a ogni livello).

                Da ogni gnode, passano 256 TP. Quello che importa qui e che da
                ogni nodo del gnode, ne passano pure solamente 256. Quindi il
                conto e' facile:

                        32*4Kb == 128 Kb

                Quindi il carico imposto a ogni nodo, durante questa discovery
                gigante e' di 128Kb!
        
        2) Ora vediamo un po' alcune considerazioni pratiche:
           
           a) E' quasi impossibile che si arrivi in uno stato in cui 2^32 nodi
              sono gia' connessi tra loro, non hanno mai fatto una discovery,
              e tutti contemporaneamente iniziano a farla.

              La rete, invece, cresce discretamente: prima un piccolo core,
              poi vari nodi si agganciano, e cosi' via. L'andamento potrebbe
              essere anche esponenziale, ma non importa.

           b) La probabilita' che 2^32 nodi si dispongano come un grafo
              completo (e per di piu' a ogni livello), e' quasi pari a zero ;)

a dopo
-- 
:wq!
"I don't know nothing" The One Who reached the Thinking Matter   '.'

[ Alpt --- Freaknet Medialab ]
[ GPG Key ID 441CF0EE ]
[ Key fingerprint = 8B02 26E8 831A 7BB9 81A9  5277 BFF8 037E 441C F0EE ]
_______________________________________________
Netsukuku mailing list
[email protected]
http://lists.dyne.org/mailman/listinfo/netsukuku

Reply via email to