Differences between revisions 2 and 3
Revision 2 as of 2009-04-16 09:47:42
Size: 1825
Editor: anonymous
Comment:
Revision 3 as of 2009-04-16 14:21:38
Size: 2144
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 successivo, oppure il nodo che ha ricevuto l'ETP. '''TODO''' chiarire chi valorizza questo REM: il nodo che invia l'ETP o quello che lo riceve?
           . {{{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)}}}'', 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.

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), 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.

    • flag = 1   # oppure   0

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