Dlaczego Obciążenie Przekaźnika Jest Zmienne

Tor zarządza przepustowością całej sieci. Wykonuje rozsądną pracę dla większości przekaźników. Lecz cele Tora są inne niż cele protokołów takich jak BitTorrent. Tor chce strony internetowe z możliwie najmniejszym opóźnieniem, co wymaga szybkich połączeń z zapasem. BitTorrent celuje w masowe pobieranie, które wymaga całej dostępnej przepustowości.

Pracujemy nad nowym skanerem przepustowości, który jest prostszy w zrozumieniu i utrzymaniu. Będzie posiadał dane diagnostyczne dla przekaźników, które nie są mierzone, oraz przekaźników, które mają niskie pomiary.

Dlaczego Tor potrzebuje skanerów przepustowości?

Większość dostawców informuje Cię o maksymalnej szybkości Twojego połączenia lokalnego. Lecz Tor ma użytkowników ma całym świecie, którzy łączą się do jednego losowego lub dwóch losowych przekaźników Guard. Więc musimy wiedzieć jak dobrze każdy przekaźnik radzi sobie z łączeniem się z całym światem.

W związku z tym, nawet gdyby wszyscy operatorzy przekaźnikowi ustawili swoją deklarowaną przepustowość na poziomie prędkości połączenia lokalnego, nadal potrzebowalibyśmy uprawnień do przepustowości, aby zrównoważyć obciążenie między różnymi częściami Internetu.

Jakie jest normalne obciążenie przekaźnika?

Dla większości przekaźników, obciążenie wynosi 30%-80% ich możliwości. Jest to dobre dla klientów: przeciążony przekaźnik ma duże opóźnienia. (Chcemy wystarczającej ilości przekaźników, aby każdy z nich był obciążony w 10%. Dzięki temu Tor będzie prawie tak szybki, jak szerszy Internet).

Czasami, przekaźnik jest wolny z powodu wolnego procesora, lub limitu połączeń. W innych przypadkach, powodem jest wolna sieć: przekaźnik ma złe połączenie z większością innych przekaźników tor, lub jest w dużej odległości.

Dowiedz Się co Spowalnia Przekaźnik

Wiele czynników może spowolnić przekaźnik. Oto jak możesz je namierzyć.

Ograniczenia Systemowe

  • Sprawdź RAM, CPU, i zużycie deskryptora gniazda/pliku na Twoim przekaźniku

Tor zapisuje w dzienniku zdarzeń niektóre z tych parametrów podczas uruchamiania. Pozostałe można sprawdzić używając narzędzia top lub podobnych.

Ograniczenia Dostawcy

  • Sprawdź połączenie Internetowe (przepustowość, opóźnienia) z Twojego dostawcy przekaźnika do innych przekaźników. Przekaźniki transmitujące przez Comcast bywają czasami powolne. Przekaźniki poza Ameryką Północną i Zachodnią Europą są przeważnie wolniejsze.

Ograniczenia Sieci Tor

Przepustowość przekaźnika może być ograniczona przez własną zaobserwowaną przepustowość, lub przez przepustowość zmierzoną przez władze katalogów. W ten sposób możesz sprawdzić jaki pomiar ogranicza Twój przekaźnik:

  • Sprawdź każdy z głosów dla Twojego przekaźnika na consensus-health (duża strona), i sprawdź medianę. Jeśli Twój przekaźnik nie jest oznaczony jako Pracujący (Running) przez niektóre władze katalogowe:
    • Czy ma błędny adres IPv4 lub IPv6?
    • Czy adres IPv4 lub IPv6 jest nieosiągalny z niektórych sieci?
    • Czy są więcej niż 2 przekaźniki na tym samym adresie IPv4?

W innym wypadku, sprawdź zaobserwowaną przepustowość Twojego przekaźnika oraz przepustowość (limit). Sprawdź swój przekaźnik na stronie Metryk. Następnie najedź myszą na nagłówek przepustowości aby sprawdzić zaobserwowaną przepustowość oraz przepustowość przekaźnika.

Tutaj możesz sprawdzić więcej detali i kilka przykładów: Spadek wagi konsensusu oraz Zwiększ szybkość przekaźnika Wyjściowego.

Jak to naprawić

Najmniejsza z tych liczb to ograniczenie przepustowości przydzielonej przekaźnikowi.

  • Jeśli jest to przepustowość, zwiększ BandwidthRate/Burst lub RelayBandwidthRate/Burst w pliku torrc.
  • Jeśli jest to zaobserwowana przepustowość, Twój przekaźnik nie pyta o więcej przepustowości, dopóki nie zaobserwuje, że staje się szybszy. Musisz się dowiedzieć czemu jest powolny.
  • Jeśli jest to mediana zmierzonej przepustowości, Twój przekaźnik wygląda na wolny z punktu widzenia większości władz ds. przepustowości. Musisz się dowiedzieć czemu pomiar jest wolny.

Prowadzenie Własnych Pomiarów Przekaźnika

Jeśli węzeł uważa, że działa wolno lub serwery sterujące uważają, że działa wolno, można samodzielnie sprawdzić przepustowość:

  • Przeprowadź test przy użyciu tor by sprawdzić prędkość tor na twojej sieci

    W tym celu należy skonfigurować klienta tor, aby używał przekaźnika jako wejścia. Jeśli przekaźnik ma tylko flagę Guard, ustaw EntryNodes z odciskiem palca przekaźnika w torrc. Jeśli przekaźnik nie posiada flagi Guard lub posiada flagi Guard i Exit, nie można ustawić przekaźnika jako węzła wejściowego (patrz: https://gitlab.torproject.org/tpo/core/tor/-/issues/22204), ale można ustawić go jako mostek, nawet jeśli nie jest mostem. Aby skonfigurować przekaźnik jako most, dodaj do torrc:

    Bridge <ip>:<port>
    UseBridge 1
    

    Następnie pobierz duży plik używając swojego SocksPort jako socks proxy. W tym celu możesz użyc curl, na przykład:

    curl https://target/path --proxy socks5h://<user>:<password>@127.0.0.1:<socks-port>
    

    Używanie różnych user/password gwarantuje różne schematy. Można użyć $RANDOM.

    Pozwoli to zorientować się, jak duży ruch może obsłużyć przekaźnik.

    Alternatywnie można uruchomić relay_bw, aby przetestować repeater przy użyciu 2 wzorców przejścia, podobnie jak robi to sbws.

  • Przeprowadź test używając tor oraz chutney, aby dowiedzieć się jak szybko tor może dostać się do Twojego CPU. Kontynuuj zwiększanie ilości danych, aż przepustowość przestanie rosnąć.