لماذا تختلف الحمولة على المُرحّلات

يدير تور سعة القناة عبر الشبكة بالكامل. إن يقوم بعمل معقول بالنسبة لمعظم المُرحّلات. لكن أهداف تور تختلف عن بروتوكولات مثل بِتْ-تورَنْتْ. يريد تور صفحات الانترنت ذات زمن كمون منخفض، الأمر الذي يتطلب اتصالات سريعة بهامش محدد. يريد بِتْ-تورَنْتْ تنزيلات بالجملة، الأمر الذي يتطلب استخدام سعة القناة عن آخرها.

نحن نعمل على ماسح جديد لسعة القناة, وهو أسهل في الفهم والصيانة. سيكون لديها تشخيصات للمُرحّلات التي لا يتم قياسها، والمُرحّلات ذات القياسات المنخفضة.

لماذا يحتاج تور إلى ماسحات (scanners) على سعة القناة؟

يخبرك معظم مزودي الخدمة بالسرعة القصوى لاتصالك المحلي. لكن لدى تور مستخدمون في جميع أنحاء العالم، ويتصل مستخدمونا بواحد أو اثنين من مُرحّلات الحارس بشكل عشوائي. لذلك نحن بحاجة إلى معرفة مدى قدرة كل مُرحّل على الاتصال بالعالم بأسره.

لذا، حتى إذا قام جميع المكلفين بتشغيل المُرحّلات بضبط سعة القناة المعلن عنها لتكون مثل سرعة اتصالهم المحلي، فسنظل بحاجة إلى سلطات سعة القناة لموازنة الحمولة بين أجزاء مختلفة من الشبكة.

ما هي الحمولة العادية على المُرحّل؟

من الطبيعي أن يتم تحميل معظم المُرحّلات عند 30%-80% من قدرتها. هذا مفيد للعملاء: المُرحّل المُحمَّل عليه كثيرا يكون لديه زمن كمون مرتفع. (نريد مُرحّلات كافية بحيث يتم تحميل كل مُرحّل بنسبة 10٪. عندها سيكون تور تقريبا بنفس سرعة الانترنت المعتاد).

في بعض الأحيان، يكون المُرحّل بطيئا لأن معالجه بطيء أو أن اتصالاته محدودة. في أوقات أخرى، تكون الشبكة هي البطيئة: حيث يكون المُرحّل لديه توصيل سيء لمعظم مُرحّلات تور الأخرى، أو أنه يكون بعيدا.

معرفة ما الذي يحد المُرحّل

الكثير من الأشياء يمكن أن تبطئ المُرحّل. إليك كيفية تعقبها.

حدود النظام

  • تحقق من استخدام ذاكرة الوصول العشوائي ووحدة المعالجة المركزية والمقبس أو واصف الملف على مُرحّلك

يقوم تور بتسجيل بعض هذه الأشياء عندما يبدأ. يمكن مشاهدة أشياء أخرى باستخدام الأداة top أو أدوات أخرى مماثلة.

حدود المزود

  • تحقق من حركة المرور عبر الانترنت (سعة القناة، زمن الوصول) من مزود مُرحّلك إلى المُرحّلات الأخرى. كانت المُرحّلات التي تمر عبر كومْكاسْتْ (Comcast) بطيئة في بعض الأحيان. عادة ما تكون المُرحّلات خارج أمريكا الشمالية وأوروبا الغربية أبطأ.

حدود شبكة تور

يمكن تقييد سعة قناة المُرحّل من خلال سعة القناة المرصودة لذات المُرحّل، أو من خلال قياس سعة القناة للسلطات الدليلية. فيما يلي كيفية معرفة القياس الذي يحد من مُرحّلك:

  • تحقق من كل التصويتات الخاصة بمُرحّلك على صحة الإجماع (الصفحة كبيرة), وتحقق من الوسيط. إذا لم يتم وسم مُرحّلك بأنه يشتغل من قبل بعض سلطات الدليل:
    • هل لديه عنوان IP (إما الإصدار 4 أو 6) خاطئ؟
    • ألا يمكن الوصول إلى عنوان IP (إما الإصدار 4 أو 6) الخاص به انطلاقا من بعض الشبكات؟
    • هل هناك أكثر من مُرحّليْن على عنوان IP (الإصدار 4) الخاص به؟

خلاف ذلك، تحقق من سعة القناة المرصودة ومعدل سعة القناة (الحَدّي) لمُرحّلك. ابحث عن مُرحّلك في القياسات. ثم مرر الفأرة فوق عنوان سعة القناة لمشاهدة سعة القناة الملحوظة ومعدل سعة القناة للمُرحّل.

إليك المزيد من التفاصيل وبعض الأمثلة: انخفاض في وزن الإجماع و زيادة سرعة مُرحّل الخروج.

كيف تصلحها

أصغر هذه الأرقام هو الحد من سعة القناة المخصصة للمُرحّل.

  • إذا كان هذا هو معدل سعة القناة، فقم بزيادة BandwidthRate/Burst أو RelayBandwidthRate/Burst في torrc الخاص بك.
  • إذا كانت هذه هي سعة القناة المرصودة، فلن يطلب المُرحّل مزيدا من سعة القناة حتى يرى نفسه يزداد سرعة. تحتاج إلى معرفة سبب بطئها.
  • إذا كان يتم قياس متوسط سعة القناة، فإن المُرحّل يبدو بطيئا من وجهة نظر سلطات سعة القناة. تحتاج إلى معرفة سبب بطء قياسها.

القيام بالقياسات بنفسك لمُرحّلك

إذا كان مُرحّلك يعتقد أنه بطيء، أو تعتقد سلطات سعة القناة أنه بطيء، يمكنك اختبار سعة القناة بنفسك:

  • قم بإجراء اختبار باستخدام تور لمعرفة مدى سرعة وصول تور إلى شبكتك

    للقيام بذلك، تحتاج إلى تضبيط عميل تور لاستخدام المرحل الخاص بك كمدخل. إذا كان المرحل الخاص بك يحتوي على علامة Guard فقط، فقم بتعيين EntryNodes باستخدام بصمة المرحل الخاصة بك في torrc. إذا لم يكن المرحل الخاص بك يحتوي على علامة Guard أو كان يحتوي على علامتي Guard وExit، فلا يمكنك تعيين المرحل الخاص بك كعقدة إدخال (راجع https://gitlab.torproject.org/tpo/core/ tor/-/issues/22204)، ولكن يمكنك تعيينه كجسر، حتى لو لم يكن جسرًا. لتعيين مُرحّلك كجسر، أضف إلى torrc الخاص بك:

    Bridge <ip>:<port>
    UseBridge 1
    

    ثم قم نزّل ملف كبير باستخدام SocksPort كوكيل لsocks. لهذا، يمكنك استخدام curl، على سبيل المثال:

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

    استخدام مستخدم/كلمة سر مختلفة يضمن دوائر مختلفة. يمكنك استخدام $RANDOM.

    سيعطيك ذلك فكرة عن مقدار حركة المرور التي يمكن أن يتحملها جهاز الترحيل الخاص بك.

    بدلاً من ذلك، يمكنك تشغيل relay_bw لاختبار مُرحّلك باستخدام دوائر ذات قفزتين، بطريقة مشابهة لـsbws يفعل ذلك.

  • قم بإجراء اختبار باستخدام تور وchutney لمعرفة مدى السرعة التي يمكن أن يحصل عليها تور على وحدة معالجتك المركزية. استمر في زيادة حجم البيانات حتى يتوقف عرض النطاق الترددي عن الزيادة.