„AX.25 protokoll” változatai közötti eltérés
a (AX.25 átnevezve AX.25 protokoll névre) |
|||
(19 közbenső módosítás, amit 4 másik szerkesztő végzett, nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | Az AX.25 protokoll részletes leírása a http://www.tapr.org/pdf/AX25.2.2.pdf címen | + | 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 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. A szabványos [http://en.wikipedia.org/wiki/X.25 X.25] csomagkapcsolt hálózati protokoll alapján fejlesztették ki ('''A'''mateur '''X.25'''). | |
+ | * 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 == |
− | == Csomagtípus (keretek) == | + | 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 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. | ||
+ | |- 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. | ||
+ | |||
+ | Az AX.25 csomagot felépítése alább kerül ismertetésre. A legelső (baloldali) byte legalsó (0.) bitjével kezdődik az adat továbbítása. | ||
+ | |||
+ | == 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):''' Itt található a címzett és a feladó továbbá a közbenső ismétlőállomások hívójelei. A hívójel 6 karakteres + fél byte-ban egy úgynevezett SSID, amely 0..15-ig terjedő értékkel 16 független csatlakozást tesz lehetővé ugyanazon címzett és feladó között. Bővebben erről a ''Címzés'' részben. | ||
+ | * '''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. Az AX.25 a [[CRC-CCITT]] hibadetektáló kódot fűzi a keret végéhez. | ||
+ | |||
+ | === Címzés mező kódolása és működése === | ||
+ | |||
+ | A címzés mező definiálja mind a címzett és a feladó címét. Ezen túlmenően lehetőséget biztosítottak arra, hogy közvetítő állomáson keresztül legyen címezve az adatcsomag. Ekkor a címzett és a feladó hívójelén kívül a közvetítőállomások is szerepelnek a címzés mezőben. A válaszcsomag szintén ezeken a közvetítőállomásokon keresztül tér vissza, csak fordított sorrendben. Eredetileg 8 közbenső állomást engedett meg az AX.25-2.0 protokoll leírás, azonban az AX.25 2.2-es protokoll leírása 2-ben maximalizálta a közbeékelhető közvetítőállomások számát. | ||
+ | |||
+ | A címzett, a feladó illetve a közbenső állomás címe mindig 7 byte hosszú, ahol a első 6 byte hívójel nagybetűvel írva. 6-nál rövidebb hívójel esetén a maradék helyre szóköz kerül. Mindez 1 bittel balra tolva lett belekódolva a csomagba. A hetedik byte alsó 1..4 bitje az ún. SSID (Secondary Station Identifier), azaz másodlagos állomás azonosító amely ugyanazon hívójel 0..15-ig számozott al-állomásait jelöli. Ez azt jelenti, hogy egyazon címzett egyazon feladó közt 16 db virtuális kapcsolat építhető fel egyidejűleg egymástól függetlenül. | ||
+ | |||
+ | Példa egy címmezőre: | ||
+ | {| border="1" align="center" style="text-align:center" | ||
+ | ! !! Címzett !! Feladó | ||
+ | |- | ||
+ | | '''Logikailag:''' || HA5OB-0 || HG2ECZ-4 | ||
+ | |- | ||
+ | | '''Csomagba kódolva:''' || 0x90 0x82 0x6a 0x9e 0x84 0xE0 || 0x90 0x8e 0x64 0x8a 0x86 0xb4 0x69 | ||
+ | |} | ||
+ | |||
+ | Mint a fenti táblázatból látszik, a hívójel minden bitje eggyel balra van csúsztatva. Az SSID-t hordozó byte azonban érdekesebb. | ||
+ | |||
+ | {| border="1" align="center" style="text-align:center" | ||
+ | ! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | ||
+ | |- | ||
+ | | C || colspan="2" | R R || colspan="4" | SSID || '''0''' | ||
+ | |- | ||
+ | | H || colspan="2" | R R || colspan="4" | SSID || '''1''' | ||
+ | |} | ||
+ | |||
+ | Ahol: | ||
+ | |||
+ | * C: parancs vagy válasz (command/response) - ha a legalsó bit 0 | ||
+ | * H: ha a legalsó bit 1, akkor a H bitet az ismétlőállomás állítja 1-re a saját hívójelénél, amikor megismételte. | ||
+ | * R: fentartott jövőbeli fejlesztésre (reserved), a két bit értéke 11. | ||
+ | * SSID: itt van az SSID 0000 (= 0) ... 1111 (= 15) értékkel. | ||
+ | * Ha nincs átjátszás, akkor a feladó mező legalsó bitje 1 értékű. | ||
+ | |||
+ | Az átjátszó tehát csak a H bitet állítja 1-re, illetve a CRC-t számolja újra. Az utolsó átjátszót az átjátszó címének SSID-jében az 0001-es érték jelöli. | ||
+ | |||
+ | === Vezérlő byte felépítése === | ||
+ | |||
+ | {| 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" | '''1 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 | ||
+ | *# 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 az alábbi fontos dolgokat szállítja: | ||
+ | *# 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]]. | ||
+ | *# 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. | ||
+ | *# DISC: lecsatlakozás kérelem (Disconnect). Kapcsolat lebontásakor küldi a terminálszoftver. | ||
+ | *# DM: (Disconnect Mode) - disconnect parancs hatására ez a válasz. | ||
+ | *# 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: | 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; | + | # I (Information) információs keret; A TCP/IP TCP csomagjához hasonlítható, de keret szinten. |
− | # U (Unnumbered) sorszámozatlan keret. | + | # S (Supervisory) felügyelő keret; Adatot nem szállít (nulla byte-os az info mezője), csak RR, RNR, REJ, SREJ jelzésre használatos. |
− | + | # U (Unnumbered) sorszámozatlan keret. A TCP/IP UDP csomagjához hasonlítható, de keret szinten. Ugyanakkor ez a csomag készíti elő az I kerettípust, azaz U keretben közlekedik a SABM (csatlakozás kérelem) és a DISC (disconnect = lebontás kérelem) parancs is. | |
− | + | ||
− | + | {| 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 === | ||
+ | |||
+ | A protokoll azonosító írja le, hogy az adat (info) rész milyen jellegű információt szállít. Ennek értékei közül néhány fontosabb: | ||
+ | |||
+ | * '''0x06''': tömörített TCP/IP csomag | ||
+ | * '''0x08''': szétdarabolt csomag. Amennyiben nem fért bele az összetartozó információs blokk egyetlen adatcsomagba. | ||
+ | * '''0xc4''': link quality protokoll - linkek adatveszteségeinek monitorozásához, útvonalválasztás meghatározásához. | ||
+ | * '''0xce''': FlexNet | ||
+ | * '''0xcf''': NET/ROM | ||
+ | * '''0xcd''': ARPA ARP (tömörítetlen) | ||
+ | * '''0xcc''': ARPA IP (tömörítetlen) | ||
+ | * '''0xf0''': nincs Layer 3 protokoll implementálva. Ez csak szöveges terminálra menő adat. | ||
+ | |||
− | [[Kategória: | + | [[Kategória:Csomagrádió]] |
− |
A lap jelenlegi, 2007. augusztus 29., 23:36-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. A szabványos X.25 csomagkapcsolt hálózati protokoll alapján fejlesztették ki (Amateur X.25).
- 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.
Az AX.25 csomagot felépítése alább kerül ismertetésre. A legelső (baloldali) byte legalsó (0.) bitjével kezdődik az adat továbbítása.
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): Itt található a címzett és a feladó továbbá a közbenső ismétlőállomások hívójelei. A hívójel 6 karakteres + fél byte-ban egy úgynevezett SSID, amely 0..15-ig terjedő értékkel 16 független csatlakozást tesz lehetővé ugyanazon címzett és feladó között. Bővebben erről a Címzés részben.
- 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. Az AX.25 a CRC-CCITT hibadetektáló kódot fűzi a keret végéhez.
Címzés mező kódolása és működése
A címzés mező definiálja mind a címzett és a feladó címét. Ezen túlmenően lehetőséget biztosítottak arra, hogy közvetítő állomáson keresztül legyen címezve az adatcsomag. Ekkor a címzett és a feladó hívójelén kívül a közvetítőállomások is szerepelnek a címzés mezőben. A válaszcsomag szintén ezeken a közvetítőállomásokon keresztül tér vissza, csak fordított sorrendben. Eredetileg 8 közbenső állomást engedett meg az AX.25-2.0 protokoll leírás, azonban az AX.25 2.2-es protokoll leírása 2-ben maximalizálta a közbeékelhető közvetítőállomások számát.
A címzett, a feladó illetve a közbenső állomás címe mindig 7 byte hosszú, ahol a első 6 byte hívójel nagybetűvel írva. 6-nál rövidebb hívójel esetén a maradék helyre szóköz kerül. Mindez 1 bittel balra tolva lett belekódolva a csomagba. A hetedik byte alsó 1..4 bitje az ún. SSID (Secondary Station Identifier), azaz másodlagos állomás azonosító amely ugyanazon hívójel 0..15-ig számozott al-állomásait jelöli. Ez azt jelenti, hogy egyazon címzett egyazon feladó közt 16 db virtuális kapcsolat építhető fel egyidejűleg egymástól függetlenül.
Példa egy címmezőre:
Címzett | Feladó | |
---|---|---|
Logikailag: | HA5OB-0 | HG2ECZ-4 |
Csomagba kódolva: | 0x90 0x82 0x6a 0x9e 0x84 0xE0 | 0x90 0x8e 0x64 0x8a 0x86 0xb4 0x69 |
Mint a fenti táblázatból látszik, a hívójel minden bitje eggyel balra van csúsztatva. Az SSID-t hordozó byte azonban érdekesebb.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
C | R R | SSID | 0 | ||||
H | R R | SSID | 1 |
Ahol:
- C: parancs vagy válasz (command/response) - ha a legalsó bit 0
- H: ha a legalsó bit 1, akkor a H bitet az ismétlőállomás állítja 1-re a saját hívójelénél, amikor megismételte.
- R: fentartott jövőbeli fejlesztésre (reserved), a két bit értéke 11.
- SSID: itt van az SSID 0000 (= 0) ... 1111 (= 15) értékkel.
- Ha nincs átjátszás, akkor a feladó mező legalsó bitje 1 értékű.
Az átjátszó tehát csak a H bitet állítja 1-re, illetve a CRC-t számolja újra. Az utolsó átjátszót az átjátszó címének SSID-jében az 0001-es érték jelöli.
Vezérlő byte felépítése
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 | 1 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
- 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 az alábbi fontos dolgokat szállítja:
- 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.
- 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.
- DISC: lecsatlakozás kérelem (Disconnect). Kapcsolat lebontásakor küldi a terminálszoftver.
- DM: (Disconnect Mode) - disconnect parancs hatására ez a válasz.
- 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:
- I (Information) információs keret; A TCP/IP TCP csomagjához hasonlítható, de keret szinten.
- S (Supervisory) felügyelő keret; Adatot nem szállít (nulla byte-os az info mezője), csak RR, RNR, REJ, SREJ jelzésre használatos.
- U (Unnumbered) sorszámozatlan keret. A TCP/IP UDP csomagjához hasonlítható, de keret szinten. Ugyanakkor ez a csomag készíti elő az I kerettípust, azaz U keretben közlekedik a SABM (csatlakozás kérelem) és a DISC (disconnect = lebontás kérelem) parancs is.
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.
PID
A protokoll azonosító írja le, hogy az adat (info) rész milyen jellegű információt szállít. Ennek értékei közül néhány fontosabb:
- 0x06: tömörített TCP/IP csomag
- 0x08: szétdarabolt csomag. Amennyiben nem fért bele az összetartozó információs blokk egyetlen adatcsomagba.
- 0xc4: link quality protokoll - linkek adatveszteségeinek monitorozásához, útvonalválasztás meghatározásához.
- 0xce: FlexNet
- 0xcf: NET/ROM
- 0xcd: ARPA ARP (tömörítetlen)
- 0xcc: ARPA IP (tömörítetlen)
- 0xf0: nincs Layer 3 protokoll implementálva. Ez csak szöveges terminálra menő adat.