AX.25 protokoll
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.
Tartalomjegyzék
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 csomagkeretezés és a LLC (Logical Link Control). Érdekes, hogy a DAMA protokoll nem lett szerves része a 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. I csomag esetén távolról vett( N(R) ) és küldendő ( N(S) ), míg szolgálati csomag esetén csak távolról vett ( N(R) ) van. Itt a parancsduplikáció elkerülésére szolgál. Az I csomag 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ó.
- S keret esetén 2 bit (S S) jelzi a parancsot, amely lehet
- RR: Receive Ready, azaz minden oké, a vevő vételkész. Ez egyben az adott keretszámra minden oké nyugta is.
- RNR: Receive Not Ready, azaz a vevő (TNC) vételi puffere teli, ne küldjön az adó több adatot
- 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ő.
- 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
Kerettípusok
Az AX.25 három féle csomagtípust ún. keretet (frame) definiál:
- I (Information) információs keret;
- S (Supervisory) felügyelő keret;
- U (Unnumbered) sorszámozatlan keret.
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 |
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.