AX.25

Radioamatööriwikistä
Versio hetkellä 3. helmikuuta 2008 kello 17.10 – tehnyt >Oh2mqk (→‎Osoitekenttä)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

AX.25 on X.25 protokollan bastardisoitu variantti muutettuna radioamatöörikäyttöön. (Nimenomaisesti osoittaminen X.25:ssä oli ymmärretty väärin ja seuraukset ovat kanssamme...)

AX.25:ssä käytetään bittisynkronisia HDLC-kehyksiä (otettu X.25:stä), jolloin saadaan synkronisen kehys-orientoidun bittisiirron edut - selkeä bittiläpinäkyvä pakettirakenne ja perään vielä siirtokerrokseen kiinteästi kuuluva CRC -tarkistussumma.

HDLC:n mukaisesti kehys lähetetään tavujärjestyksessä siten, että kunkin tavun alin ("nolla") bitti lähetetään ensiksi.

OSI-mallin kerrokset

ISO määritteli Open Systems Interconnection (OSI) mallin yhteydessä refrenssimallin, jonka mukaan kuvataan tietojärjestelmien yhteensovittamista. Mallin tärkeimpiä ominaisuuksia on kerrostaminen, jolla jaetaan tämä protokollamalli loogisiin kokonaisuuksiin. Kerrosten välillä kommunikaatio tapahtuu "Service Access Point (SAP)" palveluiden kautta. Käytännön implementaatioissa mitkä tahansa kerrokset voivat olla täysin tyhjiä, jos niille ei ole tarjolla mitään toteutusta. Esim. TNC-laitteissa on yleensä vain kerrokset 1, 2 ja 7.

Kerros Tehtävä
7 Sovellus
Application
6 Esitystapa
Presentation
5 Sessio
Session
4 Kuljetus
Transport
3 Verkko
Network
2 Data Link
1 Fyysinen
Physical

AX.25 malli

OSI-mallin kaksi alinta kerrosta voidaan jakaa AX.25:llä seuraavasti useiksi erillisiksi tilakoneiksi. Oheinen kaavio esittää myös yhteyden yhteen ainoaan radioon.

Kerros Tehtävä(t)
Data Link (2) Segmentointi Management
Data Link
Data Link
Link Multiplexer
Physical (1) Physical
Silicon/Radio

Haluttaessa AX.25-yhteyden yli useita datavirtoja (streams), monistetaan link-multiplexerin yläpuolella olevia tilakoneita yksi jokaiselle datavirralle.

Kehysrakenteet

Linkkitasolla pakettiradio lähettää pieniä datalohkoja, joita kutsutaan kehyksiksi (frame(s)).

AX.25:ssä on kolmea päätyyppiä olevia kehyksiä:

  1. I-kehyksiä (Information frames)
  2. S-kehyksiä (Supervisory frames)
  3. U-kehyksiä (Unnumbered frames)

Jokainen kehys koostuu useammista pienemmistä ryhmistä, joita kutsutaan kentiksi (fields).


U- ja S-kehysten rakenne
Flag Address Control Info FCS Flag
01111110 112/224 bittiä 8/16 bittiä N*8 bittiä 16 bittiä 01111110
I-kehysten rakenne
Flag Address Control PID Info FCS Flag
01111110 112/224 bittiä 8/16 bittiä 8 bittiä N*8 bittiä 16 bittiä 01111110

Alempana kerrotaan muutamista kentistä tarkemmin, mutta:

  • Flag = HDLC:n Flag, joka aloittaa ja lopettaa kehyksen. Jos linkki on ns. idle, HDLC-linkillä lähetetään vain perättäisiä Flag:eja (tai radio on hiljaa.)
  • FCS = HDLC:n Frame Check Sequence - CCITT-CRC-16 tarkistussumma.
  • Address: Ks. Osoitekenttä alempana.
  • Control: Ks. Kontrollikenttä alempana
  • PID: Ks. Protokollatunnistekenttä alempana
  • Info: Ks. Datakenttä alempana

Osoitekenttä

Osoitekenttä (Address Field) identifioi sekä kehyksen lähettäjän asematunnuksen, että sen tarkoitetun vastaanottajan asematunnuksen. Lisäksi kehyksissä on komento/vaste informaatiota ja tukea 2. kerroksen ripiitterien tekoon.

Asematunnukset ovat ASCII-koodattuja isoja kirjaimia ja numeroita, niiden lisäksi on 4 bittinen Secondary Station Identifier (SSID) joka erottelee saman asematunnuksen omistajan eri laitteet toisistaan.

Osoitekenttää varten HDLC:n osoitekenttää on pidennetty käyttäen osoitekentän vähiten merkitsevää bittiä kentän pituuden jatkobittinä. Nolla tarkoittaa, että osoitekenttä jatkuu ja ykkönen, että kyseessä on osoitekentän viimeinen oktetti. Jotta amatööriaseman tunnus sopii yhteen tämän jatkobitin olemassaolon kanssa, ASCII-koodattu merkki pitää siirtää vasemmalle yhden bitin verran.

Osoitekentän perusrakenne
Kehyksen osoitekenttä
Vastaanottajan osoitteen alikenttä Lähettäjän osoitteen alikenttä
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14

Osoitealikentässä kukin asematunnus sisältää enimmillään 6 merkkiä ja jos merkkejä on vähemmän, alikenttä täytetään välilyöntimerkeillä kunnes kuusi merkkiä tulee täyteen.

Osoitealikentän seitsemäs merkki on ns. SSID-tavu, joka sisältää aseman SSID:n lisäksi "C"-bitin (Command and reponse frames), tai ripiitterikehyksissä (digipeater) se on "H"-bitti (Has been repeated). Lisäksi kukin SSID-tavu sisältää kaksi varattua bittiä ("r"), jotka on varattu tulevaisuuden käyttöön, ne lähetetään aina ykkösinä.

SSID-tavun bitit
7 6 5 4 3 2 1 0
C r r SSID 0

Huomaa: AX.25 kehyksen viimeisen osoitekentän SSID-tavun alin bitti on arvoltaan ykkönen.

SSID-tavun C-bittien koodauksista riippuu myös tunnistus AX.25 protokollan version 2.2 vs. vanhemman:

Command/Response bitit
Kehystyyppi Lähde-SSID C-bitti Kohde-SSID C-bitti
Vanha versio 0 0
Vanha versio 1 1
Komento (V.2.x) 0 1
Vastaus (V.2.x) 1 0

Tämä komento/vastaus koodaus on käytössä vain S-kehyksillä, kaikilla muilla kehyksillä koodataan aina komentoja.

Kontrollikenttä

Kontrollikenttä kertoo välitettävän kehyksen tyypin ja ohjaa 2. kerroksen toimintoja ja osin 3. kerrosta.

AX.25:ssä on kolme formaattia kontrollikentälle:

  1. I-kehykset (information frame)
  2. S-kehykset (supervisory frame)
  3. U-kehykset (unnumbered frame)

Kontrollikenttä voi olla yksi tai kaksi oktettia pitkä ja se voi sisältää sekvenssinumeroita joita käytetään linkin eheyden varmistamiseen (tämä on tason 3 asioita.)

Koodauksesta katso AX.25 määrätysdokumentti.

APRS:llä käytetyssä U-formaatissa kontrollikentän arvona on 0x03

Protokollatunnistekenttä

Protokollatunnistekenttä (PID) esiintyy informaatiokehysten (I- ja UI -tyyppisten) yhteydessä kertomassa, mitä tyyppiä 3. tason protokolla on.

Protokollatunnistekenttää ei lasketa mukaan informaatiokentän pituuden laskentaan.

Joitakin protokollatunnistekentän koodiarvoja
HEX bitteinä Merkitys
** yy01 yyyy AX.25 3. kerroksen protokollia
** yy10 yyyy AX.25 3. kerroksen protokollia
0x01 0000 0001 ISO 8208/CCITT X.25 PLP
0x08 0000 1000 Segmentation fragment
0xCC 1100 1100 ARPA Internet Protocol
0xCD 1100 1101 ARPA Address Resolution
0xCE 1100 1110 FlexNet
0xCF 1100 1111 NET/ROM
0xF0 1111 0000 Ei tason 3 protokollaa

APRS-protokollalla käytetään PID arvoa 0xF0.

Datakenttä

Datakenttä sisältää käyttäjän dataa, tai ainakin palasen sitä. Datakentän oletusarvoinen maksimikoko on N1=256 oktettia, joskin tämä parametri on neuvoteltavissa asemien välillä.

Periaatteessa mikään ei estä asemia määrittelemästä isompaa arvoa N1:lle oletusarvoksi, mutta sitä ei suositella.

Myöskin useimmat RF-tason modulaatiot eivät sisällä mitään virheenkorjausta, jolloin vähänkin isommat kehykset särkyvät herkästi. (Ks. Pakettiradio.)

Fragmentteri/Reassembleri

AX.25 version 2.2:ssa määritellään segmentointiproseduuri, jolla saadaan tehokkaasti kuljetettua suurempiakin käyttäjän 3. tason datakehyksiä AX.25 linkin yli.

Metodi on sukua ATM:n AAL5:lle, jossa verkko voi hukata soluja, mutta samalla se pitää kirjaa kulussa olevista AAL5 kehyksistä siten, että ensimmäisen solun pudotettuaan myös kaikki perässä tulevat samaan kehykseen kuuluvat solut pudotetaan.

Jos fragmenttien reassembler toteaa virheen saapuneiden fragmenttien virrassa, se kertoo siitä dataa käyttävälle ylemmälle tasolle joka sitten tekee omat virhekäsittelyproseduurinsa.


Puutteita

AX.25 protokollassa on muutamia pahoja puutteita:

  • Tärkein käytetty modulaatio on ikään kuin huonoin mahdollinen mitä olisi voinut valita (ks. pakettiradio)
  • AX.25 CONS protokollassa ei ole SAPeja, joten täsmälleen ottaen kohdeosoitteessa ei voi olla kuin yhdenlaisia palveluita per protokolla.

Katso myös

  • [[1]] "AX.25 Amateur Packet-Radio Link-Layer Protocol"