APRS Digipiitteri

Radioamatööriwikistä
Siirry navigaatioon Siirry hakuun

APRS Digipiitteri (Englanniksi Digipeater) on APRS radioverkon laite, joka lähettää radiokanavalta kuulemansa APRS paketin uudestaan radiokanavalle.

Toistamista ohjaa APRS paketin radioverkon lähetyskerroksena käytettävän AX.25 protokollan osoitekentissä olevat tiedot ja niistä nimenomaisesti "via" alias "digipeater" kentissä olevat kutsut.

Verkkoa täydentävänä laitteena voidaan käyttää mm. Viskoosista APRS Digipiitteriä, joka ei toista paketteja jotka se kuulee useammin kuin kerran.

Osoitekentän tulkinta

AX.25 paketin osoitekentässä "via" kenttien SSID tavuissa ylin bitti on merkitykseltään "Has Been Digipeated" (eli "H-bitti"), eli sen olo nollana tarkoittaa, että kyseistä pakettia ei verkko ole vielä toistanut. Tekstiesityksessä asetettua H-bittiä merkitään tähdellä (*).

Digipiitteri käsittelee aina ensimmäistä "via" kenttää, jossa H-bittiä ei ole asetettu.

Jos APRS paketilla ei ole lähde- ja kohdeosoitteiden lisäksi yhtään em. "via" kenttää, pakettia ei ole tarkoitettu toistettavaksi radioverkkotasolla. Toistokäsittely katsotaan tarpeettomaksi myös, kun kaikkien "via" kenttien H-bitit on asetettu.

Kuten alkuperäisessä AX.25:ssä, jos "via" kentässä lukee jonkun nimenomaisen verkkolaitteen (noden) kutsumerkki, vain kyseinen laite toistaa tämän paketin. Verkkolaitteilla saattaa olla myös aliaksia, jolloin verkkolaite toistaa ne myös.

Verkkolaitteen aliasten lisäksi on olemassa ns. "New-N paradigma", joka tarkoittaa "via" kentässä olevaa avainsanaa jonka perässä on kaksi numeroa väliltä 1-7 seuraavalla tavalla:

WIDE1-1

Tällöin "New-N paradigmaa" tukeva verkkolaite tunnistaa, että:

  • Pyydetään levitysjakelua: "WIDE"
  • Pyydetään jakelua yhden hypyn päähän: "WIDE1"
  • Jakelua on vielä jäljellä 1 kerta (SSID kentän arvon mukaan): "WIDE1-1"

Viestiä toistettaessa SSID kentän arvoa vähennetään yhdellä ja kun se saavuttaa nollan, asetetaan kyseisen "via" kentän H-bitti radiolla lähetettävään uuteen versioon.

"WIDE" avaimella pyydetään jakelua, jossa viestiä toistetaan kertomatta, minkä kaikkien digipiittereiden kautta se on kulkenut.

"TRACE" avaimella pyydetään jakelua, jossa viestiin kirjataan välittävä solmu:

  • Saapuva: OH2XYZ>APRS,TRACE1-1
  • Lähtevä: OH2XYZ>APRS,OH2RDK*,TRACE1*

ja kun pyynnössä on askelia vielä jäljellä:

  • Saapuva: OH2XYZ>APRS,TRACE2-2
  • Lähtevä: OH2XYZ>APRS,OH2RDK*,TRACE2-1

Koska "WIDE3-3" pystyy kuljettamaan paketin reilun 1000 kilometriä sopivan laaja-alaisen tropo-kelin osuessa, ei alueelliseen taktiseen viestintään tarkoitetussa systeemissä ole hyväksi käyttää liian laajoja jakelupyyntöjä. "WIDE1-1" riittää hyvin esim. Helsingissä ja Tampereella, "WIDE2-2" kutakuinkin kaikkialla muualla.

Verkon kannalta on kaksi oleellista asiaa:

  • "Via" kentän SSID arvoa vähennetään jokaisella hypyllä.
  • Verkon solmuilla on algoritmi ja datavarasto tunnistaa sama pakettisisältö uudestaan 30 sekunnin aikaikkunan aikana - tämä tapahtuu ns. duplikaattialgoritmilla.


Duplikaattialgoritmi

Saman viestin toisinto radioverkossa tunnistetaan keräämällä seuraavat osat:

  • Poimitaan sanoman lähettäjän osoite SSID tiedon kanssa
  • Poimitaan sanoman vastaanottajan osoite ilman SSID tietoa (MICe kompressoiduissa sanomissa vastaanottajan SSID kenttään koodataan hypyittäin vaihtuvaa tietoa)
  • Poimitaan APRS sanoman tekstisisältö lopettaen poiminta ensimmäiseen kuultuun LF (0x0A) merkkiin ja mahdollisesti poistaen välittömästi sen edellä oleva CR (0x0D) merkki, sekä mahdollisesti sieltä löytyvä useampi SPACE (0x20) merkki. Joillakin verkon laitteilla kun on tapana virheellisesti syöttää näitä sanomiin mukaan, erityisesti lisätä SPACE merkkejä sanoman perään. Tätä tekevät laitteet pitäisi saada pois verkosta...

Mikäili kyseessä on ns. "3rd party" sanoma (sanomatyypin tunnistemerkki: '}',) silloin algoritmi katsookin sanoman sisään käärittyyn lähettäjän ja vastaanottajan tietoon, sekä etsii alkuperäisen sanoman sisällön uudestaan. Tätä toistetaan niin monta kertaa, kuin "3rd party" kehyksiä on päällekkäin.

Kun poiminta on päättynyt, käsillä olevat em. kolme kenttää (mahdollisesti ne kattavan algoritmisen tiivisteen avustamana) etsitään 30 sekunnin ajan tallessa pidettävästä datavarastosta. (Käytännössä kuhunkin tietoon liitetään aikaleima joka kertoo sen luontiajan ja liian vanhat hylätään haussa. Esim. 30 sekunnin välein ajettava siivousajo sitten poistaa varastosta kaikki vanhat tiedot ilman että niitä pitää esim. joka sekunti käydä siivoamassa.)