دلیل تغییر بار رله

Tor پهنای‌باند را در سراسر شبکه مدیریت می‌کند. برای بیشتر رله‌ها عملکرد معقولی دارد. اما اهداف Tor با پروتکل‌هایی مانند BitTorrent متفاوت است. Tor می‌خواهد صفحات وب کم‌تأخیر باشند که لازمهٔ آن اتصال‌های سریع و دارای سرماند است. BitTorrent بارگیری انبوه می‌خواهد، که مستلزم استفاده از تمام پهنای‌باند است.

ما داریم روی یک پویشگر جدید پهنای‌باند کار می‌کنیم که فهم و نگهداری آن راحت‌تر است. برای رله‌هایی که اندازه‌گیری نمی‌شوند و رله‌هایی که سطح اندازه‌گیری پایینی دارند، گزارش عیب‌یابی فراهم خواهد کرد.

چرا Tor به اسکنرهای پهنای‌ باند نیاز دارد؟

بیشتر ارائه‌دهندگان، به شما سرعت بیشینهٔ اتصال محلی‌تان را می‌گویند. اما Tor در سرتاسر جهان کاربرانی دارد و کاربران ما به یک یا دو رلهٔ نگهبان به‌صورت تصادفی متصل می‌شوند. بنابراین ما باید بدانیم که هر رله با چه کیفیتی می‌تواند به کل جهان متصل شود.

حتی اگر تمام گردانندگان رله، پهنای باند اعلامی را مطابق سرعت اتصال محلی خود تنظیم کنند، باز هم نیاز به مسئولان پهنای باند برای متعادل‌سازی بار بین بخش‌های مختلف اینترنت داریم.

بار رلهٔ معمولی چقدر است؟

طبیعی است که بیشتر رله‌ها بین ٪۸۰-٪۳۰ ظرفیت خود بارگذاری شوند. این برای کلاینت‌ها خوب است: یک رله با اضافه‌بار بالا تأخیر زیادی دارد. (ما به‌تعدادی رله می‌خواهیم که هر رله به‌میزان ٪۱۰ بارگذاری شود. در آن هنگام Tor تقریباً هم‌سرعت اینترنت گسترده‌تر خواهد بود).

گاهی اوقات، یک رله کند است زیرا پردازندهٔ آن کند است یا اتصالات آن محدود شده‌اند. در مواقع دیگر، شبکه کند است: رله همتاسازی بد یا فاصلهٔ زیادی با بیشتر رله‌های دیگر Tor دارد.

پی‌بردن به این‌که چه‌چیزی یک رله را محدود می‌کند

عوامل زیادی می‌توانند سرعت رله را کاهش دهند. در اینجا نحوهٔ ردیابی آن‌ها آورده شده است.

محدودیت‌های سیستم

  • میزان استفاده از RAM، CPU و توصیف‌گر سوکت/فایل را روی رلهٔ خود بررسی کنید

Tor هنگام راه‌اندازی بعضی از این موارد را رویدادنگاری می‌کند. سایر موارد را می‌توان با استفاده از top یا ابزارهای مشابه مشاهده کرد.

محدودیت‌های ارائه‌دهنده

  • همتاسازکنندهٔ اینترنت (پهنای‌باند، تأخیر) میان ارائه‌دهندهٔ رلهٔ خود و سایر رله‌ها را بررسی کنید. انتقال رله‌ها از طریق Comcast گاهی کند بوده‌اند. رله‌های خارج از آمریکای شمالی و اروپای غربی معمولا کندتر هستند.

محدودیت‌های شبکهٔ Tor

پهنای‌باند رله را می‌توان با پهنای‌باند مشاهده‌شده یا پهنای‌باند اندازه‌گیری‌شده توسط مراجع شاخه محدود کرد. در اینجا نحوهٔ فهمیدن اینکه کدام اندازه‌گیری، رله شما را محدود می‌کند، آورده شده است:

  • هر یک از آرا را برای رلهٔ خود در مورد اجماع سلامت (صفحهٔ بزرگ) بررسی کرده و میانه را بررسی کنید. اگر رلهٔ شما توسط برخی از مراجع شاخهٔ درحال اجرا علامت‌گذاری نشده است:
    • آیا نشانی IPv4 یا IPv6 آن نادرست است؟
    • آیا نشانی IPv4 یا IPv6 از برخی شبکه‌ها غیرقابل دسترسی است؟
    • آیا بیش از ۲ رله در نشانی IPv4 خودش وجود دارد؟

در غیر این صورت، پهنای‌باند مشاهده‌شدهٔ رله و نرخ پهنای‌باند (محدود) را بررسی کنید. رلهٔ خود را در متریک‌ها جستجو کنید. سپس نشان‌گر ماوس را روی عنوان پهنای‌باند نگه دارید تا پهنای‌باند مشاهده‌شده و نرخ پهنای‌باند رله را ببینید.

در اینجا جزئیات بیشتر و چند مثال آورده شده است: افت وزن اجماع و تسریع رلهٔ خروج.

نحوهٔ درست‌‌نمودن آن

کوچک‌ترینِ این اعداد، پهنای‌باند اختصاص‌یافته به رله را محدود می‌کند.

  • اگر مشکل از نرخ پهنای‌باند است، BandwidthRate/Burst یا RelayBandwidthRate/Burst را در torrc خود افزایش دهید.
  • اگر پهنای‌باندی باشد که مشاهده شده است، رلهٔ شما تا زمانی که خود را درحال سریع‌ترشدن ببیند، پهنای‌باند بیشتری را درخواست نخواهد کرد. باید متوجه شوید که چرا کند است.
  • اگر مشکل از پهنای‌باند میانهٔ اندازه‌گیری‌شده باشد، رلهٔ شما از نظر اکثر مراجع پهنای‌باند، کند به‌نظر می‌رسد. باید متوجه شوید که چرا سرعت آن را پایین اندازه‌گیری می‌کنند.

اندازه‌گیری‌های رلهٔ خود را انجام دهید

اگر رلهٔ شما کند است یا مراجع پهنای‌باند فکر می‌کنند که کند است، خودتان می‌توانید پهنای‌باند را آزمایش کنید:

  • Run a test using tor to see how fast tor can get on your network

    برای این منظور، باید کلاینت tor را طوری تنظیم کنید که از رله شما به‌عنوان ورودی استفاده کند. اگر رله شما فقط دارای برچسب Guard است، در فایل torrc گزینه EntryNodes را با fingerprint رله خود تنظیم کنید. اگر نود رله شما پرچم Guard ندارد یا هم‌زمان دارای پرچم‌های Guard و Exit است، نمی‌توانید آن را به‌عنوان نود ورودی تنظیم کنید (نگاه کنید به https://gitlab.torproject.org/tpo/core/tor/-/issues/22204)، اما حتی اگر نود شما Bridge نیست، می‌توانید آن را به‌عنوان Bridge خود تنظیم کنید. برای تنظیم رله‌ی خود به‌عنوان پل، این خط را به فایل torrc خود اضافه کنید:

    Bridge <ip>:<port>
    UseBridge 1
    

    سپس یک فایل حجیم را با استفاده از SocksPort خود به‌عنوان پراکسی socks دانلود کنید. برای این کار می‌توانید از curl استفاده کنید، مثلاً:

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

    استفاده از user/password متفاوت باعث ایجاد مسیرهای متفاوت می‌شود. می‌توانید از $RANDOM استفاده کنید.

    این به شما دیدی می‌دهد از اینکه رله شما چقدر ترافیک می‌تواند تحمل کند.

    همچنین می‌توانید برای آزمایش رله خود با مدارهای دوهاپه از ابزار relay_bw استفاده کنید، مشابه روشی که sbws به کار می‌برد.

  • Run a test using tor and chutney to find out how fast tor can get on your CPU. حجم داده را افزایش دهید تا زمانی که پهنای باند دیگر افزایش پیدا نکند.