- unstable 4.31.0-1
| TC(8) | لينكس | 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 المعني.
على سبيل المثال:
qevent early_drop block 10
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 إلى اسم الفئة:
- -br، -brief
- اطبع فقط البيانات الأساسية اللازمة لتحديد المرشح والإجراء (المقبض، الكوكي، إلخ) والإحصائيات. هذا الخيار مدعوم حاليًا فقط بواسطة أوامر tc filter show و tc actions ls .
أمثلة¶
tc -g class show dev eth0
tc -g -s class show dev eth0
التاريخ¶
كتب 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 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 16 ديسمبر 2001 | iproute2 |