المقدمة
يصف هذا المستند الأدوات المضمنة بطبيعتها في قائمة التحكم في الوصول (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، سيقوم إخراج 'status' بإظهار '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 في-select
المكون الآخر ل ELAM الذي يجب فهمه عند التشغيل من واجهة سطر الأوامر هو 'in-select'. يحدد الخيار 'in-select' أي الرؤوس التي من المتوقع أن تتوفر على الحزمة/الإطار وأي الرؤوس سيتم المطابقة عليها.
على سبيل المثال، الحزمة القادمة من منفذ إرتباط داخلي أن ليس 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 للخارج
يتيح "التحديد الخارجي" بعض القدرة على التحكم في نتائج البحث التي يتم عرضها في تقرير ELAM. لمعظم الأغراض العملية، يمكن إستخدام 'out-select 0' لأنها تحتوي على معظم المعلومات بما في ذلك 'drop vector' والذي سيحدد ما إذا كانت نتيجة البحث هي إسقاط الحزمة/الإطار.
لاحظ أنه عند إستخدام 'تقرير' بدلا من 'تقرير' أو 'تفاصيل التقرير' للحصول على نتائج 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
يمكن رؤية مساعدة الفرز الكامل من خلال تشغيل 'Ftriage —Help' على 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 وما إلى ذلك.
عدادات ذرية حسب الطلب
الغرض من العدادات الذرية حسب الطلب هو عد الحزم ضمن تدفق معين بينما تترك على وصلة طرفية ويتم إستلامها على منفذ نسيج طرفي آخر. فهي تسمح ببعض القابلية للتعديل فيما إذا تم فقد الحزم أو استقبالها بشكل زائد.