Peer-to-peer CDN
description
Transcript of Peer-to-peer CDN
Peer-to-peer CDN
Wiktor Filipowicz
Co to Coral? Sieć P2P obsługująca dostarczanie treści
(CDN – Content Distribution Network)
Zastosowanie: statyczne witryny internetowe
Charakterystyka: Zdecentralizowana Samoorganizująca się sieć P2P Demokratyzacja dostępu do treści Webcaching system
Wstęp, przykład
Popularna wyszukiwarka... Google Holiday Logos and Events
Problem
3 luty 2004, Google udostępnia link do obrazków fraktali
Użytkownicy zostają przekierowani na strony jednego z australijskich uniwersytetów
Serwer nie jest w stanie obsłużyć ruchu
Problem powraca
4 luty 2004 Ponowne przeładowanie serwera
uniwersyteckiego
Historia i stan aktualny Projekt uniwersytetu New York University
(The NYU Distribution Network) Rozwijany od marca 2004 roku 28 Sierpnia 2004 wchodzi w fazę public beta
(skok z 1000 do 1 mln. zapytań na dzień) Działa na serwerach PlanetLAB (około 400
serwerów na całym świecie) 16 listopada: 1.5 TB danych, niemal 4 mln.
zapytań dziennie
Istniejące rozwiązania Proxy po stronie klienta
(Squid, Summary Cache, hierarchical cache, CoDeeN, Squirrel, Backslash, PROOFS) Zwykle problemy z wyborem tresci do
cachowania
Dodatkowe fundusze Dynamicznie rozkładany ruch (load-balanced
servers) Szybsze łącza Duże koszty, brak potrzeby
Sieci CDN Content Distribution Networks
(Akamai, Digital Island, Mirror Image) Zarządzane centralnie, zwykle komercyjne
rozwiązania
Analiza podanego problemu Serwer „trafiony” przypadkowo
Ogromna liczba użytkowników
Nagły wzrost, nagły koniec zapotrzebowania
Trudne do przewidzenia konsekwencje
Podejście Coral
Otwarta siec CDN Każdy może udostępnić swoje zasoby Brak modyfikacji po stronie klienta Jednokrotne pobranie treści z serwera dostawcy
Serwerdostawca Coral
httpprxdnssrv
Coralhttpprxdnssrv
Coralhttpprxdnssrv
Coralhttpprxdnssrv
Coralhttpprxdnssrv
Coralhttpprxdnssrv
Przeglądarka
Przeglądarka
Przeglądarka
Przeglądarka
Podejście Coral
Optymalne rozmieszczenie zasobów (klastry)
Unikanie lokalnych przeciążeń (hotspots) Automatyczne działanie bez centralnego
zarządzania
Serwerdostawca Coral
httpprxdnssrv
Coralhttpprxdnssrv
Coralhttpprxdnssrv
Coralhttpprxdnssrv
Coralhttpprxdnssrv
Coralhttpprxdnssrv
Przeglądarka
Przeglądarka
Przeglądarka
Przeglądarka
Założenia Samoorganizujące się klastry węzłów
Mechanizm ochrony węzłów przed przeciążeniami
Zdecentralizowane przekierowania DNS
Korzystanie z CoralCDN Zapisanie adresów URL w postaci Coral:
www.x.com → www.x.com.nyud.net:8090 Powoduje przekierowanie do sieci Coral
Jak korzystać: Umieszczanie linków w postaci zgodnej z Coral,
zamiast zwykłych linków Automatyczna zamiana linków przez operatorów
serwerów Przepisanie dowolnego linka do postaci Coral przez
użytkownika i podanie go jako adres do przeglądarki
httpprx dnssrv
PrzeglądrakaResolver
Przekierowanie DNSZwraca proxymożliwie bliskieklienta
Web Caching
CoralCDN, części składowe
httpprx
www.x.com.nyud.net216.165.108.10
Pobraniedanych
?
?
Serwerdostawca
Cechy sieci Coral Brak centralnego zarządznia Topologia sieci nie jest z góry podana
(możliwość dołączania kolejnych klientów) Wielopunktowe badanie struktury sieci Rozproszony indeks przekierowań Każdy węzeł sieci mapuje pobliskie sieci
węzłów Brak koniecznosci odpytywania wszystkich
węzłów Zapobieganie hotspotom
Rozproszony indeks Wykorzystanie technik indeksowania DHT
(Distributed Hash Tables)
Z uzupełnieniem o zapobieganie hotspotom Tworzenie klastrów o dobrym połączeniu Zmniejszona spójność (consistency) DSHT (Distributed Sloppy Hash Tables)
Ilustracja efektów
Lokalne systemy cachowania przejmują
większość żądań
Żądania do klastra Coral
< 20ms
Żądania dopoczątkowego
serwera
Przyszłość Zabezpieczenia, integralność danych
Inne wykorzystanie klastrów
Badanie skalowalności