يشرح هذا المستند سبب قيام الموجه لديك بالإبلاغ عن رسائل السجل المتعلقة ب IPC وكيفية أستكشاف هذه المشكلة وإصلاحها. ويتضمن هذا المستند أيضا إستعراضا لمصطلحات IPC.
يجب أن يكون لدى قراء هذا المستند معرفة بالمواضيع التالية:
إدارة موجه Cisco
IPC ومصطلحاته
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
جميع إصدارات برنامج Cisco IOS® التي تدعم موجهات السلسلة 12000 و 1000 و 7600 و 7500 من Cisco.
الموجهات من السلسلة 12000 و 1000 و 7600 و 7500 من Cisco.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
راجع اصطلاحات تلميحات Cisco التقنية للحصول على مزيد من المعلومات حول اصطلاحات المستندات.
توفر وحدة الاتصال بين العمليات (IPC) ببرنامج Cisco IOS software بنية أساسية للاتصال يمكن من خلالها للعمليات في النظام الموزع التفاعل مع بعضها البعض. كما توفر إمكانية اتصال شفافة عبر المستويات الخلفية والشبكات والذاكرة المشتركة.
تعمل خدمات IPC كوسائل تتصل من خلالها بطاقات الخط (LCs) ومعالج المسار المركزي (RP) في نظام موزع ببعضها البعض من خلال تبادل رسائل IPC التي يتم إرسالها من RP إلى LCs، وأيضا بين RP النشطة والاحتياطية. تتضمن هذه الرسائل أوامر التكوين والاستجابات إلى هذه الأوامر، وأيضا "الأحداث" التي يلزم الإبلاغ عنها بواسطة وحدة التحكم في الوصول (LC) إلى RP.
تستخدم السلسلة Cisco 12000، السلسلة Cisco 10000، السلسلة Cisco 7600، وسلسلة Cisco 7500، بنية موزعة استنادا إلى رسائل IPC. في حالات نادرة، قد تقوم هذه الموجهات بالإبلاغ عن رسائل السجل المتعلقة ب IPC هذه:
السلسلة Cisco 12000 Series - ٪IPC-3-NOBUFF: تم إفراغ ذاكرة التخزين المؤقت الرئيسية لرؤوس رسائل IPC
السلسلة Cisco 7500 Series - ٪IPC_RSP_CBUS-3-NOBUF: لا مزيد من المخازن المؤقتة لذاكرة IPC لإرسال رسالة IPC
ملاحظة: يتم إستخدام IPC أيضا على السلسلة Cisco 6400 Series و Cisco 7304 Series.
إن مصطلحات IPC الأكثر شيوعا هي:
IPC - الاتصال بين العمليات.
عنوان IPC - كلمة 32 بت تتألف من معرف مقعد 16 بت ومعرف منفذ 16 بت.
IPC Client - وحدة برمجية تستخدم خدمات IPC.
IPC Port - نقطة نهاية اتصال ضمن IPC تستخدم كمصدر ووجهة جميع الاتصالات.
مقعد IPC - يعد مقعد IPC عنصرا حسابيا، مثل المعالج، يمكن توصيله بمساعدة IPC. يوجد مقعد IPC حيث يتواجد عملاء IPC والمنافذ.
جلسة IPC - جلسة IPC هي قناة اتصال بسيطة نشطة بين منفذي IPC.
يحدث كل الاتصالات التي تستخدم IPC بين منافذ IPC. المنفذ هو نقطة نهاية اتصال في IPC. يقترن كل منفذ IPC بعنوان منطقي يسمى عنوان IPC. يستخدم IPC عنوان IPC لمنفذ IPC كعنوان إرجاع عندما يرسل رسائل IPC، أو عنوان وجهة عندما يستلم رسائل IPC.
يتم تعيين عناوين IPC لمنافذ IPC بواسطة مدير مقعد IPC المحلي. المقعد هو المعالج الذي يتم تنفيذ بروتوكول IPC عليه حاليا. مدير المقر هو عملية تحافظ على قائمة بمنافذ IPC المحلية وخدمة الاسم المحلي، كما تحافظ على جلسات اتصال IPC المفتوحة.
عند إنشاء منفذ IPC، يقوم عميل IPC بتعيين اسم منفذ لمنفذ IPC. آخر IPC زبون يستطيع بعد ذلك استعملت ميناء إسم عندما هم يشيرون ال newly created IPC ميناء. اسم المنفذ هو سلسلة من الأحرف التي تتكون من اسم مقعد ووظيفة منفذ أو وصف.
يتمتع Cisco IPC ثلاثة مستويات مختلفة من الموثوقية على التسليم إلى منفذ ما؛ يتم تحديد ذلك عند فتح المنفذ.
موثوق به: إيصال الرسالة مضمون. عند الفشل، ستتم إعادة محاولة التسليم.
لا يمكن الاعتماد عليه: يعد التسليم محاولة لبذل أقصى الجهود. لا يوجد ما يشير إلى فشل التسليم.
غير موثوق به مع الإخطار: تسليم الرسالة غير مضمون. ومع ذلك، يتلقى المرسل إشعارا بالفشل.
يعرض الأمر show ipc node مقاعد IPC الموجودة في ما يسمى نطاق IPC.
Router#show ipc nodes There are 3 nodes in this IPC realm. ID Type Name Last Last Sent Heard 10000 Local IPC Master 0 0 1030000 RSP-CY RSP IPC card slot 3 7 7 1000000 RSP-CY RSP IPC card slot 0 10 10
عندما يكون RP تنفيذي موجودا، يسرد الأمر show ipc node عنوان RP، كما هو موضح في هذا النموذج من موجه من السلسلة Cisco 10000:
10k-2#show ipc nodes There are 5 nodes in this IPC realm. ID Type Name Last Last Sent Heard 10000 Local IPC Master 0 0 20000 UDP C10K Line Card slot 2/0 3 3 30000 UDP C10K Line Card slot 3/0 3 3 40000 UDP C10K Line Card slot 1/0 3 3 50000 Ethernet Slave 18 45
بعد أن يقوم بإنشاء منفذ IPC، يمكن لعميل IPC بعد ذلك تسجيل اسم المنفذ الخاص به باستخدام خدمة الاسم العام التي يتم التحكم فيها بواسطة مدير IPC.
وتسمى مجموعة من مقاعد IPC، التي تتصل ببعضها البعض، منطقة. لكل منطقة من مناطق IPC، يتم تعيين مقعد واحد ل IPC على "مدير أو مدير منطقة IPC" أو "مدير IPC الرئيسي" للاختصار. من المنطقي أن تكون جميع إتصالات مقعد IPC في بروتوكول IPC إتصالات من نقطة إلى نقطة. عادة ما تكون جميع إتصالات مقعد IPC بين RP النشط وبطاقة خط، أو RP الاحتياطي. الاتصال ببطاقة الخط إلى بطاقة الخط ممكن.
أداة ينبغي خلقت ميناء محلي حددت غاية ميناء قبل أن يتبادل أي IPC رسالة. على الرغم من أن أداة يخلق ميناء محلي، هذا ميناء لا يعتبر مصدر ميناء لأن IPC إتصال بسيط. عندما يريد ال RP أن يتصل مع LC، هو أول يفتح ميناء على ال LC (ال lc يحتاج أن يخلق الميناء وسجله مع ال IPC مدير - RP). عندما ينجح الفتح، يمكن بدء حركة مرور رسائل IPC العادية.
في السلسلة 12000 و 7500 من Cisco، يعمل معالج التوجيه، إما معالج توجيه جيجابت (GRP) أو معالج تحويل المسار (RSP)، وبطاقات الخط الذكية كنقاط نهاية IPC. يتحكم "مدير IPC" في مجموعة من المعالجات. مع تهيئة الموجه، يكتشف مدير IPC نقاط نهاية IPC الموجودة على بطاقات الخط في النظام. وللقيام بذلك، يقوم مدير IPC بفحص جميع الفتحات والتعرف على نوع وحدة التحكم وتحديد ما إذا كانت وحدة التحكم تتمتع بإمكانات IPC أم لا.
أستخدم الأمر show ipc ports لعرض هذه المنافذ. على تابع IPC، يسرد هذا الأمر المنافذ التي تم إنشاؤها على مقعد IPC المحدد. عند إصدارها على مدير IPC، يعرض هذا الأمر المنافذ التي تم إنشاؤها على المدير، وأيضا المنافذ التي تم تسجيلها بواسطة عبيد IPC (LCs). بالإضافة إلى ذلك، يسرد الأمر show ipc ports open المنافذ التي تم فتحها من مقعد IPC هذا. فيما يلي مثال للمخرجات:
router#show ipc ports There are 87 ports defined. Port ID Type Name 10000.1 unicast IPC Master:Zone 10000.2 unicast IPC Master:Echo 10000.3 unicast IPC Master:Control 10000.4 unicast IPC Master:Init port_index = 0 seat_id = 0x1020000 last sent = 0 last heard = 1 port_index = 1 seat_id = 0x1010000 last sent = 0 last heard = 1 port_index = 2 seat_id = 0x1040000 last sent = 0 last heard = 1 port_index = 3 seat_id = 0x1050000 last sent = 0 last heard = 1 port_index = 4 seat_id = 0x1060000 last sent = 0 last heard = 1 port_index = 5 seat_id = 0x1070000 last sent = 0 last heard = 1 port_index = 6 seat_id = 0x1080000 last sent = 0 last heard = 1 port_index = 7 seat_id = 0x1090000 last sent = 0 last heard = 1 port_index = 8 seat_id = 0x10A0000 last sent = 0 last heard = 1 port_index = 9 seat_id = 0x10B0000 last sent = 0 last heard = 1 port_index = 10 seat_id = 0x1030000 last sent = 0 last heard = 1 10000.5 unicast Remote TTY Server Port port_index = 0 seat_id = 0x1070000 last sent = 0 last heard = 2 port_index = 1 seat_id = 0x1010000 last sent = 0 last heard = 2 port_index = 3 seat_id = 0x1040000 last sent = 0 last heard = 2 port_index = 4 seat_id = 0x1050000 last sent = 0 last heard = 2 Port ID Type Name port_index = 5 seat_id = 0x1060000 last sent = 0 last heard = 3 port_index = 6 seat_id = 0x1080000 last sent = 0 last heard = 2 port_index = 7 seat_id = 0x1090000 last sent = 0 last heard = 2 port_index = 8 seat_id = 0x10A0000 last sent = 0 last heard = 2 port_index = 9 seat_id = 0x10B0000 last sent = 0 last heard = 2 [output omitted]
حقل port_index هو معرف الجلسة المستخدم من قبل IPC للوجهة عند معالجة الرسائل الواردة. عندما يكون RP تابع موجودا، يعرض الأمر show ipc ports معلومات المنفذ الاحتياطي، كما هو موضح في إخراج النموذج هذا:
10k-2#show ipc ports There are 16 ports defined. Port ID Type Name 10000.1 Unicast IPC Master:Zone 10000.2 Unicast IPC Master:Echo 10000.3 Unicast IPC Master:Control 10000.4 Unicast Microcode Server 10000.5 Unicast RFS Server Port 10000.6 Unicast Remote File System Server Port 10000.7 Unicast Master : TTY Server Port port_index = 0 seat_id = 0x50000 last sent = 0 last heard = 0 10000.8 Unicast C10K Line Card API port_index = 0 seat_id = 0x20000 last sent = 0 last heard = 58521 port_index = 1 seat_id = 0x30000 last sent = 0 last heard = 64235 port_index = 2 seat_id = 0x40000 last sent = 0 last heard = 13486 50000.3 Unicast Slave IPC:Control 50000.9 Unicast Secondary RFS Server Port 50000.A Unicast Secondary Old RFS Server Port 50000.8 Unicast Slave : TTY Client Port 50000.7 Unicast Secondary Services Port 50000.B Unicast IF-con server port 50000.C Unicast RF : Standby 50000.D Unicast CF : Standby
رسائل IPC هي الوحدة الأساسية للاتصالات المتبادلة بين عملاء IPC. أثناء التشغيل العادي، يتفاعل RP وبطاقات الخط بشكل متكرر من خلال رسائل IPC. تتضمن الرسالة معلومات عنونة الرأس والمصدر والوجهة وبيانات الرسالة.
في رأس IPC، يحدد IPC العديد من علامات الرسائل المختلفة التي تغير معالجة إستقبال رسالة IPC. من العلامات المحددة، أربع علامات تتعلق بنوع الاتصال المستخدم (غير موثوق به، غير موثوق به مع الإعلام، موثوق به)، وأربع أخرى تتعلق برسائل إستدعاء الإجراء البعيد (RPC)، أو معالجة التحكم الداخلي، واثنتان لا تستخدمان على الإطلاق.
فيما يلي عدد قليل من عملاء IPC:
الأوامر التي يتم إرسالها بواسطة RP لاستعلام بطاقات الخط للحصول على معلومات مثل الإصدار ومبالغ الذاكرة وإحصاءات الواجهة والتغييرات في حالة الواجهة وبيانات التكوين.
استجابات إلى الأوامر من RP، والتي يتم إرسالها من بطاقة الخط إلى RP. تتضمن أمثلة المعلومات الموجودة في رسائل IPC تحديثات الإحصائيات الموقوتة ورسائل Windows التي تشير إلى عدد رسائل IPC الإضافية التي يمكن لبطاقة الخط أن تقوم بتصنيفها.
الأحداث أو الرسائل التي تم إنشاؤها بشكل غير متزامن. الأمثلة هي الإبلاغ عن الأخطاء مثل أخطاء الإدخال والحزم الصغيرة والوحدات العملاقة، بالإضافة إلى إعداد التقارير عن الإحصائيات ومعلومات المحاسبة الأخرى، مثل عمليات تعداد وحدات البايت وحزم البيانات.
الرسائل بين RP النشط والاستعداد للتفتيش عن عملية صحيحة.
تحتاج بعض عمليات برنامج Cisco IOS software إلى تبادل المعلومات بين بطاقات الخط ومعالج التوجيه. تعتبر هذه العمليات تطبيقات IPC. تتضمن الأمثلة إعادة التوجيه السريع (CEF) من Cisco وأنظمة الملفات البعيدة لتبادل الصور بين معالجات التوجيه من السلسلة Cisco 12000.
يسرد الجدول 1 طبقات مكدس بروتوكول IPC:
الجدول 1 - طبقات مكدس بروتوكول IPCحزمة بروتوكول IPC |
---|
تطبيقات IPC |
آلية IPC نفسها |
طبقة بيانات Switch Fabric (12000 Series) أو CBUS (7500 Series) |
تقوم كل من موجهات السلسلة 7500 والسلسلة 12000 بتخصيص مجموعة خاصة من المخازن المؤقتة لتخزين رسائل IPC التي يتم وضعها في قائمة الانتظار للإرسال والتي تنتظر الإقرار من منفذ IPC الوجهة.
تستخدم السلسلة 7500 مجموعة خاصة من المخازن المؤقتة في ذاكرة حزمة النظام (MEMD). لمزيد من المعلومات حول MEMD وبنية 7500، راجع الأسباب التي أدت إلى "٪RSP-3-Restart: مجمع Cbus"؟ وفهم تشغيل وحدة المعالجة المركزية (CPU) الخاصة بالشخصيات المهمة بنسبة 99٪ والتخزين المؤقت على جانب Rx.
في السلسلة 7500، توجد قوائم انتظار IPC في ذاكرة المعالج. في بعض إصدارات برنامج Cisco IOS (راجع نموذج الإخراج أدناه)، يمكن ضبط مساحة المخزن المؤقت للتجميع الخاصة ببروتوكول IPC في ذاكرة المعالج بواسطة الأمر ipc cache size. يحتوي MEMD على بعض المخازن المؤقتة المحدودة التي لا يمكن ضبطها. عند إرسال رسالة IPC موجودة في ذاكرة المعالج، وعند وجود بعض المساحة الخالية في MEMD، يتم "نقل" رسائل IPC من ذاكرة المعالج إلى MEMD قبل إرسالها إلى LC.
أستخدم الأمر show ipc queue لعرض حالة قوائم انتظار IPC.
Router#show ipc queue There are 0 IPC messages waiting for acknowledgment in the transmit queue. There are 0 IPC messages waiting for a response. There are 0 IPC messages waiting for additional fragments. There are 0 IPC messages currently on the IPC inbound. There are 0 messages currently in use by the system.
ملاحظة: قوائم الانتظار هذه هي قوائم انتظار برامج يتم الاحتفاظ بها بواسطة IPC، ويجب عدم الخلط بينها وبين قوائم انتظار الأجهزة QA-ASIC من السلسلة 7500.
في السلسلة 12000، ترسل بروتوكول GRP رسائل IPC عبر بنية المحول. عند التمهيد، تقوم خوارزمية إنشاء المخزن المؤقت بإنشاء مجموعتين من التجمعات في ما يسمى TOFAB (جانب التلقي) و FRFAB (جانب الإرسال) الذاكرة. كما هو موضح في نموذج إخراج أمر show controller tofab queue (راجع أدناه)، فإن المجموعتين هما قوائم انتظار خالية من IPC وقوائم انتظار IPC. للحصول على إرشادات حول كيفية تفسير الإخراج، راجع موجه الإنترنت السلسلة 12000 من Cisco: الأسئلة المتكررة.
في سلسلة Cisco 12000، يخصص بروتوكول GRP عدد معين من رؤوس الرسائل في التهيئة. تم إجراء العديد من التعديلات لتحسين تخصيص الذاكرة لهذه الرؤوس.
قام برنامج Cisco IOS الإصدار 12.0(18)S/ST بزيادة العدد الافتراضي لرؤوس الرسائل التي تم إنشاؤها عند التهيئة من 1000 إلى 5000 على كل من GRP و LCs (راجع الإخراج الذي يلي). من الإصدار 12.0(23)S والإصدارات الأحدث، يسمح لذاكرة التخزين المؤقت لرأس IPC بالنمو بشكل ديناميكي. وبالتالي، لم تعد هناك حاجة إلى ضبطها يدويا.
تحافظ قوائم التحكم في الوصول على رؤوس رسائل IPC في ذاكرة الوصول العشوائي الديناميكية (DRAM). وبالإضافة إلى ذلك، قامت قوائم التحكم في الوصول (LCs) بتخصيص 100 مخزن مؤقت في ذاكرة TOFAB و FROMmfab لرسائل IPC. مع كل رسالة IPC يتم إرسالها، يجب أن تطلب LC رأس رسالة IPC من ذاكرة التخزين المؤقت، ثم إرسال طلب إلى FRFAB Buffer Management ASIC (BMA) لمخزن رسائل IPC المؤقت المراد إستخدامه لإرسال الرسالة إلى GRP عبر البنية.
LC-Slot1#show controllers tofab queues Carve information for ToFab buffers SDRAM size: 33554432 bytes, address: 30000000, carve base: 30029100 33386240 bytes carve size, 4 SDRAM bank(s), 8192 bytes SDRAM pagesize, 2 carve(s) max buffer data size 9248 bytes, min buffer data size 80 bytes 40606/40606 buffers specified/carved 33249088/33249088 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 5 non-IPC free queues: 20254/20254 (buffers specified/carved), 49.87%, 80 byte data size 1 17297 17296 20254 65535 12152/12152 (buffers specified/carved), 29.92%, 608 byte data size 2 20548 20547 12152 65535 6076/6076 (buffers specified/carved), 14.96%, 1568 byte data size 3 32507 38582 6076 65535 1215/1215 (buffers specified/carved), 2.99%, 4544 byte data size 4 38583 39797 1215 65535 809/809 (buffers specified/carved), 1.99%, 9248 byte data size 5 39798 40606 809 65535 IPC Queue: 100/100 (buffers specified/carved), 0.24%, 4112 byte data size 30 72 71 100 65535 Raw Queue: 31 0 17302 0 65535 [output omitted]
ملاحظة: راجع الجدول 2 للحصول على قائمة بإصدارات IOS التي تحتوي على التحسينات المدرجة في هذا القسم.
في ظروف نادرة (على سبيل المثال، عندما يلزم تبادل كمية كبيرة من المعلومات بين عملاء IPC)، يمكن أن تستنفد ذاكرة التخزين المؤقت المؤقت الخاصة ببروتوكول IPC. يستخدم برنامج Cisco IOS رسائل السجل التالية للإبلاغ عن هذا الشرط:
Oct 7 03:36:49: %RSP-3-RESTART: interface Serial0/0/4:1, not transmitting Oct 7 03:39:51: %IPC_RSP_CBUS-3-NOBUF: No more IPC memd buffers to transmit IPC message Oct 7 03:40:09: %RSP-3-RESTART: interface Serial0/0/2:1, not transmitting Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/0, changed state to down Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/1, changed state to down Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/2, changed state to down Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on InterfaceSerial0/1/3, changed state to down Oct 7 03:40:21: %IPC_RSP_CBUS-3-NOBUF: No more IPC memd buffers to transmit IPC message Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 0: IPC failure Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 1: IPC failure Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 4: IPC failure Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 5: IPC failure Oct 7 03:40:29: %LINEPROTO-5-UPDOWN: Line protocol on Interface
كما يوضح الإخراج أعلاه، يقوم RP بتعطيل CEF على جميع بطاقات الخط في هذه الحالة لأنه لن يعد قادرا على تحديث جداول CEF على بطاقات الخط بمساعدة IPC. وبالتالي، يتم الإبلاغ عن رسائل FIBDISABLE مقابل جميع بطاقات الخط.
لحل هذا النوع من حالات الفشل، قد تحتاج ذاكرة التخزين المؤقت ل IPC على بطاقات الخط على RP و IPC إلى الزيادة. قبل أن تفعل ذلك، أستخدم الأمر show ipc status للتحقق مما إذا كان RP أو LC أو كلاهما قد نفذ من المخازن المؤقتة ل IPC. خذ هذا المخرج وفحصه من كل من RP و LC.
في الأصل، كان عدد المخازن المؤقتة الافتراضية المخصصة لجميع الأنظمة بمساعدة IPC هو 1000 رأس رسالة مخزنة مؤقتا، والتي تمت مشاركتها بين الرسائل الواردة والصادرة. استنادا إلى إصدار برنامج Cisco IOS المثبت، يكون عدد رؤوس الرسائل المخزنة مؤقتا في IPC إما ثابتا أو ديناميكيا أو يمكن ضبطها.
فيما يلي إخراج الأمر show ipc status من موجه باستخدام رؤوس الرسائل الافتراضية 1000.
ملاحظة: يقدم برنامج IOS الإصدار 12.2T و 12.2S من Cisco تغييرات على إخراج هذا الأمر.
router#show ipc status IPC System Status: This processor is the IPC master server. 1000 IPC message headers in cache 4049362 messages in, 92615 out, 4048932 delivered to local port, 352 acknowledgments received, 386 sent, 0 NACKS received, 0 sent, 15326 messages dropped on input, 154 messages dropped on output 0 no local port, 110 destination unknown, 0 no transport 0 missing callback or queue, 34 duplicate ACKs, 0 retries, 0 message timeouts. 0 ipc_output failures, 0 mtu failures, 7707 msg alloc failed, 0 emer MSG alloc failed, 0 no origs for RPC replies 0 pak alloc failed, 0 memd alloc failed 0 no hwq, 0 failed opens, 0 hardware errors
يعتمد مقدار الذاكرة المطلوب المطلوب تخصيصه على نوع البطاقة (RP أو LC أو RSP أو VIP) على النظام الأساسي، ونشاط التطبيقات التي تحتاج إلى IPC (على سبيل المثال، CEF الموزعة).
من برنامج Cisco IOS الإصدار 12.0(23)S و 12.2(18)S وبرنامج IOS الجديد يقوم بتدريب 12.3 و 12.3T، يتم إدارة ذاكرة تخزين رسائل IPC المؤقت بشكل ديناميكي بدلا من التخصيص الثابت لذاكرة التخزين المؤقت ل IPC. إن الحل المقترح لمشكلة استنفاد ذاكرة التخزين المؤقت لرسالة IPC بسبب حركة مرور البيانات الكثيفة ل IPC هو النمو وتقلص ذاكرة التخزين المؤقت للرسائل بشكل ديناميكي. عند التهيئة، يقوم النظام بتخصيص نظام أساسي محدد بعدد افتراضي من الرسائل. عندما يقل عدد الرسائل الحرة عن المخازن المؤقتة "الأدنى"، فإنه يخطر العملية الأساسية الهامة لزيادة ذاكرة التخزين المؤقت. وهذا يمكن IPC من الاستمرار في تطوير ذاكرة التخزين المؤقت لتلبية إحتياجات عملائه. إذا لم يتم إستخدام المخازن المؤقتة التي تم تخصيصها مؤخرا بواسطة IPC لإطار زمني محدد، تبدأ هذه العملية في التقلص. تتوقف ذاكرة التخزين المؤقت لتنكمش عندما تصل إلى الحجم الافتراضي. تم إدخال هذا التحسن في الأداء في CSCdv57496. مع تنفيذ CSCdv57496، لم يعد الأمر ipc cache <size>يعمل كما تم تلقائيا. وهذا صحيح عبر كافة الأنظمة الأساسية ل IPC.
ملاحظة هامة: من برنامج Cisco IOS الإصدار 12.3(5.5)T، تمت إزالة إمكانية ضبط ذاكرة التخزين المؤقت ل IPC يدويا. راجع CSCec17505 (العملاء المسجلون فقط) للحصول على مزيد من المعلومات.
عندما تقوم بالتحقق من مخرجات أمر show ipc queue، فيما يلي ما يجب أن تراه:
c7500#show ipc queue Message waiting for acknowledgement in Tx queue : 0 Maximum acknowledgement msg usage in Tx queue : 0 Message waiting for additional Fragments : 0 Maximum message fragment usage : 0 There are 0 IPC messages waiting for a response. There are 0 IPC messages currently on the IPC inboundQ. Messages currently in use : 0 Message cache size : 1000 Maximum message cache usage : 1344 0 times message cache crossed 5000 [max] Emergency messages currently in use : 0 Inbound message queue depth 0 Zone inbound message queue depth 0
إذا كان الموجه يشغل إصدار برنامج Cisco IOS software لا يتضمن المخازن المؤقتة لذاكرة التخزين المؤقت ل IPC التي تتم إدارتها ديناميكيا، أي الصور قبل 12.0(23)S و 12.2(18)S و 12.3 و 12.3T، يمكن زيادة ذاكرة التخزين المؤقت ل IPC على RP وذاكرة IPC على بطاقات الخط يدويا. قبل القيام بذلك، أستخدم الأمر show ipc status للتحقق مما إذا كانت وحدات التخزين المؤقت ل RP أو LC أو كليهما قد نفدت من وحدات التخزين المؤقت ل IPC. خذ هذا المخرج وفحصه من كل من RP و LC.
إذا كان ضروريا، يمكنك إستخدام هذه الأوامر لضبط الذكريات:
أمر التكوين ipc cache 5000 لزيادة ذاكرة التخزين المؤقت لرأس IPC على RP.
ذاكرة التخزين المؤقت ل IPC <size> [slot {slot_num | all}] أمر لزيادة ذاكرة التخزين المؤقت على Cisco 12000 LC.
ملاحظة: عند تخصيص مساحة ذاكرة أكبر لرسائل IPC، تتوفر ذاكرة أقل للعمليات الأخرى. يختلف حجم رسالة IPC واحدة فعليا مع فروع برنامج Cisco IOS المختلفة. أستخدم الأمر show memory summary للتحقق من وجود ذاكرة حرة كافية في تجمع المعالجات.
ملاحظة: راجع الجدول 2 للحصول على قائمة بإصدارات IOS التي تحتوي على التحسينات المدرجة في هذا القسم.
في بعض الحالات، قد تحتاج أيضا إلى ضبط خرج IPC بين RP و LC. هذه هي الحالة بشكل خاص عندما يحتاج RP إلى تحميل جدول CEF كبير إلى عنصر التحكم في الوصول (LC). على سبيل المثال، يمكن أن يحدث ذلك أثناء تمهيد الموجه، عندما يستقبل مقدارا كبيرا من معلومات التوجيه من نظير BGP. يمكنك تكوين التخزين المؤقت الإضافي ل IPC على LC باستخدام الأمر ip cef linecard ipc memory xxxxx لزيادة النطاق الترددي ل IPC. تم إدخال هذا الأمر بواسطة CSCds89515 (العملاء المسجلون فقط). ثبتت القيمة ل هذا ذاكرة إلى تقصير مقبول مع CSCdu54205 (يسجل زبون فقط) وCSCuk27162 (يسجل زبون فقط).
فيما يلي الأوامر التي تشير إلى النتيجة عند تغيير هذه المعلمة:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip cef line ipc mem 20000 Router(config)#^Z Router#show cef state ... RP state: Expanded LC ipc memory: 20000 Kbytes ... or, alternatively: Router#show cef line Slot MsgSent XDRSent Window LowQ MedQ HighQ Flags 0 12515 21687 505 0 0 0 up 1 12515 21675 505 0 0 0 up 3 12515 21701 505 0 0 0 up 5 12515 21700 505 0 0 0 up 2 12518 22008 505 0 0 0 up Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip cef line ipc mem 20000 Router(config)#^Z Router#show cef line Slot MsgSent XDRSent Window LowQ MedQ HighQ Flags 0 12538 22097 4966 0 0 0 up 1 12538 22081 4966 0 0 0 up 3 12538 22115 4966 0 0 0 up 5 12538 22114 4966 0 0 0 up 2 12541 22418 4966 0 0 0 up
يقدم الجدول 2 نظرة عامة على التحسينات التي تم تنفيذها في برنامج Cisco IOS software لضبط ذاكرة IPC يدويا وحيويا عبر الأنظمة الأساسية المختلفة.
الجدول 2 - التحسينات في برنامج Cisco IOS Softwareمعرف الخطأ من Cisco | ثابت في | التحسين |
---|---|---|
CSCdk75315 (العملاء المسجلون فقط) | 12.0(5)S 12.0(5) 12.0(5)T 11.3(10)AA | يقدم حجم ذاكرة التخزين المؤقت ل IPC الذي يمكن تكوينه باستخدام الأمر ipc cache <size>. |
CSCds89515 (العملاء المسجلون فقط) | 12.2(4)B 12.1(9)E 12.1(8a)E 12.2(3)T 12.2(2)S 12.1(9) 12.0(14)ST1 12.2(2) 12.2(1)T 12.0(15)S3 12.0(16)ST 12.0(16)S | على موجه الإنترنت Cisco 12000 Series، يمكن تعطيل إعادة التوجيه السريع Cisco Express Forwarding (dCEF) الموزعة بسبب حالة انخفاض الذاكرة أثناء تحديث توجيه كبير (على سبيل المثال، أثناء التمهيد). كحل بديل، قم بتقليل الحد الأقصى للمسار في بروتوكول العبارة الحدودية (BGP) لتقليل مقدار المعلومات التي يتم نشرها عبر بروتوكول CEF إلى بطاقات الخط. بدلا من ذلك، قم بتقليل حجم نافذة TCP لتقليل سرعة تحديثات BGP الواردة. راجع تحقيق التوجيه الأمثل وتقليل إستهلاك ذاكرة BGP. بدلا من ذلك، يمكنك أيضا إدخال أمر تكوين الواجهة ip cef linecard ipc memory 0-128000. يقتصر مقدار معالج بطاقة الخط أو الذاكرة الرئيسية على 50 بالمائة من إجمالي الذاكرة. يتيح لك هذا الأمر تخصيص قدر أكبر من ذاكرة معالج بطاقة الخط لقوائم الانتظار من أجل توجيه CEF لتحديث الرسائل. وهو يسمح ل RP بإطلاق تحديثات CEF بسرعة أكبر لتحرير الذاكرة، ويمنع حدوث حالة انخفاض الذاكرة على RP. بناء على عدد معالجات الواجهة متعددة الاستخدام (VIPs)، تحتاج dCEF إلى مقدار كبير من الذاكرة المؤقتة على RSP لتخزين رسائل IPC المرتبطة بالشخصية المهمة مؤقتا، خاصة في الحالات التي يظهر فيها نظراء BGP الكبار أو عندما يتم نشر قاعدة معلومات إعادة التوجيه (FIB) إلى VIP بعد مجمع CBUS أو تعطل VIP (أو عند إصدار أمر سطر CEF واضح). |
CSCdu21591 (العملاء المسجلون فقط) | 12.0(17)ST4 12.0(18)ST 12.0(18)S | يزيد حجم ذاكرة التخزين المؤقت الافتراضية لرؤوس رسائل IPC من 1000 إلى 5000 على موجهات سلسلة 12000. في وقت سابق، قبل المحلل أي رقم بين القيم المرمزة ترميزا ثابتا ل 1000 و 15000. اليوم، لا يقبل المحلل سوى الأرقام بين الحد الأدنى المحدد للنظام الأساسي والحد الأقصى لحجم ذاكرة التخزين المؤقت. بالإضافة إلى ذلك، في الأصل، لم يكن من الممكن مسح الأمر ipc cache من التكوين حتى إذا قمت بتنفيذ الأمر no ipc cache في التكوين لإزالة قيمة ذاكرة تخزين مؤقت مخصصة ل IPC. بدلا من ذلك، قام بإدراج أمر ipc cache x، حيث x هو حجم ذاكرة التخزين المؤقت الافتراضي المعرف حاليا. اليوم، يحتوي الأمر no ipc cache على السلوك المتوقع. حيث يعمل على إزالة الأمر ipc cache بالكامل من التكوين. |
CSCdu12540 | 12.0(19)ST 12.0(19)S | يطبق فقط على Cisco 12000 sery: في الأصل، يعمل الأمر ipc cache <size> فقط لذاكرة التخزين المؤقت RP IPC. الآن، يمكن إستخدام الأمر ipc cache على LCs كما يلي: ipc cache <size> [slot {slot_num | all}]لا يستبعد الخيارات slot_num وall بعضها البعض. على سبيل المثال، هذه الأوامر صحيحة: فتحة ذاكرة التخزين المؤقت ل IPC4000 لجميع فتحات ذاكرة التخزين المؤقت ل 3000 فتحة 5 تعمل هذه الأوامر على زيادة حجم ذاكرة التخزين المؤقت في الفتحة 5 إلى 3000 وإلى 4000 لجميع الفتحات الأخرى. إذا كنت ترغب في إستخدام خيار all" للكتابة فوق عبارات تكوين حجم ذاكرة التخزين المؤقت السابقة لوحدات التحكم في الوصول عن بعد (LCs)، فتأكد من إستخدام "noprefix" أيضا لحذف الأوامر السابقة في ذاكرة الوصول العشوائي غير المتطايرة (NVRAM)، وتنفيذ النتائج الصحيحة. في وضع البادئات، أستخدم فتحة ذاكرة التخزين المؤقت بدون IPC {slot_num | all} لإعادة تعيين حجم ذاكرة التخزين المؤقت إلى قيمته الافتراضية. |
CSCdu54205 | 12.0(19)ST 12.0(19)S | ينطبق فقط على السلسلة Cisco 12000 Series: غير هذا التحسين القيمة الافتراضية لتخصيص ذاكرة تحديث بطاقة الخط CEF إلى 512 رسالة. لم يعد من الضروري إستخدام الأمر ip cef linecard ipc memory xxxxx ما لم يتم ملاحظة المشكلة. |
CSCuk27162 (العملاء المسجلون فقط) | 12.2(9)T 12.2(9)S 12.2(9) 12.0(21)ST 12.0(22)S | يغير تحسين البرنامج هذا العدد الافتراضي لكل نظام أساسي من المخازن المؤقتة لبطاقات الخطوط المخصصة عند بدء التشغيل. كما أنها تزيد من ذاكرة IPC لبطاقة الخط الافتراضية لكل نظام أساسي من 25 إلى 128 رسالة IPC. الحل البديل: أستخدم أمر التكوين العام ip cef linecard ipc memory xxxxx لزيادة عدد المخازن المؤقتة على بطاقات الخط. |
CSCdv57496 | 12.0(23)S | إدارة ذاكرة التخزين المؤقت لرسائل IPC بشكل ديناميكي بدلا من التخصيص الثابت لذاكرة التخزين المؤقت ل IPC. مع تنفيذ CSCdv57496، فإن الأمر ipc cache <size>لم يعد صالحا حيث أن هذا يتم تلقائيا. وهذا صحيح عبر كافة الأنظمة الأساسية ل IPC. |
CSCdz7490 | 12.2(19.7)S 12.0(26.2)S 12.3(1)B 12.3(1) | مع التنفيذ من CSCdz77490، ال ipc cache <size>أمر خط قارن من cisco ios برمجية يدرب 12.3 و 12.3T. في قطار Cisco IOS 12.3، يكون هذا الأمر مخفيا، ولكن، إذا تم تكوينه من المحطة الطرفية، فإنه يطبع رسالة إلى المستخدم. في الإصدار الرئيسي التالي 12.4، ستتم إزالة هذا الأمر. |
CSCec17505 (العملاء المسجلون فقط) | تي بي دي | الأعراض: لا يتغير حجم ذاكرة التخزين المؤقت ل IPC عند إستخدام أمر CLI لذاكرة التخزين المؤقت <size>IPC لتغيير حجم ذاكرة التخزين المؤقت. الشرط: يحدث هذا الشرط نتيجة لتغييرات البنية الخاصة ب IPC. الحل البديل: يتم الآن تنفيذ وظيفة ذاكرة التخزين المؤقت ل IPC تلقائيا، ولا يمكن تغييرها بواسطة المستخدم على واجهة سطر الأوامر. يزيل هذا التحسين أمر CLI لذاكرة التخزين المؤقت <size>IPC في إصدارات برنامج Cisco IOS التي لم تعد تسمح للمستخدم بتغيير ذاكرة التخزين المؤقت ل IPC يدويا. يجب ألا تكون هناك مشاكل توافق خلفي لأن واجهة سطر الأوامر (CLI) ستظل موجودة في الإصدارات التي يمكن للمستخدم فيها تغيير ذاكرة التخزين المؤقت ل IPC يدويا باستخدام أمر واجهة سطر الأوامر (CLI) ذاكرة التخزين المؤقت ل IPC <size>. |
عند تشغيل نظام التشغيل Catalyst OS، تستخدم سلسلة Catalyst 6000 / Cisco 7600 Series محرك مشرف باستخدام بطاقة موجه إختيارية تعرف باسم بطاقة ميزة المحول متعدد الطبقات (MSFC). تتصل وحدة المعالجة المركزية الموجودة على المشرف ووحدة المعالجة المركزية (CPU) على MSFC من خلال رسائل IPC عبر ناقل إدارة خارج النطاق لشبكة إيثرنت. عند تشغيل برنامج Cisco IOS System، يتصل RP ومعالج المحول (SP) أيضا من خلال رسائل IPC. في الأصل، تم إنشاء 3000 مخزن مؤقت لرسائل IPC. في الحالات النادرة، تنفذ وحدات التخزين المؤقت ل IPC ويقوم بالإبلاغ عن رسائل الخطأ هذه:
01:52:13: %ICC-2-NOMEM: No memory available for unregistering card Card2 02:42:08: %IPC-3-NOBUFF: The main IPC message header cache has emptied -Traceback= 4026779C 40268350 4025F930 40223D34 40221C40 40221EA4 401EAB10
ملاحظة: غرفة التجارة الدولية هي مركز الاتصالات فيما بين البطاقات.
من cisco ios برمجية إطلاق 12.1(08a)E01 و 12.1(10)E، ال cisco 7600 sery الآن يخلق 6000 IPC رسالة مصد افتراضيا. بالإضافة إلى ذلك، تساعد التغييرات التي تم إجراؤها في الإصدارين 12.1(08a)E و 12.1(09)EC على تجنب استنفاد رأس IPC الناتج عن عدد كبير من التحديثات المتعلقة بشبكة LAN الظاهرية (VLAN). تعلن كل رسالة من رسائل ICC عن مجموعة من تغييرات حالة إرتباط شبكة VLAN، بدلا من شبكة VLAN واحدة في كل مرة.
تدعم بطاقات الخط الأحدث لسلسلة Cisco 7600 بطاقة فرعية للميزة الموزعة (DFC) لمعدلات معالجة الحزم عالية السرعة. تحافظ بطاقات الخط التي تم تمكين DFC عليها على جداول إعادة التوجيه والتجاور السريعة المحلية من Cisco، كما تتواصل مع المشرف باستخدام رسائل IPC.
تكون بعض رسائل IPC أكبر من الحد الأقصى لوحدة الإرسال (MTU) لناقل تحويل Catalyst 6000 (على سبيل المثال، رسائل IPC المستخدمة للإبلاغ عن إحصائيات واجهة SONET في الرسائل الأكبر من 1500 بايت). ولابد أن تكون مثل هذه الرسائل مجزأة. في حالات نادرة، يتم إستنزاف ذاكرة التخزين المؤقت لرأس الجزء الخاص ب IPC، ويقوم النظام بالإعلام عن رسالة الخطأ هذه:
%IPC-DFC6-3-NOBUFF: The fragment IPC message header cache has emptied
تؤدي التغييرات التي تم إجراؤها في الإصدار 12.1(08a)E و 12.1(09.05)EC من برنامج Cisco IOS Software إلى زيادة عدد رؤوس المخزن المؤقت لجزء IPC من 32 إلى 128.
قد تظهر هذه الرسالة في إخراج تصحيح الأخطاء إذا تم تلقي الإقرارات المكررة بواسطة عميل IPC.
IPC: يتعذر العثور على الرسالة الأصلية ل ACK HDR:
غالبا ما تكون الإقرارات المكررة ناتجة عن مشاكل في الوسائط تتسبب في فقد رسائل الإقرار. لحل مشكلة فقدان الإقرار هذه، قم بإعادة بيع بطاقة الخط في الفتحات أو إستبدالها لتجنب مشاكل الوسائط.
إذا كنت لا تزال بحاجة إلى مساعدة بعد اتباع خطوات أستكشاف الأخطاء وإصلاحها أعلاه وتريد إنشاء طلب خدمة باستخدام برنامج Cisco TAC، فتأكد من تضمين المعلومات التالية لاستكشاف أخطاء IPC-3-NOBUFF المتعلقة باستكشاف الأخطاء وإصلاحها: |
---|
ملاحظة: يرجى عدم إعادة تحميل الموجه يدويا أو إعادة تشغيله قبل تجميع المعلومات الواردة أعلاه ما لم يكن مطلوبا لاستكشاف أخطاء إستثناء IPC-3-NOBUFF وإصلاحها، لأن ذلك قد يتسبب في معلومات مهمة مطلوبة لتحديد السبب الجذري للمشكلة التي سيتم فقدانها. |