Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2009-04-16 08:07:58
Size: 1730
Editor: anonymous
Comment:
Revision 4 as of 2009-04-16 14:45:41
Size: 2444
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
 . {{{etp = (R, atp, flag)}}}  . {{{etp = (R, TPL, flag)}}}
Line 15: Line 15:
     . {{{L}}}''{{{i}}}''{{{ = [TP0, TP1, ...]}}}      . {{{L}}}''{{{i}}}''{{{ = [tuple0, tuple1, ...]}}}
Line 17: Line 17:
       . {{{TP}}}''{{{j}}}''{{{ = (dst, rem)}}}        . {{{tuple}}}''{{{j}}}''{{{ = (dst, rem)}}}
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 all'host che ha spedito l'ETP
Line 21: Line 21:
   . {{{atp = [block0, block1, ...]}}}    . {{{TPL = [block0, block1, ...]}}}
Line 23: Line 23:
     . {{{block}}}''{{{y}}}''{{{ = (lvl, TP)}}}      . {{{block}}}''{{{m}}}''{{{ = (lvl, TP)}}}
Line 26: Line 26:
       . {{{TP = [pair1, pair2, ...]}}}        . {{{TP = [pair0, pair1, ...]}}}
Line 30: Line 30:
           . {{{hop}}} è l'ID a livello {{{lvl}}} del (g)nodo rappresentato da questo {{{pair}}}
           . {{{rem}}} è un'istanza di Rem che indica l'efficienza del link tra il (g)nodo {{{pair}}}''{{{n}}}'' e {{{pair}}}''{{{(n-1)}}}'', oppure il blocco precedente, oppure il nodo che ha inviato l'ETP.
           . {{{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 [[../ClasseMap|classe Map]]) del g-nodo rappresentato da questo {{{pair}}}
           . {{{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.

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

    • flag = 1   # oppure   0

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