المقدمة
يصف هذا المستند الأدوات المضمنة بطبيعتها في قائمة التحكم في الوصول (ACI) التي يمكن إستخدامها لتصحيح أخطاء إعادة التوجيه.
معلومات أساسية
استخرجت المادة من هذا المستند من أستكشاف أخطاء البنية الأساسية المرتكزة على التطبيقات من Cisco وإصلاحها، الإصدار الثاني من الكتاب، وخاصة إرساء البنية الداخلية - فصل الأدوات.
بالإضافة إلى ذلك، يمكن العثور على توضيحات أكثر عمقا حول ELAM و Ftriage في مكتبة CiscoLive حسب الطلب في جلسة BRKDCN-3900b.
كيف يمكن لهذه الأدوات أن تساعد؟
لاستكشاف أخطاء إعادة التوجيه وإصلاحها من منظور قائمة التحكم في الوصول (ACI)، فهم:
- ما هو المحول الذي يستقبل التدفق؟
- ما هو قرار إعادة التوجيه الذي يتخذه هذا المحول؟
- هل يقوم المحول بإسقاطه؟
تتضمن قائمة التحكم في الوصول (ACI) العديد من الأدوات التي تتيح للمستخدم اكتساب رؤى متعمقة حول ما يحدث لتدفق معين. وتبين الأقسام العديدة التالية هذه الأدوات بالتفصيل ولذلك لا يقدم هنا سوى مقدمة رفيعة المستوى.
فسحة بين دعامتين و ERSPAN
فسحة بين دعامتين و ERSPAN كلا أداة أن يسمح كل أو بعض حركة مرور يستلم في موقع معين أن يكون كررت إلى موقع آخر. من المتوقع أن يكون الجهاز الطرفي الذي تم إرسال حركة المرور المنسوخة نسخا متماثلا يقوم بتشغيل نوع ما من تطبيق sniffer/analyzer للحزم. فسحة بين دعامتين تقليدي يتضمن يكرر حركة مرور أن يكون إستلمت على واحد ميناء وخرجت من خلال آخر ميناء. ACI يساند القيام بذلك بالإضافة إلى ERSPAN.
ERSPAN اتبع ال نفسه مفهوم ماعدا يكرر الحركة مرور خارج ميناء محلي؛ الحركة مرور يكرر يكون تضمنت في GRE وأرسلت إلى غاية بعيد. في ACI، هذا ERSPAN غاية ينبغي كنت فقط علمت كطبقة 3 نقطة نهاية وهو يستطيع كنت أي EPG في أي VRF.
هو فكرة جيدة أن يتلقى دائما فسحة بين دعامتين غاية يربط إلى البناء أن يقلل وقت إعداد أثناء يتحرى وسمح ل سريع ERSPAN جلسة config و capture.
ELAM
نظرة عامة
Embedded Logic Analyzer Module (ELAM) هي أداة تتيح للمستخدم ضبط الشروط في الأجهزة والتقاط الحزمة أو الإطار الأول الذي يطابق شروط المجموعة. يتسبب نجاح عملية الالتقاط في إظهار حالة ELAM ك "triggered". وبمجرد بدء التشغيل، يتم تعطيل ELAM ويمكن تجميع مكب النفايات لتحليل عدد كبير من قرارات إعادة التوجيه التي يتخذها ASIC للمحول مع تلك الحزمة/الإطار. يتم تنفيذ ELAM على مستوى ASIC ولا يؤثر على وحدة المعالجة المركزية (CPU) أو الموارد الأخرى على المحول.
تستخدم الأمثلة المرجعية في هذا الكتاب ELAM كوسيلة للتحقق مما يحدث مع التدفق. توضح الأمثلة كلا من إصدار واجهة سطر الأوامر (CLI) الموجودة على الورقة وتطبيق مساعد ELAM.
لا يغطي هذا الدليل إستخدام ELAM على محولات الجيل الأول من الأوراق (المحولات بدون لاحقة EX أو FX أو FX2).
قبل إستخدام الأداة، من المهم فهم هيكل صياغة الأمر.
مثال على واجهة سطر الأوامر (CLI) الورقية:
vsh_lc [This command enters the line card shell where ELAMs are run]
debug platform internal <asic> elam asic 0 [refer to the ASICs table]
تعيين الشروط ل "المشغل"
trigger reset [ensures no existing triggers are running]
trigger init in-select <number> out-select <number> [determines what information about a packet is displayed and which conditions can be set]
set outer/inner [sets conditions]
start [starts the trigger]
status [checks if a packet is captured]
إنشاء التفريغ الذي يحتوي على تحليل الحزمة
ereport [display detailed forwarding decision for the packet]
استمر في إدخال الأمر status لعرض حالة المشغل. بمجرد اكتشاف حزمة تطابق الشروط المحددة في ASIC، يظهر إخراج الحالة "triggered". بمجرد تشغيل ELAM، يمكن عرض تفاصيل قرارات إعادة توجيه المحول مع 'تقرير'. قبل إصدار ACI 4.2، يجب إستخدام "التقرير".
أسيك
ضمن تركيب ELAM، لاحظ أنه يجب تحديد ASIC. بما أن ASIC يعتمد على نموذج المحول، ارجع إلى هذا الجدول لتحديد ASIC الذي تريد تعيينه:
جدول ASICs
مجموعة بطاقات المحول/الخط |
آسيك فور إلام |
-ex switches/LCs |
تاه |
-محولات/قوائم التحكم في الوصول (LC) من الطراز FX(P) |
ROC |
-محولات/قوائم التحكم في الوصول (LC) للطراز FX2 |
ROC |
المحولات C (9364C،9332C) |
ROC |
-محولات GX |
التطبيق |
-المحولات GX2 |
تشو |
-محولات FX3 |
ROC |
ELAM Trigger in-select
المكون الآخر ل ELAM الذي يجب فهمه عند التشغيل من واجهة سطر الأوامر هو في التحديد. يحدد التحديد الداخلي أي الرؤوس التي من المتوقع أن تحتوي الحزمة/الإطار عليها وأي منها تطابق.
على سبيل المثال، الحزمة القادمة من منفذ إرتباط داخلي أن ليس VXLAN يغلف سيكون له فقط رؤوس خارجي من الطبقة 2، الطبقة 3، والطبقة 4.
ربط قادم من اللوحة الأمامية (تنزيل) ميناء أن يكون VXLAN يغلف (مثل cisco ACI حافة ظاهري في VXLAN أسلوب) أو قادم من عامود أساسي أساسي للتدفق أن يتلقى VXLAN عملية كبسلة. هذا يعني أنه قد يكون له رؤوس من الطبقة 2، الطبقة 3، والطبقة 4.
جميع خيارات المشغل هي:
leaf1# vsh_lc
module-1# debug platform internal tah elam asic 0
module-1(DBG-elam)# trigger reset
module-1(DBG-elam)# trigger init in-select ?
10 Outerl4-innerl4-ieth
13 Outer(l2|l3|l4)-inner(l2|l3|l4)-noieth
14 Outer(l2(vntag)|l3|l4)-inner(l2|l3|l4)-ieth
15 Outer(l2|l3|l4)-inner(l2|l3|l4)-ieth
6 Outerl2-outerl3-outerl4
7 Innerl2-innerl3-innerl4
8 Outerl2-innerl2-ieth
9 Outerl3-innerl3
إذا تم تحديد in-select 6 فإن الخيار الوحيد هو ضبط الشروط وعرض الرؤوس من رؤوس الطبقة الخارجية 2، 3، أو 4. إذا تم تحديد in-select 14 فإن الخيار الوحيد هو ضبط شروط ورؤية تفاصيل رؤوس الطبقة الخارجية والداخلية 2، 3، و 4.
ملاحظة عن أفضل الممارسات:
لالتقاط حزمة قادمة مع تضمين VLAN على منفذ تنزيل، أستخدم 'in-select 6'
لالتقاط حزمة باستخدام تضمين VXLAN (إما من العامود الرئيسي أو من vleaf باستخدام تضمين VXLAN) أستخدم in-select 14.
ELAM Trigger out-select
يتيح التحديد الخارجي بعض القدرة على التحكم في نتائج البحث التي يتم عرضها في تقرير ELAM. لمعظم الأغراض العملية يمكن إستخدام out-select 0 لأنه يحتوي على معظم المعلومات بما في ذلك متجه الإسقاط، والذي يخبر ما إذا كانت نتيجة البحث هي إسقاط الحزمة/الإطار.
لاحظ أنه عندما يتم إستخدام التقرير بدلا من تقرير أو تفاصيل التقرير للحصول على نتائج ELAM، فإن متجه الإسقاط يظهر فقط في تحديد خارج 1. ومع ذلك، يمكن للمرء دائما تنفيذ تقرير الويب أو تفاصيل التقرير باستخدام تحديد خارج-التحديد 0.
شروط ELAM
تدعم ELAM كمية كبيرة من حالات الطبقة 2، 3، و 4 للبحث عنها في حزمة. يحدد تحديد داخلي مقابل خارجي ما إذا كان يمكن التحقق من الشرط في الرأس الداخلي (حزمة VXLAN المغلفة) أو الرأس الخارجي.
مثال ARP:
set outer arp source-ip-address 10.0.0.1 target-ip-address 10.0.0.2
مثال عنوان MAC:
set outer l2 src_mac aaaa.bbbb.cccc dst_mac cccc.bbbb.aaaa
عنوان IP في مثال الرأس الداخلي:
set inner ipv4 src_ip 10.0.0.1 dst_ip 10.0.0.2
عرض تقرير ELAM
تحقق من تشغيل ELAM مع الحالة:
module-1(DBG-elam-insel6)# status
ELAM STATUS
===========
Asic 0 Slice 0 Status Armed
Asic 0 Slice 1 Status Triggered
يمكن إستخدام EREPORT لعرض نتيجة ELAM بتنسيق سهل الفهم. لاحظ أن تقرير ELAM يتم حفظه في المجلد /var/log/dme/log/ على المحول. هناك ملفان ل ELAM تحت المجلد.
- elam_<timestamp>.txt
- pretty_elam_<timestamp>.txt
مثال ELAM الكامل
سيلتقط هذا المثال حركة مرور غير مضمنة لشبكة VXLAN (مطابقة على الرأس الخارجي) قادمة من منفذ إرتباط خارجي على محول -EX:
module-1# debug platform internal tah elam asic 0
module-1(DBG-elam)# trigger reset
module-1(DBG-elam)# trigger init in-select 6 out-select 0
module-1(DBG-elam-insel6)# set outer ipv4 src_ip 10.0.0.1 dst_ip 10.0.0.2
module-1(DBG-elam-insel6)# start
module-1(DBG-elam-insel6)# status
module-1(DBG-elam-insel6)# ereport
تطبيق مساعد ELAM
كما تظهر أمثلة أستكشاف الأخطاء وإصلاحها الواردة في هذا الكتاب إستخدام تطبيق مساعد ELAM الذي يمكن تنزيله من خلال مركز تطبيق DC من Cisco (https://dcappcenter.cisco.com). تقوم هذه الأداة بأتمتة عملية نشر وتفسير ELAM من خلال واجهة المستخدم الرسومية (GUI) على واجهة برمجة التطبيقات.
يوضح هذا المثال نشر ELAM الذي يطابق IP مصدر ووجهة محددين على منفذ إرتباط عكسي-101
مساعد Elam
ELAMassistant - التفاصيل
كما يسمح مساعد ELAM بسهولة إستخدام معلمات مطابقة أكثر تعقيدا مثل واجهة المصدر أو قيم VXLAN.
fTriage
FTriage هي أداة قائمة على واجهة سطر الأوامر (CLI) ل APIC تهدف إلى توفير أتمتة شاملة لتكوين ELAM وتفسيره. الفرضية الأساسية للأداة هي أن المستخدم يستطيع تعريف تدفق معين مثل الورقة حيث يتوقع أن يبدأ التدفق. ثم تقوم الأداة بتنفيذ ELAM على كل عقدة، واحدة تلو الأخرى، لفحص تدفق إعادة التوجيه. ويكون مفيدا بشكل خاص في المخططات الكبيرة حيث يكون من غير الواضح المسار الذي تسلكه الحزمة.
يقوم fTriage بإنشاء ملف سجل كبير يحتوي على مخرجات كل أمر يتم تنفيذه. يظهر اسم هذا الملف في الأسطر الأولى القليلة من مخرجات fTriage.
قد يستغرق إكمال الفرز ما يصل إلى 15 دقيقة.
الأمثلة
تخطيط تدفق الاتصال الموجه بين 10.0.1.1 و 10.0.2.1 بدءا من الصفحة 104:
ftriage route -ii LEAF:104 -dip 10.0.2.1 -sip 10.0.1.1
تخطيط تدفق من الطبقة 2 يبدأ من الورقة 104:
ftriage bridge -ii LEAF:104 -dmac 02:02:02:02:02:02
يمكن رؤية مساعدة الفرز الكامل من خلال تشغيل الفرز — تعليمات على APIC.
tcpdump
يمكن الاستفادة من Tcpdump على محولات واجهة التحكم في الوصول (ACI) لالتقاط حركة مرور البيانات من مستوى التحكم وإليه. لاحظ أنه يمكن ملاحظة حركة مرور مستوى التحكم التي يتم إرسالها إلى وحدة المعالجة المركزية للمحول فقط في التقاط tcpdump. بعض الأمثلة هي: بروتوكولات التوجيه و LLDP/CDP و LACP و ARP وما إلى ذلك. لالتقاط حركة مرور لوحة البيانات (ومستوى التحكم)، الرجاء إستخدام الفسحة بين دعامتين و/أو ELAM.
لالتقاط على وحدة المعالجة المركزية، حدد واجهة kpm_inb. تتوفر معظم خيارات tcpdump وعوامل التصفية التقليدية.
مثال على قبض ICMP معد ل إلى SVI على الورقة مفتاح:
leaf205# tcpdump -ni kpm_inb icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on kpm_inb, link-type EN10MB (Ethernet), capture size 65535 bytes
20:24:12.921981 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4096, length 64
20:24:12.922059 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4096, length 64
20:24:13.922064 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4352, length 64
20:24:13.922157 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4352, length 64
20:24:14.922231 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4608, length 64
20:24:14.922303 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4608, length 64
in addition، ال w يسمح خيار ال tcpdump أن يكتب الربط على قبض إلى PCAP مبرد لذلك هو يستطيع كنت فتحت في أدوات مثل Wireshark.
لاستخدام tcpdump على واجهة ETH0، والتي هي الواجهة خارج النطاق الترددي على المحول. هذا مفيد أن يتحرى موصولية من أي حركة مرور يمر من خلال المنفذ طبيعي خارج النطاق من المفتاح. سيكون ذلك بشكل أساسي حركة مرور بيانات مستندة إلى مستوى التحكم مثل SSH و SNMP وما إلى ذلك.
عدادات ذرية حسب الطلب
الغرض من العدادات الذرية حسب الطلب هو عد الحزم ضمن تدفق معين بينما تترك على وصلة طرفية ويتم إستلامها على منفذ نسيج طرفي آخر. فهي تسمح ببعض القابلية للتعديل فيما إذا تم فقد الحزم أو استقبالها بشكل زائد.