Rozdział 8.
Struktura sieciowych systemów operacyjnych
Funkcje oprogramowania dla sieci LAN.
Oprogramowanie klienta PC.
Typy serwerów.
Struktura oprogramowania serwera.
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 |
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. |
Funkcje oprogramowania dla sieci LAN
W tym miejscu warto przypomnieć cztery koncepcje, z którymi Czytelnik już zetknął się we wcześniejszych rozdziałach:
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.
Podstawową funkcją oprogramowania sieciowego jest sprawienie, aby odległe zasoby były dostępne jak zasoby lokalne.
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. |
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.
Oprogramowanie klienta PC
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:
klienty PC używają wspólnych zasobów udostępnianych przez serwery,
klient PC nie zawsze wymaga specjalnych aplikacji,
specjalne programy (readresatory) kierują żądania do serwerów,
oprogramowanie warstwy transportowej przesyła dane przez kabel,
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. |
Readresator
|
|
|
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.
Oprogramowanie warstwy transportowej
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:
interfejsu do programowania aplikacji (application programming interface - API),
części do komunikacji sieciowej, posługującej się określonym protokołem,
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 |
|
|
|
|
--> Powiązania [Author:MP] 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 |
|
|
|
|
--> Protokoły [Author:MP] 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 informacje na temat sterowników i kart sieciowych można znaleźć w rozdziale 5. |
Standardowe aplikacje
|
|
|
Bogu dzięki za Y2K! Pluskwa milenijna to bodaj najlepsza rzecz, jaka kiedykolwiek przytrafiła się w branży oprogramowania. Zanim sprawa stała się głośna, szefowie działów informatyki często tolerowali archaiczne aplikacje biznesowe (na przykład bezpośrednio używające adresów sprzętowych), ponieważ wciąż jeszcze działały. Problem roku 2000 dał motywację do przepisania wielu złych programów. |
Kiedy program użytkowy potrzebuje dostępu do pliku na dysku, tworzy blok danych zawierających parametry żądania. W systemie operacyjnym Windows standardowe aplikacje umieszczają adresy takich bloków danych w specjalnym rejestrze
i generują przerwanie 21 (szesnastkowo). W odpowiedzi na przerwanie system operacyjny odczytuje adres, a następnie odpowiedni blok danych. Tak postępują wszystkie współczesne, „dobrze ułożone” programy. Tylko starsze, „źle ułożone” omijają usługę Windows i bezpośrednio „odpytują” dysk twardy. Wszystkie takie programy, które są jeszcze gdziekolwiek używane powinno się zastąpić ich współczesnymi odpowiednikami.
Jeśli system operacyjny używa readresatora, program ten sprawdza, czy żądania aplikacji nie dotyczą zasobów sieciowych. Załóżmy na przykład, że aplikacja żąda odczytania danych z dysku G:, a readresator został zaprogramowany tak, aby mógł rozpoznać dysk G: jako określoną część konkretnego napędu dyskowego serwera w sieci. Wówczas readresator kieruje to żądanie poprzez sieć do właściwego celu.
Udostępnianie zasobów w sieci zawsze wiąże się z ryzykiem potencjalnego konfliktu. Przyjmijmy, że dwóch użytkowników pracuje nad tym samym dokumentem WYDATKI.TXT. Pojedyncza kopia dokumentu jest zapisana na udostępnianym dysku serwera. Jeśli edytory tekstu obydwu użytkowników nie są dostosowane do współpracy z oprogramowaniem sieciowym, możliwe jest, że obaj będą mogli jednocześnie otworzyć ten sam plik. W przypadku typowych programów do obróbki tekstów otworzenie pliku oznacza wczytanie zawartości pliku do pamięci operacyjnej komputera lokalnego.
Załóżmy, że pierwszy użytkownik dokona zmian w pliku i zapisze go, podczas gdy drugi użytkownik wciąż ma ten plik otwarty. Jeśli zatem drugi użytkownik wprowadzi zmiany i zapisze plik, ta czynność spowoduje, że wersja zapisana przez pierwszego użytkownika zostanie zastąpiona wersją drugiego użytkownika, co znaczy, że praca pierwszego użytkownika poszła na marne (o ile nie zapisał swoich zmian pod inną nazwą).
Istnieje kilka sposobów rozwiązania tego problemu. Po pierwsze - użytkownicy mogą pracować na różnych kopiach tego dokumentu zapisanych w swoich prywatnych podkatalogach, a zmiany mogą wprowadzać ręcznie do pliku wynikowego.
|
|
|
Nie potrzeba specjalnych aplikacji Nie od rzeczy będzie przypomnieć, że do pracy w sieci używa się najczęściej standardowych aplikacji. To oprogramowanie sieciowe ma sprawić, aby dla tych aplikacji zasoby sieciowe, na przykład napędy dysków, drukarki i inne, nie różniły się niczym od zasobów lokalnych. Zainstalowanie sieci wcale nie znaczy, że trzeba również wymienić oprogramowanie użytkowe. Chociaż niektóre aplikacje wykorzystują sieć w specjalny sposób (najlepszym przykładem są przeglądarki internetowe), zwykłe aplikacje będą również działać w sieci. |
Po drugie - mogą oni skoordynować swoją pracę i nie otwierać tego samego pliku równocześnie. I na koniec - mogą oni zaktualizować swoje edytory tekstów, tak aby były one w stanie rozpoznawać komunikaty sieciowego systemu operacyjnego. W większości jednak edytory tekstu sprzedawane w ciągu kilku ostatnich lat są
w stanie stwierdzić, kiedy inna aplikacja już korzysta z danego pliku i ostrzec każdego, kto będzie próbował otworzyć taki plik. Najczęściej aplikacje proponują
w takiej sytuacji otworzenie pliku używanego przez kogoś innego w trybie tylko-do-odczytu, co uniemożliwia użytkownikom dokonywanie jednoczesnych zmian w tym samym pliku.
Współużytkowanie danych
Sprawy jeszcze bardziej się komplikują, jeśli chcemy, aby jednoczesny dostęp do tych samych plików miało wielu użytkowników. Rozważmy jednak na począteksytuację, w której pliki są udostępniane podobnie jak książki w bibliotece zgodnie
z zasadą - jeden użytkownik w danej chwili.
Kiedy program użytkowy otwiera plik danych, może jednocześnie ustawić pewne ograniczenia dotyczące równoczesnego korzystania z tego pliku przez inne aplikacje. Programiści mają do wyboru kilka różnych sposobów realizacji tej funkcji. Program może na przykład otworzyć plik w trybie wyłączności (odmawiając wszelkim innym aplikacjom możliwości odczytu i zapisu pliku w tym samym czasie) albo w innych trybach, które pozwalają na odczyt lub zapis (czy nawet jedno i drugie) pliku przez inne aplikacje, ale w określonych warunkach. Możliwe jest również zezwolenie na otworzenie pliku w trybie, w którym wszystko jest dozwolone dla wszystkich aplikacji i w dowolnym czasie.
Przy otwieraniu pliku programiści mogą zastosować dowolny z tych warunków. Najczęściej używanym trybem współużytkowania dla operacji sieciowych jest tryb określony opcją 2 Deny Write, ponieważ umożliwia on zmianę pliku tylko jednemu klientowi PC, podczas gdy pozostali mogą tylko ten plik odczytywać.
Jeśli kolejni użytkownicy potrzebują możliwości modyfikacji plików, wszystkie programy powinny używać opcji 4, a programiści muszą sięgnąć do specjalnych technik, aby zapobiec zniszczeniu danych.
Przy otwieraniu pliku współczesne aplikacje używają jednego z trybów SHARE (współużytkowanie). Poniżej wymieniono opcje tego trybu dostępne dla programistów:
Numer opcji |
Opis |
0 |
Compatibility (Zgodność) |
1 |
Deny Read/Write (Zablokuj odczyt/zapis) |
2 |
Deny Wite (Zablokuj zapis) |
3 |
Deny Read (Zablokuj odczyt) |
4 |
Deny None (Nic nie blokuj) |
Jeśli aplikacja nie została zaprojektowana z myślą o tworzeniu współużytkowanych plików danych, potrzebna jest procedura programistyczna, która będzie otwierała pliki danych, uniemożliwiając innym programom dostęp do tych plików. Pliki utworzone przez taką aplikację będą dostępne w sieci dla pojedynczych użytkowników na zasadzie „kto pierwszy, ten lepszy”; tak jak książki w bibliotece.
Równoczesny wielodostęp
System zarządzania bazą danych (Database Management System - DBMS) to najpowszechniejszy przykład równoczesnego wielodostępu do plików w sieci LAN. Baza danych składa się z plików zawierających rekordy. Aby móc przeczytać rekordy w tych plikach, program działający na kliencie PC musi otworzyć kilka takich plików. W tym samym czasie inny program może również otworzyć jeden
z takich plików, aby zapisać nowe rekordy. Rzecz jasna, kiedy jedna stacja sieciowa próbuje odczytać rekordy, a inna w tym samym czasie je zapisuje, pojawienie się problemów wydaje się nieuchronne.
Jednak z pomocą przychodzi tu możliwość zablokowania przez aplikację tylko pewnego zakresu bajtów z pliku na wyłączny użytek tej aplikacji. Na przykład, jeśli w systemie Windows program użytkowy wysyła przerwanie systemu operacyjnego 21 hex i wywołanie funkcji 5C hex (nie należy tego mylić z przerwaniem 5C hex, które wywołuje NetBIOS), może przekazać systemowi informację o tym, ile bajtów danego pliku należy zablokować do wyłącznego użytku. Po zablokowaniu tych bajtów przez system operacyjny, żaden inny program nie będzie miał do nich dostępu.
Każda próba dostępu do zablokowanego segmentu danych zakończy się wysłaniem przez system operacyjnym komunikatu o błędzie do aplikacji, która taką próbę podejmie.
Pakiety systemów DBMS z wbudowanymi własnymi językami programowania udostępniają programistom tę funkcję blokującą za pomocą wewnętrznego polecenia o nazwie RLOCK (Record Lock - zablokuj rekordy - przyp. tłum.).
Zazwyczaj programiści używają polecenia RLOCK, aby spowodować zablokowanie przez aplikację określonej liczby rekordów, które muszą być ponownie zapisane. Jednak system DBMS konwertuje to polecenie na polecenie zablokowania przez system operacyjny odpowiedniego zakresu bajtów w pliku bazy danych.
|
|
|
Ukryty DBMS Współczesne systemy zarządzania bazami danych są ukryte za aplikacjami napisanymi w językach C, Java lub w językach właściwych dla systemów DBMS. I chociaż użytkownicy systemów wprowadzania zamówień, systemów zarządzania klientami czy systemów spedycyjnych nie dostrzegają w nich systemów DBMS, to jednak są one ich częścią. Technologia DBMS jest dojrzała i ważna w zastosowaniach biznesowych. Jednak sieciowy system DBMS z obsługą wielu użytkowników to wciąż bardzo skomplikowane oprogramowanie. |
|
|
|
Serwer baz danych to serwer aplikacji Obecnie często słyszy się lub czyta o serwerach aplikacji. Można się także spotkać z określeniem serwer baz danych. Są to określenia funkcjonalne. Serwer baz danych jest praktycznie zawsze serwerem aplikacji, a serwer aplikacji jest najprawdopodobniej serwerem baz danych. Na najwyższym poziomie zarówno serwer aplikacji, jak i serwer baz danych można nazwać serwerami plików. |
W przypadku aplikacji dla wielu użytkowników korzystającej z bazy danych, programista lub system zarządzania bazą danych musi przekazać systemowi operacyjnemu informację o tym, które bajty powinny zostać zablokowane, aby zapobiec dostępowi do pliku w momencie, gdy jakaś aplikacja zapisuje w nim dane. Jeśli to programista musi użyć w tym celu polecenia, na przykład RLOCK, mówi się, że program ma jawne blokowanie rekordów. Jeśli natomiast system DBMS jest na tyle „mądry”, że może automatycznie poinformować system operacyjny o potrzebie zablokowania zakresu bajtów na czas zapisywania rekordu przez aplikację, a o programie można powiedzieć, że ma niejawne blokowanie rekordów.
W systemach wielodostępnych, trzeba również znaleźć wyjście z sytuacji, gdy aplikacja próbuje odczytać zakres bajtów zablokowany przez inny program. Niektóre systemy zarządzania bazami danych wysyłają do takiej aplikacji komunikat Record locked (rekord zablokowany). Programista musi taki komunikat przewidzieć i znaleźć metodę obsłużenia go.
Istnieją różne możliwości obsługi komunikatu Record locked. Programista może zdecydować się na stworzenie pętli, w której aplikacja po krótkiej przerwie ponowi próbę dostępu. Może również zakończyć aplikację lub wyświetlić na ekranie komunikat z pytaniem do użytkownika o decyzję w sprawie dalszych kroków. Niektóre systemy DBMS automatycznie ponawiają próby dostępu. Funkcja ta jest zwykle połączona z ograniczeniem maksymalnej długości czasu blokady rekordów.
Tak więc rzeczywista aplikacja - na przykład sieciowy system zarządzania bazą danych, która umożliwia kilku operatorom dostęp do danych magazynowych i ich aktualizację - musi zawierać fragment kodu, który poinstruuje system operacyjny
o konieczności zablokowania zakresu bajtów w danym pliku, jaki odpowiada rekordowi lub polu, które w danej chwili są aktualizowane. Twórca aplikacji systemu DBMS musi również opracować procedurę, obsługującą komunikat systemu operacyjnego o zablokowaniu danych i przekazującą operatorowi informację o tym, kto próbuje zmieniać pole, które jest właśnie modyfikowane. Otwieranie plików w trybie wielodostępu lub w trybie wyłączności oraz obsługa konfliktów przy jednoczesnym dostępie do danego segmentu danych to problemy, z którymi muszą sobie radzić twórcy aplikacji sieciowych.
Najbardziej skomplikowana sytuacja ma miejsce wtedy, gdy kilka aplikacji otwiera jednocześnie kilka różnych plików. Ponieważ rekordy w różnych plikach są ze sobą w różny sposób powiązane, może dojść do sytuacji, w której dwie aplikacje jednocześnie zablokują te same dane w celu realizacji swoich zadań. W literaturze fachowej pojawia się wtedy zakleszczenie (deadlock). Zakleszczenie można przerwać na wiele sposobów (na przykład - używając limitu czasu), ale każdy z nich powoduje spowolnienie przetwarzania.
Niektóre systemy zarządzania bazami danych nie korzystają z funkcji blokowania plików i bajtów systemu operacyjnego, ale przejmują je i realizują w bardziej elegancki sposób, który jednocześnie pozwala uniknąć zakleszczeń. Aplikacje w systemach tego typu mogą na czas tworzenia lub aktualizacji danych pozostawić komunikat w specjalnym pliku rejestru, a po zakończeniu operacji usunąć go. Inne aplikacje przed dostępem do danych sprawdzają ten plik rejestru. Jeśli jedna aplikacja (aplikacja A) chce odczytać rekord, który właśnie jest aktualizowany przez inną aplikację (aplikację B), musi poczekać. Jeśli czas oczekiwania przekroczy określony limit, użytkownik aplikacji B zobaczy komunikat z informacją o tym, kto zablokował rekord. Od tej chwili to użytkownik będzie musiał rozstrzygnąć problem.
Użycie pliku rejestru jest „elegancką” metodą obsługi wspólnego dostępu do danych, ale jednocześnie zwiększa obciążenie sieci i serwera. Każda aplikacja przed każdym dostępem do danych musi uzyskać dostęp do pliku rejestru. Aplikacje, które zapisują zmiany w pliku danych muszą wpisać odpowiednią pozycję w rejestrze przed operacją oraz usunąć ją po zakończeniu. Skutkiem jest to, że w sieci krąży większa ilość pakietów, a serwer musi obsłużyć znacznie więcej żądań dostępu do dysku niż w przypadku ochrony danych metodami systemu operacyjnego.
Żadna z metod zabezpieczenia danych nie jest idealna. Trzeba znać wady i zalety obydwu podejść. Ważne, że teraz w sieciach pecetów dostępne są odpowiednie metody, które umożliwiają wielu użytkownikom jednoczesny dostęp do tych samych danych.
Najlepszą radą dla każdego administratora sieci lub bazy danych jest wybór programów z rozbudowanym systemem pomocy technicznej. Często może się zdarzyć potrzeba skorzystania z telefonicznej pomocy eksperta w celu rozwiązania problemu. Koszty sprzętu, oprogramowania i instalacji sieci lokalnej to tylko otwierający gambit w sieciowej grze. Aby zainstalować, skonfigurować i zarządzać aplikacjami sieciowymi potrzebne, jest mocne wsparcie.
Wykorzystanie warstwy transportowej
Warstwa oprogramowania sieciowego poniżej readresatora jest nazywana warstwą transportową. Zadaniem tego oprogramowania jest przygotowanie do przesyłki żądania usługi, które jest prawidłowe w odniesieniu do wszystkich serwerów, na jakich działa ten sam system operacyjny.
Zadanie to jest realizowane zgodnie z określonym protokołem. Program warstwy transportowej adresuje pakiety do konkretnej funkcji komputera obsługującego, niekoniecznie do określonego komputera.
Protokół warstwy transportowej o nazwie Sequenced Packet Exchange (SPX) opracował Novell, a Microsoft zaadoptował specyfikację warstwy transportowej zwaną Network Basic Input/Output System (NetBIOS). Chociaż te dwa protokoły są wciąż bardzo popularne w sieciach LAN, coraz powszechniejsze zastosowanie znajduje inny protokół warstwy transportowej o nazwie Transmission Control Protocol (TCP). Popularność Internetu oraz przydatność TCP w połączeniu z protokołem Internet Protocol (IP) są źródłem wzrastającego wciąż zainteresowania sieciami opartymi na TCP/IP.
Oprogramowanie warstwy transportowej, we współczesnych sieciach najczęściej protokoły TCP lub SPX, wykorzystują do określenia dokładnego adresu dla przetwarzanych danych funkcję zwaną usługa katalogową (directory service). Oprogramowanie to dysponuje pewnymi metodami identyfikacji każdej usługi w sieci. Jeden z rodzajów usług związanych z nazwami, którego może używać oprogramowanie warstwy transportowej przedstawiono na rysunku 8.3.
Rysunek 8.3. Przykładowe wykorzystanie usług katalogowych |
|
--> Usługa [Author:MP] nazw powinna zapewnić precyzyjną, ale jednocześnie elastyczną metodę identyfikacji usług, zasobów i użytkowników w sieci rozległej. W tym przypadku nazwy łączą w sobie informacje geograficzne i korporacyjne.
Należy zwrócić uwagę, że na komputerach w sieci - na przykład na serwerach plików - często można uruchomić kilka rodzajów usług (tak jak w budynku może być wiele mieszkań czy wiele pomieszczeń biurowych).
Oprócz przetworzenia żądań usług w odpowiednio zaadresowane pakiety, oprogramowanie warstwy transportowej odpowiada również za to, by pakiety dotarły do celu. W poprzednim rozdziale dowiedzieliśmy się, że ethernetowe datagramy nie dają pewności co do skutecznej realizacji przesyłki. Również protokoły warstwy sieci (na przykład IP lub IPX) nie gwarantują dostawy. To zazwyczaj oprogramowanie warstwy transportowej (SPX, NetBIOS lub TCP) jest odpowiedzialne za rozpoznanie niepowodzenia przesyłki i zainicjowanie kolejnej próby.
Aplikacje transportowe
W przypadku oprogramowania warstwy transportowej metodę wysyłania żądań do sieci i odbierania ich stamtąd oferuje readresator, który jest elementem standardowego interfejsu API (a także pewne klasy programów użytkowych, odwołujących się bezpośrednio do oprogramowania warstwy transportowej). Na przykład interfejs API protokołu NetBIOS interpretuje przerwanie programowe 5C hex jako żądanie obsługi danych przez NetBios. Jednak coraz więcej aplikacji - zwłaszcza w sieciach TCP/IP - ignoruje lokalny system operacyjny i z żądaniem usług zwraca się bezpośrednio do oprogramowania warstwy transportowej. Przykładami programów, które zgłaszają żądania bezpośrednio do protokołu TCP są programy poczty elektronicznej, przeglądarki WWW, programy klienta IRC, przeglądarki grup dyskusyjnych, programy do transmisji plików i wiele innych specjalistycznych programów.
Oprogramowanie warstwy transportowej (TCP lub SPX) „śledzi” obsługę pakietów skierowanych pod określony adres, ale sposób dostarczenia pakietów pod ten adres to już sprawa oprogramowania warstwy sieci.
Podróże w warstwie sieci
Oprogramowanie warstwy sieci zaopatruje przesyłkę z danymi w dodatkowe informacje potrzebne do przemierzenia sieci. Opakowanie w protokole IP jest solidniejsze niż w protokole IPX, dzięki czemu pakiety IP lepiej nadają się do routingu w dużych sieciach. Protokół IPX rozgłasza komunikaty o statusie, które w dużych sieciach generują dużo dodatkowego ruchu, a które nie są potrzebne w schemacie adresowania właściwym dla protokołu IP.
Protokoły warstwy sieci również dysponują pewnymi metodami identyfikacji każdego funkcjonalnego węzła w sieci. Schemat adresowania używany w protokole IP jest bardzo złożony, ale obejmuje wiele milionów węzłów. Natomiast schemat adresowania w protokole IPX jest bardziej ograniczony, ale również bardziej podatny na automatyzację, łatwiejszy w użyciu i bardziej wydajny.
|
Spedytor, dok załadunkowy i ciężarówka
Zamiast utwierdzać się w przekonaniu, że to wszystko jest zbyt skomplikowane, lepiej przyjrzeć się prostej analogii. Oprogramowanie warstwy transportowej działa jak pracownik działu spedycji |
|
|
|
TCP/IP nie nadaje się dla sieci LAN!
Stos protokołów TCP/IP nie był projektowany z myślą o krótkich, „impulsowych” blokach danych przesyłanych w sieciach lokalnych. Pakiety TCP/IP są jak 18-kołowe ciągniki siodłowe, przeznaczone do transportu potężnych ładunków poprzez burzliwe terytoria sieci rozległych. Są one zbyt duże dla niewielkich, uporządkowanych i szybkich środowisk sieci LAN. Ale z powodu popularności Internetu Należy jednak mieć świadomość, że wraz z wyborem TCP/IP dla sieci LAN pojawią się problemy z adresowaniem i bezpieczeństwem, których nie było w przypadku alternatywnych protokołów, takich jak IPX, przeznaczonych wyłącznie dla sieci LAN. |
Typy serwerów
W sieci mogą występować trzy podstawowe typy serwerów: serwery plików, serwery wydruków i serwery komunikacyjne. W każdej konkretnej sieci może występować kilka serwerów z każdego rodzaju.
Należy pamiętać, że termin serwer jest tu używany w kontekście funkcjonalnym i odnosi się do urządzenia, które pełni rolę serwera w sieci. W tabeli 8.1 wymieniono typy i podtypy serwerów sieciowych.
Tabela 8.1 Typy serwerów sieciowych
Serwery plików |
Serwery wydruków |
Serwery komunikacyjne |
Serwery baz danych |
Na pececie z podłączoną drukarką |
Serwery faksów |
Serwery napędów CD-ROM |
Urządzenia specjalne |
Bramy do systemów mainframe |
Serwery aplikacji |
|
Bramy poczty elektronicznej |
Serwery WWW |
|
Routery sieci IP |
|
|
Serwery protokołów YCP/IP |
|
|
Serwery DNS |
|
|
Serwery LDAP |
|
|
Serwery DHCP |
|
|
Serwery buforujące strony WWW |
Niekiedy serwery plików, wydruków i serwery komunikacyjne działają na tym samym komputerze w sieci, ale czasem zadania te są rozdzielone na różne komputery. Serwer uniwersalny może zaoferować wspólny dostęp do plików, łącza komunikacyjne do systemu mainframe oraz łącza dalekiego zasięgu pomiędzy serwerami używającymi technologii X.25. Ogólny obraz serwerów i stacji klienckich w praktycznej sieci pokazano na rysunku 8.4.
Rysunek 8.4.
Różne role komputerów PC |
|
|
|
|
--> Rola [Author:MP] komputera PC w sieci Komputer PC może pełnić w sieci różne role. Na tym rysunku przedstawiono sieć z trzema serwerami: serwerem plików, który pełni również rolę serwera wydruków, serwera komunikacyjnego, który udostępnia modem oraz zdalnego serwera wydruków. Na serwerze komunikacyjnym można również uruchamiać standardowe aplikacje, tak jak na komputerze osobistym, zawsze jednak trzeba się liczyć z pewnym kompromisem, gdy chodzi o wydajność komputera, który jednocześnie pełni rolę stacji roboczej i serwera usług sieciowych. |
Firmy takie jak Microsoft i Sun projektują swoje systemy operacyjne tak, aby komputery w sieci mogły pełnić rolę serwerów różnych usług, nawet wtedy, gdy są one wykorzystywane do pracy ze standardowymi aplikacjami. Linux i inne, „czystsze” wersje Uniksa zwykle działają w ten sam sposób. Jednak w systemie sieciowym NetWare Novella komputery działające jako serwery są wyłączone z innych zastosowań.
|
|
|
--> Informacje [Author:MP] o serwerach drukowania można znaleźć w rozdziale 5. Serwery Internetowe zostaną opisane w rozdziale 12. |
Funkcje serwera plików
Serwer plików udostępnia klientom PC przestrzeń na swoim dysku twardym. Serwer plików obsługuje żądania odczytu i zapisu danych, które są kierowane przez readresatory z programów użytkowych każdego klienta PC oraz rozstrzyga jednoczesne żądania dostępu do tych samych danych.
|
|
|
Strzeż się specjalnych wertykalnych aplikacji
Najważniejsze oprogramowanie jest najczęściej przyczyną najpoważniejszych problemów. Aplikacje wertykalne to programy stworzone specjalnie do obsługi określonej działalności w ramach firmy. Mogą one służyć do obsługi magazynu towarów dla sklepu lub części zapasowych dla warsztatu naprawczego, mogą też śledzić „rezerwacje” pokoi hotelowych lub planować dostawy surowców dla linii produkcyjnej. W większości przypadków są one dziełem osób, które więcej wiedzą o danej dziedzinie niż o programowaniu. Często ci, nadzwyczaj wydajni, neofici robią rzeczy niemądre. W szczególności używają w swoich programach usług obsługi plików właściwych dla NetWare lub „markowych” wersji Uniksa. Ten brak roztropności ze strony programistów może związać użytkownika |
Serwery baz danych i serwery aplikacji, to podzbiór kategorii serwerów plików, który obejmuje serwery, na jakich działa dodatkowe oprogramowanie - zazwyczaj system zarządzania bazą danych - i które najczęściej wykonują pewne zadania porządkowe na rzecz komputera klienta. Te serwery zaplecza (back-end) baz danych są podstawą modelu obliczeniowego klient-serwer, który stał się podstawą wielu aplikacji przeznaczonych dla przedsiębiorstw. W rzeczywistości określenie klient-serwer ma kilka znaczeń. W najstarszej definicji mówi się po prostu o technologii sieciowej, która wykorzystuje dedykowany serwer tak, jak robi to na przykład system NetWare. Przeciwieństwem tej technologii jest sieć równy-z-równym (peer-to-peer), która jest realizowana na przykład w systemach Windows 95/98. Dwie nowsze definicje pojęcia klient-serwer oparte są na różnych architekturach sieciowych: architekturze serwera baz danych (wspomnianej wcześniej), która wykorzystuje procesor zaplecza bazy danych i architekturze serwera aplikacji.
W modelu bazy danych klient-serwer klient PC wysyła żądania danych do programu zwanego motorem bazy danych (database engine), który działa na komputerze pełniącym rolę serwera plików. Najważniejsi dostawcy motorów baz danych to Oracle, IBM, Sybase i Microsoft. W tej architekturze serwer plików (serwer DBMS/serwer aplikacji) działa jako wydajny procesor bazy danych, który wykonuje specjalne polecenia - często formułowane w stworzonym przez IBM języku SQL (Structured Query Language) - wysyłane z programów zapytań działających na klientach PC w sieci. Procesor bazy danych odbiera proste żądanie zestawienia danych ze stacji klienta i wykonuje złożony fragment kodu niezbędny do uzyskania i skompilowania informacji z „surowej” bazy danych. Ponieważ motor bazy danych działa na komputerze, który pełni rolę serwera plików, programy zapytań nie muszą pobierać całych plików poprzez sieć w celu odpowiedniego przetworzenia danych na kliencie PC. W tej architekturze minimalizuje się obciążenie sieci, jednak odbywa się to kosztem zaspokojenia wysokich wymagań dotyczących wydajności komputera obsługującego bazę danych (patrz rysunek 8.5).
Rysunek 8.5.
Architektura |
|
|
|
|
--> Komputer [Author:MP] PC obsługujący bazę danych W architekturze klient-serwer aplikacje działające na kliencie żądają danych uporządkowanych i zestawionych w określony sposób. Motor bazy danych na serwerze otwiera potrzebne tabele z danymi, sortuje je, wybiera i wykonuje inne funkcje a potem zwraca kompletną odpowiedź. Rozwiązanie alternatywne polega na przesłaniu przez sieć do klienta dużych ilości danych podstawowych. Może to być praktyczne tylko w przypadku rzadkiego dostępu do niewielkich ilości danych. |
Z podejściem tym kontrastuje starsza technologia baz danych, która wciąż jest używana przez programy obsługujące nieduże bazy danych i z niewielką ilością zapytań. W tym scenariuszu programy bazy danych działające na każdej stacji pobierają dane z serwera poprzez sieć i przetwarzają je lokalnie na każdym komputerze. Chociaż ta starsza technologia jest znacznie mniej wydajna, okazuje się również mniej skomplikowana i wymaga mniej nakładów inwestycyjnych niż wykonywanie --> motoru [Author:MP] bazy danych na serwerze.
Architektura serwera aplikacji to określenie, które niesie kilka znaczeń. Tak jak
w modelu klient-serwer może ono oznaczać jeden wydajny komputer, na którym działa część aplikacji - na przykład baza danych lub program graficzny, taki jak X Windows - i który obsługuje żądania dotyczące tej aplikacji zgłaszane przez programy działające na klientach PC. Do komunikacji obydwa programy używają techniki nazywanej wywoływaniem odległych procedur (Remote Procedure Call - RPC). Wywołania RPC to w efekcie wstępnie ustalone, skrócone żądania wykonania określonej czynności. IBM, opracowując architekturę Advanced Program to Program Communictaions (APPC), utorował drogę do rozwoju architektury serwera baz danych i serwera aplikacji. IBM stworzył APPC po to, aby komputery PC mogły używać oprogramowania i sprzętu systemów mainframe według modelu klient-serwer. W miarę spadku zainteresowania systemami mainframe, IBM przekształcił APPC w APPN (Advanced Peer-to-Peer Networking). Tym samym technologia klient-serwer, która powstała, aby przedłużyć życie systemów mainframe stała się obecnie katalizatorem sprzedaży zaawansowanych komputerów PC i AS/400.
Istotą serwera aplikacji jest aplikacja rozproszona. W powszechnym rozumieniu aplikacje rozproszone to te, które przekraczają granice pomiędzy różnymi typami komputerów i różnymi systemami operacyjnymi. Open Software Foundation - organizacja założona przez IBM, HP i Digital - ustanowiła standardy dla rozproszonego środowiska komputerowego (Distributed Computing Environment - DCE). Produkty środowiska DCE udostępniają standardowe wywołania programów używane pomiędzy aplikacjami, tak że mogą one dzielić między sobą dostępną moc obliczeniową. Środowisko DCE obejmuje protokoły bezpieczeństwa i protokoły administracyjne, które umożliwiają programom tego środowiska rozpoznawanie się nawzajem i komunikowanie ze sobą. DCE jest złożoną architekturą, a swoich sił na tym polu próbuje wiele firm. Microsoft dołączył do DCE ze swoją architekturą łączenia i osadzania obiektów (Object Linking and Embeding - OLE), czyli zestawem narzędzi programistycznych, które umożliwiają różnym aplikacjom współużytkowanie określonych typów modułów informacyjnych zwanych obiektami.
Inna organizacja - Object Management Group, opracowała zestaw specyfikacji podobnych do DCE, zwanych Common Object Request Broker Architecture (CORBA). Specyfikacje te dotyczą mniej więcej tych samych zagadnień co DCE, jednak znacznie bardziej opierają się one na obiektach programowania wizualnego.
Na marginesie powyższej dyskusji należy wspomnieć, że termin klient-serwer niesie różne znaczenia dla różnych osób. Strategowie gigantów takich jak IBM, Microsoft
i Novell, sądzą, że model obliczeniowy klient-serwer to ważny element ich przyszłości, ale każda organizacja patrzy na zaangażowaną w ten model technologię pod nieco innym kątem.
|
|
|
Sieciowe systemy operacyjne dla serwerów plików opisano w rozdziale 9. Dużo więcej informacji na temat łączności pecetów z komputerami AS/400 i z systemami mainframe można znaleźć w rozdziale 14. |
Funkcje serwera wydruków
Komputery działające jako serwery wydruków udostępniają drukarki do wspólnego użytku w sieci. Serwery wydruków przyjmują zadania drukowania z aplikacji działających na stacjach klienckich i przechowują je w postaci plików w specjalnym podkatalogu zwanym buforem wydruków (print spool) na dysku twardym. Po zapisaniu całego zadania drukowania w buforze wydruków plik z tym zadaniem czeka w kolejce na pierwszą wolną drukarkę lub na zwolnienie się określonej drukarki, dla której jest przeznaczony.
Dysk z buforem wydruków może znajdować się na innym komputerze, działającym jako serwer plików, jednak taka organizacja powoduje generowanie dodatkowego ruchu sieciowego; z komputera, na którym działa aplikacja do serwera wydruków,
a stąd do serwera plików i ewentualnie z powrotem do serwera wydruków w celu wydrukowania. W praktyce albo przypisuje się funkcję serwera wydruków serwerowi plików, albo wyposaża się serwer wydruków we własny dysk twardy.
Oprogramowanie sieciowe dostarczane ze współczesnymi wersjami Windows umożliwia każdemu komputerowi w sieci jednoczesne pełnienie roli serwera plików, serwera wydruków, a także zezwala na uruchamianie na tym komputerze programów użytkowych. System NetWare Novella ułatwia połączenie funkcji serwera plików i serwera wydruków na jednym komputerze lub przypisanie funkcji serwera wydruków osobnemu komputerowi. Na serwerach plików NetWare nie można uruchomić typowych aplikacji, ale oprogramowanie serwera wydruków można zainstalować na dowolnej stacji sieciowej używanej do uruchamiania aplikacji.
|
|
|
Więcej alternatywnych rozwiązań problemu drukowania w sieci opisano w rozdziale 3. |
Zalety serwerów wydruków
Największą zaletą sieci z dedykowanymi serwerami wydruków jest możliwość dowolnej przestrzennej aranżacji urządzeń sieciowych, która jest zgodna z oczekiwaniami użytkowników. Jeśli natomiast połączy się funkcje serwera plików i serwera wydruków, drukarkę sieciową trzeba będzie umieścić w pobliżu sprzętu serwera, głównie z powodu ograniczeń w długości kabla biegnącego do portu równoległego. Jako że komputer pełniący rolę serwera plików w solidnej sieci ma wiele dość hałaśliwych napędów dysków, wydajne wentylatory i prawdopodobnie sporych rozmiarów zasilacz UPS, zwykle lokuje się go w nieco bardziej oddalonym miejscu,
a często - ze względów bezpieczeństwa - w zamkniętym pomieszczeniu. Trzeba zwykle sporo pogłówkować lub mieć dużo szczęścia, aby znaleźć lokalizację odpowiednią dla sprzętu serwera plików i wygodną dla użytkowników, chcących odebrać swoje wydruki z drukarki.
Udostępnianie drukarek poprzez dogodnie zlokalizowane stacje robocze, które działają jako serwery wydruków, wydaje się dobrą metodą rozwiązania problemu lokalizacji drukarki. O ile jednak koncepcja jednoczesnego wykorzystania PC jako serwera wydruków i stacji roboczej ma swoje plusy, o tyle ma również ograniczenia praktyczne. Wymaga to podzielenia zasobów na realizowane funkcje i doprowadza do tego, że użytkownicy czekający na wydruki oraz osoba próbująca korzystać z aplikacji na serwerze wydruków, narzekają na coraz wolniejszą obsługę.
Przerwania sprzętowe generowane w związku z obsługą portów szeregowych i równoległych oraz konkurencyjne żądania dostępu do dysku twardego mogą zwolnić nawet najszybszy komputer, jeśli będzie on miał pracować jednocześnie jako serwer
i osobista stacja robocza.
Decyzja o tym, czy połączyć funkcję serwera wydruków z serwerem plików ze stacją roboczą, czy wydzielić ją na odrębnym komputerze, zależy głównie od intensywności drukowania w sieci. Jeśli objętość wydruków nie przekracza 30 do 50 stron zwykłego tekstu na godzinę, połączenie serwera wydruków z serwerem plików ma sens. Jednak większe obciążenia drukowaniem, a także problemy z lokalizacją drukarki mogą dyktować wydzielenie dedykowanego serwera wydruku.
W miarę zwiększania się objętości wydruków ze stacji klienckich i wzrostu komplikacji programów użytkowych, tylko użytkownikom korzystającym z względnie prostych aplikacji nie będzie przeszkadzać wykorzystanie ich peceta do świadczenia usług serwera wydruków w sieci. Powszechną praktyką jest przygotowanie dedykowanego komputera jako sieciowego serwera wydruków i umieszczenie go w dogodnej lokalizacji w biurze.
Należy pamiętać, że to podejście wymaga poświęcenia kompletnego komputera PC
z twardym dyskiem, monitorem i klawiaturą dla każdego serwera wydruków.
Specjalistyczne serwery wydruków
Pod koniec roku 1990 w pracowniach LAN Labs PC Magazine pojawiła się nowa kategoria produktów. Na początku nazwaliśmy je urządzeniami do współużytkowania peryferiów w sieci Ethernet (Ethernet peripheral sharing devices). Ta długa nazwa opisywała ich funkcję, ale było mało prawdopodobne, by zapadła w świadomość potencjalnych nabywców. Po intensywnej burzy mózgów zdecydowaliśmy się na to, aby nazwać je serwerami funkcji specjalnych.
Najlepszym przykładem takiego urządzenia jest sprzętowy serwer wydruków, ale do tej klasy należy także serwer napędów CD-ROM i kilka innych specjalizowanych urządzeń. Produkty te (patrz rysunek 8.6) są podłączane do kabla sieciowego
i udostępniają drukarki klientom w całej sieci.
--> Rysunek [Author:MP] 8.6. Serwer wydruków przeznaczony do „cienkiego” Ethernetu umożliwia użytkownikom korzystanie z drukarki w dowolnym miejscu w sieci |
|
Współczesne serwery wydruków mogą pracować z różnorodnymi protokołami, dzięki czemu klienty używające NetWare, Windows czy Uniksa mogą drukować na tej samej drukarce. Najbardziej ekonomiczne serwery wydruków mają dwa lub trzy porty drukarkowe, więc pozwalają za pomocą jednego urządzenia udostępnić w sieci dwie lub trzy drukarki.
Procesory tych urządzeń wykorzystują specjalne oprogramowanie zapisane w pamięci tylko - do - odczytu. Nie wymagają one podłączania monitora, dysku ani klawiatury. Serwery funkcji specjalnych mogą korzystać z oprogramowania serwera wydruków, działającego na serwerze NetWare, aby odbierać i składować zadania drukowania, które następnie mogą wziąć z kolejki i przesłać siecią do drukarki.
Funkcje serwera komunikacyjnego
Termin serwer komunikacyjny odnosi się do wielu zadań. Serwery komunikacyjne mogą działać jak bramy do sieci rozległych z protokołem IP, takich jak Internet czy korporacyjne intranety. Mogą one działać jako portale, umożliwiając klientom PC wspólny dostęp do systemów mainframe poprzez kosztowne kanały komunikacyjne. Mogą również pełnić rolę buforów dla drogich, szybkich modemów udostępnianych w trybie „pierwszy-zgłoszony-pierwszy-obsłużony”.
W przeciwieństwie do serwerów wydruków, głównym problemem w przypadku serwerów komunikacyjnych nie jest lokalizacja przestrzenna. Można je postawić wszędzie tam, gdzie jest dostęp do linii telefonicznej. Znacznie ważniejsza jest moc procesora. O ile serwery wydruków buforują zadania wydruku skierowane na drukarkę, serwery komunikacyjne muszą obsłużyć w czasie rzeczywistym połączenie pomiędzy klientami PC a kanałami komunikacyjnymi. To powoduje poważne obciążenie komputera działającego jako serwer komunikacyjny.
Obsługa przerwań sprzętowych generowanych przez porty szeregowe i równoległe wykorzystuje w znacznym stopniu moc procesora serwera komunikacyjnego.
Niewielu użytkowników mogłoby usatysfakcjonować działanie programów użytkowych na komputerze, który jednocześnie pełni rolę serwera komunikacyjnego. Tak więc najczęściej we współczesnych sieciach oprogramowanie takiego serwera działa na komputerze dedykowanym do tych zadań. Ze względu na rosnącą szybkość tak zwanych procesorów sygnałowych współczesne serwery komunikacyjne są często odrębnymi urządzeniami zbudowanymi przy użyciu specjalizowanego sprzętu komunikacyjnego.
Serwery faksów
Serwery faksów umożliwiają każdemu w sieci korzystanie ze sprzętu odbierającego i wysyłającego faksy. Najczęściej funkcję tę wykonują komputery pełniące jednocześnie rolę serwerów komunikacyjnych.
Serwery faksów świetnie sprawdzają się przy udostępnianiu modemów do połączeń wychodzących, problemy jednak pojawiają się przy obsłudze faksów przychodzących. Gdy serwer odbierze faks, to dokąd ma go skierować? Kiedyś wyznaczony operator musiał czytać wszystkie faksy, jednak dzięki rozwojowi technologii obecnie dostępnych jest pięć skutecznych technik wewnętrznego kierowania faksów do poszczególnych użytkowników. Serwer faksów może „przeczytać” linijkę tekstu, zareagować na tony DTMF (generowane przy wciśnięciu przycisków telefonicznych), zidentyfikować linię, na którą przychodzi faks, rozpoznać nadające go urządzenie lub rozpoznać schemat dzwonienia.
Odczyt linii tekstu. Kierowanie faksów przychodzących na podstawie odczytu linii tekstu wymaga użycia programu OCR do znalezienia specjalnie sformatowanej linii zawierającej nazwisko adresata. Aby jednak ta metoda działała, nadawca musi wiedzieć, jak sformatować faks.
Rozpoznawanie tonów DTMF. Urządzenia rozpoznające tony DTMF umożliwiają nadawcy - już po nawiązaniu połączenia - wygenerowanie sygnałów wskazujących odbiorcę. Technika ta jest użyteczna, gdyż może być zastosowana do wielu odbiorców, jednak jej minus satnowi konieczność wykonania specjalnych czynności przez nadawcę.
Identyfikacja linii przychodzącej. Jeśli serwer faksów korzysta z adaptera dla wielu linii, może kierować faksy do poszczególnych użytkowników lub grup roboczych na podstawie linii, na którą przyszedł faks.
Rozpoznawanie urządzenia nadającego faks. Rozpoznawanie numeru lub identyfikatora (Customer Subscriber Identification - CSID) urządzenia nadającego faks to użyteczna technika, ponieważ nie wymaga żadnych specjalnych czynności po stronie nadawcy, ale jest ograniczona do konkretnego telefaksu.
Rozpoznawanie schematu dzwonienia. Schematy dzwonienia (distinctive ringing) to przydatna opcja oferowana przez niektórych operatorów telekomunikacyjnych. Polega ona na stosowaniu różnych schematów dzwonienia dla kilku numerów używających jednej linii. Tak jak niektóre modemy lub urządzenia faksowe mogą wykorzystywać schematy dzwonienia do określenia czy powinny odebrać przychodzące połączenie, tak serwery faksów mogą na tej podstawie kierować przychodzące faksy do różnych skrzynek pocztowych. Technika ta nie wymaga żadnej dodatkowej wiedzy ani czynności po stronie dzwoniącego i pozwala mu korzystać z dowolnego telefaksu.
Ostatnia możliwość to bezpośrednie połączenia wewnętrzne, które wykorzystują sygnalizację pomiędzy firmą telekomunikacyjną a firmową centralą telefoniczną umożliwiającą dodzwonienie się poprzez określone linie. Serwer faksów interpretuje przychodzące połączenia i odpowiednio kieruje odebrane dokumenty.
Struktura oprogramowania serwera
Serwery umożliwiają zastosowania, które dostarczają funkcjonalnych i ekonomicznych argumentów na rzecz instalacji sieci. Dodatkowym uzasadnieniem konieczności budowy sieci LAN są możliwości wspólnego dostępu do informacji oraz efektywność, jaką daje poczta elektroniczna lub planowanie pracy zespołów roboczych. Rzecz jasna - do obsługi wielu zadań związanych z współużytkowaniem zasobów serwery potrzebują specjalnego oprogramowania (sieciowego systemu operacyjnego).
Oprogramowanie obsługujące serwery plików, wydruków czy serwery komunikacyjne składa się z wielu różnych modułów. Na serwerach komunikacyjnych działa oprogramowanie, które dokonuje translacji prędkości transmisji w sieci na prędkość łącza komunikacyjnego, translacji alfabetów danych i protokołów używanych przez połączenie zewnętrzne. Oprogramowanie serwerów plików obejmuje wyrafinowane kolejki żądań i zazwyczaj obsługuje buforowanie dysku. Funkcja buforowania dysku ładuje duże segmenty danych z dysku do pamięci operacyjnej, aby szybko realizować żądania, dostarczając dane wprost z szybkiej pamięci a nie z powolnego dysku.
Na serwerach działa oprogramowanie warstwy transportowej tego samego rodzaju co na stacjach roboczych. Ponadto na serwerze działa oprogramowanie buforujące żądania usług ze stacji sieciowych i ustawiające je w kolejkę. Oprogramowanie serwera obejmuje najczęściej jakiś rodzaj zabezpieczeń, opartych na hasłach do zasobów lub tabeli uprawnień przyznanych poszczególnym użytkownikom.
Oprogramowanie serwera plików można podzielić na trzy główne elementy:
System zarządzania plikami, który zapisuje dane na przynajmniej jednym dysku twardym i odczytuje je stamtąd.
System bufora dysku, który gromadzi dane przychodzące i wychodzące
w pamięci RAM, dzięki czemu obsługa żądań jest szybsza niż wynikałoby to z fizycznych możliwości dysku twardego.
System dostępu, który kontroluje uprawnienia użytkowników do korzystania z danych oraz obsługuje jednoczesny dostęp wielu aplikacji do plików.
Wielozadaniowe systemy operacyjne dla sieci LAN (umożliwiające setkom węzłów sieciowych dostęp do gigabajtów danych na pojedynczym serwerze) nadają tempo
i wyznaczają kierunek rozwoju branży sieci komputerowych oraz decydują, w jaki sposób użytkownicy łączą się poprzez środowiska sieciowe i poza nimi.
Systemy te - na przykład - NetWare, Windows NT czy Unix - oferują elastyczne, bezpieczne i niezawodne możliwości połączeń. Sieć komputerów PC zbudowana
w oparciu o jeden z tych systemów operacyjnych może z powodzeniem zastąpić minikomputery w wielu organizacjach.
Funkcje zarządzania plikami
Podstawową funkcją oprogramowania do zarządzania plikami jest sterowanie ruchem głowic dysków twardych i dostarczanie danych poprzez sieć do stacji klienckich.
Do zwiększenia wydajności operacji na dysku twardym służy algorytm windy (elevator seeking). Aby odczytywać i zapisywać dane głowice dysku twardego poruszają się do środka i na zewnątrz nad wirującym dyskiem. Każdy większy ruch zajmuje czas rzędu milisekund. Oprogramowanie używające algorytmu windy poprawia wydajność pracy dysku, ustawiając żądania w takiej kolejności, aby dostęp do danych wymagał ruchu głowic w tym samym kierunku. Kolejność napływu żądań nie ma w tym przypadku znaczenia; każde z nich jest realizowane z uwzględnieniem najbardziej logicznego ruchu głowic. Umożliwia to takie sterowanie głowicami, że poruszają się one ruchem posuwistym od krawędzi dysku do jego środka i z powrotem.
Algorytm windy poprawia wydajność, znacznie redukując nagłe zmiany kierunku ruchu głowic i minimalizuje czas wyszukiwania danych.
Szybszemu dostępowi do katalogów służy również technika indeksowania pozycji katalogów zgodnie z określonym wzorem matematycznym, zwana mieszaniem katalogów (directory hashing). Mieszanie katalogów ma charakter dwupoziomowy. Pierwszy algorytm mieszający indeksuje katalogi danego wolumenu dyskowego,
a drugi pliki - tego wolumenu i podkatalogi. Mieszanie katalogów zmniejsza liczbę odczytów katalogów po starcie serwera. Technikę tę z powodzeniem wykorzystano w systemie NetWare i w innych systemach plików.
Systemy operacyjne serwerów wczytują zwykle do bufora pamięci dyskowej całą strukturę katalogów na dyskach podłączonych do serwera. Operacja ta odbywa się przy starcie serwera, a w trakcie jego pracy dokonywane są aktualizacje tej struktury. W pierwszej kolejności aktualizowana jest kopia struktury katalogów przechowywana w pamięci RAM, a w drugiej - o ile pozwala na to czas pomiędzy obsługą żądań użytkowników - aktualizowane są dane na dyskach. Zapewnia to szybkość realizacji operacji dyskowych, ale też niesie potencjalne zagrożenie. W przypadku awarii zasilania lub jakiejkolwiek innej awarii serwera, która nastąpi przed aktualizacją danych na dysku, może dojść do uszkodzenia plików.
Buforowanie dysku
Buforowanie dysku, które polega na wykorzystaniu pamięci RAM serwera do przechowywania najczęściej używanych bloków danych z dysków serwera, znacznie skraca czas dostępu do danych. Wczytanie danych z dysku twardego zajmuje czas mierzony w setnych częściach sekundy. Pamięć RAM może dostarczyć te dane
w czasie rzędu tysięcznych części sekundy. Przy współczesnych serwerach obsługujących setki żądań na sekundę przyspieszenie dostarczania danych uzyskane dzięki buforowaniu dysku staje się wyraźnie odczuwalne dla użytkowników stacji roboczych.
Typowa wielkość bloku danych żądanego przez program użytkowy to 1 kB. Natomiast system buforowania dysku wczytuje do pamięci RAM serwera przynajmniej 4 kB danych z najbliższego sąsiedztwa danych żądanych. W celu osiągnięcia maksymalnej skuteczności buforowania dysku administratorzy sieci mogą skorzystać
z funkcji konfiguracyjnych oprogramowania buforującego i zmienić wielkość wczytywanych bloków danych.
Buforowanie nie przyspiesza przetwarzania pierwszego żądania danych, ale jeśli kolejne żądania będą dotyczyły danych, które znajdują się już w buforze, dane te będą dostarczane znacznie szybciej, niż gdyby musiały być odczytane z dysku twardego.
W wielu operacjach wskaźnik trafień bufora (liczba żądań zrealizowanych z bufora w stosunku do ogólnej liczby żądań) przekracza 80 %.
Buforowanie dysku może również przyspieszyć operacje zapisu plików. Żądania zapisu danych na dysku serwera trafiają do oznakowanych bloków bufora dyskowego, które są systematycznie zapisywane na dysku w przerwach pomiędzy obsługą żądań z sieci. Jednak buforowanie zapisu jest zwykle funkcją domyślnie wyłączoną i dopiero administrator sieci może ją uruchomić, co jest spowodowane jedną znaczącą wadą tej techniki. Jeśli zdarzy się poważna awaria dysku twardego lub całego serwera albo jeśli wystąpi przerwa w zasilaniu, dane w buforze czekające na zapis na dysku zostaną utracone. Dlatego potencjalny wzrost wydajności systemu wynikający z buforowania zapisu należy zawsze oceniać pod kątem potencjalnej straty danych w wyniku awarii.
Zwiększanie niezawodności systemu plików
Odporność na uszkodzenia (fault tolerance), czyli zdolność do kontynuowania pracy pomimo uszkodzenia istotnych podsystemów, to względnie nowy czynnik w odniesieniu do sieci lokalnych. W miarę, jak coraz więcej użytkowników umieszcza
w sieci swoje najbardziej wartościowe aplikacje i dane, odporność na uszkodzenia staje się coraz ważniejsza. Niektóre sieciowe systemy operacyjne - jak godne uwagi wersje System Fault Tolerant (SFT) NetWare - mają funkcje jednoczesnego zapisu danych na kilku dyskach twardych, co zwiększa możliwości ich odtworzenia
w przypadku awarii jednego dysku.
Novell od kilku lat oferuje wersje SFT systemu NetWare z takimi funkcjami, jak przeadresowywanie uszkodzonych bloków, kopia lustrzana dysku i dublowanie dysku. Wersja SFT III NetWare jest skomplikowana i znacznie droższa od wersji standardowej.
Przeadresowywanie uszkodzonych bloków (bad block revectoring) - określane przez Novella terminem HotFix - to technika, w której niewielki program monitoruje działanie dysku twardego, wykrywając wszelkie nieprawidłowości związane
z uszkodzeniami nośnika magnetycznego dysku. Kiedy zostanie wykryty problem tego rodzaju, program próbuje odtworzyć dane dostępne w uszkodzonym fragmencie i nadać im inną lokalizację, a także aktualizuje mapę adresów plików. Ponadto program oznacza uszkodzony blok tak, aby nie był on wykorzystywany w przyszłości.
W technice kopii lustrzanej (disk mirroring) używa się dwóch dysków - głównego
i podrzędnego. Najlepiej jeśli dysk podrzędny jest identyczny z dyskiem głównym, a przynajmniej jest tego samego typu, jednak w takim przypadku musi mieć większą pojemność niż dysk główny (dodatkowe miejsce nie będzie wykorzystane).
|
|
|
Uwaga na dublowanie Dublowanie dysku znakomicie poprawia niezawodność, ale nie ma nic za darmo. Zaleta ta musi być okupiona dodatkowym obciążeniem procesora serwera, który powinien obsłużyć dwukrotnie więcej żądań odczytu/zapisu. Aby dublowanie dysków miało sens w praktyce, trzeba zaopatrzyć się w wysokiej jakości kontroler dysku twardego wyposażony we własny procesor. |
Wszystkie dane zapisywane na głównym dysku są również zapisywane na dysku lustrzanym, jednak niekoniecznie w tej samej lokalizacji fizycznej. W przypadku awarii dysku głównego jego funkcje przejmuje natychmiast dysk podrzędny, dzięki czemu unika się utraty danych.
Inną podstawową cechą kopii lustrzanej jest możliwość odczytu danych z dysku podrzędnego w przypadku błędów odczytu na dysku głównym. W stosunku do obu dysków działają funkcje weryfikacji odczytu po zapisie oraz HotFix. Dlatego uszkodzone bloki na dysku głównym zostaną oznaczone, a w prawidłowych blokach zostaną zapisane odpowiednie dane odtworzone na podstawie danych z dysku lustrzanego. W ten sposób zamyka się pętla odtwarzania z błędów odczytu i zapisu.
Jeśli do konfiguracji stosowanej w lustrzanej kopii dysku dodać następną kartę kontrolera dysku twardego, można wtedy mówić o dublowaniu dysku (disk duplexing). Taka nadmiarowa konfiguracja jeszcze bardziej zwiększa niezawodność. Dublowanie dysków ma ponadto wpływ na przepustowość sieci lokalnej dzięki technice zwanej przeszukiwaniem równoległym (split seeks). Kiedy w tej samej chwili wystąpi wiele żądań odczytu, są one obsługiwane natychmiast przez obydwa dyski, co praktycznie podwaja wydajność dysku i podnosi całkowitą wydajność systemu. W przypadku pojedynczego żądania odczytu system operacyjny określa najpierw, który z dysków może je szybciej zrealizować. Jeśli oba są tak samo zajęte, NetWare kieruje je do napędu, którego bieżąca pozycja głowicy jest najbliżej żądanych danych.
Podsumowując - kopia lustrzana dysku wymaga tylko jednej karty kontrolera i wykorzystuje drugi dysk, który może natychmiast podjąć działanie w przypadku awarii dysku głównego, eliminując tym samym groźbę utraty danych. Dublowanie dysków wykorzystuje odrębne karty kontrolerów dla każdego z dysków i zwiększa wydajność systemu, umożliwiając jednoczesne kierowanie żądań odczytu i zapisu przez odrębne kanały do obu dysków. Technika ta pozwala także na kontynuowanie pracy w przypadku awarii kontrolera dysku. Zarówno kopia lustrzana, jak i dublowanie dysków przyczyniają się do zwiększenia odporności systemu na uszkodzenia.
Łączenie w klastry
Chociaż opcje służące podwyższeniu niezawodności w systemie NetWare działają dobrze, to jednak wymagają specjalnego oprogramowania i identycznego, nadmiarowego sprzętu. Microsoft powołał konsorcjum, którego celem jest rozwój technologii łączenia w klastry.
|
|
|
Nic nowego pod słońcem O technice łączenia w klastry wiele się teraz mówi, jednak Autor już w roku 1967 obsługiwał komputery firmy IBM, które używały przełączników na lampach elektronowych i w których stosowano coś na kształt klastrów.
Dwie identyczne maszyny mogły bowiem działać równolegle lub |
Celem techniki klastrowej jest łączenie serwerów w samoobsługowe i samonaprawiające się grupy (klastry). Według założeń serwery w klastrach mogą być modelami o różnych możliwościach i pochodzić od różnych producentów (choć jest mało prawdopodobne, aby czołowi dostawcy sprzętu skierowali się ochoczo ku pełnej wymienialności swoich komponentów). Podobny system klastrowy opracowany przez Novella nosi nazwę Orion.
W koncepcji klastrów aktywny-aktywny każda maszyna w klastrze może wykonywać rzeczywiste zadania, a także jest w stanie odtworzyć zasoby i zadania dowolnej innej maszyny w klastrze.
Teoretycznie nie ma potrzeby utrzymywanie rezerwowego serwera, który będzie tylko czekał na awarię. Zamiast tego wszystkie serwery w klastrze komunikują się ze sobą, aby w razie awarii jednego serwera móc przejąć jego funkcje. To odtworzenie nie jest tak błyskawiczne, jak w przypadku pełnej kopii lustrzanej zasobów sprzętowych, ale trwa nie więcej niż kilka sekund, a poza tym cały system jest bardzo pojemny i znacznie bardziej dostępny finansowo.
Systemy zabezpieczeń
Idea współużytkowania zasobów i plików jest interesująca zarówno pod względem ekonomicznym, jak i z uwagi na możliwość zwiększenia produktywności. Jednak
i tutaj obowiązuje zasada „co za dużo, to niezdrowo”. Oprogramowanie serwera powinno dysponować jakąś metodą różnicowania żądań napływających ze stacji klienckich i określania, czy dany użytkownik ma uprawnienia do żądanych danych
i usług. Nikt nie chce, aby nieupoważnieni pracownicy mieli dostęp do danych osobowych albo do listy płac. Ponadto, aby zapobiec dowcipom i nieumyślnym uszkodzeniom, często niezbędne jest ograniczenie aktywności użytkowników sieci tylko do pewnych plików.
Oprogramowanie sieciowe wykorzystuje zwykle jeden lub dwa systemy zabezpieczeń. Pierwszy system polega na przydzieleniu każdemu zasobowi udostępnianemu w sieci nazwy sieciowej, która może określać dysk sieciowy, podkatalog lub nawet pojedynczy plik. Z nazwą sieciową można powiązać hasło i na jego podstawie decydować o prawach do odczytu/zapisu/tworzenia. Chociaż system ten daje względnie łatwą możliwość ochrony zasobów, to jednak wymaga od użytkownika pamiętania kilku haseł. Jeśli zarządzanie hasłami jest powodem ciągłych problemów, skuteczność systemu zabezpieczeń jest zagrożona.
Odmienne podejście do kwestii bezpieczeństwa wykorzystuje koncepcję grup: każdy użytkownik należy do przynajmniej jednej grupy, a każda z nich ma określone uprawnienia. W takim systemie, stosowanym w NetWare, użytkownik jest odpowiedzialny tylko za swoje hasło osobiste.
|
|
|
Największe „luki” w systemach bezpieczeństwa to ludzie Oprogramowanie sieciowe może być wyposażone w wyszukane mechanizmy zabezpieczające, jednak o ich skuteczności decyduje i tak codzienna praktyka związana z bezpieczeństwem. Konieczne jest wymuszenie odpowiedniego postępowania w zakresie haseł, fizyczne zabezpieczenie sprzętu oraz rozbudzanie u pracowników świadomości wagi spraw związanych z bezpieczeństwem. Największym zagrożeniem nie są siejący zniszczenie crackerzy, ale niezadowoleni pracownicy i konkurencja. Najczęściej o włamaniu do sieci nie wiadomo nic do czasu, gdy w działalności firmy nie nastąpi jakaś poważna katastrofa. W administrowaniu zadaniami związanymi z bezpieczeństwem nie wolno zdawać się wyłącznie na oprogramowanie. |
Administrator sieci LAN może łatwo przenosić użytkowników z grupy do grupy, zgodnie z zajmowanymi przez nich stanowiskami lub usuwać ich z grup, gdy opuszczają oni firmę.
Oba systemy zabezpieczeń umożliwiają administratorowi przydzielenie lub odebranie pojedynczym użytkownikom lub grupom użytkowników uprawnień do odczytu, zapisu, tworzenia, usuwania, przeszukiwania i modyfikowania plików danych.
Na przykład pracownikowi odpowiedzialnemu za wprowadzanie danych można przydzielić tylko uprawnienia do modyfikowania plików księgowych, aby uniemożliwić mu ich skopiowanie do własnych celów. Niektóre systemy operacyjne oferują nawet możliwości uprawnień „tylko do wykonywania”, które pozwalają uruchomić program, ale nie pozwalają go skopiować, ani nie dają do niego żadnego innego dostępu. Odpowiednie zastosowanie różnych możliwości zabezpieczeń pozwoli ochronić najcenniejsze informacje firmowe.
W aplikacjach o podwyższonym poziomie zabezpieczeń ważną funkcją jest szyfrowanie haseł, zarówno zapisywanych na dysku, jak i podczas transmisji. O ile wcześniej pracownik techniczny mógł za pomocą analizatora sieciowego „podsłuchać” hasła i dane przesyłane w sieci, o tyle obecnie systemy operacyjne oferują możliwości szyfrowania haseł na pohybel wszystkim, którzy chcieliby się podłączyć do kabla.
I ostatnia uwaga na temat bezpieczeństwa: należy zastanowić się nad fizycznym zabezpieczeniem każdego serwera. Najlepiej zamknąć je w osobnym pomieszczeniu zamykanym na zamek szyfrowy.
System to sieciowy system operacyjny
Sieciowy system operacyjny składa się z wielu modułów i elementów. Często podczas instalacji można wybrać opcje i konfiguracje, takie jak oprogramowanie warstwy transportowej czy interfejsy API, które najlepiej pasują do danej organizacji. Ale takie systemy interaktywne wymagają troskliwej opieki. W następnym rozdziale zostaną przedstawione podstawy najpopularniejszych sieciowych systemów operacyjnych ze szczególnym uwzględnieniem ich praktycznych możliwości i ograniczeń.
196 Sieci komputerowe dla każdego