PEER-TO-PEER

advertisement
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ę!
Download