لماذا تختلف الحمولة على المُرحّلات
يدير تور سعة القناة عبر الشبكة بالكامل. إن يقوم بعمل معقول بالنسبة لمعظم المُرحّلات.
لكن أهداف تور تختلف عن بروتوكولات مثل بِتْ-تورَنْتْ.
يريد تور صفحات الانترنت ذات زمن كمون منخفض، الأمر الذي يتطلب اتصالات سريعة بهامش محدد.
يريد بِتْ-تورَنْتْ تنزيلات بالجملة، الأمر الذي يتطلب استخدام سعة القناة عن آخرها.
نحن نعمل على ماسح جديد لسعة القناة, وهو أسهل في الفهم والصيانة.
سيكون لديها تشخيصات للمُرحّلات التي لا يتم قياسها، والمُرحّلات ذات القياسات المنخفضة.
لماذا يحتاج تور إلى ماسحات (scanners) على سعة القناة؟
يخبرك معظم مزودي الخدمة بالسرعة القصوى لاتصالك المحلي.
لكن لدى تور مستخدمون في جميع أنحاء العالم، ويتصل مستخدمونا بواحد أو اثنين من مُرحّلات الحارس بشكل عشوائي.
لذلك نحن بحاجة إلى معرفة مدى قدرة كل مُرحّل على الاتصال بالعالم بأسره.
لذا، حتى إذا قام جميع المكلفين بتشغيل المُرحّلات بضبط سعة القناة المعلن عنها لتكون مثل سرعة اتصالهم المحلي، فسنظل بحاجة إلى سلطات سعة القناة لموازنة الحمولة بين أجزاء مختلفة من الشبكة.
ما هي الحمولة العادية على المُرحّل؟
من الطبيعي أن يتم تحميل معظم المُرحّلات عند 30%-80% من قدرتها.
هذا مفيد للعملاء: المُرحّل المُحمَّل عليه كثيرا يكون لديه زمن كمون مرتفع.
(نريد مُرحّلات كافية بحيث يتم تحميل كل مُرحّل بنسبة 10٪. عندها سيكون تور تقريبا بنفس سرعة الانترنت المعتاد).
في بعض الأحيان، يكون المُرحّل بطيئا لأن معالجه بطيء أو أن اتصالاته محدودة.
في أوقات أخرى، تكون الشبكة هي البطيئة: حيث يكون المُرحّل لديه توصيل سيء لمعظم مُرحّلات تور الأخرى، أو أنه يكون بعيدا.
معرفة ما الذي يحد المُرحّل
الكثير من الأشياء يمكن أن تبطئ المُرحّل. إليك كيفية تعقبها.
حدود النظام
- تحقق من استخدام ذاكرة الوصول العشوائي ووحدة المعالجة المركزية والمقبس أو واصف الملف على مُرحّلك
يقوم تور بتسجيل بعض هذه الأشياء عندما يبدأ. يمكن مشاهدة أشياء أخرى باستخدام الأداة top أو أدوات أخرى مماثلة.
حدود المزود
- تحقق من حركة المرور عبر الانترنت (سعة القناة، زمن الوصول) من مزود مُرحّلك إلى المُرحّلات الأخرى.
كانت المُرحّلات التي تمر عبر كومْكاسْتْ (Comcast) بطيئة في بعض الأحيان.
عادة ما تكون المُرحّلات خارج أمريكا الشمالية وأوروبا الغربية أبطأ.
حدود شبكة تور
يمكن تقييد سعة قناة المُرحّل من خلال سعة القناة المرصودة لذات المُرحّل، أو من خلال قياس سعة القناة للسلطات الدليلية.
فيما يلي كيفية معرفة القياس الذي يحد من مُرحّلك:
- تحقق من كل التصويتات الخاصة بمُرحّلك على صحة الإجماع (الصفحة كبيرة), وتحقق من الوسيط.
إذا لم يتم وسم مُرحّلك بأنه يشتغل من قبل بعض سلطات الدليل:
- هل لديه عنوان IP (إما الإصدار 4 أو 6) خاطئ؟
- ألا يمكن الوصول إلى عنوان IP (إما الإصدار 4 أو 6) الخاص به انطلاقا من بعض الشبكات؟
- هل هناك أكثر من مُرحّليْن على عنوان IP (الإصدار 4) الخاص به؟
خلاف ذلك، تحقق من سعة القناة المرصودة ومعدل سعة القناة (الحَدّي) لمُرحّلك.
ابحث عن مُرحّلك في القياسات.
ثم مرر الفأرة فوق عنوان سعة القناة لمشاهدة سعة القناة الملحوظة ومعدل سعة القناة للمُرحّل.
إليك المزيد من التفاصيل وبعض الأمثلة: انخفاض في وزن الإجماع و زيادة سرعة مُرحّل الخروج.
كيف تصلحها
أصغر هذه الأرقام هو الحد من سعة القناة المخصصة للمُرحّل.
- إذا كان هذا هو معدل سعة القناة، فقم بزيادة BandwidthRate/Burst أو RelayBandwidthRate/Burst في torrc الخاص بك.
- إذا كانت هذه هي سعة القناة المرصودة، فلن يطلب المُرحّل مزيدا من سعة القناة حتى يرى نفسه يزداد سرعة.
تحتاج إلى معرفة سبب بطئها.
- إذا كان يتم قياس متوسط سعة القناة، فإن المُرحّل يبدو بطيئا من وجهة نظر سلطات سعة القناة.
تحتاج إلى معرفة سبب بطء قياسها.
القيام بالقياسات بنفسك لمُرحّلك
إذا كان مُرحّلك يعتقد أنه بطيء، أو تعتقد سلطات سعة القناة أنه بطيء، يمكنك اختبار سعة القناة بنفسك:
Run a test using tor to see how fast tor can get on your network
For this, you need to configure a tor client to use use your relay as entry.
If your relay has only Guard
flag, set EntryNodes
with your relay fingerprint in torrc
.
If your relay doesn't have Guard
flag or it has Guard
and Exit
flags,
you can't set your relay as an entry node (see https://gitlab.torproject.org/tpo/core/tor/-/issues/22204),
but you can set it as your bridge, even if it is not a bridge.
To set your relay as a bridge, add to your torrc
:
Bridge <ip>:<port>
UseBridge 1
Then download a large file using your SocksPort
as a socks proxy.
For this, you can use curl
, eg:
curl https://target/path --proxy socks5h://<user>:<password>@127.0.0.1:<socks-port>
Using different user
/password
guarantees different circuits. You can use $RANDOM
.
That will give you some idea of how much traffic your relay can sustain.
Alternatively, you can run relay_bw
to test your relay using 2 hops circuits, in a similar way as sbws does.
Run a test using tor and chutney
to find out how fast tor can get on your CPU.
Keep increasing the data volume until the bandwidth stops increasing.