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: a) podział pamięci RAM między użytkowników b) podział zasobów dyskowych między użytkowników c) 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 n n n n 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 – łatwość i szybkość wyszukiwania – dobra wydajność • Wady – serwer łatwo do zlokalizowania (zamknięty przez RIAA w 2000 roku) Sieć rozproszona Gnutella • Zalety – trudny do zlokalizowania serwer, bo... go nie ma • Wady – mało efektywne wyszukiwanie (zapytania do wszystkich węzłów) Sieć rozproszona w wyróżnionymi komputerami FastTrack • Zalety – nominacja na supernode – dobra wydajność - szybsze wyszukiwanie – samoorganizacja • Wady – „fałszywki” - hash BitTorrent BitTorrent • Zalety – 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 Rozproszona z wyróżnionymi komputerami Morpheus, Trusty Files DirectConnect Wiele serwerów DirectConnect, DC++ BitTorrent BitTorrent, BT++, Azareus, Bit Tornado Wiele serwerów 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 k3 k2 k4 k12 k11 Proces serwera k1 s1 s4 k10 k5 s2 k6 k7 s3 k9 k8 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 Model klienta cienkiego Klient Zarządzanie danymi Przetwarzanie Prezentacja Przetwarzanie Model klienta grubego Serwer Klient Zarządzanie danymi 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 Bankomat Serwer kont Bankomat Monitor przetwarzania zdalnego Bankomat Bankomat Baza danych kont klientów Architektura trójwarstwowa klientserwer Prezentacja Serwer Klient Przetwarzanie użytkowe Serwer Zarządzanie danymi Architektura trójwarstwowa systemu bankowego w Sieci Komunikacja HTTP Klient Klient Serwer WWW Klient Klient Obsługa konta Serwer bazy danych Zapytanie SQL SQL Baza danych kont klientów Sieci dedykowane • Szybki dostęp do zasobów • Łatwe rozbudowywanie • Centralna kontrola bezpieczeństwo • Użytkownik pamięta 1 hasło n n n Koszty !! Konieczność zatrudnienia administratora Awaria głównego serwera blokuje dostęp do zasobów Dziękuję za uwagę!