3. System pakiet radio


  W odróżnieniu od emisji dalekopisowej w systemie pakiet radio występują mechanizmy pozwalające na wykrycie i korektę przekłamań, a nadawane dane organizowane są w bloki (pakiety) wyposażone w znaki nadawcy i adresata. Ze względu na małą długość pakietów i możliwość ich odróżnienia na podstawie zawartych w nich adresów w jednym kanale radiowym może być prowadzony szereg niezależnych łączności. Oprócz tego każda ze stacji może służyć innym jako stacja przekaźnikowa. Mamy tu więc do czynienia z dosyć rozbudowanym protokółem transmisji. Stosowany w łącznościach amatorskich protokół AX.25 wywodzi się bezpośrednio z profesjonalnego protokółu X.25 (HDLC). Najważniejsze z różnic między obydwoma protokółami spowodowane są przez specyficzne potrzeby łączności amatorskich: m.in przedłużeniu uległo pole adresowe, tak aby mogły się w nim zmieścić znaki wywoławcze stacji korespondentów i stacji przekaźnikowych oraz przewidziana została możliwość nasłuchu nieselektywnego (monitorowania pasma). Użycie rozbudowanego protokółu transmisji oznacza, że stacje pracujące emisją pakiet radio muszą być wyposażone w inteligentne urządzenia obsujące protokół - są to omówione dalej kontrolery TNC lub komputery wyposażone w specjalne programy naśladujące działanie kontrolera.
    Łączności w systemie pakiet radio prowadzone są przeważnie w odcinkach pasm przeznaczonych do pracy dalekopisowej. Najczęściej używanyni częstotliwościami są:

Zakres KF (kHz) Zakres UKF (MHz)
3575 - 3620 144,800 - 144,990
14075 - 14100 145,300
21080 - 21120 432,625
28050 - 28150 433,625 - 433,775
  438,000 - 438,575 stacje przekaźnikowe
  1296,675
  2320,675
  5760,675
  10368,675


Ostatnio rozpowszechnia się wykorzystywanie odcinków pasm przeznaczonych dla wszystkich emisji.
    W systemie pakiet radio stosuje się wiele sposobów modulacji w zależności od stosowanej szybkości transmisji oraz zakresów częstotliwości. W pasmach UKF ciągle jeszcze najbardziej rozpowszechniona jest szybkość 1200 bit/s. Systemem modulacji jest tu modulacja z przesuwem częstotliwości (FSK, a właściwie AFSK, ponieważ zmodulowana podnośna akustyczna doprowadzana jest do wejścia mikrofonowego). Przesuw częstotliwości wynosi 1000 Hz i używane są częstotliwości 1200 Hz i 2200 Hz (odpowiada to standardowi BELL 202 znanemu również z zastosowania w modemach telefonicznych). Nie ma tu stałego przyporządkowania tonów niskiej częstotliwości wartościom "mark" i "space" a ich rozróżnienie polega na detekcji przejść z jednego tonu na drugi (jest to kodowanie różnicowe NRZ-I). Na zakresach krótkofalowych szybkość transmisji wynosi 300 bit/s, stosowany jest przesuw 200 Hz, a odpowiednie tony równe są 1600 i 1800 Hz. Dla szybkości transmisji 2400 bit/s (UKF) stosowana jest czterofazowa modulacja fazy (QPSK). Faza podnośnej o częstotliwości 1800 Hz przyjmuje jedną z czterech wartości oddalonych od siebie o 90 stopni (standard V.26). Przy szybkościach 9600 bit/s i większych stosowana jest bezpośrednia modulacja generatora sterującego nadajnika (FSK). Możliwe byłoby tu także zastosowanie wielofazowej modulacji PSK lub kwadraturowej modulacji AM (QAM - standard V.29). Pracę z większymi szybkościami transmisji, stosowane systemy modulacji i wyposażenie omawiam szczegółowo w dalszych rozdziałach.
    Instrukcje do większości zaprezentowanych dalej programów i urządzeń (kontrolerów TNC) tłumaczone przez autora książki na język polski są rozpowszechniane w sieciach pakiet radio i w Internecie.

3.1. PROTOKÓŁ AX.25

    Informacja transmitowana przy wykorzystaniu protokółu AX.25 składana jest w pakiety, które wyposażone są w adresy korespondentów oraz w sumę kontrolną pozwalającą na stwierdzenie prawidłowości lub błędnego odbioru pakietu. Prawidłowo odebrane pakiety potwierdzane są za pomocą pakietu kwitującego, po czym możliwa jest transmisja dalszych pakietów. Pakiety odebrane błędnie lub nieodebrane z powodu braku miejsca w buforze stacji adresata muszą być powtórzone. W przypadku braku pokwitowania pakiety powtarzane są po upływie zadanego czasu dzięki czemu zaginięcie pakietu lub pokwitowania nie przerywa wymiany danych.
    Pakiety AX.25 składają się z bajtu synchronizującego (ang. flag) zawierającego kombinację bitów 01111110, pola adresowego o długości dochodzącej do 70 bajtów i zawierającego znaki wywoławcze nadawcy i adresata oraz w miarę potrzeby do ośmiu znaków stacji przekaźnikowych retransmitujących pakiet. Znaki stacji zakodowane w kodzie ASCII mają długość 6 bajtów, siódmy zawiera ewentualnie dodatkowe rozszerzenie oraz informację o tym czy pakiet był retransmitowany. Rozszerzenie jest liczbą leżącą w zakresie od 0 do 15, jest ona oddzielona myślnikiem od głównego znaku (np. SP5GBK-2), a w polu adresowym jest ona kodowana za pomocą czterech bitów. Wszystkie bajty pola adresowego mają najwyższy bit równy zero z wyjątkiem ostatniego, gdzie wartość jeden stanowi sygnalizację końca obszaru. Następnie nadawany jest obszar danych kontrolnych o długości jednego bajtu. Bajt ten określa typ pakietu i zawiera w miarę potrzeby kolejny numer nadawanego pakietu i pakietu oczekiwanego. Rozróżniamy tu następujące typy pakietów:
- pakiety informacyjne - I,
- inicjujące połączenie - SABM,
- inicjujące rozłączenie - DISC,
- pakiety kwitujące poprawnie odebraną informację - RR (ang. receiver ready),
- pakiety kwitujące rozkaz nawiązania połączenia - UA (ang. unnumbered acknowledge),
- pakiety sygnalizujące brak miejsca w buforze adresata - RNR (ang. receiver not ready),
- sygnalizacja błędnie odebranego pakietu - REJ (ang. reject),
- sygnalizacja pakietu niezgodnego z protokołem - FRMR - np. pakietu o niewłaściwym numerze (ang. frame reject),
- pokwitowanie rozłączenia - DM.
    Oprócz numerowanych pakietów informacyjnych wymienianych w trakcie połączenia protokół przewiduje też transmisję pakietów nienumerowanych i nie potwierdzanych, zawierających np. tekst radiolatarni lub wykorzystywanych do transmisji omówionych dalej datagramów TCP/IP. Są to pakiety UI (ang. unnumbered information). Pakety przenoszące informację zawierają następnie pole informacyjne o długości do 256 bajtów. Pierwszy bajt pola informacyjnego pakietów I oraz UI zawiera identyfikację protokółu. Dla protokółu AX.25 jest to wartość 0xF0 szestnastkowo a dla protokółu sieciowego NET/ROM - 0xCF. W dalszym ciągu pakietu zawarta jest szesnastobitowa suma kontrolna CRC pozwalająca na stwierdzenie wystąpienia przekłamań w transmisji. Algorytm CRC jest bardziej skomplikowany od zwykłego sumowania wartości bajtów, ale też zapewnia większe prawdopodobieństwo wykrycia błędu. Zakończeniem pakietu jest bajt o zawartości identycznej z zawartością pola synchronizującego.
    Pole synchronizujące, jak sama nazwa wskazuje, służy do synchronizacji strony odbiorczej, dalsza zawartość pakietu transmitowana jest synchronicznie, a więc nie zawiera bitów start-stop. Dla zapewnienia jednoznaczności ciąg sześciu jedynek może występować jedynie w polach synchronizujących. Wewnątrz pakietu po wystąpieniu pięciu jedynek wstawiane jest dodatkowe zero, usuwane automatycznie przez stronę odbiorczą. Wstawianie zera określane jest angielską nazwą "bit stuffing".
    Strukturę pakietu przedstawia rysunek 3.1.

    [rys. 3_01]

    Po nawiązaniu połączenia pakiety informacyjne są kwitowane przez adresata. Potwierdzenie prawidłowego odbioru pakietu pozwala nadawcy na transmisję dalszych pakietów, pakiety odebrane błędnie muszą być powtórzone. Pakiety nie muszą być kwitowane pojedyńczo, ale maksymalna liczba niepokwitowanych pakietów nie może przekraczać siedmiu. Jeden pakiet kwitujący może zarazem pokwitować odbiór do siedmiu pakietów. Umożliwia to lepsze wykorzystanie kanału aniżeli w przypadku kwitowania pojedyńczo. Po wyczerpaniu dopuszczalnej liczby powtórzeń połączenie zostaje przerwane jako nieużyteczne. W przypadku zakłóceń nierównomiernie rozłożonych w czasie (np. impulsowych) istnieje jednak duże prawdopodobieństwo odebrania niezakłóconego pakietu przy którymś z kolejnych powtórzeń. Tak więc nawet w dosyć trudnych warunkach odbiorczych możliwa jest niezakłócona łączność. Ponieważ pakiety zawierają adresy obu uczestniczących w łączności stacji, mogą one być jednoznacznie identyfikowane przez adresata. Jednocześnie, zależnie od używanej szybkości transmisji i przyjętej długości pakietu, czas jego trwania wynosi od ułamka sekundy do kilku sekund. W przerwach pomiędzy pakietami kanał radiowy jest więc wolny, co pozwala na prowadzenie w nim wielu niezależnych łączności (jest to więc multipleks czasowy). Mamy tu do czynienia z tzw. kanałem wirtualnym, w odróżnieniu od kanału zarezerwowanego występującego w łącznościach RTTY, AMTOR, PACTOR lub fonicznych.
    Oprócz tego możliwe jest nadawanie pakietów przeznaczonych dla wszystkich (typu UI) oraz nieselektywny odbiór wszystkich odebranych pakietów (monitorowanie kanału).

3.1.1. PROTOKÓŁ DAMA

    Jednym z istotnych problemów występujących w sieciach radiowych (a właściwie i w wielu rodzajach kablowych sieci komputerowych ale to nie stanowi tematu naszych rozważań) są kolizje danych nadawanych przez stacje wchodzące w ich skład. Kolizje te powodują straty danych i konieczność ich powtórzenia. Jak można łatwo zauważyć zbyt duża liczba kolizji i spowodowanych nimi powtórzeń może w znacznym stopniu ograniczyć przepustowość sieci lub w krańcowych przypadkach zablokować całkowicie przepływ informacji. Dlatego też tak ważny jest wybór skutecznych sposobów ograniczenia liczby kolizji tzn. sposobów przydzielania pozwolenia na nadawanie. W odróżnieniu od kablowych sieci sieci komputerowych, w których można oczekiwać że wszystkie podłączone stacje (komputery) odbierają się wzajemnie w sieciach radiowych przeważnie przynajmniej część stacji nie słyszy się nawzajem. Oznacza to, że uniknięcie (lub tylko minimalizacja) liczby kolizji jest zadaniem o wiele trudniejszym i wymagającym podjęcia bardziej złożonych i przemyślanych sposobów.
    W najbardziej rozpowszechnionym z nich stacja nadawcza (a właściwie jej kontroler TNC) sprawdza zajętość kanału przed przejściem na nadawanie i w miarę potrzeby odczekuje do jego zwolnienia. Po stwierdzeniu zwolnienia się kanału stacja nie przechodzi odrazu na nadawanie, lecz odczekuje losowo wybrany odcinek czasu (określony omówionym dalej parametrem DWAIT albo parametrami PERSISTENCE i SLOTTIME), tak aby zmniejszyć prawdopodobieństwo kolizji z pakietami innych stacji. Gdyby wszystkie stacje przechodziły na nadawanie w tym samym momencie po zwolnieniu się kanału prowadziłoby to do ciągłych kolizji i zablokowania kanału. Taka metoda dostępu zwana jest dostępem wielokrotnym z wykrywaniem nośnej CSMA/CD (ang. Carrier Sense Multiple Accesss/Carrier Detect). Pewnym udoskonaleniem algorytmu dostępu jest sposób polegający na generowaniu liczby losowej i sprawdzaniu, czy jest ona mniejsza od ustalonej granicy (wartości parametru PERSISTENCE). Jeżeli tak jest kontroler przechodzi na nadawanie, w przypadku przeciwnym odczekuje ustalony odcinek czasu (określony za pomocą wartości parametru SLOTTIME) po czym powtarza opisaną procedurę. W jednym i w drugim przypadku możliwe jest unikniękie kolizji pakietów (lub zmniejszenie jej prawdopodobieństwa) dla stacji słyszących się wzajemnie.
    Jeżeli stacje korzystające ze stacji przekaźnikowej lub satelitarnej nie słyszą się wzajemnie na wejściu stacji przekaźnikowej dochodzić będzie do częstych kolizji pakietów prowadzących w skrajnym przypadku do zablokowania przekaźnika. Oczywistym sposobem uniknięcia tego jest zmniejszenie zasięgu stacji przekaźnikowych, aby jak najwięcej jej użytkowników mogło się słyszeć wzajemnie. Sprawa ta będzie omówiona w dalszym ciągu rozdziału.
    Niestety zmniejszenie zasięgu możliwe jest jedynie w przypadku stacji naziemnych i nie wchodzi w grę w przypadku stacji satelitarnych albo stacji krótkofalowych o dużym zasięgu. Spowodowało to opracowanie rozszerzenia protokółu AX.25 znanego pod nazwą protokółu DAMA. W protokóle DAMA stacje użytkowników nawiązują łączność ze stacją węzłową, po czym dalsza wymiana danych odbywa się wyłącznie pod jej kontrolą. Stacja węzłowa DAMA odpytuje po kolei wszystkie połączone z nią stacje indywidualne, a przypadku braku odpowiedzi po pewnym czasie skreśla je z listy. Stacje nie mające przez pewien czas danych do nadania otrzymują niższe priorytety i są rzadziej odpytywane. Po wznowieniu nadawania danych priorytety stacji są znowu podwyższane. Wystąpienie kolizji możliwe jest jedynie w trakcie nawiązywania połączenia przez nową stację. Wadą protokółu DAMA jest jednak to, że stacje oczekujące dłużej na nadejście danych np. z odlegej skrzynki elektronicznej są też ciągle odpytywane i w przypadku gdy większość stacji właśnie oczekuje na nadejście danych lub gdy ze stacji węzłowej korzysta jedna albo niewiele stacji indywidualnych zapytania przeważają nad użyteczną transmisją danych w kanale.
    Analogicze protokóły stosowane są w profesjonalnych łącznościach satelitarnych.

3.1.1.1. PARAMETRY KONTROLERÓW TNC DLA WSPÓŁPRACY Z WĘZŁAMI DAMA

    Dla czytelników zaznajomionych już z obsługą kontrolerów TNC i z najważniejszymi parametrami protokółu AX.25 podaję poniżej zalecenia odnośnie wartości parametrów istotnych dla współpracy z węzłami DAMA. Czytelnicy nie zaznajomieni jeszcze w sposób wystarczający z tymi parametrami mogą opuścić ten paragraf i zapoznać się z jego treścią później.
    Stacje indywidualne nie wyposażone w możliwość krzystania z protokółu DAMA (posiadające kontorlery wyposażone w oprogramowanie TAPR) powinny ustawić czas oczekiwania na pokwitowanie (parametr FRACK, czas T1) na wartość maksymalną, a czas odstępu między odbiorem pakietu a nadaniem pokwitowania (RESPTIME, czas T2) i czas DWAIT na zero, w niektórych wersjach oprogramowania TAPR wystarczy podanie rozkazu ACKPRIOR ON. Czas TXDELAY powinien być ustawiony na minimum, zależne od szybkości przełączania na nadwanie posiadanej radiostacji. Nieprzestrzeganie tych zasad powoduje nadanie przez stację węzłową meldunków błędu, a po pewnym czasie rozłączenie użytkownika. Nowsze wersje oprogramowania TF (od 2.6 wzwyż) i sterowniki dla trybu KISS (TFKISS) pozwalają na automatyczne rozpoznanie użycia przez stację wezłową protokółu DAMA. Użycie protokółu DAMA zależne jest od wyposażenia stacji węzłowej, a nie od wyposażenia stacji użytkownika. W chwili obecnej protokół DAMA stosowany jest przez węzły FLEXNET i TNN.



Wydanie z dn. 20.03.1999.

© Prawa autorskie Krzysztof Dąbrowski, OE1KDA.