4.4. TRYB KISS


  Szczegóły dotyczące trybu KISS są przewidziane dla bardziej zaawansowanych czytelników - początkujący operatorzy stacji pakiet radio i TCP/IP mogą zapoznać się z nimi w późniejszym terminie.
    Rola kontrolera TNC w trybie KISS sprowadza sie zasadniczo do roli modemu i do przekodowywania danych z protokółu KISS na pakiety w formacie HDLC (AX.25) lub odwrotnie oraz do sterowania nadajnikiem. Dodatkowo kontroler oblicza też sumę kontrolną CRC zawartą w pakietach (lub sprawdza jej prawidłowość).
    Bloki KISS ograniczone są na początku i na końcu za pomocą znaków FEND o wartości szesnastkowej 0xC0 (192 dziesiętnie). Występujący wewnątrz bloku znak FEND zastępowany jest, dla uniknięcia nieporozumień, po stronie nadawczej, przez kombinację znaków FESC-TFEND (odpowiednio znaków o wartości szesnastkowej 0xDB i 0xDC). Po stronie odbiorczej przywracany jest stan oryginalny. Analogicznie znak FESC zastępowany jest na czas transmisji przez kombinację FESC-TFESC (odpowiednio przez znaki 0xDB i 0xDD). Długość bloków KISS nie jest z góry określona ani nie zawierają one też żadnej informacji na ten temat. Oznaczeniem ich końca jest jedynie znak FEND. Wystąpienie dwóch kolejnych znaków FEND nie jest interpretowane jako odbiór pustego bloku tylko jako błąd. Struktura bloku KISS przedstawiona jest na rysunku 4.2b.

    [rys. 4_02]

    W trybie KISS stosowane są znaki ośmiobitowe bez bitu parzystości i z pojedyńczym bitem stop (oznaczenie 8N1). Sygnały synchronizujące CTS/DTR nie są stosowane, do połączenia kontrolera z komputerem wystarczy więc zwykły kabel trójżyłowy. Nie jest stosowany także protokół XON/XOFF, co przy transmisji dłuższych zbiorów może doprowadzić do przepełnienia wewnętrznego bufora w kontrolerze i straty danych oraz zawieszenia się kontrolera. Kontrolery TNC2 wyposażone w 32 kB pamięci RAM dysponują w trybie KISS około 28 kB pojemności bufora, wyposażone w 16 kB pamięci RAM - około 12 kB (dotyczy to oprogramowania TAPR, oprogramowanie TF pozostawia około 25 kB wolnej pamięci RAM w kontrolerach wyposażonych w 32 kB). Ewentualne mechanizmy zabezpieczające przed stratą danych muszą być zawarte w programie sterującym (np. NOS).
    Jedynymi istotnymi parametrami kontrolera są parametry mające związek ze sterowaniem nadajnikiem: TXDELAY, PERSISTENCE, SLOTTIME, TXTAIL i FULLDUPLEX. Pozostałe parametry protokółu AX.25 muszą być ustalone w programie sterującym.
    Odpowiednio rozróżniane są więc następujące typy bloków KISS:

- bloki których drugi oktet ma wartość zero są blokami informacyjnymi, są to jedyne bloki wymieniane w obie strony. Ich transmisja sygnalizowana jest za pomocą wskaźników CON i STA w kontrolerze TNC. Pozostałe bloki zawierające parametry mogą być transmitowane jedynie z komputera do kontrolera, odpytanie wartości wprowadzonych parametrów nie jest możliwe. W razie potrzeby wartości te muszą być zapamiętane przez program sterujący;

- bloki o drugim oktecie równym 1 zawierają parametr TXDELAY w postaci wielokrotności 10 ms, wartością początkową jest 50 (tzn. 500 ms). Parametr TXDELAY ustala odstęp czasu między włączeniem nadajnika i rozpoczęciem nadawania pakietu. Przed rozpoczęciem nadawania pakietu transmitowane są pola synchronizujące;

- bloki typu 2 zawierają parametr PERSISTENCE, wartością początkową jest 63 tzn. 25 %, a dopuszczalnym zakresem wartości 0 (wyłączenie) do 255. Przed przejściem na nadawanie kontroler generuje liczbę losową leżącą w zakresie od 0 do 255. Jeżeli jej wartość jest większa od wartości progowej (parametru PERSISTENCE) kontroler odczekuje odcinek czasu ustalony za pomocą parametru SLOT TIME, i jeżeli kanał jest w dalszym ciągu wolny generuje następną liczbę losową. Procedura powtarzana jest aż do przejścia na nadawanie. Algorytm ten przyczynia się do zmniejszenia liczby kolizji pakietów i jest stosowany także w oprogramowaniu TF dla kontrolerów TNC2 i TNC3;

- bloki typu 3 zawierają czas oczekiwania (ang. SLOT TIME) dla algorytmu progowego w postaci wielokrotności 10 ms, wartością początkową jest 10 (tzn. 100 ms);

- bloki typu 4 zawierają parametr TXTAIL również postaci wielokrotności 10 ms. Parametr TXTAIL określa czas włączenia nadajnika po zakończeniu pakietu;

- wartość 0 w bloku typu 5 oznacza pracę półdupleksową (jest to wartość domyślna), 1 - pracę pełnodupleksową w kanale radiowym. W pracy pełnodupleksowej kontroler przechodzi na nadawanie bez sprawdzania zajętości kanału. Pełny dupleks stosowany jest obecnie jedynie w łącznościach satelitarnych i w niektórych łączach sieci.

    Opuszczenie trybu KISS i przejście do pracy w normalnym trybie TAPR lub WA8DED (TF) dokonywane jest za pomocą bloku, którego drugi oktet ma wartość 255 (0xFF szesnastkowo). Tak więc blok przełączający składa się jedynie z trzech znaków o wartościach: 0xC0, 0xFF, 0xC0. Jeżeli wykorzystywany program terminalowy nie pozwala na wyłączenie trybu KISS (np. program SP), można blok ten nadać za pomocą dowolnego programu telefonicznego terminalowego, jak PROCOMM (na komputerach klasy PC uzyskiwane są one przez naciśnięcie klawisza ALT i wprowadzenie odpowiedniej wartości cyfrowej na bocznej klawiaturze numerycznej, byłyby to więc kolejno ALT-192, ALT-255 i ALT-192). Programy grupy TCP/IP, jak NOS lub NET, nadają ten blok po podaniu rozkazu "param ax0 255" (ax0 jest przyjętą w tym przykładzie nazwą złącza szeregowego i może się różnić w zależności od przyjętej konfiguracji). Analogicznie pozostałe parametry nadawane są za pomocą rozkazów "param ax0 1 ..." lub podobnych.
    Jak widać protokół KISS nie zawiera żadnych zabezpieczeń przed przekłamaniami i dlatego powinien być stosowany jedynie na krótkich połączeniach pomiędzy kontrolerem i komputerem, w przeciwnym przypadku może się okazać najsłabszym ogniwem całego łącza pakiet radio.
    Oprócz współpracy z programami TCP/IP tryb KISS pozwala także na wykorzystanie kontrolerów wyposażonych w oprogramowanie TAPR z programami terminalowymi przeznaczonymi dla trybu podporządkowanego (SP, GP). Ze względu na fakt, że nowsze wersje sterowników KISS pozwalają na pracę w protokóle DAMA daje to możliwość korzystania z niego także przez użytkowników, którzy z różnych względów nie chcą zrezygnować z oprogramowania TAPR (nie pozwala ono narazie na korzystanie z protokółu DAMA). Jednym z powodów pozostawania przy wersji TAPR jest zainstalowana tam i pracująca samodzielnie skrzynka elektroniczna, innym może być chęć odbioru map pogody w standardzie WEFAX. W tryb KISS wyposażony jest także węzeł X1J dzięki czemu może on być wykorzystywany przez operatora do prowadzenia równoległych łączności AX.25 albo TCP/IP.
    Odmianą protokółu KISS jest protokół SMACK. Bloki informacyjne w tym protokółe oznaczone są za pomocą znaku 0x80 zamiast 0x00 w drugim oktecie bloku i zawierają na końcu sumę kontrolną CRC-16 w kolejności bajt niższy, bajt wyższy. Pozostałe bloki rozkazowe nie są zabezpieczone za pomocą sumy kontrolnej. Zachowana została tu ogólna struktura bloków i zasada wtrącania znaków wprowadzających. Oprogramowanie TF począwszy od wersji 2.7 dla kontrolerów TNC2 i nowsze wersje sterowników (TFKISS) mogą automatycznie rozpoznać możliwość pracy w protokółe SMACK i dokonać odpowiedniego wyboru. Pojawienie się wersji oprogramowania TCP/IP pracującej w protokółe SMACK jest jedynie kwestią czasu.
    Podobnej klasy uproszczonymi protokółami są RXBLOCK (TAPR), protokół używany przez oprogramowanie WA8DED (TF) w trybie podporządkowanym i protokół wymiany danych pomiędzy kontrolerami pracującymi jako węzły NET/ROM/TheNet - protokół NRS - w przypadku sprzężenia większej ich liczby w jeden węzeł.



Wydanie z dn. 20.03.1999.

© Prawa autorskie Krzysztof Dąbrowski, OE1KDA.