= 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 '''appena ricevuto''' è:
. {{{etp = (R, TPL, flag_of_interest)}}}
. dove:
. {{{R = [L0, L1, L2, L3]}}}
. dove:
. {{{L}}}''{{{i}}}''{{{ = [tuple0, tuple1, ...]}}}
. dove:
. {{{tuple}}}''{{{j}}}''{{{ = (dst, rem)}}}
. dove:
. {{{dst}}} è l'ID di un (g)nodo di livello ''{{{i}}}'' di cui abbiamo una route nota al nodo che '''ha inviato''' l'ETP. Nota che il (g)nodo rappresentato da {{{dst}}} appartiene allo stesso (g)nodo di livello {{{i+1}}} del nodo che ha inviato l'ETP, non necessariamente lo stesso (g)nodo di livello {{{i+1}}} del nodo corrente.
. {{{rem}}} è l'efficienza della route di cui sopra
. {{{TPL = [block0, block1, ...]}}}
. dove:
. {{{block}}}''{{{m}}}''{{{ = [lvl, TP]}}}
. dove:
. {{{lvl}}} è il livello a cui si trovano i (g)nodi rappresentati in questo {{{block}}}
. {{{TP = [pair0, pair1, ...]}}}
. dove:
. {{{pair}}}''{{{n}}}''{{{ = [hop, rem]}}}
. dove:
. {{{hop}}} è l'ID a livello {{{lvl}}} del (g)nodo rappresentato da questo {{{pair}}}; il (g)nodo rappresentato appartiene allo stesso g-nodo di livello {{{lvl+1}}} del nodo che '''ha inviato''' l'ETP.
. {{{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}}}. <
> 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 [[../ModuloQSPN|modulo QSPN]].