Dans les articles précédents, nous avons découvert le fonctionnement général de l’APRS puis décortiqué le contenu d’une trame. Mais une question reste entière : que devient cette trame une fois émise ?
Prenons notre station mobile F5KEE-9. Son tracker vient d’envoyer sur 144,800 MHz : F5KEE-9>APRS,WIDE1-1,WIDE2-1:...
Quelques secondes plus tard, sa position peut apparaître sur une carte accessible depuis Internet.
Entre les deux, notre petite balise a peut-être été reçue directement, retransmise par un digipeater, captée par un iGate puis injectée dans APRS-IS.
Suivons son voyage.
Première étape : F5KEE-9 émet sa balise
Notre station mobile dispose de sa position GPS. Le tracker construit une trame APRS, le modem génère le signal AFSK 1200 bauds et le transceiver l’émet en FM sur 144,800 MHz.
Nous retrouvons la chaîne étudiée précédemment : GPS → tracker → AX.25/APRS → AFSK → FM → antenne
Mais intéressons-nous cette fois à : WIDE1-1,WIDE2-1
Il s’agit du chemin demandé aux éventuels digipeaters.
À partir de cet instant, plusieurs scénarios sont possibles.
Une réception directe est parfaitement possible
Imaginons une station F1ABC suffisamment proche de F5KEE-9.
Elle reçoit directement la balise : F5KEE-9 → RF → F1ABC
Aucun digipeater n’est nécessaire.
Il en va exactement de même pour un iGate placé à portée radio : F5KEE-9 → RF → iGate
C’est important, car une position apparaissant sur Internet n’a donc pas obligatoirement transité par un digipeater.
Le rôle du digipeater est avant tout d’étendre la couverture radio.

Une balise APRS peut être reçue directement, répétée sur le réseau radio ou transférée vers APRS-IS par un iGate.
Le digipeater : un relais numérique
Le mot digipeater vient de Digital Repeater.
Il serait tentant de le comparer directement à un relais phonie, mais son fonctionnement est différent.
Un relais FM retransmet pratiquement en temps réel ce qu’il reçoit. Un digipeater reçoit d’abord un paquet numérique complet, l’analyse et décide s’il doit le retransmettre.
Nous pouvons résumer son travail ainsi : Réception → analyse → modification éventuelle → retransmission
On parle donc d’un fonctionnement de type store and forward.
Lorsque notre digipeater reçoit : F5KEE-9>APRS,WIDE1-1,WIDE2-1:...
il examine notamment le chemin demandé.
WIDE1-1 et WIDE2-1
Le système WIDEn-N permet de contrôler le nombre de retransmissions possibles.
Dans notre exemple : WIDE1-1,WIDE2-1
WIDE1-1 peut notamment permettre à un fill-in digipeater, un petit relais local, de reprendre le paquet d’une station mobile ou portable qui atteindrait difficilement l’infrastructure principale.
WIDE2-1 autorise ensuite une retransmission supplémentaire par un digipeater approprié.
On pourrait donc obtenir : F5KEE-9 → DIGI 1 → DIGI 2
Chaque retransmission constitue un saut, ou hop.
Mais demander davantage de sauts n’améliore pas nécessairement les performances.
Chaque répétition occupe le même canal radio partagé avec les autres utilisateurs. Un chemin excessivement long augmente donc l’occupation de 144,800 MHz et les risques de collisions.
En APRS, le chemin le plus long n’est pas forcément le meilleur.
La trame change en voyageant
Le chemin d’une trame n’est pas simplement un texte figé.
Lorsqu’un digipeater la traite, les informations de routage évoluent afin d’indiquer le passage effectué.
Les logiciels APRS peuvent ainsi afficher l’indicatif d’un digipeater accompagné d’un astérisque : DIGI1*
L’astérisque indique, dans cette représentation lisible, que cette étape du chemin a déjà été utilisée.
En observant les paquets reçus, on peut donc parfois reconstituer une partie du trajet suivi par la balise.
Et si deux digipeaters entendent la même balise ?
Supposons maintenant que F5KEE-9 soit parfaitement placé et entendu simultanément par plusieurs relais :
** → DIGI A**
F5KEE-9
** → DIGI B**
Les deux pourraient retransmettre le même paquet.
Puis d’autres digipeaters pourraient entendre ces retransmissions.
Sans précaution, le réseau se remplirait rapidement de multiples copies de la même balise.
Les digipeaters modernes utilisent donc des mécanismes de détection des doublons. Lorsqu’une trame récemment traitée réapparaît, elle peut être reconnue comme une copie et ne pas être retransmise à nouveau.
Cette gestion des doublons est indispensable sur un canal à seulement 1200 bauds.
La balise rencontre un iGate
Continuons notre voyage.
Notre balise est maintenant entendue par une station connectée à Internet : l’iGate, pour Internet Gateway.
Nous arrivons à une distinction essentielle :
- Digipeater : RF → RF
- iGate : RF → Internet
Le digipeater étend donc principalement le réseau radio.
L’iGate permet à une trame reçue par radio d’entrer dans APRS-IS, le réseau APRS utilisant Internet.
Un même équipement peut cependant remplir plusieurs fonctions. Un ordinateur associé à une interface radio et à un logiciel tel que Dire Wolf peut, par exemple, fonctionner à la fois comme décodeur, digipeater et iGate.
Il faut donc distinguer la fonction de l’appareil qui l’assure.
Que fait l’iGate avec notre trame ?
Notre iGate vient de recevoir : F5KEE-9>APRS,WIDE1-1,WIDE2-1:...
Il ne se contente pas de recopier aveuglément tout ce qu’il entend.
Il vérifie notamment que le paquet reçu est exploitable et qu’il correspond aux règles permettant son transfert vers APRS-IS.
Le trajet devient alors : F5KEE-9 → RF → DIGI éventuel → iGate → Internet
À partir de là, nous quittons le réseau radio local.

Le chemin visible d’une balise évolue au fil de son passage par les digipeaters puis par l’iGate.
Que signifie qAR ?
Lorsque l’on examine les paquets provenant d’APRS-IS, on peut rencontrer quelque chose comme : ...,qAR,F1XYZ:...
Ce fameux qAR est particulièrement intéressant.
Il appartient aux q constructs utilisés par APRS-IS pour fournir des informations sur la manière dont un paquet est entré dans le réseau.
Dans notre exemple, F1XYZ pourrait être l’iGate ayant reçu la trame sur radio avant de l’injecter dans APRS-IS.
Un point est essentiel : F5KEE-9 n’a pas transmis qAR sur 144,800 MHz.
Cette information apparaît lors du passage vers APRS-IS.
Il ne faut donc pas confondre le chemin radio réellement transmis par notre mobile avec toutes les informations que l’on peut ensuite observer sur Internet.
APRS-IS : bien plus qu’un serveur
Notre balise arrive maintenant dans APRS-IS — APRS Internet Service.
On pourrait imaginer un énorme serveur central récupérant toutes les positions APRS du monde.
La réalité est plus intéressante.
APRS-IS est une infrastructure composée de serveurs interconnectés auxquels peuvent se connecter iGates, applications et différents clients APRS.
Notre voyage devient donc : F5KEE-9 → RF → DIGI → iGate → APRS-IS → applications
APRS-IS permet ainsi de distribuer très rapidement les informations reçues depuis de nombreux réseaux radio locaux.
Plusieurs iGates peuvent entendre F5KEE-9
Un nouveau problème apparaît.
Supposons que notre mobile soit entendu simultanément par trois iGates :
- F5KEE-9 → iGate A
- F5KEE-9 → iGate B
- F5KEE-9 → iGate C
Les trois peuvent envoyer la même balise vers APRS-IS.
Faut-il afficher trois nouvelles positions ?
Évidemment non.
APRS-IS dispose lui aussi d’un mécanisme de duplicate checking.
Pour identifier les copies d’un même paquet, les serveurs prennent en compte différents éléments de la trame tout en ignorant le chemin emprunté. Le système utilise notamment une fenêtre glissante de 30 secondes pour la détection des doublons.
Ainsi, plusieurs iGates peuvent entendre la même émission sans transformer une unique balise en une multitude de nouvelles positions.
Pourquoi ne reçoit-on pas toutes les stations du monde ?
APRS-IS transporte une quantité considérable d’informations.
Un logiciel utilisé en France n’a généralement aucune raison de recevoir en permanence toutes les positions APRS provenant d’Amérique, d’Asie ou d’Australie.
APRS-IS permet donc l’utilisation de filtres côté serveur.
Un client peut demander, par exemple, les stations :
- situées dans un certain rayon ;
- correspondant à certains indicatifs ;
- appartenant à certains types ;
- passées par un digipeater ;
- ou entrées dans APRS-IS par un iGate déterminé.
Le port 14580 est couramment utilisé pour les connexions filtrées.
Ce filtrage réduit considérablement le volume de données transmis à chaque client.
Et APRS.fi dans tout cela ?
Notre balise peut finalement être exploitée par un service de visualisation.
Nous avons donc : F5KEE-9 → 144,800 MHz → digipeater éventuel → iGate → APRS-IS → service cartographique
C’est seulement à la dernière étape que l’utilisateur voit apparaître F5KEE-9 sur une carte.
Il faut donc bien distinguer : Digipeater ≠ iGate ≠ APRS-IS ≠ APRS.fi
Le digipeater travaille principalement sur le réseau radio.
L’iGate constitue la passerelle.
APRS-IS distribue les informations sur Internet.
Le service cartographique les présente à l’utilisateur.
Le voyage peut-il s’effectuer dans l’autre sens ?
Oui, mais avec d’importantes restrictions.
Certains iGates sont uniquement configurés en réception : RF → Internet
D’autres sont bidirectionnels et peuvent également transmettre certaines informations : Internet → RF
Mais attention : cela ne signifie surtout pas que tout ce qui circule sur APRS-IS est retransmis sur 144,800 MHz !
Le canal radio à 1200 bauds serait instantanément saturé.
Un iGate bidirectionnel applique donc des règles strictes.
L’un des cas les plus intéressants concerne les messages destinés à une station locale.
Un message pour F5KEE-9
Supposons que notre iGate ait récemment entendu F5KEE-9.
Il sait donc que cette station est probablement encore accessible par radio dans sa zone.
Un message destiné à F5KEE-9 arrive maintenant par APRS-IS.
L’iGate peut, si les conditions prévues sont réunies, le transmettre sur le réseau radio : message → APRS-IS → iGate → RF → F5KEE-9
Le système permet ainsi une véritable interaction entre une station APRS radio et certains utilisateurs connectés par Internet.

Un iGate bidirectionnel ne retransmet pas tout Internet sur la radio : seuls certains paquets répondant à des règles précises peuvent revenir vers RF.
1200 bauds face à Internet
Cette limitation devient évidente lorsque l’on compare les capacités des deux réseaux.
Le canal APRS VHF traditionnel fonctionne à seulement 1200 bauds.
APRS-IS reçoit au contraire des informations provenant de très nombreuses stations réparties dans le monde.
Essayer de transférer tout ce trafic vers un seul canal radio local serait impossible.
Les règles de filtrage et de gating ne sont donc pas des complications inutiles : elles protègent le réseau radio contre la saturation.
Notre balise est arrivée !
Reprenons une dernière fois notre voyage.
F5KEE-9 émet : F5KEE-9>APRS,WIDE1-1,WIDE2-1:...
Une station proche peut la recevoir directement.
Un digipeater peut également l’entendre, examiner son chemin et la retransmettre afin d’étendre sa portée.
Un iGate reçoit ensuite la balise et l’injecte dans APRS-IS.
APRS-IS gère sa distribution, filtre les données demandées par les clients et élimine les doublons.
Quelques instants plus tard, F5KEE-9 apparaît sur une carte.
Notre petite balise vient donc de parcourir : GPS → radio → digipeater → radio → iGate → Internet → APRS-IS → application
Et lorsqu’un message doit revenir vers notre mobile, un iGate bidirectionnel peut, dans certaines conditions, ouvrir une petite porte dans l’autre sens.
C’est cette combinaison entre un réseau radio local à seulement 1200 bauds et une infrastructure Internet mondiale qui fait toute l’originalité de l’APRS.
Liens utiles pour aller plus loin
APRS-IS — fonctionnement des iGates
https://www.aprs-is.net/IGating.aspx
APRS-IS — détails concernant les iGates
https://www.aprs-is.net/IGateDetails.aspx
APRS-IS — filtres côté serveur
https://www.aprs-is.net/javAPRSFilter.aspx
APRS-IS — architecture et serveurs
https://www.aprs-is.net/aprsservers.aspx
APRS-IS — fonctionnement interne des serveurs
https://www.aprs-is.net/ServerDesign.aspx
APRS.org — New n-N Paradigm et digipeaters
https://www.aprs.org/fix14439.html
Dire Wolf — modem, digipeater et iGate APRS
https://github.com/wb2osz/direwolf
Documentation Dire Wolf
https://github.com/wb2osz/direwolf-doc
