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.
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.
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.
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.
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ń.
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".
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".
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.
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".
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
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.
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.
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.
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.
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
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
domain list - powoduje wyświetlenie listy stacji dysponujących bazą danych osiągalnych
stacji (ang. domain name server - DNS);
domain dropserver
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
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.