Rozdział 8. ¨ Struktura sieciowych systemów operacyjnych 195
u Funkcje oprogramowania dla sieci LAN.
u Oprogramowanie klienta PC.
u Typy serwerów.
u Struktura oprogramowania serwera.
u System to sieciowy system operacyjny.
„Protokoły” raz jeszcze
Objaśnienie pojęcia protokoły sieciowe pojawia się w tej książce kilkukrotnie, jednak za każdym razem w nieco innym kontekście. Protokoły sieciowe to umowy dotyczące pakowania, rozliczania i transmisji danych w sieci. Producenci i organizacje branżowe opracowują umowy, a poszczególne firmy starają się napisać oprogramowanie, które będzie zgodne z tymi umowami. Niektóre próby są bardziej udane inne mniej, ale po kilku miesiącach stosowania metody „prób i błędów” (często prób wykonywanych i błędów doświadczanych przez nabywców pierwszych wersji oprogramowania) producenci są w stanie zaoferować prawidłowo działające programy. W protokołach nie ma nic tajemniczego. Są one po prostu porozumieniami dotyczącymi tego, co i jak powinno działać.
Niniejszy rozdział stanowi poszerzony przegląd koncepcji sieciowych systemów operacyjnych opisanych w rozdziale 4., „Praktyczny przewodnik po sieciach LAN”. Opisane tu zostaną funkcje różnych rodzajów oprogramowania serwerów, klienckich stacji roboczych i stanowiących podstawę wszystkiego protokołów komunikacyjnych. W następnym rozdziale zostaną przedstawione bardziej szczegółowe informacje dotyczące produktów, takich jak Windows, NetWare i Unix.
Ważną cechą systemów sieci LAN, takich jak Ethernet, ARCnet i Token-Ring, które zostały opisane w poprzednich rozdziałach, jest całkowita niezależność sprzętu sieciowego od oprogramowania sieciowego. Kiedyś firmy takie jak IBM i Digital wiązały systemy sieciowe z konkretnymi systemami operacyjnymi, jednak ich konkurenci przeforsowali międzynarodowe, otwarte standardy. Dzisiaj rzadkością jest sytuacja, w której określony sprzęt sieciowy wymusza stosowanie określonego oprogramowania. W szczególności zawdzięczamy to powszechnej popularności Ethernetu.
W rozdziale 7. opisano podstawy standardów Ethernet, ARCnet i Token-Ring.
Rozdział 6. zawiera wszystkie informacje na temat okablowania.
Informacje o współpracy kart sieciowych z komputerami PC zawiera rozdział 5.
W dalszej części tej książki Czytelnik może zapoznać się z systemami NetWare i Microsoft Windows NT.
W tym miejscu warto przypomnieć cztery koncepcje, z którymi Czytelnik już zetknął się we wcześniejszych rozdziałach:
u Głównym celem oprogramowania sieciowego jest umożliwienie współużytkowania zasobów – na przykład drukarek, dysków twardych i łączy komunikacyjnych – pomiędzy klientami sieci.
u Podstawową funkcją oprogramowania sieciowego jest sprawienie, aby odległe zasoby były dostępne jak zasoby lokalne.
u Oprogramowanie sieciowe realizuje te same funkcje niezależnie od systemu operacyjnego. Nazwy produktów i protokołów mogą się zmieniać, ale idea jest taka sama do Windows, dla Uniksa, dla MacOs i dla innych systemów operacyjnych.
Wszystkie systemy są sieciowe...mniej więcej
Najważniejsze współczesne systemy operacyjne to Microsoft Windows 2000, NetWare, Sun Solaris, Linux i różne odmiany Uniksa. Faktem jest, że systemy operacyjne Windows 98 i MacOS firmy Apple mają wbudowane możliwości sieciowe i pewne podstawowe moduły funkcjonalne, jednak funkcje sieciowe w tych systemach mają charakter drugorzędny względem ich podstawowych funkcji.
u Do formatowania, adresowania i niezawodnego przesyłania danych poprzez sieci system operacyjny używa warstw oprogramowania o określonych regułach zachowania, zwanych protokołami.
Sieciowy system operacyjny nie jest jednym programem, ale raczej zestawem programów. Niektóre z tych programów działają na komputerach w roli serwerów różnego rodzaju, inne z kolei pełnią rolę klientów. Obecnie moduły programowe które realizują funkcje sieciowe wydają się integralną częścią systemów operacyjnych w rodzaju Microsoft Windows 95/98 czy Sun Solaris, jednak ich zadania są w dalszym ciągu odrębne.
Oprogramowanie sieciowe na serwerach umożliwia równoczesny dostęp wielu użytkowników do napędu dysków, drukarek i innych urządzeń, takich jak modemy, interfejsy komunikacyjne czy telefaksy a jednocześnie steruje tym dostępem.
Oprogramowanie sieciowe na stacjach klienckich przechwytuje żądania usług generowane przez programy użytkowe, a następnie przeadresowuje je do odpowiedniego serwera w celu realizacji.
Komputery korzystające z zasobów sieciowych powszechnie nazywa się klientami (client). Komputer-klient używa dysków twardych, łączy komunikacyjnych i drukarek podłączonych do serwera, tak jakby były one podłączone lokalnie. W niektórych sieciowych systemach operacyjnych stacje klienckie mogą również działać jako serwery, ale dzisiaj wiele komputerów w sieciach LAN działa jako pewna forma serwera. Biurowy PC może udostępniać innym klientom PC w sieci swój napęd CD-ROM, drukarkę czy port komunikacyjny.
Oto kilka istotnych punktów pozwalających zrozumieć, w jaki sposób oprogramowanie sieciowe wykonuje swoje zadania:
u klienty PC używają wspólnych zasobów udostępnianych przez serwery,
u klient PC nie zawsze wymaga specjalnych aplikacji,
u specjalne programy (readresatory) kierują żądania do serwerów,
u oprogramowanie warstwy transportowej przesyła dane przez kabel,
u istnieje wiele rodzajów serwerów.
Punkty te zostały szczegółowo objaśnione w poniższych podrozdziałach. Na rysunku 8.2 przedstawiono graficznie warstwy oprogramowania sieciowego w sieciach Microsoftu, Novella i sieciach TCP/IP. Z uwagi na ilość odwołań do tego rysunku w treści niniejszego rozdziału, najlepiej będzie zaznaczyć odpowiednią stronę zakładką.
Kiedy serwer nie jest serwerem?
Pojęcia serwer i klient opisują funkcję komputera w sieci; nie mówią one nic na temat mocy lub pojemności komputera pełniącego daną funkcję. Ponadto terminy te nie wykluczają się nawzajem; często jakiś komputer działa jako serwer pewnego rodzaju – w szczególności jako serwer wydruków – i jednocześnie jako klient. Producenci sprzętu sprzedają produkty zaprojektowane do pełnienia funkcji serwera, ale nie są faktycznie serwerami, dopóki ich napędy i porty nie zostaną udostępnione klientom sieci. Funkcja jest ważniejsza niż sprzęt.
Mapowanie dysków
Funkcja wiązania zasobów z współużytkowanymi napędami dysków lub portami nazywa się mapowaniem (mapping to inaczej przypisanie lub odwzorowanie). Z punktu widzenia aplikacji mapowane dyski działają tak samo, jak dyski lokalne.
Oprogramowanie przeadresowujące w każdym komputerze-kliencie umożliwia korzystanie z zasobów dostępnych w siecipodobnie, jak z zasobów lokalnych, a także daje dostęp do programów znajdujących się na innych komputerach i pozwala komunikować się z poszczególnymi użytkownikami sieci. Polecenia systemu operacyjnego lub niektóre funkcje programów użytkowych, które odnoszą się do dysków oznaczonych na przykład D:, E: lub F: (przy założeniu, że są to tak zwane dyski sieciowe, czyli zasoby udostępniane przez inne komputery w sieci – przyp. tłum.), są przeadresowywane i kierowane poprzez sieć do odpowiednich serwerów plików. Podobnie działają programy, które wysyłają dane wyjściowe na drukarkę i używają do tego celu portu wymienionego na liście obok lokalnych portów komputera.
Readresator i elementy programowe przesyłające dane wyjściowe readresatora poprzez sieć to moduły systemu operacyjnego stacji klienckiej. Readresator działa w ramach systemu operacyjnego tak, że pewne typy żądań programów użytkowych lub bezpośrednio użytkownika są kierowane do realizacji poprzez kartę sieciową a nie do lokalnych dysków twardych lub portów We/Wy. To administrator systemu za pomocą poleceń menu lub z wiersza poleceń programuje readresator, tak aby żądania adresowane do napędu dysków o odpowiednim oznaczeniu literowym lub do określonego portu We/Wy były przeadresowywane do określonych zasobów sieciowych.
Na przykład w sieci z systemem NetWare Novella, w celu przeadresowania żądań do dysku F: na podkatalog KONTA na dysku o nazwie WOLUMEN1, znajdującym się na serwerze SERWER1, należy użyć następującego polecenia:
MAP F: = SERWER1/WOLUMEN1:KONTA
W systemie NetWare polecenia tego rodzaju są zwykle częścią systemowego skryptu logowania przypisanego poszczególnym użytkownikom. Skrypty takie – centralnie administrowane – dają każdemu użytkownikowi indywidualny obraz zasobów sieciowych. Tworzenie i utrzymywanie różnych skryptów logowania dla różnych kategorii użytkowników to ważne zadanie administratorów sieci. W systemach z graficznym interfejsem użytkownika, takich jak Windows czy MacOS, zasoby udostępniane w sieci wybiera się, klikając myszką ich ikonę, by następnie zaznaczyć odpowiednie polecenie menu, jednak w procesie tym wykorzystuje się tę samą koncepcję mapowania odległych zasobów literami lokalnych napędów dysków lub nazw portów.
Dodatkowa warstwa programowa w kliencie zajmuje się przesłaniem żądania usługi zgłoszonego przez aplikację z readresatora do karty sieciowej i dalej do sieci. Oprogramowanie to składa się z trzech części:
u interfejsu do programowania aplikacji (application programming interface – API),
u części do komunikacji sieciowej, posługującej się określonym protokołem,
u sterowników dostosowanych do karty sieciowej.
Rysunek 8.1 przedstawia powiązanie pomiędzy readresatorem a oprogramowaniem warstwy transportowej. Rysunek 8.2 pokazuje w jaki sposób systemy Windows, NetWare i Unix wpasowują się w siedmiowarstwowy model OSI.
Rysunek 8.1.
Związek pomiędzy readresatorem a oprogramowaniem warstwy transportowej.
Powiązania
Podpis rysunku przeniosłem do ramki na marginesie
pomiędzy readresatorem a oprogramowaniem warstwy transportowej
Novell nazywa swoje oprogramowanie przeadresowujące na stacji klienckiej „powłoką” (shell), aby podkreślić, że otacza ono system operacyjny i przechwytuje wszelkie żądania danych, a także komendy z programów użytkowych i bezpośrednio z klawiatury. Microsoft instaluje readresatora klienta Windows razem z innymi modułami oprogramowania sieciowego, takimi jak moduły warstwy transportowej. Shell Novella i readresator Microsoftu kierują odebrane komunikaty do karty sieciowej poprzez oprogramowanie warstwy transportowej, na przykład NetBIOS, TCP lub SPX/IPX Novella. Każdy sterownik jest skonfigurowany odpowiednio do marki i modelu karty sieciowej.
Interfejs do programowania aplikacji (API) to w rzeczywistości specyfikacja określająca, w jaki sposób programy użytkowe (na przykład edytory tekstu, programy graficzne, arkusze kalkulacyjne) współdziałają z dyskowym lub sieciowym systemem operacyjnym. Specyfikacja ta określa między innymi przerwania programowe wysyłane przez program w celu zgłoszenia żądania usługi oraz format danych zawartych w żądaniu.
Rysunek 8.2.
Systemy Windows, NetWare, Unix w modelu OSI
Protokoły
j.w.
i standardy sieciowe
Każda z głównych rodzin systemów operacyjnych zbudowana jest z modułów realizujących pewne usługi. Struktura tych modułów jest interesująca z teoretycznego punktu widzenia, ale ma również ważne znaczenie praktyczne. Określa bowiem co z czym współpracuje! Istnieje wiele dziwnych hybryd, o których Czytelnik mógł słyszeć, na przykład SMB Microsoftu działających z TCP/IP lub SNMP z IPX. Jednak najrozsądniej jest trzymać się protokołów sieciowych pochodzących z jednej rodziny. Należy zwrócić uwagę, że Internet wymusił przyjęcie rodziny TCP/IP jako rodzimych protokołów w systemach Microsoftu i Novella.
Wyczerpujące informa...
Potwornicki