DOS TCP/IP - odsłona druga

W numerze 3/1994 Netforum Tomasz Ryś w artykule "DOS TCP/IP vs DOS TCP/IP" przedstawił możliwości trzech komercyjnych pakietów oprogramowania TCP/IP dla MS-DOS/MS-Windows: PC/TCP, PC-NFS oraz Super-TCP/NFS for Windows. Błędne byłoby jednak przekonanie, że dostęp z PC do świata TCP/IP (i do tego, co w tym świecie najciekawsze - sieci Internet z jej przeogromnymi zasobami informacji) jest możliwy tylko za sprawą drogich aplikacji komercyjnych. Analogiczne możliwości dają nam liczne programy należące do kategorii public domain lub shareware, umożliwiając za niewielką sumę lub wręcz za darmo naszemu PC korzystanie z dobrodziejstw Internetu.

Zakres usług TCP/IP jest bardzo szeroki. Są wśród nich usługi absolutnie podstawowe, niezbędne dla jakiegokolwiek korzystania z sieci przez włączony w nią komputer, jak telnet i ftp; są także liczne dodatki, ułatwiające pracę użytkownikowi i rozszerzające możliwości dostępu do różnych zasobów informacji. Niektóre z tych usług, jak np. rlogin, lpr czy NFS, predestynowane są raczej do zastosowania w sieciach lokalnych, w których wszystkie komputery wykorzystywane są przez tę samą grupę użytkowników; z drugiej strony, istnieje cała gama usług typowo Internetowych, których zastosowanie w sieci lokalnej, choć technicznie możliwe, byłoby po prostu bezsensowne. Przykładem może tu być gopher - system umożliwiający łatwe przeglądanie za pomocą bardzo prostego menu zasobów informacji (tekstowych, graficznych, dźwiękowych, czy też w postaci np. programów wykonywalnych, które można skopiować do swojego komputera) znajdujących się w specjalnie do tego celu stworzonych archiwach w rozlicznych komputerach na całym świecie; multimedialna "młodsza siostra" gophera - World Wide Web (ogólnoświatowa pajęczyna), w której informacje przechowywane są w postaci hipertekstu; archie - przeszukujący zasoby światowych archiwów anonymous ftp w poszukiwaniu interesującego nas tytułu; czy też Usenet News - forum ogólnoświatowej, niekończącej się dyskusji w przeszło trzech tysiącach grup tematycznych, począwszy od administrowania systemem operacyjnym Unix, poprzez dowcipy erotyczne, aż do medytacji Zen. Trudno na koniec nie wspomnieć o takiej "klasyce", jak poczta elektroniczna (e-mail), która, choć może znaleźć zastosowanie także i w sieciach lokalnych, w pełni pokazuje swoje możliwości dopiero przy takim ogólnoświatowym zasięgu.

Charakterystyczną cechą oprogramowania public domain i shareware realizującego TCP/IP jest większe skupienie się ich autorów właśnie na tych "długozasięgowych" usługach, podczas gdy twórcy pakietów komercyjnych raczej mają na względzie zastosowanie ich w sieciach lokalnych. Świadczy o tym chociażby fakt, że bardzo niewiele jest implementacji public domain czy shareware NFS-a, a z drugiej strony, dla usług takich jak np. gopher istnieje niemal tylko oprogramowanie public domain, i to we wszystkich systemach operacyjnych.

Zanim przejdę do omówienia konkretnych pakietów, trzeba tu zrobić jeszcze jedną uwagę, która aczkolwiek w zasadzie oczywista, może umknąć uwadze użytkowników znających TCP/IP w jego klasycznej wersji Unixowej, czy w innych systemach wielozadaniowych. Otóż wszystkie usługi TCP/IP bazują na systemie klient-serwer, co oznacza, że aby dana usługa, np. telnet, mogła zostać zrealizowana, z jednej strony "drutu" (na jednym komputerze) musi zostać uruchomiony program żądający dostępu do tej usługi (klient), np. wpisując komendę "telnet" uruchamiamy klienta telnetu, natomiast na komputerze, z którym się łączymy, musi znajdować się stale gotowy i oczekujący na żądania przychodzące od klientów program - serwer, realizujący daną usługę. W systemach wielozadaniowych, takich jak Unix, serwery te realizowane są w sposób naturalny przez procesy systemowe pracujące "w tle" i praktycznie niewidoczne dla użytkownika, tzw. demony; w przypadku PC pracującego pod DOS-em uruchomienie takiego serwera oznaczałoby - ze względu na brak wielozadaniowości - zablokowanie komputera dla jakichkolwiek innych zastosowań, co jest oczywiście bez sensu. Dlatego też w przypadku oprogramowania TCP/IP pod DOS-a, tak komercyjnego, jak i shareware czy public domain, stykać się będziemy w zdecydowanej większości tylko z programami typu klient. Więcej aplikacji typu serwer dostępnych jest dla MS-Windows, ponieważ ze względu na możliwość uruchamiania w tym systemie kilku programów jednocześnie uruchomienie serwera nie powoduje zablokowania komputera dla innej pracy; oprogramowanie TCP/IP dla Windows to jednak temat na inny artykuł.

Niemal wszystkie niekomercyjne programy TCP/IP współpracują z kartami sieciowymi poprzez sterowniki standardu packet driver, wymyślonego kiedyś przez firmę FTP Software dla potrzeb swojego pakietu PC/TCP. Taką popularność standard packet driver zawdzięcza dostępności, tworzonego i rozwijanego przez specjalnie powołaną w tym celu firmę Crynwr Software, darmowego pakietu o nazwie Crynwr Packet Driver Collection, zawierającego dziesiątki packet driverów dla niemal wszystkich typów kart sieciowych. Stąd też możemy mieć niemal pewność, że jeżeli nawet na dyskietce dołączonej do naszej karty sieciowej producent nie umieścił odpowiedniego packet drivera, znajdziemy go w kolekcji Crynwr. Istnieją zresztą również packet drivery dla innych mediów transmisyjnych niż Ethernet - np. dla łącza szeregowego RS-232, a więc w szczególności możliwe jest realizowanie połączenia TCP/IP przez modem (tzw. SLIP).

Po zainstalowaniu odpowiedniego do naszej karty sieciowej packet drivera, co na ogół sprowadza się do dodania jednej linijki w pliku CONFIG.SYS lub AUTOEXEC.BAT, możemy przystąpić do wyboru pakietu (lub pakietów) TCP/IP, którymi będziemy się posługiwać.

Najstarszym i "najbardziej zasłużonym" z pakietów TCP/IP dla DOS-u jest NCSA Telnet, napisany w National Center for Supercomputing Applications na University of Illinois. Jego wariant, zmodyfikowany i wyposażony w pewne ulepszenia przez Clarkson University, znany jest pod nazwą CUTCP (Clarkson University TCP; aczkolwiek dalszym rozwojem tego pakietu zajmuje się obecnie Rutgers College, pozostawiono oryginalną nazwę). Jak widać, obydwa te programy powstały i są rozwijane w środowisku akademickim, i w tymże środowisku zyskały sobie ogromną popularność, "dorabiając się" pozycji nieformalnego standardu; na uczelniach całego świata w zdecydowanej większości do łączenia PC-tów z siecią TCP/IP używa się właśnie tych pakietów. Obydwa pakiety są programami public domain, co więcej, rozpowszechniane są z pełnym kodem źródłowym, co pozwala na ich dowolne modyfikacje oraz tworzenie na ich bazie nowych programów.

Obydwa pakiety zawierają w zasadzie podobny zestaw podstawowych narzędzi do pracy w TCP/IP: trzonem obydwu pakietów są programy telnet i ftp; ponadto obydwa pakiety zawierają programy do obsługi wydruku na zdalnych drukarkach (lpr, lpq, lprm). CUTCP zawiera dodatkowo ping oraz wersję telnetu realizującą emulację tn3270; NCSA z kolei (w najnowszej, znacznie rozszerzonej wersji) zawiera finger, klienta whois, program do synchronizacji czasu systemowego ze zdalnym komputerem (zwykle Unixowym) posiadającym zainstalowany tzw. timeserver, bardzo prostą wersję programu rsh oraz program (NET14) pozwalający traktować połączenie TCP/IP ze wskazanym komputerem jak symulowany port szeregowy, co pozwala uruchamiać "klasyczne" programy komunikacyjne przeznaczone do pracy przez modem, np. Telix. Jak widać z tego przeglądu, pakiet NCSA Telnet oferuje więcej różnych narzędzi; z drugiej strony robią one wrażenie, zwłaszcza owe "dodatki", znacznie mniej dopracowanych w stosunku do programów z pakietu CUTCP.

Centralny program pakietów NCSA Telnet oraz CUTCP jest czymś więcej niż tylko "zwykłym" klientem telnetu (a w wersji CUTCP - także rlogin i rsh, aczkolwiek te funkcje program realizuje w bardzo niewygodny sposób). Dzięki wewnętrznej współbieżności pozwala on na równoległe otwarcie wielu sesji do tego samego lub różnych komputerów i szybkie przełączanie się między otwartymi sesjami. Możliwe jest dowolne zdefiniowanie kombinacji znaków wysyłanych przez każdy klawisz na klawiaturze i to nawet różne dla różnych komputerów, z którymi się łączymy. Z "klasycznych" modemowych programów komunikacyjnych zapożyczone zostały funkcje takie jak wykonywanie zapisywanych w specjalnym języku skryptów, pozwalających na automatyczne wykonywanie pewnych czynności np. podczas logowania do zdalnego systemu, kopiowanie do pliku wszystkich tekstów wyświetlanych przez zdalny system, czy możliwość cofnięcia się do poprzednich wierszy tekstu, które już "uciekły" z ekranu (scrollback), przechowywanych w specjalnym buforze. Co bardzo ważne, program zawiera wbudowany serwer ftp i rcp, aktywny podczas jego pracy; dzięki temu nie trzeba przerywać sesji telnetowej chcąc w trakcie pracy przetransmitować plik pomiędzy zdalnym komputerem i swoim PC; wykonuje się po prostu ftp "w tył": ze zdalnego komputera do PC. Program sam inicjuje taką sesję ftp po wciśnięciu kombinacji klawiszy ALT-T, co zwalnia nas od pamiętania i żmudnego wpisywania własnego numeru IP.

Wszystkie programy obu pakietów są całkowicie niezależne od siebie (poza korzystaniem ze wspólnego pliku konfiguracyjnego); tak więc można umieścić na dysku tylko te, z których rzeczywiście będziemy korzystać. Używanie "mieszanki" programów z obu pakietów również nie stanowi żadnego problemu. Ogromną zaletą pakietów NCSA Telnet i CUTCP (a zwłaszcza tego drugiego) jest niezwykle rozbudowany plik konfiguracyjny, pozwalający bardzo szczegółowo dostroić parametry pracy systemu, poczynając od podstawowych, niezbędnych informacji typu adres IP komputera, na którym system jest instalowany, poprzez rozmaite parametry transmisji protokołów TCP/IP, udogodnienia w rodzaju listy nazw komputerów (i odpowiadających im numerów IP), które będą rozpoznawane przez system lokalnie, bez konieczności odwoływania się do usług nameservera (znacznie przyspiesza to proces połączenia z często wykorzystywanymi komputerami), aż do drugorzędnych detali w rodzaju kolorów, jakimi będą odwzorowane na ekranie różne atrybuty tekstów przesyłanych przez zdalny system w sesji telnetowej, czy wysokości dźwięków sygnalizujących zdarzenia w rodzaju rozpoczęcia czy zakończenia transmisji ftp. Konfiguracja systemu dokonywana jest wprawdzie całkowicie ręcznie, poprzez wpisanie edytorem właściwych wartości do pliku konfiguracyjnego CONFIG.TEL, ale dzięki jego bardzo czytelnej strukturze oraz obfitym kilkulinijkowym kometarzom do każdej pozycji (wskutek tych komentarzy "wzorcowy" plik CONFIG.TEL zamieszczony w pakiecie ma długość 18 KB !) odbywa się w zasadzie bezproblemowo. Oba pakiety obsługują przydział adresów IP i innych podstawowych parametrów sieciowych centralnie z serwera sieci lokalnej, za pomocą protokołów RARP lub BOOTP (ten ostatni tylko w wersji CUTCP; w NCSA z protokołem BOOTP są problemy).

O ile pakiety NCSA Telnet/CUTCP swoją ideą i zakresem oferowanych usług są zbliżone do pakietów komercyjnych typu PC/TCP, o tyle drugi pakiet, który chcę przedstawić w tym artykule, o wdzięcznej nazwie Minuet, nastawiony jest już wyraźnie na usługi typowo Internetowe. Mówi o tym zresztą sama nazwa, Minuet bowiem to skrót od Minnesota INternet Users Essential Tools - pakiet powstał na University of Minnesota i jest najnowszym, jeszcze świeżym "hitem" oprogramowania TCP/IP na PC.

W przeciwieństwie do pakietów NCSA i CUTCP, zawierających wiele oddzielnych programów, Minuet jest jednym dużym programem obsługującym naraz telnet, ftp, gophera, pocztę elektroniczną, Usenet News i jeszcze parę innych drobiazgów. Już z wyglądu jest to inny świat niż NCSA Telnet/CUTCP: o ile oblicze tego ostatniego charakteryzowało się siermiężnością "czystego" Unixa na terminalach znakowych, o tyle Minuet to środowisko kolorów, okienek i menu Turbo Vision. Nawet ów terminal znakowy Unixa inaczej wygląda w okienku ze znaków graficznych PC-ta, z paskiem menu u góry, opisem klawiszy funkcyjnych u dołu i kursorem myszy, za pomocą którego można zaznaczać i kopiować w inne miejsce dowolny fragment tekstu w okienku telnetu (!!!) - powtarzanie skomplikowanych komend Unixa, w których zrobiło się błąd, przepisywanie długich nazw plików czy adresów e-mailowych przestaje być problemem. Niestety, w przeciwieństwie do CUTCP czy NCSA program umożliwia tylko jedną sesję telnetową naraz; ale autorzy zapowiadają wprowadzenie wielu równoczesnych sesji w następnych wersjach (Minuet jest jeszcze ciągle w stadium tzw. public beta version). Za to równocześnie z telnetem pracować mogą wszystkie inne oferowane przez program usługi. Swoistą rewelacją jest graficzny klient ftp, prezentujący zawartości katalogów zdalnego komputera w postaci drzewka podobnego jak w niegdyś popularnym programie Xtree i umożliwiający wybór pliku do przetransmitowania przez proste wskazanie klawiszami kursora i Enter (lub myszą), bez konieczności wypisywania skomplikowanych komend, jak w "klasycznym" ftp. W podobnym "okienkowo - myszowym" wystroju zrealizowany jest klient gophera (w Minueta "wmontowano" ulepszoną wersję programu PC Gopher, zrealizowanego uprzednio przez ten sam zespół jako samodzielna aplikacja). Oczywiście podczas trwania transmisji pliku przez ftp czy gophera można nadal pracować przez telnet - Minuet wykazuje w tym zadziwiającą sprawność, nawet na wolnych łączach, dlatego byłby chyba znakomitym narzędziem do pracy przez połączenia typu SLIP. Swoje okienka mają ping, finger, niezwykle pożyteczny drobiazg ochrzczony mianem "IP Finder", umożliwiający "rozszyfrowanie" numeru IP dla podanej nazwy domenowej komputera, a wreszcie... słownik Webstera - oczywiście poprzez Internet, z ustalonego w konfiguracji programu komputera, na którym pracuje serwer tej usługi (są takie!). Nie brakuje oczywiście standardowych w Turbo Vision pomocy, takich jak kalkulator, tablica znaków ASCII i edytor do plików tekstowych, umożliwiający wykonywanie notatek "na boku" czy po prostu przeglądanie znajdujących się na dysku plików. Użytkowników pakietu PC/TCP firmy FTP Software ucieszy zapewne fakt, że Minuet wykrywa jego obecność i potrafi z nim współpracować.

"Sercem" Minueta, przynajmniej w założeniu autorów (bo np. mnie najbardziej atrakcyjny wydał się klient ftp), jest moduł obsługi poczty elektronicznej i Usenet News. Moduł ten jest rozwinięciem wcześniejszego produktu University of Minnesota - programu POPmail i zachowuje wszystkie jego możliwości. Poczta odbierana jest przez Minueta za pośrednictwem protokołu POP (Post Office Protocol); użytkownik musi dysponować kontem na komputerze np. Unixowym wyposażonym w serwer POP, który będzie odbierał przeznaczoną dla niego pocztę i przechowywał ją do czasu przejęcia jej na dysk PC przez Minueta (jest to zresztą typowe rozwiązanie stosowane w oprogramowaniu pocztowym na PC). Wysyła pocztę Minuet również w sposób typowy: do tego samego komputera, z którego ją odbiera; jego oprogramowanie pocztowe troszczy się już o przekazanie listu dalej. Podobnie moduł obsługujący Usenet News w standardowy sposób komunikuje się z serwerem tej usługi poprzez NNTP (Network News Transport Protocol). Charakterystyczną cechą Minueta jest natomiast daleko posunięta integracja tych dwu usług: redagowanie i wysyłanie wiadomości zarówno pocztą, jak i poprzez Usenet News odbywa się za pomocą tej samej funkcji programu (możliwa jest zresztą wysyłka równocześnie obydwiema tymi drogami), włączając w to również typowe dla oprogramowania pocztowego funkcje odpowiedzi oraz przekazania dalej otrzymanej wiadomości (forward), które potrafią tutaj działać także "na krzyż"; wiadomość otrzymana pocztą lub odpowiedź na nią może być przesłana do Usenet-u i na odwrót. Wszechobecna funkcja "cut & paste" pozwala przy tym na bezproblemowe kopiowanie adresów odbiorców listu z treści wiadomości lub z dowolnego innego miejsca, np. z komunikatów wyświetlanych w okienku telnetu lub z dowolnego pliku tekstowego wczytanego do okienka edytora.

Przedstawione dwa pakiety nie wyczerpują oczywiście listy dostępnego jako public domain i shareware oprogramowania TCP/IP dla DOS-u. O ich wyborze jako przykładów zadecydowała ich popularność (urastająca w przypadku pakietu NCSA Telnet/CUTCP do rangi nieformalnego standardu akademickiego), jak również uniwersalność - szeroki zakres obejmowanych przez nie usług. Istnieje oczywiście wiele innych programów, zarówno powielających niektóre z ich funkcji, jak i udostępniających usługi w opisanych pakietach nie zawarte, np. Trumpet Newsreader (Usenet News) i Trumpet IRC (klient Internet Relay Chat - wieloosobowe rozmowy "na żywo") Petera Tattama, czy też DosLynx (klient World Wide Web) Garretta Blythe z University of Kansas. Warto też wspomnieć o istnieniu takiego pakietu jak Waterloo TCP (WATTCP), będącego biblioteką procedur dla języka C umożliwiającą pisanie własnych aplikacji TCP/IP. Do pakietu tego dołączono kilka gotowych aplikacji (m.in. ping, finger); czytając ich wersje źródłowe można się przekonać, że programowanie z użyciem biblioteki WATTCP jest naprawdę proste. Istnieje także wiele pakietów przeznaczonych do pracy pod kontrolą Microsoft Windows, a także w sieciach lokalnych, w szczególności Novell Netware; to jednak już temat na oddzielny artykuł.

Omawiane w tekście oprogramowanie można otrzymać przez anonymous ftp z następujących źródeł:

Osoby zainteresowane tematyką oprogramowania TCP/IP dla DOS-u mogą znaleźć więcej informacji w grupie dyskusyjnej Usenet-u comp.protocols.tcp-ip.ibmpc, a szczególnie w rozsyłanym systematycznie (co miesiąc) w tej grupie dokumencie FAQ (Frequently Asked Questions). Tekst ten jest również osiągalny przez anonymous ftp z komputera ftp.zilker.net jako plik /pub/mailcom/IBMTCP/ibmtcp.zip. Warto zapoznać się również z bardzo ciekawym przeglądem różnych programów TCP/IP dla DOS-u i Windows (komercyjnych i niekomercyjnych) i ich możliwości - ftp.cac.psu.edu:/pub/dos/info/tcpip.packages (plik tekstowy).


* NCSA Telnet, Minuet i POPmail nie są już dostępne na komputerze ftp.cyf-kr.edu.pl
** Obecnie pakiet CUTCP nie jest dostępny na komputerze ftp-ns.rutgers.edu. Poszukaj go na innych serwerach za pomocą archie.


Jarosław Rafa 1994. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 15.03.96, ostatnia aktualizacja adresów 9.11.96.


Powrót do wykazu artykułów o Internecie Statystyka