Sieci Peer to Peer i sieci Klient/Serwer
Sieć jest systemem komunikacji komputerów między sobą poprzez medium transmisyjne z użyciem określonych protokołów komunikacyjnych. Protokołem komunikacyjnym określa się zespół zasad i reguł przekazywania komunikatów między komputerami – stacjami sieciowymi. Medium transmisyjne jest to nośnik umożliwiający rozchodzenie się informacji w postaci prądu elektrycznego, fali elektromagnetycznej, świetlnej, akustycznej, itp.
Sieć komputerowa Siecią komputerową nazywa się każdą grupę rozproszonych, połączonych ze sobą autonomicznych komputerów, w której następuje wymiana danych.
Zadania sieci komputerowej usprawnianie komunikacji - poczta elektroniczna, szybka i łatwa komunikacja; współdzielenie zasobów – szczególnie tych droższych: drukarki, specjalistyczne oprogramowanie, bazy danych, współużytkowanie programów i plików, ploterów, pamięci masowych, rozwój organizacji - struktury organizacyjnej różnych instytucji i sposobów ich zarządzania.
Architektury sieci 1. HOST-TERMINAL 2. PEER TO PEER 3. KLIENT-SERWER
HOST-TERMINAL Jeden komputer typu host udostępniany wielu użytkownikom. Idea: użytkownicy posiadają nieinteligentne terminale, wszelkie działania wykonywane są na komputerze hosta: podział pamięci RAM między użytkowników podział zasobów dyskowych między użytkowników jeden procesor dla wszystkich użytkowników Przykładem jest system UNIX
PEER-TO-PEER Sieć do której przyłączone są stacje robocze. Nie ma sieci nadrzędnej. Każdy użytkownik ma prawo do udostępniania sieci zasobów (zasoby dyskowe-katalogi, urządzenia zewnętrzne np. drukarka), którymi dysponuje. Zaleta: łatwa konfiguracja systemu Wady: rozproszenie zasobów dyskowych (utrata danych)
Peer -to- peer Mała wydajność Trudna lokalizacja informacji Tanie, łatwe w uruchomieniu Nie wymagają dodatkowego oprogramowania ani administratora Użytkownicy sami udostępniają zasoby Niezależne od serwera Mała wydajność Trudna lokalizacja informacji Wiele haseł dostępu Problemy z bezpieczeństwem
Sieci peer -to -peer komputery - równe prawa grupy robocze karty sieciowe + system operacyjny realizujący współpracę w sieci Windows od 3.11 ..... Novell od lat 80 tych Linux Unix Macintosch - System Os
KLIENT-SERWER Model pośredni. Stacja serwera do której przyłączone są inteligentne stacje robocze. Serwer służy do przechowywania danych dyskowych, a aplikacje są uruchamiane na poszczególnych stacjach roboczych klientów. Szybkość zależy od wydajności stacji roboczej. Na stacji roboczej nie są przechowywane zasoby tylko na serwerze. To serwer udostępnia np. drukarkę. Zaleta : zasoby zgromadzone są w jednym miejscu Wady : dodatkowy system komputerowy (serwer), zatrudnienie administratora sieci
Model klient-serwer klient-serwer (client-server) – model sieci udostępniający przetwarzanie danych między klientem a serwerem; klient (np. Gopher, FTP, przeglądarka WWW); aplikacja wykorzystująca informacje lub usługi dostarczane przez serwer; wysyła do serwera żądanie dostępu do informacji, prezentuje użytkownikowi otrzymane z serwera dane. przeglądarka – program pozwalający na korzystanie z zasobów Internetu oraz intranetu, wyświetlanie danych tekstowych, graficznych i innych typów, udostępnia te dane w postaci pliku zwanego stroną;
Model klient-serwer serwer - przechowuje dane i programy oraz udostępnia usługi sieciowe klientom; oprogramowanie, które udostępnia współdzielony zasób komputera; komputer dowolnego typu pozwalający na: dostęp do plików, drukowanie, komunikację (np. poczta), uruchamianie programów znajdujących się tylko na serwerze, dostęp użytkowników do miejsca na dysku, inne usługi dostępne dla użytkowników sieci web;
Model klient-serwer w małej sieci jeden serwer może realizować wszystkie funkcje, w dużych – specjalizacja; aplikacja serwera po uruchomieniu przechodzi w stan uśpienia czekając na żądanie ze strony klienta, użytkownik uaktywnia oprogramowanie klienta, które łączy się z serwerem żądając wykonania usługi.
Usługi dostępne w sieci komputerowej telnet, poczta elektroniczna, ftp (file transfer protocol) - transfer plików, grupy dyskusyjne, Usenet, mapowanie dysków sieciowych, systemy informacyjne - Gopher, WAIS, ARCHIE, IRC, WWW (World Wide Web), itp.
Usługi dostępne w sieci komputerowej dostęp on-line do banków i baz danych (naukowe, komercyjne, np. rezerwacja biletów, zakupy przez internet), biblioteki wirtualne, czasopisma sieciowe, interaktywne programy komunikacyjne, chat rooms, wideokonferencje.
Sieci P2P
Przebieg prezentacji Co to są sieci P2P Krótka historia sieci P2P Topologie P2P: Centralny serwer Sieć rozproszona Sieć rozproszona z wyróżnionymi komputerami BitTorent Stosowane techniki Popularne sieci
Co to są sieci P2P? Sieć typu P2P są to komputery połączone siecią, wśród których nie można wyróżnić klientów i serwerów Każdy komputer (peer) może być zarówno serwerem jak i klientem dla innych węzłów Węzły sieci P2P mogą być heterogeniczne
Początki sieci P2P 1984 – termin P2P (IBM) 1999 – powstanie Napstera (Shawn Fanning) Nagonka firm fonograficznych RIAA, IFPI 2000 – powstanie Gnutelli (NullSoft) 2001 – Kazaa
Peer-to-Peer (P2P) wszystkie komputery mają jednakowe uprawnienia, sieć posiada płynną strukturę;
Sieć z centralnym serwerem
Napster Zalety Wady łatwość i szybkość wyszukiwania dobra wydajność serwer łatwo do zlokalizowania (zamknięty przez RIAA w 2000 roku)
Sieć rozproszona
Gnutella Zalety Wady trudny do zlokalizowania serwer, bo... go nie ma mało efektywne wyszukiwanie (zapytania do wszystkich węzłów)
Sieć rozproszona w wyróżnionymi komputerami
FastTrack Zalety Wady nominacja na supernode dobra wydajność - szybsze wyszukiwanie samoorganizacja Wady „fałszywki” - hash
BitTorrent
BitTorrent Zalety Wady Przesyłanie równoległe (znacznie szybsze) algorytmy optymalizacji Udostępnianie fragmentu pliku Wady Trudność w udostępnieniu pliku
Różne techniki Technika hashowania Wznawiania pobrań (resuming) Odsyłacze Równoległe pobieranie plików Premiowanie/kredyty Namierzanie serwera (BitTorrent) – serwisy www Algorytm XOR
Popularne sieci P2P eDonkey2000 Wiele serwerów eDonkey2000, eMule Kad Rozproszona eMule FastTrack Rozproszona z wyróżnionymi komputerami Kazaa Media Desktop, K-Lite, Grokster Gnutella2 Morpheus, Trusty Files DirectConnect DirectConnect, DC++ BitTorrent BitTorrent, BT++, Azareus, Bit Tornado
Sieci oparte na serwerze Serwery - udostępniające zasoby + stacje robocze Przynajmniej 1 serwer wyposażony w operacyjny system sieciowy Centralna kontrola, sieci „skalowalne” Novell Net Ware Windows Serwer Unix Linux
Klient – serwer w sieci występuje serwer, który odgrywa nadrzędną rolę i nadzoruje całą sieć;
Sieci serwerowe - zalety: Bezpieczeństwo: centralne zarządzanie Wydajność: zaprojektowany, dedykowany sprzęt, Administracja: scentralizowana ...
Sieci serwerowe - wady: Koszty - droższa instalacja i obsługa ... Większy koszt ewentualnych przestojów, wyższe ryzyko ... Zabezpieczenia: dalsze wysokie koszty
Typy serwerów sieciowych Serwery plików Serwery aplikacji Serwery poczty Serwery wydruku Serwery www Serwery komunikacyjne Inne, np. DNS
Architektury klient-serwer W takiej architekturze program użytkowy jest modelowany jako zbiór usług oferowanych przez serwery i zbiór klientów, którzy z tych usług korzystają. Klienci muszą znać dostępne serwery, ale zwykle nie muszą wiedzieć o istnieniu innych klientów. Klienci i serwery są oddzielnymi procesami. Procesy i procesory systemu nie muszą być wzajemnie jednoznacznie przyporządkowane.
Logiczny model rozproszonej architektury klient-serwer 1 2 3 4 k 5 6 7 8 9 k 1 2 1 Proces serwera Proces klienta
Dwa rodzaje architektury klient-serwer Model klienta cienkiego W tym modelu całość przetwarzania i zarządzania danymi ma miejsce na serwerze. Jedynym zadaniem klienta jest uruchomienie oprogramowania prezentacyjnego. Model klienta grubego W tym modelu serwer odpowiada jedynie za zarządzanie danymi. Oprogramowanie u klienta implementuje logikę programu użytkowego i kontakt z serwerem.
Klient cienki i klient gruby Prezentacja Serwer Zarządzanie danymi Przetwarzanie Model klienta cienkiego Klient Prezentacja Przetwarzanie Model klienta grubego Serwer Zarządzanie danymi Klient
Model klienta cienkiego Architektura dwuwarstwowa z klientem cienkim jest najprostszym rozwiązaniem, które można wykorzystać w scentralizowanych systemach odziedziczonych ewoluujących w kierunku architektur klient-serwer. Interfejs użytkowy działa jako serwer i obsługuje przetwarzanie użytkowe oraz zarządzanie danymi. Model klienta cienkiego może być również zaimplementowany tam, gdzie klienci są raczej prostymi urządzeniami sieciowymi, a nie komputerami osobistymi albo stacjami roboczymi. Na takim urządzeniu sieciowym działa przeglądarka Sieci oraz interfejs użytkownika realizowany przez ten system. Najważniejsza wadą modelu klienta cienkiego jest duże obciążenie przetwarzaniem zarówno sieci, jak i serwera.
Model klienta grubego Korzysta się z dostępnej mocy obliczeniowej klienta przekazując mu zarówno przetwarzanie związane z logiką programu użytkowego, jak i prezentację. Serwer jest zasadniczo serwerem transakcji, który zarządza transakcjami w bazie danych. Dobrze znanym przykładem architektury tego typu są systemy bankomatów. Bankomat jest tam klientem, a serwerem jest komputer główny obsługujący bazę danych kont klientów. W modelu klienta grubego przetwarzanie jest bardziej efektywne niż w wypadku modelu klienta cienkiego, zarządzanie systemem jest natomiast trudniejsze w tym pierwszym modelu.
System klient-serwer do obsługi bankomatów Serwer kont Monitor Baza danych przetwarzania kont zdalnego klientów Bankomat Bankomat
Architektura trójwarstwowa klient-serwer Prezentacja Serwer Przetwarzanie użytkowe Serwer Zarządzanie danymi Klient
Architektura trójwarstwowa systemu bankowego w Sieci Klient Komunikacja HTTP Klient Serwer bazy danych Baza danych SQL kont klientów Serwer WWW Obsługa konta Zapytanie SQL Klient Klient
Sieci dedykowane Szybki dostęp do zasobów Łatwe rozbudowywanie Centralna kontrola -bezpieczeństwo Użytkownik pamięta 1 hasło Koszty !! Konieczność zatrudnienia administratora Awaria głównego serwera blokuje dostęp do zasobów
Dziękuję za uwagę!