تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يوضح هذا المستند أسباب عمليات رفض الإدخال وحلول هذه العمليات ل Cisco Nexus 9500-R EoR و Nexus 3000-R ToR. يشير تجاهل الإدخال إلى عدد الحزم التي سقطت في قائمة انتظار الإدخال بسبب الازدحام. يتضمن هذا الرقم حالات السقوط التي تحدث بسبب سقوط الذيل والكشف المبكر العشوائي المرجح (WRED).
إذا واجهت حالات سقوط عشوائي/متفرقة/تاريخية (أي لم تعد تحدث)، فيرجى الاتصال ب Cisco TAC لمزيد من التحقيق. تكون هذه العملية مفيدة عندما يتزايد عدد مرتجعات الإدخال بشكل متكرر.
تستخدم الفئة R بنية VOQ لدخول النظام. تحاكي بنية VOQ قوائم انتظار الخروج في مخزن الدخول المؤقت مع قوائم الانتظار الظاهرية. يحتوي كل منفذ مخرج على ثماني قوائم انتظار لحركة مرور البث الأحادي وثماني قوائم انتظار لحركة مرور البث المتعدد. يمكن تصنيف حركة المرور في فئات حركة المرور استنادا إلى قيمة نقطة رمز الخدمة (CoS) أو نقطة رمز الخدمات المميزة (DSCP) في الحزم ثم قوائم الانتظار في قائمة الانتظار الظاهرية المقابلة لفئة حركة المرور هذه.
تستخدم الفئة R آلية ائتمان موزعة لنقل حركة المرور عبر البنية. قبل أن تتم جدولة الحزمة لترك VOQ، يطلب مجدول المخزن المؤقت للمدخل اعتمادا للمنفذ المحدد والأولوية في مخزن الخروج المؤقت. يتم طلب الائتمان من مجدول ائتمان مدخل لمنفذ الوجهة والأولوية. إذا كانت مساحة التخزين المؤقت متاحة، فإن مجدول الخروج يمنح الوصول ويرسل منحة الائتمان إلى مجدول المخزن المؤقت المدخل. إذا لم تتوفر مساحة عازلة في المخزن المؤقت للمخرج، لا يمنح جدول المخرج ائتمانا، ويتم تخزين حركة المرور مؤقتا في VOQ حتى يتوفر الائتمان التالي.
فيما يلي تدفقات إعادة توجيه الحزمة للنظام الأساسي -R. في هذا المقال، تركز على مكون مدير حركة مرور الدخول. المزيد من التفاصيل حول البنية في هذا الرابط
مدخل حركة مرور مدير (ITM) كتلة في المدخل خط. حيث تقوم بتنفيذ الخطوات المتعلقة بحركة مرور قائمة الانتظار في VOQ، وجدولة حركة مرور البيانات للبث عبر البنية، وإدارة الاعتمادات.
تقوم الكتلة المخزن المؤقت ل VOQ المدخل بإدارة كل من المخزن المؤقت للحزمة على الشريحة والمخزن المؤقت للحزم خارج الشريحة. يستخدم كلا المخازن المؤقتة بنية VOQ، ويتم وضع حركة مرور البيانات في قائمة الانتظار استنادا إلى المعلومات الواردة من IRPP (معالج حزمة إستقبال الدخول). يتوفر ما مجموعه 96000 VOQs لحركة مرور البث الأحادي والبث المتعدد.
قبل أن يتم إرسال الحزمة من خط أنابيب المدخل، الربط يحتاج أن يكون مجدول للتحويل عبر البناء. يرسل المجدول المدخل طلب ائتمان إلى المجدول مخرج موجود في المخرج حركة مرور مدير كتلة. عندما المدخل حركة مرور يستلم مدير الائتمان، هو يبدأ يرسل حركة مرور إلى المدخل يبث ربط معالج. إذا كان مخزن الخروج المؤقت ممتلئا، فسيتم تخزين حركة المرور مؤقتا في قائمة الانتظار المخصصة الممثلة بمنفذ المخرج وفئة حركة المرور.
بشكل عام، يمكن ملاحظة مرتجعات الإدخال للأسباب التالية عبر أجهزة Nexus المختلفة
PID |
N9K-X9636C-R |
N9K-X9636Q-R |
N9K-X9636C-RX |
N9K-X96136YC-R |
N3K-C36180YC-R |
N3K-C3636C-R |
خلال هذه المقالة، ستتغير قيمة عداد "عمليات رفض الإدخال" وأي عداد داخلي للأجهزة يشير إلى نفس الأخطاء مع زيادة الأخطاء أثناء الاختبار والأوامر ذات الصلة أثناء انتزاعها مباشرة.
هذه الخطوة مفيدة لاحقا.
في حالتنا، تكون قائمة الانتظار 7، قائمة الانتظار الافتراضية - هناك 8 قوائم انتظار إجمالية عند الدخول:
Nexus-R# bcm-shell mod 1 "diag counters g" | /|\ | J E R I C H O N E T W O R K I N T E R F A C E | \|/ | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | NBI | | RX_TOTAL_BYTE_COUNTER = 10,616,663,796 | TX_TOTAL_BYTE_COUNTER = 41,136 | | RX_TOTAL_PKT_COUNTER = 10,659,301 | TX_TOTAL_PKT_COUNTER = 606 | | RX_TOTAL_DROPPED_EOPS = 0 | | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | IRE | EPNI | | CPU_PACKET_COUNTER = 606 | | | NIF_PACKET_COUNTER = 10,659,302 | EPE_BYTES_COUNTER = 41,136 | | OAMP_PACKET_COUNTER = 0 | EPE_PKT_COUNTER = 606 | | OLP_PACKET_COUNTER = 0 | EPE_DSCRD_PKT_CNT = 0 | | RCY_PACKET_COUNTER = 0 | | | IRE_FDT_INTRFACE_CNT = 0 | | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | IDR | EGQ | | | | | MMU_IDR_PACKET_COUNTER = 10,659,302 | FQP_PACKET_COUNTER = 606 | | IDR_OCB_INTERFACE_COUNTER = 0 | PQP_UNICAST_PKT_CNT = 606 | | | PQP_DSCRD_UC_PKT_CNT = 0 | | | PQP_UC_BYTES_CNT = 48,408 | +-------------------------------------------+-------------------------------------------| PQP_MC_PKT_CNT = 0 | | IQM | PQP_DSCRD_MC_PKT_CNT = 0 | | | PQP_MC_BYTES_CNT = 0 | | ENQUEUE_PKT_CNT = 1,403,078 | EHP_UNICAST_PKT_CNT = 606 | | DEQUEUE_PKT_CNT = 1,403,078 | EHP_MC_HIGH_PKT_CNT = 0 | | DELETED_PKT_CNT = 0 | EHP_MC_LOW_PKT_CNT = 0 | | ENQ_DISCARDED_PACKET_COUNTER = 9,256,829 | DELETED_PKT_CNT = 0 | | Rejects: PORT_AND_PG_STATUS | | | | RQP_PKT_CNT = 606 | | | RQP_DSCRD_PKT_CNT = 0 | | | PRP_PKT_DSCRD_TDM_CNT = 0 | | | PRP_SOP_DSCRD_UC_CNT = 0 | | | PRP_SOP_DSCRD_MC_CNT = 0 | | | PRP_SOP_DSCRD_TDM_CNT = 0 | | | EHP_MC_HIGH_DSCRD_CNT = 0 | | | EHP_MC_LOW_DSCRD_CNT = 0 | | | ERPP_LAG_PRUNING_DSCRD_CNT = 0 | | | ERPP_PMF_DISCARDS_CNT = 0 | | | ERPP_VLAN_MBR_DSCRD_CNT = 0 | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | | FDA | | | CELLS_IN_CNT_P1 = 0 | CELLS_OUT_CNT_P1 = 0 | | | CELLS_IN_CNT_P2 = 0 | CELLS_OUT_CNT_P2 = 0 | +-------------------------------------------+-------------------------------------------| CELLS_IN_CNT_P3 = 0 | CELLS_OUT_CNT_P3 = 0 | | IPT | CELLS_IN_TDM_CNT = 0 | CELLS_OUT_TDM_CNT = 0 | | | CELLS_IN_MESHMC_CNT = 0 | CELLS_OUT_MESHMC_CNT = 0 | | EGQ_PKT_CNT = 606 --> CELLS_IN_IPT_CNT = 606 | CELLS_OUT_IPT_CNT = 606 | | ENQ_PKT_CNT = 1,403,084 | EGQ_DROP_CNT = 0 | | FDT_PKT_CNT = 1,402,472 | EGQ_MESHMC_DROP_CNT = 0 | | CRC_ERROR_CNT = 0 | EGQ_TDM_OVF_DROP_CNT = 0 | | CFG_EVENT_CNT = 606 * | | | CFG_BYTE_CNT = 48,408 | | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | FDT | FDR | | IPT_DESC_CELL_COUNTER = 5,609,892 | P1_CELL_IN_CNT = 0 | | IRE_DESC_CELL_COUNTER = 0 | P2_CELL_IN_CNT = 0 | | | P3_CELL_IN_CNT = 0 | | TRANSMITTED_DATA_CELLS_COUNTER = 5,609,892 | CELL_IN_CNT_TOTAL = 0 | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | /|\ | J E R I C H O F A B R I C I N T E R F A C E | \|/ |
يشير QUEUE_DELETED_PACKET_COUNTER الذي يكون أكبر من صفر إلى حذف الحزم بواسطة IQM (مدخل إدارة قوائم الانتظار) بعد Queue. قد يرجع ذلك إلى قائمة انتظار نشطة لا تتلقى أية أرصدة قد تشير إلى تكوين غير صحيح لنظام الجدولة. يمكنك التحقق من ذلك عبر BCM-Shell mod X "getReg IQM_QUEUE_DELETED_PACKET_COUNTER"
يعني ENQ_DISCARD_PACKET_COUNTER أنه تم تجاهل الحزم قبل Enqueue. يمكنك أن ترى مجموعة العداد هذه في BCM أيضا (تم مسح الأمر عند القراءة):
يمكنك دائما ملاحظة ذلك بسرعة باستخدام الوحدة النمطية X للأخطاء الداخلية بالأجهزة (الأمر يمسح عند القراءة):
عرض ETH1/33 على هذا المثال. في شبكة فعلي، أنت لن تعرف الزحام ميناء بعد.
يبدي هذا أمر لنا تفاصيل للتدفق لمدخل VoQ لميناء خاص. بالإضافة إلى ذلك، فإنه يظهر لنا رصيد الائتمان الحالي ل VoQ.
يتم اشتقاق VOQ الخاص بالمنفذ بهذه الطريقة:
قوائم التحكم في الوصول (LC) تستند إلى 0 - الوحدة النمطية 1 هي 0، الوحدة النمطية 2 هي 1، وما إلى ذلك
هناك 256 معرف منفذ نظام لكل LC
ID = (LC * معرف منفذ النظام) + رقم FP
ETH1/9 = (0 * 256) + 9 = 9
معرف VOQ = 32 + (معرف منفذ النظام * 8)
ETH1/9 = 32 + (9 * 8) = 104
بالتالي سيكون VOQ الخاص بنا ل ETH1/9 104 الذي يطابق الناتج الذي تم تجميعه سابقا
إذا كانت قائمة الانتظار 303، فتذكر أن هذه قوائم الانتظار هي في الواقع مدى حتى يمكن أن يكون 303 + 7 أو 303-7 - السؤال هو، أي منفذ له VOQ تطابق على نطاق 296-303 أو بدلا من ذلك، 303-310؟
من المعروف أن الصف 7 على ETH1/9 مزدحم، لذلك 303 في الواقع هو الأعلى في نطاقه لذلك فإن نطاق 296-303 هو تخمين متعلم.
قم بعرض نفس الشيئ على ASIC 0 - غير معروض هنا للإيجاز؛ سوف تلاحظ تحت عمود Voq أن نطاق اهتماماتك ليس في ASIC هذا
لاحظ بعض الأشياء في الإخراج أعلاه:
عند هذه النقطة، تكون قد عثرت على المنفذ المكتظ بالمخرج - حدد ما إذا كان هناك شيء يتم إثارته بشكل غير صحيح في الشبكة، وقد قمت بتكوين فسحة بين دعامتين وميناء الوجهة هو 1G أثناء توفير واجهة واحدة أو أكثر من 10G أو إذا كانت هذه مشكلة في التصميم/الازدحام.
هذا أكثر تقدما - لا يحتاج أن يجد مخرج احتقنت ميناء في السيناريوهات العادية.
attach module X show hardware internal jer-usd tm_debug asic <slot> module <module> show hardware internal jer-usd info voq [ asic <instance> ] [ port <port> ] [ ] show hardware internal jer-usd info non-empty voq asic [ <instance> ] [ ] show hardware internal jer-usd info voq-profile { QueueThreshold drop_p <dp> | OCBThreshold } [ asic <instance> ] [ port<port> ] [ ] show hardware internal jer-usd info voq-connector front-port <port> [ ] show hardware internal jer-usd stats vsq { front-port <port> | inband asic <slot> | recycle-port <port> asic <slot> } show hardware internal jer-usd ingress-vsq buffer-occupancy front-port <port> show hardware internal jer-usd info IQM { counter | rate } asic <instance> dst-port <port> [ interval <int> ] [ ] show hardware internal jer-usd info SCH { counter | rate } asic <instance> dst-port <port> [ interval <int> ] [ ]
bcm-shell mod X
diag cosq print_flow_and_up dest_id=<flow_id>
diag cosq voq id=<voqid> detailed=1
diag cosq qpair e2e ps=<id>
cosq conn ing
cosq conn egr
dump IPS_CR_BAL_TABLE <voqID>
getReg IQM_QUEUE_MAXIMUM_OCCUPANCY_QUEUE_SIZE
ضع في الاعتبار هذه الطوبولوجيا التي يرسل فيها مولد حركة المرور 2G من حركة المرور تجاه كل خادم:
تحقق بسرعة من أي قوائم الانتظار غير فارغة - لاحظ أن هناك 4:
حدد الواجهات التي تنتمي إليها قوائم الانتظار هذه - تحقق من ASIC 0 أولا (تظهر فقط مع واجهة واحدة):
كرر نفس العملية للقيم الثلاث الأخرى لقائمة الانتظار: 247 و 303 و 351.
يثبت ETH1/33 كفسحة بين دعامتين غاية ميناء بينما يثبت ETH1/9 كفسحة بين دعامتين مصدر ميناء في Rx إتجاه
إرسال الحزم باستخدام SRC 10.10.10.10 و DEST 192.168.10.10 حيث يكون ETH1/9 في 10.10.10.1/24 - لا يؤدي هذا إلى تجاهل الإدخال؛ ومع ذلك، فأنت ترى هذا العداد:
Nexus-R# bcm-shell mod 1 "diag counters g" | /|\ | J E R I C H O N E T W O R K I N T E R F A C E | \|/ | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ _PACKET_COUNTER = 0 | DELETED_PKT_CNT = 12,027,201 | | | Discards: INVALID_OTM SRC_EQUAL_DEST +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+
قم بإرسال الحزم باستخدام SRC 10.10.10.10 و DEST 192.168.10.10 حيث يكون ETH1/9 في 10.10.10.1/24 ويكون ETH1/33 منفذ L3 في الشبكة الفرعية 172.16.0.1/30 - بدون عداد إسقاط، لا يتم تجاهل الإدخال حتى عندما تكون الوجهة غير معروفة.
إرسال الحزم حيث يكون ETH1/9 مجرد خط اتصال واسع (أو منفذ منفذ ميناء) - يتم تسجيل هذا كإدخال تجاهل بينما يتم تحويل المنفذ إلى حالة إعادة توجيه STP.
Nexus-R(config)# int e1/9
Nexus-R(config-if)# switchport mode trunk
Nexus-R# bcm-shell mod 1 "diag counters g" | i i --|IQM|ENQ_DISCARD|Rejects +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ +-------------------------------------------+-------------------------------------------| PQP_MC_PKT_CNT = 1,678,949 | | IQM | PQP_DSCRD_MC_PKT_CNT = 11,369,033 | | ENQ_DISCARDED_PACKET_COUNTER = 1,289,182 | DELETED_PKT_CNT = 11,369,081 | | Rejects: QUEUE_NOT_VALID_STATUS | Discards: SRC_EQUAL_DEST | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+
Nexus-R# show span int e1/9
Vlan Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
VLAN0001 Desg BLK 2 128.9 P2p
VLAN0010 Desg BLK 2 128.9 P2p
<snip>
QUEUE_NOT_VALID_STATUS عبارة عن عملية إسقاط بسبب قرار معالج الحزمة (PP) بالإفلات أو وجهة غير صحيحة تم تلقيها من كتل معالج الحزمة (PP).
إرسال 10G+ إلى ETH1/9 سينتج عنه نوع مختلف من الإسقاط بينما تقوم بتفريغ ETH1/9 في المقام الأول - لا يزال يتم حسابه كنبذ إدخال:
bcm-shell.0> diag counters g | /|\ | J E R I C H O N E T W O R K I N T E R F A C E | \|/ | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | NBI | | RX_TOTAL_BYTE_COUNTER = 53,913,106,009 | TX_TOTAL_BYTE_COUNTER = 1,164,231 | | RX_TOTAL_PKT_COUNTER = 54,145,395 | TX_TOTAL_PKT_COUNTER = 17,029 | | RX_TOTAL_DROPPED_EOPS = 0 | | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | IRE | EPNI | | CPU_PACKET_COUNTER = 17,010 | | | NIF_PACKET_COUNTER = 54,145,476 | EPE_BYTES_COUNTER = 5,721,307 | | OAMP_PACKET_COUNTER = 0 | EPE_PKT_COUNTER = 50,703 | | OLP_PACKET_COUNTER = 0 | EPE_DSCRD_PKT_CNT = 0 | | RCY_PACKET_COUNTER = 16,837 | | | IRE_FDT_INTRFACE_CNT = 0 | | +-------------------------------------------+-------------------------------------------+-------------------------------------------+-------------------------------------------+ | IDR | EGQ | | | | | MMU_IDR_PACKET_COUNTER = 54,128,577 | FQP_PACKET_COUNTER = 50,703 | | IDR_OCB_INTERFACE_COUNTER = 0 | PQP_UNICAST_PKT_CNT = 50,683 | | | PQP_DSCRD_UC_PKT_CNT = 0 | | | PQP_UC_BYTES_CNT = 5,216,716 | +-------------------------------------------+-------------------------------------------| PQP_MC_PKT_CNT = 20 | | IQM | PQP_DSCRD_MC_PKT_CNT = 20 | | | PQP_MC_BYTES_CNT = 2,079 | | ENQUEUE_PKT_CNT = 5,463,323 | EHP_UNICAST_PKT_CNT = 50,683 | | DEQUEUE_PKT_CNT = 5,594,400 | EHP_MC_HIGH_PKT_CNT = 20 | | DELETED_PKT_CNT = 0 | EHP_MC_LOW_PKT_CNT = 0 | | ENQ_DISCARDED_PACKET_COUNTER = 48,716,055 | DELETED_PKT_CNT = 40 | | Rejects: VOQ_MX_QSZ_STATUS | | <snip>