Ero sivun ”APRS iGaten ominaisuudet” versioiden välillä

Radioamatööriwikistä
Siirry navigaatioon Siirry hakuun
>Oh2kku
(eka varsin epätäydellinen versio, formaattiakin saa korjata)
 
>Oh2kku
(lisätty rxtx-osa ja hieman tarkennettu rx-osaakin. kaipaa muotoilua.)
Rivi 14: Rivi 14:
* Vastaanotettaessa #-merkillä alkavat rivit ovat kommentteja ja APRS-IS-sovelluksen omaa kohinaa, jolla ei ole määrämuotoa. Ne voi siis ignoroida, ellei halua esimerkiksi tarkistaa loginin onnistumista, johon vastaus tulee #-alkavalla rivillä.
* Vastaanotettaessa #-merkillä alkavat rivit ovat kommentteja ja APRS-IS-sovelluksen omaa kohinaa, jolla ei ole määrämuotoa. Ne voi siis ignoroida, ellei halua esimerkiksi tarkistaa loginin onnistumista, johon vastaus tulee #-alkavalla rivillä.
* Kerrallaan vain yksi TCP-yhteys APRS-IS-palvelimeen, mutta TCP-yhteyden hereilläoloa kannattaa tarkkailla ja tarpeen mukaan vaihtaa yhteys johonkin toiseen APRS-IS-palvelimeen. Esimerkiksi kiertää palvelinten osoitteista koostuvaa nimi/portti-listaa ympäri kunnes yhteys onnistuu.
* Kerrallaan vain yksi TCP-yhteys APRS-IS-palvelimeen, mutta TCP-yhteyden hereilläoloa kannattaa tarkkailla ja tarpeen mukaan vaihtaa yhteys johonkin toiseen APRS-IS-palvelimeen. Esimerkiksi kiertää palvelinten osoitteista koostuvaa nimi/portti-listaa ympäri kunnes yhteys onnistuu.
* Kaikkien bandilta kuultujen pakettien sisältö välitetään sellaisenaan APRS-IS:ään seuraavin poikkeuksin:
* Kaikkien bandilta kuultujen pakettien sisältö välitetään sellaisenaan (huomioi myös nollatavujen mahdollisuus pakettien sisällössä) APRS-IS:ään seuraavin poikkeuksin:
** Kaikkien pakettien headerit tarvittaessa muutetaan ns. TNC2-muotoon (mm. KISS-paketit ja PK232-formaattiset), eli <tt>LAHDE-4>KOHDE-5,POLKU*,POLKU2:paketin datasisältö</tt>. Jos polkuosa on tyhjä, lyhenee paketti muotoon <tt>LAHDE-4>KOHDE-5:paketin datasisältö</tt>. Jos SSID on nolla, jätetään SSID ja sitä edeltävä väliviiva pois. Huomioi myös alempana mainittu igaten "signeeraus".
** dataosaltaan '}'-merkillä (ascii 125) alkavia paketteja ei välitetä, koska ne on jo kertaalleen internet->rf suunnassa välitetty, jolloin voisi aiheutua looppi
** dataosaltaan '}'-merkillä (ascii 125) alkavia paketteja ei välitetä, koska ne on jo kertaalleen internet->rf suunnassa välitetty, jolloin voisi aiheutua looppi
** jos paketin ''polussa'' missä kohdassa tahansa on merkkijono RFONLY tai NOGATE, ei pakettia välitetä. Lisäämällä tämän pakettinsa polkuun käyttäjä voi halutessaan kieltää paketin välittämisen APRS-IS:ään
** jos paketin ''polussa'' missä kohdassa tahansa on merkkijono RFONLY tai NOGATE, ei pakettia välitetä. Lisäämällä tämän pakettinsa polkuun käyttäjä voi halutessaan kieltää paketin välittämisen APRS-IS:ään
** CR/LF-käsittely kuten yllä on kuvattu, eli paketti päätetään ensimmäiseen CR:ään tai LF:ään.
** CR/LF-käsittely kuten yllä on kuvattu, eli paketti päätetään ensimmäiseen CR:ään tai LF:ään.
** hienompi sovellus voi lisäksi pitää kirjaa äskettäin sekä bandilta että internetistä "kuulluista" paketeista ja olla välittämättä jo kuultuja paketteja. Tämän voi tehdä esimerkiksi niin, että ylläpitää tarkistussummakantaa, johon lasketaan jokaisen paketin "sisimmästä" AX.25 lähdeosoitteesta (call-ssid), kohdeosoitteesta (call, mutta ei ssid eikä myöskään polku) ja datakentän sisällöstä, mahdollisesti lopussa olevat välilyönnit poistaen tarkistussumma, sekä aikaleima. Jos esimerkiksi viimeisen 30 sekunnin aikana kuullaan sama paketti uudestaan, ei sitä tarvitse turhaan välittää. Muista myös tyhjentää tarkistussummakannasta vanhentuneet tarkistussummat.
** hienompi sovellus voi lisäksi pitää kirjaa äskettäin sekä bandilta että internetistä "kuulluista" paketeista ja olla välittämättä jo kuultuja paketteja. Tämän voi tehdä esimerkiksi niin, että ylläpitää tarkistussummakantaa, johon lasketaan jokaisen paketin "sisimmästä" AX.25 lähdeosoitteesta (call-ssid), kohdeosoitteesta (call, mutta ei ssid eikä myöskään polku) ja datakentän sisällöstä, mahdollisesti lopussa olevat välilyönnit poistaen tarkistussumma, sekä aikaleima. Jos esimerkiksi viimeisen 30 sekunnin aikana kuullaan sama paketti uudestaan, ei sitä tarvitse turhaan välittää. Muista myös tyhjentää tarkistussummakannasta vanhentuneet tarkistussummat. Paketin lopun välilyönnit jätetään tarkistussummalaskennassa huomiotta siksi, että jotkut igate-ohjelmat lisäävät tai poistavat välilyöntejä pakettien lopuista, jolloin välilyöntien määrän vaihdellessa tarkistussumma voisi muuttua. Paketti kuitenkin välitetään aina alkuperäisen määrän välilyöntejä sisältävänä.
*** esimerkiksi seuraavassa paketissa tarkistussummalaskentaan otetaan mukaan "OH2XYZ-11", "APZYXW" ja ">pakettia":
*** esimerkiksi seuraavassa paketissa tarkistussummalaskentaan otetaan mukaan "OH2XYZ-11", "APZYXW" ja ">pakettia":
  "OH2XYZ-11>APZYXW-4,RELAY,WIDE:>pakettia  "
  "OH2XYZ-11>APZYXW-4,RELAY,WIDE:>pakettia  "
Rivi 24: Rivi 25:
  "OH1YYY>APRS,WIDE:}OH2XYZ-11>APZYXW-4,TCPIP,OH1YYY*:>pakettia  "
  "OH1YYY>APRS,WIDE:}OH2XYZ-11>APZYXW-4,TCPIP,OH1YYY*:>pakettia  "
** lopuksi kaikkiin APRS-IS:ään välitettyihin paketteihin lisätään polkuosan loppuun "qAR," ja igaten kutsu, esimerkiksi "qAR,OH1YYY-3". Eli bandilla kuultu paketti
** lopuksi kaikkiin APRS-IS:ään välitettyihin paketteihin lisätään polkuosan loppuun "qAR," ja igaten kutsu, esimerkiksi "qAR,OH1YYY-3". Eli bandilla kuultu paketti
  "OH2XYZ-11>APZYXW-4,RELAY,WIDE:>pakettia  "
  "OH2XYZ-11>APZYXW-4,RELAY*,WIDE:>pakettia  "
välitettäisiin APRS-IS:ään muodossa
välitettäisiin APRS-IS:ään muodossa
  "OH2XYZ-11>APZYXW-4,RELAY,WIDE,qAR,OH1YYY-3:>pakettia  "
  "OH2XYZ-11>APZYXW-4,RELAY*,WIDE,qAR,OH1YYY-3:>pakettia  "
 
== RX/TX-igatelta vaadittavia ominaisuuksia ==


* Kaikki yllä RX-igaten kohdalla vaaditut ominaisuudet ja erityisesti
* '''kunnollinen''' suodatus internetistä bandille välitettävälle liikenteelle
** Erityisesti ei välitetä bandille paketteja jotka on jo bandilla esim. viimeisen 30 sekunnin sisään kuultu, joko suoraan tai jonkun toisen välittämänä (ks. tarkistussumma-algoritmi yllä).
** Ei välitetä kovin kaukana igaten kohdealueesta olevia paketteja bandille yksinkertaisesti siksi, että ADSL-liittymänkin siirtonopeus on tyypillisesti vähintään tuhat kertaa suurempi kuin 1200 bps AX.25 APRS-kanavan. "Kaukopaketin" voi tunnistaa esimerkiksi sijaintipaketista lähettäjän sijainnin katsomalla ja laskemalla kuinka kaukana se on igaten sijainnista. Tätä sijaintitietoa voi sitten hyödyntää myös muiden ko. lähettäjän pakettien suodattamiseen (esim. statuspaketit, bulletiinit, yms).
** Poikkeuksena kaukopakettien välittämiskieltoon voidaan pitää APRS-viestejä, silloin kun viestin vastaanottaja tunnetusti sijaitsee igaten lähistöllä (igate pitää kirjaa lähistöllään bandilla sijaitsevista asemista). APRS-viestin yhteydessä bandille voi välittää myös lähettävän aseman sijaintipaketin tai pari, jolloin viestin vastaanottaja näkee missä viestin lähettäjä sijaitsee.
** Käytetään laajuudeltaan hyvin lyhyttä polkua välitetyille paketeille, esimerkiksi vain yksi WIDE tai WIDE2-2. Vaikka välityspaikalla APRS-liikennettä olisi bandilla hyvin vähän, se ei tarkoita sitä, että parin hypyn päässä esimerkiksi isommassa amatöörikeskittymässä olisi yhtä hiljaista. Tällöin ulkopuolelta bandia pitkin "hyppivät" paketit voivat tukkia vilkkaamman alueen.
** Kaikkien muiden suodattimien jälkeenkin rajoitetaan vielä bandille välitettävien pakettien maksimimäärä aikayksikössä esimerkiksi neljään pakettiin minuutissa. Tämän on tarkoitus toimia eräänlaisena failsafena, että koskaan ei tukittaisi kanavaa ja estettäisi bandilla olevien APRS-asemien toimintaa.
* Internetistä bandille välitetyt paketit välitetään ns. 3rd party formaatissa, eli esimerkiksi igaten OH4ZZZ-5 saadessa internetistä paketin
"OH2XYZ-11>APZYXW-4,RELAY*,WIDE,qAR,OH1YYY-3:>pakettia  "
:välitetään se bandille muodossa
"OH4ZZZ-5>APZ123,WIDE2-2:}OH2XYZ-11>APZYXW-4,TCPIP,OH4ZZZ-5*:>pakettia  "
:jossa APZ123 on igate-ohjelmiston käyttämä/tunnistava kohdeosoite, WIDE2-2 igaten käyttämä polku ja OH4ZZZ-5 igaten kutsu, joka siis toistuu sekä AX.25 headerissa, että paketin sisällössä. TCPIP "sisemmän" paketin polussa kertoo että paketti tuli internetistä. Paketin alkuperäinen polku siis poistetaan kokonaan tilaa viemästä.


[[Luokka:APRS]]
[[Luokka:APRS]]

Versio 18. tammikuuta 2007 kello 10.48

RX-igatelta vaadittavia ominaisuuksia

  • Lähetettäessä kaikki paketit (= rivit) päätetään CR/LF-yhdistelmään. Jos paketissa itsessään on sisältönä CR tai LF merkkejä, katkaistaan paketti juuri ennen ensimmäistä tällaista merkkiä ja lisätään perään normaali CR/LF
  • Vastaanotettaessa päätetään paketti ensimmäiseen vastaanotettuun CR:ään tai LF:ään.
  • Kirjautuminen APRS-IS:ään tcp-yhteyden muodostumisen jälkeen:
vähintään:
call <igaten kutsu> pass <kutsun passcode>
softaversion kanssa:
call <igaten kutsu> pass <kutsun passcode> vers <ohjelman_nimi ja versio>
suotimen kanssa (suodinta ei rx-igatessa käytännössä tarvita, koska igate välittää liikennettä vain yhteen suuntaan):
call <igaten kutsu> pass <kutsun passcode> vers <ohjelman_nimi ja versio> filter <suodinteksti>
esimerkiksi:
call OH9XYZ-13 pass 12944 vers munsofta 0.0.1 filter a/72/16/58/34 p/OF/OG/OH/OI/OJ
  • Vastaanotettaessa #-merkillä alkavat rivit ovat kommentteja ja APRS-IS-sovelluksen omaa kohinaa, jolla ei ole määrämuotoa. Ne voi siis ignoroida, ellei halua esimerkiksi tarkistaa loginin onnistumista, johon vastaus tulee #-alkavalla rivillä.
  • Kerrallaan vain yksi TCP-yhteys APRS-IS-palvelimeen, mutta TCP-yhteyden hereilläoloa kannattaa tarkkailla ja tarpeen mukaan vaihtaa yhteys johonkin toiseen APRS-IS-palvelimeen. Esimerkiksi kiertää palvelinten osoitteista koostuvaa nimi/portti-listaa ympäri kunnes yhteys onnistuu.
  • Kaikkien bandilta kuultujen pakettien sisältö välitetään sellaisenaan (huomioi myös nollatavujen mahdollisuus pakettien sisällössä) APRS-IS:ään seuraavin poikkeuksin:
    • Kaikkien pakettien headerit tarvittaessa muutetaan ns. TNC2-muotoon (mm. KISS-paketit ja PK232-formaattiset), eli LAHDE-4>KOHDE-5,POLKU*,POLKU2:paketin datasisältö. Jos polkuosa on tyhjä, lyhenee paketti muotoon LAHDE-4>KOHDE-5:paketin datasisältö. Jos SSID on nolla, jätetään SSID ja sitä edeltävä väliviiva pois. Huomioi myös alempana mainittu igaten "signeeraus".
    • dataosaltaan '}'-merkillä (ascii 125) alkavia paketteja ei välitetä, koska ne on jo kertaalleen internet->rf suunnassa välitetty, jolloin voisi aiheutua looppi
    • jos paketin polussa missä kohdassa tahansa on merkkijono RFONLY tai NOGATE, ei pakettia välitetä. Lisäämällä tämän pakettinsa polkuun käyttäjä voi halutessaan kieltää paketin välittämisen APRS-IS:ään
    • CR/LF-käsittely kuten yllä on kuvattu, eli paketti päätetään ensimmäiseen CR:ään tai LF:ään.
    • hienompi sovellus voi lisäksi pitää kirjaa äskettäin sekä bandilta että internetistä "kuulluista" paketeista ja olla välittämättä jo kuultuja paketteja. Tämän voi tehdä esimerkiksi niin, että ylläpitää tarkistussummakantaa, johon lasketaan jokaisen paketin "sisimmästä" AX.25 lähdeosoitteesta (call-ssid), kohdeosoitteesta (call, mutta ei ssid eikä myöskään polku) ja datakentän sisällöstä, mahdollisesti lopussa olevat välilyönnit poistaen tarkistussumma, sekä aikaleima. Jos esimerkiksi viimeisen 30 sekunnin aikana kuullaan sama paketti uudestaan, ei sitä tarvitse turhaan välittää. Muista myös tyhjentää tarkistussummakannasta vanhentuneet tarkistussummat. Paketin lopun välilyönnit jätetään tarkistussummalaskennassa huomiotta siksi, että jotkut igate-ohjelmat lisäävät tai poistavat välilyöntejä pakettien lopuista, jolloin välilyöntien määrän vaihdellessa tarkistussumma voisi muuttua. Paketti kuitenkin välitetään aina alkuperäisen määrän välilyöntejä sisältävänä.
      • esimerkiksi seuraavassa paketissa tarkistussummalaskentaan otetaan mukaan "OH2XYZ-11", "APZYXW" ja ">pakettia":
"OH2XYZ-11>APZYXW-4,RELAY,WIDE:>pakettia  "
      • samoin seuraavasta kertaalleen välitetystä paketista otetaan mukaan vain "OH2XYZ-11", "APZYXW" ja ">pakettia", jotta eri asemien välittäessä saman paketin ne tuottavat saman tarkistussumman:
"OH1YYY>APRS,WIDE:}OH2XYZ-11>APZYXW-4,TCPIP,OH1YYY*:>pakettia  "
    • lopuksi kaikkiin APRS-IS:ään välitettyihin paketteihin lisätään polkuosan loppuun "qAR," ja igaten kutsu, esimerkiksi "qAR,OH1YYY-3". Eli bandilla kuultu paketti
"OH2XYZ-11>APZYXW-4,RELAY*,WIDE:>pakettia  "

välitettäisiin APRS-IS:ään muodossa

"OH2XYZ-11>APZYXW-4,RELAY*,WIDE,qAR,OH1YYY-3:>pakettia  "

RX/TX-igatelta vaadittavia ominaisuuksia

  • Kaikki yllä RX-igaten kohdalla vaaditut ominaisuudet ja erityisesti
  • kunnollinen suodatus internetistä bandille välitettävälle liikenteelle
    • Erityisesti ei välitetä bandille paketteja jotka on jo bandilla esim. viimeisen 30 sekunnin sisään kuultu, joko suoraan tai jonkun toisen välittämänä (ks. tarkistussumma-algoritmi yllä).
    • Ei välitetä kovin kaukana igaten kohdealueesta olevia paketteja bandille yksinkertaisesti siksi, että ADSL-liittymänkin siirtonopeus on tyypillisesti vähintään tuhat kertaa suurempi kuin 1200 bps AX.25 APRS-kanavan. "Kaukopaketin" voi tunnistaa esimerkiksi sijaintipaketista lähettäjän sijainnin katsomalla ja laskemalla kuinka kaukana se on igaten sijainnista. Tätä sijaintitietoa voi sitten hyödyntää myös muiden ko. lähettäjän pakettien suodattamiseen (esim. statuspaketit, bulletiinit, yms).
    • Poikkeuksena kaukopakettien välittämiskieltoon voidaan pitää APRS-viestejä, silloin kun viestin vastaanottaja tunnetusti sijaitsee igaten lähistöllä (igate pitää kirjaa lähistöllään bandilla sijaitsevista asemista). APRS-viestin yhteydessä bandille voi välittää myös lähettävän aseman sijaintipaketin tai pari, jolloin viestin vastaanottaja näkee missä viestin lähettäjä sijaitsee.
    • Käytetään laajuudeltaan hyvin lyhyttä polkua välitetyille paketeille, esimerkiksi vain yksi WIDE tai WIDE2-2. Vaikka välityspaikalla APRS-liikennettä olisi bandilla hyvin vähän, se ei tarkoita sitä, että parin hypyn päässä esimerkiksi isommassa amatöörikeskittymässä olisi yhtä hiljaista. Tällöin ulkopuolelta bandia pitkin "hyppivät" paketit voivat tukkia vilkkaamman alueen.
    • Kaikkien muiden suodattimien jälkeenkin rajoitetaan vielä bandille välitettävien pakettien maksimimäärä aikayksikössä esimerkiksi neljään pakettiin minuutissa. Tämän on tarkoitus toimia eräänlaisena failsafena, että koskaan ei tukittaisi kanavaa ja estettäisi bandilla olevien APRS-asemien toimintaa.
  • Internetistä bandille välitetyt paketit välitetään ns. 3rd party formaatissa, eli esimerkiksi igaten OH4ZZZ-5 saadessa internetistä paketin
"OH2XYZ-11>APZYXW-4,RELAY*,WIDE,qAR,OH1YYY-3:>pakettia  "
välitetään se bandille muodossa
"OH4ZZZ-5>APZ123,WIDE2-2:}OH2XYZ-11>APZYXW-4,TCPIP,OH4ZZZ-5*:>pakettia  "
jossa APZ123 on igate-ohjelmiston käyttämä/tunnistava kohdeosoite, WIDE2-2 igaten käyttämä polku ja OH4ZZZ-5 igaten kutsu, joka siis toistuu sekä AX.25 headerissa, että paketin sisällössä. TCPIP "sisemmän" paketin polussa kertoo että paketti tuli internetistä. Paketin alkuperäinen polku siis poistetaan kokonaan tilaa viemästä.