Keszowanie i systemy peer-to-peer. Paulina Kania i Łukasz Osipiuk

Podobne dokumenty
Distributed Hash Tables i ich zastosowania

Sieci komputerowe. Wykład 12: Sieci peer-to-peer. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Czas w systemach rozproszonych. Krzysztof Banaś Systemy rozproszone 1

Tribler - nowe podejście do P2P

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

DHT Distributed Hash Table (Rozproszona Tablica Mieszająca)

Sieci równorzędne, oraz klient - serwer

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Działanie komputera i sieci komputerowej.

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Podstawy działania sieci

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

System anonimowej i poufnej poczty elektronicznej. Jakub Piotrowski

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Sieci komputerowe - administracja

Zastosowania PKI dla wirtualnych sieci prywatnych

Ogólnie biorąc, nie ma związku pomiędzy hierarchią nazw a hierarchią adresów IP.

Protokoły PEER2PEER. Krzysztof Kostałkowicz

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SIEĆ DHT SZYBKO I ANONIMOWO?

Routing. mgr inż. Krzysztof Szałajko

MASKI SIECIOWE W IPv4

Gatesms.eu Mobilne Rozwiązania dla biznesu

Systemy rozproszone. Wstęp. Krzysztof Banaś Systemy rozproszone 1

Architektura komputerów

Wprowadzenie. Dariusz Wawrzyniak 1

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Sterowanie ruchem w sieciach szkieletowych

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

ZiMSK. Routing dynamiczny 1

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

IP Anycast. Ochrona i skalowanie usług sieciowych. Łukasz Bromirski lbromirski@cisco.com

ZiMSK. VLAN, trunk, intervlan-routing 1

Sieci komputerowe. Wykład 0: O czym jest ten przedmiot. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Haszowanie (adresowanie rozpraszające, mieszające)

Skalowalne aplikacje internetowe wysokiej dostępności

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Architektura i mechanizmy systemu

Problemy z bezpieczeństwem w sieci lokalnej

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Część II Wyświetlanie obrazów

Systemy Rozproszone. Zagadnienia do egzaminu.

Klient-Serwer Komunikacja przy pomocy gniazd

Warstwa sieciowa rutowanie

dr inż. Jarosław Forenc

Tworzenie aplikacji bazodanowych

1. Sieć komputerowa to medium umożliwiające połączenie dwóch lub więcej komputerów w celu wzajemnego komunikowania się.

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

dr inż. Jarosław Forenc

ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED

dr inŝ. Jarosław Forenc

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

PBS. Wykład Podstawy routingu. 2. Uwierzytelnianie routingu. 3. Routing statyczny. 4. Routing dynamiczny (RIPv2).

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów.

Przesyłania danych przez protokół TCP/IP

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Definicja pliku kratowego

Zdalne logowanie do serwerów

Podstawowe pojęcia dotyczące sieci komputerowych

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Architektura komputerów

Wybrane działy Informatyki Stosowanej

Relacyjne, a obiektowe bazy danych. Bazy rozproszone

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

4. Podstawowa konfiguracja

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Topologie sieciowe. mgr inż. Krzysztof Szałajko

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv RIPv Interfejs pasywny... 5 Podzielony horyzont...

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Metoda pomiaru site-centric

Wykład 8. Drzewa AVL i 2-3-4

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Seminarium Bazy Danych I. BigTable. Piotr Świgoń Uniwersytet Warszawski

Wyciąg z ogólnej analizy ataków na witryny administracji państwowej RP w okresie stycznia 2012r.

Krzysztof Kadowski. PL-E3579, PL-EA0312,

WPROWADZENIE DO BAZ DANYCH

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Wypożyczalnia VIDEO. Technologie obiektowe

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

Badanie struktury sieci WWW

Sieci komputerowe. Wstęp

Transkrypt:

Keszowanie i systemy peer-to-peer Paulina Kania i Łukasz Osipiuk 1

Pośrednik w instytucji komputery za firewallem serwer HTTP serwer HTTP serwer HTTP Pośrednik na firewallu 2

Pochodzenie pośrednika keszującego Serwery proxy w korporacjach Jeden serwer dzielony przez wielu użytkowników podobny zbiór pobieranych dokumentów pobieranie tych samych dokumentów w krótkich okresach czasu 3

Dlaczego chcemy keszować? Ograniczamy ruch sieciowy Ograniczamy obciążenie serwera Zmniejszamy opóźnienia 4

Dlaczego chcemy keszować? Możemy dostarczyć treść nawet jeśli serwer jest chwilowo niedostępny 5

Dlaczego nie chcemy keszować Nieaktualność danych Nietrafione zapytania Pojedynczy pośrednik wąskie gardło Pojedynczy pośrednik ryzyko awarii systemu Zaburzone statystyki odwołań do serwera 6

Ogólny model systemu pośredników serwer HTTP pośrednik klient 7

Pożądane cechy systemu pośredników Szybkość dostępu Niezawodność, dostępność Przezroczystość Skalowalność Wydajność 8

Pożądane cechy systemu pośredników Stabilność Adaptywność Rozkład ruchu Prostota 9

Model hierarchiczny kraje regiony instytucje 10

Wady modelu hierachicznego Konieczność instalowania pośredników w kluczowych miejscach sieci Dodatkowe opóźnienia Pośredniki wysoko w hierarchii mogą stanowić wąskie gardła Wiele kopii tego samego dokumentu 11

Model rozproszony Brak hierarchii wśród pośredników Każdy pośrednik może komunikować się z dowolnym innym pośrednikiem w systemie. Przykładowe systemy realizujące ten model: CARP IPC CRISP 12

CARP Obliczamy który pośrednik ma obsłużyć URL'a 13

Polityka wymiany keszowanej informacji Tradycyjne mechanizmy: Least recently used (LRU) Least frequently used (LFU) 14

aktualizacja informacji W przypadku keszowania pojawia się problem, czy pośrednik ma najświeższą wersję pliku Kesze muszą aktualizować przechowywane informacje aby serwować użytkownikom, tak świeże pliki, jak to tylko możliwe Protokół HTTP zawiera mechanizmy, które ułatwiają keszom dbanie o aktualność przechowywanej informacji 15

mechanizmy HTTP dotyczące keszowania Warunkowy GET If-Modified-Since If-Unmodified-Since If-Match If-None-Match Pragma: no-cache Last-modified Date 16

dlaczego P2P jest fajne Małe ograniczenia Systemy P2P są zdecentralizowane i rozproszone. Dzięki temu mogą być bardziej odporne na awarie i ataki. Mogą być stosowane do długich obliczeń i archiwizacji danych Systemy P2P pozwalają wykorzystać, nieużywane przez wielkość czasu: dyski czas procesora łącza sieciowe użytkowników sieci. 17

Wyszukiwanie w sieci P2P Rozwiązanie z głównym serwerem (Napster) Zapytania kieruje się do głównego serwera utrzymującego listę plików udostępnianych przez wszystkie węzły sieci Wady Konieczność utrzymywania serwera Mało skalowalne Podatne na awarie (np. ataki ze strony RIAA) 18

Wyszukiwanie przez rozgłaszanie (Gnutella) Każdy węzeł utrzymuje listę innych (dowolnych) węzłów sieci. Zapytania kierowane są do wszystkich znanych węzłowi pytającemu węzłów. Węzeł po otrzymaniu zapytania zwraca odpowiedź dotycząca jego zasobów i przekazuje zapytanie dalej do znanych sobie węzłów. Wady Duża złożoność komunikacyjna O(n 2 ) Mało skalowalne. Wyszukiwanie w sieci P2P 19

Cechy nowoczesnych systemów P2P: Nie ma wyróżnionych węzłów Wyszukiwanie w sieci P2P Każdy węzeł bierze udział tylko w małej części wyszukiwań Każdy węzeł zna tylko mały zbiór innych węzłów Sieć samoorganizuje się małym kosztem w miarę dołączania i odłączania węzłów. 20

DHT - model wyszukiwania Model Distributed Hash Table (DHT) uniwersalny interfejs modelujący wyszukiwanie danych w sieci P2P jedna operacja lookup(key) operacja zwraca węzeł sieci dane związane z kluczem key są umiejscawiane w węźle lookup(key). 21

DHT - problemy Równomierne mapowanie kluczy do węzłów Przekierowywanie wyszukiwania klucza do odpowiedniego węzła Trzymanie tablic routingu 22

CAN CAN = Content-Addressable Network d-wymiarowy kartezjański układ współrzędnych Przestrzeń podzielona na hyper-prostokąty (strefy) 23

(0, 1) 2-wymiarowy CAN z 6 węzłami (1, 1) (0, 0.5, 0.5, 1) (0.5, 0.5, 1, 1) (0.5, 0.25, 0.75, 0.5) (0, 0, 0.5, 0.5) (0.75, 0, 1, 0.5) (0.5, 0, 0.75, 0.25) (0, 0) (1, 0) 24

CAN Każdy węzeł odpowiada za jedną strefę i jest identyfikowany przez jej granice Każdy klucz mapowany jest do punktu w tej przestrzeni Każdy z węzłów trzyma listę sąsiadów 2 węzły sąsiadują ze sobą jeśli dzielą tę samą d-1- wymiarową hyperpłaszczyznę 25

CAN - wyszukiwanie Wyszukiwanie klucza polega na przekazywaniu zapytania wzdłuż ścieżki przybliżającej linię prostą W trakcie zapytania, węzeł przekazuje je do sąsiada, który jest najbliżej węzła przechowującego klucz 26

CAN wyszukiwanie klucza (0.8, 0.9) (0, 1) (1, 1) tu przechowywany jest klucz (0.8, 0.9) - strefa (0.75, 0.75, 1, 1) lookup((0.8, 0.9)) (0, 0) (1, 0) 27

CAN dołącznie do sieci P węzeł n P nowy węzeł węzeł n Nowy węzeł wybiera losowy punkt P. Prosi węzeł będący już w sieci o znalezienie węzła n, którego strefa zawiera punkt P. n dzieli swoją strefę na pół i oddaje jedną część nowemu węzłowi. Po dołączeniu węzły uaktualniają listy sąsiadów. 28

CAN odłączanie od sieci Kiedy węzeł się odłącza, przekazuje swoją strefę jednemu z sąsiadów. Jeśli złączenie dwóch stref tworzy nową strefę, to są on łączone. W przeciwnym przypadku sąsiedni węzeł tymczasowo obsługuje obie strefy. Jeśli węzeł ulegnie awarii, jego strefę przejmuje sąsiad obsługujący najmniejszą strefę. 29

CAN odłączanie od sieci możemy złączyć strefy nasz węzeł sąsiad sąsiad 30

CAN odłączanie od sieci nie możemy złączyć stref sąsiad nasz węzeł sąsiad sąsiad Sąsiad obsługuje dwie strefy 31

Chord Chord przyporządkowuje kluczom i węzłom identyfikatory z tej samej 1-wymiarowej przestrzeni Węzeł odpowiedzialny za klucz k nazywany jest następnikiem. Jest to najbliższy węzeł następujący po k. Przestrzeń identyfikatorów się zapętla. 32

n liczba węzłów M wielkość przestrzeni identyfikatorów Chord Każdy z węzłów przechowuje tablicę log n węzłów W tablicy tej znajdują się węzły odległe od danego węzła o: M/2 M/4... 1 33

Chord tablica węzłów N1 N51 N48 +32 +16 +8 N8 +1 +2 +4 N14 N42 N21 N38 N32 34

Chord - wyszukiwanie Węzeł wyszukuje w tablicy węzłów, węzeł z najwyższym identyfikatorem, mniejszym od k. Następnie przekierowuje zapytanie o klucz k do znalezionego węzła. Struktura potęg dwójki w tablicy węzłów zapewnia, że każdy etap wyszukiwania zmniejsza dystans co najmniej o połowę. W sumie wysyłamy O(log n) komunikatów. 35

Chord wyszukiwanie klucza K54 przestrzeń identyfikatorów M = 2 6 = 64 N1 K54 N56 N8 N51 N48 N14 N42 N21 N38 N32 36

Chord poprawność wyszukiwania Chord zapewnia poprawne wyszukiwanie nawet podczas awarii wielu węzłów w systemie. Wykorzystuje do tego listę następników każdy węzeł trzyma listę r węzłów po nim następujących w przestrzeni nazw. Jako, że identyfikatory maszyn są wybrane losowo to szansa, że naraz ulegną awarii wszystkie węzły z listy następników, jest bardzo mała. 37

Chord dodawanie węzła Węzeł n prosi dowolny istniejący węzeł o odnalezienie jego ID. Nowy węzeł przejmuje od swojego następnika klucze, za które jest od teraz odpowiedzialny. Aby móc brać udział w wyszukiwaniu musimy zaktualizować listę następników dla nowego węzła i jego poprzednika. W tle uaktualniane są tablice węzłów dla węzłów systemu. 38

Chord dodawanie węzła N26 następnik(n21) N21 N32 K24 K30 N32 K24 K30 N26 N21 N32 K24 K30 N26 K24 N21 N32 K30 N26 K24 N21 39

Chord usuwanie węzła Węzeł odchodzący przekazuje wszystkie klucze swojemu następnikowi. Węzeł przekazuje informację o tym, że odchodzi następnikowi i poprzednikowi. Dzięki temu poprzednik może zaktualizować listę następników, a następnik swojego poprzednika. 40

Chord koszt algorytmu n liczba węzłów w systemie log n - o tylu węzłach wie każdy z węzłów log n - tyle komunikatów jest potrzebnych przy wyszukiwaniu (log n) 2 tyle komunikatów jest potrzebnych przy przyłączeniu węzła 41

Nasza praca magisterska Połączenie keszowania z systemami P2P Rozproszony pośrednik realizowany jako sieć P2P Lokalny interfejs pośrednika HTTP w każdym węźle sieci Rozpraszanie informacji o miejscach przechowywania keszowanych plików podobnie jak w systemie Chord Rozpraszanie plików multimedialnych... 42