TC(8)

الاسم
tc - عرض / تعديل إعدادات التحكم في المرور

موجز
tc [ خيارات ] qdisc [ add | change | replace | link | delete ] dev جهاز [ parent معرف-qdisc | root ] [ handle معرف-qdisc ] [ ingress_block مؤشر_الكتلة ] [ egress_block مؤشر_الكتلة ] qdisc [ معلمات خاصة بـ qdisc ]

tc [ خيارات ] class [ add | change | replace | delete | show ] dev جهاز parent معرف-qdisc [ classid معرف-صنف ] qdisc [ معلمات خاصة بـ qdisc ]

tc [ خيارات ] filter [ add | change | replace | delete | get ] dev جهاز [ parent معرف-qdisc | root ] [ handle معرف-مرشح ] protocol بروتوكول prio أولوية filtertype [ معلمات خاصة بنوع المرشح ] flowid معرف-تدفق

tc [ خيارات ] filter [ add | change | replace | delete | get ] block مؤشر_الكتلة [ handle معرف-مرشح ] protocol بروتوكول prio أولوية filtertype [ معلمات خاصة بنوع المرشح ] flowid معرف-تدفق

tc [ خيارات ] chain [ add | delete | get ] dev جهاز [ parent معرف-qdisc | root ] filtertype [ معلمات خاصة بنوع المرشح ]

tc [ خيارات ] chain [ add | delete | get ] block مؤشر_الكتلة filtertype [ معلمات خاصة بنوع المرشح ]

tc [ خيارات ] [ تنسيق ] qdisc { show | list } [ dev جهاز ] [ root | ingress | handle مقبض_Q | parent معرف_صنف ] [ invisible ]

tc [ خيارات ] [ تنسيق ] class show dev جهاز

tc [ خيارات ] filter show dev جهاز

tc [ خيارات ] filter show block مؤشر_الكتلة

tc [ خيارات ] chain show dev جهاز

tc [ خيارات ] chain show block مؤشر_الكتلة

tc [ خيارات ] monitor [ file اسم_ملف ]

خيارات := { [ -force ] -b[atch] [ اسم_ملف ] | [ -n[etns] name ] | [ -N[umeric] ] | [ -nm | -nam[es] ] | [ { -cf | -c[onf] } [ اسم_ملف ] ] [ -t[imestamp] ] | [ -t[short] | [ -o[neline] ] | [ -echo ] }

تنسيق := { -s[tatistics] | -d[etails] | -r[aw] | -i[ec] | -g[raph] | -j[son] | -p[retty] | -col[or] }

الوصف
يُستخدم Tc لتكوين التحكم في المرور في نواة لينكس. يتكون التحكم في المرور مما يلي:

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

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

السياسة
    بينما يتعامل التشكيل مع إرسال المرور، تتعلق السياسة بالمرور الوارد. وبالتالي تحدث السياسة عند الدخول.

الإسقاط
    يمكن أيضًا إسقاط المرور الذي يتجاوز عرض نطاق ترددي محدد فورًا، سواء عند الدخول أو عند الخروج.

يتم التحكم في معالجة المرور بواسطة ثلاثة أنواع من الكائنات: qdiscs والصفوف والمرشحات.

QDISCS
qdisc هو اختصار لـ 'queueing discipline' وهو أساسي لفهم التحكم في حركة المرور. كلما احتاج النواة إلى إرسال حزمة إلى واجهة، يتم إدراجها في qdisc المكون لتلك الواجهة. بعد ذلك مباشرة، يحاول النواة الحصول على أكبر عدد ممكن من الحزم من qdisc، لإعطائها لسائق محول الشبكة.

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

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

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

من المهم ملاحظة أن المرشحات توجد داخل qdiscs - فهي ليست مسيطرة على ما يحدث.

المرشحات المتاحة هي:

basic
    تصفية الحزم بناءً على تعبير ematch. انظر tc-ematch(8) للتفاصيل.

bpf تصفية الحزم باستخدام (e)BPF، انظر tc-bpf(8) للتفاصيل.

cgroup
    تصفية الحزم بناءً على مجموعة التحكم لعمليةها. انظر tc-cgroup(8) للتفاصيل.

flow, flower
    مصنفات قائمة على التدفق، تصفية الحزم بناءً على تدفقها (المحدد بمفاتيح قابلة للاختيار). انظر tc-flow(8) و tc-flower(8) للتفاصيل.

fw  تصفية بناءً على fwmark. يربط قيمة fwmark مباشرة بفئة حركة المرور. انظر tc-fw(8).

route
    تصفية الحزم بناءً على جدول التوجيه. انظر tc-route(8) للتفاصيل.

u32 تصفية عامة على بيانات حزمة عشوائية، مدعومة بصيغة لتجريد العمليات الشائعة. انظر tc-u32(8) للتفاصيل.

matchall
    مرشح تحكم في حركة المرور يطابق كل حزمة. انظر tc-matchall(8) للتفاصيل.

QEVENTS
قد تستدعي Qdiscs إجراءات مكونة من قبل المستخدم عند حدوث أحداث معينة مثيرة للاهتمام في qdisc. يمكن لكل qevent إما أن يكون غير مستخدم، أو يمكن أن يكون له كتلة مرفقة به. يتم بعد ذلك إرفاق المرشحات بهذه الكتلة باستخدام صيغة "tc block BLOCK_IDX". يتم تنفيذ الكتلة عند حدوث qevent المرتبط بنقطة الإرفاق. على سبيل المثال، قد يتم إسقاط الحزمة، أو تأخيرها، إلخ، اعتمادًا على qdisc و qevent المعني.

على سبيل المثال:

    tc qdisc add dev eth0 root handle 1: red limit 500K avpkt 1K \
       qevent early_drop block 10
    tc filter add block 10 matchall action mirred egress mirror dev eth1

QDISCS بدون فئات
qdiscs بدون فئات هي:

choke
    CHOKe (اختيار والاحتفاظ للتدفقات المستجيبة، اختيار والقتل للتدفقات غير المستجيبة) هو نظام جدولة غير طبقي مصمم لتحديد ومعاقبة التدفقات التي تحتكر الطابور. CHOKe هو تنويع من RED، والتكوين مشابه لـ RED.

codel
    CoDel (تُنطق "كودل") هي خوارزمية إدارة طابور نشطة (AQM) تكيفية "بدون مقابض" تم تطويرها لمعالجة قصور RED ومتغيراتها.

[p|b]fifo
    أبسط نظام جدولة قابل للاستخدام، سلوك أول وارد أول صادر خالص. محدود في الحزم أو البايتات.

fq  جدول الطابور العادل يحقق تنظيم سرعة TCP ويتوسع لملايين التدفقات المتزامنة لكل نظام جدولة.

fq_codel
    التأخير المتحكم به مع الطابور العادل هو نظام جدولة يجمع بين الطابور العادل ومخطط CoDel AQM. يستخدم FQ_Codel نموذجًا احتماليًا لتصنيف الحزم الواردة إلى تدفقات مختلفة ويُستخدم لتوفير حصة عادلة من عرض النطاق لجميع التدفقات المستخدمة للطابور. يُدار كل تدفق من هذا القبيل بواسطة نظام جدولة CoDel. يُتجنب إعادة الترتيب داخل التدفق لأن Codel يستخدم داخليًا طابور FIFO.

fq_pie
    FQ-PIE (طابور التدفق مع وحدة التحكم التكاملي النسبي المحسّن) هو نظام جدولة يجمع بين طابور التدفق ومخطط PIE AQM. يستخدم FQ-PIE دالة تجزئة Jenkins لتصنيف الحزم الواردة إلى تدفقات مختلفة ويُستخدم لتوفير حصة عادلة من عرض النطاق لجميع التدفقات المستخدمة لنظام الجدولة. يُدار كل تدفق من هذا القبيل بواسطة خوارزمية PIE.

gred
    الكشف العشوائي المبكر المعمم يجمع بين طوابير RED متعددة لتحقيق أولويات إسقاط متعددة. هذا مطلوب لتحقيق الإرسال المضمون (RFC 2597).

hhf مرشح التدفقات الثقيلة يفرق بين التدفقات الصغيرة ونقيضها، التدفقات الثقيلة. الهدف هو اصطياد التدفقات الثقيلة ونقلها إلى طابور منفصل بأولوية أقل بحيث لا تؤثر حركة المرور الكبيرة على زمن الوصول لحركة المرور الحرجة.

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

mqprio
    نظام جدولة الأولوية متعدد الطوابير هو نظام جدولة بسيط يسمح بتعيين تدفقات حركة المرور إلى نطاقات طوابير الأجهزة باستخدام الأولويات وتعيين أولوية قابل للتكوين إلى فئة حركة المرور. فئة حركة المرور في هذا السياق هي مجموعة من فئات نظام الجدولة المتجاورة التي تُعيّن 1:1 إلى مجموعة من الطوابير المكشوفة بواسطة الأجهزة.

multiq
    متعدد الطوابير هو نظام جدولة محسّن للأجهزة ذات طوابير إرسال متعددة. تمت إضافته للأجهزة التي ترغب في تجنب حجب رأس الطابور. سيدور عبر النطاقات ويتحقق من أن طابور الأجهزة المرتبط بالنطاق لم يتوقف قبل إخراج حزمة من الطابور.

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

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

pie المتحكم التناسبي التكاملي المُحسّن (PIE) هو مخطط نظري تحكمي لإدارة الطابور النشط. يعتمد على المتحكم التناسبي التكاملي لكنه يهدف إلى التحكم في التأخير.

أحمر
    الكشف العشوائي المبكر يحاكي الازدحام المادي بإسقاط الحزم عشوائيًا عند الاقتراب من تخصيص النطاق الترددي المُكوّن. مناسب جدًا لتطبيقات النطاق الترددي الكبير جدًا.

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

sfq طابور العدالة العشوائي يعيد ترتيب حركة المرور المُخزنة بحيث تحصل كل 'جلسة' على إرسال حزمة بدورها.

tbf مرشح دلو الرمز مناسب لإبطاء حركة المرور إلى معدل مُكوّن بدقة. يتوسع جيدًا للنطاقات الترددية الكبيرة.

تكوين الجداول غير الطبقية
في غياب الجداول الطبقية، يمكن إرفاق الجداول غير الطبقية فقط في جذر الجهاز. الصيغة الكاملة:

tc qdisc add dev DEV root QDISC QDISC-PARAMETERS

للإزالة، نفّذ

tc qdisc del dev DEV root

جدولة pfifo_fast هي المبدئي الآلي في غياب جدولة مُكوّنة.

الجداول الطبقية
الجداول الطبقية هي:

ATM تخطيط التدفقات إلى دوائر افتراضية لجهاز وضع النقل غير المتزامن الأساسي.

DRR جدولة العجز الدائري البديل هي بديل أكثر مرونة لطابور العدالة العشوائي. على عكس SFQ، لا توجد طوابير مدمجة -- تحتاج إلى إضافة فئات ثم إعداد مرشحات لتصنيف الحزم وفقًا لذلك. قد يكون هذا مفيدًا مثلاً لاستخدام جداول RED بإعدادات مختلفة لحركة مرور معينة. لا توجد فئة مبدئية -- إذا لم يمكن تصنيف حزمة، تُسقط.

ETS جدولة ETS هي نظام طابور يدمج وظائف جداول PRIO و DRR في جدولة واحدة. يسهل ETS تكوين مجموعة من النطاقات الصارمة والمشاركة في النطاق الترددي لتنفيذ اختيار الإرسال الموصوف في 802.1Qaz.

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

HTB دلو الرمز الهرمي ينفذ تسلسلًا هرميًا غنيًا لمشاركة الروابط للفئات مع التركيز على الامتثال للممارسات الحالية. HTB يسهل ضمان عرض النطاق للفئات، مع السماح أيضًا بتحديد حدود عليا للمشاركة بين الفئات. يحتوي على عناصر تشكيل، مبنية على TBF ويمكنه تحديد أولويات الفئات.

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

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

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

جداول qdisc التي تسمح بإضافة فئات ديناميكية يمكن أن تحتوي على صفر أو أكثر من الفئات الفرعية التي يمكن إدراج حركة المرور فيها.

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

عندما تدخل حزمة إلى جدولة qdisc ذات فئات، يمكن تصنيفها إلى إحدى الفئات داخلها. تتوفر ثلاثة معايير، على الرغم من أن جميع جداول qdisc لن تستخدم الثلاثة:

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

نوع الخدمة
    بعض جداول qdisc لديها قواعد مدمجة لتصنيف الحزم بناءً على حقل TOS.

skb->priority
    يمكن لبرامج مساحة المستخدم ترميز معرف فئة في حقل 'skb->priority' باستخدام خيار SO_PRIORITY.

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

إذا لم ينجح التصنيف، يتم إدراج الحزم في جدولة qdisc الطرفية المرفقة بتلك الفئة. راجع صفحات الدليل الخاصة بجدولة qdisc للحصول على التفاصيل، مع ذلك.

التسمية
جميع جداول qdisc والفئات والمرشحات لها معرفات، يمكن تحديدها أو تعيينها آليًا.

المعرفات تتكون من رقم رئيسي ورقم ثانوي، مفصولين بنقطتين - رئيسي:ثانوي. كل من الرئيسي والثانوي هما رقمان سداسيان عشريان ومحددان بـ 16 بت. هناك قيمتان خاصتان: الجذر يُشار إليه بـ رئيسي وثانوي من جميع الآحاد، وغير المحدد هو جميع الأصفار.

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

CLASSES
    الفئات الموجودة تحت جدولة qdisc تشارك رقم الرئيسي لجدولة qdisc الخاصة بها، لكن لكل منها رقم ثانوي منفصل يُسمى 'معرف فئة' لا علاقة له بفئاتها الأصلية، فقط بجدولة qdisc الأصلية. ينطبق نفس عرف التسمية كما هو الحال لجداول qdisc.

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

المعاملات
المعلمات التالية مستخدمة على نطاق واسع في TC. للمعلمات الأخرى، راجع صفحات الدليل لجداول qdisc الفردية.

المعدلات
    النطاقات الترددية أو المعدلات. تقبل هذه المعاملات رقمًا عائمًا، يتبعه إما وحدة (وحدات SI و IEC مدعومة)، أو رقم عائم متبوع بحرف '%' لتحديد المعدل كنسبة مئوية من سرعة الجهاز (مثل 5%، 99.5%). تحذير: تحديد المعدل كنسبة مئوية يعني جزءًا من السرعة الحالية؛ إذا تغيرت السرعة، لن تُعاد حساب القيمة.

    بت أو رقم مجرد
        بت في الثانية

    كيلوبت
        كيلوبت في الثانية

    ميجابت
        ميجابت في الثانية

    جيجابت
        جيجابت في الثانية

    تيرابت
        تيرابت في الثانية

    بايت/ثانية
        بايت في الثانية

    كيلوبايت/ثانية
        كيلوبايت في الثانية

    ميجابايت/ثانية
        ميجابايت في الثانية

    جيجابايت/ثانية
        جيجابايت في الثانية

    تيرابايت/ثانية
        تيرابايت في الثانية

    للتحديد بوحدات IEC، استبدل البادئة SI (k-, m-, g-, t-) ببادئة IEC (ki-, mi-, gi- و ti-) على التوالي.

    يخزن TC المعدلات كعدد صحيح غير موقع 32 بت بوحدة bps داخليًا، لذا يمكننا تحديد معدل أقصى يبلغ 4294967295 bps.

الأوقات
    طول الوقت. يمكن تحديده كرقم عائم متبوع بوحدة اختيارية:

    ث، ثا أو ثوان
        ثوان كاملة

    مللي، مللي ثانية أو مللي ثوان
        مللي ثانية

    ميكرو، ميكروثانية، ميكروثوان أو رقم مجرد
        ميكروثانية.

    عرّفت TC وحدة زمنها الخاص (تساوي ميكروثانية) وتخزّن قيم الوقت كعدد صحيح غير موقّع 32 بت، وبالتالي يمكننا تحديد قيمة زمنية قصوى تبلغ 4294967295 ميكروثانية.

الأحجام
    كميات البيانات. يمكن تحديدها كرقم عائم متبوع بوحدة اختيارية:

    ب أو رقم مجرد
        بايت.

    كيلوبت
        كيلوبت

    كيلوبايت أو ك
        كيلوبايت

    ميجابت
        ميغابت

    ميغابايت أو م
        ميغابايت

    جيجابت
        غيغابت

    غيغابايت أو غ
        غيغابايت

    تخزّن TC الأحجام داخليًا كعدد صحيح غير موقّع 32 بت بالبايت، لذا يمكننا تحديد حجم أقصى يبلغ 4294967295 بايت.

القيم
    قيم أخرى بدون وحدة. تُفسّر هذه المعاملات كعشرية مبدئيًا، لكن يمكنك إشارة TC لتفسيرها كثمانية أو سداسية عشرية بإضافة بادئة '0' أو '0x' على التوالي.

أوامر TC
الأوامر التالية متاحة لـ qdiscs، الفئات والمرشحات:

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

delete
    يمكن حذف نظام جدولة بتحديد معالجه (handle)، والذي قد يكون أيضًا 'root'. تُحذف جميع الأصناف الفرعية وأنظمة الجدولة الطرفية (leaf qdiscs) الخاصة بها آليًا، بالإضافة إلى أي مرشحات مرتبطة بها.

change
    يمكن تعديل بعض الكيانات 'في مكانها'. تشارك صيغة 'add'، باستثناء أن المعالج (handle) لا يمكن تغييره وكذلك الأصل (parent). بعبارة أخرى، لا يمكن لـ change نقل عقدة.

replace
    ينفذ إزالة/إضافة شبه ذرية على معرف عقدة موجود. إذا كانت العقدة غير موجودة بعد، يتم إنشاؤها.

get يعرض مرشحًا واحدًا بمعطيات الواجهة DEV، qdisc-id، priority، protocol و filter-id.

show
    يعرض جميع المرشحات المرتبطة بالواجهة المعطاة. يجب تمرير معرف أصل (parent ID) صالح.

link
    متاح فقط لأنظمة الجدولة (qdiscs) وينفذ استبدالًا حيث يجب أن تكون العقدة موجودة مسبقًا.

مراقِب
يمكن لأداة tc مراقبة الأحداث التي يُنشئها النواة مثل إضافة/حذف أنظمة الجدولة أو المرشحات أو الإجراءات، أو تعديل الموجودة منها.

الأمر التالي متاح لـ monitor:

file
    إذا أُعطي خيار الملف، فإن tc لا يستمع لأحداث النواة، بل يفتح الملف المُعطى ويُفرغ محتوياته. يجب أن يكون الملف بصيغة ثنائية ويحتوي على رسائل netlink.

الخيارات

-b،  -b filename،  -batch،  -batch filename
    قراءة الأوامر من ملف مُقدم أو من الإدخال القياسي واستدعائها. سيؤدي الفشل الأول إلى إنهاء tc.

-force
    لا تُنهِ tc عند الأخطاء في وضع الدفعة (batch mode). إذا حدثت أي أخطاء أثناء تنفيذ الأوامر، سيكون رمز إرجاع التطبيق غير صفري.

-o، -oneline
    أخرج كل سجل في سطر واحد، مع استبدال تغذية السطور بمحرف '\'. هذا مفيد عندما تريد عد السجلات باستخدام wc(1) أو استخدام grep(1) على المخرج.

-n،  -net،  -netns <NETNS>
    يُحوِّل tc إلى مساحة اسم الشبكة المحددة NETNS. في الواقع، يُبسِّط فقط تنفيذ:

    ip netns exec NETNS tc [ OPTIONS ] OBJECT { COMMAND | help }

    إلى

    tc -n[etns] NETNS [ OPTIONS ] OBJECT { COMMAND | help }

-N، -Numeric
    اطبع رقم البروتوكول والنطاق و dsfield وما إلى ذلك مباشرة بدلاً من تحويله إلى اسم قابل للقراءة من قبل البشر.

-cf،  -conf <FILENAME>
    يحدد المسار إلى ملف الإعدادات. يُستخدم هذا الخيار بالتزامن مع خيارات أخرى (مثل -nm).

-t، -timestamp
    عند تشغيل tc monitor، تُطبع علامة زمنية قبل رسالة الحدث بالصيغة التالية:
       الطابع الزمني: <اليوم> <الشهر> <اليوم> <ساعة:دقيقة:ثانية> <السنة> <ميكروثانية> ميكروثانية

-ts، -tshort
    عند تشغيل tc monitor، تُطبع علامة زمنية موجزة قبل رسالة الحدث بالصيغة التالية:
       [<YYYY>-<MM>-<DDT<hh:mm:ss>.<ms>]

-echo
    طلب إرسال الضبط المطبق من النواة مرة أخرى.

التنسيق
أمر العرض يحتوي على خيارات تنسيق إضافية:

-s، -stats، -statistics
    أخرج إحصائيات إضافية حول استخدام الحزمة.

-d، -details
    أخرج معلومات أكثر تفصيلاً حول المعدلات وأحجام الخلايا.

-r, -raw
    أخرج قيم سداسية عشرية خام للمقابض.

-p، -pretty
    لمرشح u32، فك تشفير قيم الإزاحة والقناع إلى أوامر مرشح مكافئة بناءً على TCP/IP. في مخرجات JSON، أضف مسافات بيضاء لتحسين قابلية القراءة.

-iec
    اطبع المعدلات بوحدات IEC (أي 1K = 1024).

-g, -graph
    يعرض الفئات كرسم بياني ASCII. يطبع معلومات إحصائيات عامة تحت كل فئة إذا تم تحديد خيار -s. يمكن تصفية الفئات فقط بواسطة خيار dev.

-c[اللون][={always|auto|never}
    اضبط خرج الألوان. إذا حُذف المعامل أو كان always (دائمًا)، يُمكن خرج الألوان بغض النظر عن حالة stdout. إذا كان المعامل auto (آلي)، يُفحص ما إذا كان stdout طرفية قبل تمكين خرج الألوان. إذا كان المعامل never (أبدًا)، يُعطل خرج الألوان. إذا حُدد عدة مرات، تكون الغلبة لآخر واحد. يُتجاهل هذا العلم إذا أُعطي -json أيضًا.

-j، -json
    اعرض النتائج بتنسيق JSON.

-nm, -name
    حل اسم الفئة من ملف /etc/iproute2/tc_cls أو من ملف محدد بواسطة خيار -cf. هذا الملف هو مجرد تعيين لـ classid إلى اسم الفئة:

    # هنا تعليق
    1:40 voip # هنا تعليق آخر
    1:50 web
    1:60 ftp
    1:2 home

    لن يفشل tc إذا تم تحديد -nm بدون خيار -cf ولكن ملف /etc/iproute2/tc_cls غير موجود، مما يجعل من الممكن تمرير خيار -nm لإنشاء اسم مستعار لـ tc.

-br، -brief
    اطبع فقط البيانات الأساسية اللازمة لتحديد المرشح والإجراء (المقبض، الكوكي، إلخ) والإحصائيات. هذا الخيار مدعوم حاليًا فقط بواسطة أوامر tc filter show و tc actions ls .

أمثلة

tc -g class show dev eth0
    يعرض الفئات كرسم بياني ASCII على واجهة eth0.

tc -g -s class show dev eth0
    يعرض الفئات كرسم بياني ASCII مع معلومات إحصائيات تحت كل فئة.

التاريخ
كتب tc أليكسي ن. كوزنتسوف وأضيف في لينكس 2.2.

انظر أيضًا
tc-basic(8), tc-bfifo(8), tc-bpf(8), tc-cake(8), tc-cgroup(8), tc-choke(8), tc-codel(8), tc-drr(8), tc-ematch(8), tc-ets(8), tc-flow(8), tc-flower(8), tc-fq(8), tc-fq_codel(8), tc-fq_pie(8), tc-fw(8), tc-gact(8), tc-hfsc(7), tc-hfsc(8), tc-htb(8), tc-mqprio(8), tc-pfifo(8), tc-pfifo_fast(8), tc-pie(8), tc-red(8), tc-route(8), tc-sfb(8), tc-sfq(8), tc-stab(8), tc-tbf(8), tc-u32(8)
وثائق المستخدم في http://lartc.org/، لكن يُرجى توجيه تقارير الأخطاء والتصحيحات إلى: <netdev@vger.kernel.org>

المؤلف
صفحة الدليل يُحافظ عليها بيرت هوبرت (ahu@ds9a.nl)

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

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

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