RED(8)

الاسم
red - الاكتشاف المبكر العشوائي

موجز
tc qdisc ... red limit بايت [ min بايت ] [ max بايت ] avpkt بايت [ burst حزمة ] [ ecn ] [ harddrop ] [ nodrop ] [ bandwidth معدل ] [ probability احتمال ] [ adaptive ] [ qevent early_drop block فهرس ] [ qevent mark block فهرس ]

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

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

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

الهدف هو الحصول على حجم طابور صغير، وهو جيد للتفاعلية دون إزعاج حركة مرور TCP/IP بالكثير من الإسقاطات المفاجئة بعد انفجار في حركة المرور.

اعتمادًا على ما إذا كان ECN مكونًا، فإن الوسم يعني إما الإسقاط أو مجرد وسم الحزمة على أنها تجاوزت الحد.

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

عندما يكون متوسط حجم الطابور أقل من min بايت، لن تُوسم أي حزمة أبدًا. عندما يتجاوز min، فإن احتمالية القيام بذلك ترتفع خطيًا حتى probability، حتى يصل متوسط حجم الطابور إلى max بايت. نظرًا لأن probability لا تُضبط عادةً على 100%، فقد يرتفع حجم الطابور نظريًا فوق max بايت، لذلك تُوفر معلمة limit لتعيين حد أقصى صارم لحجم الطابور.

المعاملات

min متوسط حجم الطابور الذي يصبح عنده التعليم ممكناً. القيمة المبدئية هي max /3

max عند هذا المتوسط لحجم الطابور، تكون احتمالية الوسم قصوى. يجب أن يكون على الأقل ضعف min لمنع إعادة الإرسال المتزامنة، وأعلى لـ min المنخفضة. المبدئي هو limit /4

probability
    الاحتمالية القصوى للوسم، محددة كرقم عائم من 0.0 إلى 1.0. القيم المقترحة هي 0.01 أو 0.02 (1% أو 2%، على التوالي). المبدئي: 0.02

limit
    حد صارم على حجم الطابور الحقيقي (وليس المتوسط) بالبايت. تُسقط الحزم الإضافية. يجب ضبطه أعلى من max+burst. يُنصح بضبطه أعلى بعدة مرات من max.

burst
    يُستخدم لتحديد مدى سرعة تأثر متوسط حجم الطابور بحجم الطابور الحقيقي. القيم الأكبر تجعل الحساب أبطأ، مما يسمح بانفجارات أطول لحركة المرور قبل بدء الوسم. تدعم التجارب الواقعية التوجيه التالي: (min+min+max)/(3*avpkt).

avpkt
    محدد بالبايت. يُستخدم مع burst لتحديد الثابت الزمني لحسابات متوسط حجم الطابور. 1000 قيمة جيدة.

عرض النطاق
    يُستخدم هذا المعدل لحساب متوسط حجم الطابور بعد بعض وقت الخمول. يجب ضبطه على عرض نطاق واجهتك. لا يعني أن RED سيشكل حركة المرور لك! اختياري. المبدئي: 10Mbit

ecn كما ذُكر سابقًا، يمكن لـ RED إما 'وسم' أو 'إسقاط'. إشعار الازدحام الصريح يسمح لـ RED بإخطار المضيفين البعيدين بأن معدلهم يتجاوز مقدار عرض النطاق المتاح. لا يمكن إخطار المضيفين غير القادرين على ECN إلا بإسقاط حزمة. إذا تم تحديد هذه المعلمة، فإن الحزم التي تشير إلى أن مضيفيها يحترمون ECN ستُوسم فقط ولن تُسقط، إلا إذا وصل حجم الطابور إلى limit بايت. موصى به.

harddrop
    إذا كان متوسط حجم طابور التدفق أعلى من max بايت، فإن هذا المعامل يفرض الإسقاط بدلاً من وسم ecn.

nodrop
    مع هذه المعلمة، تُصفف حركة المرور التي يجب وسمها ولكنها غير قادرة على ECN. بدون المعلمة، تُسقط مبكرًا.

adaptive
    (أُضيف في linux-3.3) يضبط RED في الوضع التكيفي كما هو موصوف في http://icir.org/floyd/papers/adaptiveRed.pdf
    هدف RED التكيفي هو جعل 'الاحتمالية' قيمة ديناميكية بين 1% و50% للوصول إلى متوسط الطابور المستهدف:
    (max - min) / 2

QEVENTS
انظر tc (8) لبعض الملاحظات العامة حول qevents. يدعم نظام تصفيف RED qevents التالية:

early_drop
    يتم تنفيذ الكتلة المرتبطة عند إسقاط الحزم مبكرًا. يشمل ذلك الحزم غير ECT في وضع ECN.

mark
    يتم تنفيذ الكتلة المرتبطة عند وضع علامات على الحزم في وضع ECN.

مثال

# tc qdisc add dev eth0 parent 1:1 handle 10: red
 limit 400000 min 30000 max 90000 avpkt 1000
 burst 55 ecn adaptive bandwidth 10Mbit

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

المصادر

o   Floyd, S., and Jacobson, V., Random Early Detection gateways for Congestion Avoidance. http://www.aciri.org/floyd/papers/red/red.html

o   بعض التغييرات على الخوارزمية بواسطة Alexey N. Kuznetsov.

o   Adaptive RED : http://icir.org/floyd/papers/adaptiveRed.pdf

المؤلفون
Alexey N. Kuznetsov, <kuznet@ms2.inr.ac.ru>, Alexey Makarenko <makar@phoenix.kharkov.ua>, J Hadi Salim <hadi@nortelnetworks.com>, Eric Dumazet <eric.dumazet@gmail.com>. يتم صيانة صفحة الدليل هذه بواسطة bert hubert <ahu@ds9a.nl>

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

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

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