Differences between revisions 7 and 8
Revision 7 as of 2009-04-16 15:50:26
Size: 2516
Editor: anonymous
Comment:
Revision 8 as of 2009-04-19 09:20:45
Size: 2659
Editor: lukisi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
 . {{{etp = (R, TPL, flag)}}}  . {{{etp = (R, TPL, flag_of_interest)}}}
Line 32: Line 32:
   . {{{flag = 1 # oppure 0}}}    . {{{flag_of_interest}}} era usato nel passo 5 della processazione di ETP, che è stato omesso. Vedi "Processazione degli ETP " nel [[../ModuloQspn|modulo QSPN]].

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 è:

  • 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 all'host che ha spedito l'ETP

          • 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 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...

            • 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; 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)