„AX.25 protokoll” változatai közötti eltérés
a |
(bővítés) |
||
3. sor: | 3. sor: | ||
== Története == | == 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. | |
− | == | + | {| border="1" |
+ | |- bgcolor="yellow" | ||
+ | | 4. Alkalmazások (alkalmazási réteg) || Mai napig formázó nyelv mentesen, egyszerű szöveges alapon ragadt. | ||
+ | |- bgcolor="yellow" | ||
+ | | 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. | ||
+ | |- bgcolor="lightgreen" | ||
+ | | 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. | ||
+ | |- bgcolor="yellow" | ||
+ | | 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: | ||
+ | |||
+ | {| border="1" align="center" style="text-align:center" | ||
+ | ! 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 [[Karakterkódolás#ASCII_karakterek|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 '''P'''oll (kérés) illetve '''F'''inal (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ő === | ||
+ | |||
+ | {| border="1" align="center" style="text-align:center" | ||
+ | ! rowspan="2" | Vezérlő típusa !! colspan="8" | vezérlő bitjei | ||
+ | |- | ||
+ | ! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | ||
+ | |- | ||
+ | | I keret || colspan="3" | N(R) || P || colspan="3" | N(S) || '''0''' | ||
+ | |- | ||
+ | | S keret || colspan="3" | N(R) || P/F || colspan="2" | S S || colspan="2" | '''0 1''' | ||
+ | |- | ||
+ | | U keret || colspan="3" | M M M || P/F || colspan="2" | M M || colspan="2" | '''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: | Az AX.25 három féle csomagtípust ún. keretet (frame) definiál: | ||
+ | |||
# I (Information) információs keret; | # I (Information) információs keret; | ||
# S (Supervisory) felügyelő keret; | # S (Supervisory) felügyelő keret; | ||
# U (Unnumbered) sorszámozatlan keret. | # U (Unnumbered) sorszámozatlan keret. | ||
− | + | ||
− | + | {| border="1" align="center" style="text-align:center" | |
− | + | <caption>S és U keret felépítése</caption> | |
− | + | | 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 | | 01111110 || 112/224(560)bit || 8/16bit || N*8bit || 16bit || 01111110 | ||
|} | |} | ||
− | + | ||
− | + | {| border="1" align="center" style="text-align:center" | |
− | + | <caption>I keret felépítése</caption> | |
+ | | 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 | | 01111110 || 112/224(560)bit || 8/16bit || 8bit || N*8bit || 16bit || 01111110 | ||
|} | |} | ||
<br> | <br> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == PID == | + | * '''PID - Protokoll azonosító (Protocol Identifier):''' A 3-as rétegben használt protokollt azonosítja. Lásd később a [[AX25#PID|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 === | ||
[[Kategória:Konstruktőri ismeretek]] | [[Kategória:Konstruktőri ismeretek]] | ||
[[Kategória:Rádióamatőr adatátviteli protokollok]] | [[Kategória:Rádióamatőr adatátviteli protokollok]] |
A lap 2006. augusztus 5., 16:27-kori változata
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.