المقدمة
يوضح هذا المستند كيفية معالجة موجهات ASR920/RSP2 لأولويات جودة الخدمة وكيفية تكوينها.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- الموجهات من السلسلة ASR 920
- سياسات جودة الخدمة
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى ASR 9xx مع موجه RSP2 الذي يشغل الإصدار 16.x حتى 17.x من البرنامج.
يتم إستخدام مولد حركة مرور لاختبار الوظائف التي تتعامل مع حزم الأولوية.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
مشاكل
يتناول هذا المستند هذه المشاكل الخاصة بالموجهات المستندة إلى ASR 920 و RSP2:
- سقطت حزم الأولوية عند ميزة حزم أفضل الجهود بسبب تقييد ASIC على RSP2
- كيفية حساب نسبة عرض النطاق الترددي لتقديمها في أحد الفئات
الحزم ذات الأولوية التي يتم إسقاطها في ميزة حزم أفضل الجهود
أثناء الاختبار، تم تحديد أنه يمكن إسقاط حزمة الأولوية في ميزة حزمة أفضل جهد. وهذا يظهر عندما تصل حركة المرور الواردة من خلال واجهة ذات سرعة أعلى من واجهة المخرج وتتسبب في زيادة الاشتراك في إتجاه الإخراج. على سبيل المثال، عند تلقي حركة مرور البيانات بسرعة 5 جيجابت في الثانية والحاجة إلى إعادة التوجيه عبر واجهة بسرعة 1 جيجابت في الثانية.
وهذا صحيح بنفس القدر لواجهات الخروج التي تم تكوينها باستخدام شاغر. في حال كانت سرعة الدخول أعلى من CIR الذي تم تكوينه في أولوية المخرج، يمكن مع ذلك إسقاط الحزمة بميزة حزمة الجهد الأفضل.
ملاحظة: هناك حد ASIC لا يمكن أن يكون لدينا تابع أولوية لوالد غير ذي أولوية.
إذا تم تكوين قائمة انتظار على أنها أسرع ولم تكن القناة الفرعية الأصلية الخاصة بها، فهناك توتر في قائمة الانتظار ذات الأولوية بسبب أزمنة انتقال التحكيم على مستوى القناة الفرعية.
الحل
- تكوين EFP
- تطبيق شكل على القيمة الفعلية
- تطبيق جودة الخدمة المطلوبة على EFP
- تطبيق اتصال IP في واجهة BDI
مثال:
configuration with issue
-------------------------
interface GigabitEthernet0/0/0
description this is my egress interface
service-policy output PM-1G-Out
configuration without issue
---------------------------
interface GigabitEthernet0/0/0
description this is egress interface
service-policy output POL-PRIO-MAIN-1G ==> shaper, useful to allow internal priority like BDF
service instance 200 ethernet
encapsulation dot1q 200
rewrite ingress tag pop 1 symmetric
service-policy output PM-1G-Out ==> the original QoS previously applied in the physical interface
bridge-domain 200
!
interface BDI200 ==> BDI must match the bridge-domain defined under the service-instance
description this is L3 egress
ip address 10.20.2.45 255.255.255.0
ip mtu 9000
==> no QoS applied under the BDI, all QoS are in the service-instance with a backpressure of the shaper in the physical
مع هذا التكوين، تم ترتيب أولويات جميع حزم الأولوية بشكل صحيح ولم يتم إسقاط أي منها عند ميزة حزمة أفضل الجهود، ومع ذلك، فأنت بحاجة إلى حساب النطاق الترددي المخصص بشكل صحيح.
كيفية حساب نسبة عرض النطاق الترددي لتقديمها في أحد الفئات
لدى تخصيص عرض النطاق الترددي في منصة RSP2 أيضا سلوك معين. وفي الكثير من الأحيان يتم ملاحظة حالات السقوط أثناء تهيئة جودة الخدمة كمنصات أخرى.
على سبيل المثال، إذا قمت بتكوين جودة الخدمة باستخدام مصنف بسرعة 2 ميجابت في الثانية في موجه ASR1K، فإنها لا تسقط قبل الوصول إلى 2 ميجابت في الثانية، ولا هي قوائم انتظار الحزم في الفئة. ومع ذلك، يحدث ذلك مع RSP2.
وفي حالات كثيرة، لا تبلغ السرعة المعروضة حتى الحد الاقصى المسموح به عندما ترى السقطات مسبقا.
هذا مثال نموذجي على ما يمكن رؤيته على RSP2، بينما نفس القيم لنفس حركة المرور المطبقة على نظام أساسي آخر لن تظهر أي إسقاط:
ASR903#show ethernet service instance policy-map | s EXP-5
Class-map: EXP-5 (match-all)
58803127 packets, 5488269944 bytes
5 minute offered rate 279000 bps, drop rate 35000 bps
Match: mpls experimental topmost 5
Priority: 3% (297 kbps), burst bytes 37000, b/w exceed drops: 60373
Priority Level: 1
ترجع المشكلة إلى الطريقة التي يتم بها التعامل مع حركة المرور في الجهاز. وبشكل أساسي، لا يأخذ تنفيذ أجهزة RSP2 في الاعتبار الطبقة 3 فقط بل الإطار بالكامل، مما يعني أن جميع الرؤوس يتم أخذها في الاعتبار.
إختبار أولوية جودة خدمة RSP2
في هذه الحالة، يتم إستخدام حركة مرور CEM لاختبار سلوك الأولوية.
هذا مثال يوضح كيفية تكوين الأولوية لتجنب حالات الإسقاط بميزة بذل أقصى الجهود وضبط تخصيص عرض النطاق الترددي.
التكوين
policy-map POL-PRIO-MAIN-1G
class class-default
shape average 8650000
!
policy-map PM-MPLS-1G-Out
class EXP-5
priority level 1 percent 4
class EXP-4
priority level 2 percent 24
class EXP-6
bandwidth percent 2
queue-limit 25000 us
class EXP-3
bandwidth percent 2
queue-limit 10000 us
class EXP-2
bandwidth percent 2
queue-limit 50000 us
class EXP-1
bandwidth percent 2
queue-limit 20000 us
class class-default
bandwidth percent 1
queue-limit 40000 us
!
interface GigabitEthernet0/0/0
no ip address
negotiation auto
service-policy output POL-PRIO-MAIN-1G
service instance 200 ethernet
encapsulation dot1q 200
rewrite ingress tag pop 1 symmetric
service-policy output PM-MPLS-1G-Out
bridge-domain 200
!
interface CEM0/1/8
no ip address
cem 0
service-policy input PM-CEM-in
payload-size 128
dejitter-buffer 20
!
interface CEM0/1/9
no ip address
cem 0
service-policy input PM-CEM-in
payload-size 64
dejitter-buffer 16
!
interface BDI200
description path for qos stress
ip address 10.20.2.45 255.255.255.0
ip mtu 9000
ip router isis
carrier-delay msec 0
cdp enable
mpls traffic-eng tunnels
bfd template BFD-1hop-5ms
isis circuit-type level-2-only
isis network point-to-point
isis metric 15 level-1
isis metric 15 level-2
ip rsvp bandwidth percent 90
ip rsvp signalling hello graceful-restart
حركة المرور
2 يخلق تيار من حركة المرور ب CEM0/1/8 بالأحمر و CEM0/1/9 بالأخضر:
يمكننا أن نرى السلوك مع حجم حزمة مختلف، يرسل CEM0/1/9 ضعف ما يرسل من ربط CEM0/1/8، أي يكون شكلت ل 128 بايت.
عادة، تضع تهيئة جودة الخدمة على RP في الاعتبار حمولة CEM فقط، بينما يأخذ RSP2 في الاعتبار الإطار بالكامل بدلا من ذلك.
مثال على الإطار
يمكنك رؤية 30 بايت إضافية للحمولة الأصلية المكونة ضمن CEM. ويمكن شرح ذلك على النحو التالي:
Ethernet header = 14 Bytes
Dot1q header = 4 Bytes
Mpls header = 4 Bytes
PW Header = 4 Bytes
CEM trailer = 4 Bytes
Total = 30 Bytes
حساب النطاق الترددي المطلوب في الجهاز، تذكر بأنه يجب مراعاة الإطار:
CEM 0/1/8 125 Packet/sec, size 128bytes ==> 125*128*8 = 128000 bps
CEM 0/1/9 250 Packet/sec, size 64bytes ==> 250*64*8 = 128000 bps
on each frame we need an extra 30bytes ==> 375*30*8 = 90000 bps
Total = 346000 bps
للتحقق من سلوك المدبر ودقته على الواجهة التي تم تكوينها على 8650000 بت في الثانية، يتم القيام بذلك للحصول على 4٪ بالضبط لفئة الأولوية.
الحساب: 346000.000/8650000.000 = 0.04 = 4٪.
وهذا ما يظهر في التكوين أعلاه. وتؤكد النتائج أن التكوين والحساب دقيقان.
إخراج النهج:
ASR903#show ethernet service instance policy-map | s EXP-5
Class-map: EXP-5 (match-all)
3063745 packets, 285949512 bytes
5 minute offered rate 279000 bps, drop rate 0000 bps
Match: mpls experimental topmost 5
Priority: 4% (346 kbps), burst bytes 8650, b/w exceed drops: 0
Priority Level: 1
346 كيلوبت في الثانية المطبقة في مستقل عن النظام الأساسي هي أكثر بكثير من L3 لكنها تماما تمثل حركة مرور L2.
إختبار مع مولد حركة مرور
مولد حركة مرور البيانات —> واجهة TenGig —> ASR9xx RSP2 —> ينتج 1G حيث يتم تطبيق السياسة.
ASR903#show clock
22:54:40.976 CET Wed Nov 30 2022
ASR903#show ethernet service instance policy-map | inc Class-map:|drop rate
Class-map: EXP-5 (match-all)
5 minute offered rate 279000 bps, drop rate 0000 bps
Class-map: EXP-4 (match-all)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: EXP-6 (match-any)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: EXP-3 (match-any)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: EXP-2 (match-all)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: EXP-1 (match-any)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: class-default (match-any)
5 minute offered rate 762348000 bps, drop rate 756024000 bps
ASR903#show clock
17:41:16.110 CET Thu Dec 1 2022
ASR903#show ethernet service instance policy-map | inc Class-map:|drop rate
Class-map: EXP-5 (match-all)
5 minute offered rate 279000 bps, drop rate 0000 bps
Class-map: EXP-4 (match-all)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: EXP-6 (match-any)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: EXP-3 (match-any)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: EXP-2 (match-all)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: EXP-1 (match-any)
5 minute offered rate 0000 bps, drop rate 0000 bps
Class-map: class-default (match-any)
5 minute offered rate 762400000 bps, drop rate 756077000 bps
بعد حوالي 18 ساعة لم يكن هناك انخفاض واحد في الأولوية، على الرغم من أن هناك الكثير من حالات السقوط على الواجهة، كما هو موضح في معدل الهبوط من تقصير الفئة، وذلك بسبب CIR الخاص بالحد المسموح به للشاغر.
لاحظ أن الحد الافتراضي لقائمة الانتظار تم إستخدامه: من أجل ضبط النطاق الترددي لدعم حجم إطار L2 بالكامل، لا تحتاج إلى ضبط قوائم الانتظار.
إختبار سالب
إختبار آخر للتحقق من الدقة الجيدة هو حذف 4 بايت من مقطورة CEM ومعرفة ما إذا حدثت عمليات إسقاط صغيرة:
ASR903#show ethernet service instance policy-map | s EXP-5
Class-map: EXP-5 (match-all)
352466 packets, 32896848 bytes
5 minute offered rate 279000 bps, drop rate 5000 bps
Match: mpls experimental topmost 5
Priority: 4% (334 kbps), burst bytes 8350, b/w exceed drops: 271
Priority Level: 1
كما ترى، إذا قمت بحذف جزء من ذلك الإطار فإنه يسبب قطرات.
كونكلوسونات
يؤكد هذا الاختبار مع حركة مرور CEM أنه يجب أخذ إطار L2 بالكامل في الاعتبار لحساب النطاق الترددي.
تتمثل إحدى النتائج في زيادة حد قائمة الانتظار، ولكن من الواضح أن الحساب الصحيح لإطار L2 يقلل من الضغط على موارد الذاكرة المستخدمة من قبل النظام الأساسي.
من الواضح أنه لا يمكن التنبؤ بجميع حركة المرور في كل نقطة في الوقت المناسب، مثل النقل باستخدام حجم الحزمة المتغير. للحصول على تكوين دقيق، يلزمك مراعاة رؤوس إيثرنت، dot1q(s)، علامة (علامات) MPLS إلى متوسط حجم الحزمة وكذلك معدل الحزم.
فيما يتعلق بأي حركة مرور تعبر ASIC لبروتوكول RSP2، يلزمك أن تكون على دراية بكل بايت فردي موجود في إطار يتم إرساله خارج النظام الأساسي (مع عدم تضمين CRC).