Differences between revisions 10 and 11
Revision 10 as of 2009-04-19 09:37:25
Size: 2797
Editor: lukisi
Comment:
Revision 11 as of 2009-04-19 13:56:06
Size: 2828
Editor: lukisi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
Dal punto di vista della struttura dati che il programma Netsukuku usa e che i nodi si scambiano, un ETP è: Dal punto di vista della struttura dati che il programma Netsukuku usa e che i nodi si scambiano, un ETP '''appena ricevuto''' è:
Line 19: Line 19:
         . {{{dst}}} è l'ID di un (g)nodo di livello ''{{{i}}}'' di cui abbiamo una route nota all'host che ha spedito l'ETP          . {{{dst}}} è l'ID di un (g)nodo di livello ''{{{i}}}'' di cui abbiamo una route nota al nodo che '''ha inviato''' l'ETP. Nota che il (g)nodo rappresentato da {{{dst}}} appartiene allo stesso (g)nodo di livello {{{i+1}}} del nodo che ha inviato l'ETP, non necessariamente lo stesso (g)nodo di livello {{{i+1}}} del nodo corrente.
Line 23: Line 23:
     . {{{block}}}''{{{m}}}''{{{ = (lvl, TP)}}}      . {{{block}}}''{{{m}}}''{{{ = [lvl, TP]}}}
Line 28: Line 28:
         . {{{pair}}}''{{{n}}}''{{{ = (hop, rem)}}}          . {{{pair}}}''{{{n}}}''{{{ = [hop, rem]}}}
Line 30: Line 30:
           . {{{hop}}} a volte è l'ID a livello {{{lvl}}} del (g)nodo rappresentato da questo {{{pair}}}; altre volte è l'intero netsukuku-ip del (g)nodo rappresentato da questo {{{pair}}}; se è memorizzato il solo ID di un livello significa che il {{{pair}}} rappresentato appartiene allo stesso g-nodo di livello {{{lvl}}} dei {{{pair}}} presenti nel {{{block}}} successivo; '''TODO''' capire e spiegare meglio...            . {{{hop}}} è l'ID a livello {{{lvl}}} del (g)nodo rappresentato da questo {{{pair}}}; il (g)nodo rappresentato appartiene allo stesso g-nodo di livello {{{lvl+1}}} del nodo che '''ha inviato''' l'ETP.

Extended Tracer Packet (ETP)

Come concetto generale, un ETP è un Acyclic Tracer Packet (ATP) che contiene una porzione di una mappa di routes.
Siccome una route è rappresentata da un Tracer Packet (TP) possiamo dire che un ETP è composto da un ATP e un insieme di TP.
Inoltre l'ETP contiene anche un flag di interesse, perché è sottoposto alla "Interesting Information Rule".
Per un maggiore dettaglio dei concetti di Tracer Packet e derivati rimandiamo al documento qspn.pdf.

Dal punto di vista della struttura dati che il programma Netsukuku usa e che i nodi si scambiano, un ETP appena ricevuto è:

  • etp = (R, TPL, flag_of_interest)

    • dove:
    • R = [L0, L1, L2, L3]

      • dove:
      • Li = [tuple0, tuple1, ...]

        • dove:
        • tuplej = (dst, rem)

          • dove:
          • dst è l'ID di un (g)nodo di livello i di cui abbiamo una route nota al nodo che ha inviato l'ETP. Nota che il (g)nodo rappresentato da dst appartiene allo stesso (g)nodo di livello i+1 del nodo che ha inviato l'ETP, non necessariamente lo stesso (g)nodo di livello i+1 del nodo corrente.

          • rem è l'efficienza della route di cui sopra

    • TPL = [block0, block1, ...]

      • dove:
      • blockm = [lvl, TP]

        • dove:
        • lvl è il livello a cui si trovano i (g)nodi rappresentati in questo block

        • TP = [pair0, pair1, ...]

          • dove:
          • pairn = [hop, rem]

            • dove:
            • hop è l'ID a livello lvl del (g)nodo rappresentato da questo pair; il (g)nodo rappresentato appartiene allo stesso g-nodo di livello lvl+1 del nodo che ha inviato l'ETP.

            • rem è un'istanza di Rem che indica l'efficienza del link tra il (g)nodo pairn e pair(n-1); se questo pair è il primo del block la Rem si riferisce al link verso l'ultimo pair del block precedente (Nota: questa ultima frase, che mi pare sensata, non sembra implementata; bisognerebbe passare gwrem nella riga 246 di qspn.py); se questo block è il primo del TPL la Rem non indica nulla e sarà sicuramente una NullRem.
              Considera che ad ogni passo percorso dall'ETP il corrente nodo si mette in coda a questa TPL. Il nodo che riceve un ETP valorizza la Rem del link da lui stesso verso il nodo che glielo ha appena trasmesso. Lo fa costruendo un nuovo pair da accodare al TPL.

    • flag_of_interest era usato nel passo 5 della processazione di ETP, che è stato omesso. Vedi "Processazione degli ETP " nel modulo QSPN.

Netsukuku/ita/StrutturaETP (last edited 2009-04-21 07:08:45 by lukisi)