Nowe, lepsze narzędzie, które przyspieszy internet o 40%
Jakiś czas temu zapowiadano wielkie przyspieszenie Internetu dzięki inicjatywie Global Internet Speedup. Czy rzeczywiście coś się zmieniło? Trudno powiedzieć, ale zespół z Aqualab uważa, że stworzył nowe, lepsze narzędzie, które przyspieszy strony internetowe o 40%.
Młodzi naukowcy (w zespole oprócz opiekuna, przystojnego doktora Bustamante ą sami doktoranci) dostarczyli konkretne rozwiązanie, które ma zminimalizować lagi wynikające z braku współpracy publicznych DNS-ów z zyskującymi coraz większą popularność CDN-ami. Informacja o tym ukazała się online po raz pierwszy zaledwie 5 dni temu, a oficjalna prezentacja odbędzie się dopiero za dwa tygodnie na konferencji IMC 2012 w Bostonie (Internet Measurement Conference). Mimo to namehelp został pobrany ze strony projektu już 1959 razy (dane z 11 rano), a liczba ta rośnie z godziny na godzinę.
Ponieważ nie wszyscy czytelnicy Spider’s Web muszą wiedzieć jak działają DNS-y i co to są CDN-y, wyjaśnijmy jak to się właściwie dzieje, że po włączeniu przeglądarki i wpisaniu adresu WWW na ekranie wyskakuje strona główna ich ulubionego serwisu. Trzeba zacząć od tego, że wpisując nazwę domeny w pasku adresu przeglądarki korzystamy tak naprawdę z jej mnemonicznej nazwy. Urządzenia tworzące sieć komputerową komunikują się przesyłając informacje w postaci cyfr – nie bez powodu mówi się, że żyjemy w erze cyfryzacji. DNS, czyli Domain Name System, stworzono aby nazwy domen stosowane w życiu codziennym zamieniać na ich cyfrową reprezentację w postaci adresu IP, z którym może połączyć się komputer. Przykładowo, po wpisaniu www.spidersweb.pl, przeglądarka wysyła zapytanie do serwera DNS dostawcy internetu, po czym otrzymuje odpowiedź w postaci adresu IP strony, w tym wypadku 91.201.155.87. Dopiero wtedy następuje połączenie z serwerem strony i pobranie jej zawartości. Ponieważ zapytanie przesyłane jest pomiędzy kilkoma serwerami, dostawca tu tylko pośredniczy, jest to proces wieloetapowy i często powodujący opóźnienia. Taki system ma też inne ograniczenia, wynikające z zawodności poszczególnych jego elementów oraz, co ważne dla wielu użytkowników Internetu, pewne niedociągnięcia związane z bezpieczeństwem.
Spektakularne przyspieszenie Internetu miało nastąpić wraz z wprowadzeniem usługi tak zwanych publicznych DNS-ów. Podstawową zaletą takiego rozwiązania jest skupienie dużej liczby adresów w jednej „bazie”, dzięki czemu przeglądarka szybciej uzyskuje adres IP, a strona ładuje się szybciej. Zarówno OpenDNS jak i Public DNS od Google oprócz zmniejszenia lagów oferują również prywatność i bezpieczeństwo podczas pracy i zabawy w sieci. Według ostatnich danych, z OpenDNS korzysta już 40 milionów osób, czyli około 2% wszystkich użytkowników Internetu. Szybko jednak okazało się, że w kwestii szybkości odczytywania adresów IP dużych serwisów publiczne DNS-y przegrywają w niektórych regionach (również Polski) z lokalnymi serwerami, a powodem są tak zwane CDN-y.
Content Delivery Network (CDN) to nic innego jak inne rozwiązanie przyspieszające ładowanie stron WWW do naszych przeglądarek. Normalnie po połączeniu z serwerem cała zawartość strony jest pobierana z jednej lokalizacji. Jeśli witryna utrzymywana jest na przykład w Urugwaju, polski Internauta właśnie stamtąd będzie pobierał całą treść i istnieje duże prawdopodobieństwo, że będzie to trwało dłużej, niż w przypadku odwiedzin strony lokalnego Domu Kultury. Mimo że Internet nie zna granic, to geograficzna odległość pomiędzy urządzeniami ma wpływ na liczbę przeskoków, co robi swoje w kwestii czasu ładowania witryn. Dzięki sieci dostarczania treści i połączeniu jej z działaniem serwerów DNS serwisy mogą dosłownie zbliżać się do użytkowników poprzez mnożenie i rozpraszanie lokalizacji po całym świecie. Ich zawartość jest przesyłana z miejsca, które znajduje się najbliżej użytkownika. Tutaj pojawia się problem, którego rozwiązaniem ma być namehelp.
Korzystając z publicznych serwerów DNS omijamy swojego dostawcę, a tym samym blokujemy możliwość rozpoznania lokalizacji, w której znajduje się komputer. Powoduje to, że zawartość serwisów korzystających CDN pobierana jest w całości z głównego serwera, ponieważ nie ma możliwości geograficznego dopasowania. Zespół z Aqualab przeanalizował 10,923 hostów z 99 krajów i okazało się, że z puli tysiąca najpopularniejszych stron 74% korzysta z CDN. Jednocześnie stwierdzono, że w przypadku 90% lokalizacji współpraca CDN-ów i publicznych serwerów DNS po prostu nie funkcjonuje. Okazało się, że dwa przełomowe narzędzia, których celem jest przyspieszenie ładowania witryn w przeglądarkach użytkowników, nie są ze sobą kompatybilne. De facto Internauta korzystający z OpenDNS lub Google Public DNS podczas przeglądania australijskiego serwisu angażującego CDN, nie czerpie w pełni korzyści ani z jednego, ani z drugiego rozwiązania. Może co prawda czuć się bezpieczniej niż na DNS-ach dostawcy, ale jego mniej przezorny sąsiad może cieszyć się ładowaniem szybszym nawet o 60%. Wszystko przez to, że korzystając z publicznych DNS-ów sprawiamy, że nasz komputer zostaje odesłany do treści, które znajdują się wielokrotnie dalej niż powinny.
Odpowiedzią na ten problem jest właśnie opracowane przez zespół z Aqualab narzędzie o nazwie namehelp. Jego zadaniem jest nie tylko ocena, na podstawie analizy porównawczej, wydajności aktualnej usługi DNS, ale również szybka reakcja na jej obniżenie i zapewnienie poprawy mapowania w ramach CDN. Program działa w tle monitorując cały czas szybkość ładowania stron i optymalne konfiguracje DNS. Reakcja na obniżenie tych parametrów jest natychmiastowa i polega na wymuszeniu interakcji z DNS i CDN, dzięki czemu użytkownik otrzymuje treść z geograficznie najbliższej sobie lokalizacji. Mniej ogólnie można powiedzieć, że namehelp działa jako serwer pośredniczący, wykorzystuje pamięć podręczną (cache) co pozwala na efektywne mapowanie rekordu nazwy kanonicznej, a następnie bezpośredni kontakt z serwerem autorytatywnym, czyli tym, który ostatecznie wskazuje IP adresu w danej domenie. Szczegóły dotyczące zasady działania namehelp przedstawiono w pracy naukowej czekającej na papierową publikację w czasopiśmie wydawanym przez Association for Computing Machinery.
Zespół z Aqualab twierdzi, że ich rozwiązanie zmniejszy opóźnienia wynikające z DNS do 9.51 milisekund oraz przyspieszy ładowanie stron poprzez łączenie z najbliższą geograficznie lokalizacją treści. Jak mówią sami badacze, to narzędzie, które pozwoli użytkownikom Internetu w pełni cieszyć się możliwościami oferowanymi przez publiczne DNS-y bez niepotrzebnych opóźnień wynikających z braku kompatybilności z usługami CDN. namehelp jest darmowy i każdy może go przetestować na swoim komputerze.
Z doniesień samych twórców wynika, że komfort korzystania z sieci powinien być zauważalny nawet dla średniozaawansowanych użytkowników, ale prawdą jest, że dopiero wielokrotne testy samych zainteresowanych – internautów – pokażą ile tak naprawdę warte jest to narzędzie. W tej chwili namehelp zaczyna budzić coraz większe zainteresowanie zagranicznych mediów. Opisało go już kilka serwisów w Ameryce, Brazylii i Szwecji*. Czy zyska taką popularność jak Global Internet Speedup? Na to pytanie będą mogli odpowiedzieć tylko użytkownicy publicznych DNS-ów, ponieważ dla innych zainstalowanie namehelp nie przyniesie zauważalnych zmian.