Differences between revisions 4 and 5
Revision 4 as of 2009-04-16 14:45:41
Size: 2444
Editor: anonymous
Comment:
Revision 5 as of 2009-04-16 15:09:01
Size: 2340
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 31: Line 31:
           . {{{rem}}} è un'istanza di Rem che indica l'efficienza del link tra il (g)nodo {{{pair}}}''{{{n}}}'' e {{{pair}}}''{{{(n+1)}}}''; se questo {{{pair}}} è l'ultimo del {{{block}}} la Rem si riferisce al link verso il primo {{{pair}}} del {{{block}}} successivo; se questo {{{block}}} è l'ultimo del {{{TPL}}} la Rem si riferisce al link verso me stesso e sarà sicuramente una {{{NullRem}}}. <<BR>> Considera che ad ogni passo percorso dall'ETP il successivo nodo si mette in coda a questa TPL. Il nodo che '''riceve''' un {{{ETP}}} valorizza il REM del link da lui stesso verso il nodo che glielo ha appena trasmesso. Quindi il contenuto di {{{TPL[-1][1][-1]}}} al momento della ricezione di un {{{ETP}}} è sempre {{{NullRem}}}. '''TODO''' verifica.            . {{{rem}}} è un'istanza di Rem che indica l'efficienza del link tra il (g)nodo {{{pair}}}''{{{n}}}'' 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}}}. <<BR>> 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.

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)

    • 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 se siamo al livello lvl == 0 è l'ID a livello 0 del nodo rappresentato da questo pair; altrimenti è l'intero netsukuku-ip (vedi la classe Map) del g-nodo rappresentato da questo pair

            • 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 = 1   # oppure   0

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