Sterowniki LAN pod DOS
Podobnie jak w większości innych systemów operacyjnych, chcąc uzyskać w DOS-ie dostęp do Internetu musimy zainstalować dwie warstwy oprogramowania. Pierwszą z nich jest sterownik sieciowy, zapewniający przesyłanie z i do naszego komputera odpowiednich pakietów danych, zgodnych ze standardem TCP/IP; drugą - korzystające z tego sterownika aplikacje, czyli programy służące do realizacji konkretnych usług w Internecie: e-maila, WWW, IRC... Z tego samego sterownika może na zmianę (jako że w DOS-ie brak wieloprogramowości...) korzystać wiele różnych aplikacji - w tym celu musi istnieć wspólny standard komunikowania się aplikacji ze sterownikiem. Ze zrozumiałych względów interesować nas będzie głównie oprogramowanie niekomercyjne - zresztą prawie wyłącznie ono "pozostało na placu boju", jako że firmy komercyjne produkujące niegdyś oprogramowanie TCP/IP dla DOS-u przerzuciły się niemal całkowicie na środowisko Windows (wyjątkiem jest chyba jedynie firma FTP Software, wciąż sprzedająca swój pakiet PC/TCP w wersji dla DOS-u). W zasadzie wszystkie niekomercyjne aplikacje Internetowe dla DOS-u współpracują ze sterownikami sieciowymi zgodnymi ze standardem packet driver (sterownik pakietowy), stworzonym niegdyś właśnie przez wspomnianą firmę FTP Software. Sterowniki pakietowe przeznaczone są zasadniczo do obsługi kart sieciowych; wśród oprogramowania dostarczanego przez producenta wraz z zakupioną kartą znajduje się z reguły zawsze również sterownik standardu packet driver. Problemem bywa czasami pogodzenie obsługi karty przez sterownik pakietowy z konkretną siecią lokalną zainstalowaną w danej instytucji; nie każdy system sieciowy potrafi bezpośrednio pracować "nad" sterownikiem pakietowym, niektóre z nich wymagają wyłącznie własnych sterowników. W Internecie dostępny jest cały szereg specjalnych sterowników - niejednokrotnie napisanych w bardzo wyrafinowany sposób - których zadaniem jest bezkolizyjne pogodzenie możliwości pracy np. z siecią Novell Netware, czy DOS-owym klientem sieci Windows, i równocześnie ze sterownikiem pakietowym; to jednakże temat wykraczający już nieco poza ramy tego artykułu.W przypadku połączenia z Internetem przy użyciu karty sieciowej odpowiedni dla danego typu karty sterownik pakietowy ładowany jest zwykle w pliku AUTOEXEC.BAT, co zapewnia wszystkim uruchamianym później aplikacjom stałą łączność z siecią bez żadnych dalszych zabiegów. Konfiguracja zatem istotnie jest w tym przypadku bardzo prosta.Pierwszą - i chyba najtrudniejszą - czynnością, którą musimy wykonać, aby połączyć się z Internetem, jest zatem zainstalowanie odpowiedniego sterownika pakietowego wraz z dialerem. W Internecie dostępnych jest kilka tego typu programów, zarówno dla połączeń PPP, jak i SLIP. Jednym z najpopularniejszych, o ile nie wręcz najpopularniejszym, sterownikiem PPP dla DOS-u jest wspomniany już DOSPPPD - DOS-owy odpowiednik Unixowego demona PPP, napisany przez Hiszpana Antonio Lopeza. Używane są też programy EtherPPP - napisany na uniwersytecie Michigan, oraz Klos PPP - komercyjny produkt firmy Klos Technologies, dostępny także w wersji shareware'owej. Natomiast do połączeń typu SLIP wykorzystać można pakiet UMSLIP z uniwersytetu Minnesota, bądź programy SLIPPER i CSLIPPER Petera R. Tattama, autora znanego Trumpet Winsocka dla Windows (adresy serwerów, z których można "ściągnąć" wszystkie opisywane w artykule programy, podane są na końcu tekstu).
W pakiecie DOSPPPD zawartych jest kilka wersji sterownika, zapewniających różne możliwości. Podstawowa wersja programu zawarta jest w pliku o nazwie PPPD.EXE. Współpracuje ona poprawnie z większością aplikacji Internetowych, istnieją jednak takie, które potrafią obsługiwać jedynie sterowniki pakietowe dla kart sieciowych i nie działają ze sterownikiem PPP. Dla takich aplikacji przeznaczony jest - zajmujący nieco więcej pamięci - plik EPPPD.EXE, emulujący - z punktu widzenia aplikacji - taki właśnie sterownik karty. Tej wersji sterownika używamy też, gdy chcemy wykorzystać protokół BOOTP, pozwalający na łatwe konfigurowanie aplikacji (zob. dalej). Dostępne są również wersje ułatwiające śledzenie ewentualnych błędów występujących podczas nawiązywania połączenia (PPPDD.EXE i EPPPDD.EXE), a także - spakowane w osobnym pliku .ZIP - wersje obsługujące autoryzację użytkownika przy użyciu protokołu CHAP, gdy provider Internetu stosuje ten sposób autoryzacji (sytuacja raczej rzadko spotykana). W pakiecie zawarty jest oprócz tego dialer CHAT (będący także przeniesieniem z Unixa), możliwe jest jednak użycie innego dialera - np. opisywana dalej przeglądarka WWW Arachne używa DOSPPPD w połączeniu z własnym dialerem o nazwie Miniterm.
Wiele cennych informacji na temat konfigurowania DOSPPPD znaleźć można w dołączonym do pakietu pliku SAMPLES.TXT, opisującego różne przykładowe konfiguracje, wraz z plikami wsadowymi służącymi do nawiązywania połączenia i uruchamiania poszczególnych aplikacji. Najprostsza konfiguracja, która powinna być odpowiednia dla większości typowych zastosowań, sprowadza się do utworzenia (za pomocą zwykłego edytora ASCII, np. z Norton Commandera) pliku PPPD.CFG
Nim będziemy mogli rozpocząć korzystanie z aplikacji Internetowych, pozostaje do wykonania jeszcze jeden ważny krok: ich konfiguracja. W przeciwieństwie do Windows, gdzie warstwa oprogramowania realizująca protokół TCP/IP (tzw. stos TCP/IP) jest wydzielona w postaci odrębnego modułu, tzw. Winsocka, z którego usług korzystają wszystkie aplikacje, w DOS-ie każda aplikacja ma własny, wbudowany w siebie stos TCP/IP (taka sytuacja ma miejsce w przypadku aplikacji niekomercyjnych: pakiety komercyjne, np. wspomniany już PC/TCP, mają zwykle wspólny stos TCP/IP, wykorzystywany przez wszystkie aplikacje, co upraszcza konfigurację, ale zarazem uniemożliwia - albo przynajmniej znacznie utrudnia - równoczesne wykorzystywanie aplikacji nie przeznaczonych dla danego pakietu). Oznacza to, że w Windows wystarczy dane niezbędne do skonfigurowania TCP/IP, takie jak adres IP naszego komputera czy adresy serwerów DNS, podać tylko raz - w konfiguracji Winsocka, natomiast w DOS-ie trzeba je konfigurować w każdej aplikacji oddzielnie. Oznacza to jednak zarazem inny, poważniejszy problem. Adresy serwerów DNS i inne podobne parametry z reguły nie zmieniają się i można je wpisać w konfiguracji na stałe, natomiast adresy IP przy połączeniach modemowych zwykle przydzielane są dynamicznie, tak więc przed zainicjowaniem połączenia PPP nie możemy z góry wiedzieć, jaki będziemy mieć adres IP. W środowisku Windows Winsock jest ściśle zintegrowany ze sterownikiem PPP i otrzymuje tę informację podczas nawiązywania połączenia; w DOS-ie sterownik PPP i stosy TCP/IP wbudowane w poszczególne aplikacje są niezależne, trzeba więc wymyślić jakąś metodę przekazywania adresu IP ze sterownika do aplikacji.
Wszystkie wersje sterownika DOSPPPD po zainicjowaniu połączenia PPP - przed wyjściem do DOS-u - tworzą w bieżącym katalogu na dysku plik wsadowy o nazwie IP-UP.BAT, który może być wykorzystany do skonfigurowania aplikacji. Uruchomienie tego pliku (trzeba to zrobić w sposób jawny; plik nie jest uruchamiany automatycznie) zapamiętuje w zmiennych środowiskowych DOS-u szereg wartości parametrów aktualnego połączenia. Najistotniejszą spośród nich jest zmienna MYIP, przechowująca aktualny adres IP naszego komputera. Niektóre aplikacje Internetowe (np. omawiany dalej Minuet) potrafią wykorzystać tę zmienną bezpośrednio: jeżeli w konfiguracji programu pole przeznaczone na wpisanie adresu IP jest puste, program sprawdza, czy w środowisku DOS-u zdefiniowana jest zmienna o nazwie MYIP, a jeżeli tak - z niej właśnie pobiera adres IP. Inne aplikacje umożliwiają podanie adresu IP w sposób jawny jako parametru w komendzie uruchamiającej program - nietrudno napisać plik wsadowy, wykorzystujący do tego również wspomnianą zmienną środowiskową. Najbardziej "trikowa" metoda, szczegółowo zaprezentowana we wspomnianym już kilkakrotnie pliku SAMPLES.TXT, polega na bezpośrednim modyfikowaniu, w oparciu o wartość tej zmiennej, plików konfiguracyjnych używanych przez aplikacje.
Najprostszym i najbardziej uniwersalnym sposobem konfigurowania aplikacji jest jednak wykorzystanie protokołu BOOTP. Protokół ten jest standardową metodą stosowaną w sieciach lokalnych do dynamicznego przydzielania adresów IP komputerom podłączonym do sieci: niemal każda aplikacja TCP/IP dla DOS-u potrafi go obsługiwać. Aby skorzystać z BOOTP, należy - w zależności od programu - miejsce w pliku konfiguracyjnym przeznaczone na wpisanie adresu IP pozostawić puste, wpisać adres 0.0.0.0 lub tekst "bootp".
Zastosowanie protokołu BOOTP w sieci lokalnej wymaga obecności specjalnego serwera, który przydziela adresy IP kolejnym zgłaszającym się komputerom. Sterownik EPPPD.EXE symuluje pracę takiego serwera, przechwytując wysyłane przez programy zapytania o adres IP, i przekazując w odpowiedzi do programu analogiczny pakiet danych, jak wysyłany przez "prawdziwy" serwer BOOTP. Jeżeli korzystamy z tego sposobu konfiguracji, warto dopisać do pliku PPPD.CFG adresy używanych przez nas serwerów DNS, co umożliwi automatyczne przekazywanie ich do aplikacji - nie będziemy musieli ich tam jawnie wpisywać. Robi się to przy użyciu parametru "namsrv"; np. korzystając z numeru dostępowego TP S.A. dopiszemy do pliku PPPD.CFG następujące wiersze:
namsrv 194.204.159.1
namsrv 194.204.152.34
