Twój IP: Nieznany · Twój status: Chroniony
Niechroniony
Nieznany
Blog Wiadomości

NordLynx ma ważny powód do ekscytacji (chodzi o prędkość)

NordLynx, nasz nowy protokół oparty na WireGuard®, zachwyca dużymi prędkościami, doskonałym bezpieczeństwem i prywatnością. Jednak przed wprowadzeniem go na rynek musieliśmy go poddać testowaniu produkcyjnemu, poprawić konfiguracje oraz dopracować stronę klienta. Po sprawdzeniu protokołu w systemie Linux byliśmy gotowi wydać go na inne główne platformy, takie jak Windows, Mac, iOS i Android.

Laura Klusaite

Laura Klusaite

Nov 03, 2020 · 6 minut czytania

NordLynx ma ważny powód do ekscytacji (chodzi o prędkość)

Zdawaliśmy sobie sprawę, że dzięki architekturze WireGuard® NordLynx powinien być znacznie szybszy niż jakikolwiek inny protokół VPN z tej samej kategorii. Nie mogliśmy jednak opierać naszych decyzji technologicznych na zgadywaniu, więc przeprowadziliśmy kilka testów – a dokładnie 256 886 – aby zrozumieć potencjalną wydajność Nordlynx. Oto wyniki, które dowodzą, jak szybki jest NordLynx.

Zacznijmy jednak od kilku podstawowych informacji.

Testy prędkości: konfiguracja

Przyjrzyjmy się zastosowanej metodologii, która wyjaśni, dlaczego zdecydowaliśmy się na tak obszerne testy szybkości.

Naszym celem było zrozumienie, jak protokół VPN wpływa na prędkość połączenia. Określiliśmy cztery scenariusze, które obejmują większość możliwych wzorców zachowań związanych z korzystaniem z VPN:

  1. Klient jest połączony z najbliższym serwerem VPN, a serwer zawartości znajduje się jak najbliżej serwera VPN;
  2. Klient jest połączony z serwerem VPN za granicą, ale serwer zawartości znajduje się jak najbliżej serwera VPN;
  3. Klient jest połączony z najbliższym serwerem VPN, ale serwer zawartości jest daleko od serwera VPN;
  4. Klient jest połączony z serwerem VPN za granicą, a serwer zawartości znajduje się daleko od serwera VPN.

Aby uruchomić testy szybkości, stworzyliśmy obraz Dockera wyposażony w konfiguracje trzech protokołów VPN (NordLynx, OpenVPN i IKEv2) oraz narzędzie Speedtest CLI od Ookla. Po zamontowaniu obrazu na maszynie wirtualnej (VM) ten co dwie minuty:

  • wysyła zapytanie do NordVPN API w celu określenia zalecanego serwera VPN,
  • losowo wybiera protokół do przetestowania,
  • losowo wybiera cel testowy.

Cel testowy składa się z kraju serwera VPN, z którym chcesz się połączyć (wybranego z listy¹) oraz kraju serwera Speedtest (wybranego z listy).

Aby uzyskać dane, które pozwoliłyby nam porównać szybkość połączenia VPN na protokół, uruchomiliśmy 47 maszyn wirtualnych na 9 różnych dostawcach² w 19 różnych miastach³ w 8 krajach.

Każda próba testowa wygenerowała linię w zestawie danych, która zawierała:

  1. sygnaturę czasową z informacją, kiedy test został przeprowadzony,
  2. lokalizację maszyny wirtualnej,
  3. lokalizację serwera sieci VPN,
  4. lokalizację serwera Speedtest,
  5. testowany protokół VPN,
  6. prędkość pobierania,
  7. prędkość przesyłania.

W ten sposób przeprowadziliśmy około 8200 testów prędkości, codziennie przez miesiąc. (Rys. 1)

Testy wykonywane codziennie, podzielone na protokół
Rysunek 1. Testy wykonywane codziennie, podzielone na protokół.

Jak widać na poniższym wykresie, było nieco więcej testów przeprowadzonych z OpenVPN niż z pozostałymi dwoma protokołami. Można to wytłumaczyć nierówną dystrybucją serwera na protokół w naszej sieci. Obecnie OpenVPN jest najpopularniejszym protokołem wśród użytkowników NordVPN. A zatem istnieje więcej serwerów w naszej sieci, które obsługują OpenVPN niż serwerów, które obsługują IKEv2 i NordLynx.

Liczba testów na protokół
Rysunek 2. Liczba testów na protokół.

Dlaczego tak wiele testów?

Zanim przejdziemy do wyników, zróbmy sobie małą powtórkę z podstaw Internetu.

Ścieżka pakietów sieciowych z komputera użytkownika do serwera docelowego (serwery sieci Web, gry lub innych zawartości) składa się z kilku kroków:

Czynniki wpływające na szybkość połączenia
Rysunek 3. Czynniki wpływające na szybkość połączenia.

Istnieje wiele czynników, które mogą mieć wpływ na prędkość pobierania i wysyłania. Dlatego właśnie posiadanie idealnie szybkiego i stabilnego połączenia jest prawie niemożliwe.

W zależności od modelu urządzenia mają pewien limit przepustowości. Na przykład, limit przepustowości iPhone'a 11 wyposażonego w Wi-Fi 6 wynosi teoretycznie 10 Gb/s. Starsze modele z Wi-Fi 5 lub Wi-Fi 4 ograniczyłyby szybkość połączenia internetowego do 2,34 Gb/s i 450 Mb/s.

Router Wi-Fi ma również ograniczenia sprzętowe. Zarówno on, jak i telefon mogą być mocno obciążone w momencie uruchamiania testu prędkości. Twój usługodawca może być przytłoczony liczbą osób, które pracując z domu, próbują jeszcze oglądać Tiger Kinga w 4K na Netflixie.

A to tylko wierzchołek góry lodowej. Istnieją dziesiątki innych czynników wpływających na prędkość na całej ścieżce (Rys. 3), ale nie będziemy ich tu wszystkich opisywać. Chodzi o to, że musieliśmy przetestować jak najwięcej przypadków. Dlatego przeprowadziliśmy tak ogromną liczbę testów i przyjrzeliśmy się rozkładom wartości zamiast liczbom bezwzględnym.

Przejdźmy do wyników: czy NordLynx jest szybszy?

Pamiętacie scenariusze wymienione na początku? Rzućmy okiem na niektóre z nich.

Scenariusz: Klient jest połączony z najbliższym serwerem VPN, a serwer zawartości znajduje się jak najbliżej serwera VPN.

Aby przetestować ten scenariusz, wszystkie losowo wybrane obiekty docelowe (serwer VPN, lokalizacja maszyny wirtualnej i serwer Speedtest) znajdowały się w Stanach Zjednoczonych. Oto prędkości pobierania, które zaobserwowaliśmy:

Dystrybucje prędkości pobierania według protokołu (maszyna wirtualna – USA, serwer VPN – USA, serwer Speedtest – USA)
Rysunek 4. Dystrybucje prędkości pobierania według protokołu (maszyna wirtualna – USA, serwer VPN – USA, serwer Speedtest – USA).

Z tych histogramów można odczytać kilka rzeczy. Po pierwsze, NordLynx ma widocznie wyższe średnie i mediany wartości w prędkości pobierania. IKEv2 zajmuje drugie miejsce, a OpenVPN trzecie.

Kolejną ważną rzeczą jest wariancja każdego histogramu. O co chodzi? Jak wspominaliśmy wcześniej, istnieje wiele czynników wpływających na szybkość połączenia. Możemy więc powiedzieć, że protokół VPN podnosi górną granicę prędkości pobierania. Im wyższa górna granica, tym większa wariancja, którą widzimy w dystrybucji prędkości pobierania, ponieważ istnieje szerszy zakres potencjalnej redukcji prędkości ze względu na hałaśliwe warunki środowiskowe.

Scenariusz: Klient jest połączony z serwerem sieci VPN za granicą, ale serwer zawartości znajduje się jak najbliżej klienta

W tym przykładzie uwzględniono wyniki testów przeprowadzonych przy użyciu maszyny wirtualnej i serwera Speedtest znajdującego się w Wielkiej Brytanii oraz serwera sieci VPN znajdującego się w Stanach Zjednoczonych. Oto co otrzymaliśmy:

Dystrybucje prędkości pobierania według protokołu (maszyna wirtualna – UK, serwer VPN – USA, serwer Speedtest – UK)
Rysunek 5. Dystrybucje prędkości pobierania według protokołu (maszyna wirtualna – UK, serwer VPN – USA, serwer Speedtest – UK).

Widzimy, że zwiększenie długości ścieżki między użytkownikiem a serwerem zawartości oraz serwerem VPN znajdującym się pomiędzy nimi dodaje tyle narzutu, że sam protokół odgrywa mniejszą rolę w szybkości pobierania. Zarówno średnie, jak i mediana są nadal wyższe dla NordLynx, ale różnica nie jest tak imponująca, jak w pierwszym scenariuszu.

Scenariusz: Klient jest połączony z najbliższym serwerem VPN, ale serwer zawartości jest daleko od serwera VPN

Trzeci przykład ukazuje wyniki, w których zarówno maszyna wirtualna, jak i serwer sieci VPN znajdują się w Stanach Zjednoczonych, podczas gdy serwer Speedtest znajduje się w Wielkiej Brytanii.

Dystrybucji prędkością pobierania według protokołu (maszyna wirtualna – USA, serwer VPN – USA, serwer Speedtest – UK)
Rysunek 6. Dystrybucji prędkością pobierania według protokołu (maszyna wirtualna – USA, serwer VPN – USA, serwer Speedtest – UK).

Te histogramy o wiele trudniej zinterpretować. Zwycięzcy pod względem szybkości pobierania nie są tak oczywiści, jak wcześniej. Jednak wyjaśniła się pewna kwestia: odległość między serwerem VPN a serwerem zawartości stanowi dużą część redukcji prędkości.

Zamiast przechodzić do ostatniego scenariusza, zatrzymamy się tutaj i skupimy na tej odległości. Aby lepiej zwizualizować jej wpływ, dodaliśmy więcej informacji do istniejącego zestawu danych: odległość między krajem serwera VPN a krajem serwera Speedtest.

Różnica prędkości pobierania według protokołu
Rysunek 7. Różnica prędkości pobierania według protokołu.

Każdy punkt wykresu reprezentuje średnią prędkość pobierania dla odległości między serwerem VPN a serwerem Speedtest. To, co tutaj widzimy, jest dość ekscytujące: jeśli połączysz się z serwerem VPN blisko Ciebie i pobierzesz zawartość z CDN w zasięgu kilku tysięcy kilometrów, możesz spodziewać się prawie dwukrotnie większej prędkości pobierania z NordLynx! Oczywiście, w miarę wzrostu odległości, różnica w prędkości pobierania się zmniejsza.

A co z szybkością wysyłania? Jak widać na poniższej wizualizacji, wyniki są bardzo podobne.

Różnica prędkości wysyłania według protokołu
Rysunek 8. Różnica prędkości wysyłania według protokołu.

Poparty wynikami ten szeroko zakrojony test prędkości wskazuje na to, że szybkość pobierania i wysyłania może być nawet dwa razy większa z NordLynx w porównaniu do OpenVPN i IKEv2. Dotyczy to sytuacji, w której odległość między serwerem VPN a serwerem zawartości nie przekracza kilku tysięcy kilometrów. W tym momencie narzuca się jedno pytanie: czy mamy pewność co do wyników? Krótka odpowiedź brzmi tak. Aby uzyskać wszystkie szczegóły, zapoznaj się z tym wpisem na blogu na temat dokładności pomiaru.

Co dalej?

W najbliższej przyszłości nie będzie raczej żadnych ekscytujących informacji na temat prędkości VPN. Dlatego na chwilę obecną chcemy dać wszystkim możliwość bliższego przyjrzenia się zebranym wynikom, upubliczniając cały zestaw danych testujących szybkość z 256 886 wierszami. Zachęcamy do zgłębienia informacji, wyciągnięcia własnych wniosków i podzielenia się nimi z nami.


Dodatkowe Informacje

¹ US, CA, DE, HK, SG, AU, UK, NL, FR, JP, SE

² 100TB, ALTUHOST, DigitalOcean, GloboTech, Linode, ONEPROVIDER, Online SAS, OVH, Vult

³ Amsterdam, Atlanta, Chicago, Dallas, Frankfurt, Nowy Jork, Londyn, Hongkong, Los Angeles, Miami, Montreal, Paris, San Jose, Seattle, Singapur, Sztokholm, Sydney, Tokio, Toronto

⁴ FR, GB, US, DE, NL, JP, SG, AU