HTB(8)

الاسم
HTB - دلو الرموز الهرمي

موجز
tc qdisc ... dev dev ( parent classid | root) [ handle major: ] htb [ default minor-id ] [ r2q divisor ] [ offload ]

tc class ... dev dev parent major:[minor] [ classid major:minor ] htb rate معدل [ ceil معدل ] burst بايت [ cburst بايت ] [ prio أولوية ] [ quantum بايت ]

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

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

خوارزمية التشكيل
يعمل التشكيل كما هو موثق في tc-tbf (8).

تصنيف
داخل مثيل HTB الواحد قد توجد عدة فئات. تحتوي كل فئة من هذه الفئات على qdisc آخر، بشكل مبدئي tc-pfifo(8).

عند إدراج حزمة في قائمة الانتظار، يبدأ HTB من الجذر ويستخدم طرقًا متنوعة لتحديد الفئة التي يجب أن تستقبل البيانات.

في غياب خيارات التهيئة غير الشائعة، تكون العملية سهلة نسبيًا. في كل عقدة نبحث عن تعليمة، ثم نذهب إلى الفئة التي تشيرنا إليها التعليمة. إذا كانت الفئة التي تم العثور عليها عقدة طرفية جرداء (بدون أطفال)، ندرج الحزمة هناك. إذا لم تكن عقدة طرفية بعد، نكرر العملية بأكملها بدءًا من تلك العقدة.

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

(أ) استشر المرشحات المرفقة بالفئة. إذا تم الإرسال إلى عقدة طرفية، نكون قد انتهينا. بخلاف ذلك، أعد التشغيل.

(ب) إذا لم يُرجع أي مما سبق بتعليمة، أدرج في قائمة الانتظار في هذه العقدة.

تضمن هذه الخوارزمية أن تنتهي الحزمة دائمًا في مكان ما، حتى أثناء انشغالك ببناء التهيئة الخاصة بك.

خوارزمية مشاركة الرابط
FIXME

QDISC
جذر شجرة فئة qdisc الخاصة بـ HTB يحتوي على المعاملات التالية:

parent major:minor | root
    يحدد هذا المعامل الإلزامي مكان مثيل HTB، إما في root لواجهة أو داخل فئة موجودة.

handle major:
    مثل جميع qdiscs الأخرى، يمكن تعيين مقبض لـ HTB. يجب أن يتكون فقط من رقم رئيسي، متبوعًا بنقطتين. اختياري، ولكنه مفيد جدًا إذا سيتم إنشاء فئات داخل qdisc هذا.

default minor-id
    تُرسل حركة المرور غير المصنفة إلى الفئة ذات minor-id هذا.

r2q divisor
    المقسوم عليه المستخدم لحساب قيم quantum للفئات. تقسم الفئات rate على هذا الرقم. القيمة المبدئية هي 10.

offload
    إلغاء تحميل خوارزمية HTB إلى العتاد (يتطلب دعم برنامج التشغيل والجهاز).

CLASSES
تمتلك الفئات مجموعة من المعاملات لتكوين تشغيلها.

الأصل رئيسي:فرعي
    مكان هذه الفئة ضمن التسلسل الهرمي. إذا كانت متصلة مباشرة بـ qdisc وليس بفئة أخرى، يمكن حذف الفرعي. إلزامي.

معرف الفئة رئيسي:فرعي
    مثل qdiscs، يمكن تسمية الفئات. يجب أن يكون الرقم الرئيسي مساويًا للرقم الرئيسي لـ qdisc الذي تنتمي إليه. اختياري، لكنه ضروري إذا كانت هذه الفئة ستنجب فئات فرعية.

prio الأولوية
    في عملية التدوير الدائري، تُفحص الفئات ذات حقل الأولوية الأقل أولاً للحزم.

rate المعدل
    الحد الأقصى للمعدل المضمون لهذه الفئة وجميع فئاتها الفرعية. إلزامي.

ceil السقف
    الحد الأقصى للمعدل الذي يمكن للفئة الإرسال به، إذا كان لدى أصلها نطاق ترددي فائض. المبدئي هو المعدل المكوّن، مما يعني عدم الاقتراض.

burst بايت
    كمية البايتات التي يمكن اندفاعها بسرعة السقف، بما يتجاوز المعدل المكوّن. يجب أن تكون على الأقل بقيمة أعلى اندفاع لجميع الفئات الفرعية.

cburst بايت
    كمية البايتات التي يمكن اندفاعها بسرعة 'لانهائية'، بمعنى آخر، بأسرع ما يمكن للواجهة إرسالها. للتوزيع المتساوي المثالي، يجب أن تكون مساوية لحزمة متوسطة واحدة على الأكثر. يجب أن تكون على الأقل بقيمة أعلى cburst لجميع الفئات الفرعية.

quantum بايت
    عدد البايتات التي سيتم خدمتها من هذه الفئة قبل أن ينتقل المجدول إلى الفئة التالية. القيمة المبدئية هي المعدل مقسومًا على معامل r2q الخاص بـ qdisc. إذا تم تحديدها، يتم تجاهل r2q.

ملاحظات
بسبب قيود توقيت Unix، فإن الحد الأقصى لمعدل السقف ليس لانهائيًا وقد يكون منخفضًا جدًا في الواقع. على Intel، هناك 100 حدث مؤقت في الثانية، والحد الأقصى للمعدل هو ذلك المعدل الذي يتم عنده إرسال بايتات 'الاندفاع' كل نبضة مؤقت. من هذا، يمكن حساب الحد الأدنى لحجم الاندفاع لمعدل محدد. بالنسبة لـ i386، يتطلب معدل 10 ميجابت اندفاعًا بحجم 12 كيلوبايت لأن 100*12kb*8 يساوي 10 ميجابت.

انظر أيضًا
tc(8)

موقع HTB: http://luxik.cdi.cz/~devik/qos/htb/

المؤلف
مارتن ديفيرا <devik@cdi.cz>. يتم صيانة صفحة الدليل هذه بواسطة بيرت هوبرت <ahu@ds9a.nl>

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.