4.3. PROTOKÓŁY TCP/IP W PRAKTYCE KRÓTKOFALARSKIEJ


  Rozpowszechnienie protokółów TCP/IP spowodowało powstanie szeregu implementacji dla różnych typów komputerów pracujących pod wieloma systemami operacyjnymi i współpracujących z różnorodnymi typami łączy i modemów.
    Jednym z najbardziej rozpowszechnionych w kręgach amatorskich jest pakiet oprogramowania NET opracowany przez amerykańskiego krótkofalowca Phil'a Karn'a, KA9Q. Z czasem ulegał on zresztą licznym przeróbkom dokonywanym nie tylko przez autora ale i przez innych specjalistów z grona krótkofalowców (między innymi przez PA0GRI). W ten sposób powstało szereg wersji znanych pod nazwami NET, NOS (ang. Net Operating System), WNOS, WINNOS, JNOS, GNOS, TNOS itp. Poszczególne jego wersje pracują na komputerach klasy PC/XT/AT pod systemami operacyjnymi MS-DOS i UNIX (Linux) a także na komputerach DEC/VAX pod systemem operacyjnym VMS, Amiga, Atari ST i McIntosh. Oprogramowanie NOS pracuje również w oknach DOS pod systemami Windows 3.1, 3.11, 95 i 98.
    Użyte w przytoczonych w dalszym ciągu rozdziału przykładach adresy IP są w większości adresami przykładowymi. Przed nawiązaniem kontaktu z którąś z wymienionych stacji należy zapoznać się z aktualnym spisem adresów lub upewnić się, że zostaną one odczytane z bazy danych DNS.

4.3.1. INSTALACJA I ZBIÓR ROZKAZÓW PAKIETU TCP/IP (NOS)

    Pakiet NOS obsługuje najważniejsze z wymienionych protokółów, jak IP, ICMP, TCP, UDP, FTP, SMTP, POP, Telnet, Ttylink, NET/ROM oraz ARP.
    Specyficzne potrzeby łączności krótkofalarskich spowodowały dodanie protokółu sieciowego NET/ROM jako alternatywnego rozwiązania warstwy transportu.
    Najważniejszym warunkiem rozpoczęcia regularnej pracy w sieci TCP/IP jest uzyskanie własnego adresu numerycznego internet (IP). Światową koordynacją (przydziałem grup adresów dla poszczególnych krajów) w ramach sieci amatorskiej zajmuje się Brian Kantor WB6CYT, w ramach poszczególnych krajów - krajowi koordynatorzy z ramienia związków krótkofalowców, w niektórych krajach wyznaczeni są koordynatorzy regionalni. Podobnie jak znaki wywoławcze, adresy internetowe są jednoznaczne w skali światowej.
    Następnie naley zaopatrzyć się w konieczne oprogramowanie (jedną z rozpowszechnionych wersji NOS). Pozostałe wyposażenie stacji (kontroler TNC, modem) są identyczne jak dla pracy w systemie pakiet radio.

4.3.1.1. MODEMY I KONTROLERY TNC

    Używany kontroler TNC musi umożliwiać pracę w trybie KISS. W przypadku posiadania kontrolera pochodnego od TNC2 (MFJ-1270/1274/1276, TNCľ21) konieczna może być wymiana oprogramowania na wersję TAPR 1.1.6 lub nowszą. Program ten zawarty jest w pamięci EPROM oznaczonej U23, kontrolery wielofunkcyjne jak PK-232, MFJ-1278(T), kontrolery firmy Kantronics, kontrolery PK-87/88/96, kontrolery produkcji niemieckiej i kontrolery firm MUEL i Pyffel wyposażone w oprogramowanie TF (TNC2C, TNC2S, TNC2H, TNC3S, TNC31S, TNC2) wyposażone są standardowo w tryb KISS. Dla kontrolerów wewnętrznych firmy DRSI istnieje oddzielna wersja programu sterującego rozprowadzana razem z kontrolerami. Zmiana trybu pracy na tryb KISS wymaga podania za pomocą zwykłego programu terminalowego rozkazu KISS ON (@K KISS ON dla oprogramowania TF), a następnie rozkazu RESTART lub wyłączenia i ponownego włączenia kontrolera. Kontroler PK-232 wymaga dodatkowo podania rozkazów RAWHDLC ON i HOST ON. W skrzynkach elektronicznych pakiet radio spotykane są programy o nazwach KISS, KISSON lub podobnych, służace do przełączania kontrolerów TNC w tryb KISS. Niektóre wersje programów TCP/IP pozwalają na przełączenie kontrolera do trybu KISS w momencie startu programu. Odpowiednie rozkazy (COMM) muszą być podane w zbiorze autoexec.nos (autoexec.net itp.). Na współpracę z modemem BayCom pozwala opracowany przez Pawła Jałochę, SP9VRC sterownik AX25. Wersja GNOS może także współpracować z konmtrolerami BayCom USCC. Rozpowszechnione są także sterowniki dla kontrolerów DRSI, ETHERNET i innych.
    Dopiero po przełączeniu na tryb KISS można wywołać program TCP/IP (NOS). Przełączenie odwrotne dokonywane jest w oprogramowaniu TCP/IP za pomocą rozkazu PARAM AX0 255, gdzie AX0 oznacza wewnętrzną nazwę kontrolera podaną za pomocą rozkazu ATTACH umieszczonego najczęsciej w zbiorze autoexec.net (autoexec.nos). Nazwa ta może być zresztą dowolna np. 144 czy 435.

4.3.1.2. INSTALACJA I GŁÓWNE ZBIORY

    Poniżej omówione są jedynie najważniejsze, niezbędne do pracy programu, zbiory. Zawartość większości z nich musi być dostosowana do wyposażenia i położenia stacji użytkownika. Dla uproszczenia pominięto tu zbiory, które nie są niezbędne w pierwszej fazie uruchamiania stacji i programu. W trakcie pracy program net (nos) zakłada dodatkowe, potrzebne zbiory.
    Zbiór autoexec.net (występujący pod nazwą startup.net w wersjach dla systemu operacyjnego UNIX) zawiera zestaw rozkazów wykonywanych w momencie startu programu net (nos). Jego rola jest więc analogiczna do roli pliku autoexec.bat w systemie operacyjnym MS-DOS i oszczędza użytkownikowi każdorazowego żmudnego wprowadzania serii rozkazów przez klawiaturę. Zbiór autoexec.net powinien leżeć w katalogu \net (\nos) podobnie jak główny zbiór net.exe (nos.exe). Zbiór ten może zawierać większość z wymienionych dalej rozkazów. Dla zwiększenia przejrzystości konfiguracji programu część rozkazów konfiguracyjnych może być umieszczona w oddzielnym zbiorze, przykładowo w zbiorach \net\config.net i \net\routes.net (nazwy zbiorów są dowolne). Zbiory te muszą być zadeklarowane w zbiorze autoexec.net (autoexec.nos) za pomocą rozkazu "source nazwa_zbioru", przykładowo "source config.net" i "source routes.net". Większość parametrów zawartych w przykładowym zbiorze autoexec.net (autoexec.nos) może pozostać bez zmiany, konieczne jest dokonanie zmian parametrów podanych za pomocą rozkazów: motd, ip address, hostname, ax25 mycall, ax25 bctext, netrom call, netrom alias, netrom route add, netrom nodefilter add, arp add netrom, route add, arp add netrom, smtp gateway, mbox motd, mbox qth i mbox password. W początkowej fazie konieczna jest zmiana tylko części z nich, np. konfigurację NET/ROM można śmiało odłożyć na później.
    Zbiór \ftpusers leżacy w szczytowym katalogu "\" zawiera zestaw uprawnień dostępu do katalogów dla poszczególnych użytkowników. Ponieważ system operacyjny MS-DOS nie zawiera (w przeciwieństwie do systemu UNIX) mechanizmów zabezpieczających przed nieupoważnionym dostępem do katalogów, stanowi to swego rodzaju jego rozszerzenie. Informacje zawarte w zbiorze \ftpusers niezbędne są dla transmisji danych w protokóle FTP. Zbiór \ftpusers zawiera szereg linii typu:
określenie_użytkownika hasło nazwa_katalogu uprawnienia.
    Określenie_użytkownika może być dowolną nazwą, nazwiskiem lub znakiem wywoławczym. Standard internetu przewiduje nazwę anonymous z uprawnieniami odczytu w katalogu \public dla szerokiej rzeszy, nie sprecyzowanych dokładniej, użytkowników.
    Hasło może być dowolnie wybrane przez operatora, wpisana w tym polu gwiazdka (*) oznacza dowolne hasło, czyli w praktyce jego brak.
    Nazwa katalogu musi być pełną nazwą począwszy od katalogu szczytowego root np. \net\public.
    Uprawnienia określane są za pomocą liczby dziesiętnej stanowiącej dowolną (ustaloną według życzeń operatora) sumę poniższych składników: 1 - uprawnienia odczytu, 2 - prawa zapisu bez możliwości kasowania i zmian istniejących zbiorów, 4 - zapisu i kasowania dowolnych zbiorów. Wartość 64 pozwala na zdalną obsługę systemu przez operatora, a wartość 128 blokuje dostęp.
    Przykłady:
anonymous    *     \public 1
guest        *     \public 3
sp7mud    adam     \public 7
superuser tylko_ja \public 67
sp5xxx       *     \public\\tmp 128

    Zbiór \net\domain.txt (\net\hosts.net) zawiera przyporządkowanie nazw poszczególnych systemów (w naszym przypadku znaków wywoławczych) odpowiednim adresom internetu w postaci (musi on być dostosowany do warunków lokalnych):
oe1kda.ampr.org.      IN    A         44.143.16.144
sp7mud.ampr.org.      IN    A         44.143.16.8
oe1xtu.ampr.org.      IN    A         44.143.22.105

Oznaczenie IN informuje program, że wpis zawiera adres internetowy, litera A oznacza adres w postaci numerycznej. możliwe jest także wprowadzenie alternatywnych oznaczeń - pseudonimów - w postaci:
adam.ampr.org.        IN    CNAME     sp7mud.ampr.org.
Oprócz wpisów dla poszczególnych korespondentów zbiór może także zawierać wpisy dla różnych regionów kraju, przykładowo:
region5.ampr.org.     IN     A        44.143.96.0
wiedeń.ampr.org.      IN     A        44.143.16.0

Wpis:
loopback.ampr.org.    IN     A        127.0.0.1

pozwala na nawiązywanie łączności (w pętli wewnętrznej) z własną stacją w czasie prób.
    W zbiorze mogą być zawarte komentarze poprzedzone znakiem #.
    Regularne stacje węzłowe mogą także pośredniczyć w wymianie poczty elektronicznej. Przykładowo jeżeli poczta ma być retransmitowana przez stację oe1xtu w zbiorze można umieścić dodatkowo wpis:
sp7mud.ampr.org.      IN     MX 0     oe1xtu.ampr.org.

Oznacza on, że poczta przewidziana dla stacji sp7mud ma być kierowana do stacji oe1xtu, która transmituje ją dalej. MX jest skrótem oznaczenia Mail eXchanger.
    Aktualizacja zbioru \net\domain.txt wymaga dużego nakładu pracy i stałego zbierania informacji o nowo uruchomionych stacjach. Duża pomocą mogą być listy prowadzone przez operatorów stacji węzłowych. W krańcowym przypadku stacje indywidualne mogą zrezygnować wogółe z prowadzenia listy adresów i korzystać z list centralnych - bazy adresowej DNS. Np. jeśli stacja oe1xtu zawiera bazę danych adresów (DNS) w zbiorze należy podać wpis:
                      IN     NS      oe1xtu.ampr.org.

    Nazwy lub znaki uzupełniane są automatycznie do pełnej nazwy przewidzianej dla sieci amatorskiej przez dodanie rozszerzenia ampr.org, tak więc dla stacji oe1kda jest to oe1kda.ampr.org. W sieci amatorskiej powinny być używane tylko znaki wywoławcze, mimo że nie ma to nic wspólnego z podawaniem znaku wywoławczego w trakcie łączności lub adresem zawartym w polu adresowym pakietu i podanym za pomocą rozkazu MYCALL. Rozszerzenie to może być zdefiniowane za pomocą rozkazu domain suffix ampr.org zawartego w zbiorze \net\autoexec.net.
    Trasy łączności i zawartość zbioru \net\routes.net oraz tablic arp omówione są dalej.
    Instalacja pakietu NOS wymaga jedynie wywołania programu rozpakowującego (odpowiednie katalogi zakładane są automatycznie) lub skopiowania struktury katalogów z dyskietki zawierającej rozpakowane programy i dokonania pożądanych zmian w zbiorach \net\autoexec.net, \ftpusers, \net\config.net (zbiór ten może zawierać część rozkazów występujących w zbiorze \net\autoexec.net lub może wogóle nie występować), \net\hosts.net (net\routes.net), \net\domain.txt lub ich równoważnikach i innych podanych dalej (\bm.rc). Stosunkowo duża liczba danych, rozkazów i parametrów wymienionych tutaj i zawartych w zbiorach nie powinna przestraszyć użytkowników programu. Dyskietki instalacyjne zawierają przykłady zbiorów danych i zbiorów konfiguracyjnych. Większość parametrów może zachować podane tam wartości. W przytoczonym przykładzie program jest zainstalowany w katalogu \net, a wszystkie podane dalej katalogi są w nim zawarte. Zmienna środowiskowa "path" powinna być uzupełniona, tak aby wskazywała także na powyższy katalog. Jeżeli instalowane są programy zarządzające pocztą BM lub PCELM należy do pliku autoexec.bat dopisać także zmienną środowiskową "home" używaną przez te programy. Musi ona wskazywać katalog, w którym są one zainstalowane. W szczególności może to być katalog NOS.
    Do współpracy z modemem typu "BayCom" konieczne jest też zainstalowanie sterownika AX25.COM. Ponieważ systemy operacyjne Windows 3.1, 95 i 98 nie gwarantują wystarczająco krótkich czasów reakcji sterownik AX25.COM może być stosowany jedynie pod systemem DOS. Jak narazie brakuje sterownika pozwalającego na korzystanie z modemów PAR96, PICPAR i podobnych dla szybkości 9600 bit/s. Praca z większymi szybkościami wymaga więc zastosowania kontrolera TNC.
    Po dokonaniu instalacji należy wprowadzić własny znak wywoławczy i adres internetowy do zbioru autoexec.net oraz dostosować parametry rozkazu attach do posiadanego wyposażenia a także zmienić odpowiednie teksty i zawartości tablic adresowych i tras. Przykładowe rozkazy attach podane są w spisie rozkazów. Następnie można przystąpić do pierwszych prób łączności.

4.3.1.3. WYWOŁANIE NOS

    Do wywołania programu służy polecenie "net" ("nos"), które może zawierać także dodatkowe parametry. Najważniejszym z nich jest parametr "-d nazwa_katalogu" informujący o położeniu zbioru autoexec.net. Zakładając, że program zainstalowany jest według podanego wzoru, do jego wywołania należy użyć następującego polecenia: "net -d c:/net". Zgłoszeniem gotowości programu (ang. prompt) na ekranie jest często "net>" lub "nos>". Program może być wywoływany pod systemem operacyjnym DOS lub w oknach DOS pod systemami Windows 3.1, 95 i 98. Dla wywołania w środowisku Windows 3.1/3.11 konieczne jest sporządzenie pomocniczego pliku PIF za pomocą edytora PIF. Większość zawartych tam parametrów może na początek zachować proponowane przez system wartości domyślne. Pliki PIF nie są używane pod 32-bitowymi wersjami systemu Windows. Parametr "-v" powoduje wyświetlanie na ekranie wszystkich wykonywanych w czasie startu rozkazów i ich meldunków natomiast parametr "-e" - zatrzymanie wyświetlania meldunków po wystąpieniu błędu. Oba te parametry ułatwiają diagnozę ew. błędów w zbiorze autoexec.net. Zbiór parametrów wywołania jest oczywiście obszerniejszy i zależny od wersji programu.
    Po pojawieniu się na ekranie znaku gotowości (monitu) można wywołać spis rozkazów za pomocą rozkazu "?". Podobnie dla wielu rozkazów podanie znaku zapytania powoduje wyświetlenie spisu ich parametrów. Do zakończenia pracy NOS służy rozkaz "exit". Wiele z rozkazów jak "cd", "dir", "mkdir" czy "rmdir" nosi nazwy identyczne lub podobne do nazw rozkazów systemu DOS i nie wymaga szczegółowych wyjaśnień.

4.3.1.4. POŁĄCZENIE (SESJA) AX.25

    Z poziomu interpretacji rozkazów (sygnalizowanego za pomocą znaku gotowości - "nos>") można wywoływać wszystkie funkcje programu i inicjować dowolne łączności. Na początek przedstawiona jest zwykła sesja łączności AX.25 (pakiet radio). Do nawiązania połączenia służy rozkaz "connect". Dozwolone jest skracanie rozkazów NOS, pod warunkiem że skróty te są jednoznaczne, np. "c" zamiast "connect". Dla ułatwienia orientacji w dalszym ciągu będą używane pełne nazwy rozkazów:
connect 144 SR6DOP otwiera sesję AX.25 i powoduje nawiązanie połączenia z podaną stacją. Obowiązkowo należy podać nazwę złącza (w naszych przykładach: 144). Każda z sesji ma do dyspozycji własne okno, w którym wyświetlane są meldunki oraz nadawane i odbierane teksty. Po podaniu rozkazu "connect" otwierane jest więc okno sesji, w którym wyświetlany jest meldunek: "Trying SR6DOP on port 144 ..." lub podobny. Po uzyskaniu połączenia pojawia się meldunek: "AX25 session 1 connected to SR6DOP" i tekst powitalny węzła. Dalszy przebieg łączności nie odbiega od znanego z praktyki pakiet radio. Teksty pisane w oknie sesji są nadawane do strony przeciwnej. Do powrotu na poziom interpretacji rozkazów NOS służy klawisz funkcyjny F10. Rozkaz "escape" pozwala na przypisanie tej funkcji dowolnemu innemu klawiszowi. Do zakończenia sesji (przerwania połączenia) służy rozkaz "close" z podaniem jako parametru numeru sesji, np. "close 1". Połączenie AX.25 może być też przerwane za pomocą rozkazu "disconnect". Przed rozłączeniem proponuję jednak wypróbowanie rozkazu "session". Powoduje on wyświetlenie spisu otwartych sesji łączności. Spis ten, w postaci tabeli zawiera m. in. numer sesji (w naszym przykładzie 1), rodzaj (AX.25), stan połączenia (rubryka "state"), np. "connected" albo "conn pending" i nazwę lub znak wywoławczy korespondenta (w rubryce "remote socket"), np. "sr6dop (SR6DOP on port 144)". Pozostałe dane mają narazie mniejsze znaczenie. Sesja, z której ostatnio korzystaliśmy jest zaznaczona za pomocą gwiazdki umieszczonej obok jej numeru - jest to ważne w przypadku prowadzenia wielu połączeń równolegle. W celu powrotu do okna ostatniej sesji wystarczy nacisnąć klawisz RETURN. W każdym innym przypadku należy posłużyć się rozkazem "session" z podaniem numeru sesji, np. "session 3" (w skrócie "s 3"). Liczba równolegle prowadzonych połączeń (dowolnych typów) ograniczona jest liczbą wolnych kanałów logicznych (ang. socket) i rozmiarem dostępnej pamięci. Operator może w dowolnej chwili przechodzić z jednego okna sesji do innego. W niektórych wersjach NOS na ekranie wyświetlana jest dodatkowo jedna lub więcej linii informacyjnych. Zawierają one m.in. numer sesji, stan połączenia, rozmiary wolnych obszarów pamięci i numery pozostałych aktywnych sesji. Napływ danych sygnalizowany jest za pomocą migania odpowiedniego numeru sesji. Wygląd linii informacyjnych różni się w poszczególnych wersjach NOS. Po przerwaniu połączenia w oknie sesji pojawiają się meldunki "AX25 session closed:normal" i "Hit Enter to continue" lub inne informujące o zaistniałej sytuacji. Dokładna treść meldunków może się różnić nieco w poszczególnych wersjach NOS.
    Sesja AX.25 może być także zakończona przez stronę przeciwną, np. po podaniu rozkazu BYE lub QUIT dla węzła. W przypadku braku reakcji ze strony przeciwnej należy zakończyć sesję za pomocą rozkazu "reset" (np. "reset 1"). Spis odbieranych stacji AX.25 wywoływany jest za pomocą rozkazu "ax25 heard".

4.3.1.5. POŁĄCZENIE STACJI AX.25 ZE STACJĄ TCP/IP

    W podobny sposób przebiega łączność AX.25 ze stacją TCP/IP. Po uzyskaniu połączenia zgłasza się skrzynka elektroniczna NOS u korespondenta. Jej znak zgłoszenia zawiera ok. 20 lub więcej skrótów rozkazów. Ze względów formalnych po uzyskaniu połączenia należy nadać znak RETURN, dopiero po nim skrzynka wysyła swój tekst powitalny poprzedzony identyfikatorem systemu (krótką informacją zawartą w nawiasach kwadratowych). Identyfikator ten jest używany w trakcie retransmisji poczty między skrzynkami i narazie nie ma dla nas większego znaczenia. Objaśnienia rozkazów skrzynki wywoływane są za pomocą znaku zapytania lub litery H. Analogicznie jak skrzynki pakiet radio, skrzynka NOS pozwala na zapis, odczyt i kasowanie wiadomości, odczyt i zapis zbiorów zawartych w jej katalogu /public, prowadzenie konferencji, dialogu z operatorem i nawiązywanie dalszych połączeń. Sposób korzystania ze skrzynki jest przedstawiony dalej. Do zakończenia łączności służy rozkaz BYE (B) lub lokalny rozkaz "close".

4.3.1.6. SESJA TELNET

    Protokół terminalowy TELNET pozwala na uzyskanie połączenia z komputerem korespondenta, prowadzenie dialogu, korzystanie ze skrzynki elektronicznej i nawiązywanie dalszych łączności za pośrednictwem węzłów TCP/IP.
    Następnym krokiem poznawczym jest więc skorzystanie z połączenia TELNET ze stacją TCP/IP. Połączenie inicjowane jest za pomocą rozkazu "telnet", np. "telnet sp8dxz". SP8DXZ oznacza tu nie znak stacji a nazwę systemu - automatycznie uzupełnianą do sp8dxz.ampr.org przed rozpoczęciem poszukiwania jej adresu IP. Może to być także pseudonim np. "telnet tadeusz" pod warunkiem, że w zbiorze domain.txt znajduje się odpowiedni wpis. W oknie sesji wyświetlane są meldunki: "resolving sp8dxz...", "trying sp8dxz:telnet...", a następnie "telnet session 1 connected to sp8dxz". Nadanie znaku RETURN (jak to było konieczne w trakcie sesji AX.25) jest teraz zbędne. W odróżnieniu od sesji AX.25 konieczne jest przejście procedury zgłoszenia (zameldowanie się, ang. login), w trakcie której podawana jest nazwa własnej stacji i hasło dostępu. W odpowiedzi na żądanie "login" podaję więc "oe1kda" - bez dodatku ampr.org, a na żądanie "password" - moje hasło, np. "krzysztof". W trakcie pierwszej łączności należy podać nazwę "anonymous", "anon" lub "guest", a zamiast hasła - znak wywoławczy stacji, np. "oe1kda". Hasło używane w trakcie dalszych łączności musi być uzgodnione z operatorem stacji i wpisane przez niego do zbioru \net\ftpusers. Identyfikator systemu - SID - i tekst powitalny nadawane są dopiero po zakończeniu procedury zgłoszenia. Podobnie jak w przypadku połączenia AX.25 skrzynka NOS korespondenta nadaje swój znak gotowości zawierający tą samą listę rozkazów. Jedyną różnicą może być uzyskanie rozszerzonych uprawnień dostępu do zbiorów lub dalszego wyjścia przez bramkę TELNET, NETROM lub AX.25. Uprawnienia dostępu są zawarte w zbiorze \net\ftpusers korespondenta. Te same uprawnienia obowiązują także w trakcie transmisji zbiorów w trakcie sesji FTP. Do zakończenia sesji służy lokalny rozkaz "close" lub rozkaz B (BYE) dla skrzynki korespondenta. Rozkaz "disconnect" odnosi się tylko do sesji AX.25 i nie może być używany do zamknięcia innych sesji. Na zakończenie sesji wyświetlany jest meldunek: "Telnet session 1 closed:EOF" lub podobny. Oczywiście sesja TELNET jest także wymieniana w liście "sessions".
    Połączenie z własną skrzynką nawiązywane jest za pomocą rozkazu "telnet loopback", "bbs" lub "telnet <własny_znak>" (np. "telnet oe1kda" w moim przypadku). Procedura zgłoszenia jest za każdym razem identyczna. w zależności od zawartości zbioru \net\ftpusers można podać nazwę "anonymous", własną nazwę systemu ("oe1kda") lub "superuser" i uzyskać ustalone uprawnienia.
    Po uzyskaniu połączenia ze skrzynką korespondenta można nawiązać z nim dialog po podaniu rozkazu CHAT lub O (OPERATOR). Inną możliwością nawiązania dialogu jest rozpoczęcie sesji "ttylink", np. "ttylink sp8dxz", pod warunkiem, że korespondent uruchomił funkcję za pomocą rozkazu "start ttylink".
    Sesje TCP/IP wykorzystują w trakcie połączenia wspomniane uprzednio kanały logiczne. Zwykłe sesje (np. TELNET) korzystają z pojedyńczego kanału, bardziej skomplikowane - z większej liczby. Przykładowo sesja FTP korzysta z dwóch kanałów logicznych: jednego dla transmisji danych, drugiego - dla transmisji poleceń. Niezależnie od tego, w sposób ukryty dla użytkownika wykorzystywane są często dodatkowe kanały dla transmisji danych administracyjnych, np. zapytań o adresy (ARP). Niektóre z tych kanałów mają z góry przypisane znaczenie - są powiązane z określoną usługą. Do najważniejszych z nich należą:
7     - przeznaczony dla funkcji ECHO,
9     - - " - DISCARD,
20    - kanał danych FTP,
21    - kanał rozkazów FTP,
23    - kanał TELNET,
25    - kanał SMTP,
79    - kanał FINGER,
80    - kanał HTTP (czasami wykorzystywany jest kanał 8080),
87    - kanał TTYLINK (CHAT),
3600  - kanał konferencyjny o zasięgu światowym.

W standardzie TCP/IP zdefiniowanych jest ok. 370 kanałów. Każdy z nich może być bezpośrednio zaadresowany w rozkazie "telnet", np. rozkaz "telnet sp8dxz 87" jest równoznaczny z rozkazem "ttylink sp8dxz", "telnet sp8dxz 21" - z rozkazem "ftp sp8dxz" itd. Rozkaz "telnet" bez podania numeru kanału korzysta domyślnie z kanału 23. Numery kanałów dotyczą strony odbiorczej, numeracja kanałów po stronie nadawczej ma znaczenie drugorzędne. Jeszcze raz przypominam - numeracja kanałów logicznych związana jest z charakterem świadczonych usług. Sytuację obrazuje następujący przykład: klienci poczty kierują się do jednego okienka chcąc nadać paczkę a do innego w celu zapłacenia za telefon. We wszystkich rozkazach dopuszczalne jest użycie adresu numerycznego IP zamiast nazwy systemu, dlatego też zamiast "telnet sp8dxz" można podać rozkaz "telnet 44.165.132.13" jeżeli wiemy, że sp8dxz ma przyznany adres 44.165.132.13. Oczywiście dla wszystkich stacji wpisanych do zbioru \net\domain.txt lub w przypadku łatwego dostępu do adresowej bazy danych (DNS) praktyczniejsze jest podawanie ich nazwy.

4.3.1.7. SESJA PING

    Rozkaz "ping" służy do sprawdzenia trasy połączenia z wybraną stacją. W najprostszym przypadku wystarczy podanie rozkazu "ping sp8dxz" (lub "ping 44.165.132.13"). Jeżeli stacja jest osiągalna odpowiedzią jest czas propagacji pakietu (czas RTT - round trip time) w milisekundach, w przeciwnym przypadku brak jest odpowiedzi. Po upływie czasu oczekiwania wyświetlany jest meldunek o jego przekroczeniu. Pakiet próbny jest nadawany tylko raz. Możliwe jest także nadanie serii pakietów próbnych. Odstęp czasu między pakietami serii podawany jest jako parametr rozkazu, np. "ping sp8dxz 0 5000". Liczba 0 oznacza ilość dodatkowych bajtów informacyjnych zawartych w pakiecie próbnym (zasadniczo nie ma powodu do nadawania w tym miejscu dodatkowych danych), natomiast liczba 5000 oznacza odstęp czasu w milisekundach. W niektórych wersjach NOS czas ten podawany jest w sekundach. W przypadkach wątpliwych można przeprowadzić próbę, najlepiej korzystając z rozkazu "ping loopback".

4.3.1.8. SESJA FTP

    Protokół FTP steruje transmisją zbiorów danych. Przed rozpoczęciem transmisji zbiorów należy uzupełnić zbiór \net\autoexec.nos o następujące dane:
ftype binary - dopuszcza transmisję zbiorów dwójkowych oprócz tekstowych (kontroler TNC w trybie KISS transmituje dane w formacie 8-bitowym). W przypadkach gdy możliwa jest jedynie transmisja 7-bitowa należy podać tu "ftype ascii";
eol standard - ustala rodzaj znaku zakończenia linii.
    Sesja FTP inicjowana jest za pomocą rozkazu "ftp", np. "ftp sp8dxz" (lub "ftp 44.165.132.13"). W oknie sesji wyświetlane są meldunki: "resolving sp8dxz... trying sp8dxz:ftp... " i "FTP Session 1 connected to sp8dxz", a następnie meldunek funkcji FTP korespondenta, w rodzaju: "220 sp8dxz FTP version 921229 (WNOS) ready on Thu Sep 24 17:10:00 1998". Następnie należy przejść opisaną już powyżej procedurę zgłoszenia. Zapytaniem o nazwę stacji jest: "Enter user name:", a zapytaniem o hasło dostępu: "331 Enter PASS command". Nazwa stacji musi pokrywać się z wpisaną do zbioru \net\ftpusers u korespondenta, w przypadkach wątpliwych należy podać "anonymous". Hasło dostępu podawane jest w postaci: "pass oe1kda" - dla zgłoszenia "anonymous" lub "pass krzysztof" w pozostałych przypadkach. Potwierdzeniem jest meldunek "230 Logged in" i znak gotowości "ftp>". Do dyspozycji stoją następnie rozkazy (w zależności od przyznanych uprawnień):
cd <nazwa_katalogu> - służący do zmiany katalogu roboczego w komputerze korespondenta,
pwd - służący do wyświetlenia nazwy katalogu roboczego,
dir [katalog|nazwy] - do odczytu spisu treści katalogu, analogicznie jak w przypadku systemu operacyjnego DOS. Dla zawężenia spisu można użyć jokerów.
ls - do odczytu spisu treści w alternatywnym formacie.
get <nazwa> [<nazwa_lokalna>] - służy do odczytu podanego zbioru.
Dodatkowo można tu podać lokalną nazwę, pod którą zbiór ma być zapisany. W przypadku jej braku używana jest nazwa oryginalna.
Przykład "get nos.doc".
mget <nazwa> [<nazwa>...] - służy do wczytania większej liczby zbiorów, np. "mget *.doc",
put <nazwa_lokalna> [<nazwa_docelowa>] - służy do nadania zbioru do komputera korespondenta. W przypadku braku nazwy docelowej używana jest nazwa oryginalna.
mput <zbiór1> [<zbiór2>...] - służy do nadania większej liczby zbiorów; przed ich nadaniem należy przejść do pożądanego katalogu za pomocą lokalnego rozkazu "cd" (z poziomu interpretacji rozkazów NOS).
mkdir <nazwa_katalogu>
i
rmdir <nazwa_katalogu> - służą do założenia lub usunięcia podanego katalogu u korespondenta, jeżeli posiadamy odpowiednie uprawnienia.
dele <nazwa_zbioru> - służy do skasowania podanego zbioru pod warunkiem posiadania uprawnień.
    Rozkazy powyższe kwitowane są przez stronę przeciwną za pomocą meldunku: "200 Port command okay" i ewentualnych dalszych meldunków, jak "150 Openning data connection for...", na zakończenie transmisji nadawane są meldunki "226 File sent OK" lub "226 File received OK" z podaniem wielkości zbioru i czasu transmisji.
    Zakończeniem transmisji jest rozkaz "quit" dla stacji korespondenta lub lokalny rozkaz "close", jak w poprzednich przypadkach. Przerwanie transmisji zbioru następuje po podaniu rozkazu "abort", np "abort 1". W przypadku, gdy transmisja uległa zatrzymaniu z niewiadomych powodów, można ją wznowić za pomocą rozkazu "kick" (np. "kick 1"). Rozkaz ten może być także stosowany w trakcie dowolnych innych sesji.
    W przypadkach, gdy niemożliwa jest transmisja zbiorów dwójkowych należy je uprzednio zakodować za pomocą programu UUENCODE. Zbiory zakodowane mają rozszerzenie UU.
    Dla zautomatyzowania procedury zgłoszenia można założyć zbiór net.rc (znajdujący się w głównym katalogu NOS - c:\net\net.rc) i zawierający wpisy z podaniem własnej nazwy i hasła dostępu do systemu korespondenta. Format wpisów jest następujący:
system_korespondenta własna_nazwa hasło.
Poszczególne pola muszą być oddzielone pojedyńczym odstępem.
Przykład:
loopback oe1kda HASŁO_1
sp8dxz oe1kda HASŁO_KDA
sp6eek oe1kda HASŁO_2KDA

4.3.1.9. MELDUNKI W TRAKCIE SESJI

    Meldunki wymieniane w trakcie sesji FTP, a także niektórych innych jak SMTP czy POP są poprzedzone numerem, w którym poszczególne cyfry mają następujące znaczenie:
1-cyfra:
1 - wstępne potwierdzenie wykonania rozkazu,
2 - rozkaz wykonany,
3 - potwierdzenie połączone z oczekiwaniem na dodatkowe dane,
4 - wykonanie rozkazu narazie niemożliwe,
5 - odpowiedź negatywna, rozkaz odrzucony.
2-cyfra:
0 - błąd,
1 - informacja, np. status,
2 - odpowiedź w związku z połączeniem w kanale kontrolnym lub danych,
3 - odpowiedź związana ze zgłoszeniem się (ang. login),
4 - nie używana,
5 - informacja o stanie systemu zbiorów korespondenta i dostępie do nich.
Trzecia cyfra służy do odróżnienia meldunków o podobnym znaczeniu.

4.3.1.10. DIAGNOZA BŁĘDÓW

    W momencie wystąpienia trudności pomocne mogą być rozkazy SESSION, ASYSSTAT, NRSSTAT, AX25 STATUS, TCP STATUS, IP STATUS i TRACE. Rozkazy te są dostępne dla operatora stacji a nie dla jej korespondentów.

4.3.1.11. WIZYTA W SKRZYNCE NOS

    Po połączeniu (na poziomie protokółu AX.25 lub TELNET) ze stacją TCP/IP korespondent nawiązuje znajomość z jej skrzynką elektroniczną. Po zakończeniu procedury zgłoszenia skrzynka nadaje tekst powitalny i znak gotowości zawierający ok. 20 lub więcej skrótów rozkazów. Ich zestaw jest zależny od wersji NOS.
    Rozkazy te można podzielić na kilka zasadniczych grup. Pierwsza grupa obejmuje rozkazy związane z odczytem i transmisją poczty elektronicznej i zawiera polecenia: A (Area), AF, L (List), R (Read), V (Verbose), K (Kill) i S (Send). Druga z nich dotyczy transmisji zbiorów i obejmuje: D (Download), DU (Download UUencoded), U (Upload), W (What) i Z (Zap). Do grupy rozkazów węzła TCP/IP należą: C (Connect, Chat, Conv), J (Justheard), T (Telnet), O (Operator), N (Nodes), NR (Neighbour), P (Ports), PI (Ping), IP (IP-Adress) i IH (IP Heard). Do odczytu informacji o stacji i jej operatorze służy F (Finger), natomiast do wywołania tekstów pomocy - ? lub H z dodatkiem nazwy rozkazu, np. H A (HELP AREAS). Kontakt ze skrzynką zostaje przerwany po podaniu rozkazu B (BYE). Po nabyciu pewnej wprawy pełna linia zgłoszenia staje się zbędna - do jej skrócenia służy rozkaz X (eXpert). Teksty informacyjne wprowadzone przez operatora są odczytywane za pomocą rozkazu I (Info). Do wywołania listy użytkowników służy rozkaz M (MBUSERS).
    Rubryki skrzynki programu NOS określane są nazwą AREA, ich spis może być wywołany za pomocą rozkazu A (Area). Czasami dostępny jest też dodatkowy rozkaz AF powodujący wyświetlenie dodatkowych informacji o tych rubrykach. Zbiór \net\spool\areas zawiera spis rubryk wraz z dokładniejszymi opisami. Do zmiany rubryki roboczej służy rozkaz A z dodatkiem nazwy pożądanej rubryki, np. A TCPIP. Początkową rubryką roboczą jest rubryka prywatna korespondenta skrzynki. Oprócz niej dostępne są jedynie rubryki ogólne, z pozostałych rubryk prywatnych mogą korzystać jedynie ich właściciele. Rubryki prywatne są zakładane automatycznie w momencie napływu pierwszej wiadomości, natomiast rubryki ogólne muszą być założone przez operatora (ich nazwy muszą być wpisane do zbioru \net\spool\areas). Spis treści rubryki wywoływany jest za pomocą rozkazu L (List). Rozkaz R (z podaniem numeru wiadomości) służy do odczytania jej treści, np. R 10 - oznacza odczytanie wiadomości nr. 10, R 10 13 - odczytanie wiadomości 10 i 13. Nagłówek wiadomości (zawierający m.in. trasę retransmisji) nie jest wyświetlany. Do wyświetlenia wiadomości wraz z nagłówkiem należy posłużyć się rozkazem V (Verbose). Rozkaz K (Kill) z podaniem numeru powoduje skasowanie wybranej wiadomości, np. K 10. Wiadomość jest początkowo jedynie zaznaczona, a w rzeczywistości jest kasowana dopiero w momencie opuszczenia skrzynki.
     Do grupy rozkazów S (Send) należą: SP - rozpoczynający nadawanie wiadomości prywatnej, SB - nadanie wiadomości ogólnej (biuletynu), SR (z podaniem numeru) - odpowiedź na podaną wiadomość i SF - nadanie kopii wiadomości do wybranego adresata. Adres docelowy podawany jest w formacie UŻYTKOWNIK@KOMPUTER, np. OE1KDA@OE1KDA lub SP6EEK@SR6DOP. Możliwe jest także dokładniejsze określenie trasy retransmisji przez podanie stacji pośredniczącej w formacie: UŻYTKOWNIK%KOMPUTER@KOMPUTER2, np. SP6EEK%SR6DOP@SP6FIG. Wiadomość zostanie najpierw skierowana do stacji SP6FIG, gdzie zostanie przeadresowana do SP6EEK@SR6DOP. Możliwe jest też podanie większej liczby stacji pośredniczących (poszczególne człony oddzielone są znakami "%"), ale należy z tego korzystać jedynie w uzasadnionych przypadkach. Wymiana wiadomości ze stacjami TCP/IP (NOS) odbywa się pod kontrolą protokółu SMTP. Możliwa jest także wymiana wiadomości ze skrzynkami sieci AX.25.
    Rozkazy związane z transmisją zbiorów są istotne jedynie dla stacji AX.25 (pakiet radio). Stacje TCP/IP mogą skorzystać z wygodniejszych możliwości oferowanych przez protokół AX.25. Do grupy tej należą rozkazy:

D <nazwa> - (Download), odczytanie zbioru tekstowego zawartego w komputerze korespondenta, np. D NOS.DOC. Rozkaz DU (Download Uuencoded) pozwala na odczyt zbiorów dwójkowych (programów, obrazów). Przed nadaniem zbiory te są automatycznie kodowane za pomocą UUENCODE. Do ich zdekodowania u odbiorcy służy program UUDECODE, który musi być oddzielnie wywołany. Przykład: DU WNOS.EXE powoduje zakodowanie zbioru i nadanie go pod nazwą WNOS.UU. Po odebraniu zbioru należy zdekodować go posługując się poleceniem "UUDECODE < WNOS.UU". Dekoder musi być wywołany z poziomu DOS po zakończeniu pracy NOS lub za pomocą rozkazu "shell" (!) z poziomu NOS. Przed odebraniem zbioru należy zmienić katalog roboczy we własnym komputerze za pomocą lokalnego rozkazu "cd" (np. "cd /dump") i włączyć zapis zbioru na dysku (rozkaz "record", np. "record nos.doc" albo "record wnos.uu"). W przeciwnym przypadku odebrany zbiór zostanie jedynie wyświetlony na ekranie. W rozkazie "record" można także podać pełną ścieżkę dostępu, np. "record /dump/wnos.uu". Do wyłączenia zapisu służy polecenie "record off". Odebrane zbiory tekstowe mogą być wyświetlone na ekranie (z podziałem na strony) za pomocą rozkazu "more", np. "more nos.doc". Dla ułatwienia orientacji korzystne jest przeznaczenie oddzielnego katalogu dla odbieranych zbiorów, w naszym przykładzie jest to katalog /dump - nazwa może być oczywiście dowolna.
    Zbiory zakodowane w standardzie UU zawierają na początku pełną ścieżkę dostępu, np. "begin ... /wnos.exe". W razie potrzeby można przed zdekodowaniem dokonać jej zmiany za pomocą dowolnego edytora ASCII (zbiory zakodowane zawierają jedynie czytelne znaki ASCII). Standard UU przyjął się od dawna w środowisku UNIX. Nie ma żadnych przeciwwskazań przeciwko posługiwaniu się kodowaniem 7plus.

U <nazwa> - (Upload), nadanie zbioru tekstowego do skrzynki korespondenta. Zbiory dwójkowe muszą być uprzednio zakodowane (np. "UUENCODE < JVFAX.EXE > JVFAX.UU"). Jak dotąd nie ma możliwości automatycznego kodowania nadawanych zbiorów, czyli rozkazu UU analogicznego do DU. Po nadaniu rozkazu U należy poczekać na meldunek "Send File, terminate with /EX or ^Z in der first column (^A aborts):" lub podobny i następnie rozpocząć nadawanie zbioru za pomocą lokalnego rozkazu NOS "upload", np. net> upload faxfreq.lst.

W [<nazwa>] - (What), bez parametru służy do wywołania spisu treści katalogu, natomiast z podaniem nazwy - do zmiany katalogu roboczego. Dopuszczalne jest używanie jokerów dla ograniczenia spisu do pożądanych zbiorów, np. "what *.exe" analogicznie jak w systemie operacyjnym DOS. Katalog początkowy podany jest w zbiorze /ftpusers, najczęściej jest to katalog /public i katalogi w nim zawarte.

Z <nazwa> - (Zap), służy do skasowania podanego zbioru pod warunkiem posiadania odpowiednich uprawnień, np. Z /public/list.txt.
    Stacja TCP/IP jest jednocześnie węzłem sieci pośredniczącym w nawiązywaniu dalszych połączeń AX25, TCP/IP i NETROM ze stacjami indywidualnymi albo węzłami. Do dyspozycji korespondentów stoją następujące rozkazy:

C - (Connect), dla nawiązania połączenia ze stacją AX.25 należy podać nazwę złącza, np. C 144 SP8DXZ. Spis nazw wywoływany jest za pomocą rozkazu P (Ports), może on być też zawarty w tekstach informacyjnym (I) lub powitalnym. Nazwa złącza jest pomijana w rozkazach połączenia ze stacjami węzłowymi, np. C VK2PK-5. Zamiast znaku węzła można posłużyć się jego pseudonimem, np. C CSIRO. Spis osiągalnych stacji węzłowych wywoływany jest za pomocą rozkazu N. Rozkaz C bez podania znaku korespondenta (Chat) powoduje połączenie z operatorem stacji. W niektórych wersjach NOS do tego celu służy rozkaz O (Operator). Przejście do trybu konferencyjnego dokonywane jest za pomocą rozkazu CONV z podaniem numeru konferencji. Tryb konferencyjny pozwala na prowadzenie dyskusji w "kółeczkach". Do przerwania wyżej wymienionych połączeń służy kombinacja CTRL-X. W razie potrzeby można wybrać inny, dogodniejszy znak posługując się rozkazem E (Escape). W niektórych wersjach NOS zamiast rozkazu CONNECT występuje rozkaz GATEWAY.

J - (Justheard), służy do wywołania spisu odbieranych stacji (AX.25 i węzłów).

N - (Nodes), służy do wywołania listy dostępnych stacji węzłowych. Bramki internetowe umożliwiają połączenia z odległymi węzłami dostępnymi jedynie przez sieć kablową. W tym celu pakiety AX.25 są umieszczane wewnątrz datagramów internetu i retransmitowane przez sieć w celu rozpakowania po stronie przeciwnej i dalszej transmisji radiowej. Tego typu mieszane połączenie nazywane jest AXIP (pakiety AX wewnątrz datagramów IP). Nie pozwala ono na korzystanie z pozostałych zasobów sieci i służy jedynie do zastąpienia połączenia radiowego przez kablowe. Pełne sprzężenie bramki z siecią Internetu, pozwalające na dowolną wymianę informacji spowodowałoby przenikanie do sieci amatorskiej wiadomości o tematyce sprzecznej z duchem krótkofalarstwa i dlatego nie jest pożądane, pomimo że nie stanowi to istotnego problemu technicznego. Moim zdaniem, mimo atrakcyjności tego typu połączeń ich procentowy udział w sieci amatorskiej nie powinien być zbyt duży ze względu na uzależnienie jej funkcjonowania od sieci i urządzeń profesjonalnych, a jednocześnie może ułatwić argumentację instytucjom zainteresowanym w ograniczeniu szerokości pasm amatorskich. Korzystanie z pośrednictwa sieci komercyjnych niesie ze sobą nieraz znaczne koszty co zaowocowało przekonaniem, że jedynie użytkownicy partycypujący w nich mają prawo korzystać ze wszystkich usług danego węzła natomiast wszyscy pozostali są całkowicie lub częściowo wyłączeni z korzystania z węzła. Nie jest to zgodne z duchem krótkofalarstwa i również z tego powodu nie należy zbytnio uzależniać sieci amatorskiej od dostawców komercyjnych.

N <znak> - pozwala na wywołanie dodatkowych informacji o trasie połączenia z danym węzłem.

NR - (Neighbour), powoduje wyświetlenie spisu sąsiednich węzłów. W spisie tym zawarte są dodatkowe informacje o jakości połączenia i inne. Rozkaz ten nie występuje we wszystkich wersjach NOS.

TELNET <nazwa_systemu> - służy do nawiązania połączenia TELNET z wybraną stacją. Dzięki temu stacje AX.25 mogą także korzystać z niektórych możliwości sieci TCP/IP. Zamiast nazwy systemu można oczywiście podać pełny adres IP w postaci numerycznej, a w razie potrzeby także numery kanałów logicznych. Niektóre z węzłów TCP/IP oferują także rozkazy skrócone, np. TOR zamiast TELNET TORUŃ(.AMPR.ORG.).

IH - pozwala na wywołanie spisu odbieranych stacji TCP/IP. Rozkaz ten nie wszędzie występuje.
IP - informuje o adresie IP skrzynki.
    W niektórych wersjach programu NOS występuje też rozkaz PI (PIng) pozwalający na sprawdzenie trasy połączenia (patrz sesja ping).
    Dodatkowe informacje o stacji, jej operatorze i wyposażeniu mogą być wywołane za pomocą rozkazu F (Finger), np. F SYSOP@OE1KDA. Wiadomości te muszą być uprzednio wpisane przez operatora do zbioru \net\finger\sysop. F @OE1KDA wywołuje spis zbiorów zawartych w katalogu \net\finger.

4.3.1.12. SPIS ROZKAZÓW STACJI NOS

    Dla ułatwienia orientacji poniżej podana jest pełna lista rozkazów dostępnych dla korespondentów stacji NOS w porządku alfabetycznym.

Rozkaz Znaczenie
A <nazwa> Zmiana rubryki roboczej.
AF Wywołanie spisu rubryk z objaśnieniem.
B Przerwanie połączenia.
C <kanał> <znak> Nawiązanie połączenia ze stacją AX.25
C <znak> Nawiązanie połączenia ze stacją NETROM.
CHAT Nawiązanie połączenia z operatorem
CONV Przejście do trybu konferencyjnego.
D <nazwa> Odczyt podanego zbioru.
DU <nazwa> Odczyt wiadomości zakodowanej w formacie UUENCODE.
E Zmiana znaku przerywającego połączenie.
F <użytkownik> Wywołanie informacji o stacji i jej operatorze.
G Odpowiada rozkazowi C.
H, ? Wywołanie pomocy.
H <rozkaz> Wywołanie pomocy dotyczącej podanego rozkazu.
I Wywołanie tekstu informacyjnego.
IH Wywołanie spisu odbieranych stacji TCP/IP.
IP Informuje o adresie IP skrzynki.
J Wywołanie spisu odbieranych stacji.
K <numer> Skasowanie wybranej wiadomosci.
L Wywołanie spisu wiadomości w bieżącej rubryce.
M Wywołanie spisu użytkowników skrzynki.
N Wywołanie spisu dostępnych stacji węzłowych.
N <znak> Wywołanie informacji o trasie połączenia z podanym węzłem.
NR Wywołanie spisu sąsiednich stacji węzłowych.
O Nawiązanie połączenia z operatorem.
P Wywołanie spisu kanałów we/wy.
PI Ping - sprawdzenie trasy połączenia.
R <numer> Odczyt wybranej wiadomości.
S <adres> Nadanie wiadomości.
SB <adres> Nadanie biuletynu.
SF <adres> Wysłanie kopii przeczytanej wiadomości pod wskazany adres.
SP <adres> Nadanie wiadomości prywatnej.
SR Nadanie odpowiedzi na przeczytaną wiadomość.
T <nazwa systemu> Nawiązanie połączenia Telnet.
U <nazwa> Nadanie zbioru do skrzynki.
V <numer> Odczyt wybranej wiadomości z nagłówkiem.
W Wywołanie spisu treści bieżącego katalogu.
W <nazwa> Zmiana katalogu roboczego.
X Zmiana znaku gotowości (monitu).
Z <nazwa> Skasowanie podanego zbioru.


4.3.1.13. LISTA ROZKAZÓW NOS

    Przytoczona lista stanowi przykładowy wybór najważniejszych rozkazów pakietu TCP/IP w porządku alfabetycznym. Liczba i formaty rozkazów różnią się znacznie w poszczególnych wersjach programu. Wiele z nich może być używanych w zbiorze autoexec.net (autoexec.nos).
    W pracy programu net rozróżniamy dwa tryby: 1. rozkazowy (sygnalizowany za pomocą zgłoszenia "net>", "nos>" lub podobnego)
2. konwersacji.
    Po nawiązaniu dowolnego rodzaju połączenia program znajduje się w trybie konwersacji, przejście do trybu rozkazowego dokonywane jest za pomocą klawisza F10 (w komputerach PC/XT/AT) lub odpowiedniego znaku ESCAPE (w innych typach komputerów).
    W trybie konwersacji możliwe są dwa rodzaje pracy:
1. nadawanie całej linii po naciśnięciu klawisza RETURN (klawisze CTRL-U, CTRL-R, "kasowanie" pozwalają wówczas na korekcję błędów), - ang. cooked,
2. nadawanie każdego znaku bezpośrednio po jego wprowadzeniu (ang. raw). Ten drugi rodzaj możliwy jest tylko w protokóle TELNET.
    Klawisz RETURN pozwala na przejście z trybu rozkazowego do konwersacji w ramach aktywnego posiedzenia (TTYLINK, TELNET, AX.25, FTP, NET/ROM itp.). Rozkaz:
! - powoduje przejście do systemu operacyjnego DOS i wywołanie dowolnego rozkazu lub programu;
# - zapoczątkowuje komentarze w zbiorze autoexec.net i innych;
at hh.mm rozkaz - powoduje wykonanie podanego rozkazu w określonym momencie czasu, podobnie jak w systemie operacyjnym UNIX;
attended on|off - powoduje poinformowanie korespondentów o obecności lub nieobecności operatora stacji. Powinien być podawany na bieżąco w zależności od potrzeb;
arp - powoduje wyświetlenie tabeli arp (zawartej w zbiorze \net\routes.net lub \net\arproute.dat). Tabela arp zawiera przyporządkowanie nazw stacji i ich adresów w protokóle ETHERNET albo znaków wywoławczych. Np. stacja oe1kda może używać w trakcie łączności TCP/IP znaku oe1kda-5. Jej korespondenci powinni wprowadzić to powiązanie do tabeli za pomocą rozkazu arp add oe1kda ax25 oe1kda-5.
arp add <nazwa_systemu> ether|ax25|netrom <adres_ethernet>|<znak_wyw> - uzupełnia tą tabelę a rozkaz
arp drop <nazwa_systemu> ether|ax25|netrom - kasuje informację z niej.
arp publish <nazwa_systemu> ether|ax25|netrom <adres_ethernet>|<znak_wyw> - aktywuje odpowiedzi na zapytania innych systemów;
attach <typ_złącza> <adres_IO> <wektor_intr> <tryb> <nazwa> <rozmiar_bufora> <dł_datagramu> <szybkość> - informuje program NOS o typie stosowanych złączy i ich parametrach. Złącze szeregowe nosi nazwę asy lub com. "Adres_IO" jest adresem początkowym zespołu rejestrów złącza np. dla złącza COM1 jest to 0x3f8 a dla złącza COM2 - 0x2f8 (w zapisie szesnastkowym).
Wektor_intr oznacza numer wektora przerwań (IRQ), dla złącza com 1 jest to 4, dla złącza COM2 - 3. Pole "tryb" pozwala na wybór protokółu komunikacji z modemem, w systemach UNIX rozpowszechniony jest protokół SLIP, w komunikacji z kontrolerami TNC - KISS, w komunikacji z kontrolerami TNC wyposażonymi w oprogramowanie NET/ROM/TheNet - NRS, dla złącza ethernet - protokół arpa. W polu nazwy podane jest dowolne oznaczenie kanału, jak ax0 czy 144. Rozmiar bufora odbiorczego dla protokółu AX.25 podany jest w bajtach, dla protokółu ethernet oznacza liczbę pakietów. Datagramy przekraczające podaną długość są dzielone przez protokół IP na mniejsze jednostki, w łącznościach AX.25 podział powodowany jest też przekroczeniem maksymalnej długości pola informacyjnego pakietu - ustalonego za pomocą rozkazu paclen. Rozkaz attach musi być poprzedzony rozkazami ax25 mycall i ip address w zbiorze autoexec.nos (autoexec.net). Pole "szybkość" definiuje szybkość wymiany danych między komputerem i kontrolerem TNC.
Przykłady rozkazów dla różnych konfiguracji (pod systemami operacyjnymi DOS i Windows):
1) kontroler TNC pracujący w trybie KISS podłączony do złącza COM1
attach asy 0x3f8 4 ax25 ax0 1024 576 9600
2) kontroler TNC (KISS) podłączony do złącza COM2
attach asy 0x2f8 3 ax25 ax0 1024 576 9600.
3) kontroler TNC (KISS) podłączony do złącza COM3
attach asy 0x3e8 3 ax25 ax0 1024 576 9600.
4) kontroler TNC (KISS) podłączony do złącza COM4
attach asy 0x2e8 3 ax25 ax0 1024 576 9600.
5) sterownik AX25 wpółpracujący z modemem BayCom
attach packet 0x60 ax0 5 512
6) kontroler TNC z oprogramowniem NET/ROM/TheNet podłączony do złącza COM1
attach asy 0x3f8 4 nrs ax0 1024 576 9600
Przykład dla systemu operacyjnego UNIX:
1) attach asy 0 /dev/tty000 ax25 1024 576 9600
asysstat - wyświetla statystykę komunikacji przez złącze szeregowe;
ax25 definiuje wiele parametrów łącza AX.25. Niektóre z nich są oczywiste (odpowiadają parametrom kontrolera TNC - porównania odnoszą się do oprogramowania TAPR), dlatego też przytoczone są bez dokładniejszego omówienia:
ax25 bc ax0 on - włączenie nadawania tekstu radiolatarni;
ax25 bc interval <liczba> - odstęp czasu między transmisjami tekstu radiolatarni (w sekundach). Odpowiada rozkazowi beacon every dla kontrolera TNC;
ax25 bctext <tekst> - definiuje tekst radiolatarni. Odpowiada rozkazowi btext dla kontrolera TNC;
ax25 digipeat on|off - steruje funkcją retransmisji pakietów;
ax25 flush - powoduje skasowanie listy odebranych stacji;
ax25 heard on|off - jest analogiczny do rozkazu mheard kontrolera TNC i wywołuje listę słyszanych stacji;
ax25 maxframe <liczba> - jest identyczny z rozkazem maxframe kontrolera TNC;
ax25 mycall <znak> - wprowadza znak wywoławczy operatora. Musi występować przed rozkazem attach w zbiorze autoexec.nos;
ax25 bbscall <znak> - definiuje znak wywoławczy prywatnej skrzynki elektronicznej pakiet radio (mbox). Odpowiada rozkazowi mybbs występującemu w niektórych wersjach oprogramowania kontrolerów TNC;
ax25 paclen <wartość> - definiuje długość pola informacyjnego pakietów numerowanych typu I. Odpowiada rozkazowi paclen dla kontrolerów TNC. Bez znaczenia dla nienumerowanych pakietów typu UI transmitujących datagramy TCP/IP;
ax25 reset - powoduje jednostronne przerwanie połączenia AX.25;
ax25 retry <liczba> - ustala dopuszczalną liczbę powtórzeń. Odpowiada rozkazowi retry kontrolera TNC;
ax25 route ... - grupa rozkazów służaca do aktualizacji listy tras łączności na poziomie protokółu AX.25. Grupa ta jest omówiona w dalszym ciągu rozdziału;
ax25 status - wywołuje informację o stanie połączenia;
ax25 t1|t2|t3 <wartość> - ustala wartości odpowiednich ograniczeń czasowych w sekundach. T1 oznacza ograniczenie czasu retransmisji (FRACK), t2 ograniczenie czasu odpowiedzi (ang. ack delay timer - resptime), t3 - ograniczenie czasu kontroli aktywności (ang. keep alive timer - check). Czasy te powinny odpowiadać warościom domniemanym oprogramowania kontrolera TNC; w niektórych wersjach NOS występuje też czas t4 - jest to czas, po upływie którego przerywane są nieużywane sesje AX.25;
ax25 version 1|2 - wybór wersji protokółu AX25. Obecnie stosowana jest tylko wersja 2;
ax25 window - rozmiar bufora odbiorczego;
bbs - grupa rozkazów obsługujących skrzynkę elektroniczną. Zestaw rozkazów jest omówiony powyżej;
close <numer_sesji> - regularne przerwanie połączenia w każdym z protokółów;
comm ax0 <tekst> - powoduje nadanie tekstu do urządzenia peryferyjnego. Może służyć do przełączenia kontrolera TNC w tryb KISS;
connect <nazwa_złącza> <znak_stacji> <znak_przekaźnika> ... - nawiązanie połączenia w protokóle AX.25;
detach ax0 - logiczne odłączenie urządzenia peryferyjnego, przeciwieństwo rozkazu attach;
dir [<nazwa_katalogu>] - wyświetlenie zawartości katalogu lub podanie nazwy katalogu bieżącego;
disconnect [<nr_sesji>] - zakończenie łączności w protokóle AX.25;
domain .... - grupa rozkazów aktualizujących zbiór domain.txt;
domain suffix - definiuje rozszerzenie nazw stacji. W sieci amatorskiej stosowane jest rozszerzenie ampr.org;
domain list - powoduje wyświetlenie listy stacji dysponujących bazą danych osiągalnych stacji (ang. domain name server - DNS);
domain dropserver - powoduje usunięcie podanej stacji z listy;
echo accept|refuse - decyduje o tym, czy znaki wyświetlane na ekranie są echem lokalnym czy echem strony przeciwnej;
eol unix|standard - dla systemu operacyjnego UNIX znaki CR (ang. CARRIAGE RETURN) tłumaczone są na znaki LF (ang. LINE FEED);
etherstat - wywołanie informacji o stanie łącza ethernet;
exit - zakończenie pracy programu net (nos);
finger - <nazwa_użytkownika> [@<nazwa_systemu>] - pozwala na odczytanie informacji o wymienionym użytkowniku (danego systemu). Informacje te umieszczone są w zbiorze \net\finger i mogą zawierać imię, nazwisko, adres, dane posiadanego sprzętu, wiadomości o innych zainteresowaniach lub hobby itp. Ze wzlędów praktycznych nie powinny być one zbyt rozwlekłe;
ftp <nazwa_systemu>|<adres_IP> - zapoczątkowanie posiedzenia FTP;
    W trakcie transmisji zbiorów w protokóle FTP użytkownik ma do dyspozycji następujące rozkazy:
abort - przerwanie procesu wywołanego przez rozkazy get, put lub dir,
dir - odczytanie zawartości katalogu, ls - skrócona forma listy dir,
pwd - podanie nazwy aktualnego katalogu;
dele <nazwa_zbioru> - skasowanie podanego zbioru u korespondenta;
get <nazwa_zbioru> - transmisja pożądanego zbioru od korespondenta;
put <nazwa_zbioru> - transmisja zbioru do korespondenta;
mkdir <nazwa> - utworzenie podanego katalogu po stronie przeciwnej,
rmdir <nazwa> - skasowanie podanego katalogu;
type a|i|l <długość> - definiuje typ transmitowanego zbioru jako ASCII lub dwójkowy, podanie długości konieczne jest tylko w przypadku komunikacji systemów o różnych szerokościach słowa;
quit - zakończenie sesji ftp;
help - wyświetlenie informacji pomocniczych;
host <nazwa_systemu> - poszukuje adresu internetowego dla systemu o podanej nazwie (znaku wywoławczym) lub adresie ethernet w tabeli \net.hosts.net lub przez odpowiednie zapytania w sieci. Podanie adresu internet powoduje odpowiednio podjęcie poszukiwań nazwy czy adresu ethernet;
hostname <nazwa> - wprowadzenie nazwy własnego systemu;
log stop|<zbiór> - steruje lokalnym zapisem przebiegu łączności;
ip - definiuje parametry konieczne dla warstwy IP i pozwala na kontrolę stanu połączenia;
ip address <adres> - wprowadza adres internet własnego systemu. W zbiorze autoexec.nos musi występować przed rozkazem attach;
ip status - wywołuje informację o stanie połączenia;
ip ttl <wartość> - ogranicza liczbę retransmisji datagramu IP;
mbox - pozwala na konfigurację skrzynki elektronicznej;
mbox attend on|off - informuje użytkowników skrzynki o obecności lub nieobecności operatora;
mbox motd <tekst> - definiuje tekst powitalny dla użytkowników skrzynki;
mbox maxmsg <liczba> - określa maksymalną liczbę wiadomości w skrzynce;
mode <oznaczenie_kanału> vc|datagram - datagramy przesyłane są w postaci nienumerowanych pakietów UI (datagram) lub standardowych pakietów I (vc). W przypadku łączności w protokółach TCP/IP korzystniejsze jest użycie pakietów nienumerowanych; Zasadniczo przyjmuje się, że połączenia vc powinny być stosowane jeżeli na trasie leżą trzy lub więcej przekaźników cyfrowych;
mode netrom vc|datagram - rodzaj połączenia w transmisjach NET/ROM;
netrom .... - grupa rozkazów definiująca parametry węzła NET/ROM i retransmisji datagramów przez węzły NET/ROM;
nrsstat - wyświetla statystykę łączności przez łącze NET/ROM;
param - steruje pracą kontrolera TNC w trybie KISS. Znaczenie parametrów i zakresy ich wartości omówione są w punkcie poświęconym trybowi KISS. Rozkaz "param ax0 255" powoduje opuszczenie trybu KISS;
ping <nazwa_systemu>|<adres_IP> - wysyła (w protokółe ICMP/IP) zapytanie do systemu o podanej nazwie lub adresie internetowym. Odpowiedź programu echo, czynnego po stronie przeciwnej pozwala na stwierdzenie aktywności stacji oraz czasu transmisji danych w łączu, przez co możliwa jest diagnoza jego stanu;
ps - wykaz czynnych programów (procesów);
pwd <nazwa_katalogu> - odpowiada rozkazowi cd;
record <nazwa_zbioru>|off - pozwala na rejestrację bieżącej sesji łączności;
route add <adres_stacji>|default oznaczenie kanału - i
route drop <adres_stacji> - dokonują odpowiednich zmian w tabeli adresów arp. Adres może być podany w postaci pełnej lub skróconej oznaczającej całą grupę adresów jak [44]/8, [44.165]/16 itp. Po ukośnej kresce podana jest liczba znaczących bitów pozwalająca na grupowanie stacji. Protokół IP przeszukuje tabelę a dla adresów brakujących stosuje dane domniemane (ang. default). Wybór tras omówiony jest dalej;
setenv - odpowiada rozkazowi set systemu MS-DOS i wyświetla lub zmienia wartości zmiennych środowiskowych;
session [<numer>] - pozwala na zmianę aktywnego posiedzenia, o ile aktywne jest więcej niż jedno posiedzenie np. TELNET i FTP. Bez podania numeru wyświetla listę aktywnych posiedzeń;
shell - wywołanie systemu MS-DOS bez opuszczania programu net (nos).
smtp - steruje wymianą poczty elektronicznej;
smtp gateway <nazwa_systemu> - definiuje najdogodniejszy węzeł do retransmisji poczty;
smtp kick - rozpoczyna nadawanie przygotowanej poczty, rozkaz ten podawany jest automatycznie w ustalonych odstępach czasu;
smtp maxclients <liczba> - ogranicza liczbę czynnych równolegle kanałów SMTP;
smtp timer <wartość> - ustala odstępy czasu pomiędzy kolejnymi próbami transmisji poczty. Odstęp ten podawany jest w sekundach;
start - uruchamia odpowiednie moduły programu, co jest warunkiem podjęcia łączności przez stronę przeciwną np. start Telnet, start FTP, start SMTP, start echo, start discard, start ttylink, start finger, start ax25, start netrom. Z przedstawionych członów dodatkowego omówienia wymaga jeszcze discard. Jego reakcja podobna jest do reakcji programu echo z tym, że wszystkie odebrane znaki są odrazu kasowane;
stop - wyłącza wybrane moduły;
tail <nazwa_zbioru> - przeglądanie końca podanego zbioru;
tcp - steruje pracą protokółu TCP;
tcp irtt <wartość> - ustala początkową wartość spodziewanego czasu odpowiedzi;
tcp kick <adres_tcp> - powoduje rozpoczęcie natychmiastowej retransmisji oczekujących danych;
tcp mss - ogranicza maksymalną długość datagramu TCP;
tcp reset <adres_tablicy> - jednostronne przerwanie połączenia TCP;
tcp rtt <adres_bloku> <wartość> - zastępuje wartość podanego lub sprawdzanego czasu odpowiedzi dla danego połączenia;
tcp status <adres_bloku> - wywołuje informacje o stanie określonego połączenia;
tcp window <wartość> - określa maksymalną liczbę nie potwierdzonych oktetów TCP;
telnet <nazwa_korespondenta|adres_IP> - nawiązuje połączenie telnet z podanym korespondentem;
trace <nazwa_łącza> <rodzaj>|allmode|cmdmode - pozwala na wyświetlenie pełnej zawartości pakietów dla kontroli stanu łącza. Rodzaj kontroli określany jest za pomocą słowa kontrolnego TIO gdzie O = 1 pozwala na wyświetlanie pakietów nadawanych, I = 1 - odbieranych a T określa zawartość wyświetlanej informacji T = 0 powoduje wyświetlenie nagłówków, T = 1 - wyświetlenie informacji zawartej w pakiecie, T = 2 - wyświetlenie zawartości nagłówka i pakietu. Zawartość pakietów może być wyświetlana zawsze lub tylko w rozkazowym trybie pracy (cmdmode) albo niezależnie od wybranego trybu (allmode). Rozkaz ten może być wykorzystany do podglądu komunikacji radiowej lub w celu poszukiwania błędów i problemów. Wyświetlanie wszystkich odbieranych informacji możliwe jest po podaniu rozkazu trace ax0 0211;
ttylink nazwa_korespondenta - nawiązuje dialog z podanym korespondentem. Odpowiada kombinacji rozkazów TELNET i CONV (dla skrzynki elektronicznej);
udp status - informuje o stanie połączenia protokółu UDP;
upload <nazwa_zbioru> - powoduje nadanie podanego zbioru w trakcie łączności w protokóle AX.25 lub TELNET;
? - odpowiada rozkazowi help.



Wydanie z dn. 20.03.1999.

© Prawa autorskie Krzysztof Dąbrowski, OE1KDA.