Wykłady z przedmiotu Sieci komputerowe podstawy Wykład 1 Opracowali: Monika Nazarko, Krzysztof Raczkowski IIIFDS na podstawie wykładów dr inż. Mirosława Hajdera
1 STRESZCZENIE Wykład ten przedstawia genezę sieci komputerowych. Przybliża pojęcie spójności informacyjnej. Wskazuje typy architektury systemów komputerowych zapewniające ową spójność oraz funkcje jakie pełni dowolny system informatyczny. Dla systemów sieciowych pokazano rodzaje stacji roboczych i modele przetwarzania. Ponadto wyjaśnione są pojęcia: host, terminal, protokół, protokolizm, system homogeniczny i heterogeniczny.
SPIS TREŚCI 2 Streszczenie... 1 1. Pojęcie spójności informacyjnej... 3 2. Funkcje systemu informatycznego... 3 3. Rodzaje architektur systemów komputerowych... 4 3.1. Architektura komputerów niezależnych z wymiennymi nośnikami... 4 3.1.1. Funkcje niezależnych komputerów... 5 3.2. Architektura systemów wielostanowiskowych... 5 3.2.1. Funkcje hosta i terminali... 6 3.3. Architektura systemów sieciowych... 6 3.3.1. Funkcje serwera i stacji roboczych... 7 3.3.2. Protokoły i protokolizm... 8 3.3.3. Systemy homo- i heterogeniczne... 8 3.3.4. Typy stacji roboczych... 8 3.3.5. Modele przetwarzania w systemach sieciowych... 9
3 1. POJĘCIE SPÓJNOŚCI INFORMACYJNEJ Podstawową przyczyną realizacji sieci komputerowych była chęć zapewnienia spójności informacyjnej systemu. Pojęcie spójności: Spójność określana jest w matematyce w teorii grafów jest to pewna cecha topologii, dzięki której graf nie jest rozłączny (czyli istnieje droga łącząca dwa jego dowolne wierzchołki) Spójnością informacyjną nazywamy cechę systemu informatycznego, dzięki której każdy z jego użytkowników ma dostęp do jednej i tej samej informacji. Oznacza to, że dowolna modyfikacja danych w strukturze informatycznej jest widoczna od razu (bez żadnych opóźnień) dla wszystkich użytkowników tego systemu. Przykład: Prostym przykładem obrazującym to może być struktura informatyczna przedsiębiorstwa, gdzie przechowywane są dane osobowe pracowników. Znajdują się w dziale kadr. Tu również możliwa jest ich modyfikacja. Ma do nich dostęp także strażnik pilnujący bramy. Może dzięki temu zidentyfikować pracownika, który zapomniał przepustki. Modyfikacja danych w dziale osobowym (np. pracownik został zwolniony i jego dane wykasowano z bazy) jest natychmiastowo widoczna u strażnika nie wpuści już takiej osoby, gdyż jej identyfikacja nie przebiegnie pomyślnie. 2. FUNKCJE SYSTEMU INFORMATYCZNEGO Dowolny system informatyczny wykonuje cztery podstawowe funkcje: 1) realizacja procesów obliczeniowych; 2) realizacja sterowania danymi; 3) realizacja interfejsu użytkownika; 4) wizualizacja. Jest to klasyfikacja Suna. Interfejsem użytkownika nazywamy fragment systemu operacyjnego, zadaniem którego jest nawiązywanie i utrzymywanie kontaktu z użytkownikiem.
3. RODZAJE ARCHITEKTUR SYSTEMÓW KOMPUTEROWYCH W celu zapewnienia spójności informacyjnej system komputerowy może mieć architekturę: 1) komputerów niezależnych z wymiennymi nośnikami; 2) systemów wielostanowiskowych; 3) systemów sieciowych. 4 3.1. Architektura komputerów niezależnych z wymiennymi nośnikami Cechą charakterystyczną tej architektury jest to, że jednostki wchodzące w jej skład są fizycznie niepołączone. Elementem zapewniającym im wzajemną łączność jest np. wymienne urządzenie dyskowe. Przykład działania: Pracownik, po aktualizacji bazy danych podchodzi z dyskietką do każdej komórki organizacyjnej firmy i dokonuje aktualizacji zasobów na każdym komputerze. Jest to niezbyt dobra metoda można w łatwy sposób pominąć któreś stanowisko w czasie aktualizacji danych; dodatkowa wada to duże opóźnienie (komputery mogą być w znacznej odległości od siebie). Kontynuując przykład strażnika w przedsiębiorstwie może on nie dostać w porę aktualnej bazy danych pracowników i wpuścić na teren zakładu zwolnioną niedawno osobę.
Geneza architektury komputerów niezależnych z wymiennymi nośnikami: Pierwszą generacją przypominającą współczesne komputery była trzecia generacja (rok 1964 i opracowanie przez IBM serii 3260). W owym czasie, najdroższym elementem systemu komputerowego był procesor (kosztujący ok. 1 mln dolarów). Dążono więc do jak najwydajniejszego wykorzystywania procesorów. W każdym systemie informatycznym można wyróżnić dwa rodzaje operacji: przetwarzania i wejścia/wyjścia. Systemy z lat 60-tych niezbyt efektywnie wykorzystywały swoje zasoby do realizacji operacji wejścia/wyjścia. Stworzono więc nową klasę przetwarzania tzw. przetwarzanie pośrednie. Polegało ono na tym, że inna jednostka była odpowiedzialna za operacje wejścia/wyjścia, inna za operacje przetwarzania. 5 3.1.1. Funkcje niezależnych komputerów W architekturze komputerów niezależnych z wymiennymi nośnikami każda jednostka realizuje wszystkie poniższe funkcje: 1) procesy obliczeniowe 2) sterowanie danymi 3) interfejs użytkownika 4) wizualizacja 3.2. Architektura systemów wielostanowiskowych Host w systemie wielostanowiskowym to jedyna jednostka dysponująca mocą przetwarzania. Wszelkie działania związane z przetwarzaniem realizowane są przez hosta. Terminalem nazywamy specjalizowaną jednostkę komputerową, jedynym zadaniem której jest realizacja kontaktu z użytkownikiem.
Terminale (lub głuche terminale) nie wykonują żadnych innych działań niż wizualizacja. To jednostki wyposażone w procesor wykorzystywany wyłącznie do obsługi transferu danych. Wszystkie operacje wymagające mocy obliczeniowej wykonuje host. 6 Architektura systemów wielostanowiskowych jest nadal wykorzystywana. Ma dużą popularność w Polsce. Ponieważ host jest jedyną jednostką, na której odbywa się przetwarzanie, struktura ta jest niezwykle wrażliwa na jego parametry. Uszkodzenie hosta powoduje przerwę w działaniu systemu. Host musi być jednostką o dużej mocy obliczeniowej, odporną na uszkodzenia. Powinien być nadmiarowany programowo i sprzętowo (system fault tolerant). Host był wyposażony w sterownik terminali generował sygnał asynchroniczny, konwertowany na prąd lub sygnał dźwiękowy, umożliwiający łączność hosta z terminalem. Host i terminal były połączone jedną, interpersonalną linią (akustyczną, lub przewodem prądowym) niewielkie szybkości i duża liczba użytkowników korzystających z takiego systemu wymuszały stosowanie interfejsów tekstowych. 3.2.1. Funkcje hosta i terminali 1) procesy obliczeniowe 2) sterowanie danymi 3) interfejs użytkownika 1) wizualizacja 3.3. Architektura systemów sieciowych Podstawową wadą systemów wielostanowiskowych była centralizacja przetwarzania. Stawiało to przed hostem bardzo wysokie wymagania wydajnościowe i niezawodnoś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 architektury sieciowej wiąże się z rozproszeniem procesu przetwarzania.
7 Informacje przesyłane między serwerem a stacją roboczą są większe niż w przypadku systemów wielostanowiskowych. Ponieważ stacja robocza wyposażona jest we własną moc obliczeniową, sposoby połączenia serwera i stacji mogą być zaawansowane, w tym również połączenie to może opierać się o media wielodostępowe (współdzielone). Ponieważ stacja robocza dysponuje własną mocą obliczeniową, może ona wykonywać procesy obliczeniowe o charakterze lokalnym, w tym również ochronę kryptograficzną przesyłanych danych. Architekturę tą cechuje niezależność komponentów systemu awaria serwera nie wstrzymuje pracy całego systemu. Podobnie jest ze stacjami roboczymi. 3.3.1. Funkcje serwera i stacji roboczych 1) procesy obliczeniowe o charakterze globalnym 2) sterowanie danymi o charakterze globalnym 3) interfejs administratora realizowane zwykle 4) wizualizacja związana z administratorem w sposób zdalny 1) procesy obliczeniowe lokalne 2) sterowanie danymi lokalnymi 3) interfejs użytkownika 4) wizualizacja
3.3.2. Protokoły i protokolizm 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ących metody komunikowania się systemu komputerowego. Syntaktyką nazywamy gramatykę protokołu, to jest zestaw zasad określających poprawne jego konstrukcje. Semantyką nazywamy określenie działań wykonywanych przez poprawne gramatycznie konstrukcje protokołu. Wprowadzenie protokołów powoduje wyraźną nadmiarowość informacyjną. Transmisja realizowana jest znacznie mniej efektywnie. Jest to jednak niezbędne. Trudno stworzyć jeden uniwersalny protokół. Protokolizmem nazywamy zjawisko jednoczesnego wykorzystania w jednej i tej samej strukturze informacyjnej wielu różnych, niekompatybilnych protokołów. Protokolizm może pogarszać wszelkie charakterystyki systemu sieciowego. 8 3.3.3. Systemy homo- i heterogeniczne Systemy sieciowe mogą być homogeniczne lub heterogeniczne. Systemem homogenicznym nazywamy system oparty o elementy wykorzystujące tą samą architekturę programowo-sprzętową. W systemie heterogenicznym takie wymaganie nie jest stawiane (system ten budowany jest na bazie platformy wielosystemowej). Przykład: Asembler jest językiem dedykowanym dla konkretnej architektury. Producent opracowując jakiś procesor, tworzy jednocześnie zestaw rozkazów, które mogą być na nim wykonywane. Chęć wykorzystania np. architektury RISC spowoduje, że moduły wykonywalne oparte o język asemblera nie zadziałają na sprzęcie o innej architekturze (np. x86). 3.3.4. Typy stacji roboczych Stacje robocze w systemach sieciowych możemy podzielić na: 1. niezależne, 2. bez danych, 3. bezdyskowe. 3.3.4.1. Stacje niezależne Stacje niezależne wyposażone są w pełny zestaw urządzeń i programów, gwarantujący funkcjonowanie tejże stacji w oderwaniu od całości systemu (stacje stand-alone). Stacje te posiadają własny system operacyjny, zestaw oprogramowania, urządzenia wejścia/wyjścia. W tego typu stacjach utrudnione jest limitowanie dostępu do niektórych zasobów konieczne jest stosowanie zapór ogniowych (firewalli).
3.3.4.2. Stacje bez danych 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 swappingu. W systemie bez danych użytkownik ma dostęp wyłącznie do udostępnionych mu funkcji. 9 Stacje bezdyskowe i bez danych wykorzystywane są najczęściej w celu limitowania zakresu funkcji dostępnych użytkownikowi sieci (aby zwiększyć efektywność pracy). 3.3.5. Modele przetwarzania w systemach sieciowych Wyróżniamy następujące podstawowe modele 1. klient-serwer, 2. partnerski, 3. kooperacyjny, 4. rozproszony. 3.3.5.1. 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 (klientów), nazywanych również komputerami czołowymi. Model klient-serwer stanowi obecnie podstawę realizacji większości sieci komputerowych. Podstawową wadą tego modelu jest konieczność podziału jednostek z punktu widzenia ich ważności w systemie oraz realizowanych funkcji. W modelu tym główne przepływy realizowane są na trasie serwer klient (zapytanie klienta w jest zwykle znacznie mniejsze niż odpowiedź serwera). 3.3.5.2. Model partnerski W modelu tym nie klasyfikuje się jednostek z punktu widzenia realizowanych przez nie funkcji. Oznacza to, że wszystkie one z punktu funkcjonowania sieci są równoprawne. W modelu partnerskim podstawowym problemem jest zapewnienie bezpieczeństwa. Wynika to ze złożoności procedury rozgraniczania dostępu do usług i zasobów. Porównując funkcje i możliwości modelu klient-serwer i partnerskiego, lepsze charakterystyki osiąga ten drugi (pozostaje jednak kwestia bezpieczeństwa). Obecne rozwiązania (NT, UNIX) zbliżają się do modelu partnerskiego. 3.3.5.3. Modele kooperacyjny i rozproszony Główną przyczyną ich powstania była chęć zastosowania w systemie sieciowym wielu serwerów.