2. A protokol

1. A csomagrádiózás története

A csomagrádiózás alapját az a felismerés képezi, hogy a hagyományos módszerek a rádiócsatornát igen rossz hatásfokkal hasznosítják, elpazarolva a rendelkezésre álló kapacitás jelentős részét. Egyetlen 80 karakterből álló sor továbbítása 1200 bit/s sebesség mellett fél másodpercet vesz igénybe, míg e sornak a begépelése a terminálon ennek legalább az ötvenszeresét.

Emiatt célszerű az átvitelre szánt adatokat, illetve annak részeit összegyűjteni és nagyobb sebességgel, egyszerre továbbítani. Az így fennmaradó időt más állomások használhatják fel, vagyis egyfajta időosztást valósítunk meg.

Azért, hogy az időosztást megvalósíthassuk, gondoskodni kell az egyes állomások által továbbított üzenetek hosszának korlátozásáról. Ezt amiatt is célszerű megtenni, hogy a csatorna zajából, illetve a zavaroktól adódó csomagsérülések mértékét elfogadható szinten tarthassuk.

Minden egyes csomagnak tartalmaznia kell a továbbításhoz szükséges címeket ( hívójeleket ), valamint olyan járulékos információt, ami alapján eldönthető, hogy a csomag sérült-e vagy sem.

Valamilyen módon gondoskodni kell arról is, hogy a sérült, vagy zavarok miatt elveszett csomagok ismételten adásra kerüljenek, valamint arról, hogy megfelelő sorrendben érkezzenek meg a címzetthez. Az ehhez szükséges előírásokat, eljárásokat rögzíti a protokol.

2.1. Az ISO OSI referencia modell

A Nemzetközi Szabványügyi Hivatal ( ISO ) 1978-ban kidolgozta a Nyitott Rendszerek Összekapcsolásának ( OSI ) referencia modelljét, amely lehetővé teszi a kapcsolatot a kommunikációs eszközök széles választéka között. Ennek érdekében az összeköttetés hét rétegét definiálták.

Az egyes rétegek önálló protokolt használnak. Felépítésük modul rendszerű és független a többi rétegétől, így önállóan fejleszthetők, ellenőrizhetők illetve szükség esetén kicserélhetők a többi réteg módosítása nélkül. A rádióamatőr hálózat is ezt a felépítést követi, ezért a továbbiak megértéséhez meg kell vele ismerkednünk.

Alkalmazási 7.
Ábrázolási 6.
Együttműködési 5.
Szállítási 4.
Hálózati 3.
Adatkapcsolati 2.
Fizikai 1.

ISO OSI szerinti rétegezés

2.1.1. Fizikai réteg ( Physical Layer )

Erre a rétegre tartozik az egyes bitek továbbítása. A rádió, a modemek, az adatátviteli közeg és a különböző elektromos szabványok, mint pl. az RS-232 vagy a V.24 V.28, vagy a csatornához való hozzáférés, mind a fizikai réteggel függenek össze.

2.1.2. Adatkapcsolati réteg ( Link Layer )

Ennek a rétegnek a feladata a keretbe szervezett bitek ( frame ) továbbítása. Legismertebb megvalósítása az ISO High-Level Data Link Control ( HDLC ) protokolja. Gondoskodik két állomás között a kapcsolat felépítéséről és bontásáról, az adatok hibamentes átviteléről. Ezt a szintet definiálja az AX.25 protokol.

2.1.3. Hálózati réteg ( Network Layer )

A hálózati réteg foglalkozik a címzéssel, az útvonalkereséssel, az adatkapcsolati szintű csomagok multiplexelésével és az adatáramlás vezérlésével.

2.1.4. Szállítási réteg ( Transport Layer )

A szállítási réteg feladata a hálózat két pontja közötti információátvitel vezérlése. Gondoskodik a csomagok megfelelő sorrendjéről, a hálózat által esetleg "eltördelt" csomagok összerakásáról.

2.1.5. Együttműködési réteg ( Session Layer )

Ez a réteg kezdeményezi és zárja le a kommunikációt a hálózaton keresztül, kezeli a hálózati bejelentkezéseket, ellenőrzi a felhasználói jogosultságot.

2.1.6. Ábrázolási réteg ( Presentation Layer )

Az ábrázolási réteg végzi el a szükséges kódkonverziót, a képernyő formátumok illetve vezérlő kód struktúrák átalakítását, valamint kezeli az adatok cseréjét a háttértároló eszközökkel.

2.1.7. Alkalmazási réteg ( Application Layer )

Ez a legfelső, alkalmazási réteg tartalmazza a felhasználói szoftvert, ami az esetek zömében egy BBS, vagy valamilyen adatbáziskezelő rendszer.

A gyakorlatban ezek a rétegek nem feltétlenül különülnek el egymástól és az sem biztos, hogy valamennyi megvalósításra kerül. Nyilvánvaló, hogy a két alsó fizikai és adatkapcsolati rétegnek minden TNC-ben meg kell lenni, hogy egyáltalán át lehessen vinni az adatokat két állomás között.

A hálózati és szállítási réteg már csak a rendszer speciális elemeinél jelenik meg, mint pl. a NET/ROM és FlexNet típusú hálózati csomópontok, vagy a TCP/IP állomások. Ezek egymástól eltérő módon működnek, azonban valamennyi a közös, AX.25 protokolt használja az adatkapcsolat létrehozására.

Nem használjuk az együttműködési réteget és el szokott maradni az ábrázolási réteg is, az ASCII kód általános elterjedtsége miatt.

A legfelső, alkalmazási réteg az, amelyik fogadja, illetve előállítja az átvivendő adatokat. Ez lehet egy BBS, a hálózati csomópont parancsértelemezője vagy akár egy TNC-t használó operátor.

2.2. A fizikai réteggel összefüggő megfontolások

Vizsgáljuk meg részletesebben, mi a feladata az OSI modell 1. rétegének és azt, hogyan működik az általunk használt csomagrádió rendszerben.

2.2.1. Hozzáférés a csatornához

A felhasználók a csatornát központi szervezés ( irányítás ) nélkül, véletlenszerűen veszik igénybe, a vivőérzékeléses többszörös hozzáférés ( CSMA ) szabályai szerint.

Ez azt jelenti, hogy a TNC adásra kapcsolás előtt megvizsgálja a csatorna foglaltságát - többnyire a modem vivődetektor jelét - és csak akkor kezd el adni, ha azt szabadnak találta. Ez a megoldás önmagában nem zárja ki az ütközéseket, vagyis két állomás egyidejű adását, a következő okok miatt:

A foglaltság érzékelésére a legegyszerűbb esetben a rádió zajzárát használhatjuk fel. Sajnos ez URH FM adásmódban is csak ideális, zavarmentes környezetben nyújt elfogadható eredményt, rövidhullámon pedig kivitelezhetetlen.

A mai TNC-k általában a modemek vivődetektorának jelét ( DCD ) használják fel. Ezeket a modemeket eredetileg nem rádiós, hanem telefonos célra fejlesztették ki, ezért zajos, zavart csatornán - nyitott zajzár, rövidhullám stb. - nem működnek megbízhatóan.

A legjobb megoldás az, ha a modem adatkimenetén figyeljük, megfelel-e az ott előálló jel szerkezete, időzítései annak, amit várunk. Az erre szolgáló áramköröket utólag kell beépíteni a TNC-be. Hogy hogyan, arról később lesz szó.

Foglalt csatorna esetén többféle taktikát lehet választani. A régebbi TNC programok a csatorna felszabadulása után valamennyi időt ( DWait ) várnak az adás megkezdéséig. Ha ekkor nem sikerül a csomag továbbítása, legközelebbi alkalommal ezt az időt egy véletlenszerűen sorsolt idővel meghosszabbítják.

Az újabb berendezések a p-valószínűséggel kitartó ( p-persistent ) eljárást használják. Ez szabad csatorna esetén "p" valószínűséggel megkezdi az adását, illetve "1-p" valószínűséggel elhalasztja egy időrésnyi időre.

Ennek letelte után újból megvizsgálja a csatornát. Ha az szabad, megismétlődik az előző eljárás, míg foglaltság esetén megvárja az adás végét, majd a fentiek szerint jár el. Ennek az eljárásnak két paramétere van, a szeletidő ( Slot Time ) és a p-valószínűség.

Ezt a módszert használja valamennyi TheNet hálózati csomópont és a WA8DED-féle TNC2 szoftver is. Ez utóbbi megoldás a csatorna jobb kihasználását eredményezi, ezért aki teheti ezt válassza.

Az egymást nem halló állomások, a rejtett terminálok okozta probléma megoldható lenne teljes duplex csomópontok használatával, mint amilyenek a hagyományos FM átjátszók, ahol a lejövő ág egyúttal a felmenő csatorna foglaltságát is jelzi. Ez azonban a költségek, másrészt a használható csatornák hiányában ma megoldhatatlan.

2.2.2. Modemek

A digitális adatjelek közvetlenül nem alkalmasak rádión keresztüli átvitelre, azokat előbb egy modem ( modulátor - demodulátor ) segítségével megfelelő hangfrekvenciás jelekké kell alakítani. A modemek legfontosabb paramétere a modulációs sebesség, aminek mértékegysége a baud. Az általánosan használt FSK modemeknél ez megegyezik az adatátviteli sebességgel, aminek a mértékegysége a bit/s.

Az általános rádióamatőr gyakorlatban URH-n az 1200 baud sebességű FSK modemek terjedtek el, melyek megfelelnek a vezetékes adatátviteli szabványoknak. Ezt a választást a megfelelő speciális integrált áramkörök, illetve kész modemek beszerezhetősége indokolja. Ezek a modemek nem igénylik a rádió átalakítását, és megfelelően működő hálózat esetén elég gyorsak is.

Az adatátviteli sebesség két módon növelhető. Az egyik a telefontechnikában szokásos többállapotú moduláció használata, mely egy modulációs ütem alatt egynél több bitet visz át, azonos sávszélesség mellett. Ezek a megoldások egyrészt drágák, másrészt a csomagok elején szükséges hosszú szinkronizálási idő miatt kétséges az eredmény. Ellenük szól az is, hogy működésükhöz jobb jel-zaj viszony szükséges.

A másik lehetséges út a nagyobb sávszélesség használata. Ez azonban már speciális rádiót igényel, és olyan mikrohullámú frekvenciát, ahol erre - a nagyobb sávszélességre - lehetőség van. A kompromisszumot a 9600 baud jelenti, amivel a 432 MHz-es sávban mind a földi, mind a műholdas alkalmazásokban találkozhatunk.

Ezek nem közvetlen felhasználói hozzáférésre, hanem a rendszer belső forgalmának lebonyolítására szolgálnak. A legismertebb G3RUH 9600 baud-os, valamint a HAPN 4800 baud-os modemje. A YU hálózatban ennél is továbbmentek, az ottani sebesség 38400 baud. Az USA-ban pedig kísérleteket folytatnak több Mbit/s-os linkek kialakítására, amelyek az elképzelések szerint integrált beszéd-, adat- és képátvitelt tesznek majd lehetővé.

Rövidhullámon s 300 baud-os sebesség használatos, kivéve a 29 MHz-es sávot, ahol találkozhatunk 1200 baud-os FM állomásokkal is. RH-n a rádiót SSB állásban használjuk, az RTTY adásmódhoz hasonlóan. Emiatt nincs különösebb jelentősége a modem szabvány választásának, ha kompenzálható a két segédvivő közötti különbség. URH-n - ahol FM készülékkel dolgozunk - fontos a segédvivők pontos értékének betartása.

2.2.3. Alapsávi jelkódolás

Ellentétben az RTTY-nal, a csomagrádiós rendszerekben az adatjeleket nem közvetlenül vezetik a modemhez, hanem előbb egy alapsávi kódolásnak vetik alá és NRZI ( nullába nem visszatérő, invertált ) jellé alakítják.

Az NRZI jelben a 0 bitet a jel szintjének változása hordozza, míg 1 értékű bit-nél nincs változás. Az NRZI jel polaritásfüggetlen, azaz nincs jelentősége a jel abszolút értékének, illetve a löket irányának. Ez a megoldás a gyakorlatban számos előnnyel jár.

NRZI kódolás

2.2.4. Áramköri átkapcsolási idő

A csomagrádió hálózat paramétereit meghatározó jellemző az az idő is, amelyre a rádiónak szüksége van a vételről adásra, illetve az adásról vételre történő kapcsolásra. Korszerű készülékeknél ez 10 .. 40 msec, míg a régi csöves berendezéseknél elérheti az 500 msec-ot is.

Ennyivel előbb kell a rádiót adásra kapcsolni, mielőtt egyetlen bitet is kiadnánk ( TXdelay ). Utóbbi érték már 300 baud-nál is összemérhető a rövidebb csomagok teljes idejével, így jelentősége nem igényel különösebb magyarázatot.

A rádió által megkövetelt időn kívül szerepe lehet még a rádióhullámok terjedési idejének is. Ezt azonban az igen nagy távolságú rövidhullámú és egyes műholdas összeköttetések kivételével elhanyagolhatjuk.

2.3. Az AX.25 protokol

A csomagrádió üzemmód alapköve az AX.25 protokol, amely az OSI modell szerinti második, adatkapcsolati réteg ( Link Layer ) feladatait látja el. Ez felel két állomás között a hibamentes átvitelért, az összeköttetés felépítéséért és lebontásáért.

A protokol jelenleg érvényes 2.0-ás változatát 1984 októberében tette közzé az ARRL, az amerikai rádióamatőr szervezet. A közben eltelt idő a protokol számos hiányosságát felszínre hozta, azonban olyan tömegesen terjedtek el az AX.25 szerint működő eszközök, hogy gyakorlatilag lehetetlen - legalábbis a felhasználói berendezéseket tekintve - egy új, jobb eljárás bevezetése, így várhatóan még sokáig fogunk találkozni vele.

Ez azonban nem zárja ki az újabb, AX.25-tel nem kompatibilis adatkapcsolati protokolok megjelenését.

Maga a név onnan származik, hogy az AX.25 elveiben a CCITT X.25-ös, csomagkapcsolt adatátviteli hálózatokra kidolgozott ajánlását követi, a rádióamatőr alkalmazásból szükségszerűen következő módosításokkal. A legfontosabb eltérés a címmező kibővítése volt és az UI típusú, sorszámozatlan információs keret bevezetése.

Az adatot, illetve a szükséges vezérlő információt a keret, frame hordozza, aminek a felépítése a következő:

Flag Cím Vezérlés FCS Flag
01111110 112 .. 560 bit 8 bit 16 bit 01111110

Az U és S keretek felépítése

Flag Cím Vezérlés Info FCS Flag
01111110 112 .. 560 bit 8 bit 8 .. 2056 bit 16 bit 01111110

Az I keretek felépítése

A kereteket a flag fogja közre, melynek értéke mindig 01111110, azaz $7E. Annak biztosítására, hogy a keret belsejében ne forduljon elő hat darab egymást követő 1-es, ami a keret határainak téves megállapítását eredményezné, az adó minden egymást követő öt 1-es után beszúr egy 0-ás bitet, amit a vevő automatikusan eltávolít. Ezt az eljárást nevezik angolul bit stuffing-nak.

A címmező tartalmazza a keret címzettjének és feladójának, valamint az esetleg használt, legfeljebb nyolc digitális átjátszónak a hívójelét. Minden egyes hívójel hét byte-ból áll. Az első hat tartalmazza a hívójel ASCII karaktereit, míg az utolsó a másodlagos állomás azonosító, az SSID. Ez lehetővé teszi 16 különböző, azonos hívójellel működő eszköz megcímzését.

A változó hosszúságú címmező végét az utolsó SSID legalsó helyiértékén álló 1-es bit jelzi, ezért a hívójel karakterei egy bittel balra tolva kerülnek a keretbe. Az SSID byte további bitjei különféle vezérlési információkat hordoznak, mint pl. digitális átjátszó címénél a keret ismétlését jelző bit.

A vezérlés mindig egy byte hosszúságú és a keret típusát határozza meg. Jelzi, hogy kapcsolat felépítésére vagy bontására, információ nyugtázására stb. szolgál. Három típusa van, az U, S és I.

Az FCS ( frame-check sequence ) egy 16 bit hosszúságú szám, mely a keret előző byte-jainak értéke alapján kalkulálódik. Segítségével vételkor eldönthető, hogy a frame tartalma sérült-e vagy nem. Technikai nyelvre fordítva az FCS egy 16 bites CRC.

Az eddig felsorolt mezők minden keretben előfordulnak. Az I és UI információs keretekben egy további mezőt használunk, amely a továbbítandó információt tartalmazza, aminek a hossza nem lehet több 256 byte-nál.

A mező első byte-ja a PID, a protokol azonosító. Ez jelzi, melyik magasabb szintű protokol adatai vannak a keretben. Ha nincs ilyen, akkor a byte értéke $F0. A NET/ROM $CF-et, a FlexNet $CE-t, míg a TCP/IP $CC-t és $CD-t használ.

2.3.1. Az U típusú keretek

Az U típusú keret, másnéven sorszámozatlan ( unnumbered ) keretek elsősorban az összeköttetés kezdetén és végén játszanak szerepet.

U . SABM - Set Asynchronous Balanced Mode

Ezzel jelzi a keret küldője, hogy összeköttetést akar létesíteni a címzettel. Az erre adott válasz egy UA keret elfogadáskor, visszautasításkor pedig DM.

U . DISC - Disconnect

Egy korábban felépített kapcsolat bontását kérő keret. A címzett erre UA kerettel vagy DM-el válaszol, ha a bontás már korábban megtörtént.

U . UA - Unnumbered Acknowledge

Sorszámozatlan nyugtázás, a SABM vagy DISC keretek elfogadását jelzi.

U . FRMR - Frame Reject

Akkor kerül adásra, ha a vevő nem tudja feldolgozni a vett keretet. Ennek oka lehet hibás szoftver a másik állomásnál vagy más, elvétve előforduló speciális körülmény.

U . UI - Unnumbered Information

Ellentétben az előző U frame-ekkel, az UI információs mezőt is tartalmaz. Ezeknek a célbaérkezését az AX.25 nem garantálja. Általában jeladó ( beacon ) szövegek továbbítására, vagy speciális információk átvitelére használják, pl. a NET/ROM hálózati csomópontok az útvonal információk terjesztésére.

2.3.2. Az S típusú keretek

Az S típusú felügyelő ( supervisory ) keretek az információ áramlást vezérlik az összeköttetés alatt. Mindegyik frame tartalmazza a soron következő információs keret sorszámát. Ebből az ellenállomás meg tudja határozni, történt-e csomag vesztés vagy sem.

A keretek számlálása három biten történik. Ebből következik, hogy egyszerre legfeljebb hét nyugtázatlan információs keret lehet a levegőben. Ez egyúttal azt is jelenti, hogy nem szükséges a keretek egyenkénti nyugtázása, az össze is vonható.

S . RR - Receiver Ready

Ezzel jelzi a küldő, hogy kész újabb információ vételére, illetve nyugtázza a korábban vett I kereteket.

S . RNR - Receiver Not Ready

Azt jelzi, hogy az állomás a továbbiakban nem tud információt fogadni. Ennek oka többnyire az, hogy a feldolgozást végző számítógép vagy esetleg a terminál még nem vette át az adatokat.

S . REJ - Reject

Információs keretek adását kéri a megadott sorszámtól, egyúttal nyugtázza az azt megelőzőket.

2.3.3. Az I típusú keret

Ezt a csoportot egyetlen keret, az I képviseli. Ez hordozza magát az információt is. A csomag két sorszámot tartalmaz: az egyik az S kereteknél megismert vételi sorszám, a másik pedig az adott I kereteknek a sorszáma, szintén három biten. Az információs mező első byte-ja a PID, vagyis protokol azonosító. Az adatok hossza legfeljebb 256 byte lehet.

2.3.4. A keretek további variációi

A keretek további információkat is hordoznak, ezek az összeköttetés vezérlésére szolgálnak. Közülük a legfontosabb a P/F ( Poll / Final ) bit. Ha ennek értéke 1, akkor a címzettnek késedelem nélkül válaszolnia kell, míg a 0 érték magát a választ jelzi. Előbbire példa a SABM vagy a DISC, utóbbira pedig az UA.

További megkülönböztetést jelent a C/R ( Command / Response ) bit. A bit 1-es értéke parancs frame-t, a 0 az erre adott választ jelenti. Ennek különböző hibaállapotok feloldásánál van jelentősége.

Ezeket a biteket a legtöbb TNC program valamilyen, egymástól eltérő módon kijelzi monitor üzemben.

2.3.5. Időzítők

Az AX.25 az összeköttetés épségének fenntartására három időzítőt ( timer ) definiál.

Az első, a T1 azt biztosítja, hogy az állomás ne várakozzon örökké a válaszra. A várakozási idő pontos értéke nehezen határozható meg, de legalább kétszeresének kell lennie annak az időnek, amire szükség van a maximális hosszúságú I keret és az arra adott nyugtázás továbbításához. Digitális átjátszók használatakor T1 értéke az átjátszók számának megfelelően korrigálódik.

A második, T2 időzítő az I keret vétele és az erre adott nyugtázás között eltelt idő maximumát határozza meg. Használata nem kötelező, de a csatorna jobb kihasználásának növelése érdekében javasolt.

A harmadik, T3 időzítő akkor működik, amikor T1 nem, vagyis az összeköttetés inaktív szakaszaiban. Ha a T3 által előírt ideig semmilyen keret nem érkezik a másik állomástól, RR vagy RNR keret küldésével meggyőződik a kapcsolat meglétéről.

Az időzítőkhöz kapcsolódik egy további paraméter, a maximális ismétlési szám. Ez azt határozza meg, hogy a válasz elmaradása esetén hányszor kerüljenek a keretek megismétlésre. Ennek a számnak az elérésekor a berendezések hibaüzenetet adnak, majd alapállapotba kerülnek, mintha a DISC paranccsal bontásra került volna a kapcsolat.

Egy AX.25 kapcsolat másik két paramétere közül az egyik a nyugtázatlan I keretek számát, a másik pedig az egy I keretben átvihető adatbyte-ok számát adja meg. Habár a protokol megengedi hét információs keretből álló csomag küldését, a gyakorlatban ennek kihasználása általában rontja az átviteli jellemzőket.

A legjobb eredményt az 1 szokta adni félduplex linkek esetén, különösen akkor, ha nagyobb mennyiségű adatot viszünk át, programot cserélünk. Rövid csomagok, terminál - terminál kapcsolat esetén próbálkozhatunk nagyobb értékekkel is, azonban ekkor se állítsunk be 4-nél többet.

URH-n célszerű minél több adatot átvinni egy I keretben, de ekkor se lépjük túl a 230-at. Az ennél hosszabbakat a NET/ROM hálózati csomópontok két részre osztják, ezáltal romlik az átvitel hatásfoka.

3. A TNC


▲ Index↑ Index
Verzió: 2021-04-04 ( 2006 .. 2011-11-15 01:09:48 UTC )
Visszajelzés: