AX.25 protokoll

Innen: HamWiki
A lap korábbi változatát látod, amilyen HG2ECZ (vitalap | közreműködések) 2006. augusztus 5., 16:53-kor történt szerkesztése után volt. (→‎Mi az AX.25 protokoll)
Ugrás a navigációhoz Ugrás a kereséshez

Az AX.25 a legelterjedtebb amatőrrádiós adatátviteli csomagkapcsolt (packet) protokoll. A protokoll részletes angol nyelvű leírása a http://www.tapr.org/pdf/AX25.2.2.pdf címen érhető el. Alábbiakban ennek legfontosabb elemei kerülnek ismertetésre.

Története

  • Az AX.25 protokoll múltja 1978-ra tekint vissza.
  • Az AX.25 protokoll 2.0-ás változatát 1984-ben adták ki. Ez a verzió terjedt el nagyon széles körben.
  • 1997-ben apró finomításokkal kijött az AX.25 protokoll 2.2-es változata.

Mi az AX.25 protokoll

Az AX.25 protokoll adatkapcsolati réteg protokollja. Az alábbi ábra szemlélteti, hogy hol helyezkedik el.

4. Alkalmazások (alkalmazási réteg) Mai napig formázó nyelv mentesen, egyszerű szöveges alapon ragadt.
3. Útvonalválasztás vagy egyszerű üzenetszórás (Hálózati réteg) Néha az alkalmazáson keresztüli CALL-al van helyettesítve.
2. AX.25 (adatkapcsolati réteg) Feladata a adatok keretezése és hibás adatátvitel esetén az alacsonyszintű keretismétlés megvalósítása. Érdekes, hogy a DAMA protokoll nem lett szerves része az AX.25 protokollnak.
1. modulátor (Fizikai réteg) 1984 óta változatlanul az 1200 bps-es AFSK a legelterjedtebb. De létezik FSK és QAM modulátor is. Utóbbi sajnos igen ritkán látható.

AX.25 keretezés

Az AX.25 protokoll bitbeszúrásos technikát használ, a keretező bitminta 0111 1110, amely a csomag elején és végén egyaránt megtalálható. Azonban belátható, hogy az adatcsomagban is előfordulhat 0x7e értékű byte, ami problémát okozhatna. Ezért adó oldalon 5 db egymás utáni 1-es érték után egy "parazita" 0 értéket szúrnak be. Vétel során 5 db egymás után következő 1-es utáni karaktert egyszerűen eldobja a vevő.

A bitszintű modulátornál mellesleg a jelszint helyett állandó jel illetve a jelátmenet jelzi az 0-át illetve az 1 értéket. Ezt NRZI kódolűsnak nevezik. Előnye: polaritásfüggetlen. Továbbá a statikus/dinamikus megkülönböztetés sokkal célszerűbb megoldás kommunikációs rendszerek esetén. Az NRZI kódolás alkalmazásával sem az AX.25 specifikáció foglalkozik.

Adatcsomag felépítése

Az adatcsomag általánosságban az alábbiak szerint épül fel:

Keretezés Címzés Vezérlő Csomagtíőpus függő rész Ellenőrző kód Keretezés
01111110 112/224(560)bit 8/16 bit (PID,) adat 16bit 01111110
  • Keretezés (Flag, jelzőzászló): A keret elejét és végét jelző bitsorozat, 1 byte hosszú és mindig 0111 1110 alakú. Két egymást követő keret használhat közös flag-et, ebben az esetben ugyanaz a flag jelzi az első keret végét és a következő keret elejét.
  • Címzés (Address): A címzés mező definiálja mind a feladó mind a címzett címét, valamint esetleges 2-es rétegbeli átjátszók címét. Ez a mező almezőkre oszthatók, amelyek egy-egy címet tartalmaznak. A cím mindig 7 byte hosszú, az első 6 byte hívójel formátum, azaz nagybetűs alfanumerikus ASCII karaktereket, illetve rövidebb hívójelek esetén a maradék byte-okon szóközöket tartalmazhat. A hetedik byte az ún. SSID (Secondary Station Identifier) másodlagos állomás azonosító amely ugyanazon hívójel al-állomásait különbözteti meg. Az SSID a hetedik byte 1-4 bitjein van ábrázolva amely így 16 különböző (0-15) al-állomás megkülönböztetését teszi lehetővé. Az AX.25 legújabb 2.2 verziója már csak maximum 2 átjátszó állomást enged meg, míg az előzőleg publikált és a szoftverek túlnyomó részében megvalósított 2-es verzió hetet.
  • Vezérlő (Control): A vezérlő mező határozza meg, hogy milyen típusú keretről van szó (I, U, S - lásd következő részben), illetve sorszámozott keretek esetén a keret sorszámát és még egyéb információkat, pl Poll (kérés) illetve Final (a pollra adott válasz).
  • Kerettípusfüggő rész: Lásd alább a kerettípusok ismertetésénél.
  • Keret ellenőrző kód (FCS Frame-Check Sequence): A HDLC ajánlása alapján számolt sorozat, amelyet mind az adó és a vevő is előállít annak érdekében, hogy megállapítsa vajon az adott keretben előfordult-e hiba.

Címzés

Vezérlő

Vezérlő típusa vezérlő bitjei
7 6 5 4 3 2 1 0
I keret N(R) P N(S) 0
S keret N(R) P/F S S 0 1
U keret M M M P/F M M 0 1

A táblázatból látható, hogy 3 féle kerettípus létezik. A típusokat alább a Kerettípusok részben lesznek részletesen ismertetve. Azonban figyeljük meg, hogy a legalsó illetve a legalsó 2 bit jelzi a kerettípust.

Az AX.25 érdekessége, hogy I illetve S keretek esetén van alacsony szintű sorszámozás és I csomag továbbítása esetén alacsonyszintű ismétléskérés. Az I keret esetén távolról vett( N(R) ) és küldendő ( N(S) ) keretsorszám egyaránt megtalálható, míg szolgálati keret esetén csak távolról vett ( N(R) ) van. Itt a parancsduplikáció elkerülésére szolgál. Az I keret esetében azonban az átviteli késleltetésből eredő lassulást hivatott csökkenteni, ugyanis maximum 8 keret lehet a „levegőben”, amelyre csoportos nyugta is adható. Igen ritka esetben a 8 helyett 128 keretenként nyugtázható „ablakot” használnak, amit az AX.25 protokoll szintén leír.

  • S keret esetén 2 bit (S S) jelzi a parancsot, amely lehet
    1. RR: Receive Ready, azaz minden oké, a vevő vételkész. Ez egyben az adott keretszámra minden oké nyugta is.
    2. RNR: Receive Not Ready, azaz a vevő (TNC) vételi puffere teli, ne küldjön az adó több adatot
    3. REJ: Reject: Ez a keretsorszámig már nem érkezett meg rendesen, csak az előző 1-8. Innentől tehát ismétlést kér a vevő.
    4. SREJ: Selective Reject: Egy adott sorszámú keret ismétlésének kérelme.
  • U keret esetén 5 bitnyi (MMM MM) vezérlőkód lehetséges, amely az alábbi fontos dolgokat szállítja:
    1. UI: Sorszámozatlan keret (Unnumbered Information) - hasonló a TCP/IP UDP csomagjához. Nyugtázatlan böfögött csomag, amely vagy megérkezik, vagy nem. Erre a csomagtípusra épít az APRS.
    2. SABM: I csomaghoz csatlakozáskérelem és csomagszámláló nullázás (Set Async Ballanced Mode). Létezik SABME parancs is, amely esetén a csatlakozás nem 3 bites keretszámlálóval, hanem 7 bites keretszámlálóval történik. Ez ritkábban használt mód.
    3. DISC: lecsatlakozás kérelem (Disconnect). Kapcsolat lebontásakor küldi a terminálszoftver.
    4. DM: (Disconnect Mode) - disconnect parancs hatására ez a válasz.
    5. UA: Nyugta (Unnumbered Acknowledge) - általános nyugta. Normál esetben ezek a nyugták röpködnek a számítógépek közt az I csomagok mellett.

Poll/Final bit szerepe az előzőekben lett ismertetve. Érdekességként megemlítendő, hogy Disconnect Mode esetén a SABME és UI csomagok kivételével mindegyikre "1" értékkel válaszol, jelezve hogy félig lecsatlakozott állapotban van a kliens.

Kerettípusok

Az AX.25 három féle csomagtípust ún. keretet (frame) definiál:

  1. I (Information) információs keret;
  2. S (Supervisory) felügyelő keret;
  3. U (Unnumbered) sorszámozatlan keret.
S és U keret felépítése
Keretezés Címzés Vezérlő Adat Ellenőrző kód Keretezés
01111110 112/224(560)bit 8/16bit N*8bit 16bit 01111110
I keret felépítése
Keretezés Címzés Vezérlő PID Adat Ellenörző kód Keretezés
01111110 112/224(560)bit 8/16bit 8bit N*8bit 16bit 01111110


  • PID - Protokoll azonosító (Protocol Identifier): A 3-as rétegben használt protokollt azonosítja. Lásd később a PID leírásánál.
  • Adat (Info, információ): Maga a hasznos információ, amit át akarunk vinni. Maximum 256 byte hosszú, és a byte egész számú többszöröse lehet. Ez a két feltétel a bit beszúrás előtti állapotban érvényes.

PID