main index Le mie pagine dedicate all'APRS cominciano qui!

Domanda a bruciapelo: perché non usare "RELAY,WIDE7-7,TRACE7-7" nel routing dei pacchetti APRS?

Consideriamo per semplicità solo l'APRS sulla banda più nota (quella dei "due metri"): in Italia, il canale per l'APRS è sui 144,800 MHz.

In sintesi:

Alcuni argomenti che mi hanno convinto:

Cosa significa "l'APRS funziona"?

Se il canale APRS è pieno al 50%, avrai il 50% di possibilità che il tuo pacchetto APRS vada "in collisione" con quello di qualcun altro. Se il canale è occupato al 70%, ad ogni pacchetto APRS che trasmetterai avrai il 70% di probabilità che tale pacchetto si perda...


Più dettagliatamente:

ConsiderazioneConseguenza
Anzitutto esiste una grande varietà di sistemi APRS. Praticamente non si possono proporre modifiche che richiedano l'upgrade di una consistente percentuale di sistemi, cioè non è facile aggiornare lo standard APRS attualmente in uso.
Sui 144,8 si va a velocità 1200. È alquanto difficile far di meglio date le condizioni (ampiezza del canale, potenza necessaria, etc).
Pertanto la trasmissione di un pacchetto impegna il canale per circa un secondo (possiamo realisticamente dire 1,2-1,4 secondi). Si può perciò stimare che la capacità teorica del canale riservato all'APRS è di non più di tremila pacchetti trasmissibili in un'ora senza collisioni di pacchetti e senza frazioni di secondo di attese tra i pacchetti.

La capacità pratica è alquanto inferiore; qui ordinariamente mi arrivano fino a millecento pacchetti APRS l'ora e "ad orecchio" il canale sembra più che saturo...
Un sistema APRS trasmette il pacchetto dati quando desidera (ciò è vagamente ispirato al protocollo Aloha, dove dopo anni di utilizzo realizzarono che l'efficienza risultante era stata appena del 18%; la variante di Aloha - suddivisione del tempo in "slot" - non è realizzabile a causa della grande varietà dei sistemi APRS e possibilmente della loro incapacità di ottenere dal GPS una risoluzione inferiore al secondo). Ciò implica il problema delle "collisioni": se due sistemi trasmettono contemporaneamente il proprio pacchetto, si disturberanno a vicenda; nel migliore dei casi verrà ricevuto solo quello "molto più udibile" dai destinatari; altrimenti saranno persi entrambi (in tal caso sarà trascorso inutilmente del tempo utile sul canale).
Solo una minoranza di sistemi APRS (caso notevole, la Yaesu VX8) hanno una sorta di CSMA (carrier sense multiple access): se al momento di trasmettere risulta che qualcun altro sta trasmettendo, allora la trasmissione del proprio pacchetto viene rinviata finché risulta una portante. Sempre per motivi pratici, non si può implementare il monitoring per sapere durante la trasmissione di un pacchetto l'eventuale collisione. La maggioranza dei sistemi APRS, nel trasmettere un pacchetto, non è in grado di verificare le collisioni. Pertanto il canale va utilizzato con parsimonia.
La topologia della rete APRS in RF (radiofrequenza) è "uno-a-molti": un mittente, tanti destinatari quanti sono in grado di ricevere correttamente il pacchetto. Conseguenza logica: l'APRS non è pertanto un sistema per il vehicle-tracking (che concettualmente è un "uno-a-uno" o "molti-a-uno").

Conseguenza pratica: sono necessari dei ripetitori (digipeaters) affinché l'area "locale" non sia troppo "locale".
Nel ricevere i pacchetti APRS, ci interessa avere traccia delle stazioni nella stessa area; non serve a molto avere informazioni su stazioni molto lontane. Più è lontana la stazione, meno è interessante. Un pacchetto APRS dovrebbe perciò proliferare via radio solo entro un'area limitata dal numero di stazioni, non dal numero di chilometri. Al resto del mondo ci pensa internet (APRS-IS).
Tradizionalmente, una stazione fissa invia un pacchetto ogni venti minuti; una stazione mobile invia più frequentemente (uno ogni dieci minuti se è fermo, etc, fino a un pacchetto ogni 1-2 minuti). Dunque ogni stazione fissa occupa il canale per 3×n pacchetti l'ora (incluse le n ripetizioni dei digipeater dell'area) a cui aggiungere gli eventuali pacchetti di location, capabilities, etc (pure questi da moltiplicare per n); una stazione mobile contribuisce con 6×n pacchetti (se ferma) o più pacchetti se in movimento.

Dato che il limite teorico è di circa tremila pacchetti l'ora, se in area ci sono cinque ripetitori e venti stazioni fisse che trasmettono oltre alla posizione anche object e altro, il canale sarà già occupato almeno al venti-trenta per cento della sua capacità teorica, cioè al settanta-ottanta per cento della capacità pratica. Riuscire a trasmettere un proprio pacchetto APRS in queste condizioni è un'impresa disperata.
Le regole di routing (RELAY, WIDE, TRACE...) definiscono un metodo di routing, non una distanza raggiungibile o un numero di tentativi da effettuare. Vengono tradizionalmente interpretate una per una, col risultato di generare più pacchetti contemporaneamente man mano che "girano". Se un pacchetto viene ricevuto contemporaneamente da tre ripetitori e contiene per esempio RELAY, allora ognuno di questi tre procederà al RELAY. Ogni pacchetto "rigenerato", se contiene anche un WIDE, verrà poi ulteriormente "rigenerato".

Il suggerimento di Bruninga, autore dello standard APRS, è di sostituire il RELAY (sempre "eseguito") con WIDE1-1 ("eseguito" solo la prima volta) a inizio routing; utilizzare poi un solo "WIDEn-n" che sia "corto", e ridurre il numero di "hops" (la proposta, detta "New-N", è in vigore anche in Italia da ottobre 2008). In sintesi:
  • abolire completamente RELAY, TRACE, STATE e tutti i WIDE superiori a 3;
  • usare WIDE1-1,WIDE2-2 per le stazioni mobili;
  • usare WIDE1-1,WIDE3-3 per le stazioni mobili in aree dove il numero di sistemi APRS è particolarmente scarso (per esempio aree rurali pianeggianti e molto ampie);
  • usare WIDE2-2 per le stazioni fisse.