يصف هذا المستند كيفية أستكشاف أخطاء الإخراج وإصلاحها بسبب جودة الخدمة (QoS) على محولات Cisco Catalyst Switches Series 2960 و 3750 و 3750G و 3750X و 3560.
توصي Cisco بأن تكون لديك معرفة أساسية بجودة الخدمة.
أسست المعلومة في هذا وثيقة على هذا منصة: cisco مادة حفازة مفتاح sery 2960، 3750، 3750G، 3750X، 3560.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
يتم إستخدام جودة الخدمة لترتيب أولويات البيانات الأكثر أهمية أثناء أوقات الازدحام. ونتيجة لذلك، بعد تمكين جودة الخدمة، قد تتعرض البيانات المجمعة الأقل أهمية لعمليات إسقاط.
تقوم محولات طبقة الوصول من Cisco بتطبيق ميزات جودة الخدمة في الأجهزة. يساعدك هذا المستند في تحديد ما إذا كان عمليات الإسقاط تحدث بسبب جودة الخدمة ويصف العديد من خيارات ضبط قوائم الانتظار والمخزن المؤقت للحد منها.
مدخل قائمة انتظار افتراضية
قائمة انتظار الخروج الافتراضية
Switch#show int gi1/0/1
!-- Some output omitted.
GigabitEthernet0/1 is up, line protocol is up (connected)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX
input flow-control is off, output flow-control is unsupported
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 1089
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 4000 bits/sec, 6 packets/sec
5 minute output rate 3009880 bits/sec, 963 packets/sec
Switch#show mls qos
QoS is enabled
QoS ip packet dscp rewrite is enabled
Switch#show mls qos int gi1/0/1 statistics
GigabitEthernet1/0/1 (All statistics are in packets)
dscp: incoming
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 9 : 0 0 0 0 0
10 - 14 : 0 0 0 0 0
15 - 19 : 0 0 0 0 0
20 - 24 : 0 0 0 0 0
25 - 29 : 0 0 0 0 0
30 - 34 : 0 0 0 0 0
35 - 39 : 0 0 0 0 0
40 - 44 : 0 0 0 0 0
45 - 49 : 0 198910 0 0 0
50 - 54 : 0 0 0 0 0
55 - 59 : 0 0 0 0 0
60 - 64 : 0 0 0 0
dscp: outgoing
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 9 : 0 0 0 0 0
10 - 14 : 0 0 0 0 0
15 - 19 : 0 0 0 0 0
20 - 24 : 0 0 0 0 0
25 - 29 : 0 0 0 0 0
30 - 34 : 0 0 0 0 0
35 - 39 : 0 0 0 0 0
40 - 44 : 0 0 0 0 0
45 - 49 : 0 248484 0 0 0
50 - 54 : 0 0 0 0 0
55 - 59 : 0 0 0 0 0
60 - 64 : 0 0 0 0
cos: incoming
-------------------------------
0 - 4 : 2 0 0 0 0
5 - 7 : 0 0 0
cos: outgoing
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 7 : 0 0 0
output queues enqueued:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 248484 0 0
queue 1: 0 0 0
queue 2: 0 0 0
queue 3: 0 0 0
output queues dropped:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 1089 0 0
queue 1: 0 0 0
queue 2: 0 0 0
queue 3: 0 0 0
Policer: Inprofile: 0 OutofProfile: 0ملاحظة: يوضح هذا المثال الحزم التي تم إسقاطها على الحزم التي يتم إسقاط قائمة الانتظار 0/threshold1. في الأمثلة الأخرى في المستند، يكون ترقيم قائمة الانتظار من 1 إلى 4؛ لذلك، تكون هذه القيمة قائمة انتظار 1.
Switch#show mls qos maps dscp-output-q
Dscp-outputq-threshold map:
d1 :d2 0 1 2 3 4 5 6 7 8 9
------------------------------------------------------------
0 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01
1 : 02-01 02-01 02-01 02-01 02-01 02-01 03-01 03-01 03-01 03-01
2 : 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01
3 : 03-01 03-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01
4 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 04-01 04-01
5 : 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01
6 : 04-01 04-01 04-01 04-01
ملاحظة: تحتوي كل مجموعة من مجموعات قوائم الانتظار على خيار تكوين حجم المخزن المؤقت وقيمة الحد الفاصل لقوائم انتظار الخروج الأربع. بعد ذلك، أنت يستطيع طبقت أي واحد من قائمة الانتظار مجموعة إلى أي من المنافذ. بشكل افتراضي، تستخدم جميع الواجهات مجموعة الانتظار 1 لقوائم انتظار الإخراج ما لم يتم تكوينها بشكل صريح لاستخدام مجموعة قوائم الانتظار 2.
في هذا السيناريو، تحتوي قائمة الانتظار رقم 1 في مجموعة الانتظار رقم 1 على 25٪ من إجمالي مساحة المخزن المؤقت وتم تعيين الحد رقم 1 على 100٪
Switch#show mls qos queue-set
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
Queueset: 2
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
ملاحظة: يمكنك تغيير مجموعة الانتظار 1 أيضا، على أي حال، بما أن جميع الواجهات تستخدم مجموعة الانتظار 1 بشكل افتراضي، فإن التغيير ينعكس على جميع الواجهات.
في هذا المثال، يتم تغيير مجموعة الصفوف 2 بحيث تتلقى قائمة الانتظار 1 70٪ من إجمالي المخزن المؤقت.
Switch(config)#mls qos queue-set output 2 buffers 70 10 10 10في هذا المثال، يتم تغيير حدود قوائم الانتظار 2 و 1. تم تعيين كل من العتبة 1 والعتبة 2 إلى 3100 بحيث يمكن سحب مخزن مؤقت من التجمع المحجوز إذا لزم الأمر.
Switch(config)#mls qos queue-set output 2 threshold 1 3100 3100 100 3200
Switch#show mls qos queue-set
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
Queueset: 2
Queue : 1 2 3 4
----------------------------------------------
buffers : 70 10 10 10
threshold1: 3100 100 100 100
threshold2: 3100 100 100 100
reserved : 100 50 50 50
maximum : 3200 400 400 400
Switch(config)#int gi1/0/1
Switch(config-if)#queue-set 2
Switch(config-if)#endتحقق من تعيين الواجهة على مجموعة قائمة انتظار 2.
Switch#show run int gi1/0/1
interface GigabitEthernet1/0/1
switchport mode access
mls qos trust dscp
queue-set 2
endتحقق مما إذا كانت الواجهة تستمر في إسقاط الحزم.
Switch(config-if)#srr-queue bandwidth share 1 75 25 5
Switch(config-if)#srr-queue bandwidth shape 2 0 0 0تحقق مما إذا كانت الواجهة تستمر في إسقاط الحزم.
ملاحظة: تتم خدمة قائمة الانتظار ذات الأولوية حتى يتم إفراغها قبل خدمة قوائم الانتظار الأخرى. بشكل افتراضي على المحولات 2960/3560/3750 switches، تكون قائمة الانتظار 1 هي قائمة الانتظار ذات الأولوية.
Switch(config)#int gi1/0/1
Switch(config-if)#priority-queue out
Switch(config-if)#endيمكن تعيين علامة الحزمة التي يتم إسقاطها على الواجهة بحيث تنتقل إلى قائمة الانتظار 1 (قائمة الانتظار ذات الأولوية). يضمن هذا الإجراء معالجة حركة المرور بهذه العلامة دائما قبل أي شيء آخر.
Switch(config)#mls qos srr-queue output dscp-map queue 1 threshold 1
فيما يلي بعض المشاكل الشائعة:
س: متى أقوم بتغيير مجموعة قوائم الانتظار ومتى أقوم باستخدام المشاركة/التشكيل؟
ج: القرار يعتمد على طبيعة حالات السقوط. إذا زادت عمليات الإسقاط بشكل متقطع، فإن هذه المشكلة غالبا ما تكون بسبب حركة المرور المتقطعة. على العكس، إذا زادت عمليات السقوط بشكل مستمر بمعدل ثابت، فإن قائمة الانتظار التي تقوم بإسقاط الحزم تحصل على الأرجح على بيانات أكثر مما يمكنها إرسالها.
بالنسبة لعمليات الإسقاط المتقطعة، يجب أن تحتوي قائمة الانتظار على مخزن مؤقت كبير يمكنه إستيعاب الدفعات المتقطعة. لتنفيذ هذا الحل، يجب عليك تبديل مجموعة قوائم الانتظار وتخصيص المزيد من المخزن المؤقت إلى قائمة الانتظار المتأثرة وزيادة قيم الحد الأدنى كذلك.
بالنسبة لعمليات الإسقاط المستمرة، يجب تكوين أداة الجدولة لخدمة قائمة الانتظار المتأثرة بشكل أكثر تكرارا وإخراج المزيد من الحزم من قائمة الانتظار لكل دورة وحدة المعالجة المركزية. لتنفيذ هذا الحل، يجب تكوين المشاركة/التشكيل على قوائم انتظار الخروج.
س: ما هو الفرق بين الوضع المشترك والوضع الشكلي؟
ج: في وضع الشكل، يتم ضمان نسبة من عرض النطاق الترددي لقوائم انتظار الخروج، وهي مقصورة على هذا المبلغ. لا تستخدم حركة المرور التي تم تكوينها أكثر من النطاق الترددي المخصص حتى إذا كان الارتباط خاملا. يوفر الوضع ذو الشكل تدفق حركة مرور البيانات بشكل أكثر توازنا عبر الوقت ويقلل من قمم واديان حركة المرور المتقطعة. مع التشكيل، يتم إستخدام القيمة المطلقة لكل وزن لحساب النطاق الترددي المتاح لقوائم الانتظار.
شكل النطاق الترددي لقائمة انتظار SRR الوزن 1 الوزن 2 الوزن 3 الوزن 4
تتحكم النسبة العكسية (1/الوزن) في عرض النطاق الترددي لتشكيل قائمة الانتظار هذه. بمعنى آخر، تكون قائمة الانتظار 1 محجوزة بنسبة 1/وزن 1 بالمائة من إجمالي النطاق الترددي وما إلى ذلك. إذا قمت بتكوين وزن 0، فإن قائمة الانتظار المقابلة تعمل في الوضع المشترك. يتم تجاهل الوزن المحدد باستخدام أمر شكل النطاق الترددي لقائمة الانتظار، كما يتم تفعيل الأوزان المحددة باستخدام أمر تكوين واجهة مشاركة النطاق الترددي لقائمة الانتظار.
في الوضع المشترك، تتشارك قوائم الانتظار في عرض النطاق الترددي فيما بينها استنادا إلى الأوزان التي تم تكوينها. يتم ضمان النطاق الترددي على هذا المستوى ولكن لا يقتصر على ذلك. على سبيل المثال، إذا كانت قائمة الانتظار فارغة ولم تعد تتطلب مشاركة في الارتباط، فيمكن لقوائم الانتظار المتبقية التوسع في النطاق الترددي غير المستخدم ومشاركته فيما بينها.
مشاركة النطاق الترددي لقائمة انتظار SRR الوزن 1 الوزن 2 الوزن 3 الوزن 4
تم ضمان Queue1 بحد أدنى من الوزن 1/(الوزن 1 + الوزن 2 + الوزن 3 + الوزن 4) نسبة مئوية من النطاق الترددي العريض ولكن يمكن أن يستهلك أيضا في النطاق الترددي لقوائم الانتظار الأخرى غير الشكل إذا لزم الأمر.
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
18-May-2013 |
الإصدار الأولي |