جدولة الشبكة

ترتيب الحزم في بنية بيانات FIFO (الأول في الدخول، الأول في الخروج).

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

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

في بعض الحالات، قد لا يكون من الممكن جدولة جميع عمليات الإرسال ضمن قيود النظام. في هذه الحالات، يكون مُجدول الشبكة مسؤولاً عن تحديد حركة المرور التي سيتم إعادة توجيهها وما سيتم إسقاطه .

المصطلحات والمسؤوليات

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

الخوارزميات

مع مرور الوقت، تم تطوير العديد من تخصصات صف الانتظار في الشبكة. يوفر كل منها إعادة ترتيب أو إسقاط حزم الشبكة داخل مخازن الإرسال أو الاستقبال المختلفة . [1] تُستخدم تخصصات صف الانتظار عادةً كمحاولات للتعويض عن ظروف الشبكة المختلفة، مثل تقليل زمن الوصول لفئات معينة من حزم الشبكة، وتُستخدم عمومًا كجزء من تدابير جودة الخدمة. [2] [3] [4]

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

تتضمن أمثلة الخوارزميات المناسبة لإدارة حركة المرور على الشبكة ما يلي:

خوارزميات الانتظار
خوارزمية اختصار يكتب دعم الأجهزة
خوارزمية معدل الخلية العامة جي سي آر أيه
اختر واقتل للتدفقات غير المستجيبة خنق بلا طبقات
تأخير متحكم فيه كوديل بلا طبقات
التطبيقات الشائعة يتم تحسينها [6] كعكة
أقدم وقت للتكساس أولاً صندوق الاستثمار المتداول بلا طبقات نعم
أول من دخل، أول من خرج فيفو بلا طبقات
طوابير الانتظار العادلة سؤال وجواب بلا طبقات
تأخير عادل في الطابور كود FQ-Del بلا طبقات
تحسين تدفق الصف باستخدام وحدة التحكم التكاملية النسبية FQ-PIE بلا طبقات
الكشف المبكر العشوائي المعمم جريد بلا طبقات
مرشح الضربة الثقيلة [7] إتش إتش إف بلا طبقات
أولوية تعدد الطوابير ام كيو بريو بلا طبقات نعم
طوابير متعددة مولتيك بلا طبقات نعم
محاكي الشبكة [8] نتيم بلا طبقات
وحدة تحكم تكاملية متناسبة-معززة [9] فطيرة بلا طبقات
الكشف المبكر العشوائي أحمر بلا طبقات
مؤشر عشوائي أزرق عادل إس إف بي بلا طبقات
قائمة انتظار العدالة العشوائية SFQ بلا طبقات
مرشح دلو الرمز المميز إلى اللقاء بلا طبقات
طوابير الانتظار على أساس الفصل بنك سي بي كيو راقي
مُشكِّل قائم على الائتمان سي بي اس راقي نعم
جولة عجز [10] الحد من مخاطر الكوارث راقي
اختيار ناقل الحركة المحسن خدمات تبادل المعلومات التجارية راقي
منحنى الخدمة العادلة الهرمي شركة إتش إس سي راقي
دلو الرمز الهرمي [11] إتش تي بي راقي
أولوية بريو راقي
قائمة انتظار سريعة للمعرض [12] كيو اف كيو راقي
مُشكِّل الأولويات وفقًا للوقت تابريو راقي نعم

تم تنفيذ العديد من العناصر المذكورة أعلاه كوحدات نمطية لنواة Linux [13] [14] وهي متاحة مجانًا .

انتفاخ المخزن المؤقت

تعد Bufferbloat ظاهرة في شبكات التبديل بالحزم حيث يتسبب التخزين المؤقت الزائد للحزم في حدوث تأخير كبير واختلاف في تأخير الحزمة . يمكن معالجة Bufferbloat بواسطة مجدول شبكة يتجاهل الحزم بشكل استراتيجي لتجنب تراكم التخزين المؤقت المرتفع بشكل غير ضروري. تشمل الأمثلة CoDel و FQ-CoDel والكشف المبكر العشوائي .

التنفيذات

نواة لينكس

يعد جدول الحزم الخاص بنواة Linux جزءًا من مجموعة الشبكة، جنبًا إلى جنب مع netfilter و nftables و Berkeley Packet Filter .

يعد مجدول حزم نواة Linux جزءًا لا يتجزأ من مجموعة شبكة نواة Linux ويدير مخازن حلقات الإرسال والاستقبال لجميع بطاقات الشبكة، من خلال العمل على الطبقة 2 من نموذج OSI ومعالجة إطارات Ethernet ، على سبيل المثال.

يتم تكوين مجدول الحزم باستخدام الأداة المساعدة المسماة tc(اختصارًا للتحكم في حركة المرور ). باعتباره نظام الانتظار الافتراضي، يستخدم مجدول الحزم تنفيذ FIFO يسمى pfifo_fast ، [15] على الرغم من أن systemd منذ إصداره 217 يغير نظام الانتظار الافتراضي إلى fq_codel. [16]

تتيح الأدوات المساعدة ifconfigو ipلمسؤولي النظام تكوين أحجام المخازن المؤقتة txqueuelenو rxqueuelenلكل جهاز على حدة من حيث عدد إطارات Ethernet بغض النظر عن حجمها. تحتوي مجموعة الشبكة الخاصة بنواة Linux على العديد من المخازن المؤقتة الأخرى، والتي لا يتم إدارتها بواسطة مجدول الشبكة. [أ]

يمكن ربط مرشحات Berkeley Packet Filter بمصنفات جدول الحزم. تعمل وظيفة eBPF التي جلبتها النسخة 4.1 من نواة Linux في عام 2015 على توسيع مصنفات BPF القابلة للبرمجة الكلاسيكية إلى eBPF. [17] يمكن تجميعها باستخدام واجهة LLVM eBPF الخلفية وتحميلها في نواة قيد التشغيل باستخدام tcالأداة المساعدة. [18]

BSD وOpenBSD

ALTQ هو تنفيذ لجدولة الشبكة لأنظمة BSD . بدءًا من إصدار OpenBSD 5.5، تم استبدال ALTQ بجدول HFSC.

انظر أيضا

ملحوظات

  1. ^ كان الحجم الإجمالي لجميع المخازن المؤقتة هو نقطة النقد من قبل مشروع Bufferbloat ، والذي قدم حلاً جزئيًا مع CoDel الذي تم اختباره بشكل أساسي في OpenWrt .

مراجع

  1. ^ "Traffic Control HOWTO: Classless Queuing Disciplines (qdiscs)". tldp.org . تم الاسترجاع في 24 نوفمبر 2013 .
  2. ^ "Traffic Control HOWTO: Components of Linux Traffic Control". tldp.org . تم الاسترجاع في 24 نوفمبر 2013 .
  3. ^ "Traffic Control HOWTO: Traditional Elements of Traffic Control". tldp.org . تم الاسترجاع في 24 نوفمبر 2013 .
  4. ^ "انضباطات الطوابير: ترتيب إرسال الحزم وإسقاطها" (PDF) . tau.ac.il . 25 أكتوبر 2006 . تم الاسترجاع في 18 مارس 2014 .
  5. ^ “التحكم المتقدم في حركة المرور – ArchWiki”. wiki.archlinux.org . تم الاسترجاع 2023-09-11 .
  6. ^ "دعهم يديرون CAKE". LWN.net .
  7. ^ "مرشح Heavy-Hitter qdisc". kernel.org .
  8. ^ "محاكي الشبكة لوحدة جدولة شبكة نواة لينكس". kernel.org . تم الاسترجاع في 2013-09-07 .
  9. ^ "وحدة التحكم التكاملية النسبية المحسنة (PIE)". kernel.org .
  10. ^ "وحدة جدولة شبكة نواة لينكس DRR". kernel.org . تم الاسترجاع في 2013-09-07 .
  11. ^ "وحدة جدولة شبكة نواة لينكس HTB". kernel.org . تم الاسترجاع في 2013-09-07 .
  12. ^ "وحدة جدولة شبكة نواة لينكس QFQ". kernel.org . تم الاسترجاع في 2013-09-07 .
  13. ^ "مجدول شبكة نواة لينكس". kernel.org . 2012-12-26 . تم الاسترجاع في 2013-09-07 .
  14. ^ "tc(8) - صفحة دليل Linux". man7.org . تم الاسترجاع في 2023-09-11 .
  15. ^ "Linux Advanced Routing and Traffic Control HOWTO, Section 9.2.1. pfifo_fast". lartc.org . 2012-05-19 . تم الاسترجاع في 2014-09-19 .
  16. ^ "systemd System and Service Manager: NEWS file". freedesktop.org . 2015-05-22 . تم الاسترجاع في 2015-06-09 .
  17. ^ "Linux kernel 4.1, Section 11. Networking". kernelnewbies.org . 2015-06-21.
  18. ^ "دليل مرجعي لـBPF وXDP". موقع ويب وثائق Cilium .
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=مجدول_الشبكة&oldid=1248272030"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate