Sieci komputerowe Wykład 1: geneza, podstawowy podział ze względu na architekturę i modele przetwarzania Wykład prowadzony przez dr inż. Mirosława Hajdera dla studentów 3 roku informatyki, opracowany przez Joannę Pliś i Piotra Lasotę, 3 FD.
Geneza sieci Podstawową przyczyną realizacji sieci komputerowych była konieczność zapewnienia spójności informacyjnej systemów. Spójnością informacyjną nazywamy cechę systemu informatycznego, dzięki której każdy z jego użytkowników ma dostęp do jednych i tych samych informacji. Dowolny system informatyczny wykonuje 4 podstawowe funkcje: 1. realizacja procesów obliczeniowych 2. realizacja sterowania danymi (magazynowanie itp.) 3. realizacja interfejsu użytkownika 4. wizualizacja W celu zapewnienia spójności informatycznej system może mieć architekturę: a) komputerów niezależnych z wymiennymi nośnikami b) systemów wielostanowiskowych c) systemów sieciowych 1 ad a) Komputery niezależne z wymiennymi nośnikami Pierwszy sposób połączenia komputerów, sposób wymiany informacji polega na ręcznej wymianie danych z komputera do komputera. Spowodowane było jest to kosztami. Część mocy procesora zużywana jest na obsługę urządzeń wejścia / wyjścia. Moc, która mogła być wykorzystana do obliczeń i innych potrzebnych rzeczy należało oszczędzać właśnie przez ręczną wymianę danych. 1-4 1-4 1-4 Rys 1.1 Komputery niezależne z wymiennymi nośnikami
Na rysunku 1.1 pokazany został sposób przekazywania danych między komputerami niezależnymi z wymiennymi nośnikami. Numery przy każdym komputerze oznaczają, które funkcje (z czterech podstawowych) są wykonywane w każdej jednostce. Widać, że w tej architekturze każda jednostka realizuje wszystkie cztery podstawowe funkcje, czyli: wykonuje proces obliczeniowy, steruje danymi, dba o interfejs użytkownika oraz o wizualizację. 2 ad b) Systemy wielostanowiskowe HOST 1,2,3 terminal 4 terminal 4 terminal 4 Rys 1.2 Systemy wielostanowiskowe Host w systemie wielostanowiskowym to jedyna jednostka dysponująca mocą przetwarzania. Wszelkie działania realizowane są na hoście. Terminalem nazywamy specjalizowaną jednostkę komputerową, jedynym zadaniem której jest realizacja kontaktu z użytkownikiem. Interfejsem użytkownika nazywamy fragment systemu operacyjnego, zadaniem którego jest nawiązywanie i utrzymywanie kontaktu z użytkownikiem. W poprzedniej architekturze wszystkie komputery były równe. Na rysunku 1.2 widać, że teraz mamy inną sytuację - jest wyraźnie zaznaczona jedna jednostka górująca (host), oraz pozostałe - terminale. Host wykonuje większość funkcji podstawowych (1,2,3) zostawiając terminalom jedynie wizualizację. Przetwarzanie danych wyłącznie na hoście zapewnia spójność systemu i centralizację informacji. W systemach wielostanowiskowych jedna przestrzeń adresowa jest dzielona między użytkowników. Administrując takim systemem trzeba więc zadbać, aby praca przebiegała bez zakłóceń. Host z terminalem jest połączony jedną personalną linią. Jest to spowodowane kosztami, oraz stosunkowo niewielkim przepływem danych jest między hostem, a terminalem. Niestety, nic w systemie nie jest za darmo, więc im bardziej rozbudowany interfejs użytkownika tym bardziej jest też zasobożerny. Przy niewielkiej liczbie użytkowników nie
stanowi to problemu, jednak gdy ich ilość rośnie do kilku tysięcy, obsługa interfejsów graficznych w znacznym stopniu obciąża hosta. Dlatego najczęściej używane są interfejsy tekstowe, które pochłaniają znacznie mniej zasobów. 3 Zaletą tego typu architektury, a szczególnie głuchych terminali jest wykorzystywanie sprzętu przez użytkowników tylko do pracy zawodowej. Nie ma więc problemu surfowania po Internecie w godzinach pracy, ściągania wirusów. Nie trzeba również specjalnego wykształcenia do używania komputera aby obsługiwać terminal. Użytkownik włącza komputer i natychmiast po autoryzacji uzyskuje dostęp do używanej aplikacji. Problemem natomiast jest to, że przetwarzanie odbywa się tylko i wyłącznie na hoście, wobec czego w razie jakiejkolwiek jego awarii sieć przestaje pracować. Parametrom hosta należy więc poświęcić szczególną uwagę, ponieważ struktura jest bardzo na nie wrażliwa. Powinien on charakteryzować się dużą niezawodnością, być nadmiarowany informacyjne i sprzętowo, tak aby w razie uszkodzeniu można było szybko zamienić uszkodzony element innym. Niestety, w polskich firmach często w roli hosta występuje zwykły PC. Spowodowane jest to kosztem sprzętu specjalizowanego i naprawdę niezawodnego. ad c) Systemy sieciowe Podstawową wadą systemów wielostanowiskowych była centralizacja przetwarzania. Stawiało to przed hostem bardzo wysokie wymagania niezawodnościowe i wydajnościowe. Systemy te nie pozwalały realizować rozbudowanych interfejsów użytkownika, a jakiekolwiek uszkodzenie hostu wiązało się z niefunkcjonowaniem całego systemu. Istota systemów sieciowych wiąże się z rozproszeniem procesu przetwarzania. SERWER 1(globalne) 2(globalne) 3(administratora) 4(administratora) stacja robocza 1(lokalne) 2(lokalne) 3,4 stacja robocza 1(lokalne) 2(lokalne) 3,4 stacja robocza 1(lokalne) 2(lokalne) 3,4 Rys 1.3 Systemy sieciowe Jak widać na rysunku 1.3 wszystkie procesy obliczeniowe globalne oraz sterowanie globalnymi danymi odbywa się w serwerze, natomiast procesy i dane lokalne są realizowane w stacjach roboczych. Wizualizacja i interfejs użytkownika realizują się na stacjach roboczych, na serwerze realizowany jest jedynie interfejs i wizualizacja administratora. Bardzo często administrowanie jest zdalne, więc zadania te odpadają.
Ponieważ stacja robocza wyposażana jest we własną moc obliczeniową sposoby połączenia serwera i stacji mogą być zaawansowane. Połączenie to może także opierać się o media wielodostępowe (współdzielone). To, że stacja robocza dysponuje własną mocą obliczeniową, pozwala jej wykonywać procesy obliczeniowe o charakterze lokalnym, w tym również ochronę kryptograficzną przesyłanych danych. 4 Najszerzej system sieciowy wykorzystywany jest w bankowości. Oczywiście rodzi to problem bezpieczeństwa danych, które mogą być bardzo cenne dla włamywaczy komputerowych (piny, numery kont, przelewy itd.). Stacja wyposażona we własny procesor i mająca własną moc obliczeniową może wykonywać lokalne operacje na danych, w tym również kodowanie kryptograficzne. W architekturze systemu wielostanowiskowego nie można było tego zrealizować. Zastosowanie takiej architektury daje pewną niezależność jednostek od serwera. W razie awarii któregoś z elementów struktury sieć funkcjonuje nadal. W przypadku gdy zostanie uszkodzony serwer, można wykonywać operacje na lokalnych danych. Podstawowym problemem systemów sieciowych jest konieczność zapewnienia komunikacji pomiędzy autonomicznymi systemami. Komunikacja ta realizowana jest na bazie protokołów. Protokołem nazywamy zbiór zasad syntaktycznych i semantycznych określający sposoby komunikowania się elementów systemu. Syntaktyką nazywamy gramatykę protokołu, tj. zestaw zasad określających poprawne jego konstrukcje. Semantyką nazywamy określenie działań wykonywanych przez poprawne gramatycznie konstrukcje protokołu. Protokoły stosujemy również w społeczeństwie, jest to sposób w jaki komunikujemy się z innymi ludźmi. Tutaj zasady określają komunikację między serwerem, a stacją roboczą. Protokół powoduje nadmiarowość informacji przesyłanej, przez co efektywność komunikacji jest mniejsza. Jednakże protokoły są koniecznością, nie można ich nie używać, a nie da się określić jednego uniwersalnego protokołu. Protokoły możemy podzielić na: deterministyczne według przedziału czasu, jednak kosztem przepustowości probabilistyczne według maksymalnej efektywności wykorzystywania medium Protokolizmem nazywamy zjawisko jednoczesnego wykorzystania w jednej i tej samej strukturze informatycznej wielu różnych niekompatybilnych ze sobą protokołów. Protokolizm może pogarszać wszelkie charakterystyki architektury systemu sieciowego. Systemy sieciowe mogą być homogeniczne lub heterogeniczne. Systemem homogenicznym nazywamy system oparty o elementy wykorzystujące tą sama architekturę systemowo sprzętową. W systemie heterogenicznym takie wymaganie nie jest stawiane.
5 Powstający urządzenia maja bardzo różną architekturę oraz sposoby komunikacji. Zastosowanie protokołów umożliwia komunikowanie się sprzętu różnego typu, oraz pochodzącego od różnych producentów. Pierwsze systemy sieciowe były budowane w oparciu jesteśmy urządzenia homogeniczne. Obecnie jesteśmy na etapie systemów heterogenicznych. Nie jest to rozwiązanie bardzo dobre, jednakże zostało uwarunkowane finansowo i technicznie. Według dialektyki rozwoju (spiralny powrót do tego samego co na początku, tylko na wyższym poziomie) powinniśmy powrócić do homogenicznych systemów. Typy stacji roboczych: niezależne bez danych bezdyskowe Stacje niezależne wyposażone są w pełny zestaw urządzeń i programów gwarantujący funkcjonowanie stacji w oderwaniu od całości systemu (stand alone). Stacje bez danych wyposażone są w minimalny zestaw urządzeń technicznych przeznaczonych w szczególności do przechowywania części rdzeniowej systemu operacyjnego oraz realizacji operacji swapingu. Stacje bez danych i bezdyskowe wykorzystywane są najczęściej w celu limitowania zakresu funkcji dostępnych użytkownikom sieci. W stacjach typu stand alone pojawia się problem efektywnego wykorzystania czasu pracy przez pracowników. Według badań, przy pełnym dostępie do Internetu, 70-80% czasu tracone jest przez pracowników na przeglądanie stron zupełnie nie związanych z branżą w której pracują. W stacjach takich limitowanie dostępu do Internetu jest utrudnione. Trzeba tworzyć zapory ogniowe - pojawiają się też problemy ze względu bardziej administracyjnego niż technicznego. Stacje bez danych i bezdyskowe mają w tej kwestii przewagę, gdyż to administrator określa co użytkownik może zrobić. Zaletą stacji bez dyskowych jest również niekłopotliwa wymiana oprogramowania. Modele przetwarzania w systemach sieciowych. Wyróżniamy następujące podstawowe modele: a) model klient-serwer b) partnerski c) kooperacyjny d) rozproszony ad a) Model klient serwer W modelu tym użytkowników można podzielić na usługodawców, nazywanych serwerami bądź komputerami tylnymi oraz usługobiorców tzw. komputery czołowe. Jest to model stosowany najczęściej. Przykład: tworzymy kwerendę przesyłaną od klienta do serwera, gdzie jest dokonywana selekcja danych, i przesyłane są one z powrotem do klienta, gdzie następuje wizualizacja.
Serwer musi więc charakteryzować się bardzo dobrą wydajnością, zaś wymagania klientów opierają się jedynie na wizualizacji. Z tego wynika, że architektury klienta i serwera powinny być różne. I tylko z powodów finansowych stosuje się taki sam sprzęt dla serwera i klienta. Z drugiej strony podział pomiędzy serwery i klientów jest podziałem jedynie warunkowym. Jednostki mogą się wymieniać funkcjami, prędzej więc możemy powiedzieć o pewnym podziale aplikacyjnym niż sprzętowym. Model klient-serwer stanowi obecnie podstawę realizacji informacyjnych systemów zarządzania. Główną wadą tego modelu jest konieczność podziału jednostek z punktu widzenia ich ważności w systemie oraz ich realizowanych funkcji. W modelu tym główne przepływy realizowane są na trasie serwer-klient. Zazwyczaj zapytanie jest mniejsze niż odpowiedź, stąd przepływy na trasie serwer-klient są większe niż na trasie klient-serwer. 6 ad b) Model partnerski W modelu tym nie klasyfikuje się jednostek z punktu widzenia realizowanych przez nie funkcji. Oznacza to, że wszystkie one z punktu widzenia funkcjonowania sieci są równoprawne. W modelu partnerskim podstawowym problemem jest zapewnienie bezpieczeństwa, wynikające ze złożoności procedury rozgraniczania dostępu do usług i zasobów. Ogólnie najlepsze charakterystyki uzyskuje model partnerski, jednakże tutaj głównym problemem jest właśnie bezpieczeństwo działania. Z tego powodu czysto partnerski model został zastąpiony partnerskim modelem klient serwer. Modele c) i d) realizowane są na podstawie modelu klient-serwer, są wynikiem chęci zastosowania wielu niezależnych serwerów.
Literatura [1] Vademecum teleinformatyka IDG Poland S.A. 2000 r. [2] L. Petersen, B. Davie Sieci komputerowe podejście systemowe Nakom 2000 r. [3] Tom Sheldon, Wielka encyklopedia sieci komputerowych Robomatic 1999 r. 7