Differences between revisions 3 and 4
Revision 3 as of 2009-04-16 14:21:38
Size: 2144
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 31: Line 31:
           . {{{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 ricevuto l'ETP. 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[0][1][0]}}} 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}}} è 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)