- unstable 4.31.0-1
| RED(8) | لينكس | 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
انظر أيضًا¶
المصادر¶
- 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 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 13 ديسمبر 2001 | iproute2 |